在我的XSL文档中,我有这个:
<xsl:if test="notification_data/incoming_request/note != ''">
<tr>
<td><h2><b>@@request_note@@: </b> <xsl:value-of select="notification_data/incoming_request/note"/></h2></td>
</tr>
</xsl:if>
其中XML note元素中的文本实际上是3个被卡在一起的数据,以||分隔。这是我们的供应商以这种方式来的。
<note>||Christie, James||1234567||Lutheran College</note>
在同一个XSL文档中,是否有一种方法可以解析出这三段数据并选择在信函上打印的内容?
感谢您的帮助!
答案 0 :(得分:0)
非常感谢!我使用的是XSLT 1.0,因此我使用嵌套的substring-before和substring-after来解决此问题。对于任何有兴趣的人:
<xsl:value-of select="substring-before(substring-after(notification_data/incoming_request/note,'||'),'||')"/> - <xsl:value-of select="substring-after(substring-after(substring-after(notification_data/incoming_request/note,'||'),'||'),'||')"/>
结果:
Christie,James - Lutheran College
这就是我们要打印的内容。是的,数据元素的顺序将始终相同。再次感谢!