2011-11-27 56 views
0

我正在處理GPX文件,我正在用Java解析它們。我正在使用javax.xml.validation.Validator來確保它們符合GPX模式。問題是,我的文件用一個結尾:GPX文件:匹配的通配符是嚴格的,但是沒有聲明可以找到元素

<TopoFusion:color>ff0000</TopoFusion:color> 
<TopoFusion:graph>0</TopoFusion:graph> 
</gpx> 

,這TopoFusion元素顯然不是在GPX架構中定義,導致驗證失敗。但是,如果我要忽略此元素,該文件是有效的。任何想法如何克服這個問題?我想盡可能通用,不要簡單忽略TopoFusion元素,因爲它可以是任何東西。

希望我的問題很清楚。任何幫助都感激不盡。

問候,

斯托

+0

問題是什麼?你有一個明顯無效的文件(一個使用不屬於gpx方案一部分的命名空間),你希望這個文件有效嗎?那麼,首先對模式進行驗證的重點是什麼? – Eddy

+0

謝謝艾迪。好點子。不幸的是,我沒有非常明確地提出我的問題。事情是,使用Xerces SAXParser,該文件證明是有效的,我想知道我的程序有什麼問題。但是,在對GPX模式進行調查之後,它允許將此特定元素存在於gpx文件中。我在現在修復的代碼中存在一個錯誤。非常感謝您指引我朝着正確的方向發展。 – Petar

回答

0

更徹底調查GPX模式後,我發現,在.GPX文件結束這兩種元素被允許從GPX模式存在。所以,問題是我的驗證方法存在問題,現在已經修復。

相關問題