一、DTD验证
文档类型定义(Document Type Definition)
DTD定义了XML文档内容的结构,保证XML以一致的格式存储数据。精确的定义词汇表,对XML的内容施加约束。
符合DTD的规范XML文档称为有效的文档。由DTD定义的词汇表以及文档语法,XML解析器可以检查XML文档内容的有效性。
规范的XML文件不一定是有效的;有效的一定是规范的。
1、 DTD声明
1) DTD声明可以在单独的一个文件中
2) DTD声明可以内嵌在XML文件中
3) DTD声明可以一部分在单独的文件中,另一部分内嵌在XML文件中
2、 引入外部DTD文件
<!DOCTYPE data SYSTEM "Client.dtd">
Data:根节点名称
Client.dtd:dtd文件路径
3、 DTD四种标记声明
元素(ELEMENT)、属性(ATTLIST)、实体(ENTITY)、符号(NOTATION)
1) 元素(ELEMENT) XML元素类型声明
声明元素: <!ELEMENT elementName (contentModel)>
元素的内容通过内容模式来描述。
DTD 内容模式的种类有:
EMPTY 元素不能包含任何数据,但可以有属性(前提是必须声明其属性)。
不能有子元素。不能有文本数据(包括空白,换行符)。
DTD中定义: <!ELEMENT elementName EMPTY>
XML中:<elementName/>(推荐) 或者:<elementName></elementName>
(#PCDATA) 规定元素只包含已析的字符数据,而不包含任何类型的子元素的内容类型。
DTD中定义: <!ELEMENT student (#PCDATA)>
XML中合法内容: <student>watching TV</student>