Je dispose des possibilités XML suivantes:
. bla.
. bla.
bla.
Je veux obtenir le premier "." Donc j'ai essayé:
starts-with(metamark[not(descendant::text())]/following-sibling::text()[1],'.')
Fonctionne bien pour la ligne 2 ci-dessus mais je manque la ligne 1. Donc j'ai fait:
starts-with(metamark[not(descendant::text())]/following-sibling::text()[1],'.') or starts-with(metamark[not(descendant::text())]/following-sibling::*[1]/text()[1],'.')
qui fonctionne maintenant pour toutes les lignes ci-dessus. Cependant, la ligne 3 ne devrait pas être vraie, car je veux seulement les "." qui suivent immédiatement le vide ou la première chaîne du sibling qui suit immédiatement, MAIS pas s'il y a du texte dans un élément descendant de ce sibling avant le "."
Donc en termes simples: le premier texte (comme le plus proche du fermoir ">" réel après un élément. Comment pourrais-je accomplir cela?