単純化の第4段階は <value> 要素の @type 属性の修正です。
- 対象ノードの箇所では接頭辞 "rng" は「RELAX NG 名前空間」に関連づけられているとします。
- サンプルでは見やすさのために空白や改行を入れているところがありますが、実際には単純化の第2段階で除去されています。
@datatypeLibrary 属性のエスケープ
- 対象ノード
- //rng:value[not(@type)]
- 操作
- @type 属性を付加し、値を "token" に設定する。 加えて、@datatypeLibrary の値を空文字列に設定する。
サンプル
<data datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
<data type="token" datatypeLibrary=""/>
事後条件
- 全ての <value> 要素が @type 属性を持つ。