zoukankan      html  css  js  c++  java
  • XSD标准架构-----<xsd:element> 元素详解

    声明一个元素。

     
     
    <element
      abstract = Boolean : false
      block = (#all | List of (extension | restriction | substitution))
      default = string
      final = (#all | List of (extension | restriction))
      fixed = string
      form = (qualified | unqualified)
      id = ID
      maxOccurs = (nonNegativeInteger | unbounded) : 1
      minOccurs = nonNegativeInteger : 1
      name = NCName
      nillable = Boolean : false
      ref = QName
      substitutionGroup = QName
      type = QName
      {any attributes with non-schema Namespace}...>
    Content: (annotation?, ((simpleType | complexType)?, (unique | key | 
    keyref)*))
    </element>
    
    属性
     
     
    abstract

    一个指示符,指示元素是否可以在实例文档中使用。如果该值为 true,则元素不能出现在实例文档中。而 substitutionGroup 属性包含该元素的限定名 (QName) 的其他元素必须出现在该元素的位置。多个元素可以在其 substitutionGroup 属性中引用该元素。

    默认值为 false。

    可选项。

    block

    派生的类型。block 属性防止具有指定派生类型的元素被用于替代该元素。该值可以包含 #all 或者一个列表,该列表是 extension、restriction 或 substitution 的子集。

     

    extension

    防止通过扩展派生的元素被用来替代该元素。

    restriction

    防止通过限制派生的元素被用来替代该元素。

    substitution

    防止通过替换派生的元素被用来替代该元素。

    #all

    防止所有派生的元素被用来替代该元素。

    可选项。

    default

    如果元素内容是简单类型或者元素内容是 textOnly,则为元素的默认值。

    fixed 和 default 属性相互排斥。

    如果元素包含简单类型,则该值必须是该类型的有效值。

    可选项。

    substitutionGroup

    可用来替代该元素的元素的名称。该元素必须具有相同的类型或从指定元素类型派生的类型。

    如果引用的元素是在全局级别声明的(父元素是 schema 元素),则可以在任何元素上使用该属性。

    该值必须是 QName。

    可选项。

    final

    派生的类型。final 属性在 element 元素上设置 final 属性的默认值。该值可以包含 #all 或者一个列表,该列表是 extension 或 restriction 的子集。

     

    extension

    防止通过扩展派生的元素被用来替代该元素。

    restriction

    防止通过限制派生的元素被用来替代该元素。

    #all

    防止所有派生的元素被用来替代该元素。

    如果包含元素不是 schema 元素,则会被禁止。

    可选项。

    fixed

    如果元素的内容是简单类型或其内容是 textOnly,则为该元素的预确定的、不可更改的值。

    fixed 和 default 属性相互排斥。

    可选项。

    form

    该元素的形式。默认值是包含该属性的 schema 元素的 elementFormDefault 属性的值。该值必须是下列字符串之一:“qualified”或“unqualified”。

    如果该值是非限定的,则无须通过命名空间前缀限定该元素。

    如果该值是限定的,则必须通过命名空间前缀限定该元素。

    可选项。

    id

    该元素的 ID。id 值必须属于类型 ID 并且在包含该元素的文档中是唯一的。

    可选项。

    maxOccurs

    该元素可以在包含元素中出现的最大次数。该值可以是大于或等于零的整数。若不想对最大次数设置任何限制,请使用字符串“unbounded”。

    如果包含元素为 schema 元素,则会被禁止。

    可选项。

    minOccurs

    该元素可以在包含元素中出现的最小次数。该值可以是大于或等于零的整数。若要指定该元素是可选的,请将此属性设置为零。

    如果包含元素为 schema 元素,则会被禁止。

    可选项。

    name

    元素的名称。该名称必须是在 XML 命名空间规范中定义的无冒号名称 (NCName)。Name 和 ref 属性不能同时出现。

    如果包含元素是 schema 元素,则是必选项。

    可选项。

    nillable

    一个指示符,指示是否可以将显式的零值分配给该元素。此项应用于元素内容并且不是该元素的属性。默认值为 false。

    如果 nillable 为 true,将使该元素的实例可以将 nil 属性设置为 true。nil 属性被定义为实例的 XML 架构命名空间的一部分。

    例如,下段定义了单个元素,同时将 nillable 设置为 true。

     
     
    <xs:element name="myDate" type="xs:date" nillable="true"/>
    

    下段使用该元素并具有显式零值(nil 属性设置为 true)。

     
     
    <myDate xsi:nil="true"></myDate>
    

    可选项。

    ref

    在此架构(或者由指定命名空间指示的其他架构)中声明的元素的名称。ref 值必须是 QName。ref 可以包含命名空间前缀。

    如果包含元素为 schema 元素,则会被禁止。

    如果 ref 属性出现,则 complexType、simpleType、key、keyref 和 unique 元素以及 nillable、default、fixed、form、block 和 type 属性不能出现。

     
     
    <xs:element ref="comment"/>
    

    可选项。

    type

    或者是内置数据类型的名称,或者是在此架构(或者由指定命名空间指示的其他架构)中定义的 simpleType 或 complexType 元素的名称。提供的值必须与引用的 simpleType 或 complexType 元素上的 name 属性相对应。

    type 和 ref 属性是互相排斥的。

    若要使用现有简单类型或复杂类型定义声明一个元素,请使用 type 属性指定现有类型。

     
     
    <xs:element name="name" type="xs:string"/>
    

    可选项。

     

    出现次数

    在架构中定义的元素的数目。

    父元素

    schemachoiceallsequence

    内容

    simpleTypecomplexTypekeykeyrefunique

    备注
     
    元素声明将名称与类型定义关联,类型定义可以是内置数据类型、简单类型或复杂类型。

    元素声明可以作为 schema 元素(具有全局范围)的子元素存在或在复杂类型定义内存在。在复杂类型内,元素声明可以作为本地声明或对具有全局范围的元素的引用存在。

    全局元素声明必须直接定义复杂类型。

    只有在 ref 和 type 属性均不存在时,simpleType 或 complexType 元素才可以作为子元素存在。

    此外,元素可以通过在 choice、all、sequence 和 complexType 元素内的引用出现。

    示例
     
    以下示例包含两个元素,这两个元素可以彼此替代。
     
    <xs:element name="cat" type="xs:string"/>
    <xs:element name="dog" type="xs:string"/>
    <xs:element name="redDog" type="xs:string"
        substitutionGroup="dog" />
    <xs:element name="brownDog" type="xs:string"
        substitutionGroup ="dog" />
    
    <xs:element name="pets">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="cat"/>
          <xs:element ref="dog"/>
        </xs:choice>
      </xs:complexType>
    </xs:element>
    
    
    有关更多信息,请参见 www.w3.org/TR/2001/REC-xmlschema-1-20010502/#element-all 上的“W3C XML Schema Part 1: Structures Recommendation”(英文)。
  • 相关阅读:
    [hdu4436 str2int]后缀自动机SAM(或后缀数组SA)
    bytedance专题
    LSTM+CRF维特比解码过程
    spark core类梳理
    spark源码阅读---Utils.getCallSite
    python2.7官方文档阅读笔记
    cs224d---词向量表示
    cs231n---强化学习
    cs231n---生成模型
    Spring 2017 Assignments3
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/5485893.html
Copyright © 2011-2022 走看看