0
我有這種結構的XML文件:驗證XML與必需和可選的屬性值
<add>
<doc>
<field name="url">an Url</field>
<field name="title">a title</field>
<field name="author">an author</field>
</doc>
[[<doc>...</doc>][<doc>..</doc>]]
</add>
因此,在每一個「文檔」有相同的元素「場」具有相同屬性的「名稱」,但與不同的可能值:「網址」,「標題」,「作者」。
我需要驗證我的文件,以便對於每個'doc'屬性值「url」是必需的,但同時屬性值「title」和「author」是可選的。問題是它們都屬於同一個屬性'name'。
有沒有辦法在DTD或XML Schema中做到這一點?
你是對的,但那是我必須使用的程序所需的XML格式(Solr:https://wiki.apache.org/solr/UpdateXmlMessages#The_Update_Schema),所以我認爲我唯一能做的是創建一個定製的解析器來驗證該文件。謝謝 – user28791 2014-10-29 16:01:02
處理外部數據源或數據接收器的一個簡單方法就是堅持設計嚴格的XML,這樣就可以在外部XML格式和可以在內部使用(並驗證)的更容易理解的XML格式之間創建一個簡單的無損轉換。所以:寫一個自定義的驗證器是你可以做的一件事情,但不是你能做的唯一事情。 – 2014-10-30 14:29:48