XML/XSLT : Transformer Balises et Attributs

XML/XSLT : Transformer Balises et Attributs - XML/XSL - Programmation

Marsh Posté le 09-05-2013 à 02:00:32    

Salut à tous,
 
Je suis débutante en XML/XSLT, j'ai lu les cours en ligne que j'ai pu trouver mais je galère à transformer mes balises et attributs. Rien n'est jamais parfait. Concrètement, j'aimerais faire un XSLT qui transformerait
 
<Titre Attribut="aaaa">
<Balise1 Att1="xxx" Att2="yyy">
<Balise2>
<Balise3>Machin</Balise3>
<Balise4>Bidule</Balise4>
</Balise2>
</Balise1>
</Titre>
 
en
 
<MonTitre MonAttribut="aaaa">
<MaBalise1 MonAtt1="xxx" MonAtt2="yyy">
<MaBalise2>
<MaBalise3>Machin</MaBalise3>
<MaBalise4>Bidule</MaBalise4>
</MaBalise2>
</MaBalise1>
</MonTitre>
 
Merci d'avance et désolée de mes questions qui sont sûrement idiotes à votre niveau !

Reply

Marsh Posté le 09-05-2013 à 02:00:32   

Reply

Marsh Posté le 09-05-2013 à 03:03:11    

A l'indentation près, ceci devrait coller:

Code :
  1. <xsl:stylesheet version="1.0"
  2.    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3.    <xsl:output omit-xml-declaration="yes" indent="yes"/>
  4.    <xsl:strip-space elements="*"/>
  5.    <xsl:template match="node()|@*">
  6.        <xsl:copy>
  7.          <xsl:apply-templates select="node()|@*"/>
  8.        </xsl:copy>
  9.    </xsl:template>
  10.    <xsl:template match="Titre">
  11.      <MonTitre><xsl:apply-templates select="node()|@*"/></MonTitre>
  12.    </xsl:template>
  13.    <xsl:template match="Balise1">
  14.      <MaBalise1><xsl:apply-templates select="node()|@*"/></MaBalise1>
  15.    </xsl:template>
  16.    <xsl:template match="Balise2">
  17.        <MaBalise2><xsl:apply-templates select="node()|@*"/></MaBalise2>
  18.    </xsl:template>
  19.    <xsl:template match="Balise3">
  20.      <MaBalise3><xsl:apply-templates select="node()|@*"/></MaBalise3>
  21.    </xsl:template>
  22.    <xsl:template match="Balise4">
  23.        <MaBalise4><xsl:apply-templates select="node()|@*"/></MaBalise4>
  24.    </xsl:template>
  25.    <xsl:template match="@Attribut">
  26.      <xsl:attribute name="MonAttribut">
  27.         <xsl:value-of select="."/>
  28.      </xsl:attribute>
  29.    </xsl:template>
  30.    <xsl:template match="@Att1">
  31.      <xsl:attribute name="MonAtt1">
  32.         <xsl:value-of select="."/>
  33.      </xsl:attribute>
  34.    </xsl:template>
  35.    <xsl:template match="@Att2">
  36.      <xsl:attribute name="MonAtt2">
  37.         <xsl:value-of select="."/>
  38.      </xsl:attribute>
  39.    </xsl:template>
  40. </xsl:stylesheet>


A+,


Message édité par gilou le 09-05-2013 à 03:03:51

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed