1
我想使用Relax NG模式來驗證XML文件。作爲驗證的一部分,我想確保一組節點中沒有空白。例如,我想前兩個<emptyCheck>
節點來驗證,但第三和第四那些在這個例子中失敗:使用Relax NG來驗證XML節點是空的並且沒有空白空間
<?xml version="1.0" encoding="UTF-8"?>
<testRoot>
<emptyCheck/>
<emptyCheck></emptyCheck>
<emptyCheck> </emptyCheck>
<emptyCheck>x</emptyCheck>
</testRoot>
下RELAX NG模式幾乎工作。上面的示例XML在<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模式,以便文檔不會驗證節點是否應該完全空白時纔有空白區域?
我使用的驗證器是隨Oxygen XML Editor(v13)一起提供的驗證器。該解決方案按預期工作。謝謝。 –