回答
使用<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. 從其他Maven模塊導入Spring bean
- 5. 如何從其他表插入表格
- 6. 從其他表中導入字段
- 7. 如何從其他Joomla網站導入模塊?
- 8. 如何從Java 9中的其他模塊添加到JavaFX Scene樣式表?
- 9. Webpack/ES6:如何導入樣式表
- 10. 如何從其他表中插入值?
- 11. 如何從Kivy的其他課程導入圖表?
- 12. 從SCSS導入rails-assets.org樣式表
- 13. 如何從Meteor.js中的某個模板中排除樣式表
- 14. XSL導入:如何克服(docbook或其他)樣式文件位置的差異
- 15. Vue |如何從特定的NPM包導入樣式表?
- 16. 從openpyxl.styles導入樣式,字體導入錯誤:無法導入名稱樣式
- 17. 使用其他模板的Play模板
- 18. 如何合併來自其他已處理模板的模板?
- 19. 導入其他打字稿模塊
- 20. 如何將其他變量傳入下劃線模板
- 21. 如何識別引導模板中的CSS樣式路徑?
- 22. 定義隱式導入導致與其他導入錯誤
- 23. Django模板樣式
- 24. 從其創建新列表時不顯示SharePoint導入列表模板
- 25. 如何從其他模板提供變量動態值?
- 26. 如何從其他網站複製DynamicData模板?
- 27. IronPython - 如何防止導入CLR(和其他模塊)
- 28. 如何在Django的其他項目中導入模型
- 29. 如何將不同模式和不同表中的數據填充到其他模式到其他表中
- 30. 其他Rails模板類型
當您在文件中導入另一個xslt時,它將自動應用您的轉換。 – Rupesh
你的問題不清楚。當你使用'xsl:import',** all **時,導入的樣式表中的模板被導入。然後,您可以調用或應用它們,就好像它們是您自己的樣式表的一部分。更多信息,請閱讀:http://www.xml.com/pub/a/2000/11/01/xslt/ –