[Home] [By Thread] [By Date] [Recent Entries]


Karl Stubsjoen scripsit:

> I need help creating a DTD.  Actually, is it a DTD that I mean to create?  I
> have an existing XML document, from this I need to create a *template*
> (dtd?) which I can then use to validate future XML documents.

It is.


Here's your DTD:

<!ELEMENT ORDER (UID, DEALER, ORDERS)>
<!ELEMENT UID (#PCDATA)>
<!ELEMENT DEALER (#PCDATA)>
<!ELEMENT ORDERS (ITEM*)>
<!ELEMENT ITEM (#PCDATA)>
<!ATTLIST ITEM
	id	ID	#REQUIRED>

However, a pure number cannot have the ID property, because IDs must be
XML names, and so begin with a letter.  So your document will not validate
against this DTD.

Here's a RELAX NG schema:

element ORDER {
	element UID {text},
	element DEALER {text},
	element ORDERS {
		element ITEM {
			attribute id {xsd:ID},
			text
		}*
	}
}

-- 
One art / There is                      John Cowan <jcowan@r...>
No less / No more                       http://www.reutershealth.com
All things / To do                      http://www.ccil.org/~cowan
With sparks / Galore                     -- Douglas Hofstadter

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member