我尝试将参数提交到exsl:document节点中调用的模板,但模板始终保留默认参数,我不明白。
有人可以帮助我吗?
<xsl:template
match="/office:document/office:body/office:spreadsheet/table:table">
我在这里定义了主输入文件中的变量,包括输入文件列表。
然后为每个输入文件:
<xsl:for-each select="document($SourceFilePath)">
我创建了一个输出文件:
<exsl:document href="{$SourceFilePath}.result.fodt">
<xsl:call-template name="remove-meta-user-defined"/>
问题在于:
<xsl:call-template name="add-meta-user-defined">
<xsl:with-param
name="add-element"
select="'a dog'"/>
</xsl:call-template>
<xsl:call-template name="identity"/>
</exsl:document>
</xsl:for-each>
</xsl:template>
模板定义如下:
<xsl:template
match="/office:document/office:meta/meta:document-statistic"
name="add-meta-user-defined"
mode="OutputTemplate">
<xsl:param
name="add-element"
select="'a cat'"/>
<xsl:copy>
<xsl:apply-templates select="@*|node()" mode="OutputTemplate"/>
</xsl:copy>
<xsl:element name="meta:user-defined">
<xsl:value-of select="$add-element"/>
</xsl:element>
</xsl:template>
<xsl:template
match="node()|@*"
name="identity"
mode="OutputTemplate">
<xsl:copy>
<xsl:apply-templates select="node()|@*" mode="OutputTemplate"/>
</xsl:copy>
</xsl:template>