I would just like to point out that hierarchical structures also have a powerful semantic capability based on solid hierarchical structure processing principles. More important than using this capability is the penalty paid for ignoring the hierarchical structure semantics- wrong answers. If you are going to attach semantics to markup, you can’t ignore the hierarchical structure semantics that exists between the pathways of the structure being referenced or your results may not be meaningful. And yes, this is Lowest Common Ancestor (LCA) processing again; it applies to full search too. In the case of markup vs database data, markup can have variable LCAs to account for // navigation. There should be at least a best practices document that covers hierarchical structure processing for XML to keep results more consistent, correct and meaningful.
/Mike
Michael M David