[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: dtd mixed content
<link> Hi <b>there</b> you </link> and <link> <img/> </link> are valid (xsv) with regard to <xs:element name="link"> <xs:complexType mixed="true"> <xs:choice> <xs:element ref="b"/> <xs:element ref="img"/> </xs:choice> </xs:complexType> </xs:element> <xs:element name="b" type="xs:string"/> <xs:element name="img"/> so is <link> Hi <img/> there you </link> but that's probably no what Fernando wants! RELAX NG wins again. Mike jcowan@r... wrote: > Mike Fitzgerald scripsit: > > >>Fernando Cubria wrote: >> >>>¿Is there a way to tell, in dtd syntax, that a "link" element can contain >> >>any combination of text and "b" elements or just one "img" element? >> >>>I have tried with >>><!ELEMENT link ((#PCDATA | b)* | img) > >>>but I get an error. >> >>You can do this using choice. You could do this in XML Schema (xs:choice): >> >><xs:element name="link"> >> <xs:complexType mixed="true"> >> <xs:choice> >> <xs:element ref="b"/> >> <xs:element ref="img"/> >> </xs:choice> >> </xs:complexType> >> </xs:element> >><xs:element name="b" type="xs:string"/> >><xs:element name="img"/> > > > Actually, that says "element link {(b | img) & text}" in RNC syntax, > whereas he wants "element link {(b | text)* | img}". Neither DTD nor > XSD can handle such a content model. The content models of b and img > are not given. > > Fernando, consider using a RELAX NG schema instead of a DTD. > See http://www.relaxng.org .
|
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
|