2014-12-05 107 views
0

XML如何使用xml来匹配子元素的属性并调用父属性?

<school> 
<courses> 
<course credits="3" courseNum="COMP2899" name="XML for Developers" url="http://www.bcit.ca/study/outlines/comp2899"> 
    <prereqs> 
    <prereq courseNum="COMP1850"/> 
    </prereqs> 
</course> 
<course credits="3" courseNum="COMP1850" name="Introduction to Web Development and Design" url="http://www.bcit.ca/study/outlines/comp1850"> 
    <prereqs> 
    <prereq courseNum="COMP1002"/> 
    </prereqs> 
</course> 
</courses> 
</school> 

XSL

<xsl:for-each select="./school/courses/course"> 
     <xsl:sort select="./@courseNum" order="ascending" data-type="text"/> 
     <xsl:if test="./prereqs/prereq/@courseNum = COMP1850"> 
      <tr> 
      <td><xsl:value-of select="@courseNum"/></td> 
      <td><a target="_blank" href="{key('courseKey', @courseNum)/@url}"> 
       <xsl:value-of select="./@name"/></a></td> 
      </tr> 
     </xsl:if> 
    </xsl:for-each> 

我想叫出courseNum, url and name如果课程的prereqs courseNumCOMP1850但不知何故,我一直在尝试一些东西或者它只是不做一件事或所有页面变成空白。

所以基本上如果我的prereq元素的courseNum attr是COMP1850那么我想调用course元素的attr值。

有人能请我帮忙吗?谢谢

回答

1

你已经错过了把文字值COMP1850在单引号..

<xsl:if test="./prereqs/prereq/@courseNum = 'COMP1850'">

+0

OMG THANKS!我讨厌自己这样做!我的天啊! – WXR 2014-12-05 06:15:55

相关问题