[This is a re-post of what I sent 09-12 18:20, which may not have been posted.] Lou -- Overall this looks very good, and thanks for putting in all that effort. Three things I either don't understand correctly, or (if I do), I'm a bit uncomfortable with. * The basic underlying plan, if I grok correctly, is to use an <elementRef> with an @key of "anyElement" at the point in a PureODD model that any element is allowed. The definition of "anyElement", I presume, would itself allow any element with any attributes with any content. If I have this right, the overloading of the value of @key makes me nervous. (It overloaded because it has two definitions: 1) "the identifier used for the required element within the source indicated", and 2) a special keyword which means something completely different (any XML element with any XML content), and precludes the use of an element actually named <anyElement>.) This smacks to me of magic or voodoo, which we are supposed to shun. Why not an <anyElement/> or <anyXML/> element? * The <elementRef> does not currently have an @include, but it seems that supplying a namespace on this new attribute restricts the allowed elements. I guess there is an argument to be made that this is analogous to including elements from a module, but I'm worried that users may find this a bit confusing. (Can I supply 2 or more namespaces?) * If we're using <elementRef> instead of macro.anyXML, why does macro.anyXML need to be re-defined (as in section 6); or is that new definition the definition of <elementRef key="anyElement"/>? In either case, why is a text node allowed as a child (but only after an element)? I don't think we're going to need macro.anyXML at all in the new universe, but if we do, this content model seems screwy. But I may be missing something.
This is all down to me having made a stupid mistake in that document, which I fixed 48 hours later. I'm glad that someone noticed the mistake, sorry the comment got lost! Please check the latest version of the document at http://teic.github.io/TCW/anyXMLproposal.html On 25/09/16 09:53, Syd Bauman wrote:
[This is a re-post of what I sent 09-12 18:20, which may not have been posted.]
Lou --
Overall this looks very good, and thanks for putting in all that effort. Three things I either don't understand correctly, or (if I do), I'm a bit uncomfortable with.
* The basic underlying plan, if I grok correctly, is to use an <elementRef> with an @key of "anyElement" at the point in a PureODD model that any element is allowed. The definition of "anyElement", I presume, would itself allow any element with any attributes with any content. If I have this right, the overloading of the value of @key makes me nervous. (It overloaded because it has two definitions: 1) "the identifier used for the required element within the source indicated", and 2) a special keyword which means something completely different (any XML element with any XML content), and precludes the use of an element actually named <anyElement>.) This smacks to me of magic or voodoo, which we are supposed to shun. Why not an <anyElement/> or <anyXML/> element?
* The <elementRef> does not currently have an @include, but it seems that supplying a namespace on this new attribute restricts the allowed elements. I guess there is an argument to be made that this is analogous to including elements from a module, but I'm worried that users may find this a bit confusing. (Can I supply 2 or more namespaces?)
* If we're using <elementRef> instead of macro.anyXML, why does macro.anyXML need to be re-defined (as in section 6); or is that new definition the definition of <elementRef key="anyElement"/>? In either case, why is a text node allowed as a child (but only after an element)? I don't think we're going to need macro.anyXML at all in the new universe, but if we do, this content model seems screwy. But I may be missing something.
participants (2)
-
Lou Burnard
-
Syd Bauman