ColumnUpdateEmitter
Date: 2016-07-03

com.nwalsh.saxon

## Class ColumnUpdateEmitter

- java.lang.Object
- - com.icl.saxon.output.Emitter
  - - com.nwalsh.saxon.CopyEmitter
    - - com.nwalsh.saxon.ColumnUpdateEmitter

- All Implemented Interfaces:
    javax.xml.transform.Result

      public class ColumnUpdateEmitter
      extends CopyEmitter

  Saxon extension to scan the column widths in a result tree fragment.

  $Id: ColumnUpdateEmitter.java 5907 2006-04-27 08:26:47Z xmldoc $

  Copyright (C) 2000 Norman Walsh.

  This class provides a Saxon 6.* implementation to scan the column widths in a result tree fragment.

  The general design is this: the stylesheets construct a result tree fragment for some colgroup environment. That result tree fragment is "replayed" through the ColumnUpdateEmitter; the ColumnUpdateEmitter watches the cols go by and extracts the column widths that it sees. These widths are then made available.

  Change Log:

  1.0

    Initial release.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static java.lang.String` | `foURI` The FO namespace name.
    `protected com.icl.saxon.om.NamePool` | `namePool`
    `protected int` | `numColumns` The number of columns seen.
    `protected java.lang.String[]` | `width`

    - ### Fields inherited from class com.nwalsh.saxon.CopyEmitter

      `rtf, rtfEmitter`

    - ### Fields inherited from class com.icl.saxon.output.Emitter

      `locator, outputProperties, outputStream, systemId, writer`

    - ### Fields inherited from interface javax.xml.transform.Result

      `PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ColumnUpdateEmitter(com.icl.saxon.Controller controller, com.icl.saxon.om.NamePool namePool, java.lang.String[] width)` Construct a new ColumnUpdateEmitter.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `startElement(int nameCode, org.xml.sax.Attributes attributes, int[] namespaces, int nscount)` Examine for column info.

    - ### Methods inherited from class com.nwalsh.saxon.CopyEmitter

      `characters, comment, endDocument, endElement, getResultTreeFragment, processingInstruction, setDocumentLocator, setEscaping, setNamePool, setUnparsedEntity, setWriter, startDocument`

    - ### Methods inherited from class com.icl.saxon.output.Emitter

      `getNamePool, getOutputProperties, getOutputStream, getSystemId, getWriter, makeEmitter, setOutputProperties, setOutputStream, setSystemId, usesWriter`

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

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

- - ### Field Detail

    - #### numColumns

          protected int numColumns

      The number of columns seen.

    - #### width

          protected java.lang.String[] width

    - #### namePool

          protected com.icl.saxon.om.NamePool namePool

    - #### foURI

          protected static java.lang.String foURI

      The FO namespace name.

  - ### Constructor Detail

    - #### ColumnUpdateEmitter

          public ColumnUpdateEmitter(com.icl.saxon.Controller controller,
                             com.icl.saxon.om.NamePool namePool,
                             java.lang.String[] width)

      Construct a new ColumnUpdateEmitter.

  - ### Method Detail

    - #### startElement

          public void startElement(int nameCode,
                          org.xml.sax.Attributes attributes,
                          int[] namespaces,
                          int nscount)
                            throws javax.xml.transform.TransformerException

      Examine for column info.
      Overrides:
        `startElement` in class `CopyEmitter`
      Throws:
        `javax.xml.transform.TransformerException`