导读:上篇博客中以具体实例分析了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. 130 Surrounded Regions 被围绕的区域

    给定一个二维的矩阵,包含 'X' 和 'O'(字母 O), 找到所有被 'X' 围绕的区域.并将区域里所有 'O'用 'X' 填充.例如,X X X XX O O XX X O XX O X X运行你 ...

  2. 1049 - One Way Roads 观察 dfs

    http://lightoj.com/volume_showproblem.php?problem=1049 题意是,在一副有向图中,要使得它变成一个首尾相连的图,需要的最小代价. 就是本来是1--& ...

  3. 释放资源的一般范式——更锋利的C#代码小记

    public class Photo : IDisposable { //在Finalize函数中调用内部的Dispose方法 ~Photo() { //被自动回收时仅释放托管资源,不释放非托管资源 ...

  4. P2712 摄像头

    题目描述 食品店里有n个摄像头,这种摄像头很笨拙,只能拍摄到固定位置.现有一群胆大妄为的松鼠想要抢劫食品店,为了不让摄像头拍下他们犯罪的证据,他们抢劫前的第一件事就是砸毁这些摄像头. 为了便于砸毁摄像 ...

  5. Android Studio3.0 Error:Execution failed for task ':app:javaPreCompileDebug' 错误

    Error:Execution failed for task ':app:javaPreCompileDebug'. > Annotation processors must be expli ...

  6. Ubuntu docker 使用命令 系列二

    1.下载官方远程仓下的镜像:sudo docker pull <docker 镜像> ,sudo docker pull centos (没有指定版本,就是下载的最新的os) 2. 下载某 ...

  7. Oracle 11g r2 Enterprise Manager (EM) 中文页面调整为英文页面

    Oracle 11g r2 Enterprise Manager (EM) 在中文语言环境下, 部分功能(如包含时间的查询数据库实例: orcl  >  指导中心  >  SQL 优化概要 ...

  8. IOS状态栏

    IOS状态栏是什么地方? 它是IOS设备屏幕顶部显示信号以及电池的区域.状态栏默认的高度是20像素,状态栏在软件开发中有何作用?联网应用中可在自动帮用户下载数据时使用,推荐在状态栏中予以显示.状态栏可 ...

  9. Elasticsearch搜索含有数字标签的处理

    {"tag_id":“12345”} 在search的时候是完全匹配,因为Elasticsearch在处理这个的过程中把“123456”字符当成一个整体的数据,因此折腾了好久就是找 ...

  10. zipkin 服务追踪

    服务追踪,就是对请求接口的追踪并保存. 在测试的过程中我们会发现,有时候,程序刚刚启动后,刷新几次,并不能看到任何数据,原因就是我们的spring-cloud-sleuth收集信息是有一定的比率的,默 ...