`
marb
  • 浏览: 422233 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

schema学习系列三: schema中的复杂元素

XML 
阅读更多

如何定义复合元素?

请看这个复合 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>																
 
分享到:
评论

相关推荐

    XML详解----Schema(精讲)

    * element元素:用于定义XML文档中的元素,例如greeting、customer等。 * complexType元素:用于定义复杂的数据类型,例如包含多个子元素的元素。 * sequence元素:用于定义子元素的出现顺序,例如name和address元素...

    XML Schema教程

    #### 五、学习 XML Schema 的前提条件 - **HTML/XHTML**:了解基本的 HTML 或 XHTML 结构对于理解 XML 和 XML Schema 有帮助。 - **XML 以及 XML 命名空间**:熟悉 XML 的基本概念和命名空间的使用。 - **DTD 的基本...

    XML基础实例 Schema

    3. **元素和类型**:在Schema中,可以定义元素的类型,如简单类型(仅包含文本)和复杂类型(包含子元素和属性)。简单类型可以基于内置的数据类型(如字符串、整数、浮点数)或者自定义数据类型。复杂类型允许定义...

    XMLschema快速入門

    通过 XML Schema,我们可以指定文档中的元素必须包含哪些内容,以及这些内容应遵循什么样的格式。这有助于确保 XML 文档的一致性和有效性。 对于初学者来说,理解 XML Schema 的基本概念和如何使用它来定义 XML ...

    XML学习 练习SCHEMA

    通过"XML学习 练习SCHEMA"的教程,你将深入理解这些概念,并通过实际操作掌握如何编写和应用XML SCHEMA。这将有助于你创建和维护结构清晰、符合规范的XML文档,提升数据的可靠性和互操作性。在进行练习时,可能会...

    根据xml schema生成xml

    XML Schema定义了一系列的元素(element)、属性(attribute)和数据类型(data type),这些元素和属性规定了XML文档的结构。例如,`&lt;element&gt;`定义了一个命名的XML节点,可以是文档中的一个节点或子节点;`...

    XML Schema

    - **全局元素和局部元素**:全局元素在Schema文档的顶层定义,而局部元素则在复杂类型的定义中定义。 - **引用元素**:通过`&lt;xs:element ref="..."/&gt;`引用其他Schema文档中定义的元素。 #### 三、XML Schema编写...

    Schema 中文教程

    例如,定义一个简单的元素: ```xml &lt;xs:element name="book"&gt; &lt;xs:simpleType&gt; &lt;xs:restriction base="xs:string"&gt; &lt;xs:minLength value="5"/&gt; &lt;/xs:restriction&gt; &lt;/xs:simpleType&gt; &lt;/xs:element&gt; ``` 这段...

    xml Schema学习

    4. **模式组件**:XML Schema由一系列模式组件构成,包括元素、属性、类型、组、键和引用等,这些组件可以组合创建复杂的结构。 5. **约束和验证**:通过XML Schema,我们可以设置元素数量、顺序、内容模型等方面的...

    WebService入门教程_Schema学习示例代码

    在实际开发中,Schema不仅限于基本类型,还可以定义复杂类型,包括嵌套元素、属性组合、枚举值等。这使得Schema具有强大的灵活性,可以满足各种复杂的业务需求。同时,Schema还支持继承和约束,允许我们复用和扩展已...

    XML Schema参考手册

    **XML Schema** 由一系列复杂的规则和语法构成,这些规则和语法共同作用于 **XML** 文档,确保其符合预定的标准。 **XML Schema** 的主要优势包括但不限于: - **可扩展性**:**XML Schema** 能够随着需求的变化而...

    自定义 Schema 解析 Spring Bean

    在实际开发过程中,可能会遇到一些挑战,比如处理复杂的依赖关系、确保自定义元素与Spring内置元素的兼容性,以及性能优化等。因此,开发者需要对Spring框架有深入的理解,才能充分利用自定义Schema解析的优势。 在...

    XMLSchema.chm

    2. **元素与属性**:XML Schema中的元素是文档的基本构建块,可以包含文本、其他元素或两者。属性则提供关于元素的附加信息,通常以键值对的形式存在。在Schema中,元素和属性都可以被定义为可选或必填,并可以设置...

    XML_Schema 教程 详细版

    ### XML Schema 教程知识点详解 #### 一、XML Schema 简介 XML Schema是一种用于描述XML文档结构的语言,被视为DTD(Document Type ...学习和掌握XML Schema对于处理复杂数据结构和促进数据交换有着不可估量的价值。

    spring framework schema

    7. **Tool Schema**: `tool` schema包含了一些辅助性的配置元素,如`classpath-scanner`,用于扫描类路径中的资源和类。 8. **JEE Schema**: `jee` schema提供了与Java企业版(Java EE)相关的集成,如EJB、JNDI...

    扩展Spring schema样例代码 maven

    在IT行业中,Spring框架是Java开发中的一个核心组件,它为...通过学习和分析这个项目,你可以加深对Spring框架的理解,提升项目开发能力,同时也能掌握Maven的项目管理技巧,为构建复杂的企业级应用打下坚实的基础。

    XML Schema初窥

    XML Schema提供了一系列内置数据类型,如字符串、整数、浮点数等,同时也允许定义自定义的复杂类型。复杂类型可以通过组合其他简单或复杂类型,添加属性,或者定义元素结构来创建。 **简单类型与复杂类型** 简单...

    SCHEMA 官方文档 官方例子

    在本文中,我们将深入探讨SCHEMA的相关知识点,包括其基本概念、作用以及如何通过官方文档和例子来学习。 1. **基本概念**:XML Schema是W3C(万维网联合会)推荐的一种XML文档的类型定义语言。与DTD(Document ...

    Schema文件初探(几个重要的元素和属性)

    这篇博客"Schema文件初探(几个重要的元素和属性)"可能深入探讨了Schema文件中的核心概念,尤其是那些对于理解和操作数据至关重要的元素和属性。 首先,Schema文件中的“元素”是数据模型的基本组成部分,它们可以...

    XML、DTD、Schema

    4. 命名空间支持:Schema支持命名空间,这对于大型复杂系统中避免元素名冲突至关重要,而DTD不支持。 5. 复杂性:DTD更适合简单的结构定义,而Schema则适用于更复杂的结构和数据验证。 了解和掌握XML、DTD和Schema...

Global site tag (gtag.js) - Google Analytics