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

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の基礎知識・正規表現など、ある程度のスキルがなければ読むことができない。一般的なデータマネージャーには手が届かない範囲だと思われる。
2014-05-30(Fri)
 

コメントの投稿

非公開コメント


プロフィール

TKD + SMZ

Author:TKD + SMZ
ガレージキット組み立て中級者
子育て初心者

2007年に友人の薦めでガレージキット組み立てを開始。その面白さに目覚める(w

2011年にお付き合いのあった原型師さんに薦められて、原型製作を開始。ワンフェスに参加しています。2017年から、活動を一時休止しております

ブログの大まかな内容についてはカテゴリーの「総合案内」をご覧下さい

カウンタ
ブログ内検索
月別アーカイブ