11

XHTML ページを XML として提供することを学んでから、奇妙なことに気付き始めました。Firefox のソース コード ビューアで XHTML ページを表示すると、常にDOCTYPE がエラーとしてマークされます。マウスオーバーして得たツールチップによると、問題のエラーは「stray doctype」です。私が理解していることから、「迷子のdoctype」とは、ドキュメントの途中に、それが属していない余分なDOCTYPEがあることを意味しますが、ここではそうではありません。

以下に例を示します。このマークアップは検証に合格し、最新のすべてのブラウザーで正しく表示されます。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--FF source viewer will mark the preceding two lines as an error.-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
    <meta http-equiv="content-type"
      content="application/xhtml+xml; charset=utf-8" />
    <title>Sample XHTML Page</title>
  </head>
  <body>
    <p>This is an example.</p>
  </body>
</html>

これらのページは検証に完全に合格し、通常は 1 つの解析エラーでページが破損することを考えると、このエラー メッセージは特に奇妙です。

4

3 に答える 3

8

私はこの機能の開発者です。バグが見つかりました。(たった今ファイルしました。) ありがとう。

ビュー ソースの構文強調表示は HTML パーサーに基づいています。これは、当社の XML パーサーが目的に適しておらず、XML は非常にまれであるため、リソースを適切な XML ビュー ソースの実装に投入する意味がないためです。したがって、XML ビュー ソース機能は HTML パーサーのハックであり、この側面は正しく機能しません。

于 2013-11-19T08:49:31.857 に答える