2009-05-28 42 views
7

我有什麼可能是一個非常簡單的問題,但我無法在任何地方找到答案,我需要對此非常肯定。XML聲明標記是否區分大小寫?

我有來自不同廠商的各種XML文件。其中一個供應商向我提供了一個日文字符的XML文件。最初,我在處理XML文件時遇到了問題(我正在使用MSXML SDK)。角色會出錯。我發現如果將以下內容添加到XML文件中,那麼所有工作都很好。

<?xml version="1.0" encoding="UTF-16"?> 

因此我要求供應商將其添加到他們的文件。但它們與編碼增加它在小寫:

<?xml version="1.0" encoding="utf-16"?> 

當我打開這個新的文件,與此聲明,我發現了同樣的問題,當這個聲明是不存在。

我試圖找出(肯定)是如果該編碼屬性區分大小寫(或在其他方面的問題)。 他們把「utf-16」和「UTF-16」放在一起是否重要?

更新:在這些誰張貼答案在這裏的建議,我設置和執行測試。一個文件有小寫字母utf-16和另一個大寫字母。除此之外,這些文件是相同的。 這並沒有解決問題,而不是問題。我的結論是,MSXML不區分大小寫,因爲在答案中發佈的規範聲明。

+0

顯然,如果問題消失與一個版本,而不是另一個,那麼它確實很重要... – workmad3 2009-05-28 15:38:05

回答

10

我想這個問題是不是真的「是standrard區分大小寫?」但「是編碼區分大小寫在MSXML SDK?」

bytes.com

的XML規範說處理器 「應該」 匹配編碼名稱 不區分大小寫。 「應該」是一個技術術語,不如「必須」 強,但我看不出任何處理器爲什麼不這樣做。

但是,我們知道這在實踐中可能並非總是如此。如果您可以同時嘗試,請這樣做,讓我們知道結果是什麼。

+0

我可以和將來。它只需要很多努力來設置它。我希望有一個詳細的MSXML知識.... – 2009-05-28 15:42:41

8

XML specs

XML processors SHOULD match character encoding names in a case-insensitive way 

,所以它不是必要的,但recommened是不區分大小寫,根據RFC 2119

  • 應此詞,或形容詞「推薦」,意味着 可能存在正當的理由在 特定情況下忽略
    特定項目,而是充分 個影響必須被理解和
    選擇 不同之前要經過仔細權衡。
  • +0

    雖然你和JoshJordan的答案大致相同,但我會給他的答案,因爲他指出在實踐中可能並非如此,我們應該嘗試並行。但是,我確實適合你留下一個合適的答案,我會爲此+1。再次謝謝你。 – 2009-05-28 16:36:13