- /*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 2000-2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xerces" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.apache.org. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
- package com.sun.org.apache.xerces.internal.xni;
-
- import com.sun.org.apache.xerces.internal.xni.parser.XMLDTDSource;
-
- /**
- * The DTD handler interface defines callback methods to report
- * information items in the DTD of an XML document. Parser components
- * interested in DTD information implement this interface and are
- * registered as the DTD handler on the DTD source.
- *
- * @see XMLDTDContentModelHandler
- *
- * @author Andy Clark, IBM
- *
- * @version $Id: XMLDTDHandler.java,v 1.11 2002/12/07 00:07:51 neilg Exp $
- */
- public interface XMLDTDHandler {
-
- //
- // Constants
- //
-
- /**
- * Conditional section: INCLUDE.
- *
- * @see #CONDITIONAL_IGNORE
- */
- public static final short CONDITIONAL_INCLUDE = 0;
-
- /**
- * Conditional section: IGNORE.
- *
- * @see #CONDITIONAL_INCLUDE
- */
- public static final short CONDITIONAL_IGNORE = 1;
-
- //
- // XMLDTDHandler methods
- //
-
- /**
- * The start of the DTD.
- *
- * @param locator The document locator, or null if the document
- * location cannot be reported during the parsing of
- * the document DTD. However, it is <em>strongly</em>
- * recommended that a locator be supplied that can
- * at least report the base system identifier of the
- * DTD.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void startDTD(XMLLocator locator, Augmentations augmentations)
- throws XNIException;
-
- /**
- * This method notifies of the start of a parameter entity. The parameter
- * entity name start with a '%' character.
- *
- * @param name The name of the parameter entity.
- * @param identifier The resource identifier.
- * @param encoding The auto-detected IANA encoding name of the entity
- * stream. This value will be null in those situations
- * where the entity encoding is not auto-detected (e.g.
- * internal parameter entities).
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void startParameterEntity(String name,
- XMLResourceIdentifier identifier,
- String encoding,
- Augmentations augmentations) throws XNIException;
-
- /**
- * Notifies of the presence of a TextDecl line in an entity. If present,
- * this method will be called immediately following the startEntity call.
- * <p>
- * <strong>Note:</strong> This method is only called for external
- * parameter entities referenced in the DTD.
- *
- * @param version The XML version, or null if not specified.
- * @param encoding The IANA encoding name of the entity.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void textDecl(String version, String encoding,
- Augmentations augmentations) throws XNIException;
-
- /**
- * This method notifies the end of a parameter entity. Parameter entity
- * names begin with a '%' character.
- *
- * @param name The name of the parameter entity.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void endParameterEntity(String name, Augmentations augmentations)
- throws XNIException;
-
- /**
- * The start of the DTD external subset.
- *
- * @param identifier The resource identifier.
- * @param augmentations
- * Additional information that may include infoset
- * augmentations.
- * @exception XNIException
- * Thrown by handler to signal an error.
- */
- public void startExternalSubset(XMLResourceIdentifier identifier,
- Augmentations augmentations)
- throws XNIException;
-
- /**
- * The end of the DTD external subset.
- *
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void endExternalSubset(Augmentations augmentations)
- throws XNIException;
-
- /**
- * A comment.
- *
- * @param text The text in the comment.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by application to signal an error.
- */
- public void comment(XMLString text, Augmentations augmentations)
- throws XNIException;
-
- /**
- * A processing instruction. Processing instructions consist of a
- * target name and, optionally, text data. The data is only meaningful
- * to the application.
- * <p>
- * Typically, a processing instruction's data will contain a series
- * of pseudo-attributes. These pseudo-attributes follow the form of
- * element attributes but are <strong>not</strong> parsed or presented
- * to the application as anything other than text. The application is
- * responsible for parsing the data.
- *
- * @param target The target.
- * @param data The data or null if none specified.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void processingInstruction(String target, XMLString data,
- Augmentations augmentations)
- throws XNIException;
-
- /**
- * An element declaration.
- *
- * @param name The name of the element.
- * @param contentModel The element content model.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void elementDecl(String name, String contentModel,
- Augmentations augmentations)
- throws XNIException;
-
- /**
- * The start of an attribute list.
- *
- * @param elementName The name of the element that this attribute
- * list is associated with.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void startAttlist(String elementName,
- Augmentations augmentations) throws XNIException;
-
- /**
- * An attribute declaration.
- *
- * @param elementName The name of the element that this attribute
- * is associated with.
- * @param attributeName The name of the attribute.
- * @param type The attribute type. This value will be one of
- * the following: "CDATA", "ENTITY", "ENTITIES",
- * "ENUMERATION", "ID", "IDREF", "IDREFS",
- * "NMTOKEN", "NMTOKENS", or "NOTATION".
- * @param enumeration If the type has the value "ENUMERATION" or
- * "NOTATION", this array holds the allowed attribute
- * values; otherwise, this array is null.
- * @param defaultType The attribute default type. This value will be
- * one of the following: "#FIXED", "#IMPLIED",
- * "#REQUIRED", or null.
- * @param defaultValue The attribute default value, or null if no
- * default value is specified.
- * @param nonNormalizedDefaultValue The attribute default value with no normalization
- * performed, or null if no default value is specified.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void attributeDecl(String elementName, String attributeName,
- String type, String[] enumeration,
- String defaultType, XMLString defaultValue,
- XMLString nonNormalizedDefaultValue, Augmentations augmentations)
- throws XNIException;
-
- /**
- * The end of an attribute list.
- *
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void endAttlist(Augmentations augmentations) throws XNIException;
-
- /**
- * An internal entity declaration.
- *
- * @param name The name of the entity. Parameter entity names start with
- * '%', whereas the name of a general entity is just the
- * entity name.
- * @param text The value of the entity.
- * @param nonNormalizedText The non-normalized value of the entity. This
- * value contains the same sequence of characters that was in
- * the internal entity declaration, without any entity
- * references expanded.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void internalEntityDecl(String name, XMLString text,
- XMLString nonNormalizedText,
- Augmentations augmentations)
- throws XNIException;
-
- /**
- * An external entity declaration.
- *
- * @param name The name of the entity. Parameter entity names start
- * with '%', whereas the name of a general entity is just
- * the entity name.
- * @param identifier An object containing all location information
- * pertinent to this external entity.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void externalEntityDecl(String name,
- XMLResourceIdentifier identifier,
- Augmentations augmentations)
- throws XNIException;
-
- /**
- * An unparsed entity declaration.
- *
- * @param name The name of the entity.
- * @param identifier An object containing all location information
- * pertinent to this unparsed entity declaration.
- * @param notation The name of the notation.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void unparsedEntityDecl(String name,
- XMLResourceIdentifier identifier,
- String notation, Augmentations augmentations)
- throws XNIException;
-
- /**
- * A notation declaration
- *
- * @param name The name of the notation.
- * @param identifier An object containing all location information
- * pertinent to this notation.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void notationDecl(String name, XMLResourceIdentifier identifier,
- Augmentations augmentations) throws XNIException;
-
- /**
- * The start of a conditional section.
- *
- * @param type The type of the conditional section. This value will
- * either be CONDITIONAL_INCLUDE or CONDITIONAL_IGNORE.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- *
- * @see #CONDITIONAL_INCLUDE
- * @see #CONDITIONAL_IGNORE
- */
- public void startConditional(short type, Augmentations augmentations)
- throws XNIException;
-
- /**
- * Characters within an IGNORE conditional section.
- *
- * @param text The ignored text.
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void ignoredCharacters(XMLString text, Augmentations augmentations)
- throws XNIException;
-
- /**
- * The end of a conditional section.
- *
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void endConditional(Augmentations augmentations) throws XNIException;
-
- /**
- * The end of the DTD.
- *
- * @param augmentations Additional information that may include infoset
- * augmentations.
- *
- * @throws XNIException Thrown by handler to signal an error.
- */
- public void endDTD(Augmentations augmentations) throws XNIException;
-
- // set the source of this handler
- public void setDTDSource(XMLDTDSource source);
-
- // return the source from which this handler derives its events
- public XMLDTDSource getDTDSource();
-
- } // interface XMLDTDHandler