如何定义复合元素?
请看这个复合 XML 元素,"employee",仅包含其他元素:
<employee>
<firstname>John</firstname>
<lastname>Smith</lastname>
</employee>
在 XML Schema 中,我们有两种方式来定义复合元素:
1. 通过命名此元素,可直接对"employee"元素进行声明,就像这样:
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
假如您使用上面所描述的方法,那么仅有 "employee" 可使用所规定的复合类型。请注意其子元素,"firstname" 以及 "lastname",被包围在指示器 <sequence>中。这意味着子元素必须以它们被声明的次序出现。您会在 XSD 指示器
这一节学习更多有关指示器的知识。
2. "employee" 元素可以使用 type 属性,这个属性的作用是引用要使用的复合类型的名称:
<xs:element name="employee" type="personinfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
如果您使用了上面所描述的方法,那么若干元素均可以使用相同的复合类型,比如这样:
<xs:element name="employee" type="personinfo"/>
<xs:element name="student" type="personinfo"/>
<xs:element name="member" type="personinfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
您也可以在已有的复合元素之上以某个复合元素为基础,然后添加一些元素,就像这样:
<xs:element name="employee" type="fullpersoninfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="fullpersoninfo">
<xs:complexContent>
<xs:extension base="personinfo">
<xs:sequence>
<xs:element name="address" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
分享到:
相关推荐
* element元素:用于定义XML文档中的元素,例如greeting、customer等。 * complexType元素:用于定义复杂的数据类型,例如包含多个子元素的元素。 * sequence元素:用于定义子元素的出现顺序,例如name和address元素...
#### 五、学习 XML Schema 的前提条件 - **HTML/XHTML**:了解基本的 HTML 或 XHTML 结构对于理解 XML 和 XML Schema 有帮助。 - **XML 以及 XML 命名空间**:熟悉 XML 的基本概念和命名空间的使用。 - **DTD 的基本...
3. **元素和类型**:在Schema中,可以定义元素的类型,如简单类型(仅包含文本)和复杂类型(包含子元素和属性)。简单类型可以基于内置的数据类型(如字符串、整数、浮点数)或者自定义数据类型。复杂类型允许定义...
通过 XML Schema,我们可以指定文档中的元素必须包含哪些内容,以及这些内容应遵循什么样的格式。这有助于确保 XML 文档的一致性和有效性。 对于初学者来说,理解 XML Schema 的基本概念和如何使用它来定义 XML ...
通过"XML学习 练习SCHEMA"的教程,你将深入理解这些概念,并通过实际操作掌握如何编写和应用XML SCHEMA。这将有助于你创建和维护结构清晰、符合规范的XML文档,提升数据的可靠性和互操作性。在进行练习时,可能会...
XML Schema定义了一系列的元素(element)、属性(attribute)和数据类型(data type),这些元素和属性规定了XML文档的结构。例如,`<element>`定义了一个命名的XML节点,可以是文档中的一个节点或子节点;`...
- **全局元素和局部元素**:全局元素在Schema文档的顶层定义,而局部元素则在复杂类型的定义中定义。 - **引用元素**:通过`<xs:element ref="..."/>`引用其他Schema文档中定义的元素。 #### 三、XML Schema编写...
例如,定义一个简单的元素: ```xml <xs:element name="book"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="5"/> </xs:restriction> </xs:simpleType> </xs:element> ``` 这段...
4. **模式组件**:XML Schema由一系列模式组件构成,包括元素、属性、类型、组、键和引用等,这些组件可以组合创建复杂的结构。 5. **约束和验证**:通过XML Schema,我们可以设置元素数量、顺序、内容模型等方面的...
在实际开发中,Schema不仅限于基本类型,还可以定义复杂类型,包括嵌套元素、属性组合、枚举值等。这使得Schema具有强大的灵活性,可以满足各种复杂的业务需求。同时,Schema还支持继承和约束,允许我们复用和扩展已...
**XML Schema** 由一系列复杂的规则和语法构成,这些规则和语法共同作用于 **XML** 文档,确保其符合预定的标准。 **XML Schema** 的主要优势包括但不限于: - **可扩展性**:**XML Schema** 能够随着需求的变化而...
在实际开发过程中,可能会遇到一些挑战,比如处理复杂的依赖关系、确保自定义元素与Spring内置元素的兼容性,以及性能优化等。因此,开发者需要对Spring框架有深入的理解,才能充分利用自定义Schema解析的优势。 在...
2. **元素与属性**:XML Schema中的元素是文档的基本构建块,可以包含文本、其他元素或两者。属性则提供关于元素的附加信息,通常以键值对的形式存在。在Schema中,元素和属性都可以被定义为可选或必填,并可以设置...
### XML Schema 教程知识点详解 #### 一、XML Schema 简介 XML Schema是一种用于描述XML文档结构的语言,被视为DTD(Document Type ...学习和掌握XML Schema对于处理复杂数据结构和促进数据交换有着不可估量的价值。
7. **Tool Schema**: `tool` schema包含了一些辅助性的配置元素,如`classpath-scanner`,用于扫描类路径中的资源和类。 8. **JEE Schema**: `jee` schema提供了与Java企业版(Java EE)相关的集成,如EJB、JNDI...
在IT行业中,Spring框架是Java开发中的一个核心组件,它为...通过学习和分析这个项目,你可以加深对Spring框架的理解,提升项目开发能力,同时也能掌握Maven的项目管理技巧,为构建复杂的企业级应用打下坚实的基础。
XML Schema提供了一系列内置数据类型,如字符串、整数、浮点数等,同时也允许定义自定义的复杂类型。复杂类型可以通过组合其他简单或复杂类型,添加属性,或者定义元素结构来创建。 **简单类型与复杂类型** 简单...
在本文中,我们将深入探讨SCHEMA的相关知识点,包括其基本概念、作用以及如何通过官方文档和例子来学习。 1. **基本概念**:XML Schema是W3C(万维网联合会)推荐的一种XML文档的类型定义语言。与DTD(Document ...
这篇博客"Schema文件初探(几个重要的元素和属性)"可能深入探讨了Schema文件中的核心概念,尤其是那些对于理解和操作数据至关重要的元素和属性。 首先,Schema文件中的“元素”是数据模型的基本组成部分,它们可以...
4. 命名空间支持:Schema支持命名空间,这对于大型复杂系统中避免元素名冲突至关重要,而DTD不支持。 5. 复杂性:DTD更适合简单的结构定义,而Schema则适用于更复杂的结构和数据验证。 了解和掌握XML、DTD和Schema...