XSLT reference
String funciton
string-length()
Output xml entities as is
<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
Handling CDATA
XSL can't copy CDATA section as CDATA section.
http://sources.redhat.com/ml/xsl-list/2001-05/msg00980.html
XPath's axes
http://www.w3schools.com/XPath/xpath_axes.asp
Useful XPath samples
<!-- Return the value of the attribute @name where the text of the textarea element is equal to apostrophe --> <xsl:value-of select="//textarea[text()='apostrophe']/@name"/> <!-- Return the value of the attribute @name where the children elements of tr element satisfy the following conditions: -the text of the td element is equal to Min AND -td has input child element which has a name attribute --> <xsl:value-of select="//tr/td[text()='Min']/../td/input/@name"/> <!-- Go down to the path but select the parent node --> <!-- Find span element where the text() is equals to 'Any Label' and then select its parent div node. --> <xsl:value-of select="//span[contains(text(), 'Any Label')]/parent::div"/> <!-- Select all nodes that contains @title attribute --> <xsl:value-of select="//*[@title]"/>
Advanced used of XSLT:
http://www2.informatik.hu-berlin.de/~obecker/XSLT/
Declarations in XML
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="file:///C:/path/example.xsl"?> <!-- XSL --> <!-- XSD file is added on the root tag --> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///C:/path/example.xsd">