- jan. 15, 2007
-
-
esj a rédigé
-
- jan. 13, 2007
-
-
esj a rédigé
Amélioration de [8179]: dans l'espace privé comme dans le public (i.e. les squelettes), on profite de la mise en cache de l'analyse des DTD pour aller y chercher la definition des entites html et ainsi contourner le bug de SAX de manière totalement fiable. En cas de Doctype indisponible (squelettes perso ou plugin, pour la distrib standard elle y est toujours) on continue à utiliser html2unicode (à qui il manque les entites dfinies dans xhmt_symbol.ent). A noter que SAX ne considère pas comme des entités les 4 cas particuliers notoires (amp lt gt quot) lorsqu'ils sont dans un attribut; c'est insuffisant mais ça suffit à contourner le bug proprement.
-
- déc. 24, 2006
-
-
esj a rédigé
Suite de [8144]: on charge maintenant les DTD appelées à l'intérieur d'une DTD, ce qui permet en particulier de charger celle définissant les entités symbol, special et lat1 réféncées dans la DTD XHTML Suite à cela et à [8179] le validateur peut maintenant dénoncer des entités présentes dans la page et non déclarées dans la DTD et ses inclusions Suite de [8149]: le validateur est plus modulaire et peut s'étendre par simple ajout de fonctions. Si une DTD contient un nouveau symbole S de type d'attributs (i.e. un symbole utilisé dans le meme contexte que ID, IDREF etc), le validateur appellera automatiquement la fonction validerAttribut_S censée vérifier que la valeur d'attribut est conforme à la rèlge associée à ce symbole. Suite de [8090]: l'erreur de conception de SAX est à présent systématiquement contournée sans plus vérifier que la DTD HTMLSymbol était référencée, ce qui n'était de toutes façons qu'un pis aller. Au cas où cette transformation des entités dans le charset déclaré serait malencontreuse, il suffira de surcharger le validateur par une variante n'appelant pas html2unicode.
-
- déc. 20, 2006
-
-
Christian Lefebvre a rédigé
-
esj a rédigé
Simplification de l'interface à l'indenteur/validateur, d'une part pour que l'indenteur ne s'encombre pas des données du validateur, et pour qu'on puisse écrire des validateur meilleurs que celui du W3C en récupérant un maximum de code. Il y a peu de programmation objet, mais entre les incompatibilités de PHP4 et PHP5 sur la question, et la folie de la sémantique de référence dans les deux cas, c'est minimal. A présent, il faut affecter dans mes_options.php une seule variable, qui sera le nom passé à charger_fonction à la fin de ecrire/index.php: {{{ $GLOBALS['transformer_xml'] = 'indenter_xml'; // pour l'indenteur XML $GLOBALS['transformer_xml'] = 'valider_xml'; // pour le validateur par DTD }}} Les spécifications de [8136] n'auront donc vécu que le temps de 13 dépots.
-