Aide mémoire XPath 1.0

Posté par  (site web personnel) . Modéré par rootix.
Étiquettes : aucune
0
2
avr.
2004
Doc
XPath est un langage non-XML recommandé par le W3C pour localiser et manipuler les noeuds des documents XML. Il est ainsi le langage utilisé au travers d'XSLT et de XPointer. Malgré le grand nombre de documentations et de tutoriels disponibles sur l'Internet comme dans la presse, il n’est pas évident pour le développeur habitué aux requêtes SQL de faire si nécessaire la transition vers XSLT/XPath et XML. De manière à simplifier la compréhension de XPath, voici un aide mémoire destiné principalement à ceux qui connaissent le langage SQL. Ce document propose une ou plusieurs solutions XPath correspondant aux principales requêtes SQL.

Note : Les pages du site hébergeant l’aide mémoire sont générées à la volée grâce à des transformations XSLT. Il est fortement recommandé d’utiliser un navigateur basé sur une assez récente version Gecko.

Aller plus loin

  • # Re: Aide mémoire XPath 1.0

    Posté par  (site web personnel) . Évalué à 1.

    Tres interressant.
    Sinon, je voulais savoir si la version PDF du document avait été généré grace à XSL-FO ?

    Personnement je trouve que ce type de transformation est assez compliqué et si c'est qui est utilisé pour fénéré ce PDF, je suis impressioné.
  • # Re: Aide mémoire XPath 1.0

    Posté par  . Évalué à 2.

    Le premier lien n'est pas un lien vers un document HTML mais vers un document XML (donc illisible dans un navigateur HTML uniquement).
    • [^] # Re: Aide mémoire XPath 1.0

      Posté par  (site web personnel) . Évalué à 1.

      Il est normalement lisible dans un navigateur qui respecte les standards. La transformation xsl a la volé est quelque chose qui devrait normalement pouvoir etre fait pas les navigateurs.
      • [^] # Re: Aide mémoire XPath 1.0

        Posté par  (site web personnel) . Évalué à -2.

        navigateur qui respecte les standards ça ne veut rien dire ici :
        - déjà tu confonds avec norme et standard : vu que IE a l'écrasante majorité du marché, le HTML qu'il sait lire devient la norme de facto, qui n'a aucun rapport avec la norme (X)HTML définie par le W3C
        - ensuite la notion de "respect des normes", sans préciser lesquelles, c'est vague : UDP, HTTP, DVB-T, ISO9002, ... de quelles normes parles tu ?
        Et pis bon, les normes qu'on attend généralement qu'un navigateur web (graphique) respecte, c'est XHTML, CSS, ECMAScript, mais pas XSLT...
        • [^] # Re: Aide mémoire XPath 1.0

          Posté par  (site web personnel) . Évalué à 2.

          <?xml version="1.0" encoding="ISO-8859-1"?>
          <?xml-stylesheet type="text/xsl" href="xsl/default.xml"?>
          <xemmet xmlns:xsl="http://www.w3.org/1999/XSL/Transform(...)">
          [...]
        • [^] # Re: Aide mémoire XPath 1.0

          Posté par  (site web personnel) . Évalué à 3.

          Et pis bon, les normes qu'on attend généralement qu'un navigateur web (graphique) respecte, c'est XHTML, CSS, ECMAScript, mais pas XSLT...

          Ah oui et pourquoi ca ?

          Ton navigateur supporte bien le CSS non ? Tu es bien en droit d'attendre qu'il le fasse. Les feuilles XSL permettent de transformer le code XML en XHTML et c'est pour moi une évolution qui devrait être prise en compte, au meme titre que le SVG devrait être integré en standard.

          Je trouve que ca serait bien si on pouvait écrire des docuemnts dans un format xml qui correspond a nos besoin, puis qui est ensuite mis en forme en xml grace a de l'XSL pour que ca s'adapte au navigateurs web. Mais on peut tres bien faire en sorte de l'envoyer dans de l'xsl-fo pour en faire des pdf ou d'autre types de documents. (D'où ma question d'en haut)...

          Le site de frédéric montre bien que c'est possible... Et à mon avis, c'est vers ce découpage qu'est l'avenir du web.
  • # Re: Aide mémoire XPath 1.0

    Posté par  . Évalué à 1.

    Très intéréssant !

    On peut faire des jointures ?
    • [^] # Re: Aide mémoire XPath 1.0

      Posté par  . Évalué à 1.

      En parlant de transformation XSLT à la volé, il existe une doc ? En gros comment fonctionne le site?
      • [^] # Re: Aide mémoire XPath 1.0

        Posté par  . Évalué à 4.

        Voici les 2 premières lignes de la page :

        <?xml version="1.0" encoding="ISO-8859-1"?>
        <?xml-stylesheet type="text/xsl" href="xsl/default.xml"?>

        Son document XML va être transformé en html à travers la moulinette de la feuille de style XSLT "xsl/default.xml"

        Voilà, tu n'as "plus qu'a" apprendre à faire des feuilles de style XSL-Transform :
        http://xmlfr.org/w3c/TR/xslt/(...)
        • [^] # Re: Aide mémoire XPath 1.0

          Posté par  . Évalué à 1.

          Merci monsieur l'architecte.

          Mais alors du coup je vois pas trop le rapport avec ce schémas : http://www.fragbase.com/image/xslt.png(...)

          Y'a pas besoin des servlets et tout ca ...
          • [^] # Re: Aide mémoire XPath 1.0

            Posté par  (site web personnel) . Évalué à 2.

            Non, pas besoin si on ne s'adresse qu'à des clients supportant les xslt. Mais comme ce n'est pas le cas, la solution "transformation sur le serveur / envoi d'html au client" est meilleure (avis perso).

            En sifflotant, Google ne supporte pas les transformations, c'est dommage ces jolis sites à la pointe qui ne se retrouvent pas indexés....
    • [^] # Re: Aide mémoire XPath 1.0

      Posté par  . Évalué à 1.

      XPath à d'avantage une vocation d'amélioration de XSL afin de générer des reporting élaborés... a mon sens il ne s'agit pas d'un langage de manipulation de données assez élaboré et simple d'utilisation pour rivaliser avec SQL.... de plus en général le XML est généré côté serveur et les données sont issues d'une base de donnée, donc à priori deja manipulés et mis en forme.
      lorsque l'on voit la complexité d'un SUM + HAVING + GROUP BY en XPath, je n'imagine meme pas ce que des jointures multiples peuvent donner!
      De plus si on jète un oeil au code on peut voir que "preceding-sibling:" est utilisé de façon abusive, cette méthode va re-parcourir l'arborescence DOM à chaque appel du template !!!! c'est plus que lourd.
      Il y a aussi des méthodes basées sur ds variables stoquant des valeurs de noeuds passées en paramètre de Call-template .... C'est tres compliqué et on s'y perd facilement.A vrai dire, la gestion des variables n'est pas térrible et XSLT ... J'espére que la version normalisée de XPath corrigera quelques lacune du langage. Peut-on esperer une compatibilité SQL92 ?

      PS : le site xml est superbe, bravo.
  • # Re: Aide mémoire XPath 1.0

    Posté par  . Évalué à 2.

    J'ai essayé pour voir le site avec ie. Pendant un instant subliminal, j'ai aperçu la page correctement décodée... et puis pof on me redirige vers une fenêtre qui me dit poua caca ils faut FireSomething...
    C'est le même principe que de faire une page optimisée IE... c'est domage...
    • [^] # Re: Aide mémoire XPath 1.0

      Posté par  . Évalué à 1.

      D'un autre côté, si tu tentes d'afficher la page avec IE, y'a des merdes avec les "tableaux" enfin ce qui apparait comme des tableaux. Heureusement qu'il y'a la version PDF pour les fans d'IE, surtout que le doc est intéressant.

      Tiens question bête au passage: le user-agent de konqueror c'est quoi? (le test de browser est: UA contient "gecko" ou "safari", sinon on jette).

      Seconde question bête: le XML c'est bien, mais si je veux avoir le source de la page HTML généré par mozilla (et non pas le XML source), y'a un moyen simple?
  • # Quick ref XML, XSL, XPath

    Posté par  . Évalué à 2.

    Pour ceux qui ne connaissent pas,
    voici deux fiches de references rapide sur XML, XSL et XPath,
    plutot bien faites, à garder sous la main,

    http://www.mulberrytech.com/quickref/index.html(...)
  • # Re: Aide mémoire XPath 1.0

    Posté par  . Évalué à -1.

    Interressant, je ne suis pas un fana du SQL, mais quand on compare le SQL et le XPath, je prends le SQL tous les jours.

    Franchement je trouve XSLT/XPath mal fichu.. et les schemas XML aussi d'ailleurs..
  • # Re: Aide mémoire XPath 1.0

    Posté par  . Évalué à 1.

    Y aurait-il moyen avec PHP + XML + XSL de générer une application qui détermine selon le client s'il faut le passer en XUL ou XML et ce seulement avec 2 moulinettes de conversion XML=> *** différentes ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.