DTD benutzen um XML zu prüfen

Status
Nicht offen für weitere Antworten.

PhantomXXL

Bekanntes Mitglied
ich hab mir jetzt eine DTD erstellt, ist es nun möglich mit jdom ein document type mit deier dtd zu vergleichen, ohne das ich jeden vergleich extra ausprogrammiere?

Code:
...
Element tcd = doc.getRootElement();
if(!tcd.getName().equalsIgnoreCase("TCD")) {
seterror("invalidformat");
}
...
das ist wie ichs momentan machen würde, aber bei komplexeren xmls wirds umständluich, und wenn schon eine dtd da ist wieso nicht gleich die mit dem doctype verwneden, bloss wie?

xml ist so aufgebaut:

Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE tcd SYSTEM "http://localhost/tcd.dtd">
<tcd version="1.17">
...
 

PhantomXXL

Bekanntes Mitglied
also irgendwie is das dem builder völlig egal, er gab zwar ne nette IOException bei falschem doctype link, aber was da nu drin steht juckt ihn nich:

Code:
<!ELEMENT TCD ( (TEMPLATE|CLIENT)?, SERVER )>
<!ATTLIST TCD verssion CDATA #REQUIRED>

ansich müsste er dan ja irgendwie schreien das verssion nicht vorhanden ist, weil ja version dasteht.
 

PhantomXXL

Bekanntes Mitglied
ok neue frage zum thema :)

die zwei zeilen die ich vorher aus der dtd kopiert haben muckt die erste irgendwie auf:
Error on line 4: Element type "client" must be declared.

jedoch ist das doch oder verknüpft mit dem template und das ist definitiv vorhanden
Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE tcd SYSTEM "tcd.dtd">
<tcd version="1.17">
<template>
...
 

Bleiglanz

Gesperrter Benutzer
TCD (TEMPLATE|CLIENT)

du musst auch das Element CLIENT in der DTD spezifizieren (wie überhaupt JEDES Element, das in deinem Instanzdokument vorkommt)

BTW: Gross- und Kleinschreibung bei Elementnamen beachten...
 

PhantomXXL

Bekanntes Mitglied
PhantomXXL hat gesagt.:
Code:
<!ELEMENT TCD ( (TEMPLATE|CLIENT)?, SERVER )>
<!ATTLIST TCD verssion CDATA #REQUIRED>

hab ich ja auch, aber mittlerweile bin ich auf den blödsinn mit gross klein schreibung selbst draufgekommen :)

und hab die falsche xml untersucht letzte woche
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben