- 19
- 0
- 约1.41万字
- 约 18页
- 2016-10-17 发布于贵州
- 举报
实例研究:如何用 XSLT 将 XML 转换为 XHTML
实例研究:如何使用 XSLT 将 XML 转换为 XHTML正确的样式表声明
把文档声明为 XSL 样式表的根元素是 xsl:stylesheet 或 xsl:transform。
注释: xsl:stylesheet 和 xsl:transform 是完全同义的,均可被使用!
根据 W3C 的 XSLT 标准,声明 XSL 样式表的正确方法是:
xsl:stylesheet version=1.0 xmlns:xsl=/1999/XSL/Transform
或者:
xsl:transform version=1.0 xmlns:xsl=/1999/XSL/Transform
如需访问 XSLT 的元素、属性以及特性,我们必须在文档顶端声明 XSLT 命名空间。
xmlns:xsl=/1999/XSL/Transform 指向了官方的 W3C XSLT 命名空间。如果您使用此命名空间,就必须包含属性 version=1.0。
从一个原始的 XML 文档开始
我们现在要把下面这个 XML 文档(cdcatalog.xml)转换为 XHTML:
?xml version=1.0 encoding=ISO-8859-1?
catalog
cd
titleEmpire Burlesque/title
artistBob Dylan/artist
countryUSA/country
companyColumbia/company
price10.90/price
year1985/year
/cd
.
.
.
/catalog
在 Internet Explorer 和 Firefox 中查看 XML 文件:
打开 XML 文件(通常通过点击某个链接) - XML 文档会以颜色化的代码方式来显示根元素及子元素。点击元素左侧的加号或减号可展开或收缩元素的结构。如需查看原始的XML源文件(不带有加号和减号),请在浏览器菜单中选择“查看页面源代码”。
创建 XSL 样式表
然后创建一个带有转换模板的 XSL 样式表(cdcatalog.xsl):
?xml version=1.0 encoding=ISO-8859-1?
xsl:stylesheet version=1.0 xmlns:xsl=/1999/XSL/Transform
xsl:template match=/
html
body
h2My CD Collection/h2
table border=1
tr bgcolor=#9acd32
th align=leftTitle/th
th align=leftArtist/th
/tr
xsl:for-each select=catalog/cd
tr
tdxsl:value-of select=title//td
tdxsl:value-of select=artist//td
/tr
/xsl:for-each
/table
/body
/html
/xsl:template
/xsl:stylesheet
把 XSL 样式表链接到 XML 文档
向 XML 文档(cdcatalog.xml)添加 XSL 样式表引用:
?xml version=1.0 encoding=ISO-8859-1?
?xml-stylesheet type=text/xsl href=cdcatalog.xsl?
catalog
cd
titleEmpire Burlesque/title
artistBob Dylan/artist
countryUSA/country
companyColumbia/company
price10.90/price
year1985/year
/cd
.
.
.
/catalog
如果您使用的浏览器兼容 XSLT,它会很顺利地把您的 XML 转换为 XHTML。
查看结果(cdcatalog_apply.xml)。
我们会在下一节对上面的例子中的细节进行解释。
XSL 样式表由一个或多套被称为模板(template)的规则组成。
每个模板含有当某个指定的节点被匹配时所应用的规则。
xsl:template 元素用于构建模板。
match 属性用于关联 XML 元素和模板。match 属性也可用来为整个文档定义模板。match 属性的值是 XPath 表达式(举例,match=/ 定义整个文档)。
好了,让我们看一下上一节中的 XSL 文件的简化版本:
您可能关注的文档
- 安阳企业-管理训-做中国一流企业的成长之路.doc
- 完全掌握jav中的包机制200711494742.doc
- 完善心智模式 对本领恐慌.doc
- 完善我国公务员核制度的思考.doc
- 宋朝法律制度 1).doc
- 完整Web服务搭建.doc
- 宏经习题二(含案).jsp.doc
- 宏观真题汇总及案-091107考后整理版.doc
- 宏观经济与中国深300指数.docx
- 宏观经济学1217章课后答案.doc
- 初中英语口语教学中教师角色定位与学生表达能力培养的探讨论文.docx
- 初中物理实验:绿植对室内空气质量改善的光合作用机制实验研究论文.docx
- 高中化学实验:校园水景生态系统构建与水质监测技术研究论文.docx
- 初中英语词汇教学游戏化策略:趣味性与教学效果的平衡探讨论文.docx
- 历史图片与时空观念:初中历史教学中的视觉化策略论文.docx
- 涂鸦艺术教育在校园艺术教育中的实践与创新论文.docx
- 高中化学教学中人工智能在化学反应机理分析中的应用实践论文.docx
- 高中生城市公园生态环境教育评价体系构建与实施论文.docx
- 初中合唱团梯队建设中的音乐教育与学生综合素质培养研究论文.docx
- 高中生物教学中的生命观念培养与生物进化影响因素教育研究论文.docx
最近下载
- Unit 1 Animal friends Speed up(课件)外研版(三起)(2024)英语三年级下册.pptx VIP
- 医药企业医院廉洁承诺范文.docx VIP
- 小学综合实践活动一年级下册第四单元《碗筷的摆放和收拾》课件.docx VIP
- Python少儿编程(第1-17课).pptx VIP
- 2026及未来5年中国活检针行业发展研究报告.docx
- 汽车检测诊断技术.pptx VIP
- 小学综合实践活动一年级下册第四单元《碗筷的摆放和收拾》课件.pptx VIP
- 四川省成都市第七中学2025-2026学年高一上学期11月半期考试英语(含答案).pdf
- 集成电路原理与设计之一数字教案_chap.pdf VIP
- python少儿编程课程-第6课:周而复始(for循环).pptx VIP
原创力文档

文档评论(0)