标签: xsl-variable

<xsl:variable>使用<xsl:value-of>打印出XSL变量的值

我正在尝试输出变量的文字字符串值,之后根据节点是否存在来设置它.我认为条件检查逻辑是正确的.但它没有输出价值......

<xsl:variable name="subexists"/>

<xsl:template match="class">
<xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy>
<xsl:choose>
    <xsl:when test="joined-subclass">
        <xsl:variable name="subexists" select="'true'"/>
    </xsl:when>
    <xsl:otherwise>
        <xsl:variable name="subexists" select="'false'"/>
    </xsl:otherwise>
</xsl:choose>
subexists:  <xsl:value-of select="$subexists" />
Run Code Online (Sandbox Code Playgroud)

我希望它输出"true"的"true"的文字字符串.但它没有输出任何东西.请帮忙!谢谢!!!

xslt xsl-variable

17
推荐指数
3
解决办法
14万
查看次数

我们可以在XSL变量中插入HTML标记吗?

我只想确认是否可以在xsl变量中插入html标签?例

<xsl:variable name="htmlContent">
<html>
<body>
hiiii
</body>
</html>
</xsl:variable>
Run Code Online (Sandbox Code Playgroud)

如果我使用

<xsl:value-of select="$htmlContent"/>
Run Code Online (Sandbox Code Playgroud)

我得到了

<html>
<body>
hiiii
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

可能吗?我试过了

<xsl:value-of disable-output-escaping="yes" select="$htmlContent"/>
Run Code Online (Sandbox Code Playgroud)

虽然我没有得到所需的输出

html xml xslt xsl-variable

10
推荐指数
1
解决办法
9551
查看次数

xsl:sequence总是非空的吗?

我不明白这个样式表的输出:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <xsl:apply-templates select="root/sub"/>
    </xsl:template>

    <xsl:template match="sub">
        <xsl:variable name="seq">
            <xsl:sequence select="*" />
        </xsl:variable>

        <xsl:message>
            <xsl:value-of select="@id" />
            <xsl:text>: </xsl:text>
            <xsl:value-of select="count($seq)" />
        </xsl:message>
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

当应用于以下XML时:

<root>
    <sub id="empty" />
    <sub id="one"><one/></sub>
    <sub id="two"><one/><one/></sub>
    <sub id="three"><one/><one/><one/></sub>
</root>
Run Code Online (Sandbox Code Playgroud)

xsl:message元素编写的输出是:

empty: 1
one: 1
two: 1
three: 1
Run Code Online (Sandbox Code Playgroud)

我期待这一个:

empty: 0
one: 1
two: 2
three: 3
Run Code Online (Sandbox Code Playgroud)

为什么count($seq)在这种情况下总是返回1?你如何改变变量定义,以便我以后可以测试它是否空虚?(简单<xsl:variable name='seq' select='*' />会返回预期答案,但不是一个选项......我想between此模板中更改变量,并稍后测试它是否空虚).

xslt xpath xslt-2.0 xsl-variable

3
推荐指数
1
解决办法
1822
查看次数

标签 统计

xsl-variable ×3

xslt ×3

html ×1

xml ×1

xpath ×1

xslt-2.0 ×1