Index: dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNamespaceRegistry.java =================================================================== --- dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNamespaceRegistry.java (revision 738) +++ dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNamespaceRegistry.java (working copy) @@ -109,11 +109,7 @@ * @see javax.jcr.NamespaceRegistry#getPrefix(java.lang.String) */ public String getPrefix( String uri ) throws NamespaceException, RepositoryException { - // Check the standard ones first, ensuring that invalid changes to the persistent storage don't matter ... - String prefix = STANDARD_BUILT_IN_PREFIXES_BY_NAMESPACE.get(uri); - if (prefix != null) return prefix; - // Now check the underlying registry ... - prefix = registry.getPrefixForNamespaceUri(uri, false); + String prefix = registry.getPrefixForNamespaceUri(uri, false); if (prefix == null) { throw new NamespaceException(JcrI18n.noNamespaceWithUri.text(uri)); } @@ -184,9 +180,7 @@ if (STANDARD_BUILT_IN_PREFIXES.contains(prefix)) { throw new NamespaceException(JcrI18n.unableToRegisterReservedNamespacePrefix.text(prefix, uri)); } - if (STANDARD_BUILT_IN_URIS.contains(uri)) { - throw new NamespaceException(JcrI18n.unableToRegisterReservedNamespaceUri.text(prefix, uri)); - } + // Check whether the prefix begins with 'xml' (in any case) ... if (prefix.toLowerCase().startsWith(XML_NAMESPACE_PREFIX)) { throw new NamespaceException(JcrI18n.unableToRegisterNamespaceUsingXmlPrefix.text(prefix, uri));