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 :

Interaction XSL XSD


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Interaction XSL XSD
    Bonjour,

    J'ai un document XML sur lequel, sur une balise particulière, je veux ajouter un compteur pour assurer de l'unicité du champ.

    De base mon doc xml est contenu dans des balises Document :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    </Document>
    Ma transformation xsl ci-dessous
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"  xmlns:ns0="http://ws.powernet.ch/webservices">
    <xsl:template match="node()">
        <xsl:copy>
            <xsl:copy-of select="@*"/>
            <xsl:apply-templates/>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="PmtInfId">
        <xsl:copy>
            <xsl:copy-of select="@*"/><xsl:apply-templates/>
            <xsl:variable name="test">
              <xsl:number level="any" count="PmtInfId" format="1"  />
            </xsl:variable>
            <xsl:value-of select="$test+1"/>
        </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>
    Ne fonctionne que quand je supprime les attributs de ma balise Document (Que je supprime donc les références au schéma : comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <Document>
    </Document>)
    Si je supprime les références au schéma dans Document que je transforme mon xml et que je les rajoute après la transformation, mon document valide pourtant toujours le schéma.

    Pouvez-vous me dire ce que j'ai manqué et comme puis-je le faire marcher sans toucher a priori au fichier XML?

    Merci d'avance.

  2. #2
    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
    Ce n'est pas très claire ce que c'est PmtInfId: je donc suppose c'est dans l'espace de nom comme celui de Document. Alors, ça se fait comme ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <xsl:template match="ns:PmtInfId" xmlns:ns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
        <xsl:copy>
            <xsl:copy-of select="@*"/><xsl:apply-templates/>
            <xsl:variable name="test">
                <xsl:number level="any" count="ns:PmtInfId" format="1"  />
            </xsl:variable>
            <xsl:value-of select="$test+1"/>
        </xsl:copy>
    </xsl:template>
    On peut mettre la déclaration
    xmlns:ns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"
    autrement dans la racine xsl:stylesheet aussi, ça fonctionne la même.

  3. #3
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci ça marche bien.

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

Discussions similaires

  1. [XML/XSL/XSD] Ordre des balises pour vérification
    Par Tomtom31 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 02/07/2015, 15h52
  2. Ecran de saisie, fichier XML, XSL, XSD
    Par fredcvn dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/02/2013, 11h23
  3. Affichage code XSL/XSD
    Par Dr.id0 dans le forum GWT et Vaadin
    Réponses: 2
    Dernier message: 25/05/2010, 15h40
  4. Editeur xsd/xml/xsl sous Unix
    Par _jey_ dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 06/04/2009, 15h06

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