<!ELEMENT AUTHOR ( #PCDATA ) >

<!ELEMENT BOOKLIST ( BOOKS, CATEGORIES ) >
<!ATTLIST BOOKLIST xmlns:xsi CDATA #IMPLIED >
<!ATTLIST BOOKLIST xsi:type CDATA #IMPLIED >
<!ATTLIST BOOKLIST xsi:noNamespaceSchemaLocation CDATA #IMPLIED >

<!ELEMENT BOOKS ( ITEM+ ) >

<!ELEMENT CATEGORIES ( CATEGORY+ ) >
<!ATTLIST CATEGORIES DESC CDATA #REQUIRED >

<!ELEMENT CATEGORY EMPTY >
<!ATTLIST CATEGORY CODE ID #REQUIRED >
<!ATTLIST CATEGORY DESC CDATA #REQUIRED >

<!ELEMENT DIMENSIONS ( #PCDATA ) >
<!ATTLIST DIMENSIONS UNIT NMTOKEN #REQUIRED >

<!ELEMENT ISBN ( #PCDATA ) >

<!ELEMENT ITEM ( TITLE, AUTHOR, PUBLISHER, PUB-DATE, LANGUAGE, PRICE, QUANTITY, ISBN, PAGES, DIMENSIONS, WEIGHT ) >
<!ATTLIST ITEM CAT NMTOKEN #REQUIRED >

<!ELEMENT LANGUAGE ( #PCDATA ) >

<!ELEMENT PAGES ( #PCDATA ) >

<!ELEMENT PRICE ( #PCDATA ) >

<!ELEMENT PUB-DATE ( #PCDATA ) >

<!ELEMENT PUBLISHER ( #PCDATA ) >

<!ELEMENT QUANTITY ( #PCDATA ) >

<!ELEMENT TITLE ( #PCDATA ) >

<!ELEMENT WEIGHT ( #PCDATA ) >
<!ATTLIST WEIGHT UNIT NMTOKEN #REQUIRED >
<!ATTLIST WEIGHT EXTRA NMTOKEN "Extra" >
