




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章使用XSL格式化显示XML文件 6 1XSL的特点 6 2XSL变换步骤 6 3XSL的文件结构 6 6其它常用XSL标记 6 4XSL的模式语言 6 5XSL的常用控制标记 6 1XSL的特点 XSL通过路径的方式来定位数据 从而可以轻易地提取出特定的数据 XSL提供了循环 条件 选择等控制语句 从这方面讲 XSL更接近于程序设计语言 XSL文件是由标记组成的 是一种特殊的XML文件 XSL不仅可以实现CSS的所有功能 还可以实现CSS做不到的功能 XSL的内容涉及两个部分 变换语言 XSLTransformation XSLT 和格式化语言 XSLFormattingObjects XSL FO 返回 利用XSL来格式化XML文件需要通过下面的步骤 6 2XSL变换步骤 1 为需要显示的XML文件编写相应的XSL文件 2 把XML文件和相应的XSL文件相关联 3 应用程序会将其变换称为一个HTML文件 XSL文件所采用的编码必须和对应的XML文件的编码一致 保存后的XSL文件的扩展名为 xsl XML文件关联XSL文件类似于关联CSS文件 需要在文件的开头加入下面一条语句 应用程序 例如IE6 0 会自动将XML文件和相关联的XSL文件变换称为一个HTML文件 返回 一个XSL样式文件的最基本的结构如下 6 3XSL的文件结构 内容描述 返回 6 4XSL的模式语言 6 4 1相对定位和绝对定位 6 4 2XSL的路径匹配模式 返回 相对定位和绝对定位 1 绝对定位法 绝对定位法就是相对于文件的根给出一个路径来定位到数据 这个路径称之为绝对路径 例如 计算机文件系统中路径 C WINNT system32 notepad exe 就是一个绝对路径 用XSL格式化XML时 总是先定位到XML文件的根 文件的根用 表示 所以 绝对路径以 开头 向后依次为各级子标记 各级标记用 隔开 代表父子节点关系 例如 message persion name XML文档的根标记是 message persion 标记是 message 标记的子标记 name 标记是 persion 标记的子标记 相对定位和绝对定位 2 相对定位法 相对定位法是指相对于当前的位置来定位数据 这时的路径是一个相对路径 相对路径是一个相对位置的描述 表示从当前位置出发 通过这个相对路径 就可以找到特定的数据 message persion name lxfs tel 相对路径都不以 开始 表示上一级标记 例如 假设当前位置是 message persion 则路径 lxfs tel 就表示相对于当前位置下的 tel 标记 代表的绝对路径是 返回 XSL的路径匹配模式 1 XSL的路径匹配模式就是通过一些条件的描述来选出特定的数据 有以下一些形式 1 使用任意深度匹配符 2 使用通配符 3 匹配标记的内容 4 匹配标记的属性及子标记 5 复合条件匹配 6 使用集合索引函数 XSL的路径匹配模式 2 1 使用任意深度匹配符 该符号的作用是定位指定标记的后代标记中具有某些特征的标记 中间可以间隔任意级别的标记 例如 tel 表示从文件的根开始搜索 遇到 tel 标记就输出其标记的内容 与tel标记的具体位置没有关系 表示所有的 tel 标记 而 lxfs tel 表示具有父标记为lxfs特征的tel标记 XSL的路径匹配模式 3 2 使用通配符 通配符 表示任意名称的标记 它可以匹配任意标记 例如 lxfs 表示标记lxfs的所有子标记 注意 通配符 可以代替任意名称的标记 一个 只能代替一级标记 如果是多级标记 可以用 message tel 的形式 表示的路径可以是 message persion lxfs tel 等 XSL的路径匹配模式 4 3 匹配标记的内容 匹配标记的内容就是根据标记的某种特定内容来定位标记 例如 message persion name 小李 表示满足条件 标记persion的子标记name的标记内容为 小李 两个运算符 any 表示只要有一个标记满足条件 all 表示所有的标记都要满足条件 例如 message persion any name 小李 表示标记persion的子标记中只要有一个name的标记内容为 小李 XSL的路径匹配模式 5 3 匹配标记的内容 在这个模式下需要用到的关系运算符有 相等 不等 小于 和大于等于 在XSL中 这些符号都有特殊的编码 见下表 XSL的路径匹配模式 6 4 匹配标记的属性及子标记 根据标记所具有的属性或子标记的不同来选出具有某些特征的标记 例如 message persion id 表示查找具有 id 属性且父标记为message的persion标记 message persion id eq 2 表示message标记的子标记中 id 属性值为2的persion标记 message persion tel 表示该路径下含有tel孙标记的persion标记 XSL的路径匹配模式 7 5 复合条件匹配 所谓的复合匹配条件 就是把前面所介绍的几种单一条件结合到一起 使之成为一个具有多重约束条件的一个语句 例如 message persion age gt 18 and not sex ieq female 表示子标记age的内容大于18且子标记sex的内容不是female的persion标记 上面的语句还可以写成 message persion age gt 18 not sex ieq male 注意 只有逻辑与才可以分开写成几个方括号连接的形式 XSL的路径匹配模式 8 6 使用集合索引函数 在XSL中 使用各种条件来过滤数据 有时得到的结果可能不只一个 如果我们想取出其中的某一条记录 就需要使用集合索引函数 例如 message persion id and index 1 表示取出来的是第二条记录 集合索引函数包括index 和end index 表示当前一组标记中的第几个 0表示第一个 end 表示当前一组标记中的最后一个 返回 6 5XSL的常用控制标记 6 5 1循环标记 6 5 2选择标记 6 5 3选择标记 6 5 4求值标记 返回 循环标记 允许循环处理满足由select属性中指定的匹配条件的标记 标记还有一个属性order by 该属性用来给满足条件的一组标记排序 例如 表示循环遍历persion标记内容 并按name标记和age标记内容排序 排序的方法是 先按照name标记的内容进行排序 如果name标记的内容相同 再按照age标记的内容进行排序 如果不使用order by属性 则以XML文件中出现的顺序排序 返回 选择标记 与其他程序设计语言相似 根据某个逻辑条件来决定程序是否执行 例如 还可以写成 注意 标记中 属性test是必选属性 用来设置过滤条件 返回 选择标记 标记只能判断满足某个条件时需要做哪些事情 而不满足的情况则无法处理 也就是说 在XSL里没有 if else 结构 标记则可以做到多选一的功能 例如 男 未知 标记含有两个子标记和 一个标记可以含有多个子标记 每个表示一种情况 一般最后有一个子标记 表示如果前面的情况都不满足 则执行里的动作 返回 求值标记 这个标记不但可以取到某个标记的值 还可以取到某个标记的某个属性的值 通过select属性来设定取值条件 如果满足条件的有多个记录 则输出这些记录中的第一条 例如 第一条语句表示取出具有id属性且属性值为2的persion标记的id属性值 第二条语句表示取出具有id属性且属性值为2的persion标记的name子标记的标记内容 如果只是输出当前标记的内容 则select属性可以省略 返回 6 6其它常用XSL标记 6 6 1标记和标记 6 6 2标记 6 6 3标记 6 6 4标记和标记 6 6 5标记 返回 标记和标记 1 标记 标记是XSL中的模板标记 模板 template 是XSLT中最重要的概念之一 XSLT文件就是由一个一个的模板组成 任何一个XSLT文件至少包含一个模板 模板定义的方法如下 match属性 表示模板的匹配模式 是必选属性 一个模板可以匹配一个标记 也可以匹配多个标记 各个标记用 隔开 name属性 为模板定义名称 一个XSL文件不能包含同名模板 priority属性 表示模板的优先级编号 不考虑所有优先级低于最高优先级的匹配模板规则 此属性的值必须是0 9的实数 正数负数都可以 mode属性 为模板规定模式 各个属性的意义如下 标记和标记 2 标记 标记是XSL中的模板调用标记 标记的使用方法如下 其他语句 标记含有两个属性 select 和 mode select 属性是可选属性 定位到要处理的标记 星号 表示选取所有标记 如果省略该属性 则将选取当前标记的所有子标记 mode 属性也是可选属性 用来区分XSL文件中为相同标记定义的多个处理方法的模板 返回 标记 标记表示在输出中创建一个与当前节点的名称 命名空间和类型相同的标记 属性和子元素不会自动复制 该标记必须在模板中使用 格式如下 将会被替换为 文本内容 或 后者 相应部分会被替换为 文本内容 返回 标记 标记用来给XSL文件添加注释 该标记所标记的内容就是注释的内容 XSL处理器会忽略其标记的内容 不做任何处理 例如 该模板输出XML文件中名称为name的标记的内容 样式为1号标题 返回 标记和标记 1 标记 标记用于在XSL文件中添加脚本 例如 JavaScript VBScript等 这也是XSL的特色之一 通过脚本的使用 可以使XSL在不同的语言之间进行数据转换 标记的用法为 脚本内容 例如 functiondate today newDate month tod
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市2025商务部国际经济合作事务局招聘应届毕业生2人笔试历年参考题库附带答案详解
- 黔西南布依族苗族自治州2025贵州黔西南州望谟县事业单位引进高层次人才和急需紧缺人才17人笔试历年参考题库附带答案详解
- 2025重庆发展投资有限公司及所属企业招聘15人笔试参考题库附带答案详解
- 2025江苏无锡市宜兴市诚信人力资源服务有限公司招聘17人笔试参考题库附带答案详解
- 2025年甘肃省张掖市肃南裕固风情走廊旅游景区招聘22人笔试参考题库附带答案详解
- 2025年河北廊坊文安县城市建设发展有限公司招聘工作人员20名笔试参考题库附带答案详解
- 2025年吉林省国华资产管理有限责任公司所属企业吉林省东风化工有限责任公司公开招聘1人笔试参考题库附带答案详解
- 2025山东济清控股集团有限公司招聘24人笔试参考题库附带答案详解
- 2025中材科技(锡林郭勒)风电叶片有限公司招聘32人笔试参考题库附带答案详解
- 危险物资管理安全培训课件
- 医疗器械法律法规
- 2024年大学生入党积极分子培训班考试试题及答案
- 心力衰竭内科教学
- 房屋翻新改造培训课件
- 禁用物质认证管理办法
- 电仪安全培训课件
- 经典诵读主题班会课件
- 2025年青少年科技创新比赛考核试卷及答案
- 土壤隐患排查培训课件
- 鱼苗配送服务方案(3篇)
- 用血重点科室管理制度
评论
0/150
提交评论