Ich versuche, den folgenden Code auszuführen, endete aber in der folgenden Ausnahme.XSLT: SAXParseException: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden
javax.xml.transform.TransformerConfigurationException: org.xml.sax.SAXParseException: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.
-Code ist:
<xsl:when test="/result/DECODE='CANCELLED'">
<xsl:variable name="match_dates" >
<xsl:for-each select="/legacyresult/*[starts-with(name(), 'END-DT')]">
<xsl:sort data-type="number"
select="concat(substring(.,7, 4),substring(.,4, 2),substring(.,1, 2))" order="descending" />
<xsl:variable name="end_dt" select="." />
<xsl:variable name="match" select="count(/legacyresult/*[starts-with(name(), 'EFF-DT')][text()=$end_dt])" />
<xsl:if test="$match=0" >
<xsl:value-of select="name(.)" />
<xsl:text >,</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="final_date" >
<xsl:value-of select="substring-before($match_dates, ',')" />
<xsl:for-each select="/legacyresult/*[starts-with(name(), 'END-DT')][.=$final_date]">
<xsl:sort select="substring(name(),13,2)" data-type="number"/>
<xsl:variable name="prodSeq" select="substring(name(),13,2)"/>
<xsl:variable name="id" select="position()"/>
<xsl:variable name="id">ID<xsl:value-of select="$sq"/>
</xsl:variable>
<xsl:element name="product">
<xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
<xsl:attribute name="productId">0<xsl:value-of select="/legacyresult/*[name() = $id]/."/></xsl:attribute>
</xsl:element>
</xsl:for-each>
</xsl:variable>
</xsl:when>
Bitte lassen Sie mich wissen, was in dem obigen Code falsch ist. Ich habe die Tags überprüft. Aber ich konnte das Problem nicht finden.
Was lässt Sie glauben, dass das Problem in diesem Codefragment liegt? Vermutlich existiert dies als Teil einer größeren Datei, da ein Stylesheet nicht als äußerstes Element '' haben kann? –