The collation is specified in terms of a URI where the XSLT processor you use defines how to URI looks exactly. For Saxon 9 you can find an explanation here:
http://www.saxonica.com/documentatio...collation.html
However you can simply use (), the empty sequence for that argument and the default collation is used which I think is the Unicode codepoint collation.
To give you an example using saxon:deep-equals, assume the XML input is as follows:
Code:
<root>
<foo>bar</foo>
<foo>BAR</foo>
</root>
and we want to compare root/foo[1] and root/foo[2] according to the English language as used in the US, one time case-sensitive, one time case-insensitive, then we can use
Code:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:saxon="http://saxon.sf.net/"
exclude-result-prefixes="xs saxon">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:value-of select="
saxon:deep-equal(root/foo[1], root/foo[2], 'http://saxon.sf.net/collation?lang=en-US', '?'),
saxon:deep-equal(root/foo[1], root/foo[2], 'http://saxon.sf.net/collation?lang=en-US;ignore-case=yes', '?')"
separator="
"/>
</xsl:template>
</xsl:stylesheet>
The output (tested with Saxon 9.1.0.5 Java) is as follows:
Warning: deep-equal(): text() values differ ("/root/foo[1]/text()[1], /root/foo[2]/text()[1]: bar", "BAR")
Warning: deep-equal(): nodes at position 1 differ
false
true