Vinnaren i pepparkakshustävlingen!
2008-01-11, 13:47
  #1
Medlem
Tooners avatar
Jag har skrivit en DTD som ska validera XML dokument. Den ser ut så här:
Kod:
<!ELEMENT Levels (Level+)>
<!ELEMENT Level (StartMoney, Entrance+, Exit+, Road+, Tower+)>
<!ELEMENT StartMoney (#PCDATA)>
<!ELEMENT Entrance (Type, Position, TeleCoord?, Neighbour)>
<!ELEMENT Exit (Type, Position)>
<!ELEMENT Road (Type, Position, TeleCoord?, Neighbour)>
<!ELEMENT TeleCoord (Coord)>
<!ELEMENT Neighbour (Coord)>
<!ELEMENT Tower (Type, Position)>
<!ELEMENT Type (#PCDATA)>
<!ELEMENT Position (Coord)>
<!ELEMENT Coord (Xcoord, Ycoord)>
<!ELEMENT Xcoord (#PCDATA)>
<!ELEMENT Ycoord (#PCDATA)>
Den verkar fungera som den ska men min fråga är om det är 'rätt' att använda sig av upprepade element som jag gör. T.ex. har Entrance, Exit, Road och Tower elementen Type och Position gemensamt.

Jag la dessa (Type och Position) sist för jag visste inte riktigt hur det ska göras egentligen. Enligt det jag läst om DTD ska underelement som tas upp i ett element listas direkt under elementet. Men alltså, hur gör man när flera element innehåller samma underelement?
Citera
2008-01-11, 16:45
  #2
Medlem
Van Der Graafs avatar
Citat:
Ursprungligen postat av Tooner
Den verkar fungera som den ska men min fråga är om det är 'rätt' att använda sig av upprepade element som jag gör. T.ex. har Entrance, Exit, Road och Tower elementen Type och Position gemensamt.
Elementen används väl för att märka upp samma typ av information antar jag,
så det är inget fel med det.
Citat:
Jag la dessa (Type och Position) sist för jag visste inte riktigt hur det ska göras egentligen. Enligt det jag läst om DTD ska underelement som tas upp i ett element listas direkt under elementet.
Det kan vara praktiskt att göra så, men det har ingen betydelse.
Citat:
Men alltså, hur gör man när flera element innehåller samma underelement?
Som sagt, om elementen kommer att användas för att märka upp samma typ av
information så är det helt korrekt. Om inte så kan du specificera namnen på elem-
enttyperna, exempelvis TowerType, TowerPosition och så vidare.

Använder du förresten DTDer av någon speciell anledning? Jag kan varmt rekomm-
endera RELAX NG om du vill kolla på något annat.
Citera
2008-01-11, 22:41
  #3
Medlem
Tooners avatar
Tackar.

Just i det här fallet passade DTD bra eftersom jag inte behöver göra några extra typkontroller utan bara se att fälten finns där. Kändes enklast med DTD.

RELAX NG ser intressant ut, ska titta igenom det.
Citera
2008-03-18, 20:40
  #4
Medlem
Citat:
Ursprungligen postat av Van Der Graaf
Elementen används väl för att märka upp samma typ av information antar jag,
så det är inget fel med det.

Det kan vara praktiskt att göra så, men det har ingen betydelse.

Som sagt, om elementen kommer att användas för att märka upp samma typ av
information så är det helt korrekt. Om inte så kan du specificera namnen på elem-
enttyperna, exempelvis TowerType, TowerPosition och så vidare.

Använder du förresten DTDer av någon speciell anledning? Jag kan varmt rekomm-
endera RELAX NG om du vill kolla på något annat.

Haha! Vafan pratar du om egentligen?
Citera
2008-03-21, 18:25
  #5
Medlem
Legimitations avatar
http://www.w3schools.com/xml/
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback