XML Schema schema要素
定義と用法
schema要素はschemaの根要素を定義します。
要素情報
出現回数 | 一度 |
親要素 | (無親要素) |
内容 | include、import、annotation、redefine、attribute、attributeGroup、element、group、notation、simpleType、complexType |
文法
<schema id=ID attributeFormDefault=qualified|unqualified elementFormDefault=qualified|unqualified blockDefault=(#all|list of (extension|restriction|substitution)) finalDefault=(#all|list of (extension|restriction|list|union)) targetNamespace=anyURI version=token xmlns=anyURI 任意の属性 > ((include|import|redefine|annotation)*,(((simpleType|complexType| group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
属性
id
選択可能です。この要素のユニークな ID を定義します。
attributeFormDefault
この schema の目標ネームスペース内で宣言された属性の形式を選択可能です。この値は次の文字列のいずれかでなければなりません:"qualified" または "unqualified"。デフォルト値は "unqualified" です。
- "unqualified" は、目標ネームスペースの属性がネームスペースプレフィックスを指定する必要がないことを示します。
- "qualified" は、目標ネームスペースの属性がネームスペースプレフィックスを指定して限定される必要があることを示します。
elementFormDefault
この schema の目標ネームスペース内で宣言された要素の形式を選択可能です。この値は次の文字列のいずれかでなければなりません:"qualified" または "unqualified"。デフォルト値は "unqualified" です。
- "unqualified" は、目標ネームスペースの要素がネームスペースプレフィックスを指定する必要がないことを示します。
- "qualified" は、目標ネームスペースの要素がネームスペースプレフィックスを指定して限定される必要があることを示します。
blockDefault
選択可能です。目標ネームスペース内の element と complexType 要素上の block 属性のデフォルト値を定義します。block 属性は、指定された派生タイプを持つ複雑なタイプ(または要素)が、継承された複雑なタイプ(または要素)に代わり使用されることを防ぎます。この値には #all またはリストを含むことができます。リストは extension、restriction、または substitution のサブセットです:
- extension - この複雑なタイプを代替するために使用される拡張による派生複雑なタイプを防ぎます。
- restriction - この複雑なタイプを代替するために使用される制限による派生複雑なタイプを防ぎます。
- substitution - 要素の置き換えを防ぎます。
- #all - この複雑なタイプを代替するために使用されるすべての派生複雑なタイプを防ぎます。
finalDefault
選択可能です。このアーキテクチャの目標ネームスペース内の element、simpleType、および complexType 要素の final 属性のデフォルト値を定義します。final 属性は、element、simpleType、または complexType 要素の指定された派生タイプを防ぎます。element または complexType 要素の場合、この値には #all またはリストを含むことができます。リストは extension または restriction のサブセットです。simpleType 要素の場合、この値には list または union を含むことができます:
- extension - デフォルトでは、このschema内の要素は拡張による派生することもできません。elementおよびcomplexType要素にのみ適用されます。
- restriction - 限定による派生を防ぎます。
- list - リストによる派生を防ぎます。simpleType要素にのみ適用されます。
- union - 联合による派生を防ぎます。simpleType要素にのみ適用されます。
- #all - デフォルトでは、このschema内の要素はどの方法で派生することもできません。
targetNamespace
このschemaのナームスペースのURI参照です。ナームスペースのプレフィックスを割り当てることもできます。プレフィックスが割り当てられていない場合、そのナームスペースのschemaコンポーネントは制限されていない参照と一緒に使用できます。
version
オプション。schemaのバージョンを指定します。
xmlns
このschemaで使用される1つまたは複数のナームスペースURI参照を指定します。プレフィックスが割り当てられていない場合、そのナームスペースのschemaコンポーネントは制限されていない参照と一緒に使用できます。
任意の属性
オプション。non-schema ナームスペースを持つ他の属性を指定します。
例
例1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
例2
この例では、http://www.w3.org/2001/XMLSchema ナームスペース内の schema コンポーネント(element name, type)は制限されていませんが、http://www.codew3c.com/codew3cschema(mystring)は wsc プレフィックスで制限されています:
<?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"} xmlns:wsc="http://www.codew3c.com/codew3cschema" <element name="fname" type="wsc:mystring"/> </schema>