大学信息XML属性表示与DTD示例
需积分: 0 76 浏览量
更新于2024-08-05
收藏 494KB PDF 举报
在本章第23节的实践习题1中,我们探讨了如何利用XML(eXtensible Markup Language)来表示与图23.1中相同的大学信息,但这次是通过使用属性而非子元素来实现数据组织。这种替代的XML表示方式允许我们在不增加嵌套层级的情况下存储数据,提高了数据的简洁性和可读性。
在新的XML结构中(如图23.100所示),每个元素包含了它所代表的对象的关键信息作为属性。例如,部门信息不再以`<department>`元素包含子元素,而是通过`<department deptname="Comp.Sci." building="Taylor" budget="100000">`这样的形式,将名称、建筑和预算作为单独的属性附着在元素上。课程和教师信息也采用了类似的模式。
对于XML文档类型定义(DTD)或XML Schema(一种用于验证XML文档结构的规范),习题要求提供一个适用于这个新结构的规范。根据提供的部分内容,我们可以推测DTD可能会像这样:
```xml
<!ELEMENT university (department+, course+, instructor+, teaches*)>
<!ELEMENT department EMPTY>
<!ATTLIST department deptname CDATA #REQUIRED
building CDATA #REQUIRED
budget CDATA #REQUIRED>
<!ELEMENT course EMPTY>
<!ATTLIST course courseid CDATA #REQUIRED
title CDATA #REQUIRED
deptname CDATA #REQUIRED
credits CDATA #REQUIRED>
<!ELEMENT instructor EMPTY>
<!ATTLIST instructor IID CDATA #REQUIRED
name CDATA #REQUIRED
deptname CDATA #REQUIRED
salary CDATA #REQUIRED>
<!ELEMENT teaches EMPTY>
<!ATTLIST teaches IID CDATA #REQUIRED
courseid CDATA #REQUIRED>
<!-- 更多DTD规则可以补充,如属性值的数据类型限制等 -->
```
这个DTD定义了各个元素的结构和它们允许的属性。通过这种方式,XML文档可以更有效地表达大学信息,并且可以通过DTD或XML Schema进行有效的验证,确保数据的正确性和一致性。
总结来说,本实践习题挑战读者理解XML属性的应用,以及如何设计DTD或XML Schema来适应这种基于属性的表示方式。这有助于提高对XML文档结构的理解,特别是当处理大型、复杂数据集时,选择正确的数据模型至关重要。
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传