XML技术及应用 古凌岚 第5章_利用XSL实现XML文档多种格式化显示新.ppt
文本预览下载声明
XML技术及应用第五章 利用XSL实现XML文档多种格式化显示 水利水电出版社 古凌岚、罗佳等编著 知识要点 有条件的格式化显示 基于XPath的格式化显示 以制表格式显示 5.1 基于条件进行格式化数据 实例:按价格对书籍信息进行分类显示 问题 需要显示书店中书籍的列表。这些书籍需要按照它们的价格来进行分类。以红色显示价格高于50元的详细资料,其他的以绿色显示。显示的详细资料包括书籍名称、描述、价格和现有量。 5.1 基于条件进行格式化数据 实现效果 5.1 基于条件进行格式化数据 分析 确定要显示的元素数据 确定根据条件格式化数据所需的条件 创建根据条件格式化数据的样式表 将样式表应用于XML文档 查看该XML文档 5.1 基于条件进行格式化数据 确定要显示的元素数据 BookName Keyword(描述) Price Qty 5.1 基于条件进行格式化数据 确定根据条件格式化数据所需的条件 if元素 xsl:if test=”condition” [如果条件为true,那么执行的动作] /xsl:if choose元素 xsl:choose xsl:when test=”condition” [执行动作] /xsl:when : : xsl:otherwise [执行动作] /xsl:otherwise /xsl:choose 5.1 基于条件进行格式化数据 确定显示格式化数据的机制 选择符 标记 类选择符 标识选择符 样式属性 5.1 基于条件进行格式化数据 确定显示格式化数据的机制 操作符 含义 例子 = 等于 Price[. = 20] BookName[. = “xml”] != 不等于 Price[. != 20] lt; 小于 Price[. lt; 20] gt; 大于 Price[. gt; 20] lt;= 小于或等于 Price[. lt;= 20] gt;= 大于或等于 Price[. gt;= 20] And 逻辑“与” Price[. gt; 20 and . lt; 30] Or 逻辑“或” Price[. = 20 or . = 45] Not 否定操作符 Price[not(. = 30)] 5.1 基于条件进行格式化数据 单元练习 需要显示客房信息详细资料,包括客房编号、客房标准编号、客房状态、备注。其中客房状态为“已订”的客房以红色显示,其他的以绿色显示。 5.2在XSLT样式表中使用XPATH模式 实例:使用XPATH模式实现产品销售情况统计 问题 书店管理系统需要显示一个关于销售情况的总结性报告。所有详细资料都放在一个XML文档中。该数据包含关于产品的详细资料和该产品的销售情况。 5.2在XSLT样式表中使用XPATH模式 实现效果 5.2在XSLT样式表中使用XPATH模式 分析 确定要显示的数据 确定显示统计结果的机制 确定需要执行计算的XPath的表达式 确定需要执行计算的函数 创建包含XPath模式和函数的一个XSLT样式表 查看XML文档 5.2在XSLT样式表中使用XPATH模式 确定要显示的数据 书籍ISBN号码 书籍名称 单价 对该书籍的销售单的详细资料: 销售号 销售日期 销售数量 该书籍总的销售量 5.2在XSLT样式表中使用XPATH模式 确定显示统计结果的机制 XML路径(XPath)语言用来从一个XML文件中搜索和检索信息。XPath将XML文档视为分支和节点相互关联的树形结构。节点可以是任意类型(比如元素、属性、注释、文本或者名称空间)。 5.2在XSLT样式表中使用XPATH模式 确定显示统计结果的机制 PRODUCTDATA PRODUCT PRODID=“P001” CATEGORY=“TOY” PRODUCTNAME DESC PRICE QOH MINI BUS THIS IS FOR CHILDREN 75 54 5.2在XSLT样式表中使用XPATH模式 确定需要执行计算的XPath的表达式 操作符专用字符 例子 描述 / /PRODUCTDATA 选择PRODUCTDATA的直接的子元素。如果该操作符出现在该模式开始时,它标志应该从根节点来选择该子元素 // //PRODUCTNAME 在任何节点集中搜索指定的元素 . .PRODUCTNAME 指出当前的上下文 .. ../PRODUCTNAME 选择存在于当前元素父节点内的PRODUCTNAME元素 * * 选择所有元素 @ @PRODUCTID 作为属性的前缀使用 @* @* 选择所有的属性 : : 从元素或者属性名中分离名称空间前缀 () (PRICE*QUANTITY) 用来组合操作 [] [@PRODUCTID
显示全部