2017-04-21 51 views
0

我有一個公司的XSD和XML示例文檔。然而,當我嘗試驗證XML對XSD它失敗:如何使用多種編碼(或至少多種語言)驗證XML

Error: Premature end of data in tag SomeTag line 2

有失敗無明顯原因,當我從文件中刪除外文字符它驗證。

我想使這個示例XML驗證,但儘可能少的修改(即我寧願不只是刪除外國字符徹底)。我知道我不能在文檔中添加第二種編碼,但據我瞭解,它現有的編碼(utf-8)應該能夠處理日文字符......如果它們使用UTF編碼(顯然來自失敗,他們不是)。

所以我的問題是,有什麼辦法可以在一些(理想的OSS)程序中打開這個文檔,然後用UTF-8編碼保存它,這樣日文字符不會打破驗證?如果沒有,有沒有其他方法可以使文檔驗證 - 能夠刪除其中的每個外部字符?

回答

1

基本上,您可以使用任何可以處理編碼的純文本編輯器。理想情況下,您可以使用專用的XML編輯器編輯XML文檔,但如果文檔涉及其編碼,這種特殊情況可能會很困難。

打開文檔後,如果日文字符看起來不正確,則需要更改編輯器解釋字符的方式(不會更改文件)。 例如,在Sublime Text中,有一個名爲「用編碼重新打開」的菜單命令,它提供了一長串常用編碼。 選擇看似可能的一個,然後再次檢查日文字符。 繼續嘗試,直到他們看起來不錯。

然後使用像「保存與編碼」,並選擇UTF-8的命令。 這最後一條命令將改變文件在磁盤上的保存方式。