Lists Home |
Date Index |
This should work.
<!ELEMENT ORDER (UID, DEALER, ORDERS+)>
<!ELEMENT UID (#PCDATA)>
<!ELEMENT DEALER (#PCDATA)>
<!ELEMENT ORDERS (ITEM+)>
<!ELEMENT ITEM (#PCDATA)>
id NMTOKEN #REQUIRED
datatype CDATA #FIXED "number">
There are a couple of things to look at here. The first is the 'id'
for the <ITEM>. If you want to use the XML datatype ID for the unique
identifier, then the ID would have to start with an alphabetic character.
Also, there is limited datatyping available in DTD's for attributes and
none for elements. This is why I included the #FIXED attribute 'number'.
An external process would be required to validate the the content of
<ITEM> is a number.
The other alternative if you really need validataion for datatyping is to
use XML Schema.
Hope this helps.
Betty Harvey | Phone: 410-787-9200 FAX: 9830
Electronic Commerce Connection, Inc. |
firstname.lastname@example.org | Washington,DC SGML/XML Users Grp
URL: http://www.eccnet.com | http://www.eccnet.com/xmlug/
On Tue, 9 Jul 2002, Karl Stubsjoen wrote:
> 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.
> My XML document looks like this:
> <?xml version="1.0" encoding="UTF-8" ?>
> - <ORDER>
> <UID>DSM/RSM USER NAME</UID>
> - <ORDERS>
> <ITEM id="0116602800">7</ITEM>
> <ITEM id="1106500706">8</ITEM>
> <ITEM id="1106502706">9</ITEM>
> <ITEM id="1106700706">5</ITEM>
> <ITEM id="1106702706">7</ITEM>
> <ITEM id="0100102883">3</ITEM>
> <ITEM id="0100100805">333</ITEM>
> <ITEM id="0101000725">5</ITEM>
> I'll try and describe the above:
> <ORDER> can contain any number of child elements
> <UID> must be included
> <DEALER> must be included
> <ORDERS> must be included
> <ORDERS> can contain multiple ITEM(s) but restricted to just ITEM nodes
> <ITEM> must have unique id property and the value of item must be numeric >
> Thanks for the help!
> *meanwhile I will give this a go myself!*
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> The list archives are at http://lists.xml.org/archives/xml-dev/
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>