
<!ELEMENT entry (name,address*,tel*,fax*,email*)>
<!-- name is made of string, first name
and last name. This is a very flexible
model to accommodate exotic name -->
<!ELEMENT name (#PCDATA | fname | lname)*>
<!ELEMENT fname (#PCDATA)>
<!ELEMENT lname (#PCDATA)>
<!-- definition of the address structure
if several addresses, the preferred
attribute signals the “default” one -->
<!ELEMENT address (street,region?,postal-code,locality,country)>
<!ATTLIST address preferred (true | false) “false”>
<!ELEMENT street (#PCDATA)>
<!ELEMENT region (#PCDATA)>
<!ELEMENT postal-code (#PCDATA)>
<!ELEMENT locality (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!-- phone, fax and ...