xslt-Fehler mit XML-Namensräumen

Turcy

Grünschnabel
Hallo,

ich möchte gerne eine einfache HTML-Transformation mit einem XSLT-Programm durchführen. Leider habe klappt es nicht, wenn ich in meinem xml-Dokument einen Namensraum angebe. Mein XSLT-Programm:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  xmlns:fn="http://www.w3.org/2005/xpath-functions"
  xmlns:sap="http://www.sap.com/sapxsl" 
  xmlns:asx="http://www.sap.com/abapxml">
  <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
      <html>
        <head>
          <title>Beispiel einer XSLT Transformation</title>
        </head>
        <body>
          <h1>todo</h1>
            <ul>
              <xsl:apply-templates select="abap/schwarzesBrett"/>
            </ul>
          </body>
        </html>
    </xsl:template>

    <xsl:template match="schwarzesBrett">
      <li>
        <a href="zeigeForum?id={@id}">
          <xsl:value-of select="@name"/>
        </a>
      </li>
    </xsl:template>
</xsl:stylesheet>

Mit dem folgenden XML-Dokument lässt sich die Transformation durchführen:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<abap version="1.0" xmlns:asx="http://www.sap.com/abapxml">
  <schwarzesBrett id="1" name="Java-Programmierung"/>
  <schwarzesBrett id="2" name="XML-Programmierung"/>
  <schwarzesBrett id="3" name="XSLT-Fragen"/>
</abap>

Wenn ich aber einen Namensraum hinzufüge, klappt es nicht.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<asx:abap version="1.0" xmlns:asx="http://www.sap.com/abapxml">
  <asx:schwarzesBrett id="1" name="Java-Programmierung"/>
  <asx:schwarzesBrett id="2" name="XML-Programmierung"/>
  <asx:schwarzesBrett id="3" name="XSLT-Fragen"/>
</asx:abap>

Woran kann das liegen?

Gruss
TURCY
 
Hallo,

ich habe das Problem gelöst. Und zwar muss man den Namensraum mit xpat wie folgt im XSLT-Programm angeben:
Code:
<xsl:apply-templates xpath-default-namespace="http://www.sap.com/abapxml" select="abap"/>

Gruss
TURCY
 
Zurück