Bonjour,

Voila j'ai un test à faire mais je ne sais pas si comme je le fais c'est optimale:

mon xml:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<AV type="Verfuegung">
  <AVel F8="1" F9="0" F15="0">
    <Title>Anmeldung</Title>
  </AVel>
  <AVel F8="0" F9="1" F15="0">
    <Title>In das Handelsregister wird einget</Title>
  </AVel>
  <AVel F8="1" F9="1" F15="0">
    <Title>Firma</Title>
    <Text>TAURUS Equities AG</Text>
  </AVel>
</AV>
dans ce XML j'aimerais que:

si le @type de AV est égal à Verfuegung qu'il ne prenne que les AVel qui ont @F15=1 et @F9=1

si le @type de AV est égal à Anmeldung qu'il ne prenne que les AVel qui ont @F15=1 et @F8=1

J'ai donc pensé dans un premier temps à faire mon xslt comme ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
	<xsl:variable name="AouV">
		<xsl:choose>
			<xsl:when test="/AV/@type='Verfuegung'">@F15='0' and @F9='1'</xsl:when>
			<xsl:otherwise>@F15='0' and @F8='1'</xsl:otherwise>
		</xsl:choose>
	</xsl:variable>
...
<xsl:template match="AVel">
		<xsl:if test="$AouV">
...
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Mais ca ne marche pas?

alors j'ai fait mon teste comme ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<xsl:if test="(../@type='Anmeldung' and @F15='0' and @F8='1') or (@F15='0' and @F9='1' and ../@type='Verfuegung')">
Mais es-ce vraiment optimale comme test ou il serait mieux de faire ca avec des variables (mais comment?)?

Merci pour vos réponses!

++

Thierry