3
A
回答
8
@*
任何屬性節點匹配,並且匹配node()
任何其它種類的節點(元素,文本節點,處理指令或註釋)的。因此,與@*|node()
匹配的模板將應用於任何未被更具體模板使用的節點。
這種情況最常見的例子是身份模板
<xsl:template match="@*|node()">
<xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy>
</xsl:template>
其複製XML輸入到輸出樹一字不差。然後,您可以使用適用於特定節點的更具體的模板覆蓋此模板,以對XML進行小調整,例如,此樣式表將創建與輸入相同的輸出XML,但所有foo
元素的名稱都已更改爲bar
:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="@*|node()">
<xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy>
</xsl:template>
<xsl:template match="foo">
<bar><xsl:apply-templates select="@*|node()" /></bar>
</xsl:template>
</xsl:stylesheet>
相關問題
- 1. XSL xsl:template match =「/」
- 2. typedef struct node * NODE表示什麼?
- 3. XSLand <node></node> diff
- 4. 爲什麼`Symbol#match`的行爲與`String#match`和`Regexp#match`不同?
- 5. 什麼是正確的xsl來取代xml的一部分
- 6. 這個XSL代碼有什麼問題?
- 7. 什麼語言會取代XSL標準?
- 8. SELECT *,MATCH是什麼意思?
- 9. xsl:「$」是xsl中的一個特殊字符,這行代表什麼意思
- 10. node --nocrankshaft做什麼?
- 11. `node --harmony`做什麼?
- 12. 什麼是Node *&aNode?
- 13. JavaScript中的這個功能在Node中代表什麼?
- 14. XSL 1.0爲什麼不會
- 15. 替代intent = match?
- 16. 爲什麼這個XSL模板無效?
- 17. 從XSL樣式表
- 18. []代表什麼?
- 19. .match()爲什麼阻止我的代碼執行?
- 20. 這段代碼對'match'和regex有什麼問題?
- 21. 「node-debug index.js」和「run node-inspector,then node --debug index.js」有什麼區別?
- 22. 爲什麼MouseEvent.toElement返回Node?
- 23. node(){}是什麼意思?
- 24. 什麼是Drupal Panel Node Template
- 25. 什麼是node-lru-cache?
- 26. 爲什麼XSL不符合此聲明?
- 27. XSL:爲什麼定義
- 28. 爲什麼STL中List的迭代器使用(* node).data而不是node-> data?
- 29. javascript中的match()有什麼問題?
- 30. MATCH AGAINST的相反情況是什麼?
謝謝你的詳細解答,現在即時通訊清楚:) – sajay
順便說一句,原因'節點()'不包括的屬性在XPath數據模型的屬性是從不同的_axis_其他節點類型,並且不被視爲其包含元素的子節點。完全展開的'@ * | node()'的longhand相當於'attribute :: * | child :: * | child :: text()| child :: processing-instruction()| child :: comment()' 。 –