DTD Question

Ronald Bourret rbourret at ito.tu-darmstadt.de
Sat Oct 17 13:01:11 BST 1998


Samuel R. Blackburn wrote:

> I just attended a briefing about XML. One of the things
> that struck me was, if I understand the presenter, DTD
> thinks the world is flat. Is it possible for DTD to describe
> elements of the same name but have different meaning?
> 
> Consider the following:
> 
> <NAME>
>   <FIRST>Sam</FIRST>
>   <LAST>Blackburn</LAST>
> </NAME>
> <ROUTE>
>    <FIRST>99.409</FIRST>
>    <LAST>2091.7785</LAST>
> </ROUTE>
> 
> Is it possible in DTD to say that NAME.FIRST is a string
> and ROUTE.FIRST is a number?

No.  DTDs cannot describe the data type of non-attribute data.  It is always character.

There are various schema languages floating around, some of which (DCD, SOX), support data types. However, these do not support multiple types for the same element -- that is, you would need FIRST1 and FIRST2 in your example.

The only way to apply the constraints you want is in the application.  This is possible in your example because the parents of FIRST are different in each case.

-- Ron Bourret

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list