I have an XPath query which is doing what I want, namely selecting a union of \'surname\' & \'given-names\' with the given predicates (It\'s actually either/or that I ne
How about
/header/authors/*[(name() = "surname" or name()="given-names") and ./text() and @id='1']