Click to See Complete Forum and Search --> : [RESOLVED] which DTD would correspond to this situation?


aaron.martinas
05-21-2009, 03:05 AM
i have the following DTD info in a a DTD file:

<!ELEMENT server (serverName, version, serverType, missionName, type, ping, dedicated, password, players, maxPlayers, cpuSpeed, ip, port)>
<!ELEMENT serverName (#PCDATA)>
<!ELEMENT version (#PCDATA)>
<!ELEMENT serverType (#PCDATA)>
<!ELEMENT missionName (#PCDATA)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT ping (#PCDATA)>
<!ELEMENT dedicated (#PCDATA)>
<!ELEMENT password (#PCDATA)>
<!ELEMENT players (#PCDATA)>
<!ELEMENT maxPlayers (#PCDATA)>
<!ELEMENT cpuSpeed (#PCDATA)>
<!ELEMENT ip (#PCDATA)>
<!ELEMENT port (#PCDATA)>

the main take-away from this is that each element will contain one specific value.

what i'd like to do is create an element that may have multiple values. for instance, i want to create an element called "playerList". this element could have zero or more values depending on how many results are returned from my server. how would i express that in the DTD?

aaron.martinas
05-21-2009, 03:41 AM
nevamind, i figured it out.

<!ELEMENT server (serverName, version, serverType, missionName, type, ping, dedicated, password, players, maxPlayers, cpuSpeed, ip, port, player*, team+)>
<!ELEMENT serverName (#PCDATA)>
<!ELEMENT version (#PCDATA)>
<!ELEMENT serverType (#PCDATA)>
<!ELEMENT missionName (#PCDATA)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT ping (#PCDATA)>
<!ELEMENT dedicated (#PCDATA)>
<!ELEMENT password (#PCDATA)>
<!ELEMENT players (#PCDATA)>
<!ELEMENT maxPlayers (#PCDATA)>
<!ELEMENT cpuSpeed (#PCDATA)>
<!ELEMENT ip (#PCDATA)>
<!ELEMENT port (#PCDATA)>
<!ELEMENT player (playerName, playerScore, playerPing)>
<!ELEMENT playerName (#PCDATA)>
<!ELEMENT playerScore (#PCDATA)>
<!ELEMENT playerPing (#PCDATA)>
<!ELEMENT team (teamName, teamScore, teamPlayers)>
<!ELEMENT teamName (#PCDATA)>
<!ELEMENT teamScore (#PCDATA)>
<!ELEMENT teamPlayers (#PCDATA)>

xmlvalidation.com is my friend \: