XPath sélectionnant plusieurs éléments avec des prédicats

J'ai une requête XPath qui est en train de faire ce que je veux, à savoir la sélection d'une union de "nom de famille" & " -les noms de prédicats (C'est en fait soit/ou que j'ai besoin, mais l'union fonctionne très bien):

/header/authors/surname[./text() and @id='1']
|
/header/authors/given-names[./text() and @id='1']

Cependant cela semble trop longue haleine pour moi et je pense qu'il devrait être possible de faire quelque chose de plus concis tels que:

/header/authors/(surname|given-names)[./text() and @id='1']

... mais cette version n'est pas valide XPath.

Quelqu'un peut me dire de propre façon d'écrire l'origine de l'expression XPath qui ne nécessite pas le chemin d'accès complet à être écrit deux fois?

Grâce

Richard

source d'informationauteur Richard Corfield | 2010-11-02