Verktyg Visningsval
2012-03-20, 15:47   #1

eyeball8

Medlem

Registrerad: okt 2007

Deklarera element med samma namn flera gånger? [XML - Nybörjarfråga]


Sitter här och försöker lära mig grunderna i XML och håller på knåpar på en DTD där jag fastnar redan tidigt och hittar inget svar via google (visste inte riktigt vad jag skulle söka på för att hitta något relevant.)

Min fråga är ifall jag måste/kan deklarera ett element med samma namn flera gånger. Som exempel på denna kod:
XML
<Face>

  <Beard>
    <type>3</type>
    <color>2</color>
  </Beard>

  <Hair>
    <type>5</type>
    <color>1</color>
  </Hair>

</Face>
DTD
<!ELEMENT Face (Beard, Hair)>
<!ELEMENT Beard (type, color)>
	<!ELEMENT type (#PCDATA)>
	<!ELEMENT color (#PCDATA)>

<!ELEMENT Hair (type, color)>
	<!ELEMENT type (#PCDATA)>
	<!ELEMENT color (#PCDATA)>
Det jag menar är... Behöver, eller överhuvudtaget kan, jag skriva type och color flera gånger i DTD som ovan? Hoppas ni förstår min fråga, och tack på förhand!
eyeball8 är inte uppkopplad
2012-03-20, 21:55   #2

DrRotmos

Medlem

DrRotmoss avatar

Plats: Stockholm

Registrerad: jan 2003

Nu är inte jag expert på DTDer, men jag tror att du varken kan eller behöver definiera type- och color-elementen flera gånger. Vad skulle det ens uppnå? Att du har indenterat ut elementdefinitionerna har ju ingen betydelse i DTDn.

I så gott som alla fall är det dock bättre och smidigare att använda XML Schema eller RELAX NG för att definiera schemat för sina XML-filer.
__________________
Mina boktips: Clean codeHead First Design PatternsHead First Object-oriented Analysis and Design
Innovation distinguishes between a leader and a follower. — Steve Jobs
DrRotmos är inte uppkopplad
Sök jobb