大学信息XML属性表示与DTD示例

需积分: 0 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文档结构的理解,特别是当处理大型、复杂数据集时,选择正确的数据模型至关重要。