[英]Syntax to concat & substring in XSLT conditional statements
我正在嘗試通過在聲明的變量上使用 substring 和 concat 將連字符添加到字符串中,但當前代碼不起作用。 我懷疑存在語法錯誤,但我不確定它可能是什么,因為我還是新手,不知道要尋找什么。
XML
XML 有一行如下所示:
<LoanDate>1222022</LoanDate>
我在XSLT中有以下內容:
<xsl:variable name="date" select="*[translate(local-name(), $uppercase, $smallcase)='loandate']"/>
<CreditPulledDate>
<xsl:choose>
<xsl:when test="string-length($date) = 7">
<xsl:value-of select="concat(substring($date, 1, 1), '-', substring($date, 2, 2), '-', substring($date, 4)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat(substring($date, 1, 2), '-', subsctring($date, 3, 2), '-', substring($date, 5)"/>
</xsl:otherwise>
</xsl:choose>
</CreditPulledDate>
當我從模板中刪除上述內容時,它可以工作。 當它被包括在內時,它不會。 所以我懷疑這部分存在語法錯誤。 任何見解都值得贊賞。 謝謝!
我用以下代碼測試了你的代碼:
<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
...
<xsl:variable name="date" select="*[translate(local-name(), $uppercase, $smallcase)='loandate'][1]"/>
<CreditPulledDate>
<xsl:choose>
<xsl:when test="string-length($date) = 7">
<xsl:value-of select="concat(substring($date, 1, 1), '-', substring($date, 2, 2), '-', substring($date, 4))"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat(substring($date, 1, 2), '-', substring($date, 3, 2), '-', substring($date, 5))"/>
</xsl:otherwise>
</xsl:choose>
</CreditPulledDate>
它可以按需要工作(稍作修改)。
您在xsl:value-of
表達式的末尾缺少一些右括號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.