20.3.3 元素

元素的构成有很多个部分,下面逐个讲述。在讲述每个部分时,都会配有实例,帮助读者更好地理解这些概念。

1.非空元素构成

元素=起始标记+元素内容+结束标记,如下所示:


<BID ID=200138>

<PRICE>60000</PRICE>

<TIME>3:00:00</TIME>

</BID>


2.空元素构成

❑无元素内容的就称为空元素。

❑空元素=“<”+元素名称(属性名值对)+“/>”。

❑空元素的属性值必须指明,不能缺少。

上面提到了“<”和“/>”,这是标记。

3.标记

标记分为起始标记和结束标记。

❑起始标记=“<”+标记名称(属性名值对)+“>”。

❑结束标记=“</”+标记名称+“>”

4.元素的内容

元素内容的构成方式:元素内容=(子元素|字符数据|字符数据段|引用|处理指令|注释)

下面将分别描述。

(1)子元素:它也是元素,被嵌套在上层元素之内,只不过是一个相对概念。如果在这个子元素内再嵌套另外一个元素,那么这个子元素同时也是父元素。

(2)字符数据:文本的内容没有标记,也没有实体的引用,这样就称为字符数据。除了字符数据外,其余的内容都使用了标记或实体引用符号。字符数据不能包含“^”、“<”、“&”、“]]”。在预定义实体时,需要使用实体引用,预定义实体不能在XML文档中直接使用某些字符数据,而必须通过规定的实体引用来代替(以“&”开头,以“;”结尾)。举个有关字符数据的实例。


<BID>

<PRICE>6000</PRICE>

</BID>


这里的6000就是字符数据。

(3)字符数据段:这段字符数据只是出现在文档内部,但在输出时,XML程序不对其作任何操作,它将原封不动地被输出。字符数据段的用处:由于在某些应用环境下,希望嵌入一些HTML文本。程序员不希望XML对其进行修改,只想传递这些文本和脚本。其表示方法为:


字符数据段="<![CDATA["+字符数据+"]]>"


下面是有关字符数据段的实例。


<?xml version=1.0 encoding="gb2312"?>

<root>

<![CDATA[<html><head></head><body>我是一个优秀的程序员</body></html>

]]>

</root>


“<html><head></head><body>我是一个优秀的程序员</body></html>”就是一个字符数据段。

(4)引用:引用是用符号代表指定的内容,或者用符号代表不能直接使用的其他符号,其分为实体引用和字符引用。实体引用就是用一个符号代替一段很长的内容,解析时又会被还原成原来的字符实体。而字符引用就是将一些字符及键盘上无法输入的字符,用字符引用。其引用的格式如下:

❑实体引用:“&”+实体引用名+“;”,例如&company;。

❑字符引用:“&#”+字符的十六进制或十进制的ASCII值+“;”,例如®。

下面是有关引用的实例。


<?xml version=1.0 encoding="gb2312"?>

<!DOCTYPE就业信息[<!ENTITY company"上海嘉鉴信息技术有限公司">]>

<就业信息>

<公司名称>&company</公司名称>

</就业信息>


上面的实例中使用了一个声明,其格式如下:


<!ENTITY实体引用名需被引用的实体>