0
我正在嘗試做一些XML數據遷移,將xml文檔從一個模式遷移到另一個更新的版本。這些變化並不是很大,所以我想知道是否有一種簡單的方法可以讓xslt僅部分地轉換xml。例如只重命名元素名稱等。如何使用xslt部分轉換xml?
我正在嘗試做一些XML數據遷移,將xml文檔從一個模式遷移到另一個更新的版本。這些變化並不是很大,所以我想知道是否有一種簡單的方法可以讓xslt僅部分地轉換xml。例如只重命名元素名稱等。如何使用xslt部分轉換xml?
XSLT獲取輸入文檔並創建新的輸出文檔。至於做小的更改,是的,請使用標識轉換模板啓動您的樣式表,併爲更改添加更多特定模板。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- identity transformation template -->
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<!-- rename foo to bar elements -->
<xsl:template match="foo">
<bar>
<xsl:apply-templates select="@* | node()"/>
</bar>
</xsl:template>
</xsl:stylesheet>
如果您使用的是XSLT 2.0並獲得了涉及重命名單個元素的許多規則(並且沒有其他更改),則可以進一步在全局變量中定義映射,並編寫處理所有元素的模板。 – biziclop
本質上講,這被應答[這裏](http://stackoverflow.com/questions/18617404/xslt-copy-whole-xml-document-discarding-specific-parent-nodes)。 –