我是 xslt 的新手,希望能得到答案。
我有一個 xslt 檔案并用它來撰寫一個 csv。第一次寫 csv,我想要一個標題。但是當我附加 csv 的下一個內容時,我想洗掉標題。
下面是當前的 xsl。如何使 xsl 模板可選顯示?
<xsl:template name="Header" match="/">
<xsl:text>Id,Barcode,Name</xsl:text>
<xsl:apply-templates select="abc:Info/Panel" />
</xsl:template>
<xsl:template name="Panel" match="abc:Info/Panel">
<xsl:for-each select="Board/Component">
<xsl:value-of select="../../../../../@Id"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="../../../../../@Barcode"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="../../../../../@Name"/>
<xsl:text>,</xsl:text>
</xsl:for-each>
</xsl:template>
uj5u.com熱心網友回復:
像這樣向 xslt 添加 xsl:param:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:abc="some-namespace"
version="1.0"
>
<xsl:param name="writeHeader" select="'0'"/>
<xsl:template match="/">
<xsl:if test="$writeHeader='1'">
<xsl:text>Id,Barcode,Name</xsl:text>
</xsl:if>
<xsl:apply-templates select="abc:Info/Panel" />
</xsl:template>
<xsl:template match="abc:Info/Panel">
<xsl:for-each select="Board/Component">
<xsl:value-of select="../../../../../@Id"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="../../../../../@Barcode"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="../../../../../@Name"/>
<xsl:text>,</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
如果您想撰寫標題,請使用引數呼叫您的 xsl 轉換:writeHeader=1
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/454738.html
上一篇:如何在python/pandas的幫助下顯示xml檔案的多個父節點?
下一篇:子元素必須至少出現兩次
