Listing A
<!-- @(#)ltr_editor.dtd 1.5 03/28/02 --> <!-- - Root element types --> <!ELEMENT letter ANY> <!ELEMENT form ANY> <!ATTLIST form dest CDATA #IMPLIED> top CDATA "0" bottom CDATA "0" left CDATA "0" right CDATA "0"> logo_x CDATA "0" logo_y CDATA "0"> orient ( land | port ) "port"> <!-- Simple Formatting --> <!ELEMENT br EMPTY> <!ELEMENT pg EMPTY> <!ELEMENT sig EMPTY> <!ELEMENT i ANY> <!ELEMENT b ANY> <!ELEMENT tt ANY> <!-- Conditional Inclusion --> <!ELEMENT if ANY> <!ATTLIST if span (yes | no) #IMPLIED sat (yes | no) #IMPLIED office CDATA #IMPLIED> <!-- Repeatable content --> <!ELEMENT table ANY> <!ATTLIST table maxlength CDATA "5" label CDATA #IMPLIED> <!-- - Input element types --> <!ELEMENT text EMPTY> <!ATTLIST text name ID #IMPLIED valid ( none | alpha | numeric | duration | alphanumeric | date | issue | money | percent | zip | acct_nbr | telephone | time ) "none" label CDATA #REQUIRED value CDATA #IMPLIED maxlength CDATA #IMPLIED align ( left | right | pack ) #IMPLIED opt ( yes | no ) "no"> <!ELEMENT freetext EMPTY> <!ATTLIST freetext name ID #IMPLIED label CDATA #REQUIRED maxlength CDATA "600" value CDATA #IMPLIED opt ( yes | no ) "no"> <!ELEMENT radiobox (radio)+> <!ATTLIST radiobox name ID #IMPLIED label CDATA #IMPLIED> <!ELEMENT radio EMPTY> <!ATTLIST radio name ID #IMPLIED label CDATA #REQUIRED value CDATA #IMPLIED> <!ELEMENT checkbox EMPTY> <!ATTLIST checkbox name ID #IMPLIED label CDATA #REQUIRED value CDATA #IMPLIED set ( yes | no ) "no"> <!ELEMENT datetime EMPTY> <!ATTLIST datetime format CDATA #REQUIRED size CDATA #REQUIRED> <!ELEMENT repeat EMPTY> <!ATTLIST repeat name IDREF #REQUIRED> <!-- - Entities for common fragments of letters --> <!ENTITY ADDRESS "<text valid='alphanumeric' maxlength='50' label='Customer Name' name='cust_nm' /><br/> <text valid='alphanumeric' maxlength='50' label='Apt. Number' name='apt_nbr' opt='yes' /><br/> <text valid='alphanumeric' maxlength='50' label='Street Address' name='addr_street' /><br/> <text valid='alphanumeric' maxlength='30' label='City and State' name='addr_city' /> <text valid='zip' label='Zip Code' name='addr_zip' /><br/>" > <!ENTITY CLOSING "Sincerely, <br/><br/><br/><br/> <text label='CS Rep Name' value='@user.full_nm' /><br/> Your Verizon Representative" >