A simple DTD for storing contact:
<?xml version="1.0"> <!DOCTYPE contact-book [ <!ENTITY username "Jonathan Eisenzopf"> <!ELEMENT contact (record)*> <!ELEMENT record (name, address*, phone?, email?, favorite)> <!ELEMENT name (#PCDATA)> <!ELEMENT address (#PCDATA)> <!ELEMENT phone (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT favorite EMPTY> <!ATTLIST record id ID #REQUIRED address type (primary | secondary) #REQUIRED favorite value (yes | no) #IMPLIED ]> ]>