`
persistC
  • 浏览: 71440 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

XSLT2.0----XPATH2.0序列

    博客分类:
  • XSLT
阅读更多
严格说来XPATH2.0和XSLT2.0并无直接联系,但是XPATH的主要应用环境是在XSLT中了,所以也把这点内容写在XSLT中。
XPATH2.0中引入了sequence(序列的概念)。注意是XPATH2.0不是XSLT2.0。
XPATH表达式在1.0的时候只能表示四种类型:
1,节点集。
<xsl:vale-of select="root/item"/>
2,布尔值。
<xsl:value-of select="true()"/>
<xsl:if test="root/item=1"/>
3,数值型
<xsl:vlaue-of  select="number('12.01')"/>
<xsl:value-of  select="root/item[1]"/>中的1.
4,字符串
<xsl:value-of  select="'ABCD'"/>
当XPATH2.0引入了对XML Schema内建数据类型的支持,使用户能直接访问19种简单类型。
XPATH2.0将每个xpath表达式的返回值都看作一个序列。
举例来说:我们可以写这样一条语句,<xsl:value-of select="1,2,3"/>。其中,(1,2,3)是一个序列。再如:<xsl:value-of select="root/item,1,root/item[1],root/itm[3]"/>,select属性指定了一个序列,其中包括root/item序列(嵌套序列),数字1,root/item[1]节点,root/item[3]节点。
 
序列仍可作为xslt2.0函数的参数,跟xpath1.0表达式一样:
for $x in /order/item return $x/price * $x/quantity
注意,这是以个XPATH2.0的表达式,不是XSLT2.0的。它返回一个序列,即所有item的price(价格)与quantity(数量)的乘积的集合。我们可以将序列作为XSLT2.0函数的参数,如:
<xsl:value-of select="sum(for $x in /order/item return $x/price * $x/quantity)"/>
 
<xsl:value-of select="if (number(catalog/cd[1]/price) &lt; number(catalog/cd[2]/price)) then
                                     number(catalog/cd[1]/price else catalog/cd[2]"/>
这是一个if操作,求两个cd中价格低的那个,同样是xapth2.0的表达式。
注意和xslt2.0的<xsl:if>的区别。
 
xpath1.0中<xsl:if test="students/student/name='Fred'/>表示,只要有一个学生的名字是Fred,那么表达式就为真。
xpath2.0中提供了更为准确的运算。
some $x in students/student/name satisfies $x='Fred'
另外:
every $x in /students/student/name satisfies $x='Fred'表示所有的学生的名字都是Fred,才为真。
分享到:
评论

相关推荐

    asp.net知识库

    泛型的序列化问题 .NET 2.0 泛型在实际开发中的一次小应用 C#2.0 Singleton 的实现 .Net Framwork 强类型设计实践 通过反射调用類的方法,屬性,字段,索引器(2種方法) ASP.NET: State Server Gems 完整的动态加载/卸载...

    LINQ 实战 1/11

     ——Patrick Smacchia,微软MVP,《C#和.NET 2.0 实战》作者 目录 -------------------------------------------------------------------------------- 第一部分 从这里开始 第1章 LINQ简介 2 1.1 LINQ是...

    LINQ 实战 3/11

     ——Patrick Smacchia,微软MVP,《C#和.NET 2.0 实战》作者 目录 -------------------------------------------------------------------------------- 第一部分 从这里开始 第1章 LINQ简介 2 1.1 LINQ是...

    LINQ 实战 4/11

     ——Patrick Smacchia,微软MVP,《C#和.NET 2.0 实战》作者 目录 -------------------------------------------------------------------------------- 第一部分 从这里开始 第1章 LINQ简介 2 1.1 LINQ是...

    LINQ 实战 2/11

     ——Patrick Smacchia,微软MVP,《C#和.NET 2.0 实战》作者 目录 -------------------------------------------------------------------------------- 第一部分 从这里开始 第1章 LINQ简介 2 1.1 LINQ是...

    LINQ 实战 7/11

     ——Patrick Smacchia,微软MVP,《C#和.NET 2.0 实战》作者 目录 -------------------------------------------------------------------------------- 第一部分 从这里开始 第1章 LINQ简介 2 1.1 LINQ是...

    LINQ 实战 11/11

     ——Patrick Smacchia,微软MVP,《C#和.NET 2.0 实战》作者 目录 -------------------------------------------------------------------------------- 第一部分 从这里开始 第1章 LINQ简介 2 1.1 LINQ是...

    LINQ 实战 5/11

     ——Patrick Smacchia,微软MVP,《C#和.NET 2.0 实战》作者 目录 -------------------------------------------------------------------------------- 第一部分 从这里开始 第1章 LINQ简介 2 1.1 LINQ是...

    LINQ 实战 8/11

     ——Patrick Smacchia,微软MVP,《C#和.NET 2.0 实战》作者 目录 -------------------------------------------------------------------------------- 第一部分 从这里开始 第1章 LINQ简介 2 1.1 LINQ是...

    LINQ 实战 6/11

     ——Patrick Smacchia,微软MVP,《C#和.NET 2.0 实战》作者 目录 -------------------------------------------------------------------------------- 第一部分 从这里开始 第1章 LINQ简介 2 1.1 LINQ是...

    LINQ 实战 9/11

     ——Patrick Smacchia,微软MVP,《C#和.NET 2.0 实战》作者 目录 -------------------------------------------------------------------------------- 第一部分 从这里开始 第1章 LINQ简介 2 1.1 LINQ是...

    LINQ 实战 10/11

     ——Patrick Smacchia,微软MVP,《C#和.NET 2.0 实战》作者 目录 -------------------------------------------------------------------------------- 第一部分 从这里开始 第1章 LINQ简介 2 1.1 LINQ是...

    XQuery权威指南(简码·扫描版)

    内容简介 XQuery是专门针对XML的查询语言,其作用类似于关系数据库的SQL。  本书比较深入全面地介绍了... 25.3 XQuery 1.0/XPath 2.0和XPath 1.0的差别 附录A 内置函数参考 附录B 内置类型 附录C 错误汇总 索引

    北京中科信软 Visual Basic.NET培训

    XML XPATH,XML XSLT,XML Schema XML & ADO.NET,XML & 配置文件 XML序列化 Web Service WSDL,SOAP,UDDI,生成XML Web Service Web Service中的异步调用,状态管理 事务处理,安全性,自定义身份验证 ...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    1.2.2 ASP.NET2.0 1.2.3 ASP.NET3.5 1.2.4 ASP.NET4 1.2.5 Silverlight 1.3 总结 第2章 Visual Studio 2.1 Visual Studio 2.1.1 网站和Web项目 2.1.2 创建无项目文件的网站 2.1.3 设计网页 2.2...

    ASP.NET4高级程序设计(第4版) 3/3

    1.2.2 ASP.NET2.0 9 1.2.3 ASP.NET3.5 10 1.2.4 ASP.NET4 12 1.2.5 Silverlight 14 1.3 总结 15 第2章 Visual Studio 16 2.1 Visual Studio 16 2.1.1 网站和Web项目 17 2.1.2 创建无项目文件的...

Global site tag (gtag.js) - Google Analytics