我可以正常工作。我循环从位置3开始,并用;
分隔每个加法值,以便将其余数存储在一个CSV插槽中。这行得通,但是我想知道是否有什么办法可以将整个集总值与;s
一起存储为一个变量?因此,以后我可以在下面称它为CSV格式吗?
我的代码:
<xsl:for-each select="//act/templateId[@root='2.16.840.1.113883.10.20.22.4.3']/following-sibling::entryRelationship[@typeCode='SUBJ']/observation">
<xsl:if test="position() > 2">
<xsl:value-of select="value/@displayName"/>
<xsl:if test="position() != last()">;</xsl:if>
</xsl:if>
</xsl:for-each>
谢谢
答案 0 :(得分:1)
只需将您的代码包装到<xsl:variable name="x">
中,然后呈现此变量:<xsl:value-of select="$x"/>
即可。
示例:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:variable name="x">
<xsl:for-each select="//item">
<xsl:value-of select="."/>
<xsl:if test="position() != last()">;</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="$x"/>
<xsl:value-of select="$x"/>
</xsl:template>
</xsl:stylesheet>
输入XML:
<root>
<item>1</item>
<item>2</item>
<item>3</item>
</root>