[ http://issues.apache.org/jira/browse/JCR-637?page=comments#action_12450006 ] Stefan Guggisberg commented on JCR-637: ---------------------------------------
the problem only occurs if a namespace declaration follows a property definition without value constraint(s), e.g. [...] - foo:prop (string) mandatory <bar='http://www.acme.org/bar'> [...] the '<' token in this example is ambiguos since it denotes both a list value constraints *and* a namespace declaration. the problem therefore are not intermixed namespace declarations and node type defintions per se. the problem is the ambiguity of the '<' token. probably the easiest fix would be to change the BNF (and the parser) so that namespace declarations can only occur at the top of a .cnd file. > Multiple namespace definitions in CND prevent definition of node type without > child nodes > ----------------------------------------------------------------------------------------- > > Key: JCR-637 > URL: http://issues.apache.org/jira/browse/JCR-637 > Project: Jackrabbit > Issue Type: Bug > Components: nodetype > Reporter: David Moss > Priority: Minor > > The BNF in > http://jackrabbit.apache.org/api-1/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefReader.html > defines: > [...] > cnd ::= {ns_mapping | node_type_def} > [...] > so multiple namespace definitions should not affect the node type definitions. > However, the following CND definition will fail: > <namespace= 'http://www.mynamespace.co.uk/namespace'> > <nt = 'http://www.jcp.org/jcr/nt/1.0'> > [namespace:document] > nt:file > - namespace:name (string) mandatory > <namespace= 'http://www.mynamespace.co.uk/namespace'> > <nt = 'http://www.jcp.org/jcr/nt/1.0'> > [namespace:document2] > nt:file > - namespace:name (string) mandatory > Remove the second set of namespace definitions, and all's well: > <namespace= 'http://www.mynamespace.co.uk/namespace'> > <nt = 'http://www.jcp.org/jcr/nt/1.0'> > [namespace:document] > nt:file > - namespace:name (string) mandatory > [namespace:document2] > nt:file > - namespace:name (string) mandatory -- 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
