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>