est-il possible de vérifier le type d'un nœud que je correspond à un modèle dans le même modèle? Si c'est le cas, comment puis-je le faire? Par exemple, je voudrais faire quelque chose comme ceci:
3 Réponses :
Jetez un coup d'œil à cette réponse ici, car cela devrait vous donner les informations dont vous avez besoin:
Différence entre: Enfant :: Node () et enfant :: * p>
Ceci donne le suivant XSL: Choisissez STRY> pour tester tous les nœuds, y compris le document nœud. p>
Bon, mais vous avez manqué des nœuds d'espace de noms.
un moyen plus précis de déterminer si le nœud L'expression de la réponse de TIMC teste le type du nœud actuel: p> mais n'est pas applicable dans le cas où nous souhaitons déterminer le type d'un nœud dans une variable - qui peut appartenir à un autre document - non pas au document actuel. P> aussi, un test d'un nœud d'espace de noms fort>: p> $ nœud code> est un nœud racine em> fort>:
Je vous recommande vivement d'utiliser Expressions sur les types de séquence introduits dans XPath 2.0 . Par exemple:
Tim a donné une bonne réponse, mais je me demande pourquoi vous devez le faire dans le modèle et pourquoi vous n'écrivez pas simplement à des modèles de correspondance plus spécifiques avec des modèles distincts pour les différents types de noeuds.
Je m'intéresse à des fins éducatives. Je construis une transformation XSL pour mettre en surbrillance les nœuds correspondant par des expressions XPath dans un document XML. Dans une application réelle, je ne le ferais pas.