• 您的位置我爱Aspx >> XML/XLST >> XSLT轻松入门第四章:XPath的语法
  • XSLT轻松入门第四章:XPath的语法

  • 作者:aspxer  来源:internet  日期:2007-5-6 11:38:51  关键字:
  • 4.XPath的语法

    我们在前面已经提到过,XPath是用来帮助XSLT在XML源文档中查找定位信息的语言。在实际使用过程中,XPath和XSLT总是混在一起使用,在上面一章的语法例子中我们已经有使用到XPath的语法,只是没有明确点出。但W3C将它们分成两个标准,所以我们也将它们拆成两章来讲解。

    4.XPath的语法

    4.1 当前位置

    4.2 寻址操作

    4.3 运算符

    4.4 功能函数

    4.1 当前位置

    当我们使用XSLT处理XML源文档是,我们用Context来表示当前正在被模板处理的节点位置。比如xsl:template match="/"语句中表示Context在文档的根(root)节点。我不知道如何准确的翻译Context这个词,它类似于C语言里的指针,表示程序当前运行的位置。理解Context对于正确处理XSL模板非常重要,当您的XSL模板输出的文档和您想要的不一样,最先应该分析的就是Context在哪里。

    Location Paths是用于设定你想要寻找的Context节点位置。就类似DOS的目录命令。我们看个例子

    <xsl:for-each select="child::PEOPLE/descendant::PERSON">

    其中child::PEOPLE/descendant::PERSON就是XPath语法,这个表达式就是一个Location Paths,代码说明要显示所有PEOPLE元素的子元素和所有PERSON元素的子元素。通常我们会采用更简单的写法:

    <xsl:for-each select="PEOPLE//PERSON">

    我们来解释path的两种表示方法:"/"和"//"。

    "/"是表示当前文档的节点,类似DOS目录分割符。例如:/PEOPLE表示选择根节点下的PEOPLE元素;PEOPLE/PERSON表示选择PEOPLE元素下所有的PESON子元素。

    "//"则表示当前文档所有的节点。类似查看整个目录。例如://PEOPLE表示选择文档中所有的PEOPLE元素,无论它在什么层次;PEOPLE//PERSON表示在PEOPLE元素下所有的PERSON元素,无论它的层次多深。

    [1] [2] [3] 下一页 我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:XSLT轻松入门第五章:XSLT的资源
    下一篇:XSLT轻松入门第三章:XSLT的元素语法
  • 相关文章