元素是XML,HTML文档的主要构建模块
XML文档的构建模块
从DTD的角度来看,XML文档(和HTML文档)是由以下构建模块构成
元素
属性
实体
被解析的字符数据
字符数据
元素:
元素是XML和HTML文档的主构建模块
对于HTML的元素,例如象"body"和"table",而XML的元素,例如象例1的"note"和"message"。
元素包含文本,其他的元素,或者是空元素。
空的HTML元素例如有"hr", "br"和"img"(应该说是没有结尾标签的独立元素)。
例如:
<body>some text</body>
<message>some text</message>
属性:
属性提供了关于元素额外的信息
属性总是被内置于元素的开始标签内,并以name/value成对出现。
以下例子是一个含有关于源文件附加信息属性的img元素
例:
<img src="computer.gif" />
上述例子元素是img,属性名是src,属性数值为computer.gif,因为img在HTML文档内为空元素,所以结尾以"/"结束,没有结束标签。
实体:
在XML里有些字符有特殊的意义,如<就是一个标签的开始符。为了在文档中能用这些字符而不至于发生冲突。
实体是定义共同文本的变量,实体的引用就是指引用已经定义好的实体变量。
大家或许都知道HTML文档中象" "这样的实体引用,它是被用于在HTML中插入一个空格,
当文档被XML解析器所解析时,实体被引用赋予事前预定义好的意义。
以下是在XML中预定义的实体
实体引用 | 字符 |
---|---|
< | < |
> | > |
& | & |
" | " |
' | ' |
被解析的字符数据:
PCDATA意思是指被解析的字符数据(parsed character data)
PCDATA是会被解析器所解析的文本,其中包含在文本里的标签将会被视为标记,而实体将会被引用。
字符数据
CDATA意思是指字符数据(character data)
CDATA是不会被解析器所解析的文本,其中包含在文本里的标签将不会被视为标记,实体也将不会被引用。