【发布时间】:2016-12-18 15:04:24
【问题描述】:
我有元素:
<A>11511/direction=sink</A>
<B>110/direction=src</B>
当然,有些元素没有/direction 后缀是很重要的。
如果元素 A 和 B 包含字符串 /direction... 我想要字符串 /direction 之前的值。
如果元素不包含/direction,则照常取常规值。
我应该在value-of 子句中添加什么?
<newElementA><xsl:value-of select="A"/></newElementA>
<newElementB><xsl:value-of select="B"/></newElementB>
我尝试使用 <xsl:value-of select="substring-before(A,'/')"/>,但随后将不具有值 /direction 的值设置为不正确的 null 值
我也试过了,但后来出现错误:
<newelementA><xsl:value-of select="if (contains(A,'/'))
then substring-before(A,'/') else A"/></newelementA>
我想在结果中包含值 11511and110。
谢谢
【问题讨论】:
-
这不是这个问题的重复,因为如果我把
我得到这些元素的空值值中不包含 /direction..,您能帮帮我吗? -
您是否仅限于 XSLT 1.0?如果您可以使用 XSLT 2.0 或更高版本,则可以访问比旧的
substring函数更灵活的正则表达式函数。请说明您可以使用哪个版本的 XSLT。