none
IE7.0讀取DTD錯誤? RRS feed

  • 問題

  • 各位大大,請教一下,不知有沒有人遇到類似的狀況

    原本在IE6的瀏覽上正常,但更新成正式的IE7.0時,瀏覽時卻出現:「此摘要包含 DTD (文件類型定義)。DTD 是用來定義網頁的結構。Internet Explorer 不支援摘要中的 DTD。」此錯誤訊息

    有什麼我該注意或都有任何資訊可查詢呢?

    2006年12月7日 上午 07:34

解答

  • 請問是所有「摘要」的網站都出現同樣的這個問題嗎?
    如果是單一網站的問題,可能要請該網站的管理者處理,使其修改成與 IE7 相容的格式:

    The little rss icon - what makes it glow?

    2006年12月7日 下午 04:09
  • IE7有嚴重的識別RSS的問題,首先IE7 以XML內是否包含紅字的標籤,做為識別RSS內容的判定,然而這份XML文件明顯的非RSS 文件,但IE7完全不理會這文件需要經過XSL 剖析,這樣是不正確的,XML的標籤並不是判斷文件內容意義的依據,這一點應該是IE7的BUGS;此外也發現,如果在裡面故意標示<RSS VERSION="2.0"> </RSS>IE7第一次會以RSS 的動作處理(不會像前面的問題顯示ie不支援摘要式內含DTD ),然而第二次登入該頁時,IE7會HANG住(據猜想是因為這本來就不是RSS文件,導致IE7 無法正確執行掉入無窮回圈)然後完全沒反應,直到由TASK MANAGE 刪除PROCESS 後才可關閉IE7

    上述發生的問題非DTD所引發,也非RSS 相關的問題;事實上測試的結果是,IE7 會依據XML標籤名稱來判斷文件是否為RSS,然而這與XML的標準有落差,總不能被解釋為這些紅字是IE7專用的保留字(標籤)吧!!

    額外描述:此XML 標頭的輸出也明確標示為 Content-Type: text/xml; charset=utf-8

    這個問題我暫時在此描述,相關的問題我們還會在網路上探討,或是直接把問題報告給微軟的 bug report

    <!DOCTYPE xsl:stylesheet [<!ENTITY nbsp '&#160;'>]>
    <?xml-stylesheet type="text/xsl" href='./XXXX.htm?src=main.xsl' ?>
    <ROOT>
    <OTHER>
    <RSSHEADLINEID>$rss_headline_id</RSSHEADLINEID>
    <FIRSTRECORDPOINTER>$IN{CGI_FIRSTRECORDPOINTER}</FIRSTRECORDPOINTER>
    <RSSCHANNEL>$CGI_RSSCHANNEL</RSSCHANNEL>
    </OTHER>
    <PRSSNEWS>
    $RSSNEWS
    </PRSSNEWS>
    <PORTALNEWS>
    $IN{CGI_NEWSONLINELIST}
    </PORTALNEWS>
    </ROOT>

     

     

    2006年12月13日 上午 05:06

所有回覆

  • IE7 不支援該網站的 Document Type Definition (DTD) ,可能是與 XML 文件中某些元件屬性或是內容的定義有關係,IE7 無法正確選擇相容模式或是標準模式來瀏覽網頁。
    2006年12月7日 上午 09:47
  • 請問是所有「摘要」的網站都出現同樣的這個問題嗎?
    如果是單一網站的問題,可能要請該網站的管理者處理,使其修改成與 IE7 相容的格式:

    The little rss icon - what makes it glow?

    2006年12月7日 下午 04:09
  • 先前回覆的是說明發生的原因,現在補上解決方式
    Windows RSS Publisher's Guide (work-in-progress)

    2006年12月7日 下午 04:23
  • 謝謝您的回答,這讓我有很好的方向去了解~謝謝
    2006年12月8日 上午 01:54
  • IE7有嚴重的識別RSS的問題,首先IE7 以XML內是否包含紅字的標籤,做為識別RSS內容的判定,然而這份XML文件明顯的非RSS 文件,但IE7完全不理會這文件需要經過XSL 剖析,這樣是不正確的,XML的標籤並不是判斷文件內容意義的依據,這一點應該是IE7的BUGS;此外也發現,如果在裡面故意標示<RSS VERSION="2.0"> </RSS>IE7第一次會以RSS 的動作處理(不會像前面的問題顯示ie不支援摘要式內含DTD ),然而第二次登入該頁時,IE7會HANG住(據猜想是因為這本來就不是RSS文件,導致IE7 無法正確執行掉入無窮回圈)然後完全沒反應,直到由TASK MANAGE 刪除PROCESS 後才可關閉IE7

    上述發生的問題非DTD所引發,也非RSS 相關的問題;事實上測試的結果是,IE7 會依據XML標籤名稱來判斷文件是否為RSS,然而這與XML的標準有落差,總不能被解釋為這些紅字是IE7專用的保留字(標籤)吧!!

    額外描述:此XML 標頭的輸出也明確標示為 Content-Type: text/xml; charset=utf-8

    這個問題我暫時在此描述,相關的問題我們還會在網路上探討,或是直接把問題報告給微軟的 bug report

    <!DOCTYPE xsl:stylesheet [<!ENTITY nbsp '&#160;'>]>
    <?xml-stylesheet type="text/xsl" href='./XXXX.htm?src=main.xsl' ?>
    <ROOT>
    <OTHER>
    <RSSHEADLINEID>$rss_headline_id</RSSHEADLINEID>
    <FIRSTRECORDPOINTER>$IN{CGI_FIRSTRECORDPOINTER}</FIRSTRECORDPOINTER>
    <RSSCHANNEL>$CGI_RSSCHANNEL</RSSCHANNEL>
    </OTHER>
    <PRSSNEWS>
    $RSSNEWS
    </PRSSNEWS>
    <PORTALNEWS>
    $IN{CGI_NEWSONLINELIST}
    </PORTALNEWS>
    </ROOT>

     

     

    2006年12月13日 上午 05:06