Le project Je travaille sur prend des fichiers HTML aléatoires, les convertit au mieux XHTML et les enveloppe avec des métadonnées XML. Le DOCTYPE est supprimé car le fichier XML résultant n'est pas un document XHTML. Toutefois, lors de la récupération du XHTML encapsulé à partir du fichier XML, le DOCTYPE doit être réinséré.Pourquoi l'utilisation de la DTD du jeu de cadres provoque-t-elle un échec de validation?
Parce que ce sont des fichiers HTML aléatoires ils pourraient contenir tout contenu, mais je préférerais ne pas avoir à stocker ou déterminer la DTD originale. J'ai pensé que je devrais le DDSet Frameset DTD car il était juste un surensemble de la DTD de transition et serait valable pour tout le contenu. Toutefois, lorsque vous utilisez le W3C XHTML Validator avec le même document, l'utilisation des passes de DTD transitoires, mais l'utilisation de la DTD de jeu de cadres échoue.
J'ai réduit le document au minimum avec lequel je peux reproduire le problème. Voici la version Frameset:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Make The Move</title>
</head>
<body style="background: none;">
<h3 id="why">Why should I move to Linux?</h3>
</body>
</html>
Et voici la version de transition:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Make The Move</title>
</head>
<body style="background: none;">
<h3 id="why">Why should I move to Linux?</h3>
</body>
</html>
S'il vous plaît expliquer pourquoi cela se passe, et comment je dois procéder.