1
2
3
4
5
6
7
8
9
10 package org.dom4j.dom;
11
12 import org.dom4j.tree.DefaultDocumentType;
13 import org.w3c.dom.DOMException;
14 import org.w3c.dom.Document;
15 import org.w3c.dom.NamedNodeMap;
16 import org.w3c.dom.NodeList;
17
18 /*** <p><code>DOMDocumentType</code> implements a DocumentType node which
19 * supports the W3C DOM API.</p>
20 *
21 * @author <a href="mailto:james.strachan@metastuff.com">James Strachan</a>
22 * @version $Revision: 1.9 $
23 */
24 public class DOMDocumentType extends DefaultDocumentType implements org.w3c.dom.DocumentType {
25
26 public DOMDocumentType() {
27 }
28
29 public DOMDocumentType(String elementName, String systemID) {
30 super( elementName, systemID );
31 }
32
33 public DOMDocumentType(String elementName, String publicID, String systemID) {
34 super( elementName, publicID, systemID );
35 }
36
37
38
39
40 public boolean supports(String feature, String version) {
41 return DOMNodeHelper.supports(this, feature, version);
42 }
43
44 public String getNamespaceURI() {
45 return DOMNodeHelper.getNamespaceURI(this);
46 }
47
48 public String getPrefix() {
49 return DOMNodeHelper.getPrefix(this);
50 }
51
52 public void setPrefix(String prefix) throws DOMException {
53 DOMNodeHelper.setPrefix(this, prefix);
54 }
55
56 public String getLocalName() {
57 return DOMNodeHelper.getLocalName(this);
58 }
59
60 public String getNodeName() {
61 return getName();
62 }
63
64
65
66
67
68
69
70 public String getNodeValue() throws DOMException {
71 return null;
72 }
73
74 public void setNodeValue(String nodeValue) throws DOMException {
75 }
76
77
78 public org.w3c.dom.Node getParentNode() {
79 return DOMNodeHelper.getParentNode(this);
80 }
81
82 public NodeList getChildNodes() {
83 return DOMNodeHelper.getChildNodes(this);
84 }
85
86 public org.w3c.dom.Node getFirstChild() {
87 return DOMNodeHelper.getFirstChild(this);
88 }
89
90 public org.w3c.dom.Node getLastChild() {
91 return DOMNodeHelper.getLastChild(this);
92 }
93
94 public org.w3c.dom.Node getPreviousSibling() {
95 return DOMNodeHelper.getPreviousSibling(this);
96 }
97
98 public org.w3c.dom.Node getNextSibling() {
99 return DOMNodeHelper.getNextSibling(this);
100 }
101
102 public NamedNodeMap getAttributes() {
103 return null;
104 }
105
106 public Document getOwnerDocument() {
107 return DOMNodeHelper.getOwnerDocument(this);
108 }
109
110 public org.w3c.dom.Node insertBefore(
111 org.w3c.dom.Node newChild,
112 org.w3c.dom.Node refChild
113 ) throws DOMException {
114 checkNewChildNode(newChild);
115 return DOMNodeHelper.insertBefore(this, newChild, refChild);
116 }
117
118 public org.w3c.dom.Node replaceChild(
119 org.w3c.dom.Node newChild,
120 org.w3c.dom.Node oldChild
121 ) throws DOMException {
122 checkNewChildNode(newChild);
123 return DOMNodeHelper.replaceChild(this, newChild, oldChild);
124 }
125
126 public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild) throws DOMException {
127 return DOMNodeHelper.removeChild(this, oldChild);
128 }
129
130 public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild) throws DOMException {
131 checkNewChildNode(newChild);
132 return DOMNodeHelper.appendChild(this, newChild);
133 }
134
135 private void checkNewChildNode(org.w3c.dom.Node newChild) throws DOMException {
136 throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
137 "DocumentType nodes cannot have children");
138 }
139
140
141 public boolean hasChildNodes() {
142 return DOMNodeHelper.hasChildNodes(this);
143 }
144
145 public org.w3c.dom.Node cloneNode(boolean deep) {
146 return DOMNodeHelper.cloneNode(this, deep);
147 }
148
149 public void normalize() {
150 DOMNodeHelper.normalize(this);
151 }
152
153 public boolean isSupported(String feature, String version) {
154 return DOMNodeHelper.isSupported(this, feature, version);
155 }
156
157 public boolean hasAttributes() {
158 return DOMNodeHelper.hasAttributes(this);
159 }
160
161
162
163 public NamedNodeMap getEntities() {
164 return null;
165 }
166
167 public NamedNodeMap getNotations() {
168 return null;
169 }
170
171 public String getPublicId() {
172 return getPublicID();
173 }
174
175 public String getSystemId() {
176 return getSystemID();
177 }
178
179 public String getInternalSubset() {
180 return getElementName();
181 }
182 }
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230