Bonjour,

je suis novice en XSL et j'aimerais savoir si il est possible de choisir le template qu'on voudrait appliquer.
Je m'explique par un exemple.
J'ai les fichiers xml suivant:

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
<?xml version="1.0"?>
<ihg version="3.0.0.0">
    <session_data>
            <issuer>
                <fiscal_year_start_date>2006-01-12</fiscal_year_start_date>
            </issuer>
    </session_data>
    <derivatives>
        <cb_option>
            <maturity_date>2008-01-01</maturity_date>
            <convertible_bond>
                <bond_terms>
                    <issue_date>2000-01-01</issue_date>
                </bond_terms>               
            </convertible_bond>            
        </cb_option>
    </derivatives>
</ihg>
et:

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
<?xml version="1.0"?>
<ihg version="3.0.0.0">
    <session_data>
            <issuer>
                <fiscal_year_start_date>2006-01-12</fiscal_year_start_date>
            </issuer>
    </session_data>
    <derivatives>
            <convertible_bond>
                <bond_terms>
                    <issue_date>2000-01-01</issue_date>
                </bond_terms>               
            </convertible_bond>            
    </derivatives>
</ihg>
comme on s'en apperçoit "convertible_bond" est dans le premier cas un sous fils de "cb_option" et ne l'est pas dans l'autre cas.

Ce que j'aimerais faire c'est faire un test de ce type:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<xsl:choose>
<xsl:when test="name(ihg/derivatives/*[1])"='cb_option'>
<xsl:template match="ihg/derivatives/*[1]/convertible_bond">
</xsl:when>
<xsl:otherwise>
<xsl:template match="ihg/derivatives/*[1]/convertible_bond">
</xsl:otherwise>
</xsl:choose>
Est ce possible et comment svp?
si ce n'est pas possible, comment puis-je faire?

merci d'avance de votre aide.