XML DTD详细教程
XML DTD,全称为Document Type Definition,是一种用于定义XML文档结构的语言规范,它规定了XML文档的合法元素、属性和这些元素之间的关系。DTD的主要作用是确保XML文档遵循一定的规则,保证数据的一致性和完整性,使得不同系统之间能有效地交换和处理数据。 ### DTD的声明 XML文档中的DTD声明有两种方式:内部声明和外部声明。 1. **内部声明**:当DTD包含在XML文档内部时,使用`<!DOCTYPE>`声明,后跟根元素的名字和元素声明的集合。例如: ```xml <?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> ... </note> ``` 在这个例子中,`note`是根元素,它的子元素依次是`to`、`from`、`heading`和`body`,且它们都包含`#PCDATA`(Parsed Character Data),即可以包含任何非标记的字符数据。 2. **外部声明**:如果DTD位于XML文档外部,`<!DOCTYPE>`声明中会包含一个SYSTEM关键字和DTD文件的URL。例如: ```xml <?xml version="1.0"?> <!DOCTYPE note SYSTEM "note.dtd"> <note> ... </note> ``` 在外部DTD文件`note.dtd`中,会有与内部声明相同的元素定义。 ### DTD中的元素声明 元素声明定义了元素的结构和内容。`<!ELEMENT>`指令用于声明元素,例如: ```xml <!ELEMENT note (to,from,heading,body)> ``` 这条声明表示`note`元素包含`to`、`from`、`heading`和`body`这四个子元素。 ### DTD中的数据类型 - `#PCDATA`:解析的字符数据,允许任何非标记的字符。 - `CDATA`:未解析的字符数据,用于包含不能被解析器解释的特殊字符序列。 - `EMPTY`:表示元素不包含任何内容。 - 其他数据类型如`ID`、`IDREF`、`NOTATION`等,用于指定元素的特定属性。 ### DTD的用途 1. **数据一致性**:通过DTD,XML文档必须遵循预定义的结构,确保数据的一致性。 2. **数据交换**:不同的系统可以共享同一个DTD,方便数据的交换和理解。 3. **数据验证**:应用程序可以使用DTD来验证接收到的XML数据是否符合规范,确保数据的正确性。 ### XML的构建模块 - **元素(Element)**:XML文档的核心,如`<note>`、`<message>`,可以包含文本、其他元素或为空。 - **属性(Attribute)**:提供元素的附加信息,如`<img src="computer.gif" />`的`src`属性。 - **实体(Entity)**:用于存储重复或复杂的文本,可以是字符、数字或整个文档。 - **PCDATA(Parsed Character Data)**:解析的字符数据,包含在元素内容中。 - **CDATA(Character Data)**:未解析的字符数据,避免解析器对其中的特殊字符进行解释。 总结来说,XML DTD是XML文档结构的重要规范,通过定义元素、属性和其他构建模块,确保了XML数据的有效组织和验证,是XML数据交换和处理的基础。学习和掌握DTD有助于创建和维护高质量的XML文档。
剩余12页未读,继续阅读
- 南京理工大学2014-10-25资料很适合初学者,谢谢分享。
- 粉丝: 58
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助