Bonjour,
Je viens vous exposer ma situation présente :
* Je voudrais, à travers un test, détecter si la balise parent (ici : "<r code="111" t="titre1">") est de type <regroupement>...
Bon, dans le cas présent, comme vous pouvez le constater, c'est un <r> (donc, selon "ma" théorie, le message proposé ne devrait pas apparaitre... Eh bien si !)

* 1 - Comment se fait-il donc que, ici, le test en vienne à détecter un <regroupement> ? (En fait, c'est le <regroupement> "frère du parent" qui est détecté ici)
* 2 - Comment faire pour que le test porte vraiment sur le vrai parent ?

En vous remerciant par avance pour toute suggestion de votre part... et pour votre intérêt !

Fichier XML:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
 
<enregistrements>
 
	<r code="111" t="titre1">
		<r code="333" t="Titre recherché"/>
	</r>
	<regroupement code="222">titre2
	</regroupement>
 
</enregistrements>

Fichier XSL:
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
<xsl:output method="html" 
encoding="utf-8" 
doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" 
doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>
 
<xsl:template match="/">
 
	<html>
	<head>
	<title></title>
	</head>
	<body bgcolor="#FFFFFF">
 
	<xsl:apply-templates select="//r[@code='333']" />
 
	</body>
	</html>
 
</xsl:template>
 
<xsl:template match="r">
 
	<!-- <xsl:if test="parent::*/parent::*/regroupement"> -->
	<xsl:if test="../../regroupement">
 
		<span id="Titre1">
			regroupement détecté... Pourquoi ?
		</span>
 
	</xsl:if>
 
</xsl:template>
</xsl:stylesheet>