|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Constraining a "mixed" mixed content model (XHTML <div>)
In XHTML, several elements, such as <div>, may contain what's called mixed content. Here's the mixed content model for <div>: <!ELEMENT div (#PCDATA | %Block.class; | %Inline.class;)*> %Block.class; includes several block-level (structural) elements, and %Inline.class includes several inline-level (text) elements. The mixed content model for <div> allows strange combinations which are valid but which are definitely unacceptable. For example, the following is valid XHTML, but definitely not very pretty: <div>Some text.<p>Some more text.</p> And <em>more</em> text.</div> I'd like to constrain the DTD content model, if at all possible, so <div> may have one, and only one, of the following: Either 1) (%Block.class)* Or 2) (#PCDATA | %Inline.class;)* (Thereby the "mixed" mixed content example given above will not validate to the constrained DTD content model I seek.) Anyway, I did some experimentation with some content models. Here's one content model I tried which, in a purely logical way, makes sense: <!ELEMENT div (((#PCDATA | %Inline.class;)*) | ((%Block.class;)*))> However, it definitely caused problems with TurboXML which analyzed it and gave the following error message: "#PCDATA may only appear in the top-level group of a content model" I'm getting the sinking feeling there's no way to build the content model I'd like in XML, at least which would work in a DTD. If not, why not? Would XML Schema or RelaxNG resolve the issue? Thanks in advance... Mark -- Mark O. Zorro markozorro@f... -- http://www.fastmail.fm - Same, same, but different?
|
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
|
|||||||||

Cart








