尝试使用 XSLT 设置 XML 样式,

问题描述 投票:0回答:1

任何一个对这里的 xml 和 xslt 感到满意的人,在我的 xml 中,我试图使用下面的 xslt 为两个具有不同属性的不同“p”标签着色

xsl:选择

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>
xml xslt xhtml
1个回答
0
投票

您的模板匹配

p
。这为您在模板中使用的相对路径建立了上下文。这意味着你的情况:

<xsl:when test="p/@color='red'">

仅当当前

p
具有子
p
元素且其
color
属性值为“red”时才为真。对于 XML 中的任何
p
元素,这当然不是真的。你应该测试:

<xsl:when test="@color='red'">

而不是:

<xsl:value-of select="p"/> 

你需要:

<xsl:value-of select="."/> 
© www.soinside.com 2019 - 2024. All rights reserved.