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

Permalänk
Medlem

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!

Permalänk
Medlem

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.

Visa signatur

Mina boktips: Clean codeHead First Design PatternsHead First Object-oriented Analysis and Design
Innovation distinguishes between a leader and a follower. — Steve Jobs