XMLスキーマ要素要素
❮完全なXMLスキーマリファレンス
定義と使用法
element要素は要素を定義します。
要素情報
- 親要素:スキーマ、選択、すべて、シーケンス、グループ
構文
<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>
(?記号は、要素が0回または1回発生する可能性があることを宣言し、*記号は、要素が要素要素内で0回以上発生する可能性があることを宣言します)
Attribute | Description |
---|---|
id | Optional. Specifies a unique ID for the element |
name | Optional. Specifies a name for the element. This attribute is required if the parent element is the schema element |
ref | Optional. Refers to the name of another element. The ref attribute can include a namespace prefix. This attribute cannot be used if the parent element is the schema element |
type | Optional. Specifies either the name of a built-in data type, or the name of a simpleType or complexType element |
substitutionGroup | Optional. Specifies the name of an element that can be substituted with this element. This attribute cannot be used if the parent element is not the schema element |
default | Optional. Specifies a default value for the element (can only be used if the element's content is a simple type or text only) |
fixed | Optional. Specifies a fixed value for the element (can only be used if the element's content is a simple type or text only) |
form | Optional. Specifies the form for the element. "unqualified" indicates that this element is not required to be qualified with the namespace prefix. "qualified" indicates that this element must be qualified with the namespace prefix. The default value is the value of the elementFormDefault attribute of the schema element. This attribute cannot be used if the parent element is the schema element |
maxOccurs | Optional. Specifies the maximum number of times this element can occur in the parent element. The value can be any number >= 0, or if you want to set no limit on the maximum number, use the value "unbounded". Default value is 1. This attribute cannot be used if the parent element is the schema element |
minOccurs | Optional. Specifies the minimum number of times this element can occur in the parent element. The value can be any number >= 0. Default value is 1. This attribute cannot be used if the parent element is the schema element |
nillable | Optional. Specifies whether an explicit null value can be assigned to the element. True enables an instance of the element to have the null attribute set to true. The null attribute is defined as part of the XML Schema namespace for instances. Default is false |
abstract | Optional. Specifies whether the element can be used in an instance document. True indicates that the element cannot appear in the instance document. Instead, another element whose substitutionGroup attribute contains the qualified name (QName) of this element must appear in this element's place. Default is false |
block | Optional. Prevents an element with a specified type
of derivation from being used in place of this element. This value can
contain #all or a list that is a subset of extension, restriction, or
equivClass:
|
final | Optional. Sets the default value of the final attribute on
the element element. This attribute cannot be used if the parent
element is not the schema element. This value can contain #all or a list
that is a subset of extension or restriction:
|
any attributes | Optional. Specifies any other attributes with non-schema namespace |
例1
次の例は、「fname」、「lname」、「age」、および「dateborn」という名前の4つの単純な要素を持つスキーマです。これらの要素は、string型、nonNegativeInteger型、およびdate型です。
<?xml version="1.0"?>
<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
次の例は、複合型の「note」という名前の要素を持つスキーマです。「note」要素には、他に4つの単純な要素が含まれています。「to」、「from」、「heading」、および「body」:
<?xml version="1.0"?>
<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属性を使用して要素名を参照することを選択しました。
<?xml version="1.0"?>
<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スキーマリファレンス