【转】跟‘我’学XSL

2023-10-28 16:18
文章标签 xsl

本文主要是介绍【转】跟‘我’学XSL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

跟我学XSL(一)

作者:禹希初 时间: 2004-04-09 文档类型:转载 来自:CSDN
浏览统计 total:195428 | year:2079 | Quarter:2079 | Month:2079 | Week:50 | today:50

第 1 页 第一个XML文档
第 2 页 XSL入门
第 3 页 XSL模板与匹配模式
第 4 页 测试模式
第 5 页 XSL中的choose

  随着Internet的发展,越来越多的信息进入互联网,信息的交换、检索、保存及再利用等迫切的需求使HTML这种最常用的标记语言已越来越捉襟见肘。HTML将数据内容与表现融为一体,可修改性、数据可检索性差,而XML借鉴了HTML与数据库、程序语言的优点,将内容与表现分开,不仅使检索更为方便,更主要的是用户之间数据的交换更加方便,可重用性更强。

  XML是一种元标记语言,没有许多固定的标记,为WEB开发人员提供了更大的灵活性。当我们使用HTML时,标记只是简单的表示内容的显示形式,而与表示的内容没有任何关联,为文档的进一步处理带来极大的不便。比如要表示个人简历,用HTML的表示方式如下:

<HTML>
<BODY>
<TABLE border=1 cellspacing=0>
<TH>姓名<TD>禹希初<TH>性别<TD>男<TH>生日<TD>1977.5
<TR>
<TH>技能<TD colspan=5>数据库设计与维护、WEB开发
</TABLE>
</BODY>
</HTML>

姓名 禹希初 性别 生日 1977.5
技能 数据库设计与维护、WEB开发


上例在浏览器中的样子

  在这里,我们无法从标记TH、TD得知其内容表示什么,如果用XML,相应的文档(文件名:个人简历.xml)就可写成如下形式:

<?xml version="1.0" encoding="GB2312"?>
<resume>
<name>禹希初</name>
<sex>男</sex>
<birthday>1977.5</birthday>
<skill>数据库设计与维护、WEB开发</skill>
</resume>


上例在浏览器中的样子(IE5.0或更新版本)

说明:

  version──规定了XML文档的版本,此处只能是1.0;

  encoding── 此处规定了XML文档的编码类型,此处取值为"GB2312",也就是"简体中文"。

  对比两例,使用XML我们可以做到自定义标记,用标记表明内容的含义。这样在Internet上交流资料时,为用计算机处理文档提供了极大的方便,同时我们阅读源文件时也不会被一大堆格式弄得晕头转向。

  然而,由于XML并没有为标记规定显示方式,如果我们在游览器中查看以上两个文档(建议使用IE5.0或更新版本),我们将看到xml文档并没有以诸如表格的方式来显示。难道我们就不能像HTML一样显示文档吗?回答是否定的。以个人简历为例,需要另建一个格式文件说明各个标记的显示方式,其内容如下(假设文件名为resume.css):

resume{ display: block;}
name{ display: block; font-size:120%;}
sex{ display:block; text-indent:2em}
birthday{ display:block; text-indent:2em}
skill{ display:block; text-indent:2em}

说明:

  以上均为CSS样式,建议读者参考有关资料熟悉CSS,在以后学习中必须用到,此处由于篇幅关系不作介绍。建立文件resume.css后,在个人简历.xml文件的第一行后添加以下文字:

<?xml-stylesheet type="text/css" href="resume.css"?>


上例在浏览器中的样子(IE5.0或更新版本)

说明:

  此处表示引用一个外部CSS样式文件,其中type规定样式类型(可取值为text/css或text/xsl),href规定文件路径。

  保存文件,再以IE5.0打开文件。怎么样?格式有些不一样吧。好象还不令人满意,文档内容是清晰了,但显示效果比HTML编写的文档就差得多了,XML编写的文档就只能以这种方式显示吗?!

提示:

  1. 为了更好的理解与掌握XML,建议大家熟悉HTML 4.0与CSS 2.0语法;掌握JavaScript、VBscript中至少一种;编程经验、对数据库理论与SQL的了解均能使大家在学习XML时获益。

  2. XML文档中标记必须成对出现,如果是空标记也必须有前加"/"的同名标记结束,或使用此种文式<xml_mark/>表示空标记。

  3. XML以及下面将要介绍的XSL文档,属性值必须用双引号(")或单引号(’)括起来。

  4. XML文档必须是良构的(XSL文档也是XML文档中一种),也就是说标记必须有结束标记、标记可以嵌套但不可交叉,如:

<outer><inner></inner><inner/></outer>

是合法的,而下面的形式

<outer><inner></outer></inner>

则是错误的。如果XML文档在浏览时出错,多半是违反了上面提到的规则。

 

这篇关于【转】跟‘我’学XSL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/294405

相关文章

XSL样式的使用区别于XML的文本

这里使用加上前缀的XSL与XML进行区别 <?xml version = "1.0" encoding = "ISO-8859-1"?> <xsl:stylesheet version = "1.0" xmlns:xsl = "http://www.w3g.org/1999/XSL/Transform"> <xsl:template match = "/"> <html> <body> <h2

XSL 语言@等通配符,XPath等的说明

XSL 语言 2011-01-19 12:00:35 分类: XSL 指扩展样式表语言(EXtensible Stylesheet Language) CSS = HTML 样式表 HTML 使用预先定义的标签,标签的意义很容易被理解。 HTML 元素中的 <table> 元素定义表格 - 并且浏览器清楚如何显示它。 向 HTML 元素添加样式是很容易的。通过 CSS,很容易

struts框架下,在jsp页面显示XSL格式化的XML。

struts框架下,在jsp页面显示XSL格式化的XML。需要以下步骤: 1 页面显示前XML的Dom对象和Xsl文件地址存入request   public class LoadDataAction extends Action {             private Document mydata;             private String xslPath;

Xsl Fo [ILLUSTRATED]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。 http://blog.csdn.net/topmvp - topmvp No matter how flexible and convenient digital information has become, we haven't done away with the need

xml ,xsl,css 三种关系区别

最近要毕业设计了,我就把我搜藏的文章,让大家看看,以后有空再写点技术文章 xml ,xsl,css 三种关系区别 做了一小段xml.与大家交流。 XML在更多的时候只是一种数据文件,利用XML我们可以使内容与样式分离如果我们将XML文件比作结构化的原料的话。那么XSL就好像"筛子"与"模子",筛子选取自己需要的原料,这些原料再通过模子形成最终的产品。这个模子大致是这样:我们先设计好表现的页面

xml+xsl+htc,web控件开发的理想组合

xml+xsl+htc,web控件开发的理想组合 最近,尝试着写web下的listview控件,listview一般有四种显示模式——平铺、图标、列表和详细信息。这些显示模式唯一的共同点就是数据是相同的,显示效果完全不一样。这时候xml的优势就完全体现出来了。 第一步,就是建立一个自定义格式的xml,用来保存listview数据 第二步,xsl可以解析xml生成html,所以就针对list

Linux运维_Bash脚本_部署安装DocBook-XSL-1.79.1(XSL-Stylesheets)

Linux运维_Bash脚本_部署安装DocBook-XSL-1.79.1(XSL-Stylesheets) Bash (Bourne Again Shell) 是一个解释器,负责处理 Unix 系统命令行上的命令。它是由 Brian Fox 编写的免费软件,并于 1989 年发布的免费软件,作为 Sh (Bourne Shell) 的替代品。 您可以在 Linux 和 MacOS 机器上使用

html转义符 xsl转义符

HTML常用符号: 显示一个空格 &nbsp; &#160; < 小于 &lt; &#60; > 大于 &gt; &#62; & &符号 &amp; &#38; " 双引号 &quot; &#34; 其他常用的字符实体(Character Entities) 显示结果 说明 Entity Name Entity Number ? 版权 &copy; &#169;

oracle.xdo.template.FOProcessor根据xml、xsl(rtf)动态生成pdf

1.制作模板 使用Oracle_BI_Publisher Oracle_BI_Publisher中文开发教程(创建RTF模板) 2.用xml,xsl(rtf)动态生成pdf api文档: FOProcessor (Oracle Fusion Middleware Java API Reference for Oracle Business Intelligence Publisher)

XML文档的xsl:for-each 循环,指定循环次数

在XSLT中,xsl:for-each通常用于遍历XML文档中的节点集合,它并不直接支持指定循环次数。不过,你可以通过一些技巧实现类似的效果。 version="2.0"版本的 一种方法是利用一个适当长度的序列来模拟指定次数的循环。比如,你可以使用XSLT 2.0引入的xsl:sequence和xsl:iterate来实现类似的功能。以下是一个简单的示例: <!-- XSLT 2.0 示例