|
A sample of linked DTD definition |
|
|
In most cases DTD definition is shared between numerous
XML-documents it describes. In such situation it will be
more convenient to place such DTD into dedicates document
available at given URL (calles system-id) or a name (public-id).
Thus, all XML documents using types defined in that DTD-file
will simply refer it, as it is shown in sample below:
<!-- file: purchase-order.dtd -->
<!-- declaration of the root element and its attributes -->
<!ELEMENT purchase-order (purchased-by, order-items)>
<!ATTLIST purchase-order
date CDATA #REQUIRED
number CDATA #REQUIRED
>
<!ELEMENT purchased-by (address)>
<!ATTLIST purchased-by
name CDATA #REQUIRED
>
<!ELEMENT address (#PCDATA)>
<!-- order-items can contains at least on item -->
<!ELEMENT order-items (item+)>
<!ELEMENT item EMPTY>
<!ATTLIST item
code CDATA #REQUIRED
type CDATA #REQUIRED
label CDATA #REQUIRED
>
<!-- file: sample.xml -->
<?xml version="1.0"?>
<!-- Sample of linked DTD definition -->
<!DOCTYPE purchase-order SYSTEM "purchase-order.dtd">
<!--
In order to constrain the contents of XML-document
a DTD-definition may be refered in DOCTYPE instruction.
-->
<purchase-order date="2005-10-31" number="12345">
<purchased-by name="My name">
<address>My address</address>
</purchased-by>
<order-items>
<!--
here is an example of empty element
i.e. containing no nested elements
-->
<item code="687" type="CD" label="Some music" />
<item code="129851" type="DVD" label="Some video"/>
</order-items>
</purchase-order>
Related Tips
|
Page 1 of 0 ( 0 comments )
You can share your information about this topic using the form below!
Please do not post your questions with this form! Thanks.