Index: src/main/java/org/apache/jackrabbit/core/xml/NamespaceContext.java =================================================================== --- src/main/java/org/apache/jackrabbit/core/xml/NamespaceContext.java (revision 664480) +++ src/main/java/org/apache/jackrabbit/core/xml/NamespaceContext.java (working copy) @@ -108,13 +108,14 @@ * @throws NamespaceException if the URI is not mapped */ public String getPrefix(String uri) throws NamespaceException { - String prefix = (String) uriToPrefix.get(uri); - if (prefix != null) { - return prefix; - } else if (parent != null) { - return parent.getPrefix(uri); - } else { - throw new NamespaceException("Unknown URI: " + uri); - } + NamespaceContext current = this; + while (current != null) { + String prefix = (String) current.uriToPrefix.get(uri); + if (prefix != null) { + return prefix; + } + current = current.parent; + } + throw new NamespaceException("Unknown URI: " + uri); } }