XML Schema any 要素

定義と用法

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

この要素を使用して、スキーマが規定していない要素で XML 文書を拡張することが開発者により可能になります。

元素信息

项目 说明
出现次数 无限制
父元素 choice、sequence
内容 annotation

语法

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

(? 符号声明元素可在任何元素内出现零次或一次。)

属性

id

任意。この要素のユニークなIDを指定します。

maxOccurs

任意。any要素が親要素の中で表示される最大回数を指定します。この値は0以上の整数でなければなりません。最大回数に制限を設けたくない場合は、文字列"unbounded"を使用します。デフォルト値は1です。

minOccurs

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

namespace

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

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

processContents

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

  • ストリクト - XMLプロセッサは必要な命名空間のアーキテクチャを取得し、それらの命名空間からのすべての要素を検証する必要があります。(デフォルト)
  • ラクス - ストリクトと同じ;しかし、アーキテクチャを取得できない場合でもエラーは発生しません。
  • スキップ - XMLプロセッサは指定された命名空間からのすべての要素を検証しようとしません。

任意属性

任意。non-schema命名空間を持つ他の属性を指定します。

以下の例では、「person」要素の宣言を示しています。<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>