<!ELEMENT purchaseOrder (shipTo, billTo, Items)> <!ATTLIST purchaseOrder xmlns:xsi CDATA #FIXED "http://www.w3.org/2001/XMLSchema-instance" xmlns CDATA #FIXED "http://www.altova.com/IPO" xmlns:ipo CDATA #FIXED "http://www.altova.com/IPO" orderDate CDATA #REQUIRED> <!ENTITY % Address "(name, street, city, (postcode | (state, zip)))"> <!ELEMENT shipTo %Address;> <!ATTLIST shipTo export-code CDATA #IMPLIED xsi:type (ipo:EU-Address | ipo:US-Address) #REQUIRED> <!ELEMENT billTo %Address;> <!ATTLIST billTo xsi:type (ipo:EU-Address | ipo:US-Address) #REQUIRED> <!ELEMENT items (item+)> <!ELEMENT item (productName, quantity, price, comment?, shipDate)> <!ATTLIST item partNum ID #REQUIRED> <!ELEMENT name (#PCDATA)> <!ELEMENT street (#PCDATA)> <!ELEMENT city (#PCDATA)> <!ELEMENT postcode (#PCDATA)> <!ELEMENT state (#PCDATA)> <!ELEMENT zip (#PCDATA)> <!ELEMENT productName (#PCDATA)> <!ELEMENT quantity (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ELEMENT comment (#PCDATA)> <!ELEMENT shipDate (#PCDATA)>