Robert B.: SELFHTML-Wiki kann bislang nur XSLT 1.0

Beitrag lesen

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), '=', '&quot;', $ns, '&quot;'))"/>

    <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('&lt;?', name(), ' ', ., '?&gt;')"/></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