Xml XSLT中空元素的标识和着色
我有一个地址簿,其XML由Xml XSLT中空元素的标识和着色,xml,xslt,Xml,Xslt,我有一个地址簿,其XML由 <addressbook> <entry> <name prefix="Mr."> Zack Black</name> <address> <street>101 Main St</street> <city>Searcy</city>
<addressbook>
<entry>
<name prefix="Mr.">
Zack Black</name>
<address>
<street>101 Main St</street>
<city>Searcy</city>
<state>AR</state>
<zip>12345</zip>
</address>
<phone location="home"
number="501-279-9999" />
<phone location="work"
number="501-279-1111" />
</entry>
<entry>
<name>John Brown</name>
<phone number="501-305-2222" />
</entry>
<entry>
<name>Susan White</name>
<address>
<street>2000 Center Rd</street>
<city>Dallas</city>
<state>TX</state>
<zip>67790</zip>
</address>
<phone location="home"
number="501-279-0000" />
</entry>
</addressbook>
扎克·布莱克
大街101号
西尔西
应收账
12345
约翰布朗
苏珊·怀特
中心路2000号
达拉斯
德克萨斯州
67790
现在,有几个空单元格。我想识别它们,然后用某种特定的颜色给它们上色,比如红色。我如何才能做到这一点?假设您正在谈论输出HTML表,请尝试以下方法:
...
<td>
<xsl:choose>
<xsl:when test="@prefix">
<xsl:value-of select="@prefix"/>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="style">background-color: red;</xsl:attribute>
<xsl:value-of select="' '"/>
</xsl:otherwise>
</xsl:choose>
</td>
...
。。。
背景色:红色;
...
您还应该探索空表单元格的CSS格式。空单元格是什么意思?更好的是,您希望输出是什么样子的?如果你将这些信息编辑到你的问题中,那会有所帮助。还有任何使您接近该输出的尝试。来自给定代码。。正如您所看到的,与johnbrown相对应的元素没有地址。因此,我的输出应该是整个数据表加上红色John brown的地址单元格。。因此,我可以很容易地发现没有地址。我不能使用@prefix来选择单元格,因为我想要没有数据的单元格…(John Brown的地址单元格)。。这是作为XSLT测试的一部分发布的问题…所以,我不能在答案中使用CSS@用户59288是的,你可以。上面的示例将创建一个包含
@prefix
内容的单元格(如果存在),或一个包含红色背景的空单元格(包含)。