回答
使用<xsl:import>
應用<xsl:call-template>
是很容易的:
示例XML命名f.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<a>abc</a>
<b>cde</b>
</root>
主要樣本XSLT f.xslt
:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="f1.xslt"/>
<xsl:template match="/root">
A: <xsl:value-of select="a/text()" />
<xsl:call-template name="secondTemplate" />
</xsl:template>
</xsl:stylesheet>
包括樣品XSLT f1.xslt
:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="secondTemplate">
B: <xsl:value-of select="b/text()" />
</xsl:template>
</xsl:stylesheet>
輸出:
<?xml version="1.0"?>
A: abc
B: cde
所以第一XSLT(f.xslt
)並調用第二個XSLT(f1.xslt
) - 這是進口與<xsl:import ...>
- 通過它與<xsl:call-template name="secondTemplate" />
行訪問的命名模板。
您可以使用<xsl:call-template>
來調用傳統編程語言的函數。
您可以在XSLT中定義函數,就像這個輸出字符串的簡單函數一樣。
<xsl:template name="dosomething">
<xsl:text>A function that does something</xsl:text>
</xsl:template>
該功能可以通過<xsl:call-template name="dosomething">
調用。
是的,但是我已經在XSLT文件中完成了大量模板,我想將它們導入到另一個XSLT文件,所以我可以重複使用它們。 我不知道該怎麼做......我知道我必須使用'xsl:import',但不知道如何在之後調用模板。 – Guilhermeffable
您不需要全部導入,導入上游文件就足夠了。 –
- 1. CloudFormation模板導入其他模板
- 2. 從其他模塊導入
- 3. Python:從其他模塊導入列表
- 4. Angular2:如何從node_modules導入樣式表?
- 5. 從其他Maven模塊導入Spring bean
- 6. 如何從其他文件導入ArrayList?
- 7. 如何從Play Framework中的其他模板調用模板?
- 8. 如何複製模板並從其他文檔插入內容?
- 9. 在Smarty 2模板中包含或導入(@import)樣式表
- 10. 如何從其他表插入表格
- 11. 從其他表中導入字段
- 12. 如何從其他模塊導入生菜步驟?
- 13. 如何從其他Joomla網站導入模塊?
- 14. 如何從python中的其他目錄導入模塊?
- 15. 如何從Java 9中的其他模塊添加到JavaFX Scene樣式表?
- 16. Webpack/ES6:如何導入樣式表
- 17. CSS3樣式表模板
- 18. Typeahead模板,如果/其他
- 19. 如何從其他表中插入值?
- 20. 如何從Kivy的其他課程導入圖表?
- 21. 如何從sqlite中的其他數據庫導入表?
- 22. 如何從Meteor.js中的某個模板中排除樣式表
- 23. 從SCSS導入rails-assets.org樣式表
- 24. 的Python:如何導入模塊中的其他模塊
- 25. SASS樣式表設計模式或其他資源?
- 26. XSL導入:如何克服(docbook或其他)樣式文件位置的差異
- 27. 如何導出/導入Netbeans模板
- 28. 如何在面板模式中更改引導模式的樣式?
- 29. Vue |如何從特定的NPM包導入樣式表?
- 30. 如何從Scss樣式表導入變量和mixins?
當您在文件中導入另一個xslt時,它將自動應用您的轉換。 – Rupesh
你的問題不清楚。當你使用'xsl:import',** all **時,導入的樣式表中的模板被導入。然後,您可以調用或應用它們,就好像它們是您自己的樣式表的一部分。更多信息,請閱讀:http://www.xml.com/pub/a/2000/11/01/xslt/ –