zh-tw還是zh-TW

剛剛看了Jedi的好孩子的網頁設計的第八課,註解及標籤屬性,裡面提到了xml:lang這個用來標示標籤內容使用語言的屬性,而這個屬性的內容可以是簡單的兩個代表某種語言的英文字,使用的是ISO 639.2 : Codes for the Representation of Names of Languages這個標準,例如中文是zh。更詳細的話還可以包含國碼,使用的是ISO 3166 : English country names and code elements這個標準,以台灣為例,台灣的國碼是TW,而兩個代碼是用一個-合在一起,以台灣地區使用的中文為例,xml:lang屬性值就是zh-TW

然後這有個小問題是我再接觸到lang屬性時就有的,後面的國碼似乎有人用大寫,有人用小寫,我一直無法確定到底哪怎才是正確的,今天終於確認了,其實是大小寫都可以的,其實在W3C的規範裡是說要照ISO訂的國家代碼,不過事實上ISO所制定的國家代碼並沒有限定使用大寫還是小寫,常見到大寫只是一種習慣而已,所以lang屬性的屬性值裡也沒有限定使用大寫,此一結果參照的是W3C的Language tags in HTML and XML這篇文章,裡面說:Two-letter ISO subtags indicating country are commonly written uppercase, but this is only a convention