Merci pour ton intervention GrandFather!
Oui c'est tout à fait possible!
reprennons le xml de base plus haut
et ajoutons le traitement XSL:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
...
<xsl:if test="RefCancel">
<Ancien>
<xsl:variable name="Ein" select="{RefCancel/@Ein}"/>
<xsl:variable name="seq" select="{RefCancel/@seq}"/>[ancien: <xsl:choose>
<xsl:when test="Name != ../preceding-sibling::Record/Person[@Ein=$Ein and @seq=$seq]/Name">
<xsl:value-of select="../preceding-sibling::Record/Person[@Ein=$Ein and @seq=$seq]/Name"/>, <xsl:if test="test si les heimat ont changé">les Heimat qui ont changé (je veux faire comme ca pour qu'il y aie une virgule (,) entre Name et Heimat) biensur si les heimat qui ont changé sont plusieurs mettre aussi avec une virgule (,) entre chaque.</xsl:when>
<xsl:when test="testez si mon ou mes Heimat on changé">
<xsl:value-of select="mon Heimat ou mes Heimat qui a changé (je veux uniquement les Heimat qui sont dans le premier et pas dans le deuxième Record)"/>
</xsl:when>
</xsl:choose>
].</Ancien>
</xsl:if>
... |
la sortie:
<Ancien>[ancien: Basel]</Ancien>
et si le nom avait aussi changé dans le 2ème Record sa donnerait:
<Ancien>[ancien: toto, Basel]</Ancien>
et si Basel se trouverait dans le deuxième et pas dans le premier Record je ne veux pas l'afficher! la sortie devrait donc être nul pour Heimat:
<Ancien>[ancien: ].</Ancien>
Je déjà réussi a faire le traitement quand l'élément est unique (Name voir plus haut) mais ou je but c'est quand je doit comparé multiple à multiple!
Merci de votre aide!
Partager