単純型の長さを制限する
属性や要素の内容を制限するもう1つの方法として、設定できる最大値または最小値(またはその両方)を指定する方法があります。
1. カスタム宣言内で(「カスタム単純型を作成する」4.の方法で)<xsd:length value="x" /> と入力します。
xの部分には、要素の内容の文字数を入力します。
XSDコード <xsd:element name="department_name">
<xsd:simpleType>
<xsd:restriction base="xsd:string" />
<xsd:length value="16" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
文字列の長さを設定することができます。ただし、この例のような場合は、パターンを使った方が良いでしょう。
XMLコード <department_name>内科 </department_name>
XMLコード <department_name>地域・福祉口腔保健衛生学分野</department_name>1つ目のdepartment_name要素は4文字(全角2文字)なのでスキーマに対して有効ですが、2つ目は28文字(全角14文字)あるので無効です。
1. カスタム宣言内で(「カスタム単純型を作成する」4.の方法で)<xsd:minlength value="m" /> と入力します。
1. カスタム宣言内で(「カスタム単純型を作成する」4.の方法で)<xsd:maxlength valur="n" /> と入力します。
XSDコード <xsd:element name="description">
<xsd:simpleType>
<xsd:restriction base="xsd:string" />
<xsd:maxlength value="100 " />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
文字列要素が長くなりすぎないように、長さを制限することができます
XMLコード <description>ドキュメントをマルチプラットフォームで保存する形式として、XMLデータベースが最適である。</description>このdescription要素の内容は42文字で、100文字の制限に収まっているので、スキーマに対して有効です。
XMLコード <description>近年病院ではIT化が進み、オーダリングシステム、電子カルテシステム、クリティカルパスシステム、財務・会計システム、物流管理システムといったサブシステムが導入され、それらの連携及び統合化システム構築の必要性が高まっている。 </description>このdescription要素の内容は、110文字なので、上のスキーマに対しては無効です。
・lengthを指定留守場合は、minLengthとmaxLengthを同時に指定することはできません。
・xsd:length、xsd:minLength、xsd:maxLengthには負以外の整数を指定します。
・length、minLength、maxLengthに指定する値の単位は、カスタム型の基盤となっている方によって決まります。基盤となっている型がstring型の場合はUnicodeコードポイント単位、binary型の場合はオクテッド(8ビット)単位、list型の場合はリスト項目数になります。通常の文字列を入力する場合は、英語でも日本語でも1文字を1単位と数えます。