r8933 - spip/ecrire/xml

Author: esj@rezo.net
Date: 2007-03-26 13:02:58 +0200 (lun, 26 mar 2007)
New Revision: 8933

Log:
Amélioration du compilateur de DTD, afin de pouvoir analyser correctement la DTD XHTML+MATHML/SVG (voir le {{sleeping draft}} de 2002: An XHTML + MathML + SVG Profile). On admet à présent un niveau d'inclusion supplémentaire (pas encore général, mais ça permet d'avancer) et on traite les phénomènes de double évaluation dans les DTD, genre (quelle syntaxe horrible; à vous faire aimer les XML-Schema, c'est tout dire):
<code>
<![%MATHML.module;[
<!ENTITY % xhtml-qname-extra.decl
    'PUBLIC "-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
            "%MATHML.qname.sysid;"'

<!ENTITY % xhtml-qname-extra.mod
    %xhtml-qname-extra.decl;

]]>
</code>

Bilan: la DTD en question est bien compilée (1633 macros, 345 elements, 345 listes d'attributs, 2118 entites) mais il se confirme que l'espace de nom n'est pas encore géré par Spip. A suivre donc, mais au moins Spip ne laisse plus croire que le document est valide, alors qu'auparavant sa réponse était sybilline.

Modified:
   spip/ecrire/xml/analyser_dtd.php
   spip/ecrire/xml/interfaces.php

Details: http://trac.rezo.net/trac/spip/changeset/8933