怎么使用XSLT将 XML文件转化为HTML5的网页

怎么使用XSLT将 XML文件转化为HTML5的网页

在这篇文章中,我将展示怎么使用XSLT语言将 一个 XML 文件输出成HTML5 格式的网络页面.

让我们先看一下如下一个XML格式的文件 (movies.xml) ,文件包含了一些关于影片的相关信息:

<?xml version="1.0" encoding="UTF-8"?>

<movies> 
  <movie> 
    <title>Aliens</title> 
    <year>1986</year> 
    <rank>8.2</rank> 
  </movie> 
  <movie> 
    <title>Apollo 13</title> 
    <year>1995</year> 
    <rank>7.5</rank> 
  </movie> 
  <movie> 
    <title>Pi</title> 
    <year>1998</year> 
    <rank>7.1</rank> 
  </movie> 
</movies>

下一步就是通过使用XSL转化模板文件(movies.xsl) ,来将原来的XML文件转化为HTML5格式文件 :

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="html"
              doctype-system="about:legacy-compat"
              encoding="UTF-8"
              indent="yes" />

  <xsl:template match="/">
    <html>
      <head>
        <title>List of Movies.</title>

        <link rel="stylesheet" href="movies.css" />
      </head>
      <body>
        <table class="movies">
          <thead>
            <tr>
              <th>Title</th>
              <th>Year</th>
              <th>Rank</th>
            </tr>
          </thead>
          <tbody>
            <xsl:for-each select="movies/movie">
            <xsl:sort select="rank"/>
            <tr>
              <td><xsl:value-of select="title"/></td>
              <td><xsl:value-of select="year"/></td>
              <td><xsl:value-of select="rank"/></td>
            </tr>
            </xsl:for-each>
          </tbody>
        </table>
      </body>
    </html>
  </xsl:template>

</xsl:stylesheet>

模板中使用了一个CSS style 文件(movies.css) ,将用在转化的 HTML5 文件中:

table.movies {
  background-color: #CDCDCD;
  font-family: arial;
  margin: 10px 0pt 15px;
  font-size: 8pt;
  width: 100%;
  text-align: left;
}

table.movies thead tr th {
  background-color: #E6EEEE;
  border: 1px solid #FFF;
  font-size: 8pt;
  padding: 10px;
}

table.movies tbody tr td {
  background-color: #FFF;
  color: #3D3D3D;
  vertical-align: top;
  padding: 10px;
}

转化工作的最后一步就是将最初的XML文件和XSLT转化模板建立联系,重点如黑体字符中展示的:

<?xml version="1.0" encoding="UTF-8"?> 

<?xml-stylesheet type="text/xsl" href="movies.xsl"?>

<movies> 
  <movie> 
    <title>Aliens</title> 
    <year>1986</year> 
    <rank>8.2</rank> 
  </movie> 
  <movie> 
    <title>Apollo 13</title> 
    <year>1995</year> 
    <rank>7.5</rank> 
  </movie> 
  <movie> 
    <title>Pi</title> 
    <year>1998</year> 
    <rank>7.1</rank> 
  </movie> 
</movies>

现在,我们来看转化的结果。转化之前需要先创建一个目录和相关文件 movies.xml, movies.xsl and movies.css . 直接用浏览器将 movies.xml打开,你将看到 XML to HTML5 的转化结果.,但是如果你想看生成HTML5格式的结构,你需要使用一些网页的开发工具或调试工具。.

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
oXygen XML Editor是一个多平台的XML编辑器(里诺下载站提供),XSLT / XQuery的调试器和分析器具有完整的Unicode支持。它提供了一个强大的代码洞察力,可以遵循DTD,RELAX NG或者XML架构,甚至可以从部分编辑过的文档学习的结构。XML和XSL文档可以容易地相关联的一个与另一个和变换结果可以被看作是文本或HTML。oXygen XML Editor提供了W3C XML模式的可视化模式编辑器和RELAX NG模式旨在简化架构文件的开发和理解。oXygen验证XML,XSL和XQuery,FO,XSD,RNG,RNC,NRL,DTD的Schematron,WSDL和CSS内容,报告与描述和行号信息错误,以及将它们标记在文档中时,验证您键入时启用。更多的文件可以被逻辑地组织在项目中。它配备了最新的Docbook DTD和样式表。   包括Apache的FO处理器,能够生成PDF和PostScript。其他FO处理器可以配置为插件。oXygen在调试模式进入,以显示来源和侧样式表文件侧,也显示效果和特殊的调试视图时提供了一个特殊的布局。调试和分析可以使用的Xalan,Xalan, Saxon 6 or Saxon 8转化引擎的最新版本来完成。动态呈现的输出,因为它是由变换过程完全与映射源和样式表产生的。一个完整的diff和合并的解决方案也提供oXygen。它提供了目录和文件比较,6档差异算法。oXygen通过包括Subversion客户端,使内容创作者之间更容易文档共享。svn客户端,您可以浏览库,检查变化,提交改变,更新你的工作副本并检查修订历史。oXygen支持导入数据库内容,微软Excel表和传统的文本数据文件到XML文档,也为从数据库表生成XML Schema的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值