単純化の第2段階は空白文字(列)の修正です。
空白文字列を除去する
<value>, <param> 要素の子テキスト以外のテキストに対して、無視できる空白を除去します。
- 対象ノード
- //*[(name() != "rng:value") and (name() != "rng:param")]/text()
- 操作
- 空白文字のみなら除去する。
サンプル
<element name="ele"> <attribute name="att"> </attribute> </element>
<element name="ele"><attribute name="att"></attribute></element>
文字列をトリミングする
@name, @type, @combine 属性の値と <name> 要素の子テキストをトリミング*1します。
- 対象ノード
- //@name
//@type
//@combine
//rng:name/text() - 操作
- トリミングする。
サンプル
<element name=" ele"><text/></element>
<element element="ele"><text/></element>
事後条件
- <value>, <param> 要素以外の要素は、子テキストとして空白文字列をもたない。
- @name, @type, @combine 属性の値と <name> 要素の子テキストは前後に空白文字列を持たない