Hi Stefan, Thanks for the hints.
I guess I have not made myself clear. I have a method which imports the NodeTypDef via cnd file perfectly. But when I try to import and register Nodes like ---------- <mix = 'http://www.jcp.org/jcr/mix/1.0'> <nt = 'http://www.jcp.org/jcr/nt/1.0'> <jcr = 'http://www.jcp.org/jcr/1.0'> <sys = 'http://onlaw.at/sys'> <default =''> [sys:base] > nt:base, mix:referenceable [default:li] > sys:base orderable mixin + default:ul (default:ul)=default:ul multiple + * (nt:unstructured)=nt:unstructured multiple [default:ul] > sys:base orderable - * + default:li (default:li)=default:li multiple [default:ol] > sys:base orderable - * + default:li (default:li)=default:li multiple [sys:Text] > sys:base - * + default:ol (default:ol)=default:ol multiple + default:ul (default:ul)=default:ul multiple --------- I get an error: ... INFO NodeTypeImporter:63 - DEBUG [registerCustomNodeTypes:L3] to register...li ERROR NodeTypeImporter:68 - org.apache.jackrabbit.core.nodetype.InvalidNodeTypeDefException: [{}li#{}ul] invalid default primary type '{}ul' ... This is clear to me, because ul is unknown. So my question is how to change the cnd file in a way that ul can be a child of li and li can be a child of ul ? Thanks. Cheers Johann -----Ursprüngliche Nachricht----- Von: Stefan Guggisberg [mailto:[email protected]] Gesendet: Montag, 1. August 2011 17:22 An: [email protected] Betreff: Re: Recursive Node Typs On Mon, Aug 1, 2011 at 4:24 PM, Eder, Johann <[email protected]> wrote: > Hi, > > Is it expected to be possible to create circular node type dependencies? yes (except if the circular dependencies are declared as 'autocreate'...). > > Example: > Node type A has B nodes, and node type B has A nodes. > > In the NodeTypDef I have ul and li elements. ul can be a child of li and li > can be a child of ul. > > ... > <jcr = 'http://www.jcp.org/jcr/1.0'> > <sys = 'http://onlaw.at/sys'> > <default =''> > > [sys:base] > nt:base, mix:referenceable > > [default:li] > sys:base > orderable mixin > + * (nt:unstructured)=nt:unstructured multiple > > [default:ul] > sys:base > orderable > - * > + default:li (default:li)=default:li multiple > > [default:ol] > sys:base > orderable > - * > + default:li (default:li)=default:li multiple > > [sys:Text] > sys:base > - * > + default:ol (default:ol)=default:ol multiple > + default:ul (default:ul)=default:ul multiple > + default:table (default:table)=default:table multiple > + * (default:p)=default:p multiple > > ... > > If yes, how to do it? declare all related/required node tyes in the same cnd file and register them (see [1]). cheers stefan [1] http://wiki.apache.org/jackrabbit/ExamplesPage#Register_a_Node_Type_.5BCND.5D > > Thanks for any hints. > > Johann > >
