===== Important Notes =====
There are two key parts to XSLT processing:
* Selecting the nodes or elements to be processed (using a match pattern of XPath or XQuery) by defining a template
* Applying the processing to the selected nodes by using a templates
* Accessing the selected node values
==== Selecting Nodes ====
The basic XSLT element for selecting a node is :
Actions to be taken or text to be written out
When the XSLT processor matches a template's pattern, the node or node set becomes the **//context//** node / node set. You can also refer to the current node as **'.'**
By default a template only matches the the current element and attributes, rather than any children.
==== Applying Logic to Nodes ====
The basic construct for applying the logic is:
The apply-templates construct only applies to nodes or child nodes, but not to attributes. This can addressed by using the //select // construct in the apply-templates construct.
To apply a specific template the full construct becomes:
You can also apply a names template by substituting the final //select// section with:
and adding in:
You can also specifiy prameters to pass to the called template by using the and inside the called template.
==== Accesing Node Values ====
In order to get the value of a node the construct is: