XMLスキーマ要素要素
定義と使用法
element要素は、要素を定義します。
要素情報
- 親エレメント:スキーマ、選択、すべて、シーケンス 、グループ
文法
id=ID
name=NCName
ref=QName
type=QName
substitutionGroup=QName
default=string
fixed=string
form=qualified|unqualified
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
nillable=true|false
abstract=true|false
block=(#all|list of (extension|restriction))
final=(#all|list of (extension|restriction))
any attributes
>
annotation?,(simpleType|complexType)?,(unique|key|keyref)*
</element>
(?サインインしてelement要素は、要素が0回または1回発生する可能性があることを宣言し、*記号は要素が0回以上発生する可能性があることを宣言します。)
属性 | 描述 |
---|---|
id | 可选。规定该元素的唯一的 ID。 |
name | 可选。规定元素的名称。如果父元素是 schema 元素,则此属性是必需的。 |
ref | 可选。对另一个元素的引用。ref 属性可包含一个命名空间前缀。如果父元素是 schema 元素,则不是使用该属性。 |
type | 可选。规定内建数据类型的名称,或者规定 simpleType 或 complexType 元素的名称。 |
substitutionGroup | 可选。规定可用来替代该元素的元素的名称。 该元素必须具有相同的类型或从指定元素类型派生的类型。 如果父元素不是 schema 元素,则不可以使用该属性。 |
default | 可选。为元素规定默认值(仅当元素内容是简单类型或 textOnly 时使用)。 |
fixed | 可选。为元素规定固定值(仅当元素内容是简单类型或 textOnly 时使用)。 |
form | 可选。该元素的形式。 默认值是包含该属性的 schema 元素的 elementFormDefault 属性的值。 该值必须是下列字符串之一: "qualified" 或 "unqualified"。 如果父元素是 schema 元素,则不能使用该属性。
|
maxOccurs | 可选。规定 element 元素在父元素中可出现的最大次数。该值可以是大于或等于零的整数。若不想对最大次数设置任何限制,请使用字符串 "unbounded"。 默认值为 1。 如果父元素是 schema 元素,则不能使用该属性。 |
minOccurs | 可选。规定 element 元素在父元素中可出现的最小次数。该值可以是大于或等于零的整数。默认值为 1。 如果父元素是 schema 元素,则不能使用该属性。 |
nillable | 可选。指示是否可以将显式的零值分配给该元素。此项应用于元素内容并且不是该元素的属性。 默认值为 false。
nillableながtrueの場合、それは要素のインスタンスがtrueに設定さゼロの属性とすることができるようになります。 パートnil属性は、XMLスキーマの名前空間のインスタンスとして定義されています。 |
抽象的な | オプション。 これは、要素がインスタンス文書で使用することができるかどうかを示します。 値がtrueの場合、要素がインスタンス文書に表示することはできません。 代わりに、のsubstitutionGroup属性は、要素の位置に表示されなければならない要素の他の要素の修飾名(QNameの)が含まれています。 いくつかの要素は、そののsubstitutionGroupプロパティで参照することができます。 デフォルト値はfalseです。 |
ブロック | オプション。 派生型。 派生型を防ぐために、指定された属性を持つブロック要素は、要素の代わりに使用されています。 この値は、#ALLまたは拡張子、制限または置換のサブセットであるリストを含めることができます。
|
ファイナル | オプション。 最後の要素要素のプロパティのデフォルト値を設定します。 親要素がschema要素でない場合は、このプロパティを使用することはできません。 この値は、#ALLまたは拡張または制限のサブセットであるリストを含めることができます。
|
任意の属性 | オプション。 これは、他の属性の非スキーマの名前空間を指定します。 |
例1
「fnameに "、" LNAME」、「年齢」と「dateborn」、タイプは文字列、NonNegativeIntegerの日付と次のとおりです。次の例では、4つの簡単な要素を持つスキーマ、次のとおりです。
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="fname" type="xs:string"/>
<xs:element name="lname" type="xs:string"/>
<xs:element name="age" type="xs:nonNegativeInteger"/>
<xs:element name="dateborn" type="xs:date"/>
</xs:schema>
例2
次の例では、要素を持つスキーマの複合タイプ「ノート」です。 「見出し」と「本文」、「に」、「から」:要素は4つの簡単な要素が含まれている「注意」:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
例3
この場合、実施例2と同様に、この場合には、我々は、要素名を参照するためにref属性を使用することにしました:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element ref="to"/>
<xs:element ref="from"/>
<xs:element ref="heading"/>
<xs:element ref="body"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:schema>
完全なXMLスキーマリファレンス