StaticNamespaceContext implements NamespaceContext { @Override public String getPrefix(String namespaceURI) { for (Entry<String, String> entry : this.nsMapping.entrySet()) { if (entry.getValue().equals(namespaceURI)) { return entry.getKey(); } } return null; } StaticNamespaceContext(); void addMapping(String prefix, String namespace); void removeMapping(String prefix); @Override String getNamespaceURI(String prefix); @Override String getPrefix(String namespaceURI); @Override Iterator<String> getPrefixes(String namespaceURI);  }
@Test public void testGetPrefix() { StaticNamespaceContext ctx = new StaticNamespaceContext(); ctx.addMapping("ns1", "urn:ns1"); ctx.addMapping("ns1-1", "urn:ns1"); ctx.addMapping("ns2", "urn:ns2"); ctx.addMapping("ns3", "urn:ns3"); Assert.assertEquals("ns2", ctx.getPrefix("urn:ns2")); Assert.assertEquals("ns3", ctx.getPrefix("urn:ns3")); Assert.assertNull(ctx.getPrefix("urn:ns4")); }