From: scharloi (scharloi@actia.fr)
Date: 09/01/2004 - 17:21
Bonjour,
Et dans le cas ou vous ne voulez pas recopier les elements 'Test' du second
'Tests' une solution peut etre de tester la position du noeud 'Tests':
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<Testcases>
<Tests>
<xsl:apply-templates/>
</Tests>
</Testcases>
</xsl:template>
<xsl:template match="Tests">
<xsl:variable name="position" select="position()"/>
<xsl:for-each select="Test">
<xsl:variable name="identifiant" select="prop/@name"/>
<!-- dans le cas ou l'on a <Testcases><Tests><Test>... -->
<xsl:if test="$position=2">
<xsl:choose>
<xsl:when
test="count(/Testcases/Tests[2]/Test[prop/@name=$identifiant])=0">
<xsl:copy-of select="."/>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of
select="/Testcases/Tests[2]/Test[prop/@name=$identifiant]"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
------------------- Seb ---------------------------
Nadia.Payet@infineon.com wrote:
> Bonjour à tous et bonne année,
> J'aimerais remplacer dans le premier encart <Tests> les <Test> redondants
> dans le deuxième encart <Tests> et ensuite supprimer ce dernier encart, afin
> d'avoir en quelque sorte les anciennes données remplacées par les nouvelles.
Bonjour,
Voulez vous faire une copie de votre premier fragment 'Tests' en
effectuant d'eventuelles mises à jours comprises dans votre deuxième
fragment 'Tests' ?
Auquel cas il s'agit de choisir le bon noeud à copier pour chaque 'Test' :
<xsl:template match="Test">
<xsl:variable name="identifiant" select="prop/@name"/>
<xsl:choose>
<xsl:when
test="count(/Testcases/Tests[2]/Test[prop/@name=$identifiant])=0">
<xsl:copy-of select="."/>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="/Testcases/Tests[2]/Test[prop/@name =
$identifiant]"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
A moins que j'ai lu motre mail de travers :p
alex
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|