OpenCDISCはdefine.XMLをどうやってチェックするか

カテゴリー: CDISCラボ

OpenCDISCのトピック

かなり前のエントリで、OpenCDISCで実施されるチェックの内容がブラウズできることを紹介した。しかし、これをDefine.XMLをチェックするためのコンフィギュレーションファイルに対して実施すると、奇妙な現象を目にすることになる。何も見えないのだ。

20140528_define_check.jpg

何もチェックしていないように見えるが、OpenCDISCはきちんとDefine.XMLをバリデートする。その詳細なチェック内容はブラウズしても見えない。実際のXMLファイルを閲覧すると、それがはっきり分かる。

20140528_schematron.jpg

このコンフィギュレーションファイルではスキマトロンへの参照が記述されている。スキマトロンは、XML文書の構文をチェックするスキーマの1つである。スキーマといえば、DTD・•W3C XML Schema・RELAX NGなどが有名。スキマトロンは補足的に用いられることが多いようだ。

スキーマにはそれぞれ特徴がある。DTDは古くから使われている。ただし、規格も古い。W3C XML Schemaは強力だが、非常に大きくて冗長。RELAX NGは軽快であるが、表現しきれない規則がある。スキマトロンは、これらのスキーマの手が届かない範囲をカバーするのが得意だ。

OpenCDISCには『schematron』というフォルダがあり、その中にスキマトロンが納められている。

20140528_folder.jpg

スキマトロンは.schファイルという、見慣れない拡張子である。内容はXMLファイルなので、適当なエディタを用いると内容を閲覧できる。

20140528_content.jpg

ざっと閲覧すると、かなりのチェックが実施されていることが分かる。

・特定のツリー構造になっていない
・文字のみを許す・数字のみを許す・日付として有効な値のみ許す…といったデータチェック

などが存在する。Define.XMLをバリデートしてエラーが発生した場合、Define.XMLの仕様書に立ち返って原因を調査するのが基本である。しかし、それだけではどうにも理解できない…というのであれば、スキマトロンのチェック内容を精査してもいいだろう。

もっとも、XMLの基礎知識・正規表現など、ある程度のスキルがなければ読むことができない。一般的なデータマネージャーには手が届かない範囲だと思われる。
前ページ | | 次ページ











管理者にだけ表示を許可する
http://doubledealer989.blog74.fc2.com/tb.php/1483-d9222011