Optimizing Node SelectionsProblemSolutionAvoid unnecessary reliance on default processing rulesAvoid using the descendant, descendant-or-self, preceding, or following axes when they aren’t necessaryPrefer “selecting” and “matching” over “filtering”Cache frequently used node sets in variablesUse xsl:key if nodes are frequently selected by static criteriaDiscussionAvoid unnecessarily reliance on default processing rulesPrefer “selecting” and “matching” over “filtering”Cache frequently used node sets in variablesUse xsl:key if nodes will be selected by static criteria frequently