1
我想用RELAX NG結構來驗證xml。如何使用RELAX NG驗證Google購物XML?
我曾試圖像這樣一個變化:
<grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<element name="rss" version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<element name="channel">
<element name="title">
<data type="token"/>
</element>
<element name="description">
<data type="token"/>
</element>
<element name="link">
<data type="anyURI"/>
</element>
<oneOrMore>
<element name="item">
<element name="g:id">
<data type="long"/>
</element>
<element name="title">
<data type="token"/>
</element>
解釋所述標籤時的第一個問題是 「g:ID」,例如,我解決把的xmlns:G =「HTTP:// base.google.com/ns/1.0「在rss元素。
但我們可以在manual看到的,我們需要把版本=「2.0」在RSS元素標籤了。但是,如果我嘗試使用
<element name="rss" version="2.0" xmlns:g="http://base.google.com/ns/1.0">
我得到的錯誤:
PHP Warning: DOMDocument::relaxNGValidate(): Unknown attribute version on element in ...
如果我使用
<element name="rss" xmlns:g="http://base.google.com/ns/1.0">
我沒有錯誤,但= 「2.0」 是由需要版手冊。
我該如何解決這個問題?