Source code: org/znerd/xmlenc/XMLEventListenerStates.java
1 /*
2 * $Id: XMLEventListenerStates.java,v 1.4 2005/09/12 08:40:02 znerd Exp $
3 */
4 package org.znerd.xmlenc;
5
6 /**
7 * All <code>XMLEventListenerState</code>s.
8 *
9 * @version $Revision: 1.4 $ $Date: 2005/09/12 08:40:02 $
10 * @author Ernst de Haan (<a href="mailto:wfe.dehaan@gmail.com">wfe.dehaan@gmail.com</a>)
11 *
12 * @since xmlenc 0.31
13 */
14 public interface XMLEventListenerStates {
15
16 /**
17 * Uninitialized state. In this state no events notifications are valid.
18 */
19 static final XMLEventListenerState UNINITIALIZED = new XMLEventListenerState("UNINITIALIZED");
20
21 /**
22 * The initial initialized state. No XML declaration has been written, no
23 * DTD declaration, nothing at all.
24 *
25 * <p />In this state the following event notifications are valid:
26 *
27 * <ul>
28 * <li>XML declaration ({@link XMLEventListener#declaration()})</li>
29 * <li>DTD declaration ({@link XMLEventListener#dtd(String,String,String)})</li>
30 * <li>white space ({@link XMLEventListener#whitespace(String)})</li>
31 * <li>comment ({@link XMLEventListener#comment(String)})</li>
32 * <li>processing instruction ({@link XMLEventListener#pi(String,String)})</li>
33 * <li>start tag ({@link XMLEventListener#startTag(String)})</li>
34 * </ul>
35 */
36 static final XMLEventListenerState BEFORE_XML_DECLARATION = new XMLEventListenerState("BEFORE_XML_DECLARATION");
37
38 /**
39 * State after XML declaration but before the DTD declaration, if any. This
40 * state is reached right after a {@link XMLEventListener#declaration()}
41 * event notification.
42 *
43 * <p />In this state the following event notifications are valid:
44 *
45 * <ul>
46 * <li>DTD declaration ({@link XMLEventListener#dtd(String,String,String)})</li>
47 * <li>white space ({@link XMLEventListener#whitespace(String)})</li>
48 * <li>comment ({@link XMLEventListener#comment(String)})</li>
49 * <li>processing instruction ({@link XMLEventListener#pi(String,String)})</li>
50 * <li>start tag ({@link XMLEventListener#startTag(String)})</li>
51 * </ul>
52 */
53 static final XMLEventListenerState BEFORE_DTD_DECLARATION = new XMLEventListenerState("BEFORE_DTD_DECLARATION");
54
55 /**
56 * State after DTD declaration but before the root element. This
57 * state is reached right after a
58 * {@link XMLEventListener#dtd(String,String,String)} event notification.
59 *
60 * <p />In this state the following event notifications are valid:
61 *
62 * <ul>
63 * <li>white space ({@link XMLEventListener#whitespace(String)})</li>
64 * <li>comment ({@link XMLEventListener#comment(String)})</li>
65 * <li>processing instruction ({@link XMLEventListener#pi(String,String)})</li>
66 * <li>start tag ({@link XMLEventListener#startTag(String)})</li>
67 * </ul>
68 */
69 static final XMLEventListenerState BEFORE_ROOT_ELEMENT = new XMLEventListenerState("BEFORE_ROOT_ELEMENT");
70
71 /**
72 * State in which a start tag is still open. This state is entered after
73 * {@link XMLEventListener#startTag(String)} is called.
74 *
75 * <p />In this state the following event notifications are valid:
76 *
77 * <ul>
78 * <li>white space ({@link XMLEventListener#whitespace(String)})</li>
79 * <li>comment ({@link XMLEventListener#comment(String)})</li>
80 * <li>processing instruction ({@link XMLEventListener#pi(String,String)})</li>
81 * <li>attribute ({@link XMLEventListener#attribute(String,String)})</li>
82 * <li>another start tag ({@link XMLEventListener#startTag(String)})</li>
83 * <li>end tag ({@link XMLEventListener#endTag()})</li>
84 * </ul>
85 */
86 static final XMLEventListenerState START_TAG_OPEN = new XMLEventListenerState("START_TAG_OPEN");
87
88 /**
89 * State within an element, start tag is closed.
90 *
91 * <p />In this state the following event notifications are valid:
92 *
93 * <ul>
94 * <li>white space ({@link XMLEventListener#whitespace(String)})</li>
95 * <li>comment ({@link XMLEventListener#comment(String)})</li>
96 * <li>processing instruction ({@link XMLEventListener#pi(String,String)})</li>
97 * <li>start tag ({@link XMLEventListener#startTag(String)})</li>
98 * <li>end tag ({@link XMLEventListener#endTag()})</li>
99 * </ul>
100 */
101 static final XMLEventListenerState WITHIN_ELEMENT = new XMLEventListenerState("WITHIN_ELEMENT");
102
103 /**
104 * State after the root element.
105 *
106 * <p />In this state the following event notifications are valid:
107 *
108 * <ul>
109 * <li>whitespace ({@link XMLEventListener#whitespace(String)})</li>
110 * <li>comment ({@link XMLEventListener#comment(String)})</li>
111 * <li>processing instruction ({@link XMLEventListener#pi(String,String)})</li>
112 * </ul>
113 */
114 static final XMLEventListenerState AFTER_ROOT_ELEMENT = new XMLEventListenerState("AFTER_ROOT_ELEMENT");
115
116 /**
117 * State entered when the document is ended. No more event notifications are
118 * valid.
119 */
120 static final XMLEventListenerState DOCUMENT_ENDED = new XMLEventListenerState("DOCUMENT_ENDED");
121
122 /**
123 * State reached when there was an error while writing output. No more
124 * event notifications are valid.
125 */
126 static final XMLEventListenerState ERROR_STATE = new XMLEventListenerState("ERROR_STATE");
127 }