- JSP程序设计实训与案例教程(第2版)
- 马军霞 张志锋 皇安伟等
- 3150字
- 2025-02-22 16:17:40
3.5 课外阅读
3.5.1 XHTML简介
HTML从出现发展到今天,仍有些缺陷和不足。HTML的3个主要缺点如下。
(1)太简单。不能适应现在越来越多的网络设备和应用的需要,例如手机、PDA、信息家电都不能直接显示HTML页面。
(2)不规范。由于HTML代码的不规范、臃肿,浏览器需要足够智能和庞大才能够正确显示HTML页面。
(3)数据与表现混杂。当页面要改变显示时,就必须重新制作HTML。
因此,HTML需要发展才能解决这些问题,于是W3C又制定了XHTML,XHTML是HTML向XML过渡的一个桥梁。
可扩展超文本标记语言(eXtensible HyperText Markup Language, XHTML)是一种标记语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。从继承关系上讲,HTML是一种基于标准通用标记语言(SGML)的应用,是一种非常灵活的标记语言,而XHTML则基于可扩展标记语言(XML),XML是SGML的一个子集。HTML是一种基本的Web网页设计语言,XHTML是一个基于XML的标记语言,看起来与HTML有些相似,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML角色的XML,所以,本质上说,XHTML是一个过渡技术,结合了部分XML的强大功能及大多数HTML的简单特性。
2000年年底,国际W3C组织公布发行了XHTML 1.0版本。XHTML 1.0是一种在HTML 4.0基础上优化和改进的新语言,目的是基于XML应用开发。XHTML是一种增强了的HTML,是更严谨、更纯净的HTML版本。HTML语法要求比较松散,这样对网页编写者来说比较方便,但对于机器来说,语言的语法越松散,处理起来就越困难,对于传统的计算机来说,还有能力兼容松散语法,但对于许多其他设备,例如手机,难度就比较大。所以,产生了由DTD定义规则、语法要求更加严格的XHTML。
大部分常见的浏览器都可以正确地解析XHTML,即使旧一点的浏览器,XHTML作为HTML的一个子集,许多也可以解析。也就是说,几乎所有的网页浏览器在正确解析HTML的同时,可兼容XHTML。当然,从HTML完全转移到XHTML,还需要一个过程。
跟CSS结合后,XHTML发挥了真正的威力;实现样式跟内容分离的同时,又能有机地组合网页代码,在另外的单独文件中,还可以混合各种XML应用。
从HTML到XHTML过渡的变化比较小,主要是为了适应XML。最大的变化在于文档必须是良构的,所有标签必须闭合,也就是说开始标签要有相应的结束标签。另外,XHTML中所有的标签必须小写。而按照HTML 2.0以来的传统,很多人都是将标签大写,这点两者的差异显著。在XHTML中,所有的参数值,包括数字,必须用双引号括起来(而在HTML中,引号不是必需的,当内容只是数字、字母及其他允许的特殊字符时,可以不用引号)。所有元素,包括空元素,例如img、br等,也都必须闭合,实现的方式是在开始标签末尾加入斜杠。
在使用XHTML时需要注意以下几点。
1.所有的标记都必须要有一个相应的结束标记
以前在HTML中,可以写许多单标签,例如,写<li>而不一定写对应的</li>来关闭。但在XHTML中这是不合法的。XHTML要求有严格的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个“/”来关闭它。
例如:
<img src="image/scenery.jpg"alt="风景"width="360"height="200"/>
2.所有标签的元素和属性的名字都必须使用小写
与HTML不一样,XHTML对大小写是敏感的,<title>和<TITLE>是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写。例如,<BODY>必须写成<body>。大小写夹杂也是不被认可的。
3.所有的XML标记都必须合理嵌套
同样因为XHTML要求有严格的结构,所以所有的嵌套都必须按顺序,以前人们这样写的代码:
<p><b></p></b>
必须修改为
<p><b></b></p>
就是说,一层一层的嵌套必须是严格对称的。
4.所有的属性必须用引号("")括起来
在HTML中,可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。例如:
<img src=image/scenery.jpg alt=风景width=360 height=200>
必须修改为
<img src="image/scenery.jpg"alt="风景"width="360"height="200"/>
5.把所有特殊符号用编码表示
任何小于号(<)不是标签的一部分,都必须被编码为<。
任何大于号(>)不是标签的一部分,都必须被编码为>。
任何与号(&)不是实体的一部分的,都必须被编码为&。
注意:以上字符之间无空格。
6.给所有属性赋一个值
XHTML规定所有属性都必须有一个值,没有值就重复本身。
例如:
<input type="checkbox"name="爱好"checked>
必须修改为
<input type="checkbox"name="爱好"checked="checked"/>
7.不要在注释内容中使用“--”
“--”只能发生在XHTML注释的开头和结束,也就是说,在内容中它们不再有效。例如,下面的代码是无效的:
<!--这里是注释-----------这里是注释-->
用等号或者空格替换内部的虚线。
<!--这里是注释========这里是注释-->
以上这些规范有的看上去比较奇怪,但这一切都是为了使代码有一个统一、唯一的标准,便于以后的数据再利用。
8.图片必须有说明文字
每个图片标签都必须有alt说明文字。
<img src="image/scenery.jpg"alt="风景"title="风景"width="360"height="200"/>。为了兼容火狐浏览器和IE浏览器,对于图片标签,尽量采用alt和title双标签,单纯的alt标签在火狐浏览器下没有图片说明。
3.5.2 XML简介
可扩展标记语言(eXtensible Markup Language, XML)用于标记电子文件使其成为结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
XML并非像HTML那样,提供了一组事先已经定义好了的标签,而是提供了一个标准,利用这个标准,可以根据实际需要定义自己的新的标记语言,并为这些标记语言规定它特有的一套标签。准确地说,XML是一种元标记语言,它允许你根据它所提供的规则,制定各种各样的标记语言。这也正是XML语言制定之初的目标所在。XML的最重要之处在于其信息处于文档中,而显示指令在其他位置,即内容和显示是相互对立的。
XML与MySQL、Oracle和SQL Server等数据库不同,这些数据库提供了更强有力的数据存储和分析能力,例如,数据排序、查找、修改、删除等;XML仅仅存储数据。事实上XML与其他数据表现形式最大的不同是:它极其简单。这是一个优点,正是这点使XML与众不同。
下面通过一个例子来理解XML,我们定义一个新的标记语言,称为FCLML(F_companys Client List Markup Language)——F公司的客户列表标记语言。这个语言应该定义一些标签来代表可联系的客户和有关他们的信息。这组标签很简单,它们的优点是代表了一定的语义。与HTML相比,下面这一段代码显然更加清晰易读。

上面的代码是一个简单的XML文件。看上去它和HTML非常相似,但这里的标签代表的不再是显示格式,而是对于客户信息数据的语义解释。
XML与HTML的区别:XML的核心是数据,其重点是数据的内容;而HTML被设计用来显示数据,其重点是数据的显示。不是所有的HTML标记都需要成对出现,XML则要求所有的标记必须成对出现;HTML标记不区分大小写,XML则大小敏感,即区分大小写。
XML文档使用的是自描述的和简单的语法,一个XML文档最基本的构成包括声明、处理指令(可选)和元素。例如,下面的book.xml:

1.声明
在所有XML文档的第一行都有一个XML声明。这个声明表示该文档是一个XML文档,以及它遵循的是哪个XML版本的规范。
2.注释
<!--注释内容-->
3.元素
所有的XML元素必须合理包含,且所有的XML文档必须有一个根元素。XML元素的属性以“名字/值”成对出现。
其格式如下:
<元素 属性名1="值1"…>数据内容</元素>
XML元素的命名规则如下。
(1)元素的名称可以包含字母、数字和其他字符。
(2)元素的名称不能以数字或者标点符号开头。
(3)元素的名称不能以XML开头。
(4)元素的名称不能包含空格。
使用XML元素以及属性注意事项。
(1)任何起始标签都必须有一个结束标签。
(2)可以采用另一种简化语法在一个标签中同时表示起始和结束标签。这种语法是在大于符号之前紧跟一个斜线(/),例如,<tag/>。XML解析器会将其翻译成<tag></tag>。
(3)标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签。这好比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是不能关闭外面的括号的。
(4)所有的属性都必须有值。
(5)所有的属性都必须在值的周围加上双引号。
元素是XML文档的灵魂,它构成了文档的主要内容。XML元素是由标记来定义的,表明XML的目的是标识文档中的元素。
XML是将数据和格式分离的。XML文档本身不知道如何来显示数据,必须有辅助文件来帮助实现。XML中用来设定显示风格样式的文件类型有如下几种。
1)XSL
XSL的全称为eXtensible Stylesheet Language(可扩展样式表语言),是用来设计XML文档显示样式的主要文件类型。
XSL是基于XML的语言,用于创建样式表。XSL创建的样式表能够将XML文档转换成其他的文档,例如HTML文档,这样就可以在浏览器上显示了。在执行转换之前,首先要创建一个XSL样式表,以定义如何进行转换。
2)CSS
CSS大家很熟悉了,全称是Cascading Style Sheets(级联样式表),是目前用来在浏览器上显示XML文档的主要方法。