net.sf.saxon.lib

## Class SaxonOutputKeys

- java.lang.Object
- - net.sf.saxon.lib.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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `ATTRIBUTE_ORDER` saxon:attribute-order = list of attribute names
    `static String` | `BYTE_ORDER_MARK` byte-order-mark = yes|no.
    `static String` | `CHARACTER_REPRESENTATION` representation = rep1[;rep2].
    `static String` | `DOUBLE_SPACE` saxon:double-space = list of element names
    `static String` | `ESCAPE_URI_ATTRIBUTES` escape-uri-attributes = "yes" | "no".
    `static String` | `HTML_VERSION` html-version = decimal
    `static String` | `IMPLICIT_RESULT_DOCUMENT` Property used internally to identify the XSLT implicit result document
    `static String` | `INCLUDE_CONTENT_TYPE` include-content-type = "yes" | "no".
    `static String` | `INDENT_SPACES` saxon:indent-spaces = integer.
    `static String` | `LINE_LENGTH` saxon:line-length = integer.
    `static String` | `NEXT_IN_CHAIN` saxon:next-in-chain = URI.
    `static String` | `NEXT_IN_CHAIN_BASE_URI`
    `static String` | `NORMALIZATION_FORM` normalization-form = NFC|NFD|NFKC|NFKD|non.
    `static String` | `RECOGNIZE_BINARY` recognize-binary = yes|no.
    `static String` | `REQUIRE_WELL_FORMED` saxon:require-well-formed = yes|no.
    `static String` | `SAXON_BASE64_BINARY_METHOD` String constant representing the saxon:base64Binary output method name
    `static String` | `SAXON_HEX_BINARY_METHOD` String constant representing the saxon:hexBinary output method name
    `static String` | `SAXON_PTREE_METHOD` String constant representing the saxon:ptree output method name
    `static String` | `SAXON_XQUERY_METHOD` String constant representing the saxon:xquery output method name
    `static String` | `STYLESHEET_VERSION` stylesheet-version.
    `static String` | `SUPPLY_SOURCE_LOCATOR` supply-source-locator = yes|no.
    `static String` | `SUPPRESS_INDENTATION` suppress-indentation = list of element names
    `static String` | `UNDECLARE_PREFIXES` undeclare-prefixes = "yes" | "no".
    `static String` | `USE_CHARACTER_MAPS` use-character-map = list-of-qnames.
    `static String` | `WRAP` wrap="yes"|"no".

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `checkOutputProperty(String key, String value, Configuration config)` Check that a supplied output property is valid.
    `static boolean` | `isHtmlVersion5(Properties properties)` Examine the already-validated properties to see whether the html-version property is present with the decimal value 5.0
    `static String` | `parseListOfNodeNames(String value, NamespaceResolver nsResolver, boolean useDefaultNS, boolean prevalidated, NameChecker checker, String errorCode)` Process a serialization property whose value is a list of element names, for example cdata-section-elements

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### SAXON_XQUERY_METHOD

          public static final String SAXON_XQUERY_METHOD

      String constant representing the saxon:xquery output method name
      See Also:
        Constant Field Values

    - #### SAXON_BASE64_BINARY_METHOD

          public static final String SAXON_BASE64_BINARY_METHOD

      String constant representing the saxon:base64Binary output method name
      See Also:
        Constant Field Values

    - #### SAXON_HEX_BINARY_METHOD

          public static final String SAXON_HEX_BINARY_METHOD

      String constant representing the saxon:hexBinary output method name
      See Also:
        Constant Field Values

    - #### SAXON_PTREE_METHOD

          public static final String SAXON_PTREE_METHOD

      String constant representing the saxon:ptree output method name
      See Also:
        Constant Field Values

    - #### INDENT_SPACES

          public static final String INDENT_SPACES

      saxon:indent-spaces = integer.

      Defines the number of spaces used for indentation of output

      See Also:
        Constant Field Values

    - #### LINE_LENGTH

          public static final String LINE_LENGTH

      saxon:line-length = integer.

      Defines the desired maximum line length used when indenting output

      See Also:
        Constant Field Values

    - #### SUPPRESS_INDENTATION

          public static final String SUPPRESS_INDENTATION

      suppress-indentation = list of element names

      Defines elements within which no indentation will occur

      See Also:
        Constant Field Values

    - #### HTML_VERSION

          public static final String HTML_VERSION

      html-version = decimal

      Defines the version of HTML. For the XHTML output method this allows separate specification of the XHTML version and the XML version. This is a new serialization parameter in the draft 3.0 specification.

      See Also:
        Constant Field Values

    - #### ATTRIBUTE_ORDER

          public static final String ATTRIBUTE_ORDER

      saxon:attribute-order = list of attribute names

      Defines an ordering for attributes in the serialized output. Any attribute present in the list will appear correctly ordered according to the list; other attributes will be ordered first by namespace, then by local name.

      See Also:
        Constant Field Values

    - #### 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

      See Also:
        Constant Field Values

    - #### 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.
      See Also:
        Constant Field Values

    - #### 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.

      See Also:
        Constant Field Values

    - #### 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

      See Also:
        Constant Field Values

    - #### 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

      See Also:
        Constant Field Values

    - #### 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

      See Also:
        Constant Field Values

    - #### 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.

      See Also:
        Constant Field Values

    - #### 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.

      See Also:
        Constant Field Values

    - #### NEXT_IN_CHAIN_BASE_URI

          public static final String NEXT_IN_CHAIN_BASE_URI

      See Also:
        Constant Field Values

    - #### 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"

      See Also:
        Constant Field Values

    - #### 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.

      See Also:
        Constant Field Values

    - #### 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.

      See Also:
        Constant Field Values

    - #### 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".

      See Also:
        Constant Field Values

    - #### 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.

      See Also:
        Constant Field Values

    - #### 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.
      See Also:
        Constant Field Values

    - #### IMPLICIT_RESULT_DOCUMENT

          public static final String IMPLICIT_RESULT_DOCUMENT

      Property used internally to identify the XSLT implicit result document
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### checkOutputProperty

          public static void checkOutputProperty(String key,
                                 String value,
                                 Configuration config)
                                          throws XPathException

      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

    - #### parseListOfNodeNames

          public static String parseListOfNodeNames(String value,
                                    NamespaceResolver nsResolver,
                                    boolean useDefaultNS,
                                    boolean prevalidated,
                                    NameChecker checker,
                                    String errorCode)
                                             throws XPathException

      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; may be null if prevalidated is set or if names are supplied in Clark format
        `useDefaultNS` -
        `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` - if any error is found in the list of element names, for example, an undeclared namespace prefix

    - #### isHtmlVersion5

          public static boolean isHtmlVersion5(Properties properties)

      Examine the already-validated properties to see whether the html-version property is present with the decimal value 5.0
      Parameters:
        `properties` - the properties to be examined
      Returns:
        true if the properties include html-version="5.0". The property is a decimal value, so it can also be written, for example, "5" or "+5.00".

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.