XMLスキーマany要素

定義と用法

any要素を使用して、指定された名前空間の要素がsequenceやchoice要素内に表示できるようにします。

この要素を使用して、スキーマが規定していない要素でXMLドキュメントを拡張することができます。

要素情報

項目 説明
表示回数 無制限
親要素 choice、sequence
内容 annotation

文法

<any
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
namespace=namespace
processContents=lax|skip|strict
any attributes
>
(annotation?)
</any>

(?シンボルは、どの要素内でも0回または1回表示できます。)

属性

id

選択可能。この要素のユニークなIDを定義します。

maxOccurs

選択可能。親要素内でany要素が表示できる最大回数を定義します。この値は0以上の整数で、最大回数に制限を設けたくない場合は「unbounded」という文字列を使用してください。デフォルト値は1です。

minOccurs

オプション。any要素が親要素で表示される最小回数を指定します。この値は0以上の整数でなければなりません。anyグループをオプションにする場合は、この属性を0に設定してください。デフォルト値は1です。

namespace

オプション。使用できる要素を含む命名空間を指定します。命名空間が指定されていない場合、デフォルトは##anyです。指定された場合、以下の値のいずれかである必要があります:

  • ##any - 任意の命名空間からの要素が表示されます(デフォルト)。
  • ##other - 親要素のターゲット命名空間以外の任意の命名空間からの要素が表示されます。
  • ##local - 命名空間で指定されていない要素が表示されます。
  • ##targetNamespace - 親要素に含まれるこの要素のターゲット命名空間からの要素が表示されます。
  • {URI参照のリスト URI参照のリスト、##targetNamespace、##local} - 空白で区切られた命名空間リストからの要素が表示されます。このリストには以下の内容が含まれます:命名空間のURI参照##targetNamespace、##local。

processContents

オプション。any要素によって指定された要素に基づいて、アプリケーションまたはXML処理器がXMLドキュメントの検証を行う方法を指示する指標です。processContents属性が指定されていない場合、デフォルトはstrictです。指定された場合、以下の値のいずれかである必要があります:

  • strict - XML処理器は必要な命名空間のスキーマを取得し、それらの命名空间からのすべての要素を検証する必要があります。(デフォルト)
  • lax - strictと同じ;しかし、スキーマを取得できない場合でもエラーは発生しません。
  • skip - XML処理器は指定された命名空間からのすべての要素を検証しようとしません。

any attributes

オプション。非スキーマ命名空間を持つ他の属性を指定します。

以下の例では、「person」要素の1つの宣言を示しています。<any>要素を使用して、クリエイターは<lastname>の後に「person」の内容をどの要素でも拡張することができます:

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
      <xs:any minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>