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元素,无论它的层次多深。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器