Étant donné ce code XML, existe-t-il un xpath qui me donnera les valeurs 'test' et 'name'?

StackOverflow https://stackoverflow.com/questions/97474

  •  01-07-2019
  •  | 
  •  

Question

Je dois obtenir la valeur de l'attribut "test" dans la balise xsl: when et l'attribut "name" dans la balise xsl: call-template. Ce xpath me rapproche beaucoup:

..../xsl:template/xsl:choose/xsl:when

Mais cela ne renvoie que les éléments "quand", pas les valeurs d'attribut exactes dont j'ai besoin.

Voici un extrait de mon XML:

<xsl:template match="field">
    <xsl:choose>
    <xsl:when test="@name='First Name'">
        <xsl:call-template name="handleColumn_1" /> 
    </xsl:when>
</xsl:choose>
Était-ce utile?

La solution

Steve Cooper a répondu à la première partie. Pour la deuxième partie, vous pouvez utiliser:

.../xsl:template/xsl:choose/xsl:when[@test="@name='First Name'"]/xsl:call-template/@name

Qui correspondra spécifiquement à xsl: dans votre extrait de code ci-dessus. Si vous souhaitez que cela corresponde de manière générale, vous pouvez utiliser:

.../xsl:template/xsl:choose/xsl:when/xsl:call-template/@name

Autres conseils

voulez-vous ... / xsl: template / xsl: choisissez / xsl: quand / @ test

Si vous voulez réellement extraire la valeur 'Prénom' de l'attribut test, vous n'avez pas de chance - le contenu à l'intérieur de l'attribut est juste une chaîne, et non un morceau de xml, vous pouvez donc ' t xpath il. Si vous avez besoin d’obtenir cela, vous devez utiliser une manipulation de chaîne (par exemple, une sous-chaîne) pour obtenir le bon contenu

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top