Package com.nwalsh.saxon

Source Code of com.nwalsh.saxon.CopyEmitter

package com.nwalsh.saxon;

import java.util.Stack;
import java.util.StringTokenizer;
import org.xml.sax.*;
import org.w3c.dom.*;
import javax.xml.transform.TransformerException;
import com.icl.saxon.Context;
import com.icl.saxon.expr.*;
import com.icl.saxon.expr.FragmentValue;
import com.icl.saxon.Controller;
import com.icl.saxon.functions.Extensions;
import com.icl.saxon.om.*;
import com.icl.saxon.output.*;
import com.icl.saxon.pattern.*;
import com.icl.saxon.tree.*;

/**
* <p>A Saxon 6.0 Emitter that clones its input.</p>
*
* <p>$Id: CopyEmitter.java,v 1.1 2001/07/16 21:23:57 nwalsh Exp $</p>
*
* <p>Copyright (C) 2000 Norman Walsh.</p>
*
* <p>This class provides a
* <a href="http://users.iclway.co.uk/mhkay/saxon/">Saxon 6.*</a>
* implementation of an emitter that manufactures a cloned result
* tree fragment.</p>
*
* <p>The purpose of this emitter is to provide something for
* CalloutEmitter and NumberLinesEmitter to extend.
* This emitter simply copies all input to a new result tree fragment.</p>
*
* <p><b>Change Log:</b></p>
* <dl>
* <dt>1.0</dt>
* <dd><p>Initial release.</p></dd>
* </dl>
*
* @see CalloutEmitter
* @see NumberLinesEmitter
*
* @author Norman Walsh
* <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a>
*
* @version $Id: CopyEmitter.java,v 1.1 2001/07/16 21:23:57 nwalsh Exp $
*
*/
public class CopyEmitter extends com.icl.saxon.output.Emitter {
  /** The result tree fragment containing the copied fragment. */
  protected FragmentValue rtf = null;
  protected Emitter rtfEmitter = null;

  /** <p>The namePool.</p>
   *
   * <p>Copied from the caller, it should be the runtime name pool.</p>
   */
  protected NamePool namePool = null;

  /** <p>Constructor for the CopyEmitter.</p>
   *
   * @param namePool The name pool to use for constructing elements and attributes.
   */
  public CopyEmitter(Controller controller, NamePool namePool) {
    rtf = new FragmentValue(controller);
    rtfEmitter = rtf.getEmitter();
    this.namePool = namePool;
  }

  /**
   * <p>Return the result tree fragment constructed by replaying events
   * through this emitter.</p>
   */
  public FragmentValue getResultTreeFragment() {
    return rtf;
  }

  /** Copy characters. */
  public void characters(char[] chars, int start, int len)
    throws TransformerException {
    rtfEmitter.characters(chars, start, len);
  }

  /** Copy comments. */
  public void comment(char[] chars, int start, int length)
    throws TransformerException {
    rtfEmitter.comment(chars, start, length);
  }

  /** Copy end document events. */
  public void endDocument()
    throws TransformerException {
    rtfEmitter.endDocument();
  }

  /** Copy end element events. */
  public void endElement(int nameCode)
    throws TransformerException {
    rtfEmitter.endElement(nameCode);
  }

  /** Copy processing instructions. */
  public void processingInstruction(java.lang.String name,
            java.lang.String data)
    throws TransformerException {
    rtfEmitter.processingInstruction(name, data);
  }

  /** Copy set document locator events. */
  public void setDocumentLocator(org.xml.sax.Locator locator) {
    rtfEmitter.setDocumentLocator(locator);
  }

  /** Copy set escaping events. */
  public void setEscaping(boolean escaping)
    throws TransformerException {
    rtfEmitter.setEscaping(escaping);
  }

  /** Copy set name pool events. */
  public void setNamePool(NamePool namePool) {
    rtfEmitter.setNamePool(namePool);
  }

  /** Copy set unparsed entity events. */
  public void setUnparsedEntity(java.lang.String name, java.lang.String uri)
    throws TransformerException {
    rtfEmitter.setUnparsedEntity(name, uri);
  }

  /** Copy set writer events. */
  public void setWriter(java.io.Writer writer) {
    rtfEmitter.setWriter(writer);
  }

  /** Copy start document events. */
  public void startDocument()
    throws TransformerException {
    rtfEmitter.startDocument();
  }

  /** Copy start element events. */
  public void startElement(int nameCode,
         org.xml.sax.Attributes attributes,
         int[] namespaces,
         int nscount)
    throws TransformerException {
    rtfEmitter.startElement(nameCode, attributes, namespaces, nscount);
  }
}
TOP

Related Classes of com.nwalsh.saxon.CopyEmitter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.