Re: [xml-dev] dtd mixed content

From
XML Patterns <>
To
Fernando Cubria <>
Date
2004-03-02T17:36:33Z
ID
<>
Thread
Re: [xml-dev] dtd mixed content
Fernando Cubria wrote:

>Hello:
>¿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.
>  
>
No, there is no way to do this with a DTD.  The Mixed content model (http://www.w3.org/TR/2000/REC-xml-20001006#sec-mixed-content) does not allow for this type of construction.

I think the best you could hope for is to use two different element types, e.g.
<!ELEMENT image-link (img)>
<!ELEMENT mixed-link (#PCDATA|b)* >
or, to just allow the definition to be "looser" than you wanted 
<!ELEMENT link  (#PCDATA | b | img)* >

-- 

Toivo Lainevool
http://www.xmlpatterns.com - Develop effective DTDs and XML Schema documents for your XML using structural design patterns.