我使用撒克遜EE 9.3.0.4的XSL轉換,發現當<xsl:result-document>
是內部<xsl:attribute>
使用(以及<xsl:namespace>
,<xsl:processing-instruction>
)指令,處理器 引發XTDE1480錯誤 - 不能切換到最終結果的目的地,而寫作臨時樹爲什麼xsl:result-document在<xsl:attribute>指令內失敗?
<xsl:attribute name="a">
<xsl:result-document href="result.xml" > - error here
test
</xsl:result-document>
</xsl:attribute>
根據specification(附錄d)允許父母<xsl:result-document>
是:
- 任何XSLT元素,它的內容模型序列構造
- 任何文字結果元素
是,這是錯誤的撒克遜人或限制爲<xsl:result-document>
使用,未在規範中定義的?
更新: 我認爲,這是不使用<xsl:result-document>
內<xsl:attribute>
一個好主意,但爲什麼錯誤發生?
感謝
@Vincent Biragnet提供了一個很好的解釋。除此之外,使用''來產生一個屬性的值是沒有意義的。按照規範,''的內容必須是序列構造函數。另一方面,''不是序列構造函數。因此,不管錯誤消息如何,在''內放置一個''是錯誤的。 'xsl:result-document'產生一個最終結果樹。根據規範:[定義:最終結果樹形成最終輸出的一部分。在樣式表中不可訪問。] –