第1章 XML概述
XML本身并非一种技术,而是标记语言,可支持开发者为Web信息设计自己的标记。如此一来,Web信息便可被XML应用共享。XML是一种标准化的可以在Web上表示结构化信息的文本格式,利用它可以存储有复杂结构的数据信息。随着XML的发展,出现了许多与之相关的技术,如XSL、DTD、DOM、XPath等。
本章知识要点:
了解标记语言产生的历史
了解SGML通用标记语言
掌握HTML超文本标记语言
熟练掌握HTML的页面、文字、表格和表单标记
了解XML产生的必然
掌握XML概念
掌握XML的优势和应用
了解XML的相关技术
熟练掌握编写XML文档
1.1 标记语言
标记语言(也称置标语言),是一种可以展现出关于文档结构和数据处理细节的文字编码。当今广泛使用的置标语言是超文本置标语言(HyperText Markup Language,HTML)和可扩展置标语言(eXtensible Markup Language,XML)。置标语言广泛应用于网页和网络应用程序。
1.1.1 标记语言历史
为了促进数据的交换和操作,人们早就产生了将文件结构化为标准的格式的动机。1969年,IBM公司开发了一种文档描述语言,用来解决不同系统中文档格式不同的问题。这样,文档的显示和打印可能更少或更多地依赖特殊的硬件,不过这样的系统需要不同的计算机系统,提供专门的软件来显示和打印文档。IBM把自己这种标识语言称作通用标记语言(Genelized Markup Language,即GML)。GML是IBM许多文档系统的基础,包括Script和Bookmaster。IBM提出在各文档之间共享一些相似的属性,诸如字体大小和版面,并且设计了一种文档系统,通过文档中辅加一种标签,从而可以标识文档中的每种元素。
1.1.2 理解标记语言
传统意义上的标记(markup),我们都应该不会陌生。当我们还在读书的时候,老师改过的试卷,经常是满篇的红色的醒目的对号、错号、问号、波浪线,或者意味深长的评语,这些都是标记。广义上来说,一篇文章中的标点符号、空格也都可以称作是标记。看看韩愈是怎么说的,“句读之不知,惑之不解也”,就是这些语法标记对于帮助我们读懂文章,实在是太重要了。
1.2 通用标记语言SGML
SGML规定了在文档中嵌入描述标记的标准格式,指定了描述文档结构的标准方法,这是SGML的精华。换句话说,可使用SGML为我们创作的每一种类型的文档设置层次结构模型,可以用“篇”、“章”、“节”、“标题”等描述标记来标识文档结构中的文档元素。SGML是一个包含超文本链接的综合语言,在Web上使用的HTML格式是使用固定标签集的一种SGML文档。
1.3 超文本标记语言HTML
由于SGML过于繁琐和复杂,而国际互联网的广泛应用,急需要有一种用户易操作的描述语言。超文本标记语言HTML就这样作为SGML的一种简化应用而诞生。HTML超文本标记语言是一种简化的SGML,易学易用的SGML。该语言了提供文本结构与格式,是Web开发的常用语言。
1.3.1 HTML概述
HTML是一种超文本标记语言,它的英文含义是“Hypertext Marked Language”,是一种用来制作超文本文档的简单标记语言。该语言是有标记组成的语言,标记不区分大小写,大部分标记是成对出现的。HTML不是程序语言,如C++和Java之类,它只是标记语言,我们只要明白了各种标记的含义便算学懂了HTML标记语言,HTML的格式非常简单,只是由文字及标记组合而成,于编辑方面,任何文字编辑器都可以,只要能将文件另存成ASCII纯文字格式即可,当然以专业的网页编辑软件为佳。
1.3.2 HTML页面标记
学习HTML标记语言,实际就是学习HTML的相关标记。HTML标记根据其设置对象的不同,可以分为页面标记、文字标记、表格标记和表单标记等。其中页面标记主要用来设置HTML文档布局、显示样式和链接等。
标记名称 |
说明 |
<html></html> |
HTML文档开始和结束标记 |
<head></head> |
HTML文档属性信息标记,通常包含标题、网页作者和关键词信息 |
<body></body> |
HTML文档正文开始和结束标记。该标记包含bgcolor、text和background属性标记 其格式为<body bgcolor=# text=# background=#> |
bgcolor |
设定HTML文档背景色。其值可以是red、blue和yellow等,也可以用16进制表示 |
text |
设定HTML文档前景色。其值通bgcolor相同 |
background |
设定背景图片 |
<a></a> |
超级链接标记,通过该标记可以链接其他网页。该标记包含href属性标记 |
href |
设定链接的目标网页 |
<hr> |
设定水平标尺,包含width、size和color等属性标记。 |
width |
设定标尺相对于整个网页的相对宽度,其值可以是百分比或具体数字 |
size |
设定标尺大小和粗细,其值为具体数值 |
color |
设定标尺颜色 |
1.3.3 HTML文字与字体标记
文本在网页在一个很重要的位置,通过HTML文字和字体标记可以修饰文本,使文本的显示更加的吸引我们。
标记名称 |
说明 |
<br> |
换行标记,另起一行开始 |
<p> |
段落标记,代表同一个段落的文字,包含align属性标记 |
align |
对齐标记,文本相对于网页的对齐方式。其值可以为center、left和right |
<center> |
居中对齐标记,文本在网页中间显示 |
<blockquote> |
引用文本标记,如引用名言 |
<pre> |
预定义标记,是源代码的格式呈现在浏览器上 |
<hn> |
标题标记,有6个,分别为h1到h6 |
<font> |
字体标记,修饰字体的大小,颜色,字体的名称。包含color、size等属性标记。 |
<b> |
字体加粗标记,文字样式加粗显示 |
<i> |
斜体标记,文字样式斜体显示 |
<sub> |
下标标记,文字以下标形式出现 |
<u> |
底线标记,文字以带底线形式出现 |
<sup> |
上标标记,文字以上标形式出现 |
<address> |
地址标记,文字以斜体形式表示地址 |
<ul> |
无序列表 |
<ol> |
有序列表 |
<dl> |
定义列表 |
<dt>、<dd> |
定义列表的标记 |
<li> |
列表项目的标记 |
1.3.4 HTML表格标记
表格在网站应用中非常广泛,可以方便灵活的排版,很多动态大型网站也都是借助表格排版,表格可以把相互关联的信息元素集中定位,使浏览页面的人一目了然。所以说要制作好网页,就要学好表格。
1.3.5 HTML表单标记
表单在Web网页中用来给访问者填写信息,从而能采集客户端信息,同时表单也能够显示后台的信息使网页具有交互的功能。一般是将表单设计在一个HTML文档中,当用户填写完信息后做提交(submit)操作,于是表单的内容就从客户端的浏览器传送到服务器上,经过服务器上的JSP或CGI等处理程序处理后,再将用户所需信息传送回客户端的浏览器上,可以有表单显示信息,这样网页就具有了交互性。
1.4 XML简介
XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的用中。XML保留了SGML的可扩展功能,这使XML从根本上有别于HTML。XML要比HTML强大得多,它不再是固定的标记,而是允许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构。HTML只是Web显示数据的通用方法,而XML提供了一个直接处理Web数据的通用方法。HTML着重描述Web页面的显示格式,而XML着重描述的是Web页面的内容。
1.4.1 XML技术产生背景
HTML定义了惟一的文件类型,并且标记集不能改动,简单易用却牺牲了语言性能。XML是在一个这样的背景下诞生的,是不是能有一个更中立的方式,让消费端自行决定要如何消化、呈现从服务端所提供的信息?而XML目的即在于提供一个对信息能够做精准描述的机制,藉以弥补HTML太过于表现导向的特点。人们想到开发一种既简洁、功能又强大的SGML的新子集。
1.4.2 XML介绍
XML是一种元标记语言,所谓“元标记语言”就是开发者可以根据自己的需要定义自己的标记,比如开发者可以定义如下标记<book><name>,任何满足xml命名规则的名称都可以作为标记,这就为不同的应用程序的应用打开了大门。HTML是一种预定义标记语言,HTML只是在一类特定的文件中定义了一种描述信息的方法,它只认识诸如<html>,<p>等已经定义的标记,对于用户自己定义的标记是不认识的。
1.4.3 XML与SGML、HTML比较
SGML、HTML是XML的先驱。SGML是通用标记语言标准,它是国际上定义电子文件结构和内容描述的标准,是一种非常复杂的文档的结构,主要用于大量高度结构化数据的防卫区和其他各种工业领域,利于分类和索引。同XML相比,定义的功能很强大,缺点是它不适用于Web数据描述,而且SGML软件价格非常价格昂贵。
1.4.4 XML简单例子
编写一个XML文档,首先需要有一个适合自己的XML编辑工具。在这里,我们介绍几种常用的编辑工具。
Notepad
UltraEdit
XMLSpy
<员工名单>
<员工>
<姓名>123</姓名>
<性别>男</性别>
<部门>软件开发部</部门>
<工资 币种="人民币">1500</工资>
</员工>
<员工>
<姓名>456</姓名>
<性别>女</性别>
<部门>办公室</部门>
<工资 币种="人民币">1000</工资>
</员工>
</员工名单>
1.4.5 XML优势
XML使许多只利用HTML难以解决的任务变得简单,使只利用HTML不可能完成的任务得以完成。因为XML是可扩展的,开发人员喜爱XML有许多原因。到底是哪个更令人感兴趣,取决于每个人的需要。但有一点是肯定的,一旦用上XML,就可以发现,它正是解决许多令人感到棘手的问题的有力工具。XML的优势有下面几个:
1.数据重用
2.数据和表示分离
3.可扩展性
4.语法自由性
5.结构化集成数据
1.4.6 XML应用及发展
XML可用于各种不同的应用程序,但其实质是:XML是一种表示数据的方式。有时候数据是为数据库准备的,有些时候则是供人阅读的。与这两方面应用相关的技术,比如数据验证和XML转换也已经随着XML自身一起发展起来。
由于网络应用的飞速发展,XML的发展非常迅猛。出现了DOM(Document Object Model),XSLT(XSL Transformation)等新名词,XML的应用软件也有了飞速的发展,Microsoft、IBM、Breeze、Stilo等公司纷纷推出了自己的或解析器,或开发平台。在Microsoft、IBM、HP等大公司的推动下,目前有两个著名的xml的研究组织,分别是biztalk.com和oasis.org,由他们向W3C提出标准的建议。
1.5 XML相关技术
XML常用的技术主要包含下面几种:
1.DTD(Document Type Definition)
2.XSL(eXtensible StyleSheet Language)样式单
3.CSS(Cascading Style Sheet)
4.XSLT(XSL Transformation)
5.XPath(XML Path Language)XML路径语言
6.Xlink(XML Link)
7.XML Schema
8.DOM
9.SAX
10.XQL
11.XPointer