0 / 0
資料の 英語版 に戻る

XML パーサー検証ルール (DataStage®)

最終更新: 2025年3月12日
XML パーサーの検証ルール (Hierarchical Data ステージ)

デフォルトでは、XML パーサーは最小の検証を使用し、違反を無視します。 検証をカスタマイズするために、違反が発生したときに実行するアクションを指定します。

以下の表で、検証ルールおよび適用可能なアクションについて説明します。

表 1. 値の検証ルール
ルール 説明 アクション
データ・タイプに正しくない値があります この値は、対応する項目のデータ・タイプの値ルールと一致している必要があります。
無視
タイプ・チェックおよびタイプ変換は実行されません。 スキーマによって定義された項目のタイプは、String タイプに置換されます。 例えば、日付タイプの startDate という項目がスキーマに含まれている場合、ステップ出力内のそのアイテムのタイプは、日付ではなくストリングになります。
発生ごとにログに記録 (文書ごとに 1 回)
タイプ検査が実行されます。 タイプが検査に失敗した場合、ログ・エラーは、発生ごとに 1 回、または文書全体に対して 1 回報告されます。ただし、構文解析は続行されます。 タイプ変換は実行されません。 「ステップ出力」内の項目の実際のタイプは、ストリングタイプに置換されます。
拒否
タイプ検査およびタイプ変換が実行されます。 無効値のみが、無効な文書解析に失敗します。 ParsingStatus 項目は、新規グループとして XML パーサー・ステップのステップ出力に追加され、False に設定されます。この中には対応するエラー・メッセージが含まれます。
致命的
タイプ検査およびタイプ変換が実行されます。 無効な値を指定すると、ジョブは失敗します。
デフォルトに変換
タイプ検査およびタイプ変換が実行されます。 無効な値は、そのデフォルト値に置換されます。
値はファセット制約に失敗します
注: このルールを有効にすると、 「Datatype has illegal value」 ルールも、 「Value fails ファセット制約」 ルールに選択された値と同じ値に設定されます。
この値は、対応する項目タイプのファセットに対して検査されます。
無視
ファセット検査は実行されません。
発生ごとにログに記録 (文書ごとに 1 回)
ファセット検査が実行されます。 違反のログ・エラーが発行され、構文解析は続行されます。
拒否
ファセット検査が実行されます。 無効値は無効な文書構文解析のみに失敗し、ParsingStatus 項目 (XML パーサー・ステップのステップ出力に新規グループとして追加された項目) は、対応するエラー・メッセージを使用して False に設定されます。
致命的
ファセット検査が実行されます。 無効な値を指定すると、ジョブは失敗します。
デフォルトに変換
ファセット検査が実行されます。 無効な値は、そのデフォルト値に置換されます。
NULL 値を持つことができない項目の値が NULL NULL 不可能な項目が検査され、NULL 値が含まれていないことが確認されます。
無視
NULL 検査は実行されません。 XML パーサー・ステップのステップ出力内のすべての項目が NULL 可能になります。 ステップ出力のすべての項目が NULL 可能になります。
発生ごとにログに記録 (文書ごとに 1 回)
NULL 検査が実行され、ログ・エラーが発行されます。 NULL 値が設定されます。 結果として、XML パーサー・ステップのステップ出力内のすべての項目が NULL 可能になります。
拒否
NULL 検査が実行されます。 無効値は無効な文書構文解析のみに失敗し、ParsingStatus 項目 (XML パーサー・ステップのステップ出力に新規グループとして追加される値) は False に設定され、対応するエラー・メッセージを含みます。
致命的
NULL 検査が実行されます。 無効な値を指定すると、ジョブは失敗します。
デフォルトに変換
NULL 検査が実行されます。 無効な値は、そのデフォルト値に置換されます。
この値にはデータを書き込まない
NULL 検査は実行されません。 出力列にデータは含まれません。
欠損値にグローバル・デフォルト値を使用 欠損値はそのデフォルト値に置換されます。
いいえ
スキーマで項目のデフォルト値が定義されている場合、そのデフォルト値が使用されます。 それ以外の場合、値は nil に設定されます。
はい
スキーマで項目のデフォルト値が定義されている場合、そのデフォルト値が使用されます。 それ以外の場合、値は「アセンブリー管理 (Assembly Administration)」パネルで指定されたデフォルト値に設定されます。
値のトリム タイプの検査とタイプ変換を実行する前に、値の前後に空白をトリムします。
いいえ
トリミングは実行されません。
はい
値の両側でトリミングが実行されます。
表 2. 構造検証ルール
ルール 説明 アクション
文書の形式が誤っています 文書のフォーマットが誤っています。
無視
エラー・メッセージはログに記録されません。
文書ごとのログ
エラー・メッセージが記録されます。
拒否
XML パーサー・ステップのステップ出力に新規グループとして追加される ParsingStatus 項目は、False に設定され、対応するエラー・メッセージが含まれます。
致命的
誤ったフォーマットの文書があると、ジョブは失敗します。
項目がスキーマの中で宣言されていません インスタンス文書内の項目は、スキーマ内で宣言する必要があります。 違反は、ジョブが古いバージョンのスキーマを使用している場合に発生することがあります。
無視
エラー・メッセージはログに記録されません。 項目は、最適な推測に基づいて解析されます。
発生ごとにログに記録 (文書ごとに 1 回)
エラー・メッセージがログに記録されます。 項目は、最適な推測に基づいて解析されます。
拒否
XML パーサー・ステップのステップ出力に新規グループとして追加される ParsingStatus 項目は、False に設定され、対応するエラー・メッセージが含まれます。
致命的
スキーマ内で宣言されていない項目は、ジョブの失敗を引き起こします。
nil エレメントに値がある NULL 可能項目が検査され、データ値が含まれていないことが確認されます。 これは、XML 文書内で NULL 可能が true に設定されている項目にのみ適用されます。
無視
エラー・メッセージはログに記録されません。 項目は、最適な推測に基づいて解析されます。
発生ごとにログに記録 (文書ごとに 1 回)
エラー・メッセージがログに記録されます。 項目は、最適な推測に基づいて解析されます。
拒否
XML パーサー・ステップのステップ出力に新規グループとして追加される ParsingStatus 項目は、False に設定され、対応するエラー・メッセージが含まれます。
致命的
NULL エレメントに値があると、ジョブは失敗します。
必須項目がない インスタンス文書の中で項目は正確に出現する必要があります。 必要な属性が欠落している場合、またはシーケンス・コンテンツ内でエレメントの出現順序が間違っていると、違反が発生する可能性があります。
無視
必須項目の検査は行われません。 エラー・メッセージはログに記録されません。 結果として、ステップ出力内のすべての項目がオプションになります。
発生ごとにログに記録 (文書ごとに 1 回)
エラー・メッセージがログに記録されます。 データが欠落していても、構文解析は続行されます。 結果として、ステップ出力内のすべての項目がオプションになります。
拒否
XML パーサー・ステップのステップ出力に新規グループとして追加される ParsingStatus 項目は、False に設定され、対応するエラー・メッセージが含まれます。
致命的
必須項目が欠落していると、ジョブは失敗します。
リストの出現回数が無効 出現回数は、スキーマで定義されているように、MinOccurs 属性の値と MaxOccurs 属性の間の値でなければなりません。
無視
エラー・メッセージはログに記録されません。
発生ごとにログに記録 (文書ごとに 1 回)
エラー・メッセージがログに記録されます。
拒否
XML パーサー・ステップのステップ出力に新規グループとして追加される ParsingStatus 項目は、False に設定され、対応するエラー・メッセージが含まれます。
致命的
リストに無効な出現回数があると、ジョブは失敗します。
ID 値がユニークではありません 各文書には固有の ID が必要です。
無視
エラー・メッセージはログに記録されません。
発生ごとにログに記録 (文書ごとに 1 回)
エラー・メッセージがログに記録されます。
拒否
XML パーサー・ステップのステップ出力に新規グループとして追加される ParsingStatus 項目は、False に設定され、対応するエラー・メッセージが含まれます。
致命的
ID 値が重複すると、ジョブは失敗します。