fjh: Element von der Transformation ausschliessen

Beitrag lesen

Hallo Paul,

Mein XSLT-Prozessor (Sabotron 0.81) hat mich aber eines besseren belehrt. Inhalte von nicht definierten Elementen schreibt der einfach so in den Luftleeren Raum.

Das tut der mit Sicherheit nicht, wenn du ihn nicht dazu anweist. Wahrscheinlich hast du für deinen Root-Knoten eine xsl:apply-templates-Anweisung notiert, die dafür sorgt, das ALLE Kind-Elemente des Root-Knoten abgearbeitet werden. Für einige dieser Kinder hast du dann keine Template Rules definiert und dann greifen die eingebauten Template Rules, für den Fall dass keine Template Rule für ein Element gefunden wird und es kann zu einer unerwünschten Ausgabe kommen. Aber eigentlich auch immer nur zur unerwünschten Ausgabe von TEXTknoten.

Folglich reicht es eine leere Template Rule für Textknoten zu definieren:

<xsl:template match="text()"/>

Wenn du deine Template Rules direkt mit <xsl:apply-templates select="element"/> ansteuerst sparst du Dir das.

Das ist aber alles bei XSLT immer nur Raterei ohne Quelldokument Stylesheet und gewünschten und tatsächlichen Output....

Gruß
Franz