jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-241) Remapping the default namespace
Date Thu, 06 Oct 2005 09:15:49 GMT
    [ http://issues.apache.org/jira/browse/JCR-241?page=comments#action_12331476 ] 

Marcel Reutegger commented on JCR-241:
--------------------------------------

IMO the spec is not very clear about terms like 'default namespace' and 'empty namespace'
(which means no namespace).

So, this is what I understand:

The XML namespace specification actually does not allow the empty String as a namespace URI
[1]. That is, JCR names without a prefix do not have a namespace assigned. The last statement
is not 100% consistent with the JCR spec, because sometimes the spec states that names without
a prefix belong to the default namespace. But because the default namespace is the empty namespace
I assume my statement is true.

Furthermore, an empty namespace cannot be remapped! If a name does not have a namespace, then
you cannot assign it a different prefix. It simply doesn't have a prefix or namespace you
can remap.

In that sense the call:
session.setNamespacePrefix("foo", "");
is not possible and must throw in any case. Assigning a prefix to the empty namespace does
not make sense. Translating this into an xml document, this would actually remove the namespace
mapping to the prefix "foo" [2].

Does this all make sense? Do we have a XML expert on this list? Please raise your voice ;)

[1] http://www.w3.org/TR/xml-names11/#iri-use
[2] http://www.w3.org/TR/xml-names11/#scoping (last example)

> Remapping the default namespace
> -------------------------------
>
>          Key: JCR-241
>          URL: http://issues.apache.org/jira/browse/JCR-241
>      Project: Jackrabbit
>         Type: Wish
>     Reporter: Jukka Zitting
>     Priority: Minor
>      Fix For: 1.0

>
> I'm not sure if this is a bug, feature or standard behaviour, but currently it is not
possible to remap the default namespace to some other prefix. The following code throws a
NamespaceException:
>     session.setNamespacePrefix("foo", "");
> At least the Session.setNamespacePrefix() javadoc doesn't seem to prohibit changing the
prefix of the default namespace and I couldn't find anything more specific in the JCR specification
document. Restrictions are only placed on remapping the xml namespace.
> Note that the current nodetype code is actually relying on the default namespace being
mapped to the empty prefix, so changing this would require small changes there as well.
> I haven't really run into any cases where I'd have needed such functionality, but it
would be nice to clarify this issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message