当前位置:牛骨文开发手册前端基础html/CSSWeb开发入门篇 》 B/S初探之XML学习小结

XML

可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。

      近年来,随着 Web的应用越来越广泛和深入,人们渐渐觉得HTML不够用了,HTML过于简单的语法严重地阻碍了用它来表现复杂的形式。尽管HTML推出了一个又一个新版本,已经有了脚本、表格、帧等表达功能,但始终满足不了不断增长的需求。
  有人建议直接使用SGML 作为Web语言,这固然能解决HTML遇到的困难。但是SGML太庞大了,用户学习和使用不方便尚且不说,要全面实现SGML的浏览器就非常困难,于是自然会想到仅使用SGML的子集,使新的语言既方便使用又实现容易。正是在这种形势下,Web标准化组织W3C建议使用一种精简的SGML版本——XML应运而生了。

[图一] XML家族史

Q1:什么是XML?

  • XML 指可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很类似 HTML
  • XML 的设计宗旨是传输数据,而非显示数据,常用于简化数据的存储和共享
  • XML 标签没有被预定义。您需要自行定义标签。
  • XML 被设计为具有自我描述性。
  • XML 的优势之一,就是可以经常在不中断应用程序的情况进行扩展。

Q2:XML与HTML的区别?

  • XML 被设计用来传输和存储数据。
  • HTML 被设计用来显示数据。
  • XML 不是 HTML 的替代。
  • XML 和 HTML 为不同的目的而设计:
  • XML 被设计为传输和存储数据,其焦点是数据的内容。
  • HTML 被设计用来显示数据,其焦点是数据的外观。
  • XML 把数据从 HTML 分离。XML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。

XML DTD 和XML Schema

  二者的作用很容易理解,为了进行正确的数据交换,就要规定文档的数据类型,也就是规定文档的结构。这里打个比方,意大利人说意大利语,日本人说Japanese,两个的商人要进行对外的贸易,就要有个统一的语言,那就是需要贸易通则 Incoterm2010(作为一名国贸生,能把计算机与专业课联系在一起,可见我专业课上总是开小差了~)

  

  想象一下,一个XML的组成就是元素,属性,内容,那么DTD或是它的升级版Schema就是用来规定一个XML文档什么时候什么地点可以出现什么元素,每个元素都可以有什么描述属性。以及它们出现的顺序,重复的次数。在二者中都有详细的规定了。

  DTD可以嵌入在XML文档中,也可以单独形成一个文件,引入即可。

<?xml version="1.0"encoding="UTF-8"? >  
<!DOCTYPE note [  
  <!ELEMENT note (to,from,heading,body)>  
  <!ELEMENT to      (#PCDATA)>  
  <!ELEMENT from    (#PCDATA)>  
  <!ELEMENT heading (#PCDATA)>  
  <!ELEMENT body    (#PCDATA)>  
]>  
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don"t forget the meeting!</body>
</note> 

Q1:DTD与Schema的关系

  • 都是用于描述XML文档的结构。
  • Schema是基于XML的DTD的替代品。
  • Schema要比DTD更强大。

Q2:Schema的优点

  • XML Schema 支持数据类型
  • XML Schema 使用 XML 语法

  这样的好处是不必学习新的语言,可以使用XML编辑器来编辑、解析Schema文件。

  • XML Schema 可保护数据通信

  通过Schema,发送方可以使用一种接收方能够明白的方法来描述数据。

  • XML Schema 可扩展

  可以根据原有的数据类型自定义出自己需要的数据类型,在相同的文档中可以引用多重的Schema。

小结:

  

  通过XML的学习,知道了HTML与XML实际上没有必然的联系,用途不同的两者总是被大家搞混。了解了XML的组成,下一步就是JavaScript脚本语言的学习,看看在JS中如何操作XML文件。