XML基础
1、一个XML文档大致上由5部分组成:
XML声明、文档类型声明、元素(包含起始标记结束标记和之间的数据内容,还可包含属性)、注释、处理指令。
2、文档类型声明(DTD)
文档类型声明有两种形式,一种声明DTD在一个外部文件中,例如
〈!DOCTYPE 根元素名 SYSTEM “mydtd.dtd”〉
也可以在文档中直接给出DTD,例如
<xml version="1.0" encoding="gd2312">
<!DOCTYPE book[
<!ELEMENT book (#FCDATA)>
]>
定义语法
<!ELEMENT 元素名 (元素内容)>
例如
<!ELEMENT student (name,class,address)>(表示有三个子元素及它们的顺序)
<!ELEMENT student (#PCDATA)>(表示该元素内容为一般字符串)
元素之间的内容分为四种类型:空元素类型、ANY元素类型(该元素的内容可以是任何字符数据和子元素)、父元素类型(可以包含子元素)和混合元素类型(可以包含子元素,也可以包含纯文本字符)。定义语法
<!ELEMENT 元素名 EMPTY>
<!ELEMENT 元素名 ANY>
父元素的正规表达式
……
3、注释
以<!--开始,以-->结束,在注释文本中不能出现字符-和--,注释不能出现在标记之中,且不能被嵌套。
4、处理指令
用于为处理XML文档的应用程序提供信息,以<?标记开始,以?>标记结束,通常位于XML文档第二行或第三行。
5、在XML文档中的所有文本都会被解析器解析,但是在CDATA内部的所有内容都会被解析器忽略
(解析器是XML文档和应用程序之间的软件组件,其目的是为应用程序从XML文档中解析了所需要的数据),如果文本中包含了许多特殊字符(如程序代码),那么最好将其放到CDATA部件中,CDATA部件以<!CDATA[标记开始,以]]>结束。
<script><![CDATA[function aaa(a,b){
…………
}]]>
<script>
6、XML命名空间
通过使用一系列的保留属性来声明,这种属性的名称必须以xmlns或xmlns:作为前缀,命名空间可以分为两种形式:带前缀和无前缀。
声明带前缀命名空间语法:xmlns:前缀名="命名空间名"
声明无前缀命名空间语法:xmlns="命名空间名"
(使用无前缀命名空间时将被设为默认的命名空间)
7、声明实体
在DTD中可以声明一些实体,相当于常量,以便在XML和DTD中可以使用,分为内部实体(对文本字符串的引用,格式为&实体名;)、外部实体名(对其他外部文件的命名,外部文件可以包含文本,二进制数据)、参数实体(只能出现在DTD中,格式为%实体名;)定义格式如下
<!ENTITY 实体名 值>
例子
<!ENTITY PC "(#PCDATA)">
<!ELEMENT 学生 &PC;>
8、属性列表声明格式为
<!ATTLITS 元素名 属性名 属性类型 默认说明>