RelaxNGスキーマを使用してXMLファイルを検証したいと思います。検証の一環として、ノードのセットに空白がないことを確認したいと思います。たとえば、最初の2つの<emptyCheck>
ノードを検証したいのですが、この例では3番目と4番目のノードが失敗します。
<?xml version="1.0" encoding="UTF-8"?>
<testRoot>
<emptyCheck/>
<emptyCheck></emptyCheck>
<emptyCheck> </emptyCheck>
<emptyCheck>x</emptyCheck>
</testRoot>
次のRelaxNGスキーマはほぼ機能します。上記のサンプルXMLは、の4番目のインスタンスでは失敗しますが、 3番目のインスタンスでは失敗し<emptyCheck>
ません。
<?xml version="1.0" encoding="UTF-8"?>
<grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0">
<start>
<element name="testRoot">
<oneOrMore>
<element name="emptyCheck">
<empty/>
</element>
</oneOrMore>
</element>
</start>
</grammar>
ほとんどのXML処理では、空白だけのノードは実際には重要ではないことを認識しています。コーディングスタイルガイドを適用できるように、これを解決したいと思います。それで、Relax NGスキーマを設定して、ノードが完全に空である必要があるときにノードに空白だけがあるかどうかをドキュメントが検証しないようにする方法はありますか?