コンテンツにスキップ

スキーマバリデーション

検証内容

ST-Bridgeが仕様書に準拠しているかどうかを検証します。

検証はbSJ公式のXSD Schemaを利用する方法と、stbkitのみで簡易的に検証する方法があります。

XSDを利用する場合の検証内容

XSDファイルのスキーマに適合しているか検証します。

検証にはサードパーティライブラリのxmlschemaを利用します。

xmlschemaの検証内容についてはxmlschemaのGitHubを参照ください。

XSDを利用しない場合の検証内容

XSDファイルを利用しない場合は、stbkit-coreのデータモデル定義に基づき下記の検証を行います。 内部処理としてはload時に検出されるものとvalidate_schema実行時に検出されるものの2種類がありますが、CLIのvalidateコマンドでは両方を合わせた結果が表示されます。

  • 必須属性があるか
  • いずれかの値をとるの指定がある場合に、その値になっているか
  • 内容が定義されている要素の内容があるか
  • 子要素の最小回数、最大回数のチェック
  • 定義されていない属性がないか
  • 定義されていない内容がないか
  • 定義されていない子要素がないか

現在下記のチェックは行っていません - 子要素の出現順の判定(sequence判定) - 子要素の組み合わせ判定(choice判定)

その他、チェックが漏れている項目がある可能性があります。

共通の検証内容

下記項目はXSDでは検証できないため、XSDを利用する場合も、利用しない場合も検証します。

  • 属性が空文字列になっていないか

拡張情報の扱い

拡張情報で定義された拡張属性・拡張子要素は、ST-Bridge仕様上は許容されますが、XSDでは不適合になります。

XSDを利用しない検証の場合は、定義に適合している拡張はエラーにしません。

XSDを利用した検証の場合、拡張定義に適合している拡張もエラーになります。 --exclude-legal-extensionsオプションを指定した場合は、拡張定義を参照し、拡張定義に適合している拡張のエラーを除外することができます。

XSDの決まり方

XSDを明示して指定した場合は、検査対象のバージョンにかかわらず、常に指定したXSDで検査します。対応したバージョンのXSDを指定してください。

XSDを指定しないでrequire-xsdの検査を行う場合は、検査対象のST-Bridgeのバージョンを判定し、対応する環境変数からXSDを選択します。判定結果は保持しないため、異なるバージョンのデータを続けて検査しても、それぞれのバージョンのXSDが使われます。環境変数の名前は設定を参照してください。

結果の見方

  • エラーがある場合は、エラー箇所のxPathとエラーメッセージを記録します。
  • CLIでは、結果を終了コードへ反映します。出力と併せて確認してください。
  • スキーマ適合:0
  • スキーマ不適合:1
  • 引数不正:2
  • 読み込み・バリデーション失敗:3
  • 任意依存不足:4

注意事項

  • ST-BridgeとXSDのバージョンが一致しない場合、意図した検査になりません。
  • スキーマエラーがなくても、ST-Bridge仕様として正しいことを保証するものではありません。また、設計判断、構造計算上の妥当性等を保証するものでもありません。
  • XSDスキーマファイルは本プロジェクトでは配布は行っていないため、利用条件等を確認し、利用者が適切に管理してください。

Copyright 2026 TAISEI CORPORATION