以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  菜鸟问题:<xsl:key name=  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=9074)


--  作者:菜籽
--  发布时间:8/1/2004 8:35:00 PM

--  菜鸟问题:<xsl:key name=
<xsl:key name="classnode" match="Table" use="a"/>
中的key是什么意思啊?它的用法,各位大虾指教啊


--  作者:jun
--  发布时间:8/13/2004 10:53:00 AM

--  
元素key是和函数 key()一起使用的,name是给key关键字起的名字,match是这个关键字作用的结点,use是对此结点如何操作,即定义一个选取条件,key()函数则是对定义好的key关键字选取结点进行操作,返回一个满足选取条件的结点集合
先看下面的例子
XSLT
--------------------------------------------------------------------------------
     <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
          <xsl:output method = "text" />
          <xsl:key name = "ooo" match = "CCC"
               use = "substring(.,3)" />

          <xsl:template match = "/" >
               <xsl:apply-templates select = "key('ooo','2')" />
          </xsl:template>

          <xsl:template match = "CCC" >
               <xsl:text >
        </xsl:text>
               <xsl:value-of select = "." />
          </xsl:template>
     </xsl:stylesheet>

XML
--------------------------------------------------------------------------------

     <AAA >
          <BBB bb = "1" >
               <CCC>c11 </CCC>
               <CCC>c12 </CCC>
               <CCC>c13 </CCC>
           </BBB>
          <BBB bb = "2" >
               <CCC>c21 </CCC>
               <CCC>c22 </CCC>
               <CCC>c23 </CCC>
           </BBB>
          <BBB bb = "3" >
               <CCC>c31 </CCC>
               <CCC>c32 </CCC>
               <CCC>c33 </CCC>
           </BBB>
      </AAA>

Output
--------------------------------------------------------------------------------

  c12
  c22
  c32
<xsl:key name = "ooo" match = "CCC"  use = "substring(.,3)" />和 key('ooo','2')
这里的key()即为返回CCC结点中第三个字符为3的结点的集合
我觉得key是个很有用的东西


--  作者:菜籽
--  发布时间:8/25/2004 11:14:00 AM

--  
谢谢啊,好人啊
--  作者:菜籽
--  发布时间:8/25/2004 11:40:00 AM

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