Adding an output encoding

If you want to use an output encoding that is not directly supported by Saxon (for a list of encodings that are supported, see Encodings) you can do this by writing a Java class that implements the interface net.sf.saxon.charcode.PluggableCharacterSet. You need to supply two methods: inCharSet() which tests whether a particular Unicode character is present in the character set, and getEncodingName() which returns the name given to the encoding by your Java VM. The encoding must be supported by the Java VM. To use this encoding, specify the fully-qualified class name as the value of the encoding attribute in xsl:output.

Alternatively, it is possible to specify the CharacterSet class to be used for a named output encoding by setting the system property, e.g. -D"encoding.EUC-JP"="EUC_JP"; the value of the property should be the name of a class that implements the PluggableCharacterSet interface. This indicates the class to be used when the xsl:output element specifies encoding="EUC-JP".