以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  关于节点值的比较  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=39913)


--  作者:justinqj
--  发布时间:11/11/2006 2:37:00 PM

--  关于节点值的比较
XML:
<root>
<SortRoot>
 <Node>
  <Name>电工电气</Name>
  <Code>01</Code>
 </Node>
 <Node>
  <Name>低压电器</Name>
  <Code>0101</Code>
 </Node>
 <Node>
  <Name>连接器</Name>
  <Code>0102</Code>
 </Node>
 <Node>
  <Name>高压电器</Name>
  <Code>0103</Code>
 </Node>
 <Node>
  <Name>电线,电缆</Name>
  <Code>0104</Code>
 </Node>
 <Node>
  <Name>运动休闲</Name>
  <Code>02</Code>
 </Node>
 <Node>
  <Name>运动鞋</Name>
  <Code>0201</Code>
 </Node>
 <Node>
  <Name>网球拍</Name>
  <Code>0202</Code>
 </Node>
 <Node>
  <Name>休闲鞋</Name>
  <Code>0203</Code>
 </Node>
 <Node>
  <Name>运动裤</Name>
  <Code>0204</Code>
 </Node>
 </SortRoot>
       <parentID>01</parentID>
</root>

我要把Code 等于 <parentID>并且 长度 = 4 的节点内容都列出来~  


我是这样写的
<xsl:for-each select="SortRoot">
       <xsl:for-each select="Node [starts-with(Code,parentID) and string-length(Code)=4]">
              <xsl:value-of select="Name" />
</xsl:for-each>
</xsl:for-each>

但是starts-with(Code,parentID) 条件没有生效。把所有Code长度为4的内容都列出来了。请高手指正!非常谢谢


--  作者:Qr
--  发布时间:11/11/2006 5:53:00 PM

--  
 <xsl:for-each select="root/SortRoot">
  <xsl:for-each select="Node [starts-with(Code,/root/parentID) and string-length(Code)=4]"><!--或者用"../../parentID"等-->
   <xsl:value-of select="Name" />
  </xsl:for-each>
 </xsl:for-each>
--  作者:justinqj
--  发布时间:11/13/2006 10:10:00 AM

--  
问题已解决,非常感谢版主的解答!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
94.727ms