XML学习笔记
一.XML文档的语言基础
1.处理指令
1.1 XML声明
XML声明是处理指令的特例。声明不是 XML 元素,不需要关闭标签。
例:<?xml version="1.0" encoding="UTF-8"?>
<? ... ?>表示该行是一条指令。
version="1.0" 表示该文档遵循的是XML1.0标准。在XML申明中要求必须指定version的属性值,指明XML版本号。且必须在属性列表的第一行。
encoding="UTF-8" 表示文档使用的字符集是UTF-8,也可以使用GBK2312等。
简体中文编码:GB2312
繁体中文编码:BIG5
压缩的Unicode编码:UTF-8
压缩的UCS编码:UTF-16
1.2 处理指令
处理指令用来给处理XML文档的应用程序提供信息。
格式:<?处理指令名 处理指令信息?>
例:<?xml-stylesheet type="text/xsl" herf="xsl.xsl" ?>
xml-stylesheet表示该指令用于设定文档所使用的样式表单文件。
type="text/xsl"属性设置文档所使用的样式表单为XSL类型,如果设置CSS样式表,则该属性应为type="text/css"
href="xsl.xsl"属性设置样式表单文件的地址
2.XML注释
格式:<!-- 这里是注释 -->
注释不能出现在标记中。
注释中不能有 -- 符号出现。
注释中可以存在元素。只要元素中没有 -- ,此元素也可以成为注释的一部分,解析时会被忽略。
3.标记与元素
XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。
元素可包含其他元素、文本或者两者的混合物。元素可以拥有属性。
格式:<标记名 属性1="值1" 属性2="值2" >元素内容</标记名>
XML允许空元素,所以空元素
格式 :<标记名 属性1="值1" 属性2="值2"/>
3.1 XML结构
XML文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。
3.2 XML基本语法
拥有正确语法的 XML 被称为“形式良好”的 XML。
XML 文档必须包含根元素。该元素是所有其他元素的父元素。
所有 XML 元素都须有关闭标签。
XML 标签对大小写敏感。
XML 必须正确地嵌套。
XML 的属性值须加引号。
在 XML 中,空格会被保留。
3.2.1 实体引用
XML中一些字符需要使用实体引用。
3.2.2 使用CDATA标记
格式:<![CDATA[文本内容]]>
在<![CDATA[....]]>括号下,所有特殊字符,甚至有效元素都将被当初简单字符处理。实体引用也会失去作用。
3.3 XML标记命名规则
名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格
可使用任何名称,没有保留的字词。
避免 "-" 字符。
避免 "." 字符。
避免 ":" 字符。
3.4 XML属性
XML元素可以拥有属性。
XML属性位于元素的开始标签中,类似 HTML。
XML属性的值必须被引号包围,不过单引号和双引号均可使用。
应避免 XML 属性。因使用属性会引起的一些问题:
属性无法包含多重的值(元素可以)
属性无法描述树结构(元素可以)
属性不易扩展(为未来的变化)
属性难以阅读和维护
尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。
针对元数据的 XML 属性
有时候会向元素分配 ID 引用。这些 ID 索引可用于标识 XML 元素,它起作用的方式与 HTML 中 ID 属性是一样的。
ID 仅仅是一个标识符,用于标识不同的便签。它并不是便签数据的组成部分。
理念:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。
3.5 XML的扩展性
XML 元素是可扩展,以携带更多的信息。
在使用XML的应用程序中,程序不会因为XML的扩展而中断和奔溃.
二.XML 验证
通过 DTD 验证的 XML 称为“合法”的 XML。
三.XML文档的显示方式
1.在浏览中查看XML
XML可以使用web浏览器展示.
2.使用 CSS 显示 XML
通过使用 CSS,可为 XML 文档添加显示信息。
说明:使用 CSS 格式化 XML 不是常用的方法,更不能代表 XML 文档样式化的未来。W3C 推荐使用 XSLT。
3.使用 XSLT 显示 XML
XSLT 是首选的 XML 样式表语言。
XSLT (eXtensible Stylesheet Language Transformations) 远比 CSS 更加完善。