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.
> 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\_TARI
> FF\_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.
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.
Grüße
Thomas