Livres ou tuto?

Livres ou tuto? - XML/XSL - Programmation

Marsh Posté le 12-01-2005 à 20:31:29    

Bonjour,
 
Pour mon nouveau projet je me trouve à devoir afficher toutes les sorties de mes scripts en XML/XSL.
 
J'ai quelques connaissances rudimentaires, mais ça s'arrete la, je voudrais donc savoir si quelqu'un a un livre a me conseiller. Je suis allé voir sur le site des editions O'reilly (qui m'ont deja été recommandées bien des fois pour d'autres ouvrages) et j'ai été assez déçu de voir la date de parution de leurs livres sur le sujet :
 
Learning XSLT : August 2001
Learning XML : September 2003  
 
Qui me semblent etre les 2 ouvrages qui ciblent le plus ce que j'ai besoin, sinon il y a aussi :  
 
XML in a Nutshell : September 2004  
 
dont la date de parution me semble plus adequate, mais bienque j'ai eu l'occasion de le feuilleter cet apres-midi dans la librairie du quartier, je ne suis pas arrivé a comprendre totalement a quoi "Nutshell" fait reférence.
 
J'ai eu l'occasion de lire plusieurs tutoriels, mais je prefere apprendre un langage sur un bouquin (que je peux amener en bus, en train, a l'ecole,...) plutot qu'un tutorial que je peux difficilement anoter.
 
Avez vous d'autres livres a me conseiller?
 
Derniere question, parmi les phpteux, y a-t-il qqn qui saurait me confirmer que les fonctions xsl (notamment la fonction xsl_xsltprocessor_register_php_functions() ) ne sont accessible des php5? Parceque sur le site www.php.net je trouve que ca reste flou.
 
Merci d'avance

Reply

Marsh Posté le 12-01-2005 à 20:31:29   

Reply

Marsh Posté le 13-01-2005 à 16:33:16    

Je viens d'aller voir sur le site www.xml.com , apperemment ils conseillent les livres des editions o'reilly... C'est juste du "pistonnage" (etant donné qu'apperemment les 2 sites sont assez ... liés...) ou alors c'est vraiment des bons livres?
 
D'ailleur, le site www.commentcamarche.net cite aussi les livres des editions o'reilly comme bouquins de referance ... Des commentaires?
 
Svp ...


Message édité par esox_ch le 13-01-2005 à 16:38:04

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 13-01-2005 à 17:20:13    

www.w3schools.com est pas mal aussi

Reply

Marsh Posté le 13-01-2005 à 18:08:45    

J'ai lu leur tuto sur l'xml il y a quelques temps. Je l'ai trouvé bien si on veut juste savoir vaguement ce qu'est l'xml. Mais je le trouve trop basic. Je suis en train de lire en ce moment meme leur tuto xslt mais il me semble qu'on puisse y faire le meme reproche


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 13-01-2005 à 21:55:12    

Bah faut pas s'attendre à un truc pas à pas qui détaille tout. De toute façon, le XML, dans les grandes lignes, y'a vraiment pas grand chose à en dire... C'est un format de données, ça s'arrête là.
Pour les XSLT, la description de chaque instruction me semble amplement suffisante non ?
 
Sinon, pour faire plus simple, il suffit d'aller en voir la définition sur www.w3.org et à mon avis c'est largement suffisant.

Reply

Marsh Posté le 13-01-2005 à 22:08:32    

Je ne te suis pas sur ce coup là pour XSLT, Arjuna. Les bases de XML sont simples mais avec XSL, ça peut pas mal se compliquer et les sources sur internet sont souvent lacunaires.
 
J'ai p.e. récemment dû faire un tri sur deux clefs et après une recherche (sommaire), je n'ai pas trouvé d'exemple sur le net et j'ai dû trouver par moi-même (l'option la plus insensée que j'ai naturellement tenté en premier lieu était la bonne :))
 
Et puis, y'a pas plein d'autres choses très puissantes et pas intuitives avec c'te bête là.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 13-01-2005 à 22:31:26    

Bah... Je dois avoir un feeling particulier avec le XSLT, parceque j'ai trouvé du premier coup :sweat:
 

Code :
  1. <xsl:for-each select="catalog/cd">
  2.       <xsl:sort select="artist" />
  3.       <xsl:sort select="title" />
  4.       <tr>
  5.         <td><xsl:value-of select="title"/></td>
  6.         <td><xsl:value-of select="artist"/></td>
  7.       </tr>
  8.    </xsl:for-each>


(j'ai juste remis un sort après le premier)
 
ps: j'ai jamais fait de XSLT faisant des tris, je les fait habituellement avant de générer mon flux xml (qui provient toujours d'une base)


Message édité par Arjuna le 13-01-2005 à 22:32:19
Reply

Marsh Posté le 13-01-2005 à 22:43:41    

Ouais beh, tu vois, ce truc là, je sais pas si c'est super documenté. C'est bien ce que j'avais essayé, en n'y croyant pas une seule seconde.
 
Et tu ne peux pas tjs contrôler le flux XML, s'il a été p.e. créé par une librairie qui transforme p.e. un objet java en xml :sweat:


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 13-01-2005 à 22:44:59    

J'ai vu qu'autour de la planete XML gravitent une tonne d'autres satelites (DTD,DOM,...) qu'il me plairait d'avoir rassemblés dans un meme livre (et dans ce cas, le livre d'oreilly a propos de XML nutshell me semble pas mal). Parcontre c'est vrai que le XSLT a l'air vraiment interessant et riche, et c'est dommage de s'arreter aux explications assez sommaires qu'ils proposent sur le site.. Parcontre ton truc du flux m'interesse beaucoup. Pensez vous qu'il est plus rentable en terme de performances de gerer les tris & co cotés PHP generant un ficher XML ou plutot de stocker le tout en vrac dans l'xml et de laisser le Xslt faire le tri?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 14-01-2005 à 01:04:01    

Y'a des tas de gens convaincus de la rapidité du XML.
Pour moi, ça reste de bêtes chaînes de caractère qu'un parseur doit se faire chier à ordonner dans un arbre en mémoire.
A côté de ça, en PHP généralement tu tapes dans une base de données, qui utilise des mécanisme infiniement plus puissants et rapides (va donc me faire des sous-totaux en XSLT en fonction d'une valeur de tag).
 
Bref, pour moi, je XSLT ça se résume à transformer en XHTML un flux XML déjà bien ordonné. Ca peut, dans certains cas, servir à autrechose, mais dans l'usage courant (sites web, etc.), ça s'arrête là... Et à mon sens, moins on en fait dans le XSL et mieu tout le monde se porte.
 
Quand à la richesse du XSL, ça se résume quand même à 4 pauvres fonctions bateau et super limitée (pas de variable, pratique pour faire des traîtements de mise en forme, style des sous-totaux). Les DTD, ça se résume à un typage des éléments, et à la mise en place de relations... Et quand à DOM, un moyen d'interroger de façon logique les données du document.
 
Bref, tout ce qu'un SGBD sait faire en infiniement mieu (plus riche, plus rapide et plus strict).
 
Je suis très loin d'être convaincu par le truc, pour moi son utilisation se résume à cette d'un fichier plat contenant des données : transferts de données et paramètrage, avec en plus la gestion de mise en forme (le apply-templates c'est bon mangez-en).
Pour tout ce qui est des traîtements sur les données (filtres, tris, groupements, etc.) pour moi le XML est une fumisterie, y compris dans les domaines où on le trouve excessivement : l'embarqué. Je reste convaincu de la suppériorité des bons vieux fichiers de records, qui marchent depuis la création de l'informatique, et qui n'ont jamais été supplantés d'un point de vue technique. Mais non, c'est la mode du XML, donc j'ai besoin d'avoir dans mon téléphone la puissance de calcule de la planète entière il y a 30 ans pour stocker les 5 contacts de ma puce SIM en fichier XML, alors qu'il y a 30 ans, la sécu savait très bien gérer le fichier de ses 30 millions d'assurés avec un processeur infiniment moins rapide que celui d'un téléphone portable actuel... (1 MHz, ça permet déjà de traîter 1 Mo d'octets avec un processeur 8 bits - (truc que même une télécommande de porte de garge supplante aujourd'hui). Avec des processeurs 16 ou 32 bits 30 fois plus rapides (donc jusqu'à 120 fois plus d'octets traîtable dans le même temps), on met 5 secondes à arriver dans le menu "contacts" d'un téléphone portable. Vive le XML et les usines à gaz associées moi je dis. Quel progrès :)
 
(vi, je sais, on n'est pas vendredi, mais quand je vois ce qu'était capable de faire mon commodore 64 (8 bits / 64 Ko de mémoire / - de 1 MHz) à côté de ce que fait un palm aujourd'hui, j'ai envie de pleurer de rire.
 
Voilà un descriptif technique d'un C64 (sur lequel des tas de sociétés on géré leur applications de compta pendant des années)
http://fr.wikipedia.org/wiki/Commodore_64
 
Je trouve pas la fiche technique d'un téléphone portable moyen de gamme (qui sert à téléphoner, envoyez 3 SMS et stocker 3 contacts, et afficher la photo de mon chien dans une résolution inférieure - mais bon, c'est en 65000 couleurs, c'est mieu), mais il y a quelques temps, on tournait autour d'un 486DX2/66 (soit un processeur 32 bits cadencé à 66 MHz avec FPU, un truc qu'on trouvait dans les serveurs x86 haut de gamme il y a moins de 10 ans, tout à fait capable de faire tourner NT4 Server et Oracle 7 dans une quantité de mémoire souvent inférieure à cette d'un téléphone actuel). Seulement, à l'époque, y'avais pas de XML et autre truc géniaux du même genre.
 
 
Très franchement, ça me laisse rêveur.


Message édité par Arjuna le 14-01-2005 à 01:32:52
Reply

Marsh Posté le 14-01-2005 à 01:04:01   

Reply

Marsh Posté le 14-01-2005 à 09:50:13    

Arjuna a écrit :

(vi, je sais, on n'est pas vendredi, mais quand je vois ce qu'était capable de faire mon commodore 64 (8 bits / 64 Ko de mémoire / - de 1 MHz) à côté de ce que fait un palm aujourd'hui, j'ai envie de pleurer de rire.


Ah ben si, on était vendredi en fait [:ddr555]

Reply

Marsh Posté le 14-01-2005 à 10:15:56    

C'est vrai qu'il y a toute une partie "buzz words" et effet de mode qui auréole XML et les technologies qui s'y rapportent.
 
C'est vrai que XML est largement galvaudé et mis à des sauces qui ne conviennent pas.
 
C'est vrai que c'est bête et méchant, mais il ne faut pas jeter bébé avec l'eau du bain.
 

Citation :

Quand à la richesse du XSL, ça se résume quand même à 4 pauvres fonctions bateau et super limitée (pas de variable, pratique pour faire des traîtements de mise en forme, style des sous-totaux)


Oh que non. Les variables existent ! Et bien d'autres choses encore.
 

Citation :

Les DTD, ça se résume à un typage des éléments, et à la mise en place de relations...


Tu as aussi les schémas là ou un DTD ne suffit pas. Les DTD sont relativement simples : tant mieux.
 

Citation :

Je reste convaincu de la suppériorité des bons vieux fichiers de records, qui marchent depuis la création de l'informatique, et qui n'ont jamais été supplantés d'un point de vue technique.


A nuancer. En matière d'interconnexion de systèmes, il est tout de même vachement plus sympathique de pouvoir se reposer sur un standard. Tu peux alors utiliser n'importe quel librairie pour le triturer (DOM, SAX, ...). Alors que si le format de ton fichier est propriétaire, il faut se farcir la plomberie bas niveau pour l'interpréter.
 
Comment représentes-tu une hiérarchie ? C'est tellement simple avec XML. Ca peut servir de fichier de config ou de propriété mieux qu'un fichier plat et surtout, c'est facilement utilisable par un outil tiers.
 
Pour le reste, je suis comme toi, parfaitement sidéré par ce qu'on arrive plus à faire avec du matériel de plus en plus puissant (mais tout le monde est content).
 
Commodore 64 rulez ! ;)


Message édité par sircam le 14-01-2005 à 10:16:20

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 14-01-2005 à 17:24:13    

Et pour en revenir au titre du topic (dsl :p), niveau ouvrages de referance?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed