OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] CADTA in an Element

[ Lists Home | Date Index | Thread Index ]

From: "Sambasivarao_Potla" <Sambasivarao_Potla@satyam.com>

>   Is it possible to declare an element in DTD which contains CDATA.

No, not with XML DTDs or XML Schemas. 

You can do this using SGML DTDs using
    <!ELEMENT Receipt ( Subtotal, #PCDATA, Tax, Total)>
and with RELAX NG schemas.

In general, this is considered bad modeling, because you have a
structure present, but it is not delimited.  So 
    <!ELEMENT Receipt ( Subtotal, ReceiptText, Tax, Total)>
    <!ELEMENT ReceiptText  ( #PCDATA )>
is usually preferable.  Also, it fits in better with things like XPath,
so it is probably easier for programmers. 

(For schema fans, this is one reason why Schematron's weakness
in handling sequences of repeating groups [where the same
element types crop up in different groups] compared to grammar-based 
schema systems should not cause us tears; repeating groups usually are 
either modeling something that is better expressed with assertions or
are better modeled with an extra level of elements. Sean's article
today is interesting in that regard.)

Rick Jelliffe


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS