Hallo Thomas,
Hallo,
Nein, die Datei ist da, es kommt auch keine Fehlermeldung. Und wenn ich mir mit
<xsl:template match="/">
<xsl:value-of select="name(node())"/>xsl:text </xsl:text>
> > den Namen des aktuellen Root-Knotens ausgeben lasse, dann wird nur
> > BMECAT
> > ausgegeben.
>
> was korrekt ist, da BMECAT das Wurzelelement des XML ist.
Ok.
> > Mein Problem besteht darin, daß die for-each-Schleife bei aktiver DOCTYPE-Zeile nichts mehr findet. Leider verstehe ich den Grund dafür nicht.
> >
> > Ich kann den Namen der DTD ändern, dann meldet mir der Editor einen Fehler. Ich transformiere mit Xalan unter Windows...
> >
> > Wenn ich die Dateien mit Xalan prüfen lasse, bekomme ich folgende Meldung:
> > Warning.Occurred at file BMECatneu.xml, line 2, column 47. Element 'CUSTOMS\_TARIFF\_NUMBERS' was referenced in a content model but never declared
> >
> > Warning.Occurred at file BMECatneu.xml, line 2, column 47. Element 'FT\_GROUPNAME' was referenced in a content model but never declared
> > (mit aktiver DOCTYPE-Zeile).
>
> Da das aber "nur" Warnungen sind, habe ich da nocht nichts weiter unternommen. Kann dort der Hunde begraben liegen?
> >
>
> Die Warnungen in dem Fall sind ernst zu nehmen, denn du hast in deinem XML Elemente, die in der DTD nicht definiert sind. Das wiederum führ den Sinn von der DTD ad absurdum.
Ich habe keine der beiden Elemente aus der Warnung in der XML-Datei, der Fehler liegt wohl an der DTD selbst. Dort werden diese beiden Elemente verwendet, ohne daß sie definiert wurden.
Ich werde mal die DTD dementsprechend anpassen, daß sie in dieser Hinsicht valide ist. Vielleicht hilft das ja weiter.
> Du kannst Xalan mit den Option »» -EDUMP fehler.txt «« und/oder wenn du die Java-Version nutzt mit den Optionen »» -TT -TG -TS -TTC «« aufrufen.
Ich nutze die Windows-Version 1.10.0 von Xalan und v2.7.0 von Xerces. Den Parameter -EDUMP kann ich leider nicht verwenden, da dieser nicht unterstützt wird.
Danke und Gruß, Nils.