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

SQL Oracle Discussion :

En-tête de XML qui pose problème


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut En-tête de XML qui pose problème
    Bonjour,

    Un fichier XML est chargé dans une colonne XMLTYPE d'une table.
    On accède aux données à l'aide de cette requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT EXTRACTVALUE(VALUE(t0), '/GrpHdr/MsgId')  AS IdentificationMessage
    FROM   W_SDD_XML_LOAD s,
          TABLE( XMLSEQUENCE( EXTRACT( s.XML_DOCUMENT, '/Document/BkToCstmrDbtCdtNtfctn/GrpHdr'))) t0
    Le fichier XMl chargé est de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="UTF-8"?>
    <Document xmlns:ns1="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02">
        <BkToCstmrDbtCdtNtfctn>
            <GrpHdr>
                <MsgId>Id_Msg</MsgId>
                <CreDtTm>2013-07-10T15:58:24</CreDtTm>
            </GrpHdr>
        <BkToCstmrDbtCdtNtfctn>
    </Document>
    La requête fonctionne mais c'est un fichier avec lequel j'ai fais des tests et il ne correspond pas au XSD.
    En effet, le site XML Schema Validator me dit :
    Cannot find the declaration of element 'Document'.
    Et quand je prends un XML que le site valide, seule la partie Document change :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="UTF-8"?>
    <Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <BkToCstmrDbtCdtNtfctn>
            <GrpHdr>
                <MsgId>Id_Msg</MsgId>
                <CreDtTm>2013-07-10T15:58:24</CreDtTm>
            </GrpHdr>
        <BkToCstmrDbtCdtNtfctn>
    </Document>
    Dans ce cas, la requête ne me retourne plus rien.
    Je ne comprends pas. Seule la balise Document change et ca perturbe la requête.
    Comment faire pour que le requête retourne quelque chose avec la nouvelle version ?
    Y a-t-il une option à inclure ? Faut-il modifier la requête ?

    Pouvez-vous m'aider ?
    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut
    J'ai trouvé

    Il faut préciser le namespace dans "XMLSEQUENCE(EXTRACT"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT EXTRACTVALUE(VALUE(t0), '/GrpHdr/MsgId')  AS IdentificationMessage
    FROM   W_SDD_XML_LOAD s,
          TABLE( XMLSEQUENCE( EXTRACT( s.XML_DOCUMENT, '/Document/BkToCstmrDbtCdtNtfctn/GrpHdr','xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.02"'))) t0

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/09/2009, 12h29
  2. PHP+XML = Simple Xml qui pose problème
    Par Ryuuku dans le forum Langage
    Réponses: 3
    Dernier message: 12/02/2009, 19h45
  3. requete update qui pose problème
    Par kirian dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/02/2007, 11h20
  4. code qui pose problème
    Par onePersonne dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/10/2006, 14h27
  5. Un cast de SmartPointer qui pose probléme
    Par Higestromm dans le forum C++
    Réponses: 3
    Dernier message: 13/10/2005, 10h25

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