Honestly, which is more understandable?
document(document(//a/@href)//a[test()])//*[id="targ"]
vs
//a/@href---->//a[test()]/@href---->//*[id="targ"]
If you have a strong Xpath 1.0 background, you might say the first. But most folks say the second. The question is what syntax to replace the arrows.