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实体引用名需被引用的实体>