0
我不知道兩個知道是否有可能在模板內部帶兩個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>
正如你在某些位置看到我需要一年的參數,而在其他沒有。
Ps。使用兩個參數的原因是我不想複製代碼。
@PhilRoss但它並不能幫助我更多。我需要通過'select'部分! – Saber
你的問題不清楚。一個模板可以有你想要的參數。如果您在調用模板時未傳遞參數,則將使用默認值(在模板中定義)。 –