我試圖執行下面的代碼,但最終出現在下面的異常中。XSLT:SAXParseException:XML文檔結構必須在同一個實體內開始和結束
javax.xml.transform.TransformerConfigurationException:org.xml.sax.SAXParseException:XML文檔結構必須在同一個實體中開始和結束。
代碼是:
<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>
請讓我知道什麼是錯在上面的代碼。我已經交叉檢查了標籤。但我無法找到問題。
是什麼讓你認爲問題出現在這段代碼中?大概這是作爲一些大文件的一部分存在的,因爲樣式表不能有''作爲它的最外層元素? –