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 :

[XSLT] NameSpace dans Balise ?


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut [XSLT] NameSpace dans Balise ?
    Bonjour,

    Je veux transformer un xml en xml.
    Dans mon xml final je veux cet affichage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="utf-8" ?>
    <CURIDS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CurrenciesV2.xsd">
        <CURID ident="AED">
            <LABEL>dirham</LABEL>
    ....
    au niveau de mon xsl, j'ai :

    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
    <xsl:stylesheet 
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        version="1.0">
     
    <xsl:output
        indent="yes"
        method="xml" 
        omit-xml-declaration="no"
        encoding="utf-8"/>
     
    <xsl:template match="/devises">
    	<xsl:element name="CURIDS">
    		<!-- la boucle for-each -->
    		<xsl:for-each select="devise">
    				<xsl:element name="CURID">
    				<xsl:attribute name="ident"><xsl:value-of select="codeDeviseSTL"/></xsl:attribute>
    				<xsl:element name="LABEL"><xsl:value-of select="libelle"/></xsl:element>
    ....
    Mon souci est que <CURIDS xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CurrenciesV2.xsd> ne s'affiche pas comme cela mais avec seulement <CURIDS> ?
    Comment je fais pour faire apparaitre ces namespaces dans cette balises ?
    J'ai essayer avec use-attribute-sets ou namespace mais cela ne donne pas le resultat escompté
    Merci de votre aide...

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    ajoute les avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <xsl:template match="/devises">
    	<xsl:element name="CURIDS">
    <xsl:attribute name="xmlns"><xsl:value-of select="TON_URL_ICI"/></xsl:attribute>
    
    		<!-- la boucle for-each -->
    		<xsl:for-each select="devise">
    				<xsl:element name="CURID">
    				<xsl:attribute name="ident"><xsl:value-of select="codeDeviseSTL"/></xsl:attribute>
    ....
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Merci de ta réponse valal
    Malheureusement ca marche pas
    Ca m'affiche toujours <CURIDS> seulement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xsl:template match="/devises">
    	<xsl:element name="CURIDS">
    	<xsl:attribute name="xmlns"><xsl:value-of select="http://www.w3.org/2001/XMLSchema-instance"/></xsl:attribute>
    	<xsl:for-each select="devise">
    	<xsl:element name="CURID">

  4. #4
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    J'ai essayé aussi ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:template match="/devises">
    	<xsl:element name="CURIDS">
    	<xsl:attribute name="noNamespaceSchemaLocation" namespace="http://www.w3.org/2001/XMLSchema-instance">CurrenciesV2.xsd</xsl:attribute>
    ....
    mais ca m'affiche ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="utf-8"?>
    <CURIDS xmlns:prefix_1="http://www.w3.org/2001/XMLSchema-instance" prefix_1:noNamespaceSchemaLocation="CurrenciesV2.xsd">
     
    ...

  5. #5
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Citation Envoyé par xiii34
    J'ai essayé aussi ca
    C'est exactement cela qu'il faut faire. Le fait que ce soit l'alias prefix_1 qui soit utilisé plutôt que xsi n'a aucune importance ; l'important, c'est qu'ils désignent le même espace de noms, à savoir "http://www.w3.org/2001/XMLSchema-instance". Cela ne gènera en rien la validation du document XML par le parseur.

    Le choix de l'alias est totalement arbitraire et laissé au choix du développeur, xsi est très fréquemment utilisé pour cet espace de noms mais ce n'est qu'une convention.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  6. #6
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:attribute name="xsi:noNamespaceSchemaLocation" namespace="http://www.w3.org/2001/XMLSchema-instance">
    et ca marche...

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

Discussions similaires

  1. [XSLT] Caractere speciaux dans balise
    Par Sylvain245 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 12/01/2007, 12h47
  2. [XSLT] Déclaration de namespace dans un doc xml
    Par Vanille dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 06/12/2006, 15h26
  3. [xsl] namespace dans le html apres transformation xslt...
    Par -ADX- dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/05/2006, 14h16
  4. [XSLT]Sortir les balise d'un namespace d'un XML
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 12/04/2005, 11h30
  5. namespace dans feuille xslt : comment ca marche exactement ?
    Par guipom dans le forum XSL/XSLT/XPATH
    Réponses: 13
    Dernier message: 11/11/2004, 16h21

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