Topic 2 What is DTD

Page 1

XML Programming

Compiled by Anis Shobirin Bt Abdullah Sani


What is a DTD? 

A DTD is a “contract” for an XML application

The DTD is a text file for validating XML documents. It has a .dtd file extension

DTDs specify what elements, attributes and entities may appear in an XML file

DTDs also specify the order of elements

 and what each of those elements may contain

DTDs also describe attributes and entities Compiled by Anis Shobirin Bt Abdullah Sani


An XML example <novel> <foreword> <paragraph>This is the great American novel.</ paragraph> </foreword> <chapter number="1"> <paragraph>It was a dark and stormy night.</paragraph> <paragraph>Suddenly, a shot rang out!</paragraph> </chapter> </novel> •

An XML document contains (and the DTD describes): • Elements, such as novel and paragraph, consisting of tags and content • Attributes, such as number="1", consisting of a name and a value • Entities (not used in this example) Compiled by Anis Shobirin Bt Abdullah Sani


A DTD example <!DOCTYPE novel [ <!ELEMENT novel (foreword, chapter+)> <!ELEMENT foreword (paragraph+)> <!ELEMENT chapter (paragraph+)> <!ELEMENT paragraph (#PCDATA)> <!ATTLIST chapter number CDATA #REQUIRED> ]>     

A novel consists of a foreword and one or more chapters, in that order A foreword consists of one or more paragraphs A chapter also consists of one or more paragraphs A paragraph consists of parsed character data (text that cannot contain any other elements) Each chapter must have a number attribute

Compiled by Anis Shobirin Bt Abdullah Sani


Tips for Writing DTDs 

First, print out your XML document

Write down the order of elements, and include all attributes that may appear

Try drawing a tree with nodes and leafs

Text entries appear at leafs / attributes

Compiled by Anis Shobirin Bt Abdullah Sani


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.