/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// $Id: SAXResult.java 446598 2006-09-15 12:55:40Z jeremias $

package javax.xml.transform.sax;

import javax.xml.transform.Result;

import org.xml.sax.ContentHandler;
import org.xml.sax.ext.LexicalHandler;

Acts as an holder for a transformation Result.

Author:Jeff Suttor
/** * <p>Acts as an holder for a transformation Result.</p> * * @author <a href="Jeff.Suttor@Sun.com">Jeff Suttor</a> */
public class SAXResult implements Result {
If TransformerFactory.getFeature returns true when passed this value as an argument, the Transformer supports Result output of this type.
/** * If {@link javax.xml.transform.TransformerFactory#getFeature} * returns true when passed this value as an argument, * the Transformer supports Result output of this type. */
public static final String FEATURE = "http://javax.xml.transform.sax.SAXResult/feature";
Zero-argument default constructor.
/** * Zero-argument default constructor. */
public SAXResult() { }
Create a SAXResult that targets a SAX2 ContentHandler.
Params:
  • handler – Must be a non-null ContentHandler reference.
/** * Create a SAXResult that targets a SAX2 {@link org.xml.sax.ContentHandler}. * * @param handler Must be a non-null ContentHandler reference. */
public SAXResult(ContentHandler handler) { setHandler(handler); }
Set the target to be a SAX2 ContentHandler.
Params:
  • handler – Must be a non-null ContentHandler reference.
/** * Set the target to be a SAX2 {@link org.xml.sax.ContentHandler}. * * @param handler Must be a non-null ContentHandler reference. */
public void setHandler(ContentHandler handler) { this.handler = handler; }
Get the ContentHandler that is the Result.
Returns:The ContentHandler that is to be transformation output.
/** * Get the {@link org.xml.sax.ContentHandler} that is the Result. * * @return The ContentHandler that is to be transformation output. */
public ContentHandler getHandler() { return handler; }
Set the SAX2 LexicalHandler for the output.

This is needed to handle XML comments and the like. If the lexical handler is not set, an attempt should be made by the transformer to cast the ContentHandler to a LexicalHandler.

Params:
  • handler – A non-null LexicalHandler for handling lexical parse events.
/** * Set the SAX2 {@link org.xml.sax.ext.LexicalHandler} for the output. * * <p>This is needed to handle XML comments and the like. If the * lexical handler is not set, an attempt should be made by the * transformer to cast the {@link org.xml.sax.ContentHandler} to a * <code>LexicalHandler</code>.</p> * * @param handler A non-null <code>LexicalHandler</code> for * handling lexical parse events. */
public void setLexicalHandler(LexicalHandler handler) { this.lexhandler = handler; }
Get a SAX2 LexicalHandler for the output.
Returns:A LexicalHandler, or null.
/** * Get a SAX2 {@link org.xml.sax.ext.LexicalHandler} for the output. * * @return A <code>LexicalHandler</code>, or null. */
public LexicalHandler getLexicalHandler() { return lexhandler; }
Method setSystemId Set the systemID that may be used in association with the ContentHandler.
Params:
  • systemId – The system identifier as a URI string.
/** * Method setSystemId Set the systemID that may be used in association * with the {@link org.xml.sax.ContentHandler}. * * @param systemId The system identifier as a URI string. */
public void setSystemId(String systemId) { this.systemId = systemId; }
Get the system identifier that was set with setSystemId.
Returns:The system identifier that was set with setSystemId, or null if setSystemId was not called.
/** * Get the system identifier that was set with setSystemId. * * @return The system identifier that was set with setSystemId, or null * if setSystemId was not called. */
public String getSystemId() { return systemId; } ////////////////////////////////////////////////////////////////////// // Internal state. //////////////////////////////////////////////////////////////////////
The handler for parse events.
/** * The handler for parse events. */
private ContentHandler handler;
The handler for lexical events.
/** * The handler for lexical events. */
private LexicalHandler lexhandler;
The systemID that may be used in association with the node.
/** * The systemID that may be used in association * with the node. */
private String systemId; }