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

XQUERY/SGBD XML Discussion :

xquery, function got 0 [Débutant(e)]


Sujet :

XQUERY/SGBD XML

  1. #1
    Membre du Club
    Homme Profil pro
    graphisme & impression
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : graphisme & impression

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 69
    Points
    69
    Par défaut xquery, function got 0
    Bonjour à tous,

    Je suis débutant en xquery et je voudrais faire une petite fonction qui retourne le contenu d'un noeud si il existe ou "-" si il existe pas et si il est vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    declare function local:check_field($expr as xs:string){
        if( data($expr) != "" )then
            data($expr)
        else
            "-"
    };
     
    <InsideColor>{local:check_field($x//InsideColor)}</InsideColor>
    j'obtiens toujours l'erreur suivante :

    exerr:ERROR XPTY0004: The actual cardinality for parameter 1 does not match the cardinality declared in the function's signature: local:check_field($expr as xs:string) item()*. Expected cardinality: exactly one, got 0. [at line 127, column 50, source: String]
    In function:
    local:check_field(xs:string) [127:31:String]


    Quelqu'un peut-il m'aider?
    Merci beaucoup!
    Très bonne journée et meilleures salutations.

  2. #2
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    As-tu lu le message d'erreur ?

    En gros il te dit que tu n'appelles pas la fonction avec les bons arguments : il attend un String non vide et tu lui passes une liste d'élément(s) vide...

  3. #3
    Membre du Club
    Homme Profil pro
    graphisme & impression
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : graphisme & impression

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 69
    Points
    69
    Par défaut merci
    Bonjour,

    Merci pour ta réponse c'est très sympa.
    J'ai compris que le message interdit une String vide mais dans mes fichiers XML les balises "insideColor" n'existe pas toujours.

    En bref, je souhaiterais faire une fonction qui retourne "-" si la String et vide ET si la balise existe pas…

    Malheureusement, je n'arrive pas à le faire (j'ai essayé d'autres type de variable sans succès).
    Si quelqu'un à une idée?
    Merci

  4. #4
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Expected cardinality: exactly one, got 0. [at line 127, column 50, source: String]
    Comme ça et pour garder contre d'autres inattenues.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (:
    declare function local:check_field($expr as xs:string){
    :)
    declare function local:check_field($expr as item()*){

  5. #5
    Membre du Club
    Homme Profil pro
    graphisme & impression
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : graphisme & impression

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 69
    Points
    69
    Par défaut Merci
    Hello,

    Merci beaucoup ça répond parfaitement à ma demande.
    Bonne journée, merci encore pour ta réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 23
    Dernier message: 26/02/2011, 12h38
  2. [POSTGRESQL] exec function
    Par peuh dans le forum Requêtes
    Réponses: 5
    Dernier message: 23/05/2003, 15h15
  3. A propos des 'File management Functions' de Windows
    Par znaidi dans le forum Windows
    Réponses: 3
    Dernier message: 01/04/2003, 16h01
  4. [postgreSQL] équivalent de la function 'instr'
    Par Dra_Gun dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2003, 16h09
  5. [Dev c++ 4] implicite declaration of function "int kbhi
    Par Torpedox dans le forum Dev-C++
    Réponses: 5
    Dernier message: 01/01/2003, 13h37

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