В большинстве случаев DTD определения распределяется между многочисленными XML-документы, которые он описывает. В такой ситуации это будет более удобно разместить такое DTD в посвящает документ доступен на данный URL (Calles Система-ID) или название (государственно-ID). Таким образом, все документы XML при помощи типов, определенных в этом DTD-файл будет просто сослаться его, как это показано в образце ниже:
<!-- 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>