IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques Discussion :

[C][XML][Expat][XPATH] une Lib au dessus d'expat ?


Sujet :

Bibliothèques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Par défaut [C][XML][Expat][XPATH] une Lib au dessus d'expat ?
    Bonjour,

    Je suis à la recherche d'une lib xpath qui serait contruite eu dessus d'expat en gardant le mode SAX c'est à dire sans utiliser expat pour construire un DOM.

    Le but de la manoeuvre est de pouvoir repondre à des requetes xpath sans passer par un DOM.

    Merci pour les eventuelles reponses (Google seche litteralement sur le sujet )

  2. #2
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Salut,

    LibXml est une usine a gaz mais integre des fonctionnalités xpath

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Par défaut
    Citation Envoyé par Gruik
    Salut,

    LibXml est une usine a gaz mais integre des fonctionnalités xpath
    Oui mais libxml travail sur du DOM pour les query xpath

    Citation Envoyé par GrandFather
    Bonjour,

    je serais très étonné qu'une telle librairie existe.

    Le langage XPath est conçu pour des requêtes sur une structure XML arborescente, que l'implémentation sous-jacente de cet arbre soit DOM ou autre chose. Une expression XPath ne peut être évaluée progressivement au même rythme que le parsing SAX d'une instance XML, ou alors au prix de telles contraintes et sur des schémas tellement triviaux que c'en oterait tout intérêt à une tell librairie...
    C'est bien le probleme, l'idee d'une librairie xpath/sax est de ne buffurisé que les candidats elligibles de la query xpath. La chose est diffcile je te l'accorde, mais il existe des travaux sur ces problemes.
    Constructions de sous arbres DOM avec sax par exemple. ou des solutions sans DOM avec un buffer de travail => http://portal.acm.org/citation.cfm?id=872810

    Toutes mes recherches aboutissent à libxml2 (trop lourd pour ce que je veux en faire) ou tinyxml+tinyxpath...

  4. #4
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Non en fait LibXml n'est pas une implementation DOM, ca crée un arbre mais libxml ne propose pas les methodes du dom

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Par défaut
    Citation Envoyé par Gruik
    Non en fait LibXml n'est pas une implementation DOM, ca crée un arbre mais libxml ne propose pas les methodes du dom
    C'est cela oui, un tit abus de language :p, libxml fait des arbres c'est ce qu'il fallait comprendre. Et les arbres sont pas les bienvenus chez moi
    Merci pour l'eclaicissement

    @grandfather
    http://chronosite2.free.fr/XPath.pdf

  6. #6
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Si tu trouves un outil xpath basé sur expat, ça m'interesse

  7. #7
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Citation Envoyé par chronos
    C'est bien le probleme, l'idee d'une librairie xpath/sax est de ne buffurisé que les candidats elligibles de la query xpath. La chose est diffcile je te l'accorde, mais il existe des travaux sur ces problemes.
    Je n'en doute pas, mais je suis assez sceptique sur les avantages que ça peut comporter. Qu'à la limite il existe un genre de "pattern matching" pour vérifier qu'un élément remonté par SAX soit élligible, je le conçois, mais quid des axes XPath à "mouvement rétrograde" (ancestor, preceding), des prédicats complexes, de l'axe namespace, de tout ce qui va exiger un tel volume de données à bufferiser que l'avantage concurrentiel face à une modélisation en arbre ne va plus être significatif... Ce qui explique d'ailleurs, je pense, qu'il n'existe pas d'implémentation pour un usage industriel de cette techno, sinon ç'aurait fait du bruit.

    Il existe effectivement des wrappers PULL autour de parseurs SAX qui génèrent des sous-arbres DOM à partir d'évènements SAX sélectionnés par le développeur, et qui permettent des requêtes XPath sur ces sous-arbres, mais ça reste du DOM (Je ne sais pas s'il en existe pour expat).
    Citation Envoyé par chronos
    Constructions de sous arbres DOM avec sax par exemple. ou des solutions sans DOM avec un buffer de travail => http://portal.acm.org/citation.cfm?id=872810
    Je n'ai pas accès au document. Dommage, ç'avait l'air intéressant...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  8. #8
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,

    je serais très étonné qu'une telle librairie existe.

    Le langage XPath est conçu pour des requêtes sur une structure XML arborescente, que l'implémentation sous-jacente de cet arbre soit DOM ou autre chose. Une expression XPath ne peut être évaluée progressivement au même rythme que le parsing SAX d'une instance XML, ou alors au prix de telles contraintes et sur des schémas tellement triviaux que c'en oterait tout intérêt à une telle librairie...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

Discussions similaires

  1. récupérer une sous arbre XML avec Xpath
    Par imen1986 dans le forum APIs
    Réponses: 2
    Dernier message: 20/05/2010, 20h04
  2. Réponses: 7
    Dernier message: 29/05/2009, 09h43
  3. [VBA-E, XML] Comment effectuer une requête xpath?
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/06/2008, 10h41
  4. XML / Xpath -> une solution avec Builder?
    Par say dans le forum C++Builder
    Réponses: 3
    Dernier message: 12/05/2005, 11h56
  5. [Strategie][Java][XML] Import dans une base de données
    Par nad dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 23/09/2002, 11h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo