xml - QLGQ/learning-python GitHub Wiki
可扩展标记语言(Extensible Markup Language,简称:XML),是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。
XML是在一个这样的背景下诞生的——为了有一个更中立的方式,让消费端自行决定要如何消化、呈现从服务端所提供的信息。
XML被广泛用来作为跨平台之间交互数据的形式,主要针对数据的内容,通过不同的格式化描述手段(XSLT,CSS等)可以完成最终的形式表达(生成对应的HTML,PDF或者其他的文件格式)。
XML设计用来传送及携带数据信息,不用来表现或展示数据,HTML语言则用来表现数据,所以XML用途的焦点是它说明数据是什么,以及携带数据信息。
- 丰富文件(Rich Documents)-自定文件描述并使其更丰富 * 属于文件为主的XML技术应用 * 标记是用来定义一份资料应该如何呈现
- 元数据(Metadata)-描述其它文件或网络咨询 * 属于资料为主的XML技术应用 * 标记是用来说明一份资料的意义
- 配置文档(Configuration Files)-描述软件设置的参数
XML定义结构、存储信息、传送信息。下例为小张发送给大元的便条,存储为XML。
<?xml version="1.0"?>
<小纸条>
<收件人>大元</收件人>
<发件人>小张</发件人>
<主题>问候</主题>
<具体内容>早啊,饭吃了没?</具体内容>
</小纸条>
这XML文档仅是纯粹的信息标签,这些标签意义的展开依赖于应用应用它的程序。
每个XML文档都由XML序言开始,在前面的代码中的第一行就是XML序言,。这一行代码会告诉解析器或浏览器这个文件应该按照XML规则进行解析。
但是,根元素到底叫<小纸条>还是,则是由文档类型(DTD)定义或XML纲要定义的。如果DTD规定根元素必须叫<小便条>,那你写作<小纸条>就不匹配要求。这种不匹配DTD或XML纲要的要求的XML文档,被称作不合法的XML,反之则是合法的XML。
XML文件的第二行并不一定要包含文档元素;如果有注释或者其他内容,文档元素可以迟些出现。
XML的结构有一个缺陷,那就是不支持分帧(framing)。当多条XML消息在TCP上传输的时候,无法基于XML协议来确定一条XML消息是否已经结束。
万维网联盟(World Wide Web Consortium)标准不是一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分为三个方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMASript等。这些标准大部分由W3C起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(European Computer Manufacturers Association)的ECMAScrip标准。
- 可扩展标记语言(标准通用标记语言下的一个子集、外文缩写:XML)。现推荐遵循的是万维网联盟于2000年10月6日发布的XML1.0。和HTML一样,XML同样来源于标准通用标记语言,可扩展标记语言和标准通用标记语言都是能定义其他语言的语言。XML最初设计的目的是弥补HTML的不足,以强大的扩展性满足网络信息发布的需要,后来逐渐用于网络数据的转换和描述。
- 可扩展超文本标记语言(外文缩写:XHTML)。现推荐遵循的是万维网联盟于2000年1月26日发布的XML1.0。XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的站点,直接采用XML还为时过早。因此,我们在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。简单的说,建立XHTML的目的就是实现HTML向XML的过渡。
层叠样式表(外语缩写:CSS)。现推荐遵循的是万维网联盟于1998年5月12日推荐CSS2,CSS3已发布,主流浏览器正在逐渐支持,程序员也开始利用CSS3代替以往冗长的旧代码。万维网联盟创建CSS标准的目的是以CSS取代HTML表格式布局、帧和其他表现的语言。纯CSS布局与结构式XHTML相结合能帮助设计师分离外观与结构,使站点的访问及维护更加容易。
- 文档对象模型(外语缩写:DOM)根据W3C DOM规范,DOM是一种与浏览器,平台,语言的接口,使得你可以访问页面其他的标准组件。简单理解,DOM解决了Netscaped的Javascript和Microsoft的Jscript之间的冲突,给予web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对象。
- ECMAScript ECMAScript是ECMA(European Computer Manufacturers Association)制定的标准脚本语言(JAVAScript)。现推荐遵循的是ECMAScript 262。