XSLT: Programming
Variables
Result Tree Fragments
Result Tree Fragment: How much to pay?
Uses of Variables
Convenience and Efficiency
Result
Convenience
Context Sensitive
Finer Control
Priority
Parameters
Calling Templates
Recursion
Square Root
Debugging
Recursion over Nodesets
Structure
Detail
A Different Approach
Horses for Courses
Recursive Solutions
Tail Recursion
Double Recursion
Double Recursion
Double Recursion
Table/Database Access
xsl:key: A top-level element
key() function
Keys
Example: CDs Priced by Coloured Label
Selecting and Pricing: No Keys
Price CDs
Price CDs Using key
Price CDs Using key
Key Returning Nodeset
Looking up the CDs
Select CDs of Artist
Grouping by Key
Grouping Unknown Groups
generate-id Function
Muenchian Grouping
Grouping Tracks
Grouping Tracks
Grouping Tracks
Grouping Tracks Result
Grouping in XSLT
Conclusion
Namespaces
Standard Copy
Insert Output
Insert Output
Exclude Result Prefixes
A Solution
Removing Namespaces and Their Attributes
Numbering
Example: Multiple Levels
Result: Multiple Levels
Example: Single Level
Result: Single Level
Explanation
Example: Any Levels
Result: Any Levels
Example: Alpha, Multiple Levels
Result: Alpha Multiple Levels
Example: from
Result: Restart each CD