目前,我在使用XSLT检查某些XML文件时遇到了一个问题,就像下面的
一样<?xml version="1.0" encoding="UTF-8"?>
<School>
<Grade name="grade1">
<Class name=”Class1”>
<LevelA>12</LevelA>
<LevelC>1</LevelC >
</Class>
</Grade>
<Grade name="grade2">
<Class name=”ClassA2”>
<LevelA>14</LevelA>
<LevelC>0</LevelC>
</Class>
<Class name=”ClassB2”>
<LevelA>10</LevelA>
<LevelC>0</LevelC>
</Class>
</Grade>
<Grade name="grade3"/>
<Grade name="grade4">
<Class name=”ClassA4”>
<LevelA>12</LevelA>
<LevelC>0</LevelC>
</Class>
<Class name=”ClassB4”>
<LevelA>12</LevelA>
<LevelC>2</LevelC>
</Class>
</Grade>
<Grade name="grade5"/>
</School>
如果All Grade节点包含Class(一个或多个),则在结果XML文件中写入“Good”。
<xsl:if test="???">
<p>
<h3 style="color:green;">Good</h3>
</p>
</xsl:if>
如何在“???”处描述条件?
答案 0 :(得分:1)
不是检查所有成绩元素是否包含类,而是检查是否存在成绩元素而没有 Class < /强>
试试这个表达式:
<xsl:if test="not(//Grade[not(Class)])">