Bonjour,
Débutant dans la partie, je me suis demandé si quelqu'un pourait m'aider dans le sens ou je voudrais
bidouiller assez rapidement les xsl:param ; xsl:variable ; xsl:apply-template pour le xml suivant:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Ventes>
<Clients>
<TableClient>
<TableClient_Enr IDCLI="1" Nom="Durant" Prenom="Paul" Ville="Paris" />
<TableClient_Enr IDCLI="2" Nom="Sausset" Prenom="Jacques" Ville="Rouen" />
<TableClient_Enr IDCLI="3" Nom="Brimare" Prenom="Pierre" Ville="Paris" />
</TableClient>
</Clients>
<Commandes>
<TableCommandes>
<TableCommandes_Enr IDCMD="100014" IDCLI="1" Montant="80" IDMDE="ESP"/>
<TableCommandes_Enr IDCMD="100015" IDCLI="1" Montant="50" IDMDE="CHQ"/>
<TableCommandes_Enr IDCMD="100016" IDCLI="2" Montant="150" IDMDE="ESP"/>
<TableCommandes_Enr IDCMD="100017" IDCLI="2" Montant="20" IDMDE="CB"/>
<TableCommandes_Enr IDCMD="100018" IDCLI="3" Montant="210" IDMDE="CB"/>
</TableCommandes>
<TableMode>
<TableMode_Enr IDMDE="ESP" Description="Especes" />
<TableMode_Enr IDMDE="CHQ" Description="Cheque" />
<TableMode_Enr IDMDE="CB" Description="Carte Bleue" />
<TableMode_Enr IDMDE="VIR" Description="Virement" />
</TableMode>
</Commandes>
</Ventes>
en pouvant rédiger un xsl facilement paramétrable et maintenable par un tiers...
Il faudrait que ça ressemble à quelque chose comme ça mais, je patauge dans la semoule...
( : But ici afficher un XML qu'avec les données de la table "Commande" et les attributs IDCMD, @IDCLI et Montant : )
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlnssl="http://www.w3.org/1999/XSL/Transform">
<Resultat>
<xsl:call-template name="MonModele">
<xsl:with-param name="MaTable">TableCommandes</xsl:with-param>
<xsl:with-param name="MonFiltre">@IDCMD|@IDCLI|Montant</xsl:with-param>
</xsl:call-template>
</Resultat>
<xsl:template name="MonModele">
<xsl:param name="MaTable"/>
<xsl:param name="MonFiltre"/>
<xsl:call-template match="{$MaTable}" name="TableCommandes">
<xsl:param name="{$MonFiltre}"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="TableCopy">
<xsl:param name="MonFiltre"/>
<xsl:copy>
<xsl:call-template name="Enregistrement" match="{$TableName}_Enr">
<xsl:param name="{$MonFiltre}"/>
</xsl:call-template>
</xsl:copy>
</xsl:template>
Je ne sais pas si vous m'avez compris, en tout cas, le but final doit ressembler à un truc comme ci-dessus...
Mon objectif est de transformer mon XML de départ en XML final mais en ayant la possibilité de choisir
avec des paramètres, les noeuds représentant les Tables et ceux représentant les attributs dont j'ai besoin uniquement.
Par exemple, en paramétrant mon XSL je voudrais pouvoir afficher un XML qu'avec les champs "Nom" et "Ville" de la table "Client" et le champ Description de la table "Mode"
Votre aide me serait précieuse...
Merci par avance...
Argy
Partager