We've got a number of directories, each containing several attribute-sets. Many of these attribute-sets use other attribute-sets. The attribute-set stylesheets are imported in a particular order to override same-named attribute-sets imported earlier. Since any attribute-set can use multiple attribute-sets (multiple inheritance), the problem fans out quickly. It's difficult to know without a lot of manual searching the answers to various questions, such as:
- Which attribute-sets could be affected by a change to a specific attribute-set, either directly directly or indirectly through multiple layers of use-attribute-sets? (looking down the "inheritance" tree for descendants)
- Which attribute-sets contribute to the definition of a given attribute-set? (looking upward for ancestors)
- What is the computed set of attributes and values from layers of "inheritance" for a given attribute-set, including showing the contributing file and attribute-set names?
Do any such tools exist? If not, since it's XML, is there an elegant way to use XSLT3, XQuery3, and XPath3.1 to address this need?