Implementing collations in Java
If you want to use your own URIs to define collations, there are two ways of doing this:
You can use the Saxon configuration file to define collations: see The collations element.
You can register a collation with the Saxon Configuration using the method s9api method
Processor.declareCollation()
or the underlying methodConfiguration.registerCollation()
.
In either case, the collation is supplied in the form
of an implementation of the interface net.sf.saxon.lib.StringCollator
. You must supply methods
compareStrings()
and comparesEqual()
for comparing strings for
ordering or equality, and a method getCollationKey() which returns a collation key
for any string. If you want your collation to be used in calls of fn:contains()
,
fn:starts-with()
, fn:ends-with()
, fn:substring-before()
,
or fn:substring-after()
, then it must also implement the interface
net.sf.saxon.lib.SubstringMatcher
.