スキーマバリデーション¶
検証内容¶
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