//node()[not(*)][not(normalize-space())]
Alle Elemente, Text, Kommentar und processing-instruction Knoten, beliebige Stelle im Dokument, das nicht über ein untergeordnetes Element Knoten und deren String-Wert ist entweder leer oder besteht nur aus Whitespace
//node()[not(*)][not(normalize-space())][not(boolean(@Key))]
Wie oben, mit der zusätzlichen Bedingung, dass es kein @Key-Attribut gibt. Das letzte Prädikat ist schlecht geschrieben: es könnte auf [not(@Key)]
verkürzt werden, ohne seine Bedeutung zu ändern.
//node()[not(text())]
Alle Elemente, Text, Kommentar und processing-instruction Knoten, beliebige Stelle im Dokument, die kein Kind Textknoten haben.
OK viel besser und genauer. –