如何將輸入參數傳遞給XSLT樣式表?我使用的是xsltproc,我想用--stringparam <param> <value>
作爲參數,但我不知道如何訪問XSLT中的參數。有人可以舉個例子嗎?提前致謝。xslt中的輸入參數
2
A
回答
2
這是我正在使用的一個。默認值部分是可選的。您必須有
<xsl:param name="yourParamname"/>
。
<?xml version="1.0"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- default value -->
<xsl:variable name="defaultDeploymentMode">
<xsl:text>test</xsl:text>
</xsl:variable>
<xsl:param name="deploymentMode" select="$defaultDeploymentMode"></xsl:param>
<xsl:template match="/">
<data><xsl:value-of select="$deploymentMode"/>
</data>
</xsl:template>
3
如何給輸入參數XSLT文件?
在XSLT 可以具有其值所指定的外部,由變換的發起者任何全球參數(xsl:param
即XSLT樣式表的頂部元素的子元素)。
完成外部參數設置的方式與實現有關,並且因XSLT處理器與另一個XSLT處理器的不同而異 - 請閱讀您正在使用的特定XSLT處理器的文檔。
這裏是一個小例子:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:param name="pDeletePos" select="3"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="num">
<xsl:if test="not(position() = $pDeletePos)">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
這裏,命名爲pDeletePos
的num
元素必須刪除的位置的全局參數。
還有一個default value
(3),爲此參數指定。如果轉換的啓動器未指定參數pDeletePos
,將使用此值。
當上述變換應用於此XML文檔上:
<nums>
<num>01</num>
<num>02</num>
<num>03</num>
<num>04</num>
<num>05</num>
<num>06</num>
<num>07</num>
<num>08</num>
<num>09</num>
<num>10</num>
</nums>
並且如果pDeletePos
的值被外部指定爲5
,則變換產生以下結果:
<nums>
<num>01</num>
<num>02</num>
<num>03</num>
<num>04</num>
<num>06</num>
<num>07</num>
<num>08</num>
<num>09</num>
<num>10</num>
</nums>
至於如何設置外部參數,以下是在C#中如何啓動XslCompiledTransform XSLT處理器:
http://msdn.microsoft.com/en-us/library/system.xml.xsl.xsltargumentlist.addparam.aspx
+0
很好的回答。它幫助我解決了如何在XSLT文件外部指定參數的問題。 – Anuj
相關問題
- 1. 來自XSLT的輸出參數
- 2. WebServices中的輸入和輸出參數
- 3. 輸入,輸出,輸入/輸出參數
- 4. XSLT:由參數
- 5. 輸入和參數
- 6. svrkernel輸入參數
- 7. BLAKE2輸入參數
- 8. C-參數輸入
- 9. Win32com參數輸入
- 10. 在WF4中輸入輸出參數
- 11. 使用XSLT消毒數據庫輸入
- 12. XSLT當需要的輸入和輸出xslt相同時
- 13. xslt:.NET中的參數數組
- 14. FFMPEG的輸入參數
- 15. tf.contrib.learn.read_batch_features的輸入參數
- 16. Teradata的REGEXP_SPLIT_TO_TABLE輸入參數
- 17. Perl的輸入參數
- 18. Z3_benchmark_to_smtlib_string()的輸入參數
- 19. 輸入流的C++參數
- 20. 快速入門XSLT參考
- 21. XSLT - 捕捉參數
- 22. XSLT傳遞參數
- 23. Django方法中的輸入參數
- 24. Java輸入中的程序參數
- 25. C#中的通用輸入參數?
- 26. 輸入中的多個參數?
- 27. Groovy中輸入參數的關閉
- 28. 解構Scala中的輸入參數嗎?
- 29. 爲輸入XML編寫XSLT
- 30. MATLAB函數輸入參數
您也可以在選擇直接指定默認值:'的 ' –