导读:上篇博客中以具体实例分析了HTML和XML在语义上的不同,但是,大家也都发现,XML表现出来的,并没有HTML那样直观或者说美观。其原因是因为XML的表现内容和表现形式被分离。它的表现形式有两种方法可以确定:XSL、CSS。本篇博客,介绍XSL。

一、再现文档

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
<booklibrary>
<book>
<title> 数字图像处理学 </title>
<author> 陈秋琦 </author>
<publisher> 电子工业出版社 </publisher>
<price moneytype="RMB"> 49.00 </price>
</book> <book>
<title> C++Builder开发技术 </title>
<author> 李东 </author>
<author> 王宏 </author>
<publisher> 水利水电出版社 </publisher>
<price moneytype="RMB">40.00</price>
</book> <book>
<title> VC++编程技术 </title>
<author> 高强 </author>
<publisher> 人民邮电出版社 </publisher>
<price moneytype="RMB"> 35.00 </price>
</book> </booklibrary></span>

二、编写XSL

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<HTML>
<BODY>
<H2 ALIGN="center">图书信息列表<HR></HR></H2>
<TABLE COLSPAN="8" CELLPADDING="5" BORDER="0">
<TR>
<TD ALIGN="middle" WIDTH="150" BGCOLOR="#4682b4">
<FONT COLOR ="#ffffff" SIZE="2" FACE="黑体">书名</FONT>
</TD>
<TD ALIGN="middle" WIDTH="800" BGCOLOR="#4682b4">
<FONT COLOR ="#ffffff" SIZE="2" FACE="黑体">作者</FONT>
</TD>
<TD ALIGN="middle" WIDTH="150" BGCOLOR="#4682b4">
<FONT COLOR ="#ffffff" SIZE="2" FACE="黑体">出版社</FONT>
</TD>
<TD ALIGN="middle" WIDTH="50" BGCOLOR="#4682b4">
<FONT COLOR ="#ffffff" SIZE="2" FACE="黑体">价格</FONT>
</TD>
</TR>
<xsl:for-each select="booklibrary/book">
<TR>
<TD BGCOLOR="#f7efde" ALIGN="middle">
<FONT SIZE="2"><xsl:value-of select="title"/></FONT>
</TD>
<TD BGCOLOR="#f7efde" ALIGN="middle">
<FONT SIZE="2"><xsl:value-of select="author"/></FONT>
</TD>
<TD BGCOLOR="#f7efde" ALIGN="middle">
<FONT SIZE="2"><xsl:value-of select="publisher"/></FONT>
</TD>
<TD BGCOLOR="#f7efde" ALIGN="middle">
<FONT SIZE="2"><xsl:value-of select="price"/></FONT>
</TD>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet></span>

三、实现样式

将编写好的XSL文档,添加到XML文档中。位置:在第一句话下面。

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
<?xml:stylesheet type="text/xsl" href="BOOK.XSL"?>
<booklibrary></span>

效果:

四、总结

现在已经实现用XSL给XML文档添加样式了,接下来会介绍XML的文档组成,还有XML的变量、类型定义等。下篇博客介绍XML的文档组成结构,嘿嘿。

【HTML/XML 5】使用XSL给XML文档添加样式的更多相关文章

  1. 突发奇想之:源码及文档,文档包括源码---xml格式的源码,文档源码合并;注释文档化,文档代码化;

    目前源码和文档一般都是分开的,我在想为什么 源码不就是最好的文档么? 但是一般源码都是文本text的,格式化需要人为统一规范,所以源码中的文档在现实中不是那么的易于实践. 而且 源码 不能包括图片.附 ...

  2. Xml学习笔记(3)利用递归解析Xml文档添加到TreeView中

    利用递归解析Xml文档添加到TreeView中 private void Form1_Load(object sender, EventArgs e) { XmlDocument doc = new ...

  3. xml基础之二(XML结构【2】)DTD文档模版

    xml基础之二(XML结构[2])DTD文档模版 xml 模板 文档结构  我们知道XML主要用于数据的存储和传输,所以无论是自定义还是外部引用DTD模板文档,都是为了突出数据的存储规范.DTD(文档 ...

  4. 容器环境下如何将NuGet包XML文档添加到Swagger

    容器环境下将NuGet包XML文档添加到Swagger 在.NET Core项目开发过程中,为了实现代码复用,我们将可以重复使用的部分拆分成一个个小的NuGet包.这些NuGet包可以在其他系统中复用 ...

  5. 向Docx4j生成的word文档添加图片和布局--第一部分

    原文标题:Adding images and layout to your Docx4j-generated word documents, part 1 原文链接:http://blog.iprof ...

  6. Java 如何给Word文档添加多行文字水印

    前言 我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印.关于文本水印,之前那篇教程里主要指的是单行字体的水印,而在操作Word文档时,有时也会碰到需要添加多行文 ...

  7. C#给PDF文档添加文本和图片页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...

  8. C# 给Word文档添加内容控件

    C# 给Word文档添加内容控件 在MS Word中,我们可以通过内容控件来向word文档中插入预先定义好的模块,指定模块的内容格式(如图片.日期.列表或格式化的文本等),从而创建一个结构化的word ...

  9. OpenXml入门----给Word文档添加文字

    使用OpenXml给word文档添加文字,每个模块都有自己对于的属性以及内容,要设置样式就先声明属性对象,将样式Append到属性里面,再将属性append到模块里面,那么模块里面的内容就具备该样式了 ...

随机推荐

  1. popoverController使用注意--转

    一.设置尺寸 提示:不建议,像下面这样吧popover的宽度和高度写死. 1 //1.新建一个内容控制器 2 YYMenuViewController *menuVc=[[YYMenuViewCont ...

  2. 146 LRU Cache 最近最少使用页面置换算法

    设计和实现一个  LRU(最近最少使用)缓存 数据结构,使它应该支持以下操作: get 和 put .get(key) - 如果密钥存在于缓存中,则获取密钥的值(总是正数),否则返回 -1.put(k ...

  3. Excel数据直接到DataTable--->DB

    1) Excel数据直接导入到临时生成的DataTable using (OleDbConnection selectConnection = new OleDbConnection("Pr ...

  4. 【转】码云source tree 提交超过100m 为什么大文件推不上去

    码云source tree 提交超过100m 为什么大文件推不上去 2017年01月12日 16:50:51 阅读数:7634 git -c diff.mnemonicprefix=false -c ...

  5. os模块详解2

    1.os.getenv('HOME')  读取操作系统环境变量HOME的值. 2.os.environ 返回操作系统所有的环境变量. 3.os.environ.setdefault(‘a’,‘b’) ...

  6. JavaScript创建对象的七种方法

    一. 工厂模式 创建: function createPerson(name,behavior){ var p=new Object(); p.name=name; p.behavior=behavi ...

  7. MyBatis使用懒加载mybatis-config.xml配置

    在mybatis-config.xml添加如下配置 <settings> <!--要使延迟加载生效必须配置下面两个属性--> <setting name="la ...

  8. Clean Code 第十章 : 类

    最近的CleanCode读到了第十章.这一张主要讲了如何去构造一个类,感觉的CleanCode至此已经不仅仅是单纯的讲如何'写'出漂亮的代码,而是从设计方向上去构造出好的代码了. 本章节主要讲了: * ...

  9. webuploader上传工具

    http://fex.baidu.com/webuploader/getting-started.html#显示用户选择 Html部分 首先准备dom结构,包含存放文件信息的容器.选择按钮和上传按钮三 ...

  10. JavaScript 声明全局变量与局部变量

    一.JavaScript 声明全局变量的三种方式: 声明方式一: 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量.该方式即 ...