JayJay88
12-25-2009, 06:15 AM
Hi guys, I was just wondering if any of you could help me solve this issue. It seems rather trivial, but I just cannot seem to get it to validate.
I have my DTD:
<!ELEMENT addressBook (entry-list | entry)>
<!ELEMENT entry-list (person+)>
<!ELEMENT person (entry-id, name, page-link)>
<!ELEMENT entry-id (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT page-link (#PCDATA)>
<!ELEMENT entry (picture, title, foreName, middleName?, familyName, gender, dateOfBirth, sexualOrientation, maritalStatus, occupation, address*, landlineNumbers, mobileNumbers, emailAddresses, otherContacts)>
<!ELEMENT picture EMPTY>
<!ATTLIST picture pic CDATA #REQUIRED>
<!ELEMENT title (#PCDATA)>
<!ELEMENT foreName (#PCDATA)>
<!ELEMENT middleName (#PCDATA)>
<!ELEMENT familyName (#PCDATA)>
<!ELEMENT gender (#PCDATA)>
<!ELEMENT dateOfBirth (#PCDATA)>
<!ELEMENT sexualOrientation (#PCDATA)>
<!ELEMENT maritalStatus (#PCDATA)>
<!ELEMENT occupation (#PCDATA)>
<!ELEMENT address (houseNumber?, houseName?, street, district?, city, county, country, postCode, category?)>
<!ELEMENT houseNumber (#PCDATA)>
<!ELEMENT houseName (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT district (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT county (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT postCode (#PCDATA)>
<!ELEMENT category (#PCDATA)>
<!ELEMENT landlineNumbers (#PCDATA)>
<!ATTLIST landlineNumbers homeNo CDATA #IMPLIED>
<!ATTLIST landlineNumbers workNo CDATA #IMPLIED>
<!ELEMENT mobileNumbers (#PCDATA)>
<!ATTLIST mobileNumbers mobPersonalNo CDATA #REQUIRED>
<!ATTLIST mobileNumbers mobWorkNo CDATA #IMPLIED>
<!ATTLIST mobileNumbers mobEmergencyNo CDATA #IMPLIED>
<!ELEMENT emailAddresses (#PCDATA)>
<!ATTLIST emailAddresses homeEmail CDATA #IMPLIED>
<!ATTLIST emailAddresses workEmail CDATA #IMPLIED>
<!ATTLIST emailAddresses instituteEmail CDATA #IMPLIED>
<!ELEMENT otherContacts (#PCDATA)>
<!ATTLIST otherContacts faxNumber CDATA #IMPLIED>
<!ATTLIST otherContacts facebook CDATA #IMPLIED>
<!ATTLIST otherContacts twitter CDATA #IMPLIED>
<!ATTLIST otherContacts skype CDATA #IMPLIED>
<!ATTLIST otherContacts personalWebsite CDATA #IMPLIED>
Then my XML document:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
<!DOCTYPE addressBook SYSTEM "http://somelocation.co.uk/xml/addressBook.dtd">
<!-- <?xml-stylesheet type="text/xsl" href="AddressBook.xsl" ?> -->
<!-- Sample XML AddressBook Application -->
<addressBook>
<entry>
<picture pic="logo.jpg" />
<title> Mr </title>
<foreName> James </foreName>
<middleName> Donald </middleName>
<familyName> Jones </familyName>
<gender> Male </gender>
<dateOfBirth> 12/04/1984 </dateOfBirth>
<sexualOrientation> Straight </sexualOrientation>
<maritalStatus> Changes based on the weather </maritalStatus>
<occupation> Unsure </occupation>
<address>
<houseNumber> 1 </houseNumber>
<houseName> </houseName>
<street> Smith Road</street>
<district> Ottery </district>
<city> Portsmouth </city>
<county> Wherever </county>
<country> England </country>
<postCode> PO20 8MT </postCode>
<category> Home Address </category>
</address>
<address>
<houseNumber> 31 </houseNumber>
<houseName> </houseName>
<street> Jim Street </street>
<district> St. Anne's </district>
<city> Bristol </city>
<county> Somerset </county>
<country> England </country>
<postCode> BR24 4LT </postCode>
<category> Term-time Address </category>
</address>
<landlineNumbers homeNo="03968 457847"/>
<mobileNumbers mobPersonalNo="07194836160"/>
<emailAddresses homeEmail="jimmy-jones@hotmail.co.uk"/>
<emailAddresses instituteEmail="jones.j.d@bristol.cf.ac.uk"/>
<otherContacts facebook="http://www.facebook.com/"/>
<otherContacts twitter="http://twitter.com/"/>
<otherContacts personalWebsite="http://jonedesigns.co.uk/"/>
</entry>
</addressBook>
It works when I view it, but the validator says
Content of element type "entry" must match "(picture,title,foreName,middleName?,familyName,gender,dateOfBirth,sexualOrientation,maritalStatus,oc cupation,address*,landlineNumbers,mobileNumbers,emailAddresses,otherContacts)"
Any help would be really appreciative. I have looked at so many forums and tried all night. I figure something's in the wrong order somewhere but I can for the life of me figure out what. It looks fine to me but obviously it's not.
Thank you in advance. Merry Christmas all :)
James
I have my DTD:
<!ELEMENT addressBook (entry-list | entry)>
<!ELEMENT entry-list (person+)>
<!ELEMENT person (entry-id, name, page-link)>
<!ELEMENT entry-id (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT page-link (#PCDATA)>
<!ELEMENT entry (picture, title, foreName, middleName?, familyName, gender, dateOfBirth, sexualOrientation, maritalStatus, occupation, address*, landlineNumbers, mobileNumbers, emailAddresses, otherContacts)>
<!ELEMENT picture EMPTY>
<!ATTLIST picture pic CDATA #REQUIRED>
<!ELEMENT title (#PCDATA)>
<!ELEMENT foreName (#PCDATA)>
<!ELEMENT middleName (#PCDATA)>
<!ELEMENT familyName (#PCDATA)>
<!ELEMENT gender (#PCDATA)>
<!ELEMENT dateOfBirth (#PCDATA)>
<!ELEMENT sexualOrientation (#PCDATA)>
<!ELEMENT maritalStatus (#PCDATA)>
<!ELEMENT occupation (#PCDATA)>
<!ELEMENT address (houseNumber?, houseName?, street, district?, city, county, country, postCode, category?)>
<!ELEMENT houseNumber (#PCDATA)>
<!ELEMENT houseName (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT district (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT county (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT postCode (#PCDATA)>
<!ELEMENT category (#PCDATA)>
<!ELEMENT landlineNumbers (#PCDATA)>
<!ATTLIST landlineNumbers homeNo CDATA #IMPLIED>
<!ATTLIST landlineNumbers workNo CDATA #IMPLIED>
<!ELEMENT mobileNumbers (#PCDATA)>
<!ATTLIST mobileNumbers mobPersonalNo CDATA #REQUIRED>
<!ATTLIST mobileNumbers mobWorkNo CDATA #IMPLIED>
<!ATTLIST mobileNumbers mobEmergencyNo CDATA #IMPLIED>
<!ELEMENT emailAddresses (#PCDATA)>
<!ATTLIST emailAddresses homeEmail CDATA #IMPLIED>
<!ATTLIST emailAddresses workEmail CDATA #IMPLIED>
<!ATTLIST emailAddresses instituteEmail CDATA #IMPLIED>
<!ELEMENT otherContacts (#PCDATA)>
<!ATTLIST otherContacts faxNumber CDATA #IMPLIED>
<!ATTLIST otherContacts facebook CDATA #IMPLIED>
<!ATTLIST otherContacts twitter CDATA #IMPLIED>
<!ATTLIST otherContacts skype CDATA #IMPLIED>
<!ATTLIST otherContacts personalWebsite CDATA #IMPLIED>
Then my XML document:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
<!DOCTYPE addressBook SYSTEM "http://somelocation.co.uk/xml/addressBook.dtd">
<!-- <?xml-stylesheet type="text/xsl" href="AddressBook.xsl" ?> -->
<!-- Sample XML AddressBook Application -->
<addressBook>
<entry>
<picture pic="logo.jpg" />
<title> Mr </title>
<foreName> James </foreName>
<middleName> Donald </middleName>
<familyName> Jones </familyName>
<gender> Male </gender>
<dateOfBirth> 12/04/1984 </dateOfBirth>
<sexualOrientation> Straight </sexualOrientation>
<maritalStatus> Changes based on the weather </maritalStatus>
<occupation> Unsure </occupation>
<address>
<houseNumber> 1 </houseNumber>
<houseName> </houseName>
<street> Smith Road</street>
<district> Ottery </district>
<city> Portsmouth </city>
<county> Wherever </county>
<country> England </country>
<postCode> PO20 8MT </postCode>
<category> Home Address </category>
</address>
<address>
<houseNumber> 31 </houseNumber>
<houseName> </houseName>
<street> Jim Street </street>
<district> St. Anne's </district>
<city> Bristol </city>
<county> Somerset </county>
<country> England </country>
<postCode> BR24 4LT </postCode>
<category> Term-time Address </category>
</address>
<landlineNumbers homeNo="03968 457847"/>
<mobileNumbers mobPersonalNo="07194836160"/>
<emailAddresses homeEmail="jimmy-jones@hotmail.co.uk"/>
<emailAddresses instituteEmail="jones.j.d@bristol.cf.ac.uk"/>
<otherContacts facebook="http://www.facebook.com/"/>
<otherContacts twitter="http://twitter.com/"/>
<otherContacts personalWebsite="http://jonedesigns.co.uk/"/>
</entry>
</addressBook>
It works when I view it, but the validator says
Content of element type "entry" must match "(picture,title,foreName,middleName?,familyName,gender,dateOfBirth,sexualOrientation,maritalStatus,oc cupation,address*,landlineNumbers,mobileNumbers,emailAddresses,otherContacts)"
Any help would be really appreciative. I have looked at so many forums and tried all night. I figure something's in the wrong order somewhere but I can for the life of me figure out what. It looks fine to me but obviously it's not.
Thank you in advance. Merry Christmas all :)
James