XML Schema支持继承机制,如在一个xml文档里,既有student元素也有teacher元素,如下:
xml 代码
- <student>
- <name>Chris</name>
- <NO>0312893</NO>
- <major>Software Engineering</major>
- </student>
- <teacher>
- <name>Daneil</name>
- <teach-course>Object-oriented Programming</teach-course>
- </teacher>
但是他们有一个共同的子元素name,我们如何将其抽象出来放到一个共同的父类中呢?这时我们就可以利用XML Schema的继承机制来实现。我们先定义一个类型Person:
xml 代码
- <complexType name="Person" abstract="true">
- <sequence>
- <element name="name" type="string"/>
- </sequence>
- </complexType>
abstract=”true”表示这是一个抽象类型,通过如下定义即可实现继承Person
xml 代码
- <complexType name="Student">
- <extension base="Person">
- <sequence>
- <element name="NO" type="string"/>
- <element name="major" type="string"/>
- </sequence>
- </extension>
- </complexType>
- <complexType name="Teacher">
- <extension base="Teacher">
- <sequence>
- <element name="teach-course" type="string'/>
- </sequence>
- </extension>
- </complexType>
这样Student和Teacher就自动具有了name元素。下面我们只需
xml 代码
- <element name="student" type="Student"/>
- <element name="teacher" type="Teacher"/>
将元素和他们对应的类型绑定即可,类似于面向对象语言中的实例化。注意:由于Person类型是一个抽象类型,是不可以实例化的,这点和面向对象语言也十分相似。
相关推荐
- **XML Schema 与 DTD 的区别**:XML Schema 被认为是 Document Type Definition (DTD) 的继承者。与 DTD 相比,XML Schema 提供了更多的灵活性和功能,包括但不限于: - 支持数据类型定义。 - 基于 XML 编写,更...
5. **引用和继承**:可以通过引用已定义的元素和属性,以及通过扩展和限制已有类型,实现XML文档结构的复用和继承。 6. **文档注释**:XML Schema允许添加注释,帮助理解和维护定义的结构。 在实际应用中,XML ...
### XML Schema作为DTD的继承者 随着技术的发展,XML Schema正逐渐取代DTD成为Web应用中的首选方案。以下是XML Schema相较于DTD的优势所在: - XML Schema支持未来扩展。 - XML Schema比DTD更丰富且实用。 - XML ...
XML Schema可以直接使用XML工具处理,无需额外学习新的语法,同时也继承了XML的自描述性和可扩展性。这种一致性还使得XML Schema能够与被描述的XML文档一起存储,便于管理和模式交换。此外,XML Schema的合法性验证...
- 可扩展性:XML Schema可以通过继承和组合创建自定义数据类型,也可以引用和组合多个Schema。 - 可解析性:因为是XML格式,可以使用XML解析器处理,与XML生态系统的其他部分无缝集成。 - 名称空间支持:避免命名...
XML Schema 内置类型详解 XML Schema 内置类型是 XML 文档中使用的基本数据类型,它们可以分为基础类型和派生类型两类。基础类型是解析系统直接支持的原始类型,而派生类型是对基础类型或其他内置派生类型加以限制...
7. **继承与重用**:XML Schema支持类型继承,一个类型可以从另一个类型派生,简化了模式设计。同时,可以通过引用(import)机制来重用已定义的模式部分。 8. **混合内容模型**:允许元素既包含文本内容又包含子...
XML Schema是XML(eXtensible Markup Language)的一个重要组成部分,它定义了一种规范,用于描述XML文档的结构和数据类型。W3C(World Wide Web Consortium)是XML Schema的官方标准制定机构,确保其兼容性和互操作...
* 数据类型的标准位于 w3.org/TR/xmlschema-2,它定义了一些常用数据类型以及创建新类型的规则 XML Schema 的软件以及工具支持情况: * Apache 的 Xerces XML 解析器 * XML Spy 的支持情况 * 其他软件实现,包括将...
在模式文档中,根元素`<xsd:schema>`会声明`xsd`名称空间,指向`http://www.w3.org/2001/XMLSchema`,这样就限定了所有XML Schema元素和属性的使用。在实例文档中,通过`xmlns:xsi`声明`xsi`名称空间并使用`xsi:...
><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="CheckTime" type="xs:time"/></xs:schema>A、<CheckTime>10:30:00 AM</CheckTime>B、<CheckTime>10:30:00</CheckTime>C、<CheckTime>10...
语义Web的层次结构中,XML Schema、RDF Schema和DAML是三种重要的语言,它们各有特点,共同构建了语义Web的基础。 XML Schema是用于定义XML文档结构的语言,它能够描述XML文档中元素和属性的类型、数量和关系,从而...
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="xsd 文件的路径"> <!-- XML 内容 --> ``` XML Schema元素是XML Schema文档的核心,它是所有其他定义元素的容器。例如,`<xs:...
3. **重用机制**:通过引用和继承机制,XML Schema 支持类型的重用,减少了重复定义,提高了效率和一致性。 4. **约束定义**:提供了更精细的约束定义能力,如唯一性约束、范围约束等,确保了数据的完整性和正确性。...
### W3C XML Schema 模式的设计方法研究 #### 引言 W3C XML Schema是一种用于描述XML文档结构和内容的模式语言,由万维网联盟(World Wide Web Consortium,W3C)制定,旨在提供一个标准化的方法来定义XML文档的...
SCHEMA是XML的一个重要组成部分,它为XML文档提供了结构化约束和验证的机制,确保XML数据的准确性和一致性。 XML SCHEMA定义了XML文档的结构规则,类似于HTML中的DTD(Document Type Definition),但提供了更强大...
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3schools.com note.xsd"> <to>Tove <from>Jani <heading>Reminder <body>Don't forget me this weekend! ``` XSD...
`substitutionGroup`属性允许一个元素替换另一个元素,提供了一种元素间继承的概念,增强了XML文档的灵活性。 在含子元素和孙元素的Schema文档示例中,我们看到`<address>`元素被定义为复杂类型,其内部包含了子...