PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : zahl im dtd definieren



groby
21-08-2007, 11:05
hallo,

vielleicht kann mir bei dieser frage jemand weiter helfen.

ich muss ein xml code bearbeiten in dem folgende zeile auftritt.

<Prescale ctpid="1" >-1</Prescale>

ich muss im zugehoerigen .dtd file diese sachen definieren.

<!ELEMENT Prescale EMPTY>
<!ATTLIST Prescale
ctpid CDATA #REQUIRED>

damit funktioniert auch ctpid="-1".
was nicht geht ist die -1 dazwischen. wenn ich das xml file ausfuehre, dann bekomme ich

'DOM Parse error = "No character data is allowed by content model" '

wie kann ich eine einzelne zahl wie die '-1' im dtd file definieren?

vielen dank
gordon

Pingu
21-08-2007, 12:33
Du schreibst doch
<!ELEMENT Prescale EMPTY>
Damit muss es natürlich Empty, also leer, sein. Wenn es einen Inhalt haben soll, dann musst definieren was für einen Inhalt es haben soll, z.B.
<!ELEMENT Prescale (#PCDATA)>
Ein kleine Einführung, die ich auf die Schnelle mit Google gefunden habe, gibt es hier: http://66.102.9.104/search?q=cache:YOBh1VoUIroJ:www.xml-clearinghouse.de/ch-veranstaltungen/SchulungKS/download/DTD.pdf+dtd+empty+string+integer&hl=de&ct=clnk&cd=8&gl=de

Aber warum DTD? DTDs sind doch überholt. Vieles lässt sich einfacher und genauer mit Hilfe von XML-Schemas definieren.

groby
21-08-2007, 18:16
hallo pingu,

vielen dank fuer deine hilfe.
was dtd betrifft, so habe ich darueber leider nicht zu entscheiden ;-(

gruss
gordon