Ich versuche, Daten aus einer XML-Datei zu ziehen, die in der XSLT definiert:XSLT 2.0 Blatt-uri nicht immer die richtigen Daten
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xpath-default-namespace="example.com">
<xsl:output method="xml" indent="yes"/>
<xsl:param name="sheet-uri" select="'path/to/some.xml'"/>
<xsl:param name="sheet-doc" select="document($sheet-uri)"/>
<!-- Template here -->
...
<xsl:for-each select="IsValid/time">
<Debug>
<xsl:variable name="referenced-code" select="$sheet-doc//Sheet/SomeData[time = current()]/id"/>
<xsl:choose>
<xsl:when test="$referenced-code">
<xsl:value-of select="$referenced-code"/>
</xsl:when>
<xsl:otherwise>-1</xsl:otherwise>
</xsl:choose>
</Debug>
...
Quelle xml:
<Data xmlns="example.com">
<id>21</id>
<IsValid>
<time>125622</time>
<time>094522</time>
<time>123456</time>
</IsValid>
</Data>
Die XML (some.xml
) sieht wie folgt aus:
<Sheet>
<SomeData>
<time>125622</time>
<id>1</id>
<SomeData>
<SomeData>
<time>094522</time>
<id>1</id>
<SomeData>
<SomeData>
<time>123456</time>
<id>0</id>
<SomeData>
</Sheet>
diese endet immer Druck -1
für <Debug>
. Warum funktioniert es nicht richtig? Dies funktioniert gut mit XSLT 1.0. Ich versuche, auf 2.0 zu aktualisieren, damit ich mehr Funktionen verwenden kann.
Jede Hilfe wäre willkommen, danke im Voraus!
Danke! Ich kann nicht glauben, dass ich das verpasst habe. – syy