×
XML Schema 教程XML Schemas 简介为什么使用 Schema?如何使用 XML SchemaSchema 元素XSD 简易元素Schema 属性Schema 限定 / FacetsSchema 复合元素Schema 复合空元素Schema 复合类型 - 仅含元素Schema 复合元素 - 仅含文本Schema 复合类型 - 混合内容Schema 指示器Schema any 元素anyAttribute 元素Schema 元素替换XML Schema 实例Schema 字符串数据类型Schema 日期/时间类型Schema 数值数据类型Schema 杂项数据类型XML 编辑器XML Schema 总结XML Schema 参考手册

XML Schema 复合类型 – 混合内容


混合的复合类型可包含属性、元素以及文本。


带有混合内容的复合类型

XML 元素,"letter",含有文本以及其他元素:

<letter>
  Dear Mr.<name>John Smith</name>.
  Your order <orderid>1032</orderid>
  will be shipped on <shipdate>2001-07-13</shipdate>.
</letter>

下面这个 schema 声明了这个 "letter" 元素:

<xs:element name="letter">
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="orderid" type="xs:positiveInteger"/>
      <xs:element name="shipdate" type="xs:date"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

注意: 为了使字符数据可以出现在 "letter" 的子元素之间,mixed 属性必须被设置为 "true"。<xs:sequence> 标签 (name、orderid 以及 shipdate ) 意味着被定义的元素必须依次出现在 "letter" 元素内部。

我们也可以为 complexType 元素起一个名字,并让 "letter" 元素的 type 属性引用 complexType 的这个名称(通过这个方法,若干元素均可引用同一个复合类型):

<xs:element name="letter" type="lettertype"/>

<xs:complexType name="lettertype" mixed="true">
  <xs:sequence>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="orderid" type="xs:positiveInteger"/>
    <xs:element name="shipdate" type="xs:date"/>
  </xs:sequence>
</xs:complexType>

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)