WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

メッセージ・モデル・オブジェクト: 単純タイプの値制約

値制約は、XML スキーマではファセットと呼ばれ、単純タイプが表すことのできる値の限度を定義して、単純タイプを絞り込みます。

エレメントまたは属性が取ることができる値を制約できると、メッセージをビジネス規則に準拠させられるなど、役立つ場合がよくあります。 このトピックでは、値制約を単純タイプに追加して、その単純タイプを基にしたすべてのエレメントまたは属性の値を制約する方法を説明します。

モデルが WebSphere® Message Broker にデプロイされる場合は、違反がエラーや警告として報告されるようにするため、エレメントと属性の値制約を妥当性検査することができます。SOAP、XMLNSC、DFDL、および MRM ドメインは、すべて妥当性検査をサポートします。

値制約のタイプ

長さ制約 : LengthMin LengthMax Length
長さ制約を使用して、単純タイプを基にしたすべてのエレメントの長さを制約したり、単一値に限定することさえできます。

長さ制約は、xsd:hexBinaryxsd:base64Binary、または xsd:string (xsd:normalisedString などのビルトイン・スキーマ・タイプを含む) から派生した単純タイプに適用できます。

長さ制約は祖先タイプから継承され、単純タイプ用に定義された長さ制約によってそのいずれかの先祖タイプにより定められた制約を緩めてはなりません。 例えば、タイプ「longString」(Max Length=100) は、タイプ「shortString」(Max Length=10) から派生させることはできません。

範囲制約 : Min InclusiveMax InclusiveMin ExclusiveMax Exclusive
範囲制約は、単純タイプを基にしたすべてのエレメントに対して値の許容範囲を指定します。 包括的制約は、許可された範囲内の指定されたエンドポイントを組み込みますが、排他的制約はそれを組み込みません。 範囲制約は、数値である単純タイプまたはカレンダーと時間値に関係する単純タイプに適用できます。 ストリング値の順序付けは使用されている文字セットに依存しているため、範囲制約はストリングには適用できません。

範囲制約は祖先タイプから継承され、単純タイプ用に定義された範囲制約によってそのいずれかの先祖タイプにより定められた制約を緩めてはなりません。 例えば、タイプ「largeNumber」(Max Inclusive=100) は、タイプ「smallNumber」(Max Inclusive=10) から派生させることはできません。

列挙制約
列挙制約は、単純タイプを基にしたすべてのエレメントに対して単一の許可値を指定します。 許可値のリストは、同じ単純タイプに対して複数の列挙制約を定義することにより指定できます。 列挙制約は、すべての単純タイプに適用できます。

列挙制約は祖先タイプから継承され、単純タイプ用に定義された列挙制約の何らかのセットによって、許可値の範囲を広げてはなりません。 例えば、タイプ「AllColors」(レインボーのすべての色の列挙を持つ) は、タイプ「MonoColors」(「黒」と「白」の列挙のみを持つ) から派生させることはできません。

精度制約 : 合計桁および小数桁
精度制約は、10 進値と整数値のみに関係しています。 精度制約は、単純タイプを基にしたすべてのエレメントに対して有効数字 (合計桁) の数と、10 進数に対しては、小数位の数 (小数桁) を制限します。 精度制約は xsd:decimalxsd:integer から派生した単純タイプに適用できます。

精度制約は祖先タイプから継承され、単純タイプ用に定義された精度制約によってそのいずれかの先祖タイプにより定められた制約を緩めてはなりません。 例えば、タイプ「veryPrecise」(Fraction Digits=10) は、タイプ「notVeryPrecise」(Fraction Digits=1) から派生させることはできません。

パターン制約
パターン制約は、単純タイプを基にしたすべてのエレメントに対して許可値のセットを指定する正規表現です。 同じ単純タイプに対して複数のパターンを定義でき、複雑な妥当性検査規則を論理的に分離した部分で表現することができます。 単純タイプに対する各パターン制約は、その単純タイプを基にしたエレメントに対する許可値のセットに寄与します。つまり、ブール OR を使ってすべてのパターンが結合されます。

すべての値制約と同様、単純タイプは、パターン制約の基となっている単純タイプからパターン制約を継承できます。 この場合、単純タイプそのものが寄与するセットだけでなく、各祖先タイプが寄与するパターン制約のセットも満たす必要があります。つまり、タイプ階層の各レベルから取られたパターン制約のセットが、ブール AND を使って結合されます。

空白制約
空白制約は、単純タイプを基にしたすべてのエレメントに対してパーサーが空白文字を処理する方法を指定します。
注: MRM および DFDL ドメインの場合、空白文字の制約は適用されません。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:46:37


概念トピック概念トピック | バージョン 8.0.0.5 | ad10470_