PHP/XML Validation qui dure des heures - PHP - Programmation
Marsh Posté le 01-08-2005 à 10:08:52
C'est normal Qui dit valider dit DTD nécessaire. Donc il doit télécharger la DTD sur le site du W3C, qui est bien bondé niveau demandes...
Donc suivant ton parseur, et si tu es maître de ton serveur web, tu peux foutre un catalogue XML pour qu'il cherche la dtd en locale... sinon, bah avec de l'xpath tu peux récupérer un truc facilement via l'id...
Marsh Posté le 01-08-2005 à 12:41:46
C'est bien ce que je me disais qu'il récup la DTD sur W3C vu les logs.
En fait mon parseur c'est php avec l'interface DOM donc libxml
Je vais voir si il y a possibilité de foutre un catalogue (j'en avait entendu parler pour un autre parser mais j'ai pas percuté).
Pour l'XPath je vais voir sinon mais ça prend du temps aussi mais bon entre valider + getElementById et un XPath je pense que le XPath est plus rapide
Marsh Posté le 01-08-2005 à 14:20:02
Ouais, grave plus rapide. Solution :
function &get_by_id(&$dom, $id) { |
C'est dommage que la recommandation xml:id ne soit pas encore sortie. Ca permet de mettre partout un attribut xml:id, du coup pas besoin de valider pour savoir quel attribut est de type ID...
Marsh Posté le 01-08-2005 à 14:24:21
http://php5.bitflux.org/xmlonspeed/slide_24.php montre qq optimisation, cependant c'est moins générique donc quand on sait où se trouve notre node un peu près il peut être sympa de l'optimiser
Merci sinon
Sinon fodra que je te pose qq question sur ton système de template XSLT parce que c'est ce dont je pensais faire pour mes futurs projets
Marsh Posté le 01-08-2005 à 14:25:51
Ah ben c'est sûr que quand on sait où c'est Envoi un peu ta structure
Marsh Posté le 01-08-2005 à 14:46:23
ReplyMarsh Posté le 01-08-2005 à 14:49:12
M Orthographe a écrit : Je veux bien être gentil mais "les gas"..... |
"Je veux bien être gentil, mais «les gas»...
Marsh Posté le 01-08-2005 à 14:51:19
C'est juste un fichier XHTML, donc déjà je peux lui dire de chercher dans le body et dans le paragraphe qui m'interresse.
Mon exemple est pas très interressant j'ai juste fait pour voir la puissance du DOM.
Marsh Posté le 01-08-2005 à 14:51:25
Tu as parfaitement raison FlorentG, j'ai omis la virgule...
Marsh Posté le 01-08-2005 à 14:52:00
Du coup l'expression xpath serait :
/html/body/p[@id='pouet'] |
Marsh Posté le 01-08-2005 à 15:01:57
Hmmm ta fonction il faut la mettre en php5 avec DOM et plus DOM XML jvais le faire
Marsh Posté le 01-08-2005 à 15:02:39
Ouais là c'est du PHP4, mais domxml toujours
Sous PHP4, c'est DOMXML
Sous PHP5, c'est DOM tout court
Marsh Posté le 01-08-2005 à 15:45:54
Voila pour une version PHP5
A noter que DOMXpath->evaluate() n'est pas dispo avant php 5.1
Code :
|
Marsh Posté le 31-07-2005 à 18:18:29
Je fais un ptit traitement XML sur un fichier XHTML mais je voulais utiliser GetElementById mais celui-ci nécessite une validation du fichier. J'ai donc mis avant mon appel $xhtml->validate(); mais après avoir testé avec XDebug la fonction prend 8sec pour s'éxecuter, je peux virer ça ?