what's the reason for mixed data?
greetings, we're trying to understand why the XML spec (wrt "http://www.w3.org/TR/WD-xml-970807.html") specifies a special status for elements which contain mixed data. to make it specific, why is  cp ::= (Name | choice | seq) ('?' | '*' | '+')? not  cp ::= (#PCDATA | CDATA | Name | choice | seq) ('?' | '*' | '+')? ? what's the reason to specify a form (mixed data) which <EM>must</EM> permit repetition and arbitrary order as soon as PCDATA is allowed? to give an example of the problem, assume the following CLOS declarations: (defClass class-1 () ((slot-1 :type string))) (defClass class-2 () ((slot-2 :type (or string class-1)))) how would this be declared? <!ELEMENT class-1 (slot-1)> <!ELEMENT class-2 (slot-2)> <!ELEMENT slot-1 #PCDATA> <!ELEMENT slot-2 (#PCDATA | class-1)> makes sense, but would seem to be disallowed by  Mixed ::= '(' S? %( %'#PCDATA' (S? '|' S? %Mtoks)* ) S? ')*' | '(' S? %('#PCDATA') S? ')' which would appear to stipulate the repetition as soon as elements and PCDATA appear together. on the other hand, <!ELEMENT slot-2 (#PCDATA | class-1)*> would not be a correct translation, since that is the equivalent of (defClass class-2 () ((slot-2 :type (list (or string class-1))))) can anyone explain the ')*' requirement in ? thanks, james. xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format