XML
Beginner
2 min read
DTD Attribute Types and Defaults
Example
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog [
<!ELEMENT catalog (product*, order*)>
<!ELEMENT product (name, description?)>
<!ELEMENT order (lineItem+)>
<!ELEMENT lineItem EMPTY>
<!ELEMENT name (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!-- ID attribute: must be unique across the document -->
<!ATTLIST product
id ID #REQUIRED
status (active|discontinued) "active"
sku NMTOKEN #IMPLIED
>
<!-- IDREF links back to a product's id -->
<!ATTLIST lineItem
productRef IDREF #REQUIRED
quantity CDATA #REQUIRED
unit (each|kg|litre) "each"
>
<!-- FIXED attribute: always has this value if present -->
<!ATTLIST catalog
xmlns CDATA #FIXED "http://example.com/catalog"
version CDATA #FIXED "1.0"
>
]>
<catalog>
<product id="p001" sku="WH-100">
<name>Wireless Headphones</name>
</product>
<product id="p002" status="discontinued" sku="SP-200">
<name>Bluetooth Speaker</name>
<description>Portable speaker, waterproof.</description>
</product>
<order>
<lineItem productRef="p001" quantity="2" unit="each"/>
<lineItem productRef="p002" quantity="1"/>
</order>
</catalog>