1
我想使用標識轉換來轉換XML文件,以及其他一些模板來調整內容。但我只想將所有這些應用於特定的子樹,並忽略XML文檔的其餘部分。我應該用什麼樣的模式來做到這一點?我的第一個猜測是使用模式,但如果可以的話,我寧願避免使用模式。如何使用標識轉換模式轉換XML文件,但僅轉換特定的子樹?
我想使用標識轉換來轉換XML文件,以及其他一些模板來調整內容。但我只想將所有這些應用於特定的子樹,並忽略XML文檔的其餘部分。我應該用什麼樣的模式來做到這一點?我的第一個猜測是使用模式,但如果可以的話,我寧願避免使用模式。如何使用標識轉換模式轉換XML文件,但僅轉換特定的子樹?
因此,如果我理解正確,您希望在輸入的子樹上執行XSLT(基於身份轉換),並從結果中忽略該子樹外的所有內容?如果是這樣,你可以這樣做:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/">
<xsl:apply-templates select="/path/to/subtree" />
</xsl:template>
<!-- Other templates -->
</xsl:stylesheet>
哇,你說得對。我是這麼想的。謝謝。 –