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 :

Vérification d'une information avec une expression Xpath à partir d'un doc RDF


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 217
    Par défaut Vérification d'une information avec une expression Xpath à partir d'un doc RDF
    Bonjour,
    J'ai un petite question quelle est l'expression Xpath qui permet de vérifier si cette ressource décrite par le doc RDF ci-dessous à été produite après le 10 janvier 2002?
    Merci d’avance pour vos réponses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <?xml version="1.0"?>
     <!DOCTYPE rdf:RDF SYSTEM "http://purl.org/dc/schemas/dcmes-xml-
    20000714.dtd">
     <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:dcterms="http://purl.org/dc/terms/">
     <rdf:Description rdf:about="file://disk/news_12_02_02.mpg">
     <dc:title>World News Tonight</dc:title>
     <dc:creator>Special Broadcasting Service</dc:creator>
     <dc:subject>International news events</dc:subject>
     <dc:description>Comprehensive coverage of global and national events,
     presented by Anton Enus. </dc:description>
     <dc:publisher>SBS-TV</dc:publisher>
     <dc:contributor>Anton Enus</dc:contributor>
     <dcterms:created>2002-02-12</dcterms:created>
     <dcterms:issued>2002-02-12</dcterms:issued>
     <dc:type>image</dc:type>
     <dc:format>
     <dcterms:IMT rdf:value="video/mpg" rdfs:label="MPEG video">
     </dcterms:IMT>
     </dc:format>
     <dcterms:extent>30 mins</dcterms:extent>
     <dc:identifier>news_12_02_02</dc:identifier>
     <dc:language>
     <dcterms:RFC1766>
     <rdf:value>EN</rdf:value>
     <rdfs:label>English</rdfs:label>
     </dcterms:RFC1766>
     </dc:language>
     <dc:relation>http://www.theworldnews.com.au</dc:relation>
     <dcterms:spatial>world</dcterms:spatial>
     <dcterms:temporal>2002-02-12</dcterms:temporal>
     <dc:rights>SBS 2000</dc:rights>
     </rdf:Description>
     </rdf:RDF>
    .

  2. #2
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Par défaut
    je dirais qqchose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /rdf:RDF/rdf:Description/dcterms:created > '2002-02-10'
    qui te renvoie true/false

    A vérifier pour les namespace si il ne faut pas utiliser namespace-uri()

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Ce n'est pas possible en XPath 1.0 tout seul.
    Il faut utiliser une logique dans XSLT ou dans le langage englobant XPath.

    C'est faisable en XPath 2.0, mais peu d'outils le gèrent.

    Citation Envoyé par caballo Voir le message
    je dirais qqchose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /rdf:RDF/rdf:Description/dcterms:created > '2002-02-10'
    qui te renvoie true/false
    Non, '2002-02-10' n'est pas un nombre et < et > ne peuvent comparer que des nombres. Ça ne marche pas.

    Pour les namespaces, ce qu'il faut faire c'est les déclarer dans le langage englobant XPath, par exemple XSLT.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 217
    Par défaut
    Merci à vous deux pour vos réponses, du coup au final quelle serait l'expression correcte?

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Comme je te l'ai déjà dit, ça n'existe pas.

    Il faut le faire avec XSLT ou un autre langage.
    XPath 1.0 ne peut pas faire ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Je ne suis pas désaccord, mais on peut, pour sauver le besoin faire, faire comme ça en xslt 1.0 - on peut l'appeler un hack ou pas un hack comme on veut.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="translate(/rdf:RDF/rdf:Description/dcterms:created, '-', '') &gt; translate('2002-02-10', '-', '')" />
    On suppose que la donnée au formatage du type date soit strictement 'yyyy-mm-dd', sinon au moins une préalable validation puisse être aidant quelque peu.

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 217
    Par défaut
    Merci Tsuji pour le tuyau

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. Réponses: 1
    Dernier message: 24/04/2009, 16h26
  5. [Regex]Match d'une regexp avec une chaîne avec caractères spéciaux
    Par gdawirs dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 25/11/2005, 12h24

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