提问人:Russet_potato97 提问时间:3/4/2023 最后编辑:U. WindlRusset_potato97 更新时间:8/28/2023 访问量:111
尝试使用 XSLT 设置 HTML 颜色属性的样式
Trying to style HTML color attribute using XSLT
问:
任何一个对XML和XSLT感到满意的人在这里: 在我的XMLl中,我尝试使用下面的XSLT为两个具有不同属性的不同“p”标签着色:
<xsl:template match="p">
<xsl:choose>
<xsl: when test="p/@color='red'"><span style="color:#00ff00"><xsl:value-of select="p"/></span></xsl:when>
<xsl: when test="p/@color='green'"> <span style="color:#ff0000"> <xsl:value-of select="p"/></span></xsl:when>
<xsl: otherwise><xsl:value-of select="p"/></xsl:otherwise>
</xsl:choose>
</xsl:template>
XML 如下所示
<html>
<body>
<p color="red">Last paragraph incorrect</p>
<p>A Second paragraph</p>
<p color="green">The First paragraph</p>
<p color="green">Anthony Gonsalwes</p>
</body>
<body>
<l color="green"> kumarswamy</l>
</body>
</html>
答:
2赞
y.arazim
3/6/2023
#1
您的模板匹配 。这将为您在模板中使用的相对路径建立上下文。这意味着您的病情:p
<xsl:when test="p/@color='red'">
仅当 current 具有属性值为“red”的子元素时,才会为 true。当然,对于XML中的任何元素来说,情况并非如此。您应该改为测试:p
p
color
p
<xsl:when test="@color='red'">
而不是:
<xsl:value-of select="p"/>
你需要:
<xsl:value-of select="."/>
评论
1赞
y.arazim
3/6/2023
您还可以在 中显示空格。这是一个语法错误。xsl: when
评论
</span>