`
ygsilence
  • 浏览: 333232 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XML转换为HTML等格式(XSL)

    博客分类:
  • xml
阅读更多
 
XSL 指扩展样式表语言  
xml    -->    XSL
html  --->   css

xsl好比给xml加上了现实的样式

实例:把 XML 文档("cdcatalog.xml")转换为 XHTML

<!--cdcatalog.xml-->
<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
.
.
.
</catalog>

1.创建 XSL 样式表
创建一个带有转换模板的 XSL 样式表("cdcatalog.xsl"),即xml数据显示所需的样式:


<!--cdcatalog.xsl-->
<?xml version="1.0" encoding="ISO-8859-1"?>

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

<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
      <th align="left">Title</th>
      <th align="left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

2.把 XSL 样式表链接到 XML 文档

向 XML 文档("cdcatalog.xml")添加 XSL 样式表引用:

<!--cdcatalog.xml-->
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
.
.
.
</catalog>


查看cdcatalog.xml文档.,就可以看到相应的效果


但是在无法识别XSLT的浏览器这种方法就无法奏效,即查看xml文件时,不能看到有样式的数据,这就需要在浏览器端,用javascript将xml通过加载xsl转换成xhtml

如: XML 文件和相应的 XSL 文件
<!--cdcatalog.xml-->
<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
.
.
.
</catalog>


<!--cdcatalog.xsl-->
<?xml version="1.0" encoding="ISO-8859-1"?>

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

<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
      <th align="left">Title</th>
      <th align="left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

请注意,这个 XML 文件没有包含对 XSL 文件的引用。

重要事项:上面这句话意味着,XML 文件可使用多个不同的 XSL 样式表来进行转换。

在浏览器中把 XML 转换为 XHTML

这是用于在客户端把 XML 文件转换为 XHTML 的源代码:

<html>
<body>

<script type="text/javascript">

// Load XML 
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("cdcatalog.xml")

// Load XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("cdcatalog.xsl")

// Transform
document.write(xml.transformNode(xsl))

</script>

</body>
</html>

第一段代码创建了微软的 XML 解析器的一个实例,然后把 XML 文件载入了内存。第二段代码创建了解析器的另一个实例,然后把这个 XSL 文件载入了内存。最后一行代码使用 XSL 文档转换了 XML 文档,并在浏览器中把结果作为 XHTML 显示出来。任务完成!





    

分享到:
评论

相关推荐

    XSL转换XML为HTML树显示

    使用xsl将xml数据转换成html的树来显示。 实现了展开和关闭操作。

    WordXML-to-HTML:XSL将MS Word生成的XML转换为HTML

    这些核心转换将Word XML转换为符合HTMLBook规范HTML,并由少数其他ruby和XSL转换建立,以创建可插入较大的Macmillan工作流程HTML文件。 具体来说,这些XSL转换是bookmaker_htmlmaker流程的一部分-。 对于格式良好...

    javaxml,xsl,html文件转换[定义].pdf

    javaxml,xsl,html文件转换[定义].pdf

    MDC-XSL-XML文件转换源代码

    MDC-XSL-XML文件转换源代码,XML与HTML文件格式转换小程序,适应性的XSL算法,可以方便的移植至其他程序中。

    简单留言xml转化xsl表现 .net

    留言簿是网站的一个重要组成部分,是访问者发表意见的场所...显示用户输入的信息时一般得把所有的信息都显示出来,这里的方法就是从XML文件中读取数据并运用XSLT技术对其进行格式转换,最后以HTML的形式显示在浏览器中

    网页XSL基础教程,支持XML和XSL

    在前面的章节中,我们解释了如何用XSL在浏览器中将XML文档转换成HTML,窍门 就是让JavaScript使用一个XML解析器来进行转换。但是当浏览器不支持XML解析 器时,这种方法是不奏效的。要使XML数据对所有浏览器都可用,...

    xsl转化为html的示例代码和文件

    xsl转化为html的示例代码和文件,参考自w3school

    javaxml,xsl,html文件转换.pdf

    javaxml,xsl,html文件转换.pdf

    Python实现把xml或xsl转换为html格式

    主要介绍了Python实现把xml或xsl转换为html格式,本文直接给出实现代码,需要的朋友可以参考下

    javaxml,xsl,html文件转换借鉴.pdf

    javaxml,xsl,html文件转换借鉴.pdf

    draft2html5:将 C++ 标准草案的 XML 版本转换为 HTML5 网页的 XSL 转换

    将 C++ 标准草案源从 XML 转换为 HTML5 该项目旨在提供 C++ 标准草案源的基本 HTML5 渲染。 转换是从原始 LaTeX 源分两步执行的: LaTeX 到 XML 的转换。 由一个。 XML 到 HTML5 的转换。 由本项目执行。本次转换的...

    xsl转xml成html,很实用的源码

    用xsl来转换xml,xml转html的例子,自己写的源码,模板很有用

    xml编辑器-xmlwriter_118150

    XMLwriter是来自国外的一款功能强大的适合于初学者的XML编辑工具,它可以在Windows的环境下支持 XML、XSL、DTD、CSS、HTML 及文本格式的文件,它还拥有一个集成的预览窗口,让你格式化你的XML文件,只要使用CSS、XSL...

    基于XML的同学录(xsl样式表)

    主要实现了基于XML的同学录,根据XML文档,用DTD检验及保证其有效性,使其结构完整良好,编写xsl文档,使其按照规定的样表显示,并运用XPath、Xlink、Xpointer等实现向HTML的转换,最后显示在浏览器上。直观,简单,...

    Python将xml和xsl转换为html的方法

    主要介绍了Python将xml和xsl转换为html的方法,实例分析了使用libxml2模块操作xml和xsl转换为html的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    XMLSPY 2010 企业版

    而 XSLT(XSLTransformations)就是把某一XML文档转换为其他格式的实际语言。  XSLT 是什么类型的语言?——分析和概述 + ZDNET CHINA 特稿: XSLT初步 WSDL 编辑器,WSDL就是描述XML Web服务的标准XML格式,WSDL由...

Global site tag (gtag.js) - Google Analytics