以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  本例的xsl中,该如何实现集合或,与的操作呢?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=43518)


--  作者:samyp1234
--  发布时间:3/1/2007 9:50:00 AM

--  本例的xsl中,该如何实现集合或,与的操作呢?
WORKERS.XML文件如下:
<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type="text/xsl" href="Workers.xsl"?>

<WORKERS>
  <WORKER ID="1">
     <name>BUSH</name>
     <salary>1000</salary>
  </WORKER>
  <WORKER ID="2">
     <name>ROBIN</name>
     <salary>2000</salary>
  </WORKER>
  <WORKER ID="3">
     <salary>3000</salary>
  </WORKER>
</WORKERS>

相应的WORKERS.XSL文件如下:

<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="WORKERS">
<table align="center" border="1">    
   <xsl:apply-templates select="WORKER[*[@ID='2'] | WORKER[not$name]" />
</table>
</xsl:template>


<xsl:template match="WORKER[*[@ID='2'] | WORKER[not$name]">
<xsl:for-each select=".">
  <tr>
    <td>工资</td>
    <td><xsl:value-of select="salary" /></td>
    </tr>
</xsl:for-each>
</xsl:template>

</xsl:stylesheet>
本例子想达到的目的是: 输出满足条件“ID='2',或者WORKER下面没有name子元素”的WORKER元素的salary,不知道该怎样写?集合操作不会用啊(当然,此例中,判断不存在name子元素的方法也不对,因为不知道如何写的)?
另外,如果想实现“与”操作,似乎不能用<xsl:apply-templates select="WORKER[*[@ID='2'] and WORKER[not$name]" /> 的形式,那样该如何写呢?

非常谢谢大家啊.


--  作者:Qr
--  发布时间:3/1/2007 11:35:00 AM

--  
与 and 或 or 非 not
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
93.750ms