gpt4 book ai didi

html - 在一个模板中有两个 "param"

转载 作者:行者123 更新时间:2023-11-28 05:23:46 25 4
gpt4 key购买 nike

我想知道有没有可能在模板中引入两个param?如果是这样怎么办?例如这个:

<xsl:template name="formatDate">
<xsl:param name="timeParam"/>
<xsl:param name="withYear"/>
<xsl:variable name="dateParam" select="substring-before($timeParam,'T')"/>
<xsl:variable name="year" select="substring($dateParam,1,4)"/>
<xsl:variable name="month" select="substring($dateParam,6,2)"/>
<xsl:variable name="day" select="substring($dateParam,9,2)"/>
<xsl:if test="string-length($day) = 1">
<xsl:value-of select="'0'"/>
</xsl:if>
<xsl:value-of select="$day"/>
<xsl:value-of select="'.'"/>
<xsl:if test="string-length($month) = 1">
<xsl:value-of select="'0'"/>
</xsl:if>
<xsl:value-of select="$month"/>

<xsl:if test="string-length($withYear) = 1">
<xsl:value-of select="'.'"/>
<xsl:value-of select="'0'"/>
<xsl:with-param name="withYear" select="$year" />
</xsl:if>
</xsl:template>

并调用:

<xsl:call-template name="formatDate">
<xsl:with-param name="timeParam" select="attribute::time"/>
<xsl:with-param name="withYear" select="1"/>
</xsl:call-template>
<xsl:call-template name="formatDate">
<xsl:with-param name="timeParam" select="attribute::time"/>
</xsl:call-template>

如您所见,在某些位置我需要年份参数,而在其他位置则不需要。

附言。使用两个参数的原因是我不想重复代码。

最佳答案

我不确定你的问题到底是什么。我很确定您的命名模板需要更改,因为您不能将 xsl:with-param 作为 xsl:if 的子项。

我认为不是:

<xsl:if test="string-length($withYear) = 1">
<xsl:value-of select="'.'"/>
<xsl:value-of select="'0'"/>
<xsl:with-param name="withYear" select="$year" />
</xsl:if>

你应该有:

<xsl:if test="string-length($withYear) = 1">
<xsl:value-of select="'.'"/>
<xsl:value-of select="$year"/>
</xsl:if>

或者简单地说:

<xsl:if test="$withYear">
<xsl:text>.</xsl:text>
<xsl:value-of select="$year"/>
</xsl:if>

关于html - 在一个模板中有两个 "param",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38913957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com