1 |
14 |
jlechner |
/*
|
2 |
|
|
* Copyright (c) 2003 World Wide Web Consortium,
|
3 |
|
|
* (Massachusetts Institute of Technology, Institut National de
|
4 |
|
|
* Recherche en Informatique et en Automatique, Keio University). All
|
5 |
|
|
* Rights Reserved. This program is distributed under the W3C's Software
|
6 |
|
|
* Intellectual Property License. This program is distributed in the
|
7 |
|
|
* hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
8 |
|
|
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
9 |
|
|
* PURPOSE.
|
10 |
|
|
* See W3C License http://www.w3.org/Consortium/Legal/ for more details.
|
11 |
|
|
*/
|
12 |
|
|
|
13 |
|
|
package org.w3c.dom.html2;
|
14 |
|
|
|
15 |
|
|
import org.w3c.dom.Document;
|
16 |
|
|
import org.w3c.dom.NodeList;
|
17 |
|
|
import org.w3c.dom.DOMException;
|
18 |
|
|
|
19 |
|
|
/**
|
20 |
|
|
* An <code>HTMLDocument</code> is the root of the HTML hierarchy and holds
|
21 |
|
|
* the entire content. Besides providing access to the hierarchy, it also
|
22 |
|
|
* provides some convenience methods for accessing certain sets of
|
23 |
|
|
* information from the document.
|
24 |
|
|
* <p>The following properties have been deprecated in favor of the
|
25 |
|
|
* corresponding ones for the <code>BODY</code> element:alinkColorbackground
|
26 |
|
|
* bgColorfgColorlinkColorvlinkColorIn DOM Level 2, the method
|
27 |
|
|
* <code>getElementById</code> is inherited from the <code>Document</code>
|
28 |
|
|
* interface where it was moved to.
|
29 |
|
|
* <p>See also the <a href='http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109'>Document Object Model (DOM) Level 2 HTML Specification</a>.
|
30 |
|
|
*/
|
31 |
|
|
public interface HTMLDocument extends Document {
|
32 |
|
|
/**
|
33 |
|
|
* The title of a document as specified by the <code>TITLE</code> element
|
34 |
|
|
* in the head of the document.
|
35 |
|
|
*/
|
36 |
|
|
public String getTitle();
|
37 |
|
|
/**
|
38 |
|
|
* The title of a document as specified by the <code>TITLE</code> element
|
39 |
|
|
* in the head of the document.
|
40 |
|
|
*/
|
41 |
|
|
public void setTitle(String title);
|
42 |
|
|
|
43 |
|
|
/**
|
44 |
|
|
* Returns the URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the page that linked to this page. The value is an
|
45 |
|
|
* empty string if the user navigated to the page directly (not through
|
46 |
|
|
* a link, but, for example, via a bookmark).
|
47 |
|
|
*/
|
48 |
|
|
public String getReferrer();
|
49 |
|
|
|
50 |
|
|
/**
|
51 |
|
|
* The domain name of the server that served the document, or
|
52 |
|
|
* <code>null</code> if the server cannot be identified by a domain
|
53 |
|
|
* name.
|
54 |
|
|
*/
|
55 |
|
|
public String getDomain();
|
56 |
|
|
|
57 |
|
|
/**
|
58 |
|
|
* The absolute URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the document.
|
59 |
|
|
*/
|
60 |
|
|
public String getURL();
|
61 |
|
|
|
62 |
|
|
/**
|
63 |
|
|
* The element that contains the content for the document. In documents
|
64 |
|
|
* with <code>BODY</code> contents, returns the <code>BODY</code>
|
65 |
|
|
* element. In frameset documents, this returns the outermost
|
66 |
|
|
* <code>FRAMESET</code> element.
|
67 |
|
|
*/
|
68 |
|
|
public HTMLElement getBody();
|
69 |
|
|
/**
|
70 |
|
|
* The element that contains the content for the document. In documents
|
71 |
|
|
* with <code>BODY</code> contents, returns the <code>BODY</code>
|
72 |
|
|
* element. In frameset documents, this returns the outermost
|
73 |
|
|
* <code>FRAMESET</code> element.
|
74 |
|
|
*/
|
75 |
|
|
public void setBody(HTMLElement body);
|
76 |
|
|
|
77 |
|
|
/**
|
78 |
|
|
* A collection of all the <code>IMG</code> elements in a document. The
|
79 |
|
|
* behavior is limited to <code>IMG</code> elements for backwards
|
80 |
|
|
* compatibility. As suggested by [<a href='http://www.w3.org/TR/1999/REC-html401-19991224'>HTML 4.01</a>], to include images, authors may use
|
81 |
|
|
* the <code>OBJECT</code> element or the <code>IMG</code> element.
|
82 |
|
|
* Therefore, it is recommended not to use this attribute to find the
|
83 |
|
|
* images in the document but <code>getElementsByTagName</code> with
|
84 |
|
|
* HTML 4.01 or <code>getElementsByTagNameNS</code> with XHTML 1.0.
|
85 |
|
|
*/
|
86 |
|
|
public HTMLCollection getImages();
|
87 |
|
|
|
88 |
|
|
/**
|
89 |
|
|
* A collection of all the <code>OBJECT</code> elements that include
|
90 |
|
|
* applets and <code>APPLET</code> (deprecated) elements in a document.
|
91 |
|
|
*/
|
92 |
|
|
public HTMLCollection getApplets();
|
93 |
|
|
|
94 |
|
|
/**
|
95 |
|
|
* A collection of all <code>AREA</code> elements and anchor (
|
96 |
|
|
* <code>A</code>) elements in a document with a value for the
|
97 |
|
|
* <code>href</code> attribute.
|
98 |
|
|
*/
|
99 |
|
|
public HTMLCollection getLinks();
|
100 |
|
|
|
101 |
|
|
/**
|
102 |
|
|
* A collection of all the forms of a document.
|
103 |
|
|
*/
|
104 |
|
|
public HTMLCollection getForms();
|
105 |
|
|
|
106 |
|
|
/**
|
107 |
|
|
* A collection of all the anchor (<code>A</code>) elements in a document
|
108 |
|
|
* with a value for the <code>name</code> attribute. For reasons of
|
109 |
|
|
* backward compatibility, the returned set of anchors only contains
|
110 |
|
|
* those anchors created with the <code>name</code> attribute, not those
|
111 |
|
|
* created with the <code>id</code> attribute. Note that in [<a href='http://www.w3.org/TR/2002/REC-xhtml1-20020801'>XHTML 1.0</a>], the
|
112 |
|
|
* <code>name</code> attribute (see section 4.10) has no semantics and
|
113 |
|
|
* is only present for legacy user agents: the <code>id</code> attribute
|
114 |
|
|
* is used instead. Users should prefer the iterator mechanisms provided
|
115 |
|
|
* by [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>DOM Level 2 Traversal</a>] instead.
|
116 |
|
|
*/
|
117 |
|
|
public HTMLCollection getAnchors();
|
118 |
|
|
|
119 |
|
|
/**
|
120 |
|
|
* This mutable string attribute denotes persistent state information
|
121 |
|
|
* that (1) is associated with the current frame or document and (2) is
|
122 |
|
|
* composed of information described by the <code>cookies</code>
|
123 |
|
|
* non-terminal of [<a href='http://www.ietf.org/rfc/rfc2965.txt'>IETF RFC 2965</a>], Section 4.2.2.
|
124 |
|
|
* <br> If no persistent state information is available for the current
|
125 |
|
|
* frame or document document, then this property's value is an empty
|
126 |
|
|
* string.
|
127 |
|
|
* <br> When this attribute is read, all cookies are returned as a single
|
128 |
|
|
* string, with each cookie's name-value pair concatenated into a list
|
129 |
|
|
* of name-value pairs, each list item being separated by a ';'
|
130 |
|
|
* (semicolon).
|
131 |
|
|
* <br> When this attribute is set, the value it is set to should be a
|
132 |
|
|
* string that adheres to the <code>cookie</code> non-terminal of [<a href='http://www.ietf.org/rfc/rfc2965.txt'>IETF RFC 2965</a>]; that
|
133 |
|
|
* is, it should be a single name-value pair followed by zero or more
|
134 |
|
|
* cookie attribute values. If no domain attribute is specified, then
|
135 |
|
|
* the domain attribute for the new value defaults to the host portion
|
136 |
|
|
* of an absolute URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the current frame or document. If no path
|
137 |
|
|
* attribute is specified, then the path attribute for the new value
|
138 |
|
|
* defaults to the absolute path portion of the URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the current
|
139 |
|
|
* frame or document. If no max-age attribute is specified, then the
|
140 |
|
|
* max-age attribute for the new value defaults to a user agent defined
|
141 |
|
|
* value. If a cookie with the specified name is already associated with
|
142 |
|
|
* the current frame or document, then the new value as well as the new
|
143 |
|
|
* attributes replace the old value and attributes. If a max-age
|
144 |
|
|
* attribute of 0 is specified for the new value, then any existing
|
145 |
|
|
* cookies of the specified name are removed from the cookie storage.
|
146 |
|
|
* See [<a href='http://www.ietf.org/rfc/rfc2965.txt'>IETF RFC 2965</a>] for the semantics of persistent state item attribute value
|
147 |
|
|
* pairs. The precise nature of a user agent session is not defined by
|
148 |
|
|
* this specification.
|
149 |
|
|
*/
|
150 |
|
|
public String getCookie();
|
151 |
|
|
/**
|
152 |
|
|
* This mutable string attribute denotes persistent state information
|
153 |
|
|
* that (1) is associated with the current frame or document and (2) is
|
154 |
|
|
* composed of information described by the <code>cookies</code>
|
155 |
|
|
* non-terminal of [<a href='http://www.ietf.org/rfc/rfc2965.txt'>IETF RFC 2965</a>], Section 4.2.2.
|
156 |
|
|
* <br> If no persistent state information is available for the current
|
157 |
|
|
* frame or document document, then this property's value is an empty
|
158 |
|
|
* string.
|
159 |
|
|
* <br> When this attribute is read, all cookies are returned as a single
|
160 |
|
|
* string, with each cookie's name-value pair concatenated into a list
|
161 |
|
|
* of name-value pairs, each list item being separated by a ';'
|
162 |
|
|
* (semicolon).
|
163 |
|
|
* <br> When this attribute is set, the value it is set to should be a
|
164 |
|
|
* string that adheres to the <code>cookie</code> non-terminal of [<a href='http://www.ietf.org/rfc/rfc2965.txt'>IETF RFC 2965</a>]; that
|
165 |
|
|
* is, it should be a single name-value pair followed by zero or more
|
166 |
|
|
* cookie attribute values. If no domain attribute is specified, then
|
167 |
|
|
* the domain attribute for the new value defaults to the host portion
|
168 |
|
|
* of an absolute URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the current frame or document. If no path
|
169 |
|
|
* attribute is specified, then the path attribute for the new value
|
170 |
|
|
* defaults to the absolute path portion of the URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the current
|
171 |
|
|
* frame or document. If no max-age attribute is specified, then the
|
172 |
|
|
* max-age attribute for the new value defaults to a user agent defined
|
173 |
|
|
* value. If a cookie with the specified name is already associated with
|
174 |
|
|
* the current frame or document, then the new value as well as the new
|
175 |
|
|
* attributes replace the old value and attributes. If a max-age
|
176 |
|
|
* attribute of 0 is specified for the new value, then any existing
|
177 |
|
|
* cookies of the specified name are removed from the cookie storage.
|
178 |
|
|
* See [<a href='http://www.ietf.org/rfc/rfc2965.txt'>IETF RFC 2965</a>] for the semantics of persistent state item attribute value
|
179 |
|
|
* pairs. The precise nature of a user agent session is not defined by
|
180 |
|
|
* this specification.
|
181 |
|
|
* @exception DOMException
|
182 |
|
|
* SYNTAX_ERR: If the new value does not adhere to the cookie syntax
|
183 |
|
|
* specified by [<a href='http://www.ietf.org/rfc/rfc2965.txt'>IETF RFC 2965</a>].
|
184 |
|
|
*/
|
185 |
|
|
public void setCookie(String cookie)
|
186 |
|
|
throws DOMException;
|
187 |
|
|
|
188 |
|
|
/**
|
189 |
|
|
* Open a document stream for writing. If a document exists in the target,
|
190 |
|
|
* this method clears it. This method and the ones following allow a
|
191 |
|
|
* user to add to or replace the structure model of a document using
|
192 |
|
|
* strings of unparsed HTML. At the time of writing alternate methods
|
193 |
|
|
* for providing similar functionality for both HTML and XML documents
|
194 |
|
|
* were being considered (see [<a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-LS-20020725'>DOM Level 3 Load and Save</a>]).
|
195 |
|
|
*/
|
196 |
|
|
public void open();
|
197 |
|
|
|
198 |
|
|
/**
|
199 |
|
|
* Closes a document stream opened by <code>open()</code> and forces
|
200 |
|
|
* rendering.
|
201 |
|
|
*/
|
202 |
|
|
public void close();
|
203 |
|
|
|
204 |
|
|
/**
|
205 |
|
|
* Write a string of text to a document stream opened by
|
206 |
|
|
* <code>open()</code>. Note that the function will produce a document
|
207 |
|
|
* which is not necessarily driven by a DTD and therefore might be
|
208 |
|
|
* produce an invalid result in the context of the document.
|
209 |
|
|
* @param text The string to be parsed into some structure in the
|
210 |
|
|
* document structure model.
|
211 |
|
|
*/
|
212 |
|
|
public void write(String text);
|
213 |
|
|
|
214 |
|
|
/**
|
215 |
|
|
* Write a string of text followed by a newline character to a document
|
216 |
|
|
* stream opened by <code>open()</code>. Note that the function will
|
217 |
|
|
* produce a document which is not necessarily driven by a DTD and
|
218 |
|
|
* therefore might be produce an invalid result in the context of the
|
219 |
|
|
* document
|
220 |
|
|
* @param text The string to be parsed into some structure in the
|
221 |
|
|
* document structure model.
|
222 |
|
|
*/
|
223 |
|
|
public void writeln(String text);
|
224 |
|
|
|
225 |
|
|
/**
|
226 |
|
|
* With [<a href='http://www.w3.org/TR/1999/REC-html401-19991224'>HTML 4.01</a>] documents, this method returns the (possibly empty) collection
|
227 |
|
|
* of elements whose <code>name</code> value is given by
|
228 |
|
|
* <code>elementName</code>. In [<a href='http://www.w3.org/TR/2002/REC-xhtml1-20020801'>XHTML 1.0</a>] documents, this methods only return the
|
229 |
|
|
* (possibly empty) collection of form controls with matching name. This
|
230 |
|
|
* method is case sensitive.
|
231 |
|
|
* @param elementName The <code>name</code> attribute value for an
|
232 |
|
|
* element.
|
233 |
|
|
* @return The matching elements.
|
234 |
|
|
*/
|
235 |
|
|
public NodeList getElementsByName(String elementName);
|
236 |
|
|
|
237 |
|
|
}
|