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

XSL/XSLT/XPATH XML Discussion :

[XPATH] utilisation du symbole *


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 37
    Points : 37
    Points
    37
    Par défaut [XPATH] utilisation du symbole *
    Bonjour

    J'ai une requête XPATH qui fonctionne très bien et qui est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for $a in collection(/db) /rnaml/tertiary-structure[matches(@name,"2avy")]
    return base-uri($a)
    Par contre sous cette forme elle ne fonctionne plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for $a in collection(/db) /rnaml/*[matches(@name,"2avy")]
    return base-uri($a)
    Mais ce qui a de plus bizarre encore est que sous la forme suivante ca fonctionne mais je souhaites avoir @* car trop générique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for $a in collection(/db) /rnaml/*[matches(@*,"2avy")]
    return base-uri($a)

    Quelqu'un aurait-il une idée ?
    Merci d'avance pour votre aide,

    Gilles

  2. #2
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    si tu veux les enfants de rnaml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for $a in collection(/db) /rnaml/child::*[matches(@name,"2avy")]
    return base-uri($a)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 37
    Points : 37
    Points
    37
    Par défaut
    désolé mais cela ne fonctionne pas mieux.
    Ce que je constate c'est que lorsqu'on utilise * pour un noeud on ne peut utiliser que @* et pas @name ou bien @toto....
    Ce qui est quand meme tres embetant, limitant et bizarre.

  4. #4
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    enleve le matches
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for $a in collection(/db) /rnaml/child::*[@name="2avy"]
    return base-uri($a)
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for $a in collection(/db) /rnaml/child::*[@name=2avy]
    return base-uri($a)

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 37
    Points : 37
    Points
    37
    Par défaut
    Ca marche toujours pas mais J'ai trouvé un workaround: je spécifie le tout et combine avec |. Merci quand même de ton aide.

    Donc voici ce que ca donne. Nota bene: j'ai intégré la requete dans un programme java d'où les getText et "\" et autre bizarreries...excusez donc la presentation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    querySource = "for $a in collection(\"/db\")
    /rnaml/tertiary-structure[matches(@name,\""+searchTx.getText()+"\")]|\n" +
    "/rnaml/structure-annotation[matches(@name,\""+searchTx.getText()+"\")]|\n" +
    "/rnaml/alignment[matches(@name,\""+searchTx.getText()+"\")]|\n" +
    "/rnaml/molecule/identity[matches(name,\""+searchTx.getText()+"\")]\n" +
    "return base-uri($a)";

Discussions similaires

  1. Est-ce que je peux utiliser certain symbole dans le nom de dossier
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 24/09/2007, 20h45
  2. [xslt][xpath]Utilisation des attributs XML
    Par Little_flower dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 15/05/2007, 12h42
  3. [XPath] Utilisation de substring
    Par ciel65 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/12/2006, 11h26
  4. [XSLT][XPATH] Utilisation de variable
    Par be_tnt dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 15/11/2006, 14h59

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