net.sf.saxon.event

Class SaxonOutputKeys

public class SaxonOutputKeys extends Object

Provides string constants that can be used to set output properties for a Transformer, or to retrieve output properties from a Transformer or Templates object. These keys are private Saxon keys that supplement the standard keys defined in javax.xml.transform.OutputKeys. As well as Saxon extension attributes, the list includes new attributes defined in XSLT 2.0 which are not yet supported in JAXP
Field Summary
static StringBYTE_ORDER_MARK
byte-order-mark = yes|no.
static StringCHARACTER_REPRESENTATION
representation = rep1[;rep2].
static StringDOUBLE_SPACE
saxon:double-space = list of element names

Defines elements that will have an extra blank line added before the start tag, in addition to normal indentation

static StringESCAPE_URI_ATTRIBUTES
escape-uri-attributes = "yes" | "no".
static StringIMPLICIT_RESULT_DOCUMENT
Property used internally to identify the XSLT implicit result document
static StringINCLUDE_CONTENT_TYPE
include-content-type = "yes" | "no".
static StringINDENT_SPACES
saxon:indentSpaces = integer.
static StringNEXT_IN_CHAIN
saxon:next-in-chain = URI.
static StringNEXT_IN_CHAIN_BASE_URI
static StringNORMALIZATION_FORM
normalization-form = NFC|NFD|NFKC|NFKD|non.
static StringRECOGNIZE_BINARY
recognize-binary = yes|no.
static StringREQUIRE_WELL_FORMED
saxon:require-well-formed = yes|no.
static StringSAXON_XQUERY_METHOD
String constant representing the saxon:xquery output method name
static StringSTYLESHEET_VERSION
stylesheet-version.
static StringSUPPLY_SOURCE_LOCATOR
supply-source-locator = yes|no.
static StringSUPPRESS_INDENTATION
saxon:suppress-indentation = list of element names

Defines elements within which no indentation will occur

static StringUNDECLARE_PREFIXES
undeclare-prefixes = "yes" | "no".
static StringUSE_CHARACTER_MAPS
use-character-map = list-of-qnames.
static StringWRAP
wrap="yes"|"no".
Method Summary
static voidcheckOutputProperty(String key, String value, Configuration config)
Check that a supplied output property is valid.
static StringparseListOfElementNames(String value, NamespaceResolver nsResolver, boolean prevalidated, NameChecker checker, String errorCode)
Process a serialization property whose value is a list of element names, for example cdata-section-elements

Field Detail

BYTE_ORDER_MARK

public static final String BYTE_ORDER_MARK
byte-order-mark = yes|no.

Indicates whether UTF-8/UTF-16 output is to start with a byte order mark. Values are "yes" or "no", default is "no"

CHARACTER_REPRESENTATION

public static final String CHARACTER_REPRESENTATION
representation = rep1[;rep2].

Indicates the preferred way of representing non-ASCII characters in HTML and XML output. rep1 is for characters in the range 128-256, rep2 for those above 256.

DOUBLE_SPACE

public static final String DOUBLE_SPACE
saxon:double-space = list of element names

Defines elements that will have an extra blank line added before the start tag, in addition to normal indentation

ESCAPE_URI_ATTRIBUTES

public static final String ESCAPE_URI_ATTRIBUTES
escape-uri-attributes = "yes" | "no". This attribute is defined in XSLT 2.0

Indicates whether HTML attributes of type URI are to be URI-escaped

IMPLICIT_RESULT_DOCUMENT

public static final String IMPLICIT_RESULT_DOCUMENT
Property used internally to identify the XSLT implicit result document

INCLUDE_CONTENT_TYPE

public static final String INCLUDE_CONTENT_TYPE
include-content-type = "yes" | "no". This attribute is defined in XSLT 2.0

Indicates whether the META tag is to be added to HTML output

INDENT_SPACES

public static final String INDENT_SPACES
saxon:indentSpaces = integer.

Defines the number of spaces used for indentation of output

NEXT_IN_CHAIN

public static final String NEXT_IN_CHAIN
saxon:next-in-chain = URI.

Indicates that the output is to be piped into another XSLT stylesheet to perform another transformation. The auxiliary property NEXT_IN_CHAIN_BASE_URI records the base URI of the stylesheet element where this attribute was found.

NEXT_IN_CHAIN_BASE_URI

public static final String NEXT_IN_CHAIN_BASE_URI

NORMALIZATION_FORM

public static final String NORMALIZATION_FORM
normalization-form = NFC|NFD|NFKC|NFKD|non.

Indicates that a given Unicode normalization form (or no normalization) is required.

RECOGNIZE_BINARY

public static final String RECOGNIZE_BINARY
recognize-binary = yes|no.

If set to "yes", and the output is being written using output method "text", Saxon will recognize two processing instructions <?hex XXXX?> and <b64 XXXX?> containing binary data encoded as a hexBinary or base64 string respectively. The corresponding strings will be decoded as characters in the encoding being used for the output file, and will be written out to the output without checking that they represent valid XML strings.

REQUIRE_WELL_FORMED

public static final String REQUIRE_WELL_FORMED
saxon:require-well-formed = yes|no.

Indicates whether a user-supplied ContentHandler requires the stream of SAX events to be well-formed (that is, to have a single element node and no text nodes as children of the root). The default is "no".

SAXON_XQUERY_METHOD

public static final String SAXON_XQUERY_METHOD
String constant representing the saxon:xquery output method name

STYLESHEET_VERSION

public static final String STYLESHEET_VERSION
stylesheet-version. This serialization parameter is set automatically by the XSLT processor to the value of the version attribute on the principal stylesheet module.

SUPPLY_SOURCE_LOCATOR

public static final String SUPPLY_SOURCE_LOCATOR
supply-source-locator = yes|no.

If set to "yes", and the output is being sent to a SAXResult (or to a user-supplied content handler), indicates that the SAX Locator made available to the ContentHandler will contain information about the location of the context node in the source document as well as the location in the stylesheet or query.

SUPPRESS_INDENTATION

public static final String SUPPRESS_INDENTATION
saxon:suppress-indentation = list of element names

Defines elements within which no indentation will occur

UNDECLARE_PREFIXES

public static final String UNDECLARE_PREFIXES
undeclare-prefixes = "yes" | "no". This attribute is defined in XSLT 2.0

Indicates XML 1.1 namespace undeclarations are to be output when required

USE_CHARACTER_MAPS

public static final String USE_CHARACTER_MAPS
use-character-map = list-of-qnames.

Defines the character maps used in this output definition. The QNames are represented in Clark notation as {uri}local-name.

WRAP

public static final String WRAP
wrap="yes"|"no".

This property is only available in the XQuery API. The value "yes" indicates that the result sequence produced by the query is to be wrapped, that is, each item in the result is represented as a separate element. This format allows any sequence to be represented as an XML document, including for example sequences consisting of parentless attribute nodes.

Method Detail

checkOutputProperty

public static void checkOutputProperty(String key, String value, Configuration config)
Check that a supplied output property is valid.

Parameters: key the name of the property value the value of the property. This may be set to null, in which case no validation takes place. The value must be in JAXP format, that is, with lexical QNames expanded to Clark names config the Saxon Configuration. May be null, in which case validation may be incomplete

Throws: XPathException if the property name or value is invalid

parseListOfElementNames

public static String parseListOfElementNames(String value, NamespaceResolver nsResolver, boolean prevalidated, NameChecker checker, String errorCode)
Process a serialization property whose value is a list of element names, for example cdata-section-elements

Parameters: value The value of the property as written nsResolver The namespace resolver to use prevalidated true if the property has already been validated checker The name checker to use for name syntax (XML 1.0 or XML 1.1) errorCode The error code to return in the event of problems

Returns: The list of element names with lexical QNames replaced by Clark names, starting with a single space

Throws: XPathException