SimpleNamespaceContext implements NamespaceContext { @Override public Iterator<String> getPrefixes(String namespaceUri) { Set<String> prefixes = getPrefixesInternal(namespaceUri); prefixes = Collections.unmodifiableSet(prefixes); return prefixes.iterator(); }  @Override String getNamespaceURI(String prefix); @Override String getPrefix(String namespaceUri); @Override Iterator<String> getPrefixes(String namespaceUri); void setBindings(Map<String, String> bindings); void bindDefaultNamespaceUri(String namespaceUri); void bindNamespaceUri(String prefix, String namespaceUri); void clear(); Iterator<String> getBoundPrefixes(); void removeBinding(String prefix); boolean hasBinding(String prefix);  }
@Test public void testGetPrefixes() { context.bindDefaultNamespaceUri("defaultNamespaceURI"); assertPrefixes("defaultNamespaceURI", XMLConstants.DEFAULT_NS_PREFIX); assertPrefixes("namespaceURI", "prefix"); Assert.assertFalse("Invalid prefix for unbound namespace", context.getPrefixes("unbound").hasNext()); assertPrefixes(XMLConstants.XML_NS_URI, XMLConstants.XML_NS_PREFIX); assertPrefixes(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, XMLConstants.XMLNS_ATTRIBUTE); }