Moin Thomas,
Vielleicht hilft dieser Ansatz weiter.
definitiv, vielen Dank!
Von diesem XML ausgehend:
<?xml version="1.0" encoding="UTF-8"?> <wurzel xmlns:a="uri_a" xmlns:b="uri_b"> <a:test1>inhalt</a:test1> <b:test2>inhalt</b:test2> <?mypi "piwert"?> </wurzel>
liefert dieses XSLT-2.0-Stylesheet:
Ich habe die Version hervorgehoben, denn nicht nur das bislang von mir verwendete xsltproc
, sondern auch unser Wiki versteht nur XSLT 1.0.
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:variable name="namespaces" select="//namespace::*"/> <xsl:variable name="ns_name_value" select="distinct-values(for $ns in $namespaces return concat('xmlns', ':', name($ns), '=', '"', $ns, '"'))"/> <xsl:for-each select="$ns_name_value"> <p><xsl:value-of select="."/></p> </xsl:for-each> <xsl:for-each select="//processing-instruction()"> <p><xsl:value-of select="concat('<?', name(), ' ', ., '?>')"/></p> </xsl:for-each> </xsl:template> </xsl:stylesheet>
Und genau das ↑ werde ich mir übers Wochenende noch einmal genauer anschauen, verstehen und das Wiki aktualisieren.
Viele Grüße
Robert