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] Transformation d'un fichier XML selon un autre fichier XML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [XSLT] Transformation d'un fichier XML selon un autre fichier XML
    bonjour tout le monde, je commence avec xslt, j'ai voulu transformer un fichier xml en fonction du contenu d'un autre fichier. j'ai utilisé ce morceau de code,mais ça ne marche pas svp voudriez vous m'aider. merci beaucoup

    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
       <xsl:template name="ProcessPointDeVariation">
          <xs:complexType dm:displayType="node">
          <xsl:for-each select="fm:Goal">
          <xsl:variable name="G" select="@value"/>
            <xsl:for-each select="fm:FacetteVariantName">
                <xsl:variable name="FV" select="@value"/>
                <xsl:template match="../Facette_Variant/Facette_Variant_Model.xfm" >
                   <xsl:for-each select="fm:Variant">
                   <xsl:for-each select="fm:FacetteVariantName">
                   <xsl:variable name="FVN" select="current()/@value"/>
                   <xsl:if test="$FVN==$FV">
                      <xsl:element name="concat($G,Variant/@value)"/>
                   </xsl:if>
                   </xsl:for-each>
                   </xsl:for-each>
                </xsl:template>
              </xsl:for-each>
          </xsl:for-each>
          </xs:complexType>
      </xsl:template>
    voilà le morceau xslt a transformer:

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <fm:Goal fm:value="Localization_Data_Observed">
     
          <fm:PointDeVariation fm:value="{&lt;F1:V1> ; &lt;F1:V2> ; &lt;F1:V3>}">
     
            <fm:FeatVar fm:cardMax="1" fm:cardMin="VP"/>
     
            <fm:Requirement fm:value="Localization_Data_Captured">
     
     
     
              <fm:PointDeVariation fm:value="{&lt;F1:V1> ; &lt;F1:V2> ; &lt;F1:V3>}">
     
                <fm:FeatVar fm:cardMax="1" fm:cardMin="VP"/>
     
     
     
                <fm:Agent fm:value="Sensor"/>
              <fm:FacetteVariantName fm:value="FacetteVariantName">
                  <fm:Name fm:value="F1V1"/>
                </fm:FacetteVariantName>
     
                <fm:FacetteVariantName fm:value="FacetteVariantName">
                  <fm:Name fm:value="F1V2"/>
                </fm:FacetteVariantName>
     
                <fm:FacetteVariantName fm:value="FacetteVariantName">
                  <fm:Name fm:value="F1V3"/>
                </fm:FacetteVariantName>
              </fm:PointDeVariation>
            <fm:FacetteVariantName fm:value="FacetteVariantName"/>
            </fm:Requirement>
          <fm:FacetteVariantName fm:value="FacetteVariantName">
              <fm:Name fm:value="F1V1"/>
            </fm:FacetteVariantName>
     
            <fm:FacetteVariantName fm:value="FacetteVariantName">
              <fm:Name fm:value="F1V2"/>
            </fm:FacetteVariantName>
     
            <fm:FacetteVariantName fm:value="FacetteVariantName">
              <fm:Name fm:value="F1V3"/>
            </fm:FacetteVariantName>
          </fm:PointDeVariation>
     
          <fm:Requirement fm:value="Localization_Data_Checked">
     
            <fm:Agent fm:value="Software_Agent"/>
          <fm:FacetteVariantName fm:value="FacetteVariantName"/>
          </fm:Requirement>
        <fm:FacetteVariantName fm:value="FacetteVariantName"/>
        </fm:Goal>

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut
    Tu débutes ? Ah ben alors fait comme moi, commence par faire simple
    Par exemple, enlève tous les préfixes fm: qui traine un peu partout dans ton XML.
    Ensuite voici un petit XSL à étoffer:
    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
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" version="1.0" encoding="ISO-8859-1" indent="yes"/>
     
    <xsl:template match="Goal">
    <p>C'est un bon début: <xsl:value-of select="@value"/></p>
    <xsl:apply-templates/>
    </xsl:template>
     
    <xsl:template match="PointDeVariation">
    <p>La suite: <xsl:value-of select="@value"/></p>
    <xsl:apply-templates/>
    </xsl:template>
     
    </xsl:stylesheet>

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    oui on peut dire que je commence, en fait mon xml est enregistré avec une extension .xfm d'où les fm qui trainent un peu partout.

Discussions similaires

  1. Copier d'un noeud Xml dans un autre fichier
    Par riderfun dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 25/03/2009, 12h16
  2. Réponses: 22
    Dernier message: 27/08/2008, 14h35
  3. Réponses: 3
    Dernier message: 06/08/2007, 03h44
  4. [DOM] (org.w3c.dom) copier un noeud d'un fichier XML dans un autre fichier XML
    Par snoop dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 13/02/2007, 17h22
  5. Importer le contenu un fichier xml dans un autre fichier xml
    Par gedeon555 dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 27/07/2005, 11h49

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