Georges Racinet wrote:

On Oct 18, 2006, at 5:04 PM, Yves Bastide wrote:

Je vais voir comment corriger mon scrubHTML : soit rajouter des « tags autorisés » à VALID_TAGS, soit, si c'est possible, remplacer les tags inconnus par des <span>...

Ok, on reste à l'écoute

Ayé. En deux passes :
- boucle de recherche de balises ou attributs interdits (et réécrivant l'éventuel <meta encoding>)
- transformation XSL supprimant les balises non agrées

Le résultat est comparable à celui de l'ancienne version, modulo des différences de représentation de l'HTML



Dépendance sur lxml 1.0 : mon patch s'en occupe déjà

Parfait !



2b. j'attache aussi un word_to_text.py utilisant wvware : le mettre dans PortalTransforms/transforms, modifier transforms/__init__.py pour qu'il l'appelle, et l'ajouter sous la ZMI
On peut avoir ça aussi dans le ticket ? une source unique c'est plus simple.

Oui... Dès que j'aurai fait écrit test... Et lxml 1.1 n'est encore ni dans Debian, ni dans Ubuntu...

Hmh pour le coup ce serait pour 3.4.4, sauf si ça teste la version de lxml et fait ce qu'il faut si c'est < 1.1

Ack. J'en ai une version qui utilise XSLT et marche avec lxml 1.0. Mais je n'arrive toujours pas à exécuter des tests sous Zope 2.9 :-(

Quel est l'ordre de grandeur du gain au fait ?

Une centaine (A64 3400+) :

$ time wvHtml lang/c#/SpecificationVer2.doc /tmp/cs.html

real    0m1.839s
user    0m1.224s
sys     0m0.080s

$ ls -l /tmp/cs.html
-rw-r--r-- 1 1000 1000 558717 2006-10-23 18:12 /tmp/cs.html


>>> timeit.Timer("import utils; s = utils.lxmlScrubHTML(open('/tmp/cs.html').read())", 'gc.enable()').timeit(10)
2.4693601131439209
>>> timeit.Timer("import utils; s = utils.sgmllibScrubHTML(open('/tmp/cs.html').read())", 'gc.enable()').timeit(10)
237.51163792610168

Et getBodyText() prend la moitié du temps de lxmlScrubHTML().

_______________________________________________
cps-users-fr Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>

Répondre à