単純化の第5段階は <externalRef> 要素と <include> 要素の @type 属性の修正です。
- 対象ノードの箇所では接頭辞 "rng" は「RELAX NG 名前空間」に関連づけられているとします。
- サンプルでは見やすさのために空白や改行を入れているところがありますが、実際には単純化の第2段階で除去されています。
@href 属性のエスケープ
@datatype 属性と同じように、@href 属性で指定されている URI をエスケープします。
- 対象ノード
- //@href
- 操作
- URI をエスケープする
サンプル
<include href="いろは"/>
<include href="%E3%81%84%E3%82%8D%E3%81%AF"/>
URI の絶対形式への解決
単純化している文書のベース URI を用いて、@href 属性が指定している URI を絶対形式へ解決します。
- 対象ノード
- //@href
- 操作
- URI を絶対形式へ解決する
サンプル
単純化している RELAX NG スキーマが "http://org.sample.relaxng/sample.rng" であったとします。 このとき、URI の絶対形式へ解決は以下のようになります:
<include href="includee.rng"/>
<include href="http://org.sample.relaxng/includee.rng"/>
事後条件
- @href 属性の値がエスケープされた絶対 URI に変換されている。