2012-04-13 10 views
0

die DTD-Datei unter Gegeben:Ist es möglich, in derselben XML-Datei dasselbe Feld in einer anderen Tabelle zu deklarieren?

!ELEMENT hotels (address+)> 
<!ELEMENT address (city,street,phone,hotelDetails)> 
<!ELEMENT hotelDetails (hotel_code,hotel_rank,hotel_name)> 
<!ELEMENT street (#PCDATA)> 
<!ELEMENT city (#PCDATA)> 
<!ELEMENT hotel_rank (#PCDATA)> 
<!ELEMENT phone (#PCDATA)> 
<!ELEMENT hotel_code (#PCDATA)> 
<!ELEMENT hotel_name (#PCDATA)> 

<!ELEMENT guests (id+)> 
<!ELEMENT guestDetails (name,city,address,state)> 
<!ELEMENT name (#PCDATA)> 
<!ELEMENT city (#PCDATA)> 
<!ELEMENT address (#PCDATA)> 
<!ELEMENT state (#PCDATA)> 

Wie Sie sehen können, habe ich zwei verschiedene Tabellen: hotels & guests, wo beide Tabellen eine Spalte von city hat. Wenn ich versuche, die Datei in XMLspy zu speichern erhalte ich:

Element 'city' has already been declared. 

Gibt es eine Möglichkeit das Feld für beide Tabellen zu erklären? nur einmal

Grüße

Ron

Antwort

3

Sie müssen dieses Element. Es kann sowohl von Adresse als auch von guestDetails referenziert werden.