J'utilise xsl: fiche de style code> instruction de traitement dans mon XML. Y a-t-il de toute façon pour sélectionner cette pi avec xpath? Si oui, comment? P>
3 Réponses :
Utilisez traitement-instruction () code>
Test de nœud. P>
Kirill, cette réponse est trop générale - vous ne fournissez pas une expression XPath spécifique qui sélectionne exactement le PI recherché.
En général, une instruction de traitement peut être sélectionnée à l'aide du test Plus spécifiquement, on peut inclure comme argument le nom (cible) du nœud PI recherché . P> Utilisez fort>: p> Ceci sélectionne toutes les instructions de traitement avec nom Notez que " une instruction de traitement a un nom de traitement élargi: la partie locale est la cible de l'instruction de traitement; l'urion d'espace de noms est null em>." p> aussi Selon le document W3C: L'expression XPath est évaluée et le nœud PI sélectionné est émis fort>: p> TRAITEMENT-INSTRUCTION () CODE> Test de nœud.
xsl-stylesheet code> que est défini au niveau mondial (le frère de l'élément supérieur). p>
xsl: stylesheet code> est une cible PI invalide pour un PI. Un colon
':' code> est utilisé pour délimiter un préfixe d'espace de noms à partir du nom local - toutefois une instruction de traitement cible em> ne peut pas appartenir à un espace de noms. Selon les
" xml-stylesheet " code> - pas
" xsl: la feuille de style " code> ou < code> "xsl-stylesheet" code>. p>
Je vois que vous êtes toujours à la hauteur de vos vieilles astuces ... Supprimer et ré-poster une réponse pour rejeter les votes abusifs est tout droit à l'abus: comment les gens décident d'évaluer vos réponses est leur décision, pas la vôtre. S'il vous plaît s'abstenir de le faire à nouveau.
Est-ce que / traitement - instruction ('xml-stylesheet') code> sélectionne des éléments avec nom
xsl-stylesheet code>? Ce serait magique! Remarque
xml code> vs
xsl code>.
@Michelduiter, oui, ça fait. Ceci est formellement défini ici (troisième paragraphe du bas): w3.org/tr / XPATH / # NODE-TESTS
@Micheldruiter, non, ça ne le fait pas. Je ne sais pas pourquoi Dimitre croit autrement, mais j'ai testé cela, et cela ne correspond pas.
@MicheldRuier, Flynnn1179 a raison - je n'ai pas vu la différence de noms. Mais vous pouvez facilement faire: traitement-instruction () [nom () = 'xml-stylesheet' ou nom () = 'xsl-stylesheet'] code>
@ Flynn1179, oui, je n'ai pas remarqué que le commentaire demandait de sélectionner un PI avec un autre nom. J'ai répondu avec un autre commentaire en spécifiant une façon de sélectionner à la fois de ces pis.
Un chapeau d'instruction de traitement Deux parties Cible et des données avec la syntaxe: si vous utilisez: p> il ne sera que Renvoie la partie de données, dans l'exemple de Dimitre Novatchev, il renvoie: P> type="text/xsl" href="test"