Erreur "stray doctype" dans le visualiseur de code source de firefox

depuis que j'ai appris à servir des pages XHTML comme XML, j'ai commencé à remarquer quelque chose d'étrange: chaque fois que je vois une page XHTML dans le visualiseur de code source de Firefox, le DOCTYPE est toujours marqué comme une erreur. Selon l'infobulle que j'obtiens de mousser sur elle, l'erreur en question est un "doctype égaré". D'après ce que j'ai compris, un "doctype égaré" signifie qu'il y a un DOCTYPE supplémentaire au milieu du document où il n'appartient pas, ce qui n'est certainement pas le cas ici.

voici un exemple - ce markup passera la validation, et s'affichera correctement dans tous les navigateurs modernes:

<?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>

Ce message d'erreur est particulièrement étrange, considérant que ces pages validation parfaitement, et qu'une simple erreur d'analyse normalement rupture de la page.

9
demandé sur Slartibartfast 2013-11-08 04:45:09

1 réponses

je suis le développeur de cette fonctionnalité. Vous avez trouvé un insecte. (Déposée juste maintenant.) Grâce.

afficher la mise en évidence de la syntaxe de la Source est basée sur L'analyseur HTML, parce que notre analyseur XML n'est pas adapté au but et que XML est assez rare pour qu'il ne soit pas logique de mettre des ressources dans la mise en œuvre de la source de vue XML appropriée. Par conséquent, la fonctionnalité source de la vue XML est un piratage de L'analyseur HTML et cet aspect ne fonctionne pas tout à fait correctement.

7
répondu hsivonen 2013-11-19 08:49:31