Package com.nwalsh.saxon

# Class ColumnUpdateEmitter

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

All Implemented Interfaces:
  `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
Description
`protected static String`
`foURI`
The FO namespace name.
`protected com.icl.saxon.om.NamePool`
`namePool`
`protected int`
`numColumns`
The number of columns seen.
`protected 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
Description
`ColumnUpdateEmitter(com.icl.saxon.Controller controller, com.icl.saxon.om.NamePool namePool, String[] width)`
Construct a new ColumnUpdateEmitter.

## Method Summary

Modifier and Type
Method
Description
`void`
`startElement(int nameCode, 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 Details

### numColumns

protected int numColumns
The number of columns seen.

### width

protected String[] width

### namePool

protected com.icl.saxon.om.NamePool namePool

### foURI

protected static String foURI
The FO namespace name.

## Constructor Details

### ColumnUpdateEmitter

public ColumnUpdateEmitter(com.icl.saxon.Controller controller, com.icl.saxon.om.NamePool namePool, String[] width)
Construct a new ColumnUpdateEmitter.

## Method Details

### startElement

public void startElement(int nameCode, Attributes attributes, int[] namespaces, int nscount) throws TransformerException
Examine for column info.

Overrides:
  `startElement` in class `CopyEmitter`
Throws:
  `TransformerException`