## net.sf.saxon.serialize
Class HTMLEmitter

    java.lang.Object
      net.sf.saxon.serialize.Emitter
          net.sf.saxon.serialize.XMLEmitter
              net.sf.saxon.serialize.HTMLEmitter

All Implemented Interfaces:
  Result, Receiver

    public class HTMLEmitter

extends XMLEmitter

This class generates HTML output

Author:
  Michael H. Kay

Field Summary

Fields inherited from class net.sf.saxon.serialize.XMLEmitter
`declarationIsWritten, elementCode, elementStack, openStartTag, preferHex, started, startedElement, undeclareNamespaces`

Fields inherited from class net.sf.saxon.serialize.Emitter
`allCharactersEncodable, characterSet, namePool, outputProperties, outputStream, pipelineConfig, streamResult, systemId, writer`

Fields inherited from interface javax.xml.transform.Result
`PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

Constructor Summary
`HTMLEmitter()` Constructor

Method Summary
`void` `characters(CharSequence chars, int locationId, int properties)` Character data.
`void` `endElement()` Output an element end tag.
`protected static boolean` `isEmptyTag(String tag)`
`void` `open()` Output start of document
`protected void` `openDocument()` Do the real work of starting the document.
`void` `processingInstruction(String target, CharSequence data, int locationId, int properties)` Handle a processing instruction.
`void` `startContent()` Notify the start of the content, that is, the completion of all attributes and namespaces.
`void` `startElement(int nameCode, int typeCode, int locationId, int properties)` Output element start tag
`protected void` `writeAttribute(int elCode, String attname, CharSequence value, int properties)` Write attribute name=value pair.
`protected void` `writeDocType(String type, String systemId, String publicId)` Output the document type declaration
`protected void` `writeEscape(CharSequence chars, boolean inAttribute)` Escape characters.

Methods inherited from class net.sf.saxon.serialize.XMLEmitter
`attribute, close, closeStartTag, comment, emptyElementTagCloser, endDocument, getCachedName, namespace, outputCharacterReference, putCachedName, startDocument, testCharacters, usesTypeAnnotations, writeCharSequence, writeDeclaration`

Methods inherited from class net.sf.saxon.serialize.Emitter
`getConfiguration, getOutputProperties, getOutputStream, getPipelineConfiguration, getSystemId, getWriter, makeOutputStream, makeWriter, setOutputProperties, setOutputStream, setPipelineConfiguration, setStreamResult, setSystemId, setUnparsedEntity, setWriter, usesWriter`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### HTMLEmitter

    public HTMLEmitter()

  Constructor

Method Detail

### isEmptyTag

    protected static boolean isEmptyTag(String tag)

### open

    public void open()
              throws XPathException

  Output start of document

  Specified by:
    `open` in interface `Receiver`
  Overrides:
    `open` in class `XMLEmitter`
  Throws:
    `XPathException`

### openDocument

    protected void openDocument()
                         throws XPathException

  Description copied from class: `XMLEmitter`
  Do the real work of starting the document. This happens when the first content is written.

  Overrides:
    `openDocument` in class `XMLEmitter`
  Throws:
    `XPathException`

### writeDocType

    protected void writeDocType(String type,
                                String systemId,
                                String publicId)
                         throws XPathException

  Output the document type declaration

  Overrides:
    `writeDocType` in class `XMLEmitter`
  Parameters:
    `type` - The element name
    `systemId` - The DOCTYP system identifier
    `publicId` - The DOCTYPE public identifier
  Throws:
    `XPathException`

### startElement

    public void startElement(int nameCode,
                             int typeCode,
                             int locationId,
                             int properties)
                      throws XPathException

  Output element start tag

  Specified by:
    `startElement` in interface `Receiver`
  Overrides:
    `startElement` in class `XMLEmitter`
  Parameters:
    `nameCode` - integer code identifying the name of the element within the name pool.
    `typeCode` - integer code identifying the element's type within the name pool. The value -1 indicates the default type, xs:untyped.
    `locationId` - an integer which can be interpreted using a `LocationProvider` to return information such as line number and system ID. If no location information is available, the value zero is supplied.
    `properties` - bit-significant properties of the element node. If there are no revelant properties, zero is supplied. The definitions of the bits are in class `ReceiverOptions`
  Throws:
    `XPathException`

### startContent

    public void startContent()
                      throws XPathException

  Description copied from interface: `Receiver`
  Notify the start of the content, that is, the completion of all attributes and namespaces. Note that the initial receiver of output from XSLT instructions will not receive this event, it has to detect it itself. Note that this event is reported for every element even if it has no attributes, no namespaces, and no content.

  Specified by:
    `startContent` in interface `Receiver`
  Overrides:
    `startContent` in class `XMLEmitter`
  Throws:
    `XPathException`

### writeAttribute

    protected void writeAttribute(int elCode,
                                  String attname,
                                  CharSequence value,
                                  int properties)
                           throws XPathException

  Write attribute name=value pair. Overrides the XML behaviour if the name and value are the same (we assume this is a boolean attribute to be minimised), or if the value is a URL.

  Overrides:
    `writeAttribute` in class `XMLEmitter`
  Parameters:
    `elCode` - The element name is not used in this version of the method, but is used in the HTML subclass.
    `attname` - The attribute name, which has already been validated to ensure it can be written in this encoding
    `value` - The value of the attribute
    `properties` - Any special properties of the attribute
  Throws:
    `XPathException`

### writeEscape

    protected void writeEscape(CharSequence chars,
                               boolean inAttribute)
                        throws IOException,
                               XPathException

  Escape characters. Overrides the XML behaviour

  Overrides:
    `writeEscape` in class `XMLEmitter`
  Parameters:
    `chars` - The character sequence containing the string
    `inAttribute` - Set to true if the text is in an attribute value
  Throws:
    `IOException`
    `XPathException`

### endElement

    public void endElement()
                    throws XPathException

  Output an element end tag.

  Specified by:
    `endElement` in interface `Receiver`
  Overrides:
    `endElement` in class `XMLEmitter`
  Throws:
    `XPathException`

### characters

    public void characters(CharSequence chars,
                           int locationId,
                           int properties)
                    throws XPathException

  Character data.

  Specified by:
    `characters` in interface `Receiver`
  Overrides:
    `characters` in class `XMLEmitter`
  Parameters:
    `chars` - The characters
    `locationId` - an integer which can be interpreted using a `LocationProvider` to return information such as line number and system ID. If no location information is available, the value zero is supplied.
    `properties` - Bit significant value. The following bits are defined:
  DISABLE_ESCAPING
    Disable escaping for this text node
  USE_CDATA
    Output as a CDATA section
  Throws:
    `XPathException`

### processingInstruction

    public void processingInstruction(String target,
                                      CharSequence data,
                                      int locationId,
                                      int properties)
                               throws XPathException

  Handle a processing instruction.

  Specified by:
    `processingInstruction` in interface `Receiver`
  Overrides:
    `processingInstruction` in class `XMLEmitter`
  Parameters:
    `target` - The PI name. This must be a legal name (it will not be checked).
    `data` - The data portion of the processing instruction
    `locationId` - an integer which can be interpreted using a `LocationProvider` to return information such as line number and system ID. If no location information is available, the value zero is supplied.
    `properties` - Additional information about the PI.
  Throws:
    `XPathException`

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