所以我的XSLT 2.0看起来像这样:
<xsl:analyze-string select="creation_date" regex="([0-9]{2})\.([0-9]{2})\.([0-9]{4})-([0-9]{2}):([0-9]{2})">
<xsl:matching-substring>
<xsl:value-of select="regex-group(3)"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="regex-group(2)"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="regex-group(1)"/>
<xsl:text>T</xsl:text>
<xsl:value-of select="regex-group(4)"/>
<xsl:text>:</xsl:text>
<xsl:value-of select="regex-group(5)"/>
<xsl:text>:00.000+01:00</xsl:text>
</xsl:matching-substring>
</xsl:analyze-string>
我怎么能在版本1.0中做类似的事情?
答案 0 :(得分:1)
您可以像在例如
中一样提取子字符串<xsl:variable name="s" select="creation_date"/>
<xsl:value-of select="substring($s, 7, 4)"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="substring($s, 4, 2)"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="substring($s, 1, 2)"/>
<xsl:text>T</xsl:text>
<xsl:value-of select="substring($s, 12, 2)"/>
<xsl:text>:</xsl:text>
<xsl:value-of select="substring($s, 15, 2)"/>
<xsl:text>:00.000+01:00</xsl:text>
这样你就会得到提取的子串,但是没有检查它们是由数字组成的。