实例研究:如何用 XSLT 将 XML 转换为 XHTML.docVIP

  • 19
  • 0
  • 约1.41万字
  • 约 18页
  • 2016-10-17 发布于贵州
  • 举报

实例研究:如何用 XSLT 将 XML 转换为 XHTML.doc

实例研究:如何用 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 文件的简化版本:

文档评论(0)

1亿VIP精品文档

相关文档