Lib Xml, alternative de SimpleXml pour PHP < 5

ViPHP
ViPHP | 4674 Messages

16 mai 2007, 11:18

:wink:

J'ai résolu le bug, mais j'ai un cas particulier pour lequel ça ne fonctionne pas.
Je te demande d'attendre un petit peu (en espérant qu ça dur un petit peu de temps lol)

Merci.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 4674 Messages

16 mai 2007, 11:40

Voilà, je n'arrive pas à résoudre ce bug, mais il a trèès peu de chance d'arriver.
Et je n'ai surtout pas le temps de le résoudre (partiels obligent désolé).

Je mets à jours sur PHPFrance et PHPClasses.

PS : Dis moi si ça fonctionne pour toi maintenant.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphant du PHP | 53 Messages

16 mai 2007, 12:16

merci ça marche mtn!

:wink:

Eléphant du PHP | 53 Messages

29 mai 2007, 21:33

Lu Hywan!

J'espère que ta session d'exam se passe bien!

En utilisant ta classe, j'aurais voulu émettre une petite remarque (constructive hein!)

En fait j'ai remarqué que quant un tag du fichier XML était présent plusieurs fois, tu les mettais logiquement dans un autre tableau avec indice 0,1,2, etc...

Par contre quant il n'y a qu'un seul tag d'une sorte, tu ne le mets pas dans un tableau mais directement .

Ex avec plusieurs fois le tag TPL dans le XML

Code : Tout sélectionner

[tpl] => Array ( [0] => Array ( text => array(...), menus => array(...)) [1] => Array(...)
Ex avec une seule fois le tag tpl dan le XML

Code : Tout sélectionner

[tpl] => Array ( text =>array(...) menus =>array(...) )
Je trouve qu'il serait plus facile à utiliser si d'office tu mettais les valeurs, attributs et autres arguments du tag XML dans un tableau quelque soit le nombre d'éléments (1 ou plus)

Comme ça c'est plus général et surtout plus maléable si on veut manipuler le tableau. Apr exemple, avec cette version je ne sais voir directmeent combien d'éléments de type x j'ai car si je fais un count($r['x]) avec un XML où apparait une seule fois le tag x, il me sort le nombre de sous-tags présents.

Si je fais un count($r['x']) dans le cas où x apaprait 3 fois il me sort 3...

pas facile d'avoir directement une arborescence facile de mon fichier

Qu'en penses-tu et quel serait éventuellement la portion de code à rectifier si besoin est ?

Bon job en tout cas ça me sert bien!

Merci

:wink:

ViPHP
ViPHP | 4674 Messages

30 mai 2007, 11:37

J'ai beaucoup galérer pour faire l'affichage normal, et on modifie pour une indexation si plusieurs éléments trouvés.

Donc revenir en arrière est un fait des plus faciles.
Seulement, je ne pense pas le faire. Voici pourquoi.

Le principe d'avoir des arrays imbriqués nous permet une grande souplesse d'exploitation : $fichierXml['tag1']['tag2']['tag3'] pour accéder au troisième noeud, et au tag3 : ou encore : $fichierXml['tag1']['tag2-ATTR']['id'] pour accéder au second noeud, et à l'attribut id du tag2.
C'est beaucoup plus simple d'écrire de cette façon.

Maintenant, imaginons qu'on indexe même si on a 1 (soit l'index 0) élément. L'écriture sera de la forme : $fichierxml[0]['tag1'][0]['tag2'][0]['tag3'] ce qui franchement, n'est pas top top.

Mes réflexions du moment :
Je me penche sur le cas XSLT et XSL-FO, et a fortiori sur XPath et XQuery.
Ce qu'on pourrait faire, c'est forcer l'indexation, et utiliser le comportement de XPath (à travers une fonction) pour appeler les éléments.
Et si on veut compter les éléments, ou faire des choses du même genre, on utiliserait directement le tableau de sortie, sans passer par la « fonction XPath ».

Néanmoins, je retiens la proposition.
Je me penche déjà sur le cas XSLT en ce moment (et YAML, mais c'est une autre histoire ;-)), puis XPath(/XQuery). Donc on verra à ce moment là :)

Merci pour la proposition.

Bonne journée ;-)
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).