Mon problème est sans doute très simple et en éternel débutant, j'ai un peu.
J'arrive à récuperer la date de début (minimum) et la date fin (maximum),.
Or je veux récupérer cela à chaque fois que l'on a une balise <ANNONCE> ayant le même attribut numcommande et la même valeur pour la balise <CONTENU></CONTENU>...
En quel sorte, je souhaite "fusionner" les balises <ANNONCE> ayant le même attribut numcommande et la même valeur pour la balise <CONTENU></CONTENU> pour en faire qu'une
avec la date minimum et maximum des 2 balises ANNONCES.
Comment dois-je gérer cette problématique
Je ne sais trop comment me débrouiller : structure itérative <xsl:for-each> ou chemin Xpath pour gérer le fait de réaliser une série de traitement
C'est sans doute simple.
MERCI BEAUCOUP D'AVANCE
Par défaut [XSL+XPath] Traitements conditionel de noeuds (débutant)
Mon problème est sans doute très simple et en éternel débutant, j'ai un peu.
J'arrive à récuperer la date de début (minimum) et la date fin (maximum),.
Or je veux récupérer cela à chaque fois que l'on a une balise <ANNONCE> ayant le même attribut numcommande et la même valeur pour la balise <CONTENU></CONTENU>...
En quel sorte, je souhaite "fusionner" les balises <ANNONCE> ayant le même attribut numcommande et la même valeur pour la balise <CONTENU></CONTENU> pour en faire qu'une
avec la date minimum et maximum des 2 balises ANNONCES.
Comment dois-je gérer cette problématique
Je ne sais trop comment me débrouiller : structure itérative <xsl:for-each> ou chemin Xpath pour gérer le fait de réaliser une série de traitement
C'est sans doute simple.
MERCI BEAUCOUP D'AVANCE
XML
Code :
Code :
- <ANNONCE numcommande="90064728" commande_idn="119634" datedebut="2008-07-10T00:00:00" datefin="2008-07-11T00:00:00">
- <MONTANTS mnthtx="5" mntttc="5,79"/>
- <CONTENU>A</CONTENU>
- </ANNONCE>
- <ANNONCE numcommande="90064728" commande_idn="119634" datedebut="2008-07-14T00:00:00" datefin="2008-07-16T00:00:00">
- <MONTANTS mnthtx="5" mntttc="5,79"/>
- <CONTENU>A</CONTENU>
- </ANNONCE>
- <ANNONCE numcommande="1803119" commande_idn="119688" datedebut="2008-07-10T00:00:00" datefin="2008-07-10T00:00:00">
- <MONTANTS mnthtx="5" mntttc="5,79"/>
- <CONTENU>B</CONTENU>
- </ANNONCE>
|
XSL
Code :
Code :
- <xsl:template name="template_GetMaxDate">
- <xsl:param name="nodesAnnonces"/>
- <xsl:for-each select="$nodesAnnonces">
- <xsl:sort order="descending" select="@datedebut"></xsl:sort>
- <xsl:if test="position()=1">
- <xsl:value-of select="@datedebut"></xsl:value-of>
- </xsl:if>
- </xsl:for-each>
- </xsl:template>
- <xsl:template name="template_GetMinDate">
- <xsl:param name="nodesAnnonces"/>
- <xsl:for-each select="$nodesAnnonces">
- <xsl:sort order="ascending" select="@datedebut"></xsl:sort>
- <xsl:if test="position()=1">
- <xsl:value-of select="@datedebut"></xsl:value-of>
- </xsl:if>
- </xsl:for-each>
- </xsl:template>
- <xsl:template name="template_GetMaxDate">
- <xsl:param name="nodesAnnonces"/>
- <xsl:for-each select="$nodesAnnonces">
- <xsl:sort order="descending" select="@datedebut"></xsl:sort>
- <xsl:if test="position()=1">
- <xsl:value-of select="@datedebut"></xsl:value-of>
- </xsl:if>
- </xsl:for-each>
- </xsl:template>
- <xsl:template name="template_GetMinDate">
- <xsl:param name="nodesAnnonces"/>
- <xsl:for-each select="$nodesAnnonces">
- <xsl:sort order="ascending" select="@datedebut"></xsl:sort>
- <xsl:if test="position()=1">
- <xsl:value-of select="@datedebut"></xsl:value-of>
- </xsl:if>
- </xsl:for-each>
- </xsl:template>
|