この規格ページの目次
9
X 4177-3 : 2008 ISO/IEC 19757-3 : 2006
ターンのインスタンスとする。そのようなパターンはrule要素を含んではならないが,抽象パターンの中
で使用されるすべてのパラメタ用のparam要素をもたなければならない。
次の例は,表を扱う上記の抽象パターンを用いて,別の名前と構造とをもつ表を扱う三つのパターンを
作成している。
<sch:pattern is-a="table" id="HTMLTable">
<sch:param name="table" value="table"/>
<sch:param name="row" value="tr"/>
<sch:param name="entry" value="td-th"/>
</sch:pattern>
<sch:pattern is-a="table" id="CALSTable">
<sch:param name="table" value="table"/>
<sch:param name="row" value=".//row"/>
<sch:param name="entry" value="cell"/>
</sch:pattern>
<sch:pattern is-a="table" id="calendar">
<sch:param name="table" value="calendar/year"/>
<sch:param name="row" value="week"/>
<sch:param name="entry" value="day"/>
</sch:pattern>
抽象パターンのインスタンスを作成するとき,param要素によって与えられたパラメタ値は,抽象パタ
ーンの中で使用されるパラメタ参照を置き換える。上記の例は,省略時の検索言語結合を用いているが,
文字$はパラメタ参照を表す区切り子として使われている。
したがって,5.4.9の先頭で定義した抽象パターンが存在すれば,上で定義したパターンは,次のものと
等価になる。ただし,id要素は展開される。
<sch:pattern id="HTMLtable">
<sch:rule context="table">
<sch:assert test="tr">
The element table is a table. Tables containing rows.
</sch:assert>
</sch:rule>
<sch:rule context="tr">
<sch:assert test="td-th">
The element tr is a table row. Rows contain entries.
</sch:assert>
</sch:rule>
</sch:pattern>
――――― [JIS X 4177-3 pdf 11] ―――――
10
X 4177-3 : 2008 ISO/IEC 19757-3 : 2006
<sch:pattern id="CALStable">
<sch:rule context="table">
<sch:assert test=".//row">
The element table is a table. Tables containing rows.
</sch:assert>
</sch:rule>
<sch:rule context=".//row">
<sch:assert test="cell">
The element row is a table row. Rows contain entries.
</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern id="calendar">
<sch:rule context="calendar/year">
<sch:assert test="week">
The element year is a table. Tables containing rows.
</sch:assert>
</sch:rule>
<sch:rule context="week">
<sch:assert test="day">
The element week is a table row. Rows contain entries.
</sch:assert>
</sch:rule>
</sch:pattern>
5.4.10 phase要素
スキーマにおける様々の変種に名前を付けて宣言するため,幾つかのパターンをグループ化したもの。
例えば,段階的検証を提供するために用いる。必す(須)のid属性は,フェーズの名前とする。実装は,
文書を検証するためにどのフェーズを使用するかを,例えば,利用者が発行するコマンドに従って,決定
する。
二つの名前(#ALL及び#DEFAULT)は,特別の意味をもつ。名前#ALLは,予約されており,パターン
がすべて活性であることを示すために実装によって利用できる。名前#DEFAULTは,予約されており,
schema要素のdefaultPhase属性で与えられた名前を使用することが望ましいことを示すために実装によっ
て利用できる。defaultPhaseが指定されない場合,すべてのパターンは活性とする。
注記 名前#ALL及び#DEFAULTはSchematronスキーマの中で使用しないものとする。これらの名前
は,スキーマ検証を起動する又は設定するとき,例えば,コマンドラインにおけるパラメタと
して利用する。
icon属性,see属性及びfpi属性によって,十分なインタフェース機能を備えること,及び十分な文書化
をすることができる。
5.4.11 report要素
――――― [JIS X 4177-3 pdf 12] ―――――
11
X 4177-3 : 2008 ISO/IEC 19757-3 : 2006
文脈ノードに関しての表明。データ内容は,自然言語による表明とする。必す(須)のtest属性は,現
在の文脈で評価される表明試験とする。試験の結果が肯定的であれば,報告は成功する。省略可能な
diagnostics属性は,付加的な診断情報を参照する。自然言語による表明は,発見されたパターンについて
の肯定的な文,又は制約についての否定的な文とする。
注記 自然言語表明は,期待値に加えて実効値に関する情報を含んでいるかもしれないし,診断情報
を含んでいるかもしれない。しかし,そのような情報のためにdiagnostic要素が提供されてい
て,自然言語による表明を明確に述べることが推奨されていることに,利用者は注意すること
が望ましい。
icon属性,see属性及びfpi属性は,強力なインタフェース及び文書化を可能にする。これらは後に定義
する。
flag属性はより多くの詳細な結果を可能にする。これは後に定義する。
role属性及びsubject属性は,パターンの一部を明示的に指定することができる。これらは後に定義する。
5.4.12 rule要素
幾つかの表明をまとめたものであり,必す(須)のcontext属性によって指定された文脈において試験さ
れる。context属性は,規則文脈式を指定する。
注記 文書に対して規則が絶対に発火しなくても誤りではない。文書が何らかの文脈を必ずもつかど
うか確認するには,文書の文脈から新しいパターンを作成し,要素又は属性を必要とする表明
をもたせることが望ましい。
icon属性,see属性及びfpi属性は,強力なインタフェース及び文書化を可能にする。
flag属性はより多くの詳細な結果を可能にする。これは後に定義する。
role属性及びsubject属性は,パターンの一部を明示的に,検証結果の一部として指定することができる。
これらは後に定義する。
値trueのabstract属性をrule要素がもつとき,この規則は抽象的な規則とする。抽象的な規則は,context
属性をもってはならない。抽象的な規則は,幾つかの表明の集まりであって,同一のパターンに属する他
の規則はextends要素を用いて抽象的な規則を起動する。抽象的な規則はスキーマを小さくするための機
構を提供する。
5.4.13 schema要素
Schematronスキーマのトップレベルの要素。
省略可能なschemaVersion属性は,スキーマの版を指定する。許容される属性値は,この規格では定義
しない。また,この属性の使用は,実装依存とする。
省略可能なqueryBinding属性は,用いられている検索言語結合の短縮名を指定する。この属性が指定さ
れる場合,現在の実装が提供していない値を指定しているときは誤りとする。
明示的に利用者が情報を与えないときに使用するフェーズを示すため,defaultPhase属性を用いてもよい。
title要素及びp要素によって,十分な文書化をすることができる。
icon属性,see属性及びfpi属性によって,十分なインタフェース機能を備えること,及び十分な文書化
をすることができる。
5.4.14 value-of要素
より明りょう(瞭)な表明及び診断を行うため,インスタンス文書から値を見つける又は計算する。必
す(須)のselect属性は,現在の文脈の中で評価される式であり,文字列を返す。
――――― [JIS X 4177-3 pdf 13] ―――――
12
X 4177-3 : 2008 ISO/IEC 19757-3 : 2006
select属性での変数の参照は,現在のスキーマ,フェーズ,パターン及び規則を有効範囲として解決す
る。
自然言語による表明を報告しない実装は,この要素を利用する必要はない。
5.5 付随的な要素及び属性
5.5.1 diagnostic要素
自然言語によるメッセージであり,失敗した表明についての具体的な詳細を与えるもの。例えば,見つ
かった値と期待される値との対比,修正についてのヒントなど。
注記 複数の言語による診断メッセージを提供するには,各言語ごとにdiagnostic要素を設け,適切
なxml:lang言語属性を指定し,すべてのdiagnostic要素の一意の識別子を表明のdiagnostics属
性によって参照する。附属書Gは,複数の言語によるスキーマの単純な例を示す。
実装は,この要素を使用しなくてもよい。
5.5.2 diagnostics要素
個々のdiagnostic要素を含むセクション。
実装は,この要素を使用しなくてもよい。
5.5.3 dir要素
value属性によって指定された方向の自然言語テキストのセクション。値ltrは左から右のテキストであ
ることを示し,値rtlは右から左のテキストであることを示す。
実装は,この要素を使用しなくてもよい。
5.5.4 emph要素
テキストのうち,強調表示することが望ましい部分。
実装は,この要素を使用しなくてもよい。
5.5.5 flag属性
初期値falseを備えたブール変数。フラグは,その名前を指定するflag属性をもつ表明又は規則によって
暗黙に宣言される。フラグの値が真になるのは,そのフラグをもつ表明が失敗するとき,又はそのフラグ
を備えた規則が発火するときとする。
フラグは,後のプロセスに状態又は深刻さに関する情報を伝えることを目的とする。
実装は,この要素を使用しなくてもよい。
5.5.6 fpi属性
スキーマ,フェーズ又は他の要素のための公開識別子。
実装は,この属性を利用する必要はない。
5.5.7 icon属性
この属性をもつ要素の深刻さ,重要性又は他のグループ化を視覚的に表現する図形ファイルの位置。
実装は,この属性を利用する必要はない。
5.5.8 p要素
親要素の保守者及び利用者情報を含む自然言語テキストの段落。スキーマは,はっきり目立つように表
示されることが望ましい段落を指定することができる。段落は,class属性によって分類される。
実装は,この要素を利用する必要はない。
5.5.9 role属性
表明の機能,又はパターンにおける文脈ノードの機能について記述する名前。表明がsubject属性をもつ
――――― [JIS X 4177-3 pdf 14] ―――――
13
X 4177-3 : 2008 ISO/IEC 19757-3 : 2006
とき,subject属性で指定されるパス式とマッチするノードと文脈ノードとの間の関係を,この属性は説明
する。
実装は,この属性を利用する必要はない。
5.5.10 see属性
スキーマの保守者及び利用者についての外部情報のURI。
実装は,この属性を利用する必要はない。
5.5.11 span要素
段落のうち,はっきり目立つように表示されることが望ましい部分であり,class属性によって分類され
るもの。
実装は,この要素を利用する必要はない。
5.5.12 subject属性
ノードのより正確な指定を可能にするパス。パス式は,現在の規則の文脈ノードを文脈として評価する。
subject属性が指定されていないとき,現在の主題ノードを用いてもよい。
注記 特別の表明試験との関連で,規則文脈が便宜上又は性能上の理由で選ばれていたかもしれない
ので,subject属性は必要である。その場合,規則文脈は主題を識別するのには役立たないかも
しれない。また,subject属性によって見つけたノードはより役立つかもしれない。同様に,表
明試験がどのノードを試験したか表明試験から決定することは可能ではないかもしれない。そ
のような場合では,subject属性によって見つけたノードはより役に立つかもしれない。
実装は,この属性を利用する必要はない。
5.5.13 title要素
スキーマ又はパターンの目的又は役割を要約したもの。利用者インタフェースの改善,又はスキーマの
文書化を目的とする。
実装は,この要素を利用する必要はない。
6 意味
6.1 検証関数
一般的なSchematron検証器は,“妥当”,“妥当でない”又は“誤り”を返す関数として作用する。この
関数は,概念的に二つのステップを行う。すなわち,スキーマを最小の構文に変形したのち,インスタン
スを最小の構文に照らして試験する。
注記 この規格は,実装によって提供されるその他の情報,又はSchematronスキーマの他の用途を制
約することはない。しかし,この規格の意図は,問題を検出し修正するのに役立つことを目的
に,実際の値を含む詳細で具体的な診断メッセージを実装が提供可能にすることである。
Schematron検証器は,次のものを入力とする関数とする。
a) 検索言語結合。
b) スキーマ文書。
c) 検証されるインスタンス。
d) インスタンス又はスキーマ中の情報を用いて取り出される外部XML文書。
e) フェーズ名,#ALL(すべてのパターンを活性パターンとするとき),又は#DEFAULT(schema要素の
defaultPhase属性を使用するとき)。
――――― [JIS X 4177-3 pdf 15] ―――――
次のページ PDF 16
JIS X 4177-3:2008の引用国際規格 ISO 一覧
- ISO/IEC 19757-3:2006(IDT)
JIS X 4177-3:2008の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.240 : 情報技術(IT)の応用 > 35.240.30 : 情報,ドキュメンテーション及び出版業務におけるITの応用
JIS X 4177-3:2008の関連規格と引用規格一覧
- 規格番号
- 規格名称