html和xml


在看着spring资源访问:Resource等实现类时,被大量出现的saxReader解析xml方式给惊艳到.于是就看了下saxreaer是什么东东,突然又发现自己对于xml的概念不是特别熟于是又查了下xml,突然又发现html和xml之间有着太多相似点了,无论是结构上,还是使用上,于是又在网上查了下他们的区别.(暴露自己是一个超级渣渣的事实了!)发现这篇写得很引人入目,而且简单易懂,内容又很广泛,于是我就把她给粘过来了.以防自己以后又忘记.同时,我也贴上些自己的资料,提醒自己要温故知新.


感谢原文作者的用心编写

原文链接:http://blog.csdn.net/liu_yujie2011com/article/details/20284453


一、什么是HTML

       带着疑问走到这里,一句话:HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言。 如果想了解更多请看以下博客:

          http://blog.csdn.net/liu_yujie2011com/article/details/18656125

二、什么是XML

       XML即ExtentsibleMarkup Language(可扩展标记语言),是用来定义其它语言的一种元语言,其前身是SGML(标准通用标记语言)。它没有标签集(tagset),也没有语法规则(grammatical rule),但 是它有句法规则(syntax rule)。任何XML文档对任何类型的应用以及正确的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。XML文档可以是有效的(valid),但并非一定要求有效。所谓有效文档是指其符合其文档类型定义(DTD)的文档。如果一个文档符合一个模式(schema)的规定,那么这个文档是模式有效的(schema valid)。

三、HTMLXML的区别

        通过以上对HTMLXML的了解,我们来看看他们之间到底存在着什么区别与联系

    xml和html都是用于操作数据或数据结构,在结构上大致是相同的,但它们在本质上却存在着明显的区别。综合网上的各种资料总结如下。

(一)、语法要求不同:

1. html中不区分大小写,在xml中严格区分。

2. HTML中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略</p>或者</li>之类的结束标记。在XML中,是严格的树状结构,绝对不能省略掉结束标记。

3. XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个字符作为结尾。这样分析器就知道不用查找结束标记了。

4. XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。 

5. HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。 

6. XML文档中,空白部分不会被解析器自动删除;但是html是过滤掉空格的。

(二)、标记不同:

1、html使用固有的标记;而xml没有固有的标记。

2Html标签是预定义的;XML标签是免费的、自定义的、可扩展的。

(三)、作用不同:

1. html是用来显示数据的;xml是用来描述数据、存放数据的,所以可以作为持久化的介质!Html将数据和显示结合在一起,在页面中把这数据显示出来;xml

则将数据和显示分开。 XML被设计用来描述数据,其焦点是数据的内容。HTML被设计用来显示数据,其焦点是数据的外观。

2. xml不是HTML的替代品,xmlhtml是两种不同用途的语言。 XML 不是要替换 HTML;实际上XML 可以视作对 HTML 的补充。XML HTML 的目标不同HTML 的设计目标是显示数据并集中于数据外观,而XML的设计目标是描述数据并集中于数据的内容。

3. 没有任何行为的XML。与HTML 相似,XML 不进行任何操作。(共同点)

4. 对于XML最好的形容可能是: XML是一种跨平台的,与软、硬件无关的,处理与传输信息的工具。

5. XML未来将会无所不在。XML将成为最普遍的数据处理和数据传输的工具。



以下是课堂内容:


一,一个XML文件分为如下几部分内容:

  1.文档声明 2.标签 3.属性 4.注释   5.转义字符 6.CDATA区  7.处理

1.1.文档声明
在编写XML文档时,需要先使用文档声明,声明XML文档的类型。
1.1.1最简单的声明语法:<?xml version="1.0" ?>
1.1.2用encoding属性说明文档的字符编码:<?xml version="1.0" encoding="GB2312" ?>  

1.1.3用standalone属性说明文档是否独立:<?xml version="1.0" encoding="GB2312"  standalone="yes" ?>



2.一个XML标签名称可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
2.1.1区分大小写:例如,<P>和<p>是两个不同的标签。
2.1.2不能以数字开头。
2.1.3不能包含空格。
2.1.4名称中间不能包含冒号(:)。


2.2.一个标签有如下几种书写形式:

2.2.1包含标签体:
            <a>www.itcast.cn</a>
2.2.2不含标签体的:

            <a></a>, 简写为:<a/> (空标签)


2.3.一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套 .

例如:
        <a>welcome to <b>www.it315.org</a></b>

2.4.格式良好的XML文档必须有且仅有一个根标签,其它标签都是这个根元素的子孙标签。 一个标签可以有多个属性,每个属性都有它自己的名称和取值.

         例如:<input name=“text”>


2.5.属性值一定要用双引号(")或单引号(')引起来,定义属性必须遵循与标签相同的命名规范


2.6.多学一招:在XML技术中,标签属性所代表的信息,也可以被改成用子元素的形式来描述,例如:
   本来是这种的:<input name="text"></input>     

  <input>

                <name>text</name>
        </input>

    


2.7.Xml文件中的注释采用:“<!--注释-->” 格式。

注意:XML声明之前不能有注释,注释不能嵌套,例如:
    <!--大段注释
    ……
        <!--局部注释-->
    ……
    -->  


3.处理指令,简称PI (processing instruction)。
3.1.概念:处理指令用来指挥解析引擎如何解析XML文档内容。

例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。    <?xml-stylesheet type="text/css" href="1.css"?>

3.2.处理指令必须以“<?”作为开头,以“?>”作为结尾,
    XML声明语句就是最常见的一种处理指令。
例如:<?xml version="1.0" ?>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值