xml是一种可扩展标记语言
GML和SGML是标记语言的先驱
应用最广的是另外两种标记语言:HTML和XML
XML被设计用于传输和储存数据,而不是用来显示数据,而且它允许开发者自定义标记,因此功能更强大
XML文件至少应满足
整个xml文档有且仅有一个根元素
每个元素都由开始标签和结束标签组成,除非使用空元素语法
元素与元素之间应该合理嵌套
元素的属性必须有属性值,而且属性值应该有引号引起来
XML文档有点类似于MVC(模型、视图和控制器)模式里的数据模型,它只负责提供逻辑数据,至于以何种形式显示则由视图决定
至于XML的显示,可以依赖于简单的CSS,也可以使用XSLT,甚至可以使用JSP页面来负责解析、显示
Java是跨平台的编程语言,而XML是跨平台的数据交换个数
XML声明:
XML文档声明以 “<?” 开始,以 “>?” 结束。如果指定了XML文档声明,则必须同时指定声明的version属性,该属性通常为1.0,表明该文档遵守XML1.0规范。
encoding:指定对该XML文档进行解码所用的字符集
standalone:指定该文档是否需要引用其他资源。该资源只接受yes或no两个值。
XML文档对于标签名的要求:
标签名可以由字母、数字、下划线、中画线、冒号和点号组成,但不能以数字、中画线和点号开头
标签名中不能包含<>,、$等符号。
标签名尽量不要出现英文“ :” ,除非是在使用名字空间。
标签名不能以字符“ XML”开始。
标签名不能包含空格。
基本上,XML没有任何保留字,因此XML标签名可以使用任何名称。
XML允许无限深度地嵌套子元素,只要保证元素之间合理嵌套即可,而且XML元素可以嵌套多个重名的子元素,这多个子元素之间是有序的。
XML允许使用空元素语法,空元素不可接受子元素,也不可接受字符串内容。空元素和内容为空的元素并不相同。
开始标签和结束标签之间的文本可以是任何Unicode字符,并且其间的任何字符都将忠实的传递给xml处理程序。
HTML会把多个连续空格字符裁剪为一个,但xml则会忠实的保留所有空白。
实体引用:用另一个特殊标记来代替特殊符号
使用CDATA标记:将整个文档定义成字符串
在特殊标记CDATA下,所有的特殊字符,甚至是有效的元素都将被当成简单字符处理。实体引用也会失去作用,变成直接文本。
CDATA的语应该序法格式:
注释:
处理指令:
处理指令用于给xml文档的应用程序提供信息,告诉处理如何处理文档。一个完备的xml文档处理程序,可以读取xml文档的处理指令,并根据处理指令进行相应的处理,或将它传给下一个程序。
处理指令格式为:
w3c对于属性的使用建议:
xml元素可以接受属性,其属性的特点为:
xml元素的属性必须要属性值,属性值必须用引号引起来。
同一个xml元素里不能有多个同名属性。
xml元素里的多个属性之间没有先后顺序。
属性的缺点:
属性无法包含多个值,而通过为子元素再次扩展子元素则可以包含多个值
属性无法描述树状结构,而子元素可以。
属性不易扩展(以适应未来的变化)
属性难以阅读和维护
因此w3c的观点是,元数据(有关数据的数据)才应该存储为属性,而数据本身则应该存储为元素。尽量使用元素来描述数据,而仅仅使用属性来提供与数据无关的信息。