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|リストの(拡張|制限|置換))
finalDefault=(#all|list of (extension|restriction|list|union))
targetNamespace=anyURI
version=token
xmlns=anyURI
any attributes
>
((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 コンポーネントは未制限の参照と一緒に使用できます。

any attributes

オプション。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>