サイドバーの壁紙
博主头像
tin博主等级

子の曰わく、我れ三人行なえば必ず我が師を得(う)。其の善き者を択びてこれに従う。其の善からざる者にしてこれを改む。

  • 累積執筆 72 記事
  • 累計作成 32 タグ
  • 累計受入 2 コメント

目 次CONTENT

記事目次

xsdファイル中のminOccurs、maxOccurs、nillable

tin
tin
2024-05-24 / 0 コメント / 0 いいね! / 315 読み / 1,146 文字

1. minOccurs

minOccursは、XML Schema(XSD)で使用される属性で、要素の最小出現頻度について指定します。

1-1 minOccurs=“0”

minOccurs="0"と指定すると、その要素が存在しなくても構いません。つまり、その要素はオプションであり、XMLドキュメントに含まれていない場合も有効です。

例:

<xs:element name="exampleElement" type="xs:string" minOccurs="0"/>

この場合、exampleElementは0回以上出現する可能性があり、出現しないことも許容されます。

1-2 minOccurs宣言しない

minOccursが指定されていない場合、デフォルトで1回出現する。
つまり、その要素は必ず1回出現しなければなりません。

2. maxOccurs

minOccursは、XML Schema(XSD)で使用される属性で、要素の最大出現頻度について指定します。
minOccursは明示的に宣言されていない場合、そのデフォルト値は1です。つまり、その要素は最大1回しか出現できないことになります。

2-1 宣言しない

次のような要素定義があるとします:

<xs:element name="exampleElement" type="xs:string" minOccurs="0"/>

この場合、maxOccursが宣言されていないため、暗黙のうちにmaxOccurs="1"と同じ意味になります。したがって、exampleElementは以下の2つの状態を取ることができます:

・要素が存在しない(minOccurs="0"のため)
・要素が存在し、1回だけ出現する(maxOccursが指定されていないためデフォルトで1)

2-2 明示的な宣言

もし、maxOccursを2回以上に設定したい場合は、明示的に宣言する必要があります。

<xs:element name="exampleElement" type="xs:string" minOccurs="0" maxOccurs="3"/>

この場合、exampleElementは0回から3回まで出現することができます。

2-3 無制限の指定

無制限の回数で要素が出現することを許可したい場合は、maxOccursを"unbounded"に設定します:

<xs:element name="exampleElement" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

この場合、exampleElementは0回以上、無制限に出現することができます。

2-4 まとめ

・maxOccursが指定されていない場合、デフォルトで1回出現する。
・maxOccursを明示的に指定することで、要素の最大出現回数を設定できる。
・maxOccurs="unbounded"を使用すると、無制限の出現回数を許可できる。

3. nillable=“true”

nillable="true"は、値の許容について指定します。
nillable=“true”
nillable属性は、要素の値としてnil(NULL)を許容するかどうかを指定します。nillable="true"と指定すると、その要素は空の要素としてxsi:nil="true"属性を持つことができます。これは、データベースなどでNULL値を表現するために使用されます。

例:

<xs:element name="exampleElement" type="xs:string" nillable="true"/>

この場合、exampleElementは次のようにnilとして示すことができます:

<exampleElement xsi:nil="true"/>

4. minOccurs="0"とnillable="true"組み合わせの例

両方の属性を組み合わせることもできます。例えば:

<xs:element name="exampleElement" type="xs:string" minOccurs="0" nillable="true"/>

この場合、exampleElementは以下の3通りの状態を取ることができます:

・要素が存在しない
・要素が存在し、値が設定されている(例えばsome value
・要素が存在し、値がNULLである(例えば
これにより、柔軟なXMLドキュメントの記述が可能となり、データの存在有無やNULL値の表現が容易になります。

0
  • 0

コメント欄