2014-02-28 49 views
0

目前,我遇到了一个问题,使用XSLT做一些XML文件中的检查,就像下面如何通过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> 

如果所有等级节点包含时类(一个或多个),然后在结果XML文件中写入“Good”。

<xsl:if test="???"> 
    <p> 
     <h3 style="color:green;">Good</h3> 
    </p> 
</xsl:if> 

如何描述“???”的条件?

回答

1

而不是检查是否所有的级元素包含一个类,检查是否有不存在元件而不一个类。

试试这个表达式:

<xsl:if test="not(//Grade[not(Class)])"> 
+0

谢谢添!你解决了我的问题! –

相关问题