VALIDATED 述部

VALIDATED 述部は、XML-expression によって指定された値が、XMLVALIDATE 関数を使用して妥当性検査されたかどうかを検査します。

指定された値が NULL の場合、妥当性検査の制約の結果は不明です。そうでない場合、妥当性検査の制約の結果は、true または false のいずれかになります。指定する値はタイプ XML でなければなりません。

ACCORDING TO XMLSCHEMA 節が指定されていない場合、妥当性検査に使用される XML スキーマは妥当性検査の制約の結果に影響しません。

構文図を読む構文図をスキップするXML-expression ISNOTVALIDATED according-to-clause
according-to-clause
構文図を読む構文図をスキップするACCORDING TO XMLSCHEMA XML-schema-identificationIN(,XML-schema-identification)
XML-schema-identification
構文図を読む構文図をスキップするIDXML-schema-nameURIXML-uri1NO NAMESPACELOCATIONXML-uri2

説明

XML-expression
検査される XML 値を指定します。ここで、XML-expression は、XML 文書、XML コンテンツ、XML ノードのシーケンス、XML column-name、または XML correlation-name で構成できます。

XML column-name が指定されている場合、述部は、指定された列名に関連する XML 文書が妥当性検査されたかどうかを評価します。

トリガーの一部としてのタイプ XML の相関名の指定についての情報は、『CREATE TRIGGER』を参照してください。

IS VALIDATED または IS NOT VALIDATED
XML-expression のオペランドに必要な妥当性検査の状態を指定します。

true として評価するように IS VALIDATED を指定する制約では、オペランドは妥当性検査されている必要があります。 オプションの ACCORDING TO XMLSCHEMA 節に 1 つまたはいくつかの XML スキーマが含まれている場合、オペランドは識別された XML スキーマの 1 つを使用して妥当性検査されている必要があります。

false として評価するように IS NOT VALIDATED を指定する制約の場合、オペランドは妥当性検査された状態でなければなりません。オプションの ACCORDING TO XMLSCHEMA 節に 1 つまたはいくつかの XML スキーマが含まれている場合、オペランドは識別された XML スキーマの 1 つを使用して妥当性検査されている必要があります。

according-to-clause
オペランドが妥当性検査されていなければならないか、またはされていてはならないかを 1 つまたはいくつかの XML スキーマに対して指定します。 XML スキーマ・リポジトリー に事前に登録された XML スキーマのみが指定されます。
ACCORDING TO XMLSCHEMA
ID XML-schema-name
XML スキーマの SQL ID を指定します。 この名前 (暗黙的または明示的 SQL スキーマ修飾子を含む) は、現行のサーバーで XML スキーマ・リポジトリー内の既存の XML スキーマを固有に識別しなければなりません。 暗黙的または明示的に指定した SQL スキーマにこの名前の XML スキーマが存在しない場合は、エラー (SQLSTATE 42704) が戻されます。
URI XML-uri1
XML スキーマのターゲット名前空間 URI を指定します。 XML-uri1 の値は、URI を空でない文字ストリング定数として指定します。 URI は、登録済み XML スキーマのターゲット名前空間でなければならず (SQLSTATE 4274A)、LOCATION 節を指定しない場合は、登録済み XML スキーマを固有に識別する必要があります (SQLSTATE 4274B)。
NO NAMESPACE
XML スキーマはターゲット名前空間を持たないことを指定します。 ターゲット名前空間 URI は、明示的なターゲット名前空間 URI として指定できない空の文字ストリングと同等です。
LOCATION XML-uri2
XML スキーマの XML スキーマ・ロケーション URI を指定します。 XML-uri2 の値は、URI を空でない文字ストリング定数として指定します。 XML スキーマ・ロケーション URI は、ターゲット名前空間 URI と結合されて登録済み XML スキーマを識別する必要があり (SQLSTATE 4274A)、登録済みのそのような XML スキーマは 1 つだけでなければなりません (SQLSTATE 4274B)。

例 1: 表 T1 に列 XMLCOL が定義されているとします。 何らかの XML スキーマで妥当性検査が行われた XML 値のみ取り出します。
   SELECT XMLCOL FROM T1
     WHERE XMLCOL IS VALIDATED
例 2: 表 T1 に列 XMLCOL が定義されているとします。 妥当性検査が行われていない値は挿入も更新もできないという規則を施行します。
   ALTER TABLE T1 ADD CONSTRAINT CK_VALIDATED
     CHECK (XMLCOL IS VALIDATED)
例 3: XML スキーマ URI http://www.posample.org で妥当性検査された XML 列 XMLCOL のある表 T1 から、これらの行のみを選択するとします。

   SELECT XMLCOL FROM T1 
     WHERE XMLCOL IS VALIDATED 
      ACCORDING TO XMLSCHEMA URI 
      'http://www.posample.org'