Web客户端语言HTML、XHTML和XML相关知识介绍

HTML简介

  HTML(Hyper Text Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。

  也许你听说过许多可以编辑网页的软件,事实上,你不需要用任何专门的软件来建立HTML页面;你所需要的只是一个文本编辑器(或字处理器)(如Office Word记事本写字板GeditVimOpenOffice. org等等)以及HTML的工作常识。其实你很快就会发现,基础的HTML语言简直容易死了。

  那么让我们建立一个简单的范例吧。第一步,当然是要建立一个新的文本文件并键入“Hello Word!”保存,将它命名为“xxxx.html”。(随便你起一个什么名字,扩展名也可以是HTM)。然后你可以用浏览器将它打开,你会看见的自己键入“Hello Word!”显示在页面上了。

HTML特点和好处

HTML文档制作不是很复杂,且功能强大,支持不同数据格式的文件镶入,这也是WWW盛行的原因之一,其主要特点如下:

  1. 简易性,HTML版本升级采用超集方式,从而更加灵活方便。
  2. 可扩展性,HTML语言的广泛应用带来了加强功能,增加标识符等要求,HTML采取子类元素的方式,为系统扩展带来保证。
  3. 平台无关性。虽然PC机大行其道,但使用MAC等其他机器的大有人在,HTML可以使用在广泛的平台上,这也是WWW盛行的另一个原因。

用什么可以编辑HTML?HTML其实是文本,它需要浏览器的解释,HTML的编辑器大体可以分为三种:

  1. 基本编辑软件,使用WINDOWS自带的记事本或写字版都可以编写,当然,如果你用WPS来编写,也可以。不过存盘时请使用.htm或.html作为扩展名,这样浏览器就可以解释执行了。
  2. 半所见即所得软件,这种软件能大大提高开发效率,它可以使你在很短的时间内做出Homepage,且可以学习HTML,这种类型的软件主要有HOTDOG,还有国产的软件网页作坊。
  3. 所见即所得软件,使用最广泛的编辑器,完全可以一点不懂HTML的知识就可以做出网页,这类软件主要有Frontpage,DREAMWEAVER。

常用HTML代码

1.标题文字 <h#>..........</h#> #=1~6;h1为最大字,h6为最小字
2.字体变化 <font>..........</font> 
 【1】字体大小 <font size=#>..........</font> #=1~7;数字愈大字也愈大
 【2】指定字型 <font face="字体名称">..........</font> 
 【3】文字颜色 <font color=#rrggbb>..........</font>
   rr:表红色(red)色码 
   gg:表绿色(green)色码 
   bb:表蓝色(blue)色码
   rrggbb也可用6位颜色代码数字
3.显示小字体 <small>..........</small>
4.显示大字体 <big>..........</big>
5.粗体字 <b>..........</b>
6.斜体字 <i>..........</i>
7.打字机字体 <tt>..........</tt>
8.底线 <u>..........</u>
9.删除线 <strike>..........</strike>
10.下标字 <sub>..........</sub>
11.上标字 <sup>..........</sup>
12.文字闪烁效果 <blink>..........</blink>
13.换行(也称回车) <br>
14.分段 <p>
15.文字的对齐方向 <p align="#"> #号可为 left:表向左对齐(预设值) center:表向中对齐 right:表向右对齐 P.S.<p align="#">之后的文字都会以所设的对齐方式显示,直到出现另一个<p align="#">改变其对齐方向,遇到<hr>或<h#>标签时会自动设回预设的向左对齐。
16.分隔线 <hr>
 【1】分隔线的粗细 <hr size=点数>
 【2】分隔线的宽度 <hr size=点数或百分比>
 【3】分隔线对齐方向 <hr align="#">#号可为 left:表向左对齐(预设值) center:表向中对齐 right:表向右对齐
 【4】分隔线的颜色 <hr color=#rrggbb>
 【5】实心分隔线 <hr noshade>
17.居中对齐 <center>..........</center> 
18.依原始样式显示 <pre>..........</pre> 
19.<body>指令的属性
 【1】背景颜色 -- bgcolor <body bgcolor=#rrggbb>
 【2】背景图案 -- background <body background="图形文件名">
 【3】设定背景图案不会卷动 -- bgproperties <body bgproperties=fixed>
 【4】文件内容文字的颜色 -- text <body text=#rrggbb>
 【5】超连结文字颜色 -- link <body link=#rrggbb>
 【6】正被选取的超连结文字颜色 -- vlink <body vlink=#rrggbb>
 【7】已连结过的超连结文字颜色 -- alink <body alink=#rrggbb>
20.文字移动指令<MARQUEE>..........</MARQUEE>   移动速度指令是:scrollAmount=# #最小为1,速度为最慢;数字越大移动的越快。   移动方向指令是:direction=# up向上、down向下、left向左、right向右。   指令举例:<MARQUEE scrollAmount=3 direction=up>..........</MARQUEE>

XHTML简介

  可扩展超文本置标语言(eXtensible HyperText Markup Language,XHTML),是一种置标语言,表现方式与超文本置标语言(HTML)类似,不过语法上更加严格。从继承关系上讲,HTML是一种基于标准通用置标语言(SGML)的应用,是一种非常灵活的置标语言,而XHTML则基于可扩展置标语言(XML),XML是SGML的一个子集。XHTML 1.0在2000年1月26日成为W3C的推荐标准。

  XHTML是The Extensible HyperText Markup Language(可扩展超文本标识语言)的缩写。HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言,看起来与HTML有些相象,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML的角色的XML,所以,本质上说,XHTML是一个过渡技术,结合了部分XML的强大功能及大多数HTML的简单特性。

  2000年底,国际W3C组织(World Wide Web Consortium)组织公布发行了XHTML 1.0版本。XHTML 1.0是一种在HTML 4.0基础上优化和改进的的新语言,目的是基于XML应用。XHTML是一种增强了的HTML,它的可扩展性和灵活性将适应未来网络应用更多的需求。XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的基于HTML语言设计的网站,直接采用XML还为时过早。因此,在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。所以,建立XHTML的目的就是实现HTML向XML的过渡。目前国际上在网站设计中推崇的WEB标准就是基于XHTML的应用(即通常所说的CSS+DIV)。

XHTML 是什么?

  • XHTML 指扩展超文本标签语言(EXtensible HyperText Markup Language)。
  • XHTML 的目标是取代 HTML。
  • XHTML 与 HTML 4.01 几乎是相同的。
  • XHTML 是更严格更纯净的 HTML 版本。
  • XHTML 是作为一种 XML 应用被重新定义的 HTML。
  • XHTML 是一个 W3C 标准。
  • XHTML 是EXtensible HyperText Markup Language的英文缩写,即可扩展的超文本标记语言。
  • XHTML 语言是一种标记语言,它不需要编辑,可以直接由浏览器执行。
  • XHTML 是用来代替HTML的, 是2000年w3c公布发行的。
  • XHTML 是一种增强了的HTML,它的可扩展性和灵活性将适应未来网络应用更多的需求。
  • XHTML 是基于XML的应用。
  • XHTML 更简洁更严紧。
  • XHTML 也可以说就是HTML一个升级版本。(w3c描述它为'HTML 4.01')。
  • 除此之外XHTML和HTML基本相同。
  • XHTML 是大小写敏感的,XHTML与xhtml是不一样的.标准的XHTML标签应该使用小写.

有效的XHTML文件
  一个符合XHTML标准的文件即可称为有效. 此可以确保XHTML文件代码的协调, 亦能令文件的更容易被处理, 而不需确保各种浏览器编译的一致性。而W3C验证服务则可以验证文件是否有效。而实际上, 很多网站开发工具(例如Dreamweaver)都支援以W3C标准验证文件。

XHTML语言必须符合XML的格式,例如

属性名称必须为小写

  错误的:<table WIDTH="100%"> 
  正确的:<table width="100%">

属性值使用双引号

  错误的:<table width=100%>
  正确的:<table width="100%">

属性简写是不允许的

  错误的:<input checked> <input readonly> <input disabled> <option selected> <frame noresize>  
  正确的:<input checked="checked" /> <input readonly="readonly" /> <input disabled="disabled" /> <option selected="selected" /> <frame noresize="noresize" />

用id属性来替代name属性

  这是错误的:<img src="picture.gif" name="picture1" /> 
  这是正确的:<img src="picture.gif" id="picture1" /> 

注意:为了版本比较低的浏览器,你应该同时使用name和id属性,并使它们两个的值相同的,像这样:

<img src="picture.gif" id="picture1" name="picture1" /> 

这是在HTML中简写的属性和其在XHTML中应该怎样书写的列表:

HTML XHTML 
compact compact="compact" 
checked checked="checked"
declare declare="declare"
readonly readonly="readonly"
disabled disabled="disabled"
selected selected="selected"
defer defer="defer"
ismap ismap="ismap"
nohref nohref="nohref"
noshade noshade="noshade"
nowrap nowrap="nowrap"
multiple multiple="multiple"
noresize noresize="noresize"

这些做法的目的,是使一个XHTML网页能够被网页浏览器正确及较快地编译。

XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。

XML实例

<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book catalog="Programming">
<title lang="en">C++ Programming Language</title>
<author>Bjarne Stroustrup</author>
<year>1998</year>
<price>98.0</price>
</book>
<book catalog="Networking">
<title lang="en">TCP/IP Illustrated</title>
<author>Richard Stevens</author>
<year>1996</year>
<price>56.0</price>
</book>
</bookstore>

特性

  XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。

  XML与HTML的设计区别是:XML是用来存储数据的,重在数据本身。而HTML是用来定义数据的,重在数据的显示模式。

  XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。

  为了使得SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。

  因为XML是W3C制定的,XML的标准化工作由W3C的XML工作组负责,该小组成员由来自各个地方和行业的专家组成,他们通过email交流对XML标准的意见,并提出自己的看法 (www.w3.org/TR/WD-xml)。因为XML 是个公共格式, (它不专属于任何一家公司),你不必担心XML技术会成为少数公司的盈利工具,XML不是一个依附于特定浏览器的语言

简明语法

  SGML常用来定义针对HTML的文档类型定义(DTD),同时它也常用于编写XML的DTD。SGML的问题就在于,它允许出现一些奇怪的语法,这让创建HTML的解析器成为一个大难题:

  1. 某些起始标签不允许出现结束标签,例如HTML中<img>标签。包含了结束标签就会出现错误。
  2. 某些起始标签可以选择性出现结束标签或者隐含了结束标签。
  3. 某些起始标签要求必须出现结束标签,例如HTML中<script>标签。
  4. 标签可以以任何顺序嵌套。即使结束标签不按照起始标签的逆序出现也是允许的,例如,This is a sample string是正确的。
  5. 某些特性要求必须包含值,例如<img src="picture.jpg">中的src特性。
  6. 某些特性不要求一定有值,例如中的nowrap特性。
  7. 定义特性的两边有没有加上双引号都是可以的,所以<img src="picture.jpg">和<img src=picture.jpg>都是允许的。

  这些问题使建立一个SGML语言的解析器变成了一项艰巨的任务。判断何时应用以上规则的困难导致了SGML语言的定义一直停滞不前。以这些问题作为出发点,XML逐渐步入我们的视野。

XML去掉了之前令许多开发人员头疼的SGML的随意语法。在XML中,采用了如下的语法:

  1. 任何的起始标签都必须有一个结束标签。
  2. 可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。这种语法是在大于符号之前紧跟一个斜线(/),例如<tag />。XML解析器会将其翻译成<tag></tag>。
  3. 标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签,例如this is a samplestring。这好比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是不能关闭外面的括号的。
  4. 所有的特性都必须有值。
  5. 所有的特性都必须在值的周围加上双引号。

  这些规则使得开发一个XML解析器要简便得多,而且也除去了解析SGML中花在判断何时何地应用那些奇怪语法规则上的工作。仅仅在XML出现后的前六年就衍生出多种不同的语言,包括MathML、SVG、RDF、RSS、SOAP、XSLT、XSL-FO,而同时也将HTML改进为XHTML。

  如果需要关于SGML和XML具体技术上的对比,请查看W3C的注解,位于:http:///TR/NOTE-sgml-xml.html

  如今,XML已经是世界上发展最快的技术之一。它的主要目的是使用文本以结构化的方式来表示数据。在某些方面,XML文件也类似于数据库,提供数据的结构化视图。这里是一个XML文件的例子:

文档结构

  每个XML文档都由XML序言开始,在前面的代码中的第一行便是XML序言,<?xml version="1.0"?>。这一行代码会告诉解析器和浏览器,这个文件应该按照前面讨论过的XML规则进行解析。第二行代码,<books>,则是文档元素(document element),它是文件中最外面的标签(我们认为元素(element)是起始标签和结束标签之间的内容)。所有其他的标签必须包含在这个标签之内来组成一个有效的XML文件。XML文件的第二行并不一定要包含文档元素;如果有注释或者其他内容,文档元素可以迟些出现。

  范例文件中的第三行代码是注释,你会发现它与HTML中使用的注释风格是一样的。这是XML从SGML中继承的语法元素之一。

  页面再往下的一些地方,可以发现<desc>标签里有一些特殊的语法。<![CDATA[ ]]>代码用于表示无需进行解析的文本,允许诸如大于号和小于号之类的特殊字符包含在文本中,而无需担心破坏XML的语法。文本必须出现在<![CDATA[和]]>之间才能合适地避免被解析。这样的文本称为Character Data Section,简称CData Section。

XML 文档结构下面的一行就是在第二本书的定义之前的:

<?page render multiple authors ?>

  虽然它看上去很像XML序言,但实际上是一种称为处理指令(processing instruction)的不同类型的语法。处理指令(以下简称PI)的目的是为了给处理页面的程序(例如XML解析器)提供额外的信息。PI通常情况下是没有固定格式的,唯一的要求是紧随第一个问号必须至少有一个字母。在此之后,PI可以包含除了小于号和大于号之外的任何字符串序列。

XML 工具,XML如果有一个好的编辑器就能够减少很多麻烦:

  1. XML Notepad  微软发布的XML Notepad,这是一个简单+好用的XML阅读和编辑工具,支持多种语法显示和数型结构排列并提供了大量编写XML所需的工具。
  2. XML Spy
  3. Xeena
  4. Xmetsal

XML的优势,XML 的优势有以下六个方面:

  1、XML可以从HTML中分离数据,通过XML,你可以在HTML文件之外存储数据。在不使用XML时,HTML用于显示数据,数据必须存储在,HTML文件之内;使用了XML,数据就可以存放在分离的XML文档中。这种方法可以让你集中精力去到使用。HTML做好数据的显示和布局上,并确保数据改动时不会导致HTML文件也需要改动。这样可以方便维护页面。 XML数据同样可以以“数据岛”的形式存储在HTML页面中。你仍然可以集中精力到使用HTML格式化和显示数据上去。

  2、XML用于交换数据,通过XML,我们可以在不兼容的系统之间交换数据。在现实生活中,计算机系统和数据库系统所存储的数据有N^N种形式,对于开发者来说,最耗时间的就是在遍布网络的系统之间交换数据。把数据转换为XML格式存储将大大减少交换数据时的复杂性,并且还可以使得这些数据能被不同的程序读取。

  3、XML和B2B,使用XML,可以在网络中交换金融信息。在不远的将来,我们可以期望看到很多关于XML和B2B(BusinessToBusiness)的应用。XML正在成为遍布网络的商业系统之间交换金融信息所使用的主要语言。许多与B2B有关的完全基于XML的应用程序正在开发中。

  4、XML可以用于共享数据通过XML,纯文本文件可以用来共享数据。既然XML数据是以纯文本格式存储的,那么XML提供了一种与软件和硬件无关的共享数据方法。这样创建一个能够被不同的应用程序读取的数据文件就变得简单了。同样,我们升级操作系统、升级服务器、升级应用程序、更新浏览器就容易多了。XML可以用于存储数据利用XML,纯文本文件可以用来存储数据。大量的数据可以存储到XML文件中或者数据库中。应用程序可以读写和存储数据,一般的程序可以显示数据。 
  5、XML可以充分利用数据   使用XML,你的数据可以被更多的用户使用。既然XML是与软件、硬件和应用程序无关的,所以可以使你的数据可以被更多的用户、更多的设备所利用,而不仅仅是基于HTML标准的浏览器哦。别的客户端和应用程序可以把你的XML文档作为数据源来处理,就像他们对待数据库一样,你的数据可以被各种各样的“阅读器”处理,这时对某些人来说是很方便的,比如盲人或者残疾人。

  6、XML可以用于创建新的语言,XML是WAP和WML语言的母亲。无线标记语言,用于标识运行于手持设备上的Internet程序。

XHTML相比于HTML

  1、所有的标记都必须要有一个相应的结束标记
以前在HTML中,你可以打开许多标签,例如和<li>而不一定写对应的和</li>来关闭它们。但在XHTML中这是不合法的。XHTML要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个"/"来关闭它。例如:

<img height="80" alt="网页设计师" src="../images/logo_w3cn_200x80.gif" width="200" />

  2、所有标签的元素和属性的名字都必须使用小写
与HTML不一样,XHTML对大小写是敏感的,<title>和<TITLE>是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写。例如:<BODY>必须写成<body> 。大小写夹杂也是不被认可的,通常dreamweaver自动生成的属性名字"onMouseOver"也必须修改成"onmouseover"。

  3、所有的XML标记都必须合理嵌套
同样因为XHTML要求有严谨的结构,因此所有的嵌套都必须按顺序,
以前我们这样写的代码:<p><b></p></b>
必须修改为:<p><b></b></p>
就是说,一层一层的嵌套必须是严格对称。

  4、所有的属性必须用引号""括起来,在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。例如:

<height=80>

必须修改为:

<height="80">

特殊情况,你需要在属性值里使用双引号,你可以用",单引号可以使用&apos;,例如:

<alt="say&apos;hello&apos;">

  5、把所有<和&特殊符号用编码表示。

  • 任何小于号(<),不是标签的一部分,都必须被编码为&lt;
  • 任何大于号(>),不是标签的一部分,都必须被编码为&gt;
  • 任何与号(&),不是实体的一部分的,都必须被编码为&amp;
  • 注:以上字符之间无空格。

  6、给所有属性赋一个值,XHTML规定所有属性都必须有一个值,没有值的就重复本身。例如:

<input type="checkbox" name="shirt" value="medium" checked>

必须修改为:

<input type="checkbox" name="shirt" value="medium" checked="checked">

  7、不要在注释内容中使“--”,“--”只能发生在XHTML注释的开头和结束,也就是说,在内容中它们不再有效。例如下面的代码是

无效的:

<!--这里是注释-----------这里是注释--> 

用等号或者空格替换内部的虚线。

<!--这里是注释============这里是注释-->

以上这些规范有的看上去比较奇怪,但这一切都是为了使我们的代码有一个统一、唯一的标准,便于以后的数据再利用。

  8.图片必须有说明文字,每个图片标签都必须有ALT说明文字。

<img src="ball.jpg" alt="large red ball" />

XML和HTML的差异

XML和HTML的不同可以归纳为3点:

① XML扩展性比HTML强,XML(Extensible Markup Languages)是扩展标记语言的英语缩写,他可以创建个性化的标记语言,可以称之为元语言。XML的标记语言可以自定义,这样可以提供更多的数据操作,而不像HTML一样,只能局限于按一定的格式在终端显示出来。HTML的功能只有浏览器放入显示和打印,仅仅适合静态网页的要求。

② XML的语法比HTML严格   由于XML的扩展性强,它需要稳定的基础规则来支持扩展。它的严格规则为:

  1. 起始和结束的标签相匹配
  2. 嵌套标签不能相互嵌套
  3. 区分大小写,相对应XML的严格规则,HTML语言并没有规定标签的绝对位置,也不区分大小写,而这些全部由浏览器来完成识别和更正。

③ XML与HTML互补,XML可以获得应用之间的相应信息,提供终端的多项处理要求,也能被其他的解析器和工具所使用,在现阶段,XML可以转化成相应的HTML,来适应当前浏览器的需求。

原文地址:https://www.cnblogs.com/zhaodifont/p/3897272.html