XML Schema – 派生 – 制限 (restriction)

1月 1, 2003 · Posted in XML · Comment 

書式

<xsd:restriction base="データ型名" />
    <制約ファセット value="制限値">
<xsd:restriction>

制限ファセット一覧

制約ファセット 内容
xsd:length 長さ
xsd:minLength 長さの最小値
xsd:maxLength 長さの最大値
xsd:minInclusive 値範囲の最小値(指定した値を含む)
xsd:maxInclusive 値範囲の最大値(指定した値を含む)
xsd:minExclusive 値範囲の最大値(指定した値を含まない)
xsd:maxExclusive 値範囲の最大値(指定した値を含まない)
xsd:pattern 正規表現

xsd:length

文字列長の指定。

XML Schema

<xsd:element name="userid">
    <xsd:simpleType>
        <xsd:restriction base="xsd:string">
            <xsd:length value="5" />
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>

XML

<userid>A0011</userid>

xsd:string を継承し、文字列長を 5 文字に制限。

xsd:minLength, xsd:maxLength

文字列長の上限・下限を指定する。

XML Schema

<xsd:element name="userid">
    <xsd:simpleType>
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="2" />
            <xsd:maxLength value="5" />
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>

XML

<userid>A0011</userid>

xsd:string を継承し、文字列長を 2 文字以上 5 文字以下に制限。

xsd:minInclusive, xsd:maxInclusive

数値の範囲を指定する。

XML Schema

<xsd:element name="count">
    <xsd:simpleType>
        <xsd:restriction base="xsd:int">
            <xsd:minInclusive value="1" />
            <xsd:maxInclusive value="100" />
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>

XML

<count>50</count>

xsd:int を継承し、値の範囲を 1 以上 100 以下に制限。

xsd:maxExclusive, xsd:maxExclusive

数値の範囲を指定する。

XML Schema

<xsd:element name="count">
    <xsd:simpleType>
        <xsd:restriction base="xsd:int">
            <xsd:minExclusive value="0" />
            <xsd:maxExclusive value="100" />
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>

XML

<count>50</count>

xsd:int を継承し、値の範囲を 1 より大きく、100 より少ない数に制限。( 2 以上、99 以下)

xsd:pattern

文字列のパターンを正規表現で指定

XML Schema

<xsd:element name="userid">
    <xsd:simpleType>
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="ID\d{5}" />
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>

XML

<userid>ID00010</count>

xsd:string を継承し、先頭 2 文字が "ID" という文字列で、その後に数字が 5 文字続く制約を指定。

XML Schema – 要素宣言

1月 1, 2003 · Posted in XML · Comment 

書式

単体で定義。

<xsd:element name="要素名" type="データ型" />

名前で参照する場合。

<xsd:element name="要素名" type="データ型" />

↑これを参照

<xsd:element ref="要素名" />

XML Schema – xsd:all (すべての要素を順不同に出現させる)

1月 1, 2003 · Posted in XML · Comment 

書式

<xsd:all>
    <xsd:element name="名前1" type="データ型" />
    <xsd:element name="名前2" type="データ型" />
</xsd:all>

※上記の例では名前1と名前2が順不同で出現する。

XML Schema

<xsd:element name="data">
    <xsd:complexType>
        <xsd:all>
            <xsd:element name="name" type="xsd:string" />
            <xsd:element name="age" type="xsd:int" />
        </xsd:all>
    </xsd:complexType>
</xsd:element name="data">

XML

<data>
    <name>MAME</name>
    <age>10</name>
</data>

もしくは

<data>
    <age>10</name>
    <name>MAME</name>
</data>

« 前ページへ次ページへ »