On Fri, Jul 23, 2010 at 6:00 PM, Justin Edelson <justinedel...@gmail.com> wrote: > ...I don't do a lot of document management, but I believe CQ, for example, > stores a page's paragraphs in a multi-valued String property....
It's not like that, the paragraphs of CQ's "paragraph system" are stored as child nodes of a node named "parsys" which is found under the main content node. The tern "paragraph" has a wide sense here, it's not just a single paragraph of text, it's more a sequential component of the page content. They have pretty much arbitrary unique names, something like parsys/text1 parsys/textimage42 parsys/text9 parsys/image12 parsys/text5 So I think it's similar to Tony's problem: with JCR to avoid same-name siblings you just need to set a unique name for each child node (or let Sling choose it based on a name hint), name which does not necessary mean something. Having somewhat descriptive names such as the above ones helps in debugging and manipulating things, but it's not a requirement. The numeric values in the node names also have no meaning in this case. Those are just very pragmatic best practices. It would be hard to find a theoretical justification for the kind of names shown above, but they work very well for us. -Bertrand