<cRefPattern>

<cRefPattern> URIへの標準的参照を変形する,表現・変形パタンを示す. 2.3.5.3 標石法 2.3.5 参照システム宣言 2.3.5.2 検索置換法
モジュールheader — 2 TEIヘダー
属性
matchPattern 属性cRefの値が対応する正規表現を示す.
状態 必須
データ型

<rng:ref name="data.pattern"/>
data.pattern
W3CのW3C XML Schema Languageに従った正規表現でなければならない.
解説
丸括弧で区切られたグループは,出現順序や量化単位の他,属性 replacementPatternで示された下位パタンを示す.
replacementPattern‘変形パタン’を示す.下位の置換パタンが実行さ れれば,これはURIになる.
状態 必須
データ型

<rng:text/>
text
属性matchPatternにあるグループを参照する,相対・絶対URIであるべきである.
解説
文字列‘$1’から‘$9’は,属性reにある正規表現 に該当するグループに(左から右の順番で)対応したものである.ソフ トウェアは,当該正規表現に対応したグループを変形することが期待 されている.
ドル記号に続く数値が(後方参照に対する)置換パタンとして必要な場 合には,当該ドル記号は%24と書かれなければならない.
当該モジュールを使用するもの
下位
core: p
linking: ab
宣言

<rng:element name="cRefPattern">
<rng:ref name="att.global.attributes"/>
<rng:attribute name="matchPattern">
 <rng:ref name="data.pattern"/>
</rng:attribute>
<rng:attribute name="replacementPattern">
 <rng:text/>
</rng:attribute>
<rng:zeroOrMore>
 <rng:ref name="model.pLike"/>
</rng:zeroOrMore>
</rng:element>
 element cRefPattern
{
   att.global.attributes,
   attribute matchPattern { data.pattern },
   attribute replacementPattern { text },
   model.pLike*
} 
<cRefPattern
  matchPattern="([1-9A-Za-z]+)\s+([0-9]+):([0-9]+)"
  replacementPattern="#xpath(//div[@type='book'][@n='$1']/div[@type='chap'][@n='$2']/div[@type='verse'][@n='$3'])"/>
解説
置換による結果は,絶対・相対URIであるかもしれない.相対URIの場合, XML Baseに示され ているように,属性xml:baseの値と共に,属性 cRefが絶対URIを示す場所で使用される.