Gunnar Bittersmann: Pseudoattribut-Knoten von PI-Knoten

Beitrag lesen

Hello out there!

Gar nicht, weil's keine Knoten sind. Eine Verarbeitungsanweisung <?foo bar="baz"?> wird von einem XML-Parser als ein EINZIGER Knoten des Typs "PI" mit Namen "foo" und Inhalt 'bar="baz"' interpretiert.

Wie unangenehm. Danke für den Hinweis.

Dir bleibt wohl nichts anderes, als die Attributwerte mit Stringfunktionen selbst zu parsen (was in XSLT 1.0 SEHR eklig wird).

Naja, geht so.

Die Pseudoattribute, die vorkommen können, sind wenige und namentlich bekannt.

Da tut’s fürs erste

<xsl:value-of select="substring-before(substring-after(current(),'bar=&quot;'), '&quot;')"/>

Eklig wird’s, weil statt doppelten auch einfache Anführungszeichen stehen können und beliebig viel Whitespace um das '=' stehen kann:

<?foo bar = 'baz' ?>

Ein Stylesheet sollte nicht nur eine kanonische Form erkennen, wenn XML auch anderes erlaubt.

See ya up the road,
Gunnar

--
„Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)