01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: package org.apache.xerces.impl;
19:
20: import org.apache.xerces.xni.Augmentations;
21: import org.apache.xerces.xni.XMLResourceIdentifier;
22: import org.apache.xerces.xni.XNIException;
23:
24: /**
25: * The entity handler interface defines methods to report information
26: * about the start and end of entities.
27: *
28: * @xerces.internal
29: *
30: * @see org.apache.xerces.impl.XMLEntityScanner
31: *
32: * @author Andy Clark, IBM
33: *
34: * @version $Id: XMLEntityHandler.java 446761 2006-09-15 21:59:29Z mrglavas $
35: */
36: public interface XMLEntityHandler {
37:
38: //
39: // XMLEntityHandler methods
40: //
41:
42: /**
43: * This method notifies of the start of an entity. The DTD has the
44: * pseudo-name of "[dtd]" parameter entity names start with '%'; and
45: * general entities are just specified by their name.
46: *
47: * @param name The name of the entity.
48: * @param identifier The resource identifier.
49: * @param encoding The auto-detected IANA encoding name of the entity
50: * stream. This value will be null in those situations
51: * where the entity encoding is not auto-detected (e.g.
52: * internal entities or a document entity that is
53: * parsed from a java.io.Reader).
54: * @param augs Additional information that may include infoset augmentations
55: *
56: * @throws XNIException Thrown by handler to signal an error.
57: */
58: public void startEntity(String name,
59: XMLResourceIdentifier identifier, String encoding,
60: Augmentations augs) throws XNIException;
61:
62: /**
63: * This method notifies the end of an entity. The DTD has the pseudo-name
64: * of "[dtd]" parameter entity names start with '%'; and general entities
65: * are just specified by their name.
66: *
67: * @param name The name of the entity.
68: * @param augs Additional information that may include infoset augmentations
69: *
70: * @throws XNIException Thrown by handler to signal an error.
71: */
72: public void endEntity(String name, Augmentations augs)
73: throws XNIException;
74:
75: } // interface XMLEntityHandler
|