将节点连接到包含正斜杠和美元符号的字符串



这是我期望的XML结果:

        <category>
            <text>
                $course$/something
            </text>
        </category>

这是我尝试过的:

        <xsl:variable name="course">$course$/</xsl:variable>
        <category>
            <text>
                <xsl:value-of select="concat('$course', /office:document/office:meta/dc:title)" />
                <xsl:value-of select="concat('$course$/', /office:document/office:meta/dc:title)" />
                <xsl:value-of select="concat('&#36;course&#36;/', /office:document/office:meta/dc:title)" />                   
            </text>
        </category>

使用<xsl:value-of select="concat('hello ', 'world')"/>可以得到预期的结果,但上述value-of都不起作用。它们都给出一个空字符串(<text />)。

我假设节点/office:document/office:meta/dc:title将被强制转换为字符串,但我仍然对什么是转义美元符号和正斜杠的正确方法感到困惑。

为什么不能简单地:

<category>
    <text>
        <xsl:text>$course$/</xsl:text>
        <xsl:value-of select="/office:document/office:meta/dc:title" />               
    </text>
</category>

或者,如果你必须:

<xsl:variable name="course">$course$/</xsl:variable>
<category>
    <text>
        <xsl:value-of select="concat($course, /office:document/office:meta/dc:title)" />                
    </text>
</category>
</xsl:template>

注意变量周围没有引号

相关内容

  • 没有找到相关文章

最新更新