我應該用UTF-8還是ANSI保存imsmanifest.xml?imsmanifest.xml應該是UTF-8還是沒有(Scorm 1.2)
ADL測試套件1.2似乎失敗,UTF8頭,但另一方面一些LMS將失敗,如果它不是UTF8。
我應該用UTF-8還是ANSI保存imsmanifest.xml?imsmanifest.xml應該是UTF-8還是沒有(Scorm 1.2)
ADL測試套件1.2似乎失敗,UTF8頭,但另一方面一些LMS將失敗,如果它不是UTF8。
UberAlex是正確的。 SCORM將它留給XML解析器。 SCORM只是說它需要是有效的XML。如果您在使用XML解析器時遇到錯誤,請確保您用於編輯和保存清單的工具實際上使用您指定的相同編碼對文檔進行編碼。如果您指定文檔爲UTF-8,但編輯器將其另存爲ASCII,則可能會遇到問題。
另外值得注意的是,在SCORM的運行時間部分,字符被編碼爲ISO 10646(或unicode。由於清單中的一些數據可以反饋到運行時,請確保您的字符串是與ISO 10646
同樣兼容,確保任何URL,文件路徑和參數字符串編碼正確的HTTP使用
這是不一致的。我認爲最好的方法是使用UTF-8並確保它在xml頭文件中顯式聲明。如果你看看定義文件 http://www.scorm.com/scorm-explained/technical-scorm/content-packaging/xml-schema-definition-files/有些是UTF-8,有些則不描述編碼。
似乎有不被編碼的準則要麼 http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/SCORM%20Resources/ADLGuidelines_V1PublicComment.zip
一提,我想這個問題應該在下面的層,即用XML解析器來處理。我可以給出的唯一建議是向xml頭添加顯式編碼信息,並確保它們是一致的 - 在文本編輯器中打開文件並確保它是UTF-8。
編輯:標題應該是這樣的:
<?xml version="1.0" encoding="UTF-8"?>
謝謝,但我改變了這樣的編碼,但測試套件仍然說錯誤在根元素之前的文檔中的標記必須是格式良好的。 – Tom 2009-09-30 08:15:51
你可以在任何地方發佈你的清單嗎? XML標頭之前是否有XML註釋?你有沒有尋找隱藏的編碼字符作爲文檔的開始? – 2009-10-05 19:48:45
這個答案大致正確,但包含一些技術上的不準確之處。如果您將XML文件聲明爲UTF-8但將其另存爲ASCII,則假設您的文件不包含非ASCII字符,則不會遇到問題,因爲UTF-8是ASCII的超集。但是,其他編碼不匹配會導致問題。 有關確保字符串與Unicode兼容的評論有誤導性。根據定義,有效的XML文檔僅包含可以用Unicode表示的字符數據。所有常用的編碼都是如此。 – 2010-02-02 12:56:31