|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: inclusions/exclusions/named groups
> I am a amateur in xml and hope anyone can help me. > > I try to transform a SGML-DTD into XML (I use MSXML-parser). > My questions are: > > 1) Neither SGML-inclusions nor -exclusions are allowed in XML!? How can I > express this in XML? > > my sgml-dtd: > > <!ELEMENT LE - - ((a , b , c+) , d , e) +(f , g , h) > > <!ELEMENT m - - (o | (#PCDATA))+ > > <!ELEMENT c - - (l , (m | n)+) > > ... > <!ELEMENT e - - (i , (j , k)+) -(h)> First, let's simplify your SGML DTD, which has too many brackets in it: <!ELEMENT LE - - (a , b , c+ , d , e) +(f , g , h) > <!ELEMENT m - - (o | #PCDATA)+ > <!ELEMENT c - - (l , (m | n)+) > ... <!ELEMENT e - - (i , (j , k)+) -(h)> Putting the PCDATA in the right place for XML, and removing the minimization tokens, we get: <!ELEMENT LE (a , b , c+ , d , e) +(f , g , h) > <!ELEMENT m ( #PCDATA|o)+ > <!ELEMENT c (l , (m | n)+) > ... <!ELEMENT e (i , (j , k)+) -(h)> So you want f, g and h to be accessible in a, b, c, d and e, but also in l, m and n, but only f and g in i, j and k. Of course, you may not want any of these directly in LE, c and/or e, though inclusions automatically allow this. Only you can decide. Assuming that you do want them... <!ELEMENT LE ((f|g|h)*, a ,(f|g|h)*, b ,(f|g|h)*, (c|f|g|h)+ ,(f|g|h)*, d ,(f|g|h)*, e(f|g|h)*)> <!ELEMENT m ( #PCDATA|o|f|g|h)+ > <!ELEMENT c ((f|g|h)*,l , (f|g|h)*, (m |n|f|g|h)+) > ... <!ELEMENT e ((f|g)*,i , (f|g)*, (j, (f|g)* , k (f|g)*)+)> In one sense you are lucky in this example, because you do not have the same element having different content depending on its context. Suppose the following: <!ELEMENT chapter - - (para*, section*) > <!ELEMENT para - - (#PCDATA)> <!ELEMENT section (para+) +(xref)> Here, the para element may have an xref, but only if it apepars inside a section element. To do this in XML requires the definition of a new element, perhaps called sect_para <!ELEMENT para - - (#PCDATA|xref)*> Neil. ----------------------------------------------- Neil Bradley - Author of The Concise SGML Companion. neil@b... www.bradley.co.uk 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
|
|||||||||

Cart








