以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  关于XPath 条件 选取的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=83704)


--  作者:zhucongke
--  发布时间:3/3/2010 10:25:00 PM

--  关于XPath 条件 选取的问题
xml数据源是这样的:
<?xml version="1.0" encoding="utf-8"?>
<books>
<Aclass>
<Bclass>class_1</Bclass>
<Bclass>class_2</Bclass>
<Bclass>class_3</Bclass>
</Aclass>
<book>
  <title>title_1</title>
  <class>class_1</class>
  <act>act_1</act>
</book>
  <book>
  <title>title_2</title>
  <class>class_2</class>
  <act>act_2</act>
</book>
  <book>
  <title>title_3</title>
  <class>class_3</class>
  <act>act_3</act>
</book>
  <book>
  <title>title_4</title>
  <class>class_2</class>
  <act>act_1</act>
</book>
  <book>
  <title>title_5</title>
  <class>class_1</class>
  <act>act_1</act>
</book>
  <book>
  <title>title_6</title>
  <class>class_3</class>
  <act>act_1</act>
</book> <book>
  <title>title_7</title>
  <class>class_2</class>
  <act>act_1</act>
</book>
</books>

xslt想写成这样:

        <xsl:for-each select="books/Aclass/Bclass">

           <xsl:for-each select="../../book[class = string(<xsl:value-of select="."/>)]">
               <xsl:value-of select="title"/>
               <br/>
           </xsl:for-each>

        </xsl:for-each>

就是说条件[class = xxx] 中xxx能不能引用当前books/Aclass/Bclass的值。

哪位高手知道的,请指教,感谢!


--  作者:Qr
--  发布时间:3/4/2010 2:01:00 PM

--  
[class=current()/text()]
--  作者:jj_long
--  发布时间:4/30/2010 9:28:00 PM

--  
可以引用当前元素的值。如果你的语句不能运行,请看下边我的改动:

<xsl:for-each select="books/Aclass/Bclass">
    <xsl:variable name="v_content" select="."></xsl:variable>
    
    <xsl:for-each select="../../book[ class=$v_content]">
        <xsl:value-of select="title"/>
        <br/>
    </xsl:for-each>
    
</xsl:for-each>


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