diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /libjava/classpath/external/w3c_dom/org/w3c | |
download | cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2 cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'libjava/classpath/external/w3c_dom/org/w3c')
146 files changed, 17510 insertions, 0 deletions
diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/Attr.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/Attr.java new file mode 100644 index 000000000..944045129 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/Attr.java @@ -0,0 +1,275 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>Attr</code> interface represents an attribute in an + * <code>Element</code> object. Typically the allowable values for the + * attribute are defined in a schema associated with the document. + * <p><code>Attr</code> objects inherit the <code>Node</code> interface, but + * since they are not actually child nodes of the element they describe, the + * DOM does not consider them part of the document tree. Thus, the + * <code>Node</code> attributes <code>parentNode</code>, + * <code>previousSibling</code>, and <code>nextSibling</code> have a + * <code>null</code> value for <code>Attr</code> objects. The DOM takes the + * view that attributes are properties of elements rather than having a + * separate identity from the elements they are associated with; this should + * make it more efficient to implement such features as default attributes + * associated with all elements of a given type. Furthermore, + * <code>Attr</code> nodes may not be immediate children of a + * <code>DocumentFragment</code>. However, they can be associated with + * <code>Element</code> nodes contained within a + * <code>DocumentFragment</code>. In short, users and implementors of the + * DOM need to be aware that <code>Attr</code> nodes have some things in + * common with other objects inheriting the <code>Node</code> interface, but + * they also are quite distinct. + * <p>The attribute's effective value is determined as follows: if this + * attribute has been explicitly assigned any value, that value is the + * attribute's effective value; otherwise, if there is a declaration for + * this attribute, and that declaration includes a default value, then that + * default value is the attribute's effective value; otherwise, the + * attribute does not exist on this element in the structure model until it + * has been explicitly added. Note that the <code>Node.nodeValue</code> + * attribute on the <code>Attr</code> instance can also be used to retrieve + * the string version of the attribute's value(s). + * <p> If the attribute was not explicitly given a value in the instance + * document but has a default value provided by the schema associated with + * the document, an attribute node will be created with + * <code>specified</code> set to <code>false</code>. Removing attribute + * nodes for which a default value is defined in the schema generates a new + * attribute node with the default value and <code>specified</code> set to + * <code>false</code>. If validation occurred while invoking + * <code>Document.normalizeDocument()</code>, attribute nodes with + * <code>specified</code> equals to <code>false</code> are recomputed + * according to the default attribute values provided by the schema. If no + * default value is associate with this attribute in the schema, the + * attribute node is discarded. + * <p>In XML, where the value of an attribute can contain entity references, + * the child nodes of the <code>Attr</code> node may be either + * <code>Text</code> or <code>EntityReference</code> nodes (when these are + * in use; see the description of <code>EntityReference</code> for + * discussion). + * <p>The DOM Core represents all attribute values as simple strings, even if + * the DTD or schema associated with the document declares them of some + * specific type such as tokenized. + * <p>The way attribute value normalization is performed by the DOM + * implementation depends on how much the implementation knows about the + * schema in use. Typically, the <code>value</code> and + * <code>nodeValue</code> attributes of an <code>Attr</code> node initially + * returns the normalized value given by the parser. It is also the case + * after <code>Document.normalizeDocument()</code> is called (assuming the + * right options have been set). But this may not be the case after + * mutation, independently of whether the mutation is performed by setting + * the string value directly or by changing the <code>Attr</code> child + * nodes. In particular, this is true when <a href='http://www.w3.org/TR/2004/REC-xml-20040204#dt-charref'>character + * references</a> are involved, given that they are not represented in the DOM and they + * impact attribute value normalization. On the other hand, if the + * implementation knows about the schema in use when the attribute value is + * changed, and it is of a different type than CDATA, it may normalize it + * again at that time. This is especially true of specialized DOM + * implementations, such as SVG DOM implementations, which store attribute + * values in an internal form different from a string. + * <p>The following table gives some examples of the relations between the + * attribute value in the original document (parsed attribute), the value as + * exposed in the DOM, and the serialization of the value: + * <table border='1' cellpadding='3'> + * <tr> + * <th>Examples</th> + * <th>Parsed + * attribute value</th> + * <th>Initial <code>Attr.value</code></th> + * <th>Serialized attribute value</th> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'> + * Character reference</td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre>"x&#178;=5"</pre> + * </td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre>"x\u00b2=5"</pre> + * </td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre>"x&#178;=5"</pre> + * </td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'>Built-in + * character entity</td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre>"y&lt;6"</pre> + * </td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre>"y<6"</pre> + * </td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre>"y&lt;6"</pre> + * </td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'>Literal newline between</td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre> + * "x=5&#10;y=6"</pre> + * </td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre>"x=5 y=6"</pre> + * </td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre>"x=5&#10;y=6"</pre> + * </td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'>Normalized newline between</td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre>"x=5 + * y=6"</pre> + * </td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre>"x=5 y=6"</pre> + * </td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre>"x=5 y=6"</pre> + * </td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'>Entity <code>e</code> with literal newline</td> + * <td valign='top' rowspan='1' colspan='1'> + * <pre> + * <!ENTITY e '...&#10;...'> [...]> "x=5&e;y=6"</pre> + * </td> + * <td valign='top' rowspan='1' colspan='1'><em>Dependent on Implementation and Load Options</em></td> + * <td valign='top' rowspan='1' colspan='1'><em>Dependent on Implementation and Load/Save Options</em></td> + * </tr> + * </table> + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface Attr extends Node { + /** + * Returns the name of this attribute. If <code>Node.localName</code> is + * different from <code>null</code>, this attribute is a qualified name. + */ + public String getName(); + + /** + * <code>True</code> if this attribute was explicitly given a value in + * the instance document, <code>false</code> otherwise. If the + * application changed the value of this attribute node (even if it ends + * up having the same value as the default value) then it is set to + * <code>true</code>. The implementation may handle attributes with + * default values from other schemas similarly but applications should + * use <code>Document.normalizeDocument()</code> to guarantee this + * information is up-to-date. + */ + public boolean getSpecified(); + + /** + * On retrieval, the value of the attribute is returned as a string. + * Character and general entity references are replaced with their + * values. See also the method <code>getAttribute</code> on the + * <code>Element</code> interface. + * <br>On setting, this creates a <code>Text</code> node with the unparsed + * contents of the string, i.e. any characters that an XML processor + * would recognize as markup are instead treated as literal text. See + * also the method <code>Element.setAttribute()</code>. + * <br> Some specialized implementations, such as some [<a href='http://www.w3.org/TR/2003/REC-SVG11-20030114/'>SVG 1.1</a>] + * implementations, may do normalization automatically, even after + * mutation; in such case, the value on retrieval may differ from the + * value on setting. + */ + public String getValue(); + /** + * On retrieval, the value of the attribute is returned as a string. + * Character and general entity references are replaced with their + * values. See also the method <code>getAttribute</code> on the + * <code>Element</code> interface. + * <br>On setting, this creates a <code>Text</code> node with the unparsed + * contents of the string, i.e. any characters that an XML processor + * would recognize as markup are instead treated as literal text. See + * also the method <code>Element.setAttribute()</code>. + * <br> Some specialized implementations, such as some [<a href='http://www.w3.org/TR/2003/REC-SVG11-20030114/'>SVG 1.1</a>] + * implementations, may do normalization automatically, even after + * mutation; in such case, the value on retrieval may differ from the + * value on setting. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. + */ + public void setValue(String value) + throws DOMException; + + /** + * The <code>Element</code> node this attribute is attached to or + * <code>null</code> if this attribute is not in use. + * @since DOM Level 2 + */ + public Element getOwnerElement(); + + /** + * The type information associated with this attribute. While the type + * information contained in this attribute is guarantee to be correct + * after loading the document or invoking + * <code>Document.normalizeDocument()</code>, <code>schemaTypeInfo</code> + * may not be reliable if the node was moved. + * @since DOM Level 3 + */ + public TypeInfo getSchemaTypeInfo(); + + /** + * Returns whether this attribute is known to be of type ID (i.e. to + * contain an identifier for its owner element) or not. When it is and + * its value is unique, the <code>ownerElement</code> of this attribute + * can be retrieved using the method <code>Document.getElementById</code> + * . The implementation could use several ways to determine if an + * attribute node is known to contain an identifier: + * <ul> + * <li> If validation + * occurred using an XML Schema [<a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/'>XML Schema Part 1</a>] + * while loading the document or while invoking + * <code>Document.normalizeDocument()</code>, the post-schema-validation + * infoset contributions (PSVI contributions) values are used to + * determine if this attribute is a schema-determined ID attribute using + * the <a href='http://www.w3.org/TR/2003/REC-xptr-framework-20030325/#term-sdi'> + * schema-determined ID</a> definition in [<a href='http://www.w3.org/TR/2003/REC-xptr-framework-20030325/'>XPointer</a>] + * . + * </li> + * <li> If validation occurred using a DTD while loading the document or + * while invoking <code>Document.normalizeDocument()</code>, the infoset <b>[type definition]</b> value is used to determine if this attribute is a DTD-determined ID + * attribute using the <a href='http://www.w3.org/TR/2003/REC-xptr-framework-20030325/#term-ddi'> + * DTD-determined ID</a> definition in [<a href='http://www.w3.org/TR/2003/REC-xptr-framework-20030325/'>XPointer</a>] + * . + * </li> + * <li> from the use of the methods <code>Element.setIdAttribute()</code>, + * <code>Element.setIdAttributeNS()</code>, or + * <code>Element.setIdAttributeNode()</code>, i.e. it is an + * user-determined ID attribute; + * <p ><b>Note:</b> XPointer framework (see section 3.2 in [<a href='http://www.w3.org/TR/2003/REC-xptr-framework-20030325/'>XPointer</a>] + * ) consider the DOM user-determined ID attribute as being part of the + * XPointer externally-determined ID definition. + * </li> + * <li> using mechanisms that + * are outside the scope of this specification, it is then an + * externally-determined ID attribute. This includes using schema + * languages different from XML schema and DTD. + * </li> + * </ul> + * <br> If validation occurred while invoking + * <code>Document.normalizeDocument()</code>, all user-determined ID + * attributes are reset and all attribute nodes ID information are then + * reevaluated in accordance to the schema used. As a consequence, if + * the <code>Attr.schemaTypeInfo</code> attribute contains an ID type, + * <code>isId</code> will always return true. + * @since DOM Level 3 + */ + public boolean isId(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/CDATASection.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/CDATASection.java new file mode 100644 index 000000000..ce4b346eb --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/CDATASection.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * CDATA sections are used to escape blocks of text containing characters that + * would otherwise be regarded as markup. The only delimiter that is + * recognized in a CDATA section is the "]]>" string that ends the CDATA + * section. CDATA sections cannot be nested. Their primary purpose is for + * including material such as XML fragments, without needing to escape all + * the delimiters. + * <p>The <code>CharacterData.data</code> attribute holds the text that is + * contained by the CDATA section. Note that this <em>may</em> contain characters that need to be escaped outside of CDATA sections and + * that, depending on the character encoding ("charset") chosen for + * serialization, it may be impossible to write out some characters as part + * of a CDATA section. + * <p>The <code>CDATASection</code> interface inherits from the + * <code>CharacterData</code> interface through the <code>Text</code> + * interface. Adjacent <code>CDATASection</code> nodes are not merged by use + * of the <code>normalize</code> method of the <code>Node</code> interface. + * <p> No lexical check is done on the content of a CDATA section and it is + * therefore possible to have the character sequence <code>"]]>"</code> + * in the content, which is illegal in a CDATA section per section 2.7 of [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]. The + * presence of this character sequence must generate a fatal error during + * serialization or the cdata section must be splitted before the + * serialization (see also the parameter <code>"split-cdata-sections"</code> + * in the <code>DOMConfiguration</code> interface). + * <p ><b>Note:</b> Because no markup is recognized within a + * <code>CDATASection</code>, character numeric references cannot be used as + * an escape mechanism when serializing. Therefore, action needs to be taken + * when serializing a <code>CDATASection</code> with a character encoding + * where some of the contained characters cannot be represented. Failure to + * do so would not produce well-formed XML. + * <p ><b>Note:</b> One potential solution in the serialization process is to + * end the CDATA section before the character, output the character using a + * character reference or entity reference, and open a new CDATA section for + * any further characters in the text node. Note, however, that some code + * conversion libraries at the time of writing do not return an error or + * exception when a character is missing from the encoding, making the task + * of ensuring that data is not corrupted on serialization more difficult. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface CDATASection extends Text { +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/CharacterData.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/CharacterData.java new file mode 100644 index 000000000..37aa8dffa --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/CharacterData.java @@ -0,0 +1,153 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>CharacterData</code> interface extends Node with a set of + * attributes and methods for accessing character data in the DOM. For + * clarity this set is defined here rather than on each object that uses + * these attributes and methods. No DOM objects correspond directly to + * <code>CharacterData</code>, though <code>Text</code> and others do + * inherit the interface from it. All <code>offsets</code> in this interface + * start from <code>0</code>. + * <p>As explained in the <code>DOMString</code> interface, text strings in + * the DOM are represented in UTF-16, i.e. as a sequence of 16-bit units. In + * the following, the term 16-bit units is used whenever necessary to + * indicate that indexing on CharacterData is done in 16-bit units. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface CharacterData extends Node { + /** + * The character data of the node that implements this interface. The DOM + * implementation may not put arbitrary limits on the amount of data + * that may be stored in a <code>CharacterData</code> node. However, + * implementation limits may mean that the entirety of a node's data may + * not fit into a single <code>DOMString</code>. In such cases, the user + * may call <code>substringData</code> to retrieve the data in + * appropriately sized pieces. + * @exception DOMException + * DOMSTRING_SIZE_ERR: Raised when it would return more characters than + * fit in a <code>DOMString</code> variable on the implementation + * platform. + */ + public String getData() + throws DOMException; + /** + * The character data of the node that implements this interface. The DOM + * implementation may not put arbitrary limits on the amount of data + * that may be stored in a <code>CharacterData</code> node. However, + * implementation limits may mean that the entirety of a node's data may + * not fit into a single <code>DOMString</code>. In such cases, the user + * may call <code>substringData</code> to retrieve the data in + * appropriately sized pieces. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. + */ + public void setData(String data) + throws DOMException; + + /** + * The number of 16-bit units that are available through <code>data</code> + * and the <code>substringData</code> method below. This may have the + * value zero, i.e., <code>CharacterData</code> nodes may be empty. + */ + public int getLength(); + + /** + * Extracts a range of data from the node. + * @param offset Start offset of substring to extract. + * @param count The number of 16-bit units to extract. + * @return The specified substring. If the sum of <code>offset</code> and + * <code>count</code> exceeds the <code>length</code>, then all 16-bit + * units to the end of the data are returned. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified <code>offset</code> is + * negative or greater than the number of 16-bit units in + * <code>data</code>, or if the specified <code>count</code> is + * negative. + * <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does + * not fit into a <code>DOMString</code>. + */ + public String substringData(int offset, + int count) + throws DOMException; + + /** + * Append the string to the end of the character data of the node. Upon + * success, <code>data</code> provides access to the concatenation of + * <code>data</code> and the <code>DOMString</code> specified. + * @param arg The <code>DOMString</code> to append. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public void appendData(String arg) + throws DOMException; + + /** + * Insert a string at the specified 16-bit unit offset. + * @param offset The character offset at which to insert. + * @param arg The <code>DOMString</code> to insert. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified <code>offset</code> is + * negative or greater than the number of 16-bit units in + * <code>data</code>. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public void insertData(int offset, + String arg) + throws DOMException; + + /** + * Remove a range of 16-bit units from the node. Upon success, + * <code>data</code> and <code>length</code> reflect the change. + * @param offset The offset from which to start removing. + * @param count The number of 16-bit units to delete. If the sum of + * <code>offset</code> and <code>count</code> exceeds + * <code>length</code> then all 16-bit units from <code>offset</code> + * to the end of the data are deleted. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified <code>offset</code> is + * negative or greater than the number of 16-bit units in + * <code>data</code>, or if the specified <code>count</code> is + * negative. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public void deleteData(int offset, + int count) + throws DOMException; + + /** + * Replace the characters starting at the specified 16-bit unit offset + * with the specified string. + * @param offset The offset from which to start replacing. + * @param count The number of 16-bit units to replace. If the sum of + * <code>offset</code> and <code>count</code> exceeds + * <code>length</code>, then all 16-bit units to the end of the data + * are replaced; (i.e., the effect is the same as a <code>remove</code> + * method call with the same range, followed by an <code>append</code> + * method invocation). + * @param arg The <code>DOMString</code> with which the range must be + * replaced. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified <code>offset</code> is + * negative or greater than the number of 16-bit units in + * <code>data</code>, or if the specified <code>count</code> is + * negative. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public void replaceData(int offset, + int count, + String arg) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/Comment.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/Comment.java new file mode 100644 index 000000000..40b75274b --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/Comment.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * This interface inherits from <code>CharacterData</code> and represents the + * content of a comment, i.e., all the characters between the starting ' + * <code><!--</code>' and ending '<code>--></code>'. Note that this is + * the definition of a comment in XML, and, in practice, HTML, although some + * HTML tools may implement the full SGML comment structure. + * <p> No lexical check is done on the content of a comment and it is + * therefore possible to have the character sequence <code>"--"</code> + * (double-hyphen) in the content, which is illegal in a comment per section + * 2.5 of [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]. The + * presence of this character sequence must generate a fatal error during + * serialization. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface Comment extends CharacterData { +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMConfiguration.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMConfiguration.java new file mode 100644 index 000000000..d05257868 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMConfiguration.java @@ -0,0 +1,413 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>DOMConfiguration</code> interface represents the configuration + * of a document and maintains a table of recognized parameters. Using the + * configuration, it is possible to change + * <code>Document.normalizeDocument()</code> behavior, such as replacing the + * <code>CDATASection</code> nodes with <code>Text</code> nodes or + * specifying the type of the schema that must be used when the validation + * of the <code>Document</code> is requested. <code>DOMConfiguration</code> + * objects are also used in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>DOM Level 3 Load and Save</a>] + * in the <code>DOMParser</code> and <code>DOMSerializer</code> interfaces. + * <p> The parameter names used by the <code>DOMConfiguration</code> object + * are defined throughout the DOM Level 3 specifications. Names are + * case-insensitive. To avoid possible conflicts, as a convention, names + * referring to parameters defined outside the DOM specification should be + * made unique. Because parameters are exposed as properties in the , names + * are recommended to follow the section 5.16 Identifiers of [Unicode] with the addition of the character '-' (HYPHEN-MINUS) but it is not + * enforced by the DOM implementation. DOM Level 3 Core Implementations are + * required to recognize all parameters defined in this specification. Some + * parameter values may also be required to be supported by the + * implementation. Refer to the definition of the parameter to know if a + * value must be supported or not. + * <p ><b>Note:</b> Parameters are similar to features and properties used in + * SAX2 [<a href='http://www.saxproject.org/'>SAX</a>]. + * <p> The following list of parameters defined in the DOM: + * <dl> + * <dt> + * <code>"canonical-form"</code></dt> + * <dd> + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>optional</em>] Canonicalize the document according to the rules specified in [<a href='http://www.w3.org/TR/2001/REC-xml-c14n-20010315'>Canonical XML</a>], + * such as removing the <code>DocumentType</code> node (if any) from the + * tree, or removing superfluous namespace declarations from each element. + * Note that this is limited to what can be represented in the DOM; in + * particular, there is no way to specify the order of the attributes in the + * DOM. In addition, Setting this parameter to <code>true</code> will also + * set the state of the parameters listed below. Later changes to the state + * of one of those parameters will revert "canonical-form" back to + * <code>false</code>. Parameters set to <code>false</code>: "entities", " + * normalize-characters", "cdata-sections". Parameters set to + * <code>true</code>: "namespaces", "namespace-declarations", "well-formed", + * "element-content-whitespace". Other parameters are not changed unless + * explicitly specified in the description of the parameters.</dd> + * <dt> + * <code>false</code></dt> + * <dd>[<em>required</em>] (<em>default</em>)Do not canonicalize the document.</dd> + * </dl></dd> + * <dt><code>"cdata-sections"</code></dt> + * <dd> + * <dl> + * <dt> + * <code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>)Keep <code>CDATASection</code> nodes in the document.</dd> + * <dt><code>false</code></dt> + * <dd>[<em>required</em>]Transform <code>CDATASection</code> nodes in the document into + * <code>Text</code> nodes. The new <code>Text</code> node is then combined + * with any adjacent <code>Text</code> node.</dd> + * </dl></dd> + * <dt> + * <code>"check-character-normalization"</code></dt> + * <dd> + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>optional</em>] Check if the characters in the document are <a href='http://www.w3.org/TR/2004/REC-xml11-20040204/#dt-fullnorm'>fully + * normalized</a>, as defined in appendix B of [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>]. When a + * sequence of characters is encountered that fails normalization checking, + * an error with the <code>DOMError.type</code> equals to + * "check-character-normalization-failure" is issued. </dd> + * <dt><code>false</code></dt> + * <dd>[<em>required</em>] (<em>default</em>)Do not check if characters are normalized.</dd> + * </dl></dd> + * <dt><code>"comments"</code></dt> + * <dd> + * <dl> + * <dt> + * <code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>)Keep <code>Comment</code> nodes in the document.</dd> + * <dt><code>false</code></dt> + * <dd>[<em>required</em>]Discard <code>Comment</code> nodes in the document.</dd> + * </dl></dd> + * <dt> + * <code>"datatype-normalization"</code></dt> + * <dd> + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>optional</em>] Expose schema normalized values in the tree, such as <a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#key-nv'>XML + * Schema normalized values</a> in the case of XML Schema. Since this parameter requires to have schema + * information, the "validate" parameter will also be set to + * <code>true</code>. Having this parameter activated when "validate" is + * <code>false</code> has no effect and no schema-normalization will happen. + * <p ><b>Note:</b> Since the document contains the result of the XML 1.0 + * processing, this parameter does not apply to attribute value + * normalization as defined in section 3.3.3 of [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>] and is only + * meant for schema languages other than Document Type Definition (DTD). </dd> + * <dt> + * <code>false</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) Do not perform schema normalization on the tree. </dd> + * </dl></dd> + * <dt> + * <code>"element-content-whitespace"</code></dt> + * <dd> + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>)Keep all whitespaces in the document.</dd> + * <dt><code>false</code></dt> + * <dd>[<em>optional</em>] Discard all <code>Text</code> nodes that contain whitespaces in element + * content, as described in <a href='http://www.w3.org/TR/2004/REC-xml-infoset-20040204#infoitem.character'> + * [element content whitespace]</a>. The implementation is expected to use the attribute + * <code>Text.isElementContentWhitespace</code> to determine if a + * <code>Text</code> node should be discarded or not.</dd> + * </dl></dd> + * <dt><code>"entities"</code></dt> + * <dd> + * <dl> + * <dt> + * <code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>)Keep <code>EntityReference</code> nodes in the document.</dd> + * <dt> + * <code>false</code></dt> + * <dd>[<em>required</em>] Remove all <code>EntityReference</code> nodes from the document, + * putting the entity expansions directly in their place. <code>Text</code> + * nodes are normalized, as defined in <code>Node.normalize</code>. Only <a href='http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.rse'> + * unexpanded entity references</a> are kept in the document. </dd> + * </dl> + * <p ><b>Note:</b> This parameter does not affect <code>Entity</code> nodes. </dd> + * <dt> + * <code>"error-handler"</code></dt> + * <dd>[<em>required</em>] Contains a <code>DOMErrorHandler</code> object. If an error is + * encountered in the document, the implementation will call back the + * <code>DOMErrorHandler</code> registered using this parameter. The + * implementation may provide a default <code>DOMErrorHandler</code> object. + * When called, <code>DOMError.relatedData</code> will contain the closest + * node to where the error occurred. If the implementation is unable to + * determine the node where the error occurs, + * <code>DOMError.relatedData</code> will contain the <code>Document</code> + * node. Mutations to the document from within an error handler will result + * in implementation dependent behavior. </dd> + * <dt><code>"infoset"</code></dt> + * <dd> + * <dl> + * <dt> + * <code>true</code></dt> + * <dd>[<em>required</em>]Keep in the document the information defined in the XML Information Set [<a href='http://www.w3.org/TR/2004/REC-xml-infoset-20040204/'>XML Information Set</a>] + * .This forces the following parameters to <code>false</code>: " + * validate-if-schema", "entities", "datatype-normalization", "cdata-sections + * ".This forces the following parameters to <code>true</code>: " + * namespace-declarations", "well-formed", "element-content-whitespace", " + * comments", "namespaces".Other parameters are not changed unless + * explicitly specified in the description of the parameters. Note that + * querying this parameter with <code>getParameter</code> returns + * <code>true</code> only if the individual parameters specified above are + * appropriately set.</dd> + * <dt><code>false</code></dt> + * <dd>Setting <code>infoset</code> to + * <code>false</code> has no effect.</dd> + * </dl></dd> + * <dt><code>"namespaces"</code></dt> + * <dd> + * <dl> + * <dt> + * <code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) Perform the namespace processing as defined in . </dd> + * <dt><code>false</code></dt> + * <dd>[<em>optional</em>] Do not perform the namespace processing. </dd> + * </dl></dd> + * <dt> + * <code>"namespace-declarations"</code></dt> + * <dd> This parameter has no effect if the + * parameter "namespaces" is set to <code>false</code>. + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) Include namespace declaration attributes, specified or defaulted from + * the schema, in the document. See also the sections "Declaring Namespaces" + * in [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * and [<a href='http://www.w3.org/TR/2004/REC-xml-names11-20040204/'>XML Namespaces 1.1</a>] + * .</dd> + * <dt><code>false</code></dt> + * <dd>[<em>required</em>]Discard all namespace declaration attributes. The namespace prefixes ( + * <code>Node.prefix</code>) are retained even if this parameter is set to + * <code>false</code>.</dd> + * </dl></dd> + * <dt><code>"normalize-characters"</code></dt> + * <dd> + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>optional</em>] <a href='http://www.w3.org/TR/2004/REC-xml11-20040204/#dt-fullnorm'>Fully + * normalized</a> the characters in the document as defined in appendix B of [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>]. </dd> + * <dt> + * <code>false</code></dt> + * <dd>[<em>required</em>] (<em>default</em>)Do not perform character normalization.</dd> + * </dl></dd> + * <dt><code>"schema-location"</code></dt> + * <dd>[<em>optional</em>] Represent a <code>DOMString</code> object containing a list of URIs, + * separated by whitespaces (characters matching the <a href='http://www.w3.org/TR/2004/REC-xml-20040204#NT-S'>nonterminal + * production S</a> defined in section 2.3 [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]), that + * represents the schemas against which validation should occur, i.e. the + * current schema. The types of schemas referenced in this list must match + * the type specified with <code>schema-type</code>, otherwise the behavior + * of an implementation is undefined. The schemas specified using this + * property take precedence to the schema information specified in the + * document itself. For namespace aware schema, if a schema specified using + * this property and a schema specified in the document instance (i.e. using + * the <code>schemaLocation</code> attribute) in a schema document (i.e. + * using schema <code>import</code> mechanisms) share the same + * <code>targetNamespace</code>, the schema specified by the user using this + * property will be used. If two schemas specified using this property share + * the same <code>targetNamespace</code> or have no namespace, the behavior + * is implementation dependent. If no location has been provided, this + * parameter is <code>null</code>. + * <p ><b>Note:</b> The <code>"schema-location"</code> parameter is ignored + * unless the "schema-type" parameter value is set. It is strongly + * recommended that <code>Document.documentURI</code> will be set so that an + * implementation can successfully resolve any external entities referenced. </dd> + * <dt> + * <code>"schema-type"</code></dt> + * <dd>[<em>optional</em>] Represent a <code>DOMString</code> object containing an absolute URI + * and representing the type of the schema language used to validate a + * document against. Note that no lexical checking is done on the absolute + * URI. If this parameter is not set, a default value may be provided by + * the implementation, based on the schema languages supported and on the + * schema language used at load time. If no value is provided, this + * parameter is <code>null</code>. + * <p ><b>Note:</b> For XML Schema [<a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/'>XML Schema Part 1</a>] + * , applications must use the value + * <code>"http://www.w3.org/2001/XMLSchema"</code>. For XML DTD [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>], + * applications must use the value + * <code>"http://www.w3.org/TR/REC-xml"</code>. Other schema languages are + * outside the scope of the W3C and therefore should recommend an absolute + * URI in order to use this method. </dd> + * <dt><code>"split-cdata-sections"</code></dt> + * <dd> + * <dl> + * <dt> + * <code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>)Split CDATA sections containing the CDATA section termination marker + * ']]>'. When a CDATA section is split a warning is issued with a + * <code>DOMError.type</code> equals to + * <code>"cdata-sections-splitted"</code> and + * <code>DOMError.relatedData</code> equals to the first + * <code>CDATASection</code> node in document order resulting from the split.</dd> + * <dt> + * <code>false</code></dt> + * <dd>[<em>required</em>]Signal an error if a <code>CDATASection</code> contains an + * unrepresentable character.</dd> + * </dl></dd> + * <dt><code>"validate"</code></dt> + * <dd> + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>optional</em>] Require the validation against a schema (i.e. XML schema, DTD, any + * other type or representation of schema) of the document as it is being + * normalized as defined by [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]. If + * validation errors are found, or no schema was found, the error handler is + * notified. Schema-normalized values will not be exposed according to the + * schema in used unless the parameter "datatype-normalization" is + * <code>true</code>. This parameter will reevaluate: + * <ul> + * <li> Attribute nodes with + * <code>Attr.specified</code> equals to <code>false</code>, as specified in + * the description of the <code>Attr</code> interface; + * </li> + * <li> The value of the + * attribute <code>Text.isElementContentWhitespace</code> for all + * <code>Text</code> nodes; + * </li> + * <li> The value of the attribute + * <code>Attr.isId</code> for all <code>Attr</code> nodes; + * </li> + * <li> The attributes + * <code>Element.schemaTypeInfo</code> and <code>Attr.schemaTypeInfo</code>. + * </li> + * </ul> + * <p ><b>Note:</b> "validate-if-schema" and "validate" are mutually + * exclusive, setting one of them to <code>true</code> will set the other + * one to <code>false</code>. Applications should also consider setting the + * parameter "well-formed" to <code>true</code>, which is the default for + * that option, when validating the document. </dd> + * <dt><code>false</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) Do not accomplish schema processing, including the internal subset + * processing. Default attribute values information are kept. Note that + * validation might still happen if "validate-if-schema" is <code>true</code> + * . </dd> + * </dl></dd> + * <dt><code>"validate-if-schema"</code></dt> + * <dd> + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>optional</em>]Enable validation only if a declaration for the document element can be + * found in a schema (independently of where it is found, i.e. XML schema, + * DTD, or any other type or representation of schema). If validation is + * enabled, this parameter has the same behavior as the parameter "validate" + * set to <code>true</code>. + * <p ><b>Note:</b> "validate-if-schema" and "validate" are mutually + * exclusive, setting one of them to <code>true</code> will set the other + * one to <code>false</code>. </dd> + * <dt><code>false</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) No schema processing should be performed if the document has a schema, + * including internal subset processing. Default attribute values + * information are kept. Note that validation must still happen if "validate + * " is <code>true</code>. </dd> + * </dl></dd> + * <dt><code>"well-formed"</code></dt> + * <dd> + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) Check if all nodes are XML well formed according to the XML version in + * use in <code>Document.xmlVersion</code>: + * <ul> + * <li> check if the attribute + * <code>Node.nodeName</code> contains invalid characters according to its + * node type and generate a <code>DOMError</code> of type + * <code>"wf-invalid-character-in-node-name"</code>, with a + * <code>DOMError.SEVERITY_ERROR</code> severity, if necessary; + * </li> + * <li> check if + * the text content inside <code>Attr</code>, <code>Element</code>, + * <code>Comment</code>, <code>Text</code>, <code>CDATASection</code> nodes + * for invalid characters and generate a <code>DOMError</code> of type + * <code>"wf-invalid-character"</code>, with a + * <code>DOMError.SEVERITY_ERROR</code> severity, if necessary; + * </li> + * <li> check if + * the data inside <code>ProcessingInstruction</code> nodes for invalid + * characters and generate a <code>DOMError</code> of type + * <code>"wf-invalid-character"</code>, with a + * <code>DOMError.SEVERITY_ERROR</code> severity, if necessary; + * </li> + * </ul></dd> + * <dt> + * <code>false</code></dt> + * <dd>[<em>optional</em>] Do not check for XML well-formedness. </dd> + * </dl></dd> + * </dl> + * <p> The resolution of the system identifiers associated with entities is + * done using <code>Document.documentURI</code>. However, when the feature + * "LS" defined in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>DOM Level 3 Load and Save</a>] + * is supported by the DOM implementation, the parameter + * "resource-resolver" can also be used on <code>DOMConfiguration</code> + * objects attached to <code>Document</code> nodes. If this parameter is + * set, <code>Document.normalizeDocument()</code> will invoke the resource + * resolver instead of using <code>Document.documentURI</code>. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + * @since DOM Level 3 + */ +public interface DOMConfiguration { + /** + * Set the value of a parameter. + * @param name The name of the parameter to set. + * @param value The new value or <code>null</code> if the user wishes to + * unset the parameter. While the type of the value parameter is + * defined as <code>DOMUserData</code>, the object type must match the + * type defined by the definition of the parameter. For example, if + * the parameter is "error-handler", the value must be of type + * <code>DOMErrorHandler</code>. + * @exception DOMException + * NOT_FOUND_ERR: Raised when the parameter name is not recognized. + * <br> NOT_SUPPORTED_ERR: Raised when the parameter name is recognized + * but the requested value cannot be set. + * <br> TYPE_MISMATCH_ERR: Raised if the value type for this parameter + * name is incompatible with the expected value type. + */ + public void setParameter(String name, + Object value) + throws DOMException; + + /** + * Return the value of a parameter if known. + * @param name The name of the parameter. + * @return The current object associated with the specified parameter or + * <code>null</code> if no object has been associated or if the + * parameter is not supported. + * @exception DOMException + * NOT_FOUND_ERR: Raised when the parameter name is not recognized. + */ + public Object getParameter(String name) + throws DOMException; + + /** + * Check if setting a parameter to a specific value is supported. + * @param name The name of the parameter to check. + * @param value An object. if <code>null</code>, the returned value is + * <code>true</code>. + * @return <code>true</code> if the parameter could be successfully set + * to the specified value, or <code>false</code> if the parameter is + * not recognized or the requested value is not supported. This does + * not change the current value of the parameter itself. + */ + public boolean canSetParameter(String name, + Object value); + + /** + * The list of the parameters supported by this + * <code>DOMConfiguration</code> object and for which at least one value + * can be set by the application. Note that this list can also contain + * parameter names defined outside this specification. + */ + public DOMStringList getParameterNames(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMError.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMError.java new file mode 100644 index 000000000..2634df37c --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMError.java @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * <code>DOMError</code> is an interface that describes an error. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + * @since DOM Level 3 + */ +public interface DOMError { + // ErrorSeverity + /** + * The severity of the error described by the <code>DOMError</code> is + * warning. A <code>SEVERITY_WARNING</code> will not cause the + * processing to stop, unless <code>DOMErrorHandler.handleError()</code> + * returns <code>false</code>. + */ + public static final short SEVERITY_WARNING = 1; + /** + * The severity of the error described by the <code>DOMError</code> is + * error. A <code>SEVERITY_ERROR</code> may not cause the processing to + * stop if the error can be recovered, unless + * <code>DOMErrorHandler.handleError()</code> returns <code>false</code>. + */ + public static final short SEVERITY_ERROR = 2; + /** + * The severity of the error described by the <code>DOMError</code> is + * fatal error. A <code>SEVERITY_FATAL_ERROR</code> will cause the + * normal processing to stop. The return value of + * <code>DOMErrorHandler.handleError()</code> is ignored unless the + * implementation chooses to continue, in which case the behavior + * becomes undefined. + */ + public static final short SEVERITY_FATAL_ERROR = 3; + + /** + * The severity of the error, either <code>SEVERITY_WARNING</code>, + * <code>SEVERITY_ERROR</code>, or <code>SEVERITY_FATAL_ERROR</code>. + */ + public short getSeverity(); + + /** + * An implementation specific string describing the error that occurred. + */ + public String getMessage(); + + /** + * A <code>DOMString</code> indicating which related data is expected in + * <code>relatedData</code>. Users should refer to the specification of + * the error in order to find its <code>DOMString</code> type and + * <code>relatedData</code> definitions if any. + * <p ><b>Note:</b> As an example, + * <code>Document.normalizeDocument()</code> does generate warnings when + * the "split-cdata-sections" parameter is in use. Therefore, the method + * generates a <code>SEVERITY_WARNING</code> with <code>type</code> + * <code>"cdata-sections-splitted"</code> and the first + * <code>CDATASection</code> node in document order resulting from the + * split is returned by the <code>relatedData</code> attribute. + */ + public String getType(); + + /** + * The related platform dependent exception if any. + */ + public Object getRelatedException(); + + /** + * The related <code>DOMError.type</code> dependent data if any. + */ + public Object getRelatedData(); + + /** + * The location of the error. + */ + public DOMLocator getLocation(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMErrorHandler.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMErrorHandler.java new file mode 100644 index 000000000..7dcc90152 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMErrorHandler.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * <code>DOMErrorHandler</code> is a callback interface that the DOM + * implementation can call when reporting errors that happens while + * processing XML data, or when doing some other processing (e.g. validating + * a document). A <code>DOMErrorHandler</code> object can be attached to a + * <code>Document</code> using the "error-handler" on the + * <code>DOMConfiguration</code> interface. If more than one error needs to + * be reported during an operation, the sequence and numbers of the errors + * passed to the error handler are implementation dependent. + * <p> The application that is using the DOM implementation is expected to + * implement this interface. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + * @since DOM Level 3 + */ +public interface DOMErrorHandler { + /** + * This method is called on the error handler when an error occurs. + * <br> If an exception is thrown from this method, it is considered to be + * equivalent of returning <code>true</code>. + * @param error The error object that describes the error. This object + * may be reused by the DOM implementation across multiple calls to + * the <code>handleError</code> method. + * @return If the <code>handleError</code> method returns + * <code>false</code>, the DOM implementation should stop the current + * processing when possible. If the method returns <code>true</code>, + * the processing may continue depending on + * <code>DOMError.severity</code>. + */ + public boolean handleError(DOMError error); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMException.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMException.java new file mode 100644 index 000000000..23c70c400 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMException.java @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * DOM operations only raise exceptions in "exceptional" circumstances, i.e., + * when an operation is impossible to perform (either for logical reasons, + * because data is lost, or because the implementation has become unstable). + * In general, DOM methods return specific error values in ordinary + * processing situations, such as out-of-bound errors when using + * <code>NodeList</code>. + * <p>Implementations should raise other exceptions under other circumstances. + * For example, implementations should raise an implementation-dependent + * exception if a <code>null</code> argument is passed when <code>null</code> + * was not expected. + * <p>Some languages and object systems do not support the concept of + * exceptions. For such systems, error conditions may be indicated using + * native error reporting mechanisms. For some bindings, for example, + * methods may return error codes similar to those listed in the + * corresponding method descriptions. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public class DOMException extends RuntimeException { + public DOMException(short code, String message) { + super(message); + this.code = code; + } + public short code; + // ExceptionCode + /** + * If index or size is negative, or greater than the allowed value. + */ + public static final short INDEX_SIZE_ERR = 1; + /** + * If the specified range of text does not fit into a + * <code>DOMString</code>. + */ + public static final short DOMSTRING_SIZE_ERR = 2; + /** + * If any <code>Node</code> is inserted somewhere it doesn't belong. + */ + public static final short HIERARCHY_REQUEST_ERR = 3; + /** + * If a <code>Node</code> is used in a different document than the one + * that created it (that doesn't support it). + */ + public static final short WRONG_DOCUMENT_ERR = 4; + /** + * If an invalid or illegal character is specified, such as in an XML name. + */ + public static final short INVALID_CHARACTER_ERR = 5; + /** + * If data is specified for a <code>Node</code> which does not support + * data. + */ + public static final short NO_DATA_ALLOWED_ERR = 6; + /** + * If an attempt is made to modify an object where modifications are not + * allowed. + */ + public static final short NO_MODIFICATION_ALLOWED_ERR = 7; + /** + * If an attempt is made to reference a <code>Node</code> in a context + * where it does not exist. + */ + public static final short NOT_FOUND_ERR = 8; + /** + * If the implementation does not support the requested type of object or + * operation. + */ + public static final short NOT_SUPPORTED_ERR = 9; + /** + * If an attempt is made to add an attribute that is already in use + * elsewhere. + */ + public static final short INUSE_ATTRIBUTE_ERR = 10; + /** + * If an attempt is made to use an object that is not, or is no longer, + * usable. + * @since DOM Level 2 + */ + public static final short INVALID_STATE_ERR = 11; + /** + * If an invalid or illegal string is specified. + * @since DOM Level 2 + */ + public static final short SYNTAX_ERR = 12; + /** + * If an attempt is made to modify the type of the underlying object. + * @since DOM Level 2 + */ + public static final short INVALID_MODIFICATION_ERR = 13; + /** + * If an attempt is made to create or change an object in a way which is + * incorrect with regard to namespaces. + * @since DOM Level 2 + */ + public static final short NAMESPACE_ERR = 14; + /** + * If a parameter or an operation is not supported by the underlying + * object. + * @since DOM Level 2 + */ + public static final short INVALID_ACCESS_ERR = 15; + /** + * If a call to a method such as <code>insertBefore</code> or + * <code>removeChild</code> would make the <code>Node</code> invalid + * with respect to "partial validity", this exception would be raised + * and the operation would not be done. This code is used in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Val-20040127/'>DOM Level 3 Validation</a>] + * . Refer to this specification for further information. + * @since DOM Level 3 + */ + public static final short VALIDATION_ERR = 16; + /** + * If the type of an object is incompatible with the expected type of the + * parameter associated to the object. + * @since DOM Level 3 + */ + public static final short TYPE_MISMATCH_ERR = 17; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMImplementation.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMImplementation.java new file mode 100644 index 000000000..9b0757433 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMImplementation.java @@ -0,0 +1,136 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>DOMImplementation</code> interface provides a number of methods + * for performing operations that are independent of any particular instance + * of the document object model. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface DOMImplementation { + /** + * Test if the DOM implementation implements a specific feature and + * version, as specified in . + * @param feature The name of the feature to test. + * @param version This is the version number of the feature to test. + * @return <code>true</code> if the feature is implemented in the + * specified version, <code>false</code> otherwise. + */ + public boolean hasFeature(String feature, + String version); + + /** + * Creates an empty <code>DocumentType</code> node. Entity declarations + * and notations are not made available. Entity reference expansions and + * default attribute additions do not occur.. + * @param qualifiedName The qualified name of the document type to be + * created. + * @param publicId The external subset public identifier. + * @param systemId The external subset system identifier. + * @return A new <code>DocumentType</code> node with + * <code>Node.ownerDocument</code> set to <code>null</code>. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified qualified name is not + * an XML name according to [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]. + * <br>NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is + * malformed. + * <br>NOT_SUPPORTED_ERR: May be raised if the implementation does not + * support the feature "XML" and the language exposed through the + * Document does not support XML Namespaces (such as [<a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01</a>]). + * @since DOM Level 2 + */ + public DocumentType createDocumentType(String qualifiedName, + String publicId, + String systemId) + throws DOMException; + + /** + * Creates a DOM Document object of the specified type with its document + * element. + * <br>Note that based on the <code>DocumentType</code> given to create + * the document, the implementation may instantiate specialized + * <code>Document</code> objects that support additional features than + * the "Core", such as "HTML" [<a href='http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109'>DOM Level 2 HTML</a>] + * . On the other hand, setting the <code>DocumentType</code> after the + * document was created makes this very unlikely to happen. + * Alternatively, specialized <code>Document</code> creation methods, + * such as <code>createHTMLDocument</code> [<a href='http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109'>DOM Level 2 HTML</a>] + * , can be used to obtain specific types of <code>Document</code> + * objects. + * @param namespaceURI The namespace URI of the document element to + * create or <code>null</code>. + * @param qualifiedName The qualified name of the document element to be + * created or <code>null</code>. + * @param doctype The type of document to be created or <code>null</code>. + * When <code>doctype</code> is not <code>null</code>, its + * <code>Node.ownerDocument</code> attribute is set to the document + * being created. + * @return A new <code>Document</code> object with its document element. + * If the <code>NamespaceURI</code>, <code>qualifiedName</code>, and + * <code>doctype</code> are <code>null</code>, the returned + * <code>Document</code> is empty with no document element. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified qualified name is not + * an XML name according to [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]. + * <br>NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is + * malformed, if the <code>qualifiedName</code> has a prefix and the + * <code>namespaceURI</code> is <code>null</code>, or if the + * <code>qualifiedName</code> is <code>null</code> and the + * <code>namespaceURI</code> is different from <code>null</code>, or + * if the <code>qualifiedName</code> has a prefix that is "xml" and + * the <code>namespaceURI</code> is different from "<a href='http://www.w3.org/XML/1998/namespace'> + * http://www.w3.org/XML/1998/namespace</a>" [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , or if the DOM implementation does not support the + * <code>"XML"</code> feature but a non-null namespace URI was + * provided, since namespaces were defined by XML. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>doctype</code> has already + * been used with a different document or was created from a different + * implementation. + * <br>NOT_SUPPORTED_ERR: May be raised if the implementation does not + * support the feature "XML" and the language exposed through the + * Document does not support XML Namespaces (such as [<a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01</a>]). + * @since DOM Level 2 + */ + public Document createDocument(String namespaceURI, + String qualifiedName, + DocumentType doctype) + throws DOMException; + + /** + * This method returns a specialized object which implements the + * specialized APIs of the specified feature and version, as specified + * in . The specialized object may also be obtained by using + * binding-specific casting methods but is not necessarily expected to, + * as discussed in . This method also allow the implementation to + * provide specialized objects which do not support the + * <code>DOMImplementation</code> interface. + * @param feature The name of the feature requested. Note that any plus + * sign "+" prepended to the name of the feature will be ignored since + * it is not significant in the context of this method. + * @param version This is the version number of the feature to test. + * @return Returns an object which implements the specialized APIs of + * the specified feature and version, if any, or <code>null</code> if + * there is no object which implements interfaces associated with that + * feature. If the <code>DOMObject</code> returned by this method + * implements the <code>DOMImplementation</code> interface, it must + * delegate to the primary core <code>DOMImplementation</code> and not + * return results inconsistent with the primary core + * <code>DOMImplementation</code> such as <code>hasFeature</code>, + * <code>getFeature</code>, etc. + * @since DOM Level 3 + */ + public Object getFeature(String feature, + String version); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMImplementationList.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMImplementationList.java new file mode 100644 index 000000000..877de6efe --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMImplementationList.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>DOMImplementationList</code> interface provides the abstraction + * of an ordered collection of DOM implementations, without defining or + * constraining how this collection is implemented. The items in the + * <code>DOMImplementationList</code> are accessible via an integral index, + * starting from 0. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + * @since DOM Level 3 + */ +public interface DOMImplementationList { + /** + * Returns the <code>index</code>th item in the collection. If + * <code>index</code> is greater than or equal to the number of + * <code>DOMImplementation</code>s in the list, this returns + * <code>null</code>. + * @param index Index into the collection. + * @return The <code>DOMImplementation</code> at the <code>index</code> + * th position in the <code>DOMImplementationList</code>, or + * <code>null</code> if that is not a valid index. + */ + public DOMImplementation item(int index); + + /** + * The number of <code>DOMImplementation</code>s in the list. The range + * of valid child node indices is 0 to <code>length-1</code> inclusive. + */ + public int getLength(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMImplementationSource.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMImplementationSource.java new file mode 100644 index 000000000..1c5c0b2fe --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMImplementationSource.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * This interface permits a DOM implementer to supply one or more + * implementations, based upon requested features and versions, as specified + * in . Each implemented <code>DOMImplementationSource</code> object is + * listed in the binding-specific list of available sources so that its + * <code>DOMImplementation</code> objects are made available. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + * @since DOM Level 3 + */ +public interface DOMImplementationSource { + /** + * A method to request the first DOM implementation that supports the + * specified features. + * @param features A string that specifies which features and versions + * are required. This is a space separated list in which each feature + * is specified by its name optionally followed by a space and a + * version number. This method returns the first item of the list + * returned by <code>getDOMImplementationList</code>. As an example, + * the string <code>"XML 3.0 Traversal +Events 2.0"</code> will + * request a DOM implementation that supports the module "XML" for its + * 3.0 version, a module that support of the "Traversal" module for + * any version, and the module "Events" for its 2.0 version. The + * module "Events" must be accessible using the method + * <code>Node.getFeature()</code> and + * <code>DOMImplementation.getFeature()</code>. + * @return The first DOM implementation that support the desired + * features, or <code>null</code> if this source has none. + */ + public DOMImplementation getDOMImplementation(String features); + + /** + * A method to request a list of DOM implementations that support the + * specified features and versions, as specified in . + * @param features A string that specifies which features and versions + * are required. This is a space separated list in which each feature + * is specified by its name optionally followed by a space and a + * version number. This is something like: "XML 3.0 Traversal +Events + * 2.0" + * @return A list of DOM implementations that support the desired + * features. + */ + public DOMImplementationList getDOMImplementationList(String features); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMLocator.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMLocator.java new file mode 100644 index 000000000..50cd7d240 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMLocator.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * <code>DOMLocator</code> is an interface that describes a location (e.g. + * where an error occurred). + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + * @since DOM Level 3 + */ +public interface DOMLocator { + /** + * The line number this locator is pointing to, or <code>-1</code> if + * there is no column number available. + */ + public int getLineNumber(); + + /** + * The column number this locator is pointing to, or <code>-1</code> if + * there is no column number available. + */ + public int getColumnNumber(); + + /** + * The byte offset into the input source this locator is pointing to or + * <code>-1</code> if there is no byte offset available. + */ + public int getByteOffset(); + + /** + * The UTF-16, as defined in [Unicode] and Amendment 1 of [ISO/IEC 10646], offset into the input source this locator is pointing to or + * <code>-1</code> if there is no UTF-16 offset available. + */ + public int getUtf16Offset(); + + /** + * The node this locator is pointing to, or <code>null</code> if no node + * is available. + */ + public Node getRelatedNode(); + + /** + * The URI this locator is pointing to, or <code>null</code> if no URI is + * available. + */ + public String getUri(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMStringList.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMStringList.java new file mode 100644 index 000000000..53a40964e --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/DOMStringList.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>DOMStringList</code> interface provides the abstraction of an + * ordered collection of <code>DOMString</code> values, without defining or + * constraining how this collection is implemented. The items in the + * <code>DOMStringList</code> are accessible via an integral index, starting + * from 0. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + * @since DOM Level 3 + */ +public interface DOMStringList { + /** + * Returns the <code>index</code>th item in the collection. If + * <code>index</code> is greater than or equal to the number of + * <code>DOMString</code>s in the list, this returns <code>null</code>. + * @param index Index into the collection. + * @return The <code>DOMString</code> at the <code>index</code>th + * position in the <code>DOMStringList</code>, or <code>null</code> if + * that is not a valid index. + */ + public String item(int index); + + /** + * The number of <code>DOMString</code>s in the list. The range of valid + * child node indices is 0 to <code>length-1</code> inclusive. + */ + public int getLength(); + + /** + * Test if a string is part of this <code>DOMStringList</code>. + * @param str The string to look for. + * @return <code>true</code> if the string has been found, + * <code>false</code> otherwise. + */ + public boolean contains(String str); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/Document.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/Document.java new file mode 100644 index 000000000..3193fa260 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/Document.java @@ -0,0 +1,814 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>Document</code> interface represents the entire HTML or XML + * document. Conceptually, it is the root of the document tree, and provides + * the primary access to the document's data. + * <p>Since elements, text nodes, comments, processing instructions, etc. + * cannot exist outside the context of a <code>Document</code>, the + * <code>Document</code> interface also contains the factory methods needed + * to create these objects. The <code>Node</code> objects created have a + * <code>ownerDocument</code> attribute which associates them with the + * <code>Document</code> within whose context they were created. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface Document extends Node { + /** + * The Document Type Declaration (see <code>DocumentType</code>) + * associated with this document. For XML documents without a document + * type declaration this returns <code>null</code>. For HTML documents, + * a <code>DocumentType</code> object may be returned, independently of + * the presence or absence of document type declaration in the HTML + * document. + * <br>This provides direct access to the <code>DocumentType</code> node, + * child node of this <code>Document</code>. This node can be set at + * document creation time and later changed through the use of child + * nodes manipulation methods, such as <code>Node.insertBefore</code>, + * or <code>Node.replaceChild</code>. Note, however, that while some + * implementations may instantiate different types of + * <code>Document</code> objects supporting additional features than the + * "Core", such as "HTML" [<a href='http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109'>DOM Level 2 HTML</a>] + * , based on the <code>DocumentType</code> specified at creation time, + * changing it afterwards is very unlikely to result in a change of the + * features supported. + * @version DOM Level 3 + */ + public DocumentType getDoctype(); + + /** + * The <code>DOMImplementation</code> object that handles this document. A + * DOM application may use objects from multiple implementations. + */ + public DOMImplementation getImplementation(); + + /** + * This is a convenience attribute that allows direct access to the child + * node that is the document element of the document. + */ + public Element getDocumentElement(); + + /** + * Creates an element of the type specified. Note that the instance + * returned implements the <code>Element</code> interface, so attributes + * can be specified directly on the returned object. + * <br>In addition, if there are known attributes with default values, + * <code>Attr</code> nodes representing them are automatically created + * and attached to the element. + * <br>To create an element with a qualified name and namespace URI, use + * the <code>createElementNS</code> method. + * @param tagName The name of the element type to instantiate. For XML, + * this is case-sensitive, otherwise it depends on the + * case-sensitivity of the markup language in use. In that case, the + * name is mapped to the canonical form of that markup by the DOM + * implementation. + * @return A new <code>Element</code> object with the + * <code>nodeName</code> attribute set to <code>tagName</code>, and + * <code>localName</code>, <code>prefix</code>, and + * <code>namespaceURI</code> set to <code>null</code>. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified name is not an XML + * name according to the XML version in use specified in the + * <code>Document.xmlVersion</code> attribute. + */ + public Element createElement(String tagName) + throws DOMException; + + /** + * Creates an empty <code>DocumentFragment</code> object. + * @return A new <code>DocumentFragment</code>. + */ + public DocumentFragment createDocumentFragment(); + + /** + * Creates a <code>Text</code> node given the specified string. + * @param data The data for the node. + * @return The new <code>Text</code> object. + */ + public Text createTextNode(String data); + + /** + * Creates a <code>Comment</code> node given the specified string. + * @param data The data for the node. + * @return The new <code>Comment</code> object. + */ + public Comment createComment(String data); + + /** + * Creates a <code>CDATASection</code> node whose value is the specified + * string. + * @param data The data for the <code>CDATASection</code> contents. + * @return The new <code>CDATASection</code> object. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if this document is an HTML document. + */ + public CDATASection createCDATASection(String data) + throws DOMException; + + /** + * Creates a <code>ProcessingInstruction</code> node given the specified + * name and data strings. + * @param target The target part of the processing instruction.Unlike + * <code>Document.createElementNS</code> or + * <code>Document.createAttributeNS</code>, no namespace well-formed + * checking is done on the target name. Applications should invoke + * <code>Document.normalizeDocument()</code> with the parameter " + * namespaces" set to <code>true</code> in order to ensure that the + * target name is namespace well-formed. + * @param data The data for the node. + * @return The new <code>ProcessingInstruction</code> object. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified target is not an XML + * name according to the XML version in use specified in the + * <code>Document.xmlVersion</code> attribute. + * <br>NOT_SUPPORTED_ERR: Raised if this document is an HTML document. + */ + public ProcessingInstruction createProcessingInstruction(String target, + String data) + throws DOMException; + + /** + * Creates an <code>Attr</code> of the given name. Note that the + * <code>Attr</code> instance can then be set on an <code>Element</code> + * using the <code>setAttributeNode</code> method. + * <br>To create an attribute with a qualified name and namespace URI, use + * the <code>createAttributeNS</code> method. + * @param name The name of the attribute. + * @return A new <code>Attr</code> object with the <code>nodeName</code> + * attribute set to <code>name</code>, and <code>localName</code>, + * <code>prefix</code>, and <code>namespaceURI</code> set to + * <code>null</code>. The value of the attribute is the empty string. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified name is not an XML + * name according to the XML version in use specified in the + * <code>Document.xmlVersion</code> attribute. + */ + public Attr createAttribute(String name) + throws DOMException; + + /** + * Creates an <code>EntityReference</code> object. In addition, if the + * referenced entity is known, the child list of the + * <code>EntityReference</code> node is made the same as that of the + * corresponding <code>Entity</code> node. + * <p ><b>Note:</b> If any descendant of the <code>Entity</code> node has + * an unbound namespace prefix, the corresponding descendant of the + * created <code>EntityReference</code> node is also unbound; (its + * <code>namespaceURI</code> is <code>null</code>). The DOM Level 2 and + * 3 do not support any mechanism to resolve namespace prefixes in this + * case. + * @param name The name of the entity to reference.Unlike + * <code>Document.createElementNS</code> or + * <code>Document.createAttributeNS</code>, no namespace well-formed + * checking is done on the entity name. Applications should invoke + * <code>Document.normalizeDocument()</code> with the parameter " + * namespaces" set to <code>true</code> in order to ensure that the + * entity name is namespace well-formed. + * @return The new <code>EntityReference</code> object. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified name is not an XML + * name according to the XML version in use specified in the + * <code>Document.xmlVersion</code> attribute. + * <br>NOT_SUPPORTED_ERR: Raised if this document is an HTML document. + */ + public EntityReference createEntityReference(String name) + throws DOMException; + + /** + * Returns a <code>NodeList</code> of all the <code>Elements</code> in + * document order with a given tag name and are contained in the + * document. + * @param tagname The name of the tag to match on. The special value "*" + * matches all tags. For XML, the <code>tagname</code> parameter is + * case-sensitive, otherwise it depends on the case-sensitivity of the + * markup language in use. + * @return A new <code>NodeList</code> object containing all the matched + * <code>Elements</code>. + */ + public NodeList getElementsByTagName(String tagname); + + /** + * Imports a node from another document to this document, without altering + * or removing the source node from the original document; this method + * creates a new copy of the source node. The returned node has no + * parent; (<code>parentNode</code> is <code>null</code>). + * <br>For all nodes, importing a node creates a node object owned by the + * importing document, with attribute values identical to the source + * node's <code>nodeName</code> and <code>nodeType</code>, plus the + * attributes related to namespaces (<code>prefix</code>, + * <code>localName</code>, and <code>namespaceURI</code>). As in the + * <code>cloneNode</code> operation, the source node is not altered. + * User data associated to the imported node is not carried over. + * However, if any <code>UserDataHandlers</code> has been specified + * along with the associated data these handlers will be called with the + * appropriate parameters before this method returns. + * <br>Additional information is copied as appropriate to the + * <code>nodeType</code>, attempting to mirror the behavior expected if + * a fragment of XML or HTML source was copied from one document to + * another, recognizing that the two documents may have different DTDs + * in the XML case. The following list describes the specifics for each + * type of node. + * <dl> + * <dt>ATTRIBUTE_NODE</dt> + * <dd>The <code>ownerElement</code> attribute + * is set to <code>null</code> and the <code>specified</code> flag is + * set to <code>true</code> on the generated <code>Attr</code>. The + * descendants of the source <code>Attr</code> are recursively imported + * and the resulting nodes reassembled to form the corresponding subtree. + * Note that the <code>deep</code> parameter has no effect on + * <code>Attr</code> nodes; they always carry their children with them + * when imported.</dd> + * <dt>DOCUMENT_FRAGMENT_NODE</dt> + * <dd>If the <code>deep</code> option + * was set to <code>true</code>, the descendants of the source + * <code>DocumentFragment</code> are recursively imported and the + * resulting nodes reassembled under the imported + * <code>DocumentFragment</code> to form the corresponding subtree. + * Otherwise, this simply generates an empty + * <code>DocumentFragment</code>.</dd> + * <dt>DOCUMENT_NODE</dt> + * <dd><code>Document</code> + * nodes cannot be imported.</dd> + * <dt>DOCUMENT_TYPE_NODE</dt> + * <dd><code>DocumentType</code> + * nodes cannot be imported.</dd> + * <dt>ELEMENT_NODE</dt> + * <dd><em>Specified</em> attribute nodes of the source element are imported, and the generated + * <code>Attr</code> nodes are attached to the generated + * <code>Element</code>. Default attributes are <em>not</em> copied, though if the document being imported into defines default + * attributes for this element name, those are assigned. If the + * <code>importNode</code> <code>deep</code> parameter was set to + * <code>true</code>, the descendants of the source element are + * recursively imported and the resulting nodes reassembled to form the + * corresponding subtree.</dd> + * <dt>ENTITY_NODE</dt> + * <dd><code>Entity</code> nodes can be + * imported, however in the current release of the DOM the + * <code>DocumentType</code> is readonly. Ability to add these imported + * nodes to a <code>DocumentType</code> will be considered for addition + * to a future release of the DOM.On import, the <code>publicId</code>, + * <code>systemId</code>, and <code>notationName</code> attributes are + * copied. If a <code>deep</code> import is requested, the descendants + * of the the source <code>Entity</code> are recursively imported and + * the resulting nodes reassembled to form the corresponding subtree.</dd> + * <dt> + * ENTITY_REFERENCE_NODE</dt> + * <dd>Only the <code>EntityReference</code> itself is + * copied, even if a <code>deep</code> import is requested, since the + * source and destination documents might have defined the entity + * differently. If the document being imported into provides a + * definition for this entity name, its value is assigned.</dd> + * <dt>NOTATION_NODE</dt> + * <dd> + * <code>Notation</code> nodes can be imported, however in the current + * release of the DOM the <code>DocumentType</code> is readonly. Ability + * to add these imported nodes to a <code>DocumentType</code> will be + * considered for addition to a future release of the DOM.On import, the + * <code>publicId</code> and <code>systemId</code> attributes are copied. + * Note that the <code>deep</code> parameter has no effect on this type + * of nodes since they cannot have any children.</dd> + * <dt> + * PROCESSING_INSTRUCTION_NODE</dt> + * <dd>The imported node copies its + * <code>target</code> and <code>data</code> values from those of the + * source node.Note that the <code>deep</code> parameter has no effect + * on this type of nodes since they cannot have any children.</dd> + * <dt>TEXT_NODE, + * CDATA_SECTION_NODE, COMMENT_NODE</dt> + * <dd>These three types of nodes inheriting + * from <code>CharacterData</code> copy their <code>data</code> and + * <code>length</code> attributes from those of the source node.Note + * that the <code>deep</code> parameter has no effect on these types of + * nodes since they cannot have any children.</dd> + * </dl> + * @param importedNode The node to import. + * @param deep If <code>true</code>, recursively import the subtree under + * the specified node; if <code>false</code>, import only the node + * itself, as explained above. This has no effect on nodes that cannot + * have any children, and on <code>Attr</code>, and + * <code>EntityReference</code> nodes. + * @return The imported node that belongs to this <code>Document</code>. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if the type of node being imported is not + * supported. + * <br>INVALID_CHARACTER_ERR: Raised if one of the imported names is not + * an XML name according to the XML version in use specified in the + * <code>Document.xmlVersion</code> attribute. This may happen when + * importing an XML 1.1 [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>] element + * into an XML 1.0 document, for instance. + * @since DOM Level 2 + */ + public Node importNode(Node importedNode, + boolean deep) + throws DOMException; + + /** + * Creates an element of the given qualified name and namespace URI. + * <br>Per [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , applications must use the value <code>null</code> as the + * namespaceURI parameter for methods if they wish to have no namespace. + * @param namespaceURI The namespace URI of the element to create. + * @param qualifiedName The qualified name of the element type to + * instantiate. + * @return A new <code>Element</code> object with the following + * attributes: + * <table border='1' cellpadding='3'> + * <tr> + * <th>Attribute</th> + * <th>Value</th> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Node.nodeName</code></td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>qualifiedName</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Node.namespaceURI</code></td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>namespaceURI</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Node.prefix</code></td> + * <td valign='top' rowspan='1' colspan='1'>prefix, extracted + * from <code>qualifiedName</code>, or <code>null</code> if there is + * no prefix</td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Node.localName</code></td> + * <td valign='top' rowspan='1' colspan='1'>local name, extracted from + * <code>qualifiedName</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Element.tagName</code></td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>qualifiedName</code></td> + * </tr> + * </table> + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified + * <code>qualifiedName</code> is not an XML name according to the XML + * version in use specified in the <code>Document.xmlVersion</code> + * attribute. + * <br>NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is a + * malformed qualified name, if the <code>qualifiedName</code> has a + * prefix and the <code>namespaceURI</code> is <code>null</code>, or + * if the <code>qualifiedName</code> has a prefix that is "xml" and + * the <code>namespaceURI</code> is different from "<a href='http://www.w3.org/XML/1998/namespace'> + * http://www.w3.org/XML/1998/namespace</a>" [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , or if the <code>qualifiedName</code> or its prefix is "xmlns" and + * the <code>namespaceURI</code> is different from "<a href='http://www.w3.org/2000/xmlns/'>http://www.w3.org/2000/xmlns/</a>", or if the <code>namespaceURI</code> is "<a href='http://www.w3.org/2000/xmlns/'>http://www.w3.org/2000/xmlns/</a>" and neither the <code>qualifiedName</code> nor its prefix is "xmlns". + * <br>NOT_SUPPORTED_ERR: Always thrown if the current document does not + * support the <code>"XML"</code> feature, since namespaces were + * defined by XML. + * @since DOM Level 2 + */ + public Element createElementNS(String namespaceURI, + String qualifiedName) + throws DOMException; + + /** + * Creates an attribute of the given qualified name and namespace URI. + * <br>Per [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , applications must use the value <code>null</code> as the + * <code>namespaceURI</code> parameter for methods if they wish to have + * no namespace. + * @param namespaceURI The namespace URI of the attribute to create. + * @param qualifiedName The qualified name of the attribute to + * instantiate. + * @return A new <code>Attr</code> object with the following attributes: + * <table border='1' cellpadding='3'> + * <tr> + * <th> + * Attribute</th> + * <th>Value</th> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Node.nodeName</code></td> + * <td valign='top' rowspan='1' colspan='1'>qualifiedName</td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'> + * <code>Node.namespaceURI</code></td> + * <td valign='top' rowspan='1' colspan='1'><code>namespaceURI</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'> + * <code>Node.prefix</code></td> + * <td valign='top' rowspan='1' colspan='1'>prefix, extracted from + * <code>qualifiedName</code>, or <code>null</code> if there is no + * prefix</td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Node.localName</code></td> + * <td valign='top' rowspan='1' colspan='1'>local name, extracted from + * <code>qualifiedName</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Attr.name</code></td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>qualifiedName</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Node.nodeValue</code></td> + * <td valign='top' rowspan='1' colspan='1'>the empty + * string</td> + * </tr> + * </table> + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified + * <code>qualifiedName</code> is not an XML name according to the XML + * version in use specified in the <code>Document.xmlVersion</code> + * attribute. + * <br>NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is a + * malformed qualified name, if the <code>qualifiedName</code> has a + * prefix and the <code>namespaceURI</code> is <code>null</code>, if + * the <code>qualifiedName</code> has a prefix that is "xml" and the + * <code>namespaceURI</code> is different from "<a href='http://www.w3.org/XML/1998/namespace'> + * http://www.w3.org/XML/1998/namespace</a>", if the <code>qualifiedName</code> or its prefix is "xmlns" and the + * <code>namespaceURI</code> is different from "<a href='http://www.w3.org/2000/xmlns/'>http://www.w3.org/2000/xmlns/</a>", or if the <code>namespaceURI</code> is "<a href='http://www.w3.org/2000/xmlns/'>http://www.w3.org/2000/xmlns/</a>" and neither the <code>qualifiedName</code> nor its prefix is "xmlns". + * <br>NOT_SUPPORTED_ERR: Always thrown if the current document does not + * support the <code>"XML"</code> feature, since namespaces were + * defined by XML. + * @since DOM Level 2 + */ + public Attr createAttributeNS(String namespaceURI, + String qualifiedName) + throws DOMException; + + /** + * Returns a <code>NodeList</code> of all the <code>Elements</code> with a + * given local name and namespace URI in document order. + * @param namespaceURI The namespace URI of the elements to match on. The + * special value <code>"*"</code> matches all namespaces. + * @param localName The local name of the elements to match on. The + * special value "*" matches all local names. + * @return A new <code>NodeList</code> object containing all the matched + * <code>Elements</code>. + * @since DOM Level 2 + */ + public NodeList getElementsByTagNameNS(String namespaceURI, + String localName); + + /** + * Returns the <code>Element</code> that has an ID attribute with the + * given value. If no such element exists, this returns <code>null</code> + * . If more than one element has an ID attribute with that value, what + * is returned is undefined. + * <br> The DOM implementation is expected to use the attribute + * <code>Attr.isId</code> to determine if an attribute is of type ID. + * <p ><b>Note:</b> Attributes with the name "ID" or "id" are not of type + * ID unless so defined. + * @param elementId The unique <code>id</code> value for an element. + * @return The matching element or <code>null</code> if there is none. + * @since DOM Level 2 + */ + public Element getElementById(String elementId); + + /** + * An attribute specifying the encoding used for this document at the time + * of the parsing. This is <code>null</code> when it is not known, such + * as when the <code>Document</code> was created in memory. + * @since DOM Level 3 + */ + public String getInputEncoding(); + + /** + * An attribute specifying, as part of the <a href='http://www.w3.org/TR/2004/REC-xml-20040204#NT-XMLDecl'>XML declaration</a>, the encoding of this document. This is <code>null</code> when + * unspecified or when it is not known, such as when the + * <code>Document</code> was created in memory. + * @since DOM Level 3 + */ + public String getXmlEncoding(); + + /** + * An attribute specifying, as part of the <a href='http://www.w3.org/TR/2004/REC-xml-20040204#NT-XMLDecl'>XML declaration</a>, whether this document is standalone. This is <code>false</code> when + * unspecified. + * <p ><b>Note:</b> No verification is done on the value when setting + * this attribute. Applications should use + * <code>Document.normalizeDocument()</code> with the "validate" + * parameter to verify if the value matches the <a href='http://www.w3.org/TR/2004/REC-xml-20040204#sec-rmd'>validity + * constraint for standalone document declaration</a> as defined in [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]. + * @since DOM Level 3 + */ + public boolean getXmlStandalone(); + /** + * An attribute specifying, as part of the <a href='http://www.w3.org/TR/2004/REC-xml-20040204#NT-XMLDecl'>XML declaration</a>, whether this document is standalone. This is <code>false</code> when + * unspecified. + * <p ><b>Note:</b> No verification is done on the value when setting + * this attribute. Applications should use + * <code>Document.normalizeDocument()</code> with the "validate" + * parameter to verify if the value matches the <a href='http://www.w3.org/TR/2004/REC-xml-20040204#sec-rmd'>validity + * constraint for standalone document declaration</a> as defined in [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if this document does not support the + * "XML" feature. + * @since DOM Level 3 + */ + public void setXmlStandalone(boolean xmlStandalone) + throws DOMException; + + /** + * An attribute specifying, as part of the <a href='http://www.w3.org/TR/2004/REC-xml-20040204#NT-XMLDecl'>XML declaration</a>, the version number of this document. If there is no declaration and if + * this document supports the "XML" feature, the value is + * <code>"1.0"</code>. If this document does not support the "XML" + * feature, the value is always <code>null</code>. Changing this + * attribute will affect methods that check for invalid characters in + * XML names. Application should invoke + * <code>Document.normalizeDocument()</code> in order to check for + * invalid characters in the <code>Node</code>s that are already part of + * this <code>Document</code>. + * <br> DOM applications may use the + * <code>DOMImplementation.hasFeature(feature, version)</code> method + * with parameter values "XMLVersion" and "1.0" (respectively) to + * determine if an implementation supports [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]. DOM + * applications may use the same method with parameter values + * "XMLVersion" and "1.1" (respectively) to determine if an + * implementation supports [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>]. In both + * cases, in order to support XML, an implementation must also support + * the "XML" feature defined in this specification. <code>Document</code> + * objects supporting a version of the "XMLVersion" feature must not + * raise a <code>NOT_SUPPORTED_ERR</code> exception for the same version + * number when using <code>Document.xmlVersion</code>. + * @since DOM Level 3 + */ + public String getXmlVersion(); + /** + * An attribute specifying, as part of the <a href='http://www.w3.org/TR/2004/REC-xml-20040204#NT-XMLDecl'>XML declaration</a>, the version number of this document. If there is no declaration and if + * this document supports the "XML" feature, the value is + * <code>"1.0"</code>. If this document does not support the "XML" + * feature, the value is always <code>null</code>. Changing this + * attribute will affect methods that check for invalid characters in + * XML names. Application should invoke + * <code>Document.normalizeDocument()</code> in order to check for + * invalid characters in the <code>Node</code>s that are already part of + * this <code>Document</code>. + * <br> DOM applications may use the + * <code>DOMImplementation.hasFeature(feature, version)</code> method + * with parameter values "XMLVersion" and "1.0" (respectively) to + * determine if an implementation supports [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]. DOM + * applications may use the same method with parameter values + * "XMLVersion" and "1.1" (respectively) to determine if an + * implementation supports [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>]. In both + * cases, in order to support XML, an implementation must also support + * the "XML" feature defined in this specification. <code>Document</code> + * objects supporting a version of the "XMLVersion" feature must not + * raise a <code>NOT_SUPPORTED_ERR</code> exception for the same version + * number when using <code>Document.xmlVersion</code>. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if the version is set to a value that is + * not supported by this <code>Document</code> or if this document + * does not support the "XML" feature. + * @since DOM Level 3 + */ + public void setXmlVersion(String xmlVersion) + throws DOMException; + + /** + * An attribute specifying whether error checking is enforced or not. When + * set to <code>false</code>, the implementation is free to not test + * every possible error case normally defined on DOM operations, and not + * raise any <code>DOMException</code> on DOM operations or report + * errors while using <code>Document.normalizeDocument()</code>. In case + * of error, the behavior is undefined. This attribute is + * <code>true</code> by default. + * @since DOM Level 3 + */ + public boolean getStrictErrorChecking(); + /** + * An attribute specifying whether error checking is enforced or not. When + * set to <code>false</code>, the implementation is free to not test + * every possible error case normally defined on DOM operations, and not + * raise any <code>DOMException</code> on DOM operations or report + * errors while using <code>Document.normalizeDocument()</code>. In case + * of error, the behavior is undefined. This attribute is + * <code>true</code> by default. + * @since DOM Level 3 + */ + public void setStrictErrorChecking(boolean strictErrorChecking); + + /** + * The location of the document or <code>null</code> if undefined or if + * the <code>Document</code> was created using + * <code>DOMImplementation.createDocument</code>. No lexical checking is + * performed when setting this attribute; this could result in a + * <code>null</code> value returned when using <code>Node.baseURI</code> + * . + * <br> Beware that when the <code>Document</code> supports the feature + * "HTML" [<a href='http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109'>DOM Level 2 HTML</a>] + * , the href attribute of the HTML BASE element takes precedence over + * this attribute when computing <code>Node.baseURI</code>. + * @since DOM Level 3 + */ + public String getDocumentURI(); + /** + * The location of the document or <code>null</code> if undefined or if + * the <code>Document</code> was created using + * <code>DOMImplementation.createDocument</code>. No lexical checking is + * performed when setting this attribute; this could result in a + * <code>null</code> value returned when using <code>Node.baseURI</code> + * . + * <br> Beware that when the <code>Document</code> supports the feature + * "HTML" [<a href='http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109'>DOM Level 2 HTML</a>] + * , the href attribute of the HTML BASE element takes precedence over + * this attribute when computing <code>Node.baseURI</code>. + * @since DOM Level 3 + */ + public void setDocumentURI(String documentURI); + + /** + * Attempts to adopt a node from another document to this document. If + * supported, it changes the <code>ownerDocument</code> of the source + * node, its children, as well as the attached attribute nodes if there + * are any. If the source node has a parent it is first removed from the + * child list of its parent. This effectively allows moving a subtree + * from one document to another (unlike <code>importNode()</code> which + * create a copy of the source node instead of moving it). When it + * fails, applications should use <code>Document.importNode()</code> + * instead. Note that if the adopted node is already part of this + * document (i.e. the source and target document are the same), this + * method still has the effect of removing the source node from the + * child list of its parent, if any. The following list describes the + * specifics for each type of node. + * <dl> + * <dt>ATTRIBUTE_NODE</dt> + * <dd>The + * <code>ownerElement</code> attribute is set to <code>null</code> and + * the <code>specified</code> flag is set to <code>true</code> on the + * adopted <code>Attr</code>. The descendants of the source + * <code>Attr</code> are recursively adopted.</dd> + * <dt>DOCUMENT_FRAGMENT_NODE</dt> + * <dd>The + * descendants of the source node are recursively adopted.</dd> + * <dt>DOCUMENT_NODE</dt> + * <dd> + * <code>Document</code> nodes cannot be adopted.</dd> + * <dt>DOCUMENT_TYPE_NODE</dt> + * <dd> + * <code>DocumentType</code> nodes cannot be adopted.</dd> + * <dt>ELEMENT_NODE</dt> + * <dd><em>Specified</em> attribute nodes of the source element are adopted. Default attributes + * are discarded, though if the document being adopted into defines + * default attributes for this element name, those are assigned. The + * descendants of the source element are recursively adopted.</dd> + * <dt>ENTITY_NODE</dt> + * <dd> + * <code>Entity</code> nodes cannot be adopted.</dd> + * <dt>ENTITY_REFERENCE_NODE</dt> + * <dd>Only + * the <code>EntityReference</code> node itself is adopted, the + * descendants are discarded, since the source and destination documents + * might have defined the entity differently. If the document being + * imported into provides a definition for this entity name, its value + * is assigned.</dd> + * <dt>NOTATION_NODE</dt> + * <dd><code>Notation</code> nodes cannot be + * adopted.</dd> + * <dt>PROCESSING_INSTRUCTION_NODE, TEXT_NODE, CDATA_SECTION_NODE, + * COMMENT_NODE</dt> + * <dd>These nodes can all be adopted. No specifics.</dd> + * </dl> + * <p ><b>Note:</b> Since it does not create new nodes unlike the + * <code>Document.importNode()</code> method, this method does not raise + * an <code>INVALID_CHARACTER_ERR</code> exception, and applications + * should use the <code>Document.normalizeDocument()</code> method to + * check if an imported name is not an XML name according to the XML + * version in use. + * @param source The node to move into this document. + * @return The adopted node, or <code>null</code> if this operation + * fails, such as when the source node comes from a different + * implementation. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if the source node is of type + * <code>DOCUMENT</code>, <code>DOCUMENT_TYPE</code>. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised when the source node is + * readonly. + * @since DOM Level 3 + */ + public Node adoptNode(Node source) + throws DOMException; + + /** + * The configuration used when <code>Document.normalizeDocument()</code> + * is invoked. + * @since DOM Level 3 + */ + public DOMConfiguration getDomConfig(); + + /** + * This method acts as if the document was going through a save and load + * cycle, putting the document in a "normal" form. As a consequence, + * this method updates the replacement tree of + * <code>EntityReference</code> nodes and normalizes <code>Text</code> + * nodes, as defined in the method <code>Node.normalize()</code>. + * <br> Otherwise, the actual result depends on the features being set on + * the <code>Document.domConfig</code> object and governing what + * operations actually take place. Noticeably this method could also + * make the document namespace well-formed according to the algorithm + * described in , check the character normalization, remove the + * <code>CDATASection</code> nodes, etc. See + * <code>DOMConfiguration</code> for details. + * <pre>// Keep in the document + * the information defined // in the XML Information Set (Java example) + * DOMConfiguration docConfig = myDocument.getDomConfig(); + * docConfig.setParameter("infoset", Boolean.TRUE); + * myDocument.normalizeDocument();</pre> + * + * <br>Mutation events, when supported, are generated to reflect the + * changes occurring on the document. + * <br> If errors occur during the invocation of this method, such as an + * attempt to update a read-only node or a <code>Node.nodeName</code> + * contains an invalid character according to the XML version in use, + * errors or warnings (<code>DOMError.SEVERITY_ERROR</code> or + * <code>DOMError.SEVERITY_WARNING</code>) will be reported using the + * <code>DOMErrorHandler</code> object associated with the "error-handler + * " parameter. Note this method might also report fatal errors ( + * <code>DOMError.SEVERITY_FATAL_ERROR</code>) if an implementation + * cannot recover from an error. + * @since DOM Level 3 + */ + public void normalizeDocument(); + + /** + * Rename an existing node of type <code>ELEMENT_NODE</code> or + * <code>ATTRIBUTE_NODE</code>. + * <br>When possible this simply changes the name of the given node, + * otherwise this creates a new node with the specified name and + * replaces the existing node with the new node as described below. + * <br>If simply changing the name of the given node is not possible, the + * following operations are performed: a new node is created, any + * registered event listener is registered on the new node, any user + * data attached to the old node is removed from that node, the old node + * is removed from its parent if it has one, the children are moved to + * the new node, if the renamed node is an <code>Element</code> its + * attributes are moved to the new node, the new node is inserted at the + * position the old node used to have in its parent's child nodes list + * if it has one, the user data that was attached to the old node is + * attached to the new node. + * <br>When the node being renamed is an <code>Element</code> only the + * specified attributes are moved, default attributes originated from + * the DTD are updated according to the new element name. In addition, + * the implementation may update default attributes from other schemas. + * Applications should use <code>Document.normalizeDocument()</code> to + * guarantee these attributes are up-to-date. + * <br>When the node being renamed is an <code>Attr</code> that is + * attached to an <code>Element</code>, the node is first removed from + * the <code>Element</code> attributes map. Then, once renamed, either + * by modifying the existing node or creating a new one as described + * above, it is put back. + * <br>In addition, + * <ul> + * <li> a user data event <code>NODE_RENAMED</code> is fired, + * </li> + * <li> + * when the implementation supports the feature "MutationNameEvents", + * each mutation operation involved in this method fires the appropriate + * event, and in the end the event { + * <code>http://www.w3.org/2001/xml-events</code>, + * <code>DOMElementNameChanged</code>} or { + * <code>http://www.w3.org/2001/xml-events</code>, + * <code>DOMAttributeNameChanged</code>} is fired. + * </li> + * </ul> + * @param n The node to rename. + * @param namespaceURI The new namespace URI. + * @param qualifiedName The new qualified name. + * @return The renamed node. This is either the specified node or the new + * node that was created to replace the specified node. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised when the type of the specified node is + * neither <code>ELEMENT_NODE</code> nor <code>ATTRIBUTE_NODE</code>, + * or if the implementation does not support the renaming of the + * document element. + * <br>INVALID_CHARACTER_ERR: Raised if the new qualified name is not an + * XML name according to the XML version in use specified in the + * <code>Document.xmlVersion</code> attribute. + * <br>WRONG_DOCUMENT_ERR: Raised when the specified node was created + * from a different document than this document. + * <br>NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is a + * malformed qualified name, if the <code>qualifiedName</code> has a + * prefix and the <code>namespaceURI</code> is <code>null</code>, or + * if the <code>qualifiedName</code> has a prefix that is "xml" and + * the <code>namespaceURI</code> is different from "<a href='http://www.w3.org/XML/1998/namespace'> + * http://www.w3.org/XML/1998/namespace</a>" [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * . Also raised, when the node being renamed is an attribute, if the + * <code>qualifiedName</code>, or its prefix, is "xmlns" and the + * <code>namespaceURI</code> is different from "<a href='http://www.w3.org/2000/xmlns/'>http://www.w3.org/2000/xmlns/</a>". + * @since DOM Level 3 + */ + public Node renameNode(Node n, + String namespaceURI, + String qualifiedName) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/DocumentFragment.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/DocumentFragment.java new file mode 100644 index 000000000..68739154e --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/DocumentFragment.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * <code>DocumentFragment</code> is a "lightweight" or "minimal" + * <code>Document</code> object. It is very common to want to be able to + * extract a portion of a document's tree or to create a new fragment of a + * document. Imagine implementing a user command like cut or rearranging a + * document by moving fragments around. It is desirable to have an object + * which can hold such fragments and it is quite natural to use a Node for + * this purpose. While it is true that a <code>Document</code> object could + * fulfill this role, a <code>Document</code> object can potentially be a + * heavyweight object, depending on the underlying implementation. What is + * really needed for this is a very lightweight object. + * <code>DocumentFragment</code> is such an object. + * <p>Furthermore, various operations -- such as inserting nodes as children + * of another <code>Node</code> -- may take <code>DocumentFragment</code> + * objects as arguments; this results in all the child nodes of the + * <code>DocumentFragment</code> being moved to the child list of this node. + * <p>The children of a <code>DocumentFragment</code> node are zero or more + * nodes representing the tops of any sub-trees defining the structure of + * the document. <code>DocumentFragment</code> nodes do not need to be + * well-formed XML documents (although they do need to follow the rules + * imposed upon well-formed XML parsed entities, which can have multiple top + * nodes). For example, a <code>DocumentFragment</code> might have only one + * child and that child node could be a <code>Text</code> node. Such a + * structure model represents neither an HTML document nor a well-formed XML + * document. + * <p>When a <code>DocumentFragment</code> is inserted into a + * <code>Document</code> (or indeed any other <code>Node</code> that may + * take children) the children of the <code>DocumentFragment</code> and not + * the <code>DocumentFragment</code> itself are inserted into the + * <code>Node</code>. This makes the <code>DocumentFragment</code> very + * useful when the user wishes to create nodes that are siblings; the + * <code>DocumentFragment</code> acts as the parent of these nodes so that + * the user can use the standard methods from the <code>Node</code> + * interface, such as <code>Node.insertBefore</code> and + * <code>Node.appendChild</code>. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface DocumentFragment extends Node { +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/DocumentType.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/DocumentType.java new file mode 100644 index 000000000..785578171 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/DocumentType.java @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * Each <code>Document</code> has a <code>doctype</code> attribute whose value + * is either <code>null</code> or a <code>DocumentType</code> object. The + * <code>DocumentType</code> interface in the DOM Core provides an interface + * to the list of entities that are defined for the document, and little + * else because the effect of namespaces and the various XML schema efforts + * on DTD representation are not clearly understood as of this writing. + * <p>DOM Level 3 doesn't support editing <code>DocumentType</code> nodes. + * <code>DocumentType</code> nodes are read-only. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface DocumentType extends Node { + /** + * The name of DTD; i.e., the name immediately following the + * <code>DOCTYPE</code> keyword. + */ + public String getName(); + + /** + * A <code>NamedNodeMap</code> containing the general entities, both + * external and internal, declared in the DTD. Parameter entities are + * not contained. Duplicates are discarded. For example in: + * <pre><!DOCTYPE + * ex SYSTEM "ex.dtd" [ <!ENTITY foo "foo"> <!ENTITY bar + * "bar"> <!ENTITY bar "bar2"> <!ENTITY % baz "baz"> + * ]> <ex/></pre> + * the interface provides access to <code>foo</code> + * and the first declaration of <code>bar</code> but not the second + * declaration of <code>bar</code> or <code>baz</code>. Every node in + * this map also implements the <code>Entity</code> interface. + * <br>The DOM Level 2 does not support editing entities, therefore + * <code>entities</code> cannot be altered in any way. + */ + public NamedNodeMap getEntities(); + + /** + * A <code>NamedNodeMap</code> containing the notations declared in the + * DTD. Duplicates are discarded. Every node in this map also implements + * the <code>Notation</code> interface. + * <br>The DOM Level 2 does not support editing notations, therefore + * <code>notations</code> cannot be altered in any way. + */ + public NamedNodeMap getNotations(); + + /** + * The public identifier of the external subset. + * @since DOM Level 2 + */ + public String getPublicId(); + + /** + * The system identifier of the external subset. This may be an absolute + * URI or not. + * @since DOM Level 2 + */ + public String getSystemId(); + + /** + * The internal subset as a string, or <code>null</code> if there is none. + * This is does not contain the delimiting square brackets. + * <p ><b>Note:</b> The actual content returned depends on how much + * information is available to the implementation. This may vary + * depending on various parameters, including the XML processor used to + * build the document. + * @since DOM Level 2 + */ + public String getInternalSubset(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/Element.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/Element.java new file mode 100644 index 000000000..beca7fc87 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/Element.java @@ -0,0 +1,439 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>Element</code> interface represents an element in an HTML or XML + * document. Elements may have attributes associated with them; since the + * <code>Element</code> interface inherits from <code>Node</code>, the + * generic <code>Node</code> interface attribute <code>attributes</code> may + * be used to retrieve the set of all attributes for an element. There are + * methods on the <code>Element</code> interface to retrieve either an + * <code>Attr</code> object by name or an attribute value by name. In XML, + * where an attribute value may contain entity references, an + * <code>Attr</code> object should be retrieved to examine the possibly + * fairly complex sub-tree representing the attribute value. On the other + * hand, in HTML, where all attributes have simple string values, methods to + * directly access an attribute value can safely be used as a convenience. + * <p ><b>Note:</b> In DOM Level 2, the method <code>normalize</code> is + * inherited from the <code>Node</code> interface where it was moved. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface Element extends Node { + /** + * The name of the element. If <code>Node.localName</code> is different + * from <code>null</code>, this attribute is a qualified name. For + * example, in: + * <pre> <elementExample id="demo"> ... + * </elementExample> , </pre> + * <code>tagName</code> has the value + * <code>"elementExample"</code>. Note that this is case-preserving in + * XML, as are all of the operations of the DOM. The HTML DOM returns + * the <code>tagName</code> of an HTML element in the canonical + * uppercase form, regardless of the case in the source HTML document. + */ + public String getTagName(); + + /** + * Retrieves an attribute value by name. + * @param name The name of the attribute to retrieve. + * @return The <code>Attr</code> value as a string, or the empty string + * if that attribute does not have a specified or default value. + */ + public String getAttribute(String name); + + /** + * Adds a new attribute. If an attribute with that name is already present + * in the element, its value is changed to be that of the value + * parameter. This value is a simple string; it is not parsed as it is + * being set. So any markup (such as syntax to be recognized as an + * entity reference) is treated as literal text, and needs to be + * appropriately escaped by the implementation when it is written out. + * In order to assign an attribute value that contains entity + * references, the user must create an <code>Attr</code> node plus any + * <code>Text</code> and <code>EntityReference</code> nodes, build the + * appropriate subtree, and use <code>setAttributeNode</code> to assign + * it as the value of an attribute. + * <br>To set an attribute with a qualified name and namespace URI, use + * the <code>setAttributeNS</code> method. + * @param name The name of the attribute to create or alter. + * @param value Value to set in string form. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified name is not an XML + * name according to the XML version in use specified in the + * <code>Document.xmlVersion</code> attribute. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public void setAttribute(String name, + String value) + throws DOMException; + + /** + * Removes an attribute by name. If a default value for the removed + * attribute is defined in the DTD, a new attribute immediately appears + * with the default value as well as the corresponding namespace URI, + * local name, and prefix when applicable. The implementation may handle + * default values from other schemas similarly but applications should + * use <code>Document.normalizeDocument()</code> to guarantee this + * information is up-to-date. + * <br>If no attribute with this name is found, this method has no effect. + * <br>To remove an attribute by local name and namespace URI, use the + * <code>removeAttributeNS</code> method. + * @param name The name of the attribute to remove. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public void removeAttribute(String name) + throws DOMException; + + /** + * Retrieves an attribute node by name. + * <br>To retrieve an attribute node by qualified name and namespace URI, + * use the <code>getAttributeNodeNS</code> method. + * @param name The name (<code>nodeName</code>) of the attribute to + * retrieve. + * @return The <code>Attr</code> node with the specified name ( + * <code>nodeName</code>) or <code>null</code> if there is no such + * attribute. + */ + public Attr getAttributeNode(String name); + + /** + * Adds a new attribute node. If an attribute with that name ( + * <code>nodeName</code>) is already present in the element, it is + * replaced by the new one. Replacing an attribute node by itself has no + * effect. + * <br>To add a new attribute node with a qualified name and namespace + * URI, use the <code>setAttributeNodeNS</code> method. + * @param newAttr The <code>Attr</code> node to add to the attribute list. + * @return If the <code>newAttr</code> attribute replaces an existing + * attribute, the replaced <code>Attr</code> node is returned, + * otherwise <code>null</code> is returned. + * @exception DOMException + * WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a + * different document than the one that created the element. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + * <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an + * attribute of another <code>Element</code> object. The DOM user must + * explicitly clone <code>Attr</code> nodes to re-use them in other + * elements. + */ + public Attr setAttributeNode(Attr newAttr) + throws DOMException; + + /** + * Removes the specified attribute node. If a default value for the + * removed <code>Attr</code> node is defined in the DTD, a new node + * immediately appears with the default value as well as the + * corresponding namespace URI, local name, and prefix when applicable. + * The implementation may handle default values from other schemas + * similarly but applications should use + * <code>Document.normalizeDocument()</code> to guarantee this + * information is up-to-date. + * @param oldAttr The <code>Attr</code> node to remove from the attribute + * list. + * @return The <code>Attr</code> node that was removed. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + * <br>NOT_FOUND_ERR: Raised if <code>oldAttr</code> is not an attribute + * of the element. + */ + public Attr removeAttributeNode(Attr oldAttr) + throws DOMException; + + /** + * Returns a <code>NodeList</code> of all descendant <code>Elements</code> + * with a given tag name, in document order. + * @param name The name of the tag to match on. The special value "*" + * matches all tags. + * @return A list of matching <code>Element</code> nodes. + */ + public NodeList getElementsByTagName(String name); + + /** + * Retrieves an attribute value by local name and namespace URI. + * <br>Per [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , applications must use the value <code>null</code> as the + * <code>namespaceURI</code> parameter for methods if they wish to have + * no namespace. + * @param namespaceURI The namespace URI of the attribute to retrieve. + * @param localName The local name of the attribute to retrieve. + * @return The <code>Attr</code> value as a string, or the empty string + * if that attribute does not have a specified or default value. + * @exception DOMException + * NOT_SUPPORTED_ERR: May be raised if the implementation does not + * support the feature <code>"XML"</code> and the language exposed + * through the Document does not support XML Namespaces (such as [<a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01</a>]). + * @since DOM Level 2 + */ + public String getAttributeNS(String namespaceURI, + String localName) + throws DOMException; + + /** + * Adds a new attribute. If an attribute with the same local name and + * namespace URI is already present on the element, its prefix is + * changed to be the prefix part of the <code>qualifiedName</code>, and + * its value is changed to be the <code>value</code> parameter. This + * value is a simple string; it is not parsed as it is being set. So any + * markup (such as syntax to be recognized as an entity reference) is + * treated as literal text, and needs to be appropriately escaped by the + * implementation when it is written out. In order to assign an + * attribute value that contains entity references, the user must create + * an <code>Attr</code> node plus any <code>Text</code> and + * <code>EntityReference</code> nodes, build the appropriate subtree, + * and use <code>setAttributeNodeNS</code> or + * <code>setAttributeNode</code> to assign it as the value of an + * attribute. + * <br>Per [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , applications must use the value <code>null</code> as the + * <code>namespaceURI</code> parameter for methods if they wish to have + * no namespace. + * @param namespaceURI The namespace URI of the attribute to create or + * alter. + * @param qualifiedName The qualified name of the attribute to create or + * alter. + * @param value The value to set in string form. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified qualified name is not + * an XML name according to the XML version in use specified in the + * <code>Document.xmlVersion</code> attribute. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + * <br>NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is + * malformed per the Namespaces in XML specification, if the + * <code>qualifiedName</code> has a prefix and the + * <code>namespaceURI</code> is <code>null</code>, if the + * <code>qualifiedName</code> has a prefix that is "xml" and the + * <code>namespaceURI</code> is different from "<a href='http://www.w3.org/XML/1998/namespace'> + * http://www.w3.org/XML/1998/namespace</a>", if the <code>qualifiedName</code> or its prefix is "xmlns" and the + * <code>namespaceURI</code> is different from "<a href='http://www.w3.org/2000/xmlns/'>http://www.w3.org/2000/xmlns/</a>", or if the <code>namespaceURI</code> is "<a href='http://www.w3.org/2000/xmlns/'>http://www.w3.org/2000/xmlns/</a>" and neither the <code>qualifiedName</code> nor its prefix is "xmlns". + * <br>NOT_SUPPORTED_ERR: May be raised if the implementation does not + * support the feature <code>"XML"</code> and the language exposed + * through the Document does not support XML Namespaces (such as [<a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01</a>]). + * @since DOM Level 2 + */ + public void setAttributeNS(String namespaceURI, + String qualifiedName, + String value) + throws DOMException; + + /** + * Removes an attribute by local name and namespace URI. If a default + * value for the removed attribute is defined in the DTD, a new + * attribute immediately appears with the default value as well as the + * corresponding namespace URI, local name, and prefix when applicable. + * The implementation may handle default values from other schemas + * similarly but applications should use + * <code>Document.normalizeDocument()</code> to guarantee this + * information is up-to-date. + * <br>If no attribute with this local name and namespace URI is found, + * this method has no effect. + * <br>Per [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , applications must use the value <code>null</code> as the + * <code>namespaceURI</code> parameter for methods if they wish to have + * no namespace. + * @param namespaceURI The namespace URI of the attribute to remove. + * @param localName The local name of the attribute to remove. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + * <br>NOT_SUPPORTED_ERR: May be raised if the implementation does not + * support the feature <code>"XML"</code> and the language exposed + * through the Document does not support XML Namespaces (such as [<a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01</a>]). + * @since DOM Level 2 + */ + public void removeAttributeNS(String namespaceURI, + String localName) + throws DOMException; + + /** + * Retrieves an <code>Attr</code> node by local name and namespace URI. + * <br>Per [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , applications must use the value <code>null</code> as the + * <code>namespaceURI</code> parameter for methods if they wish to have + * no namespace. + * @param namespaceURI The namespace URI of the attribute to retrieve. + * @param localName The local name of the attribute to retrieve. + * @return The <code>Attr</code> node with the specified attribute local + * name and namespace URI or <code>null</code> if there is no such + * attribute. + * @exception DOMException + * NOT_SUPPORTED_ERR: May be raised if the implementation does not + * support the feature <code>"XML"</code> and the language exposed + * through the Document does not support XML Namespaces (such as [<a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01</a>]). + * @since DOM Level 2 + */ + public Attr getAttributeNodeNS(String namespaceURI, + String localName) + throws DOMException; + + /** + * Adds a new attribute. If an attribute with that local name and that + * namespace URI is already present in the element, it is replaced by + * the new one. Replacing an attribute node by itself has no effect. + * <br>Per [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , applications must use the value <code>null</code> as the + * <code>namespaceURI</code> parameter for methods if they wish to have + * no namespace. + * @param newAttr The <code>Attr</code> node to add to the attribute list. + * @return If the <code>newAttr</code> attribute replaces an existing + * attribute with the same local name and namespace URI, the replaced + * <code>Attr</code> node is returned, otherwise <code>null</code> is + * returned. + * @exception DOMException + * WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a + * different document than the one that created the element. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + * <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an + * attribute of another <code>Element</code> object. The DOM user must + * explicitly clone <code>Attr</code> nodes to re-use them in other + * elements. + * <br>NOT_SUPPORTED_ERR: May be raised if the implementation does not + * support the feature <code>"XML"</code> and the language exposed + * through the Document does not support XML Namespaces (such as [<a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01</a>]). + * @since DOM Level 2 + */ + public Attr setAttributeNodeNS(Attr newAttr) + throws DOMException; + + /** + * Returns a <code>NodeList</code> of all the descendant + * <code>Elements</code> with a given local name and namespace URI in + * document order. + * @param namespaceURI The namespace URI of the elements to match on. The + * special value "*" matches all namespaces. + * @param localName The local name of the elements to match on. The + * special value "*" matches all local names. + * @return A new <code>NodeList</code> object containing all the matched + * <code>Elements</code>. + * @exception DOMException + * NOT_SUPPORTED_ERR: May be raised if the implementation does not + * support the feature <code>"XML"</code> and the language exposed + * through the Document does not support XML Namespaces (such as [<a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01</a>]). + * @since DOM Level 2 + */ + public NodeList getElementsByTagNameNS(String namespaceURI, + String localName) + throws DOMException; + + /** + * Returns <code>true</code> when an attribute with a given name is + * specified on this element or has a default value, <code>false</code> + * otherwise. + * @param name The name of the attribute to look for. + * @return <code>true</code> if an attribute with the given name is + * specified on this element or has a default value, <code>false</code> + * otherwise. + * @since DOM Level 2 + */ + public boolean hasAttribute(String name); + + /** + * Returns <code>true</code> when an attribute with a given local name and + * namespace URI is specified on this element or has a default value, + * <code>false</code> otherwise. + * <br>Per [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , applications must use the value <code>null</code> as the + * <code>namespaceURI</code> parameter for methods if they wish to have + * no namespace. + * @param namespaceURI The namespace URI of the attribute to look for. + * @param localName The local name of the attribute to look for. + * @return <code>true</code> if an attribute with the given local name + * and namespace URI is specified or has a default value on this + * element, <code>false</code> otherwise. + * @exception DOMException + * NOT_SUPPORTED_ERR: May be raised if the implementation does not + * support the feature <code>"XML"</code> and the language exposed + * through the Document does not support XML Namespaces (such as [<a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01</a>]). + * @since DOM Level 2 + */ + public boolean hasAttributeNS(String namespaceURI, + String localName) + throws DOMException; + + /** + * The type information associated with this element. + * @since DOM Level 3 + */ + public TypeInfo getSchemaTypeInfo(); + + /** + * If the parameter <code>isId</code> is <code>true</code>, this method + * declares the specified attribute to be a user-determined ID attribute + * . This affects the value of <code>Attr.isId</code> and the behavior + * of <code>Document.getElementById</code>, but does not change any + * schema that may be in use, in particular this does not affect the + * <code>Attr.schemaTypeInfo</code> of the specified <code>Attr</code> + * node. Use the value <code>false</code> for the parameter + * <code>isId</code> to undeclare an attribute for being a + * user-determined ID attribute. + * <br> To specify an attribute by local name and namespace URI, use the + * <code>setIdAttributeNS</code> method. + * @param name The name of the attribute. + * @param isId Whether the attribute is a of type ID. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + * <br>NOT_FOUND_ERR: Raised if the specified node is not an attribute + * of this element. + * @since DOM Level 3 + */ + public void setIdAttribute(String name, + boolean isId) + throws DOMException; + + /** + * If the parameter <code>isId</code> is <code>true</code>, this method + * declares the specified attribute to be a user-determined ID attribute + * . This affects the value of <code>Attr.isId</code> and the behavior + * of <code>Document.getElementById</code>, but does not change any + * schema that may be in use, in particular this does not affect the + * <code>Attr.schemaTypeInfo</code> of the specified <code>Attr</code> + * node. Use the value <code>false</code> for the parameter + * <code>isId</code> to undeclare an attribute for being a + * user-determined ID attribute. + * @param namespaceURI The namespace URI of the attribute. + * @param localName The local name of the attribute. + * @param isId Whether the attribute is a of type ID. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + * <br>NOT_FOUND_ERR: Raised if the specified node is not an attribute + * of this element. + * @since DOM Level 3 + */ + public void setIdAttributeNS(String namespaceURI, + String localName, + boolean isId) + throws DOMException; + + /** + * If the parameter <code>isId</code> is <code>true</code>, this method + * declares the specified attribute to be a user-determined ID attribute + * . This affects the value of <code>Attr.isId</code> and the behavior + * of <code>Document.getElementById</code>, but does not change any + * schema that may be in use, in particular this does not affect the + * <code>Attr.schemaTypeInfo</code> of the specified <code>Attr</code> + * node. Use the value <code>false</code> for the parameter + * <code>isId</code> to undeclare an attribute for being a + * user-determined ID attribute. + * @param idAttr The attribute node. + * @param isId Whether the attribute is a of type ID. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + * <br>NOT_FOUND_ERR: Raised if the specified node is not an attribute + * of this element. + * @since DOM Level 3 + */ + public void setIdAttributeNode(Attr idAttr, + boolean isId) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/Entity.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/Entity.java new file mode 100644 index 000000000..fc89248d9 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/Entity.java @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * This interface represents a known entity, either parsed or unparsed, in an + * XML document. Note that this models the entity itself <em>not</em> the entity declaration. + * <p>The <code>nodeName</code> attribute that is inherited from + * <code>Node</code> contains the name of the entity. + * <p>An XML processor may choose to completely expand entities before the + * structure model is passed to the DOM; in this case there will be no + * <code>EntityReference</code> nodes in the document tree. + * <p>XML does not mandate that a non-validating XML processor read and + * process entity declarations made in the external subset or declared in + * parameter entities. This means that parsed entities declared in the + * external subset need not be expanded by some classes of applications, and + * that the replacement text of the entity may not be available. When the <a href='http://www.w3.org/TR/2004/REC-xml-20040204#intern-replacement'> + * replacement text</a> is available, the corresponding <code>Entity</code> node's child list + * represents the structure of that replacement value. Otherwise, the child + * list is empty. + * <p>DOM Level 3 does not support editing <code>Entity</code> nodes; if a + * user wants to make changes to the contents of an <code>Entity</code>, + * every related <code>EntityReference</code> node has to be replaced in the + * structure model by a clone of the <code>Entity</code>'s contents, and + * then the desired changes must be made to each of those clones instead. + * <code>Entity</code> nodes and all their descendants are readonly. + * <p>An <code>Entity</code> node does not have any parent. + * <p ><b>Note:</b> If the entity contains an unbound namespace prefix, the + * <code>namespaceURI</code> of the corresponding node in the + * <code>Entity</code> node subtree is <code>null</code>. The same is true + * for <code>EntityReference</code> nodes that refer to this entity, when + * they are created using the <code>createEntityReference</code> method of + * the <code>Document</code> interface. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface Entity extends Node { + /** + * The public identifier associated with the entity if specified, and + * <code>null</code> otherwise. + */ + public String getPublicId(); + + /** + * The system identifier associated with the entity if specified, and + * <code>null</code> otherwise. This may be an absolute URI or not. + */ + public String getSystemId(); + + /** + * For unparsed entities, the name of the notation for the entity. For + * parsed entities, this is <code>null</code>. + */ + public String getNotationName(); + + /** + * An attribute specifying the encoding used for this entity at the time + * of parsing, when it is an external parsed entity. This is + * <code>null</code> if it an entity from the internal subset or if it + * is not known. + * @since DOM Level 3 + */ + public String getInputEncoding(); + + /** + * An attribute specifying, as part of the text declaration, the encoding + * of this entity, when it is an external parsed entity. This is + * <code>null</code> otherwise. + * @since DOM Level 3 + */ + public String getXmlEncoding(); + + /** + * An attribute specifying, as part of the text declaration, the version + * number of this entity, when it is an external parsed entity. This is + * <code>null</code> otherwise. + * @since DOM Level 3 + */ + public String getXmlVersion(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/EntityReference.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/EntityReference.java new file mode 100644 index 000000000..66cc66168 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/EntityReference.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * <code>EntityReference</code> nodes may be used to represent an entity + * reference in the tree. Note that character references and references to + * predefined entities are considered to be expanded by the HTML or XML + * processor so that characters are represented by their Unicode equivalent + * rather than by an entity reference. Moreover, the XML processor may + * completely expand references to entities while building the + * <code>Document</code>, instead of providing <code>EntityReference</code> + * nodes. If it does provide such nodes, then for an + * <code>EntityReference</code> node that represents a reference to a known + * entity an <code>Entity</code> exists, and the subtree of the + * <code>EntityReference</code> node is a copy of the <code>Entity</code> + * node subtree. However, the latter may not be true when an entity contains + * an unbound namespace prefix. In such a case, because the namespace prefix + * resolution depends on where the entity reference is, the descendants of + * the <code>EntityReference</code> node may be bound to different namespace + * URIs. When an <code>EntityReference</code> node represents a reference to + * an unknown entity, the node has no children and its replacement value, + * when used by <code>Attr.value</code> for example, is empty. + * <p>As for <code>Entity</code> nodes, <code>EntityReference</code> nodes and + * all their descendants are readonly. + * <p ><b>Note:</b> <code>EntityReference</code> nodes may cause element + * content and attribute value normalization problems when, such as in XML + * 1.0 and XML Schema, the normalization is performed after entity reference + * are expanded. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface EntityReference extends Node { +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/NameList.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/NameList.java new file mode 100644 index 000000000..e94433f98 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/NameList.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>NameList</code> interface provides the abstraction of an ordered + * collection of parallel pairs of name and namespace values (which could be + * null values), without defining or constraining how this collection is + * implemented. The items in the <code>NameList</code> are accessible via an + * integral index, starting from 0. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + * @since DOM Level 3 + */ +public interface NameList { + /** + * Returns the <code>index</code>th name item in the collection. + * @param index Index into the collection. + * @return The name at the <code>index</code>th position in the + * <code>NameList</code>, or <code>null</code> if there is no name for + * the specified index or if the index is out of range. + */ + public String getName(int index); + + /** + * Returns the <code>index</code>th namespaceURI item in the collection. + * @param index Index into the collection. + * @return The namespace URI at the <code>index</code>th position in the + * <code>NameList</code>, or <code>null</code> if there is no name for + * the specified index or if the index is out of range. + */ + public String getNamespaceURI(int index); + + /** + * The number of pairs (name and namespaceURI) in the list. The range of + * valid child node indices is 0 to <code>length-1</code> inclusive. + */ + public int getLength(); + + /** + * Test if a name is part of this <code>NameList</code>. + * @param str The name to look for. + * @return <code>true</code> if the name has been found, + * <code>false</code> otherwise. + */ + public boolean contains(String str); + + /** + * Test if the pair namespaceURI/name is part of this + * <code>NameList</code>. + * @param namespaceURI The namespace URI to look for. + * @param name The name to look for. + * @return <code>true</code> if the pair namespaceURI/name has been + * found, <code>false</code> otherwise. + */ + public boolean containsNS(String namespaceURI, + String name); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/NamedNodeMap.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/NamedNodeMap.java new file mode 100644 index 000000000..d74ace7a3 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/NamedNodeMap.java @@ -0,0 +1,183 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * Objects implementing the <code>NamedNodeMap</code> interface are used to + * represent collections of nodes that can be accessed by name. Note that + * <code>NamedNodeMap</code> does not inherit from <code>NodeList</code>; + * <code>NamedNodeMaps</code> are not maintained in any particular order. + * Objects contained in an object implementing <code>NamedNodeMap</code> may + * also be accessed by an ordinal index, but this is simply to allow + * convenient enumeration of the contents of a <code>NamedNodeMap</code>, + * and does not imply that the DOM specifies an order to these Nodes. + * <p><code>NamedNodeMap</code> objects in the DOM are live. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface NamedNodeMap { + /** + * Retrieves a node specified by name. + * @param name The <code>nodeName</code> of a node to retrieve. + * @return A <code>Node</code> (of any type) with the specified + * <code>nodeName</code>, or <code>null</code> if it does not identify + * any node in this map. + */ + public Node getNamedItem(String name); + + /** + * Adds a node using its <code>nodeName</code> attribute. If a node with + * that name is already present in this map, it is replaced by the new + * one. Replacing a node by itself has no effect. + * <br>As the <code>nodeName</code> attribute is used to derive the name + * which the node must be stored under, multiple nodes of certain types + * (those that have a "special" string value) cannot be stored as the + * names would clash. This is seen as preferable to allowing nodes to be + * aliased. + * @param arg A node to store in this map. The node will later be + * accessible using the value of its <code>nodeName</code> attribute. + * @return If the new <code>Node</code> replaces an existing node the + * replaced <code>Node</code> is returned, otherwise <code>null</code> + * is returned. + * @exception DOMException + * WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a + * different document than the one that created this map. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. + * <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an + * <code>Attr</code> that is already an attribute of another + * <code>Element</code> object. The DOM user must explicitly clone + * <code>Attr</code> nodes to re-use them in other elements. + * <br>HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node + * doesn't belong in this NamedNodeMap. Examples would include trying + * to insert something other than an Attr node into an Element's map + * of attributes, or a non-Entity node into the DocumentType's map of + * Entities. + */ + public Node setNamedItem(Node arg) + throws DOMException; + + /** + * Removes a node specified by name. When this map contains the attributes + * attached to an element, if the removed attribute is known to have a + * default value, an attribute immediately appears containing the + * default value as well as the corresponding namespace URI, local name, + * and prefix when applicable. + * @param name The <code>nodeName</code> of the node to remove. + * @return The node removed from this map if a node with such a name + * exists. + * @exception DOMException + * NOT_FOUND_ERR: Raised if there is no node named <code>name</code> in + * this map. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. + */ + public Node removeNamedItem(String name) + throws DOMException; + + /** + * Returns the <code>index</code>th item in the map. If <code>index</code> + * is greater than or equal to the number of nodes in this map, this + * returns <code>null</code>. + * @param index Index into this map. + * @return The node at the <code>index</code>th position in the map, or + * <code>null</code> if that is not a valid index. + */ + public Node item(int index); + + /** + * The number of nodes in this map. The range of valid child node indices + * is <code>0</code> to <code>length-1</code> inclusive. + */ + public int getLength(); + + /** + * Retrieves a node specified by local name and namespace URI. + * <br>Per [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , applications must use the value null as the namespaceURI parameter + * for methods if they wish to have no namespace. + * @param namespaceURI The namespace URI of the node to retrieve. + * @param localName The local name of the node to retrieve. + * @return A <code>Node</code> (of any type) with the specified local + * name and namespace URI, or <code>null</code> if they do not + * identify any node in this map. + * @exception DOMException + * NOT_SUPPORTED_ERR: May be raised if the implementation does not + * support the feature "XML" and the language exposed through the + * Document does not support XML Namespaces (such as [<a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01</a>]). + * @since DOM Level 2 + */ + public Node getNamedItemNS(String namespaceURI, + String localName) + throws DOMException; + + /** + * Adds a node using its <code>namespaceURI</code> and + * <code>localName</code>. If a node with that namespace URI and that + * local name is already present in this map, it is replaced by the new + * one. Replacing a node by itself has no effect. + * <br>Per [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , applications must use the value null as the namespaceURI parameter + * for methods if they wish to have no namespace. + * @param arg A node to store in this map. The node will later be + * accessible using the value of its <code>namespaceURI</code> and + * <code>localName</code> attributes. + * @return If the new <code>Node</code> replaces an existing node the + * replaced <code>Node</code> is returned, otherwise <code>null</code> + * is returned. + * @exception DOMException + * WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a + * different document than the one that created this map. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. + * <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an + * <code>Attr</code> that is already an attribute of another + * <code>Element</code> object. The DOM user must explicitly clone + * <code>Attr</code> nodes to re-use them in other elements. + * <br>HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node + * doesn't belong in this NamedNodeMap. Examples would include trying + * to insert something other than an Attr node into an Element's map + * of attributes, or a non-Entity node into the DocumentType's map of + * Entities. + * <br>NOT_SUPPORTED_ERR: May be raised if the implementation does not + * support the feature "XML" and the language exposed through the + * Document does not support XML Namespaces (such as [<a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01</a>]). + * @since DOM Level 2 + */ + public Node setNamedItemNS(Node arg) + throws DOMException; + + /** + * Removes a node specified by local name and namespace URI. A removed + * attribute may be known to have a default value when this map contains + * the attributes attached to an element, as returned by the attributes + * attribute of the <code>Node</code> interface. If so, an attribute + * immediately appears containing the default value as well as the + * corresponding namespace URI, local name, and prefix when applicable. + * <br>Per [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * , applications must use the value null as the namespaceURI parameter + * for methods if they wish to have no namespace. + * @param namespaceURI The namespace URI of the node to remove. + * @param localName The local name of the node to remove. + * @return The node removed from this map if a node with such a local + * name and namespace URI exists. + * @exception DOMException + * NOT_FOUND_ERR: Raised if there is no node with the specified + * <code>namespaceURI</code> and <code>localName</code> in this map. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. + * <br>NOT_SUPPORTED_ERR: May be raised if the implementation does not + * support the feature "XML" and the language exposed through the + * Document does not support XML Namespaces (such as [<a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01</a>]). + * @since DOM Level 2 + */ + public Node removeNamedItemNS(String namespaceURI, + String localName) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/Node.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/Node.java new file mode 100644 index 000000000..c9a6d0098 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/Node.java @@ -0,0 +1,900 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>Node</code> interface is the primary datatype for the entire + * Document Object Model. It represents a single node in the document tree. + * While all objects implementing the <code>Node</code> interface expose + * methods for dealing with children, not all objects implementing the + * <code>Node</code> interface may have children. For example, + * <code>Text</code> nodes may not have children, and adding children to + * such nodes results in a <code>DOMException</code> being raised. + * <p>The attributes <code>nodeName</code>, <code>nodeValue</code> and + * <code>attributes</code> are included as a mechanism to get at node + * information without casting down to the specific derived interface. In + * cases where there is no obvious mapping of these attributes for a + * specific <code>nodeType</code> (e.g., <code>nodeValue</code> for an + * <code>Element</code> or <code>attributes</code> for a <code>Comment</code> + * ), this returns <code>null</code>. Note that the specialized interfaces + * may contain additional and more convenient mechanisms to get and set the + * relevant information. + * <p>The values of <code>nodeName</code>, + * <code>nodeValue</code>, and <code>attributes</code> vary according to the + * node type as follows: + * <table border='1' cellpadding='3'> + * <tr> + * <th>Interface</th> + * <th>nodeName</th> + * <th>nodeValue</th> + * <th>attributes</th> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'> + * <code>Attr</code></td> + * <td valign='top' rowspan='1' colspan='1'>same as <code>Attr.name</code></td> + * <td valign='top' rowspan='1' colspan='1'>same as + * <code>Attr.value</code></td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>CDATASection</code></td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>"#cdata-section"</code></td> + * <td valign='top' rowspan='1' colspan='1'>same as <code>CharacterData.data</code>, the + * content of the CDATA Section</td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Comment</code></td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>"#comment"</code></td> + * <td valign='top' rowspan='1' colspan='1'>same as <code>CharacterData.data</code>, the + * content of the comment</td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Document</code></td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>"#document"</code></td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'> + * <code>DocumentFragment</code></td> + * <td valign='top' rowspan='1' colspan='1'><code>"#document-fragment"</code></td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>null</code></td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>DocumentType</code></td> + * <td valign='top' rowspan='1' colspan='1'>same as + * <code>DocumentType.name</code></td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'> + * <code>Element</code></td> + * <td valign='top' rowspan='1' colspan='1'>same as <code>Element.tagName</code></td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>NamedNodeMap</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Entity</code></td> + * <td valign='top' rowspan='1' colspan='1'>entity name</td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>null</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>EntityReference</code></td> + * <td valign='top' rowspan='1' colspan='1'>name of entity referenced</td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>null</code></td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Notation</code></td> + * <td valign='top' rowspan='1' colspan='1'>notation name</td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>null</code></td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>ProcessingInstruction</code></td> + * <td valign='top' rowspan='1' colspan='1'>same + * as <code>ProcessingInstruction.target</code></td> + * <td valign='top' rowspan='1' colspan='1'>same as + * <code>ProcessingInstruction.data</code></td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'><code>Text</code></td> + * <td valign='top' rowspan='1' colspan='1'> + * <code>"#text"</code></td> + * <td valign='top' rowspan='1' colspan='1'>same as <code>CharacterData.data</code>, the content + * of the text node</td> + * <td valign='top' rowspan='1' colspan='1'><code>null</code></td> + * </tr> + * </table> + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface Node { + // NodeType + /** + * The node is an <code>Element</code>. + */ + public static final short ELEMENT_NODE = 1; + /** + * The node is an <code>Attr</code>. + */ + public static final short ATTRIBUTE_NODE = 2; + /** + * The node is a <code>Text</code> node. + */ + public static final short TEXT_NODE = 3; + /** + * The node is a <code>CDATASection</code>. + */ + public static final short CDATA_SECTION_NODE = 4; + /** + * The node is an <code>EntityReference</code>. + */ + public static final short ENTITY_REFERENCE_NODE = 5; + /** + * The node is an <code>Entity</code>. + */ + public static final short ENTITY_NODE = 6; + /** + * The node is a <code>ProcessingInstruction</code>. + */ + public static final short PROCESSING_INSTRUCTION_NODE = 7; + /** + * The node is a <code>Comment</code>. + */ + public static final short COMMENT_NODE = 8; + /** + * The node is a <code>Document</code>. + */ + public static final short DOCUMENT_NODE = 9; + /** + * The node is a <code>DocumentType</code>. + */ + public static final short DOCUMENT_TYPE_NODE = 10; + /** + * The node is a <code>DocumentFragment</code>. + */ + public static final short DOCUMENT_FRAGMENT_NODE = 11; + /** + * The node is a <code>Notation</code>. + */ + public static final short NOTATION_NODE = 12; + + /** + * The name of this node, depending on its type; see the table above. + */ + public String getNodeName(); + + /** + * The value of this node, depending on its type; see the table above. + * When it is defined to be <code>null</code>, setting it has no effect, + * including if the node is read-only. + * @exception DOMException + * DOMSTRING_SIZE_ERR: Raised when it would return more characters than + * fit in a <code>DOMString</code> variable on the implementation + * platform. + */ + public String getNodeValue() + throws DOMException; + /** + * The value of this node, depending on its type; see the table above. + * When it is defined to be <code>null</code>, setting it has no effect, + * including if the node is read-only. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly and if + * it is not defined to be <code>null</code>. + */ + public void setNodeValue(String nodeValue) + throws DOMException; + + /** + * A code representing the type of the underlying object, as defined above. + */ + public short getNodeType(); + + /** + * The parent of this node. All nodes, except <code>Attr</code>, + * <code>Document</code>, <code>DocumentFragment</code>, + * <code>Entity</code>, and <code>Notation</code> may have a parent. + * However, if a node has just been created and not yet added to the + * tree, or if it has been removed from the tree, this is + * <code>null</code>. + */ + public Node getParentNode(); + + /** + * A <code>NodeList</code> that contains all children of this node. If + * there are no children, this is a <code>NodeList</code> containing no + * nodes. + */ + public NodeList getChildNodes(); + + /** + * The first child of this node. If there is no such node, this returns + * <code>null</code>. + */ + public Node getFirstChild(); + + /** + * The last child of this node. If there is no such node, this returns + * <code>null</code>. + */ + public Node getLastChild(); + + /** + * The node immediately preceding this node. If there is no such node, + * this returns <code>null</code>. + */ + public Node getPreviousSibling(); + + /** + * The node immediately following this node. If there is no such node, + * this returns <code>null</code>. + */ + public Node getNextSibling(); + + /** + * A <code>NamedNodeMap</code> containing the attributes of this node (if + * it is an <code>Element</code>) or <code>null</code> otherwise. + */ + public NamedNodeMap getAttributes(); + + /** + * The <code>Document</code> object associated with this node. This is + * also the <code>Document</code> object used to create new nodes. When + * this node is a <code>Document</code> or a <code>DocumentType</code> + * which is not used with any <code>Document</code> yet, this is + * <code>null</code>. + * @version DOM Level 2 + */ + public Document getOwnerDocument(); + + /** + * Inserts the node <code>newChild</code> before the existing child node + * <code>refChild</code>. If <code>refChild</code> is <code>null</code>, + * insert <code>newChild</code> at the end of the list of children. + * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object, + * all of its children are inserted, in the same order, before + * <code>refChild</code>. If the <code>newChild</code> is already in the + * tree, it is first removed. + * <p ><b>Note:</b> Inserting a node before itself is implementation + * dependent. + * @param newChild The node to insert. + * @param refChild The reference node, i.e., the node before which the + * new node must be inserted. + * @return The node being inserted. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not + * allow children of the type of the <code>newChild</code> node, or if + * the node to insert is one of this node's ancestors or this node + * itself, or if this node is of type <code>Document</code> and the + * DOM application attempts to insert a second + * <code>DocumentType</code> or <code>Element</code> node. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created + * from a different document than the one that created this node. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or + * if the parent of the node being inserted is readonly. + * <br>NOT_FOUND_ERR: Raised if <code>refChild</code> is not a child of + * this node. + * <br>NOT_SUPPORTED_ERR: if this node is of type <code>Document</code>, + * this exception might be raised if the DOM implementation doesn't + * support the insertion of a <code>DocumentType</code> or + * <code>Element</code> node. + * @version DOM Level 3 + */ + public Node insertBefore(Node newChild, + Node refChild) + throws DOMException; + + /** + * Replaces the child node <code>oldChild</code> with <code>newChild</code> + * in the list of children, and returns the <code>oldChild</code> node. + * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object, + * <code>oldChild</code> is replaced by all of the + * <code>DocumentFragment</code> children, which are inserted in the + * same order. If the <code>newChild</code> is already in the tree, it + * is first removed. + * <p ><b>Note:</b> Replacing a node with itself is implementation + * dependent. + * @param newChild The new node to put in the child list. + * @param oldChild The node being replaced in the list. + * @return The node replaced. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not + * allow children of the type of the <code>newChild</code> node, or if + * the node to put in is one of this node's ancestors or this node + * itself, or if this node is of type <code>Document</code> and the + * result of the replacement operation would add a second + * <code>DocumentType</code> or <code>Element</code> on the + * <code>Document</code> node. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created + * from a different document than the one that created this node. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the parent of + * the new node is readonly. + * <br>NOT_FOUND_ERR: Raised if <code>oldChild</code> is not a child of + * this node. + * <br>NOT_SUPPORTED_ERR: if this node is of type <code>Document</code>, + * this exception might be raised if the DOM implementation doesn't + * support the replacement of the <code>DocumentType</code> child or + * <code>Element</code> child. + * @version DOM Level 3 + */ + public Node replaceChild(Node newChild, + Node oldChild) + throws DOMException; + + /** + * Removes the child node indicated by <code>oldChild</code> from the list + * of children, and returns it. + * @param oldChild The node being removed. + * @return The node removed. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + * <br>NOT_FOUND_ERR: Raised if <code>oldChild</code> is not a child of + * this node. + * <br>NOT_SUPPORTED_ERR: if this node is of type <code>Document</code>, + * this exception might be raised if the DOM implementation doesn't + * support the removal of the <code>DocumentType</code> child or the + * <code>Element</code> child. + * @version DOM Level 3 + */ + public Node removeChild(Node oldChild) + throws DOMException; + + /** + * Adds the node <code>newChild</code> to the end of the list of children + * of this node. If the <code>newChild</code> is already in the tree, it + * is first removed. + * @param newChild The node to add.If it is a + * <code>DocumentFragment</code> object, the entire contents of the + * document fragment are moved into the child list of this node + * @return The node added. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not + * allow children of the type of the <code>newChild</code> node, or if + * the node to append is one of this node's ancestors or this node + * itself, or if this node is of type <code>Document</code> and the + * DOM application attempts to append a second + * <code>DocumentType</code> or <code>Element</code> node. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created + * from a different document than the one that created this node. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or + * if the previous parent of the node being inserted is readonly. + * <br>NOT_SUPPORTED_ERR: if the <code>newChild</code> node is a child + * of the <code>Document</code> node, this exception might be raised + * if the DOM implementation doesn't support the removal of the + * <code>DocumentType</code> child or <code>Element</code> child. + * @version DOM Level 3 + */ + public Node appendChild(Node newChild) + throws DOMException; + + /** + * Returns whether this node has any children. + * @return Returns <code>true</code> if this node has any children, + * <code>false</code> otherwise. + */ + public boolean hasChildNodes(); + + /** + * Returns a duplicate of this node, i.e., serves as a generic copy + * constructor for nodes. The duplicate node has no parent ( + * <code>parentNode</code> is <code>null</code>) and no user data. User + * data associated to the imported node is not carried over. However, if + * any <code>UserDataHandlers</code> has been specified along with the + * associated data these handlers will be called with the appropriate + * parameters before this method returns. + * <br>Cloning an <code>Element</code> copies all attributes and their + * values, including those generated by the XML processor to represent + * defaulted attributes, but this method does not copy any children it + * contains unless it is a deep clone. This includes text contained in + * an the <code>Element</code> since the text is contained in a child + * <code>Text</code> node. Cloning an <code>Attr</code> directly, as + * opposed to be cloned as part of an <code>Element</code> cloning + * operation, returns a specified attribute (<code>specified</code> is + * <code>true</code>). Cloning an <code>Attr</code> always clones its + * children, since they represent its value, no matter whether this is a + * deep clone or not. Cloning an <code>EntityReference</code> + * automatically constructs its subtree if a corresponding + * <code>Entity</code> is available, no matter whether this is a deep + * clone or not. Cloning any other type of node simply returns a copy of + * this node. + * <br>Note that cloning an immutable subtree results in a mutable copy, + * but the children of an <code>EntityReference</code> clone are readonly + * . In addition, clones of unspecified <code>Attr</code> nodes are + * specified. And, cloning <code>Document</code>, + * <code>DocumentType</code>, <code>Entity</code>, and + * <code>Notation</code> nodes is implementation dependent. + * @param deep If <code>true</code>, recursively clone the subtree under + * the specified node; if <code>false</code>, clone only the node + * itself (and its attributes, if it is an <code>Element</code>). + * @return The duplicate node. + */ + public Node cloneNode(boolean deep); + + /** + * Puts all <code>Text</code> nodes in the full depth of the sub-tree + * underneath this <code>Node</code>, including attribute nodes, into a + * "normal" form where only structure (e.g., elements, comments, + * processing instructions, CDATA sections, and entity references) + * separates <code>Text</code> nodes, i.e., there are neither adjacent + * <code>Text</code> nodes nor empty <code>Text</code> nodes. This can + * be used to ensure that the DOM view of a document is the same as if + * it were saved and re-loaded, and is useful when operations (such as + * XPointer [<a href='http://www.w3.org/TR/2003/REC-xptr-framework-20030325/'>XPointer</a>] + * lookups) that depend on a particular document tree structure are to + * be used. If the parameter "normalize-characters" of the + * <code>DOMConfiguration</code> object attached to the + * <code>Node.ownerDocument</code> is <code>true</code>, this method + * will also fully normalize the characters of the <code>Text</code> + * nodes. + * <p ><b>Note:</b> In cases where the document contains + * <code>CDATASections</code>, the normalize operation alone may not be + * sufficient, since XPointers do not differentiate between + * <code>Text</code> nodes and <code>CDATASection</code> nodes. + * @version DOM Level 3 + */ + public void normalize(); + + /** + * Tests whether the DOM implementation implements a specific feature and + * that feature is supported by this node, as specified in . + * @param feature The name of the feature to test. + * @param version This is the version number of the feature to test. + * @return Returns <code>true</code> if the specified feature is + * supported on this node, <code>false</code> otherwise. + * @since DOM Level 2 + */ + public boolean isSupported(String feature, + String version); + + /** + * The namespace URI of this node, or <code>null</code> if it is + * unspecified (see ). + * <br>This is not a computed value that is the result of a namespace + * lookup based on an examination of the namespace declarations in + * scope. It is merely the namespace URI given at creation time. + * <br>For nodes of any type other than <code>ELEMENT_NODE</code> and + * <code>ATTRIBUTE_NODE</code> and nodes created with a DOM Level 1 + * method, such as <code>Document.createElement()</code>, this is always + * <code>null</code>. + * <p ><b>Note:</b> Per the <em>Namespaces in XML</em> Specification [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * an attribute does not inherit its namespace from the element it is + * attached to. If an attribute is not explicitly given a namespace, it + * simply has no namespace. + * @since DOM Level 2 + */ + public String getNamespaceURI(); + + /** + * The namespace prefix of this node, or <code>null</code> if it is + * unspecified. When it is defined to be <code>null</code>, setting it + * has no effect, including if the node is read-only. + * <br>Note that setting this attribute, when permitted, changes the + * <code>nodeName</code> attribute, which holds the qualified name, as + * well as the <code>tagName</code> and <code>name</code> attributes of + * the <code>Element</code> and <code>Attr</code> interfaces, when + * applicable. + * <br>Setting the prefix to <code>null</code> makes it unspecified, + * setting it to an empty string is implementation dependent. + * <br>Note also that changing the prefix of an attribute that is known to + * have a default value, does not make a new attribute with the default + * value and the original prefix appear, since the + * <code>namespaceURI</code> and <code>localName</code> do not change. + * <br>For nodes of any type other than <code>ELEMENT_NODE</code> and + * <code>ATTRIBUTE_NODE</code> and nodes created with a DOM Level 1 + * method, such as <code>createElement</code> from the + * <code>Document</code> interface, this is always <code>null</code>. + * @since DOM Level 2 + */ + public String getPrefix(); + /** + * The namespace prefix of this node, or <code>null</code> if it is + * unspecified. When it is defined to be <code>null</code>, setting it + * has no effect, including if the node is read-only. + * <br>Note that setting this attribute, when permitted, changes the + * <code>nodeName</code> attribute, which holds the qualified name, as + * well as the <code>tagName</code> and <code>name</code> attributes of + * the <code>Element</code> and <code>Attr</code> interfaces, when + * applicable. + * <br>Setting the prefix to <code>null</code> makes it unspecified, + * setting it to an empty string is implementation dependent. + * <br>Note also that changing the prefix of an attribute that is known to + * have a default value, does not make a new attribute with the default + * value and the original prefix appear, since the + * <code>namespaceURI</code> and <code>localName</code> do not change. + * <br>For nodes of any type other than <code>ELEMENT_NODE</code> and + * <code>ATTRIBUTE_NODE</code> and nodes created with a DOM Level 1 + * method, such as <code>createElement</code> from the + * <code>Document</code> interface, this is always <code>null</code>. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified prefix contains an + * illegal character according to the XML version in use specified in + * the <code>Document.xmlVersion</code> attribute. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + * <br>NAMESPACE_ERR: Raised if the specified <code>prefix</code> is + * malformed per the Namespaces in XML specification, if the + * <code>namespaceURI</code> of this node is <code>null</code>, if the + * specified prefix is "xml" and the <code>namespaceURI</code> of this + * node is different from "<a href='http://www.w3.org/XML/1998/namespace'> + * http://www.w3.org/XML/1998/namespace</a>", if this node is an attribute and the specified prefix is "xmlns" and + * the <code>namespaceURI</code> of this node is different from "<a href='http://www.w3.org/2000/xmlns/'>http://www.w3.org/2000/xmlns/</a>", or if this node is an attribute and the <code>qualifiedName</code> of + * this node is "xmlns" [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * . + * @since DOM Level 2 + */ + public void setPrefix(String prefix) + throws DOMException; + + /** + * Returns the local part of the qualified name of this node. + * <br>For nodes of any type other than <code>ELEMENT_NODE</code> and + * <code>ATTRIBUTE_NODE</code> and nodes created with a DOM Level 1 + * method, such as <code>Document.createElement()</code>, this is always + * <code>null</code>. + * @since DOM Level 2 + */ + public String getLocalName(); + + /** + * Returns whether this node (if it is an element) has any attributes. + * @return Returns <code>true</code> if this node has any attributes, + * <code>false</code> otherwise. + * @since DOM Level 2 + */ + public boolean hasAttributes(); + + /** + * The absolute base URI of this node or <code>null</code> if the + * implementation wasn't able to obtain an absolute URI. This value is + * computed as described in . However, when the <code>Document</code> + * supports the feature "HTML" [<a href='http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109'>DOM Level 2 HTML</a>] + * , the base URI is computed using first the value of the href + * attribute of the HTML BASE element if any, and the value of the + * <code>documentURI</code> attribute from the <code>Document</code> + * interface otherwise. + * @since DOM Level 3 + */ + public String getBaseURI(); + + // DocumentPosition + /** + * The two nodes are disconnected. Order between disconnected nodes is + * always implementation-specific. + */ + public static final short DOCUMENT_POSITION_DISCONNECTED = 0x01; + /** + * The second node precedes the reference node. + */ + public static final short DOCUMENT_POSITION_PRECEDING = 0x02; + /** + * The node follows the reference node. + */ + public static final short DOCUMENT_POSITION_FOLLOWING = 0x04; + /** + * The node contains the reference node. A node which contains is always + * preceding, too. + */ + public static final short DOCUMENT_POSITION_CONTAINS = 0x08; + /** + * The node is contained by the reference node. A node which is contained + * is always following, too. + */ + public static final short DOCUMENT_POSITION_CONTAINED_BY = 0x10; + /** + * The determination of preceding versus following is + * implementation-specific. + */ + public static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20; + + /** + * Compares the reference node, i.e. the node on which this method is + * being called, with a node, i.e. the one passed as a parameter, with + * regard to their position in the document and according to the + * document order. + * @param other The node to compare against the reference node. + * @return Returns how the node is positioned relatively to the reference + * node. + * @exception DOMException + * NOT_SUPPORTED_ERR: when the compared nodes are from different DOM + * implementations that do not coordinate to return consistent + * implementation-specific results. + * @since DOM Level 3 + */ + public short compareDocumentPosition(Node other) + throws DOMException; + + /** + * This attribute returns the text content of this node and its + * descendants. When it is defined to be <code>null</code>, setting it + * has no effect. On setting, any possible children this node may have + * are removed and, if it the new string is not empty or + * <code>null</code>, replaced by a single <code>Text</code> node + * containing the string this attribute is set to. + * <br> On getting, no serialization is performed, the returned string + * does not contain any markup. No whitespace normalization is performed + * and the returned string does not contain the white spaces in element + * content (see the attribute + * <code>Text.isElementContentWhitespace</code>). Similarly, on setting, + * no parsing is performed either, the input string is taken as pure + * textual content. + * <br>The string returned is made of the text content of this node + * depending on its type, as defined below: + * <table border='1' cellpadding='3'> + * <tr> + * <th>Node type</th> + * <th>Content</th> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'> + * ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, + * DOCUMENT_FRAGMENT_NODE</td> + * <td valign='top' rowspan='1' colspan='1'>concatenation of the <code>textContent</code> + * attribute value of every child node, excluding COMMENT_NODE and + * PROCESSING_INSTRUCTION_NODE nodes. This is the empty string if the + * node has no children.</td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, + * PROCESSING_INSTRUCTION_NODE</td> + * <td valign='top' rowspan='1' colspan='1'><code>nodeValue</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'>DOCUMENT_NODE, + * DOCUMENT_TYPE_NODE, NOTATION_NODE</td> + * <td valign='top' rowspan='1' colspan='1'><em>null</em></td> + * </tr> + * </table> + * @exception DOMException + * DOMSTRING_SIZE_ERR: Raised when it would return more characters than + * fit in a <code>DOMString</code> variable on the implementation + * platform. + * @since DOM Level 3 + */ + public String getTextContent() + throws DOMException; + /** + * This attribute returns the text content of this node and its + * descendants. When it is defined to be <code>null</code>, setting it + * has no effect. On setting, any possible children this node may have + * are removed and, if it the new string is not empty or + * <code>null</code>, replaced by a single <code>Text</code> node + * containing the string this attribute is set to. + * <br> On getting, no serialization is performed, the returned string + * does not contain any markup. No whitespace normalization is performed + * and the returned string does not contain the white spaces in element + * content (see the attribute + * <code>Text.isElementContentWhitespace</code>). Similarly, on setting, + * no parsing is performed either, the input string is taken as pure + * textual content. + * <br>The string returned is made of the text content of this node + * depending on its type, as defined below: + * <table border='1' cellpadding='3'> + * <tr> + * <th>Node type</th> + * <th>Content</th> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'> + * ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, + * DOCUMENT_FRAGMENT_NODE</td> + * <td valign='top' rowspan='1' colspan='1'>concatenation of the <code>textContent</code> + * attribute value of every child node, excluding COMMENT_NODE and + * PROCESSING_INSTRUCTION_NODE nodes. This is the empty string if the + * node has no children.</td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, + * PROCESSING_INSTRUCTION_NODE</td> + * <td valign='top' rowspan='1' colspan='1'><code>nodeValue</code></td> + * </tr> + * <tr> + * <td valign='top' rowspan='1' colspan='1'>DOCUMENT_NODE, + * DOCUMENT_TYPE_NODE, NOTATION_NODE</td> + * <td valign='top' rowspan='1' colspan='1'><em>null</em></td> + * </tr> + * </table> + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. + * @since DOM Level 3 + */ + public void setTextContent(String textContent) + throws DOMException; + + /** + * Returns whether this node is the same node as the given one. + * <br>This method provides a way to determine whether two + * <code>Node</code> references returned by the implementation reference + * the same object. When two <code>Node</code> references are references + * to the same object, even if through a proxy, the references may be + * used completely interchangeably, such that all attributes have the + * same values and calling the same DOM method on either reference + * always has exactly the same effect. + * @param other The node to test against. + * @return Returns <code>true</code> if the nodes are the same, + * <code>false</code> otherwise. + * @since DOM Level 3 + */ + public boolean isSameNode(Node other); + + /** + * Look up the prefix associated to the given namespace URI, starting from + * this node. The default namespace declarations are ignored by this + * method. + * <br>See for details on the algorithm used by this method. + * @param namespaceURI The namespace URI to look for. + * @return Returns an associated namespace prefix if found or + * <code>null</code> if none is found. If more than one prefix are + * associated to the namespace prefix, the returned namespace prefix + * is implementation dependent. + * @since DOM Level 3 + */ + public String lookupPrefix(String namespaceURI); + + /** + * This method checks if the specified <code>namespaceURI</code> is the + * default namespace or not. + * @param namespaceURI The namespace URI to look for. + * @return Returns <code>true</code> if the specified + * <code>namespaceURI</code> is the default namespace, + * <code>false</code> otherwise. + * @since DOM Level 3 + */ + public boolean isDefaultNamespace(String namespaceURI); + + /** + * Look up the namespace URI associated to the given prefix, starting from + * this node. + * <br>See for details on the algorithm used by this method. + * @param prefix The prefix to look for. If this parameter is + * <code>null</code>, the method will return the default namespace URI + * if any. + * @return Returns the associated namespace URI or <code>null</code> if + * none is found. + * @since DOM Level 3 + */ + public String lookupNamespaceURI(String prefix); + + /** + * Tests whether two nodes are equal. + * <br>This method tests for equality of nodes, not sameness (i.e., + * whether the two nodes are references to the same object) which can be + * tested with <code>Node.isSameNode()</code>. All nodes that are the + * same will also be equal, though the reverse may not be true. + * <br>Two nodes are equal if and only if the following conditions are + * satisfied: + * <ul> + * <li>The two nodes are of the same type. + * </li> + * <li>The following string + * attributes are equal: <code>nodeName</code>, <code>localName</code>, + * <code>namespaceURI</code>, <code>prefix</code>, <code>nodeValue</code> + * . This is: they are both <code>null</code>, or they have the same + * length and are character for character identical. + * </li> + * <li>The + * <code>attributes</code> <code>NamedNodeMaps</code> are equal. This + * is: they are both <code>null</code>, or they have the same length and + * for each node that exists in one map there is a node that exists in + * the other map and is equal, although not necessarily at the same + * index. + * </li> + * <li>The <code>childNodes</code> <code>NodeLists</code> are equal. + * This is: they are both <code>null</code>, or they have the same + * length and contain equal nodes at the same index. Note that + * normalization can affect equality; to avoid this, nodes should be + * normalized before being compared. + * </li> + * </ul> + * <br>For two <code>DocumentType</code> nodes to be equal, the following + * conditions must also be satisfied: + * <ul> + * <li>The following string attributes + * are equal: <code>publicId</code>, <code>systemId</code>, + * <code>internalSubset</code>. + * </li> + * <li>The <code>entities</code> + * <code>NamedNodeMaps</code> are equal. + * </li> + * <li>The <code>notations</code> + * <code>NamedNodeMaps</code> are equal. + * </li> + * </ul> + * <br>On the other hand, the following do not affect equality: the + * <code>ownerDocument</code>, <code>baseURI</code>, and + * <code>parentNode</code> attributes, the <code>specified</code> + * attribute for <code>Attr</code> nodes, the <code>schemaTypeInfo</code> + * attribute for <code>Attr</code> and <code>Element</code> nodes, the + * <code>Text.isElementContentWhitespace</code> attribute for + * <code>Text</code> nodes, as well as any user data or event listeners + * registered on the nodes. + * <p ><b>Note:</b> As a general rule, anything not mentioned in the + * description above is not significant in consideration of equality + * checking. Note that future versions of this specification may take + * into account more attributes and implementations conform to this + * specification are expected to be updated accordingly. + * @param arg The node to compare equality with. + * @return Returns <code>true</code> if the nodes are equal, + * <code>false</code> otherwise. + * @since DOM Level 3 + */ + public boolean isEqualNode(Node arg); + + /** + * This method returns a specialized object which implements the + * specialized APIs of the specified feature and version, as specified + * in . The specialized object may also be obtained by using + * binding-specific casting methods but is not necessarily expected to, + * as discussed in . This method also allow the implementation to + * provide specialized objects which do not support the <code>Node</code> + * interface. + * @param feature The name of the feature requested. Note that any plus + * sign "+" prepended to the name of the feature will be ignored since + * it is not significant in the context of this method. + * @param version This is the version number of the feature to test. + * @return Returns an object which implements the specialized APIs of + * the specified feature and version, if any, or <code>null</code> if + * there is no object which implements interfaces associated with that + * feature. If the <code>DOMObject</code> returned by this method + * implements the <code>Node</code> interface, it must delegate to the + * primary core <code>Node</code> and not return results inconsistent + * with the primary core <code>Node</code> such as attributes, + * childNodes, etc. + * @since DOM Level 3 + */ + public Object getFeature(String feature, + String version); + + /** + * Associate an object to a key on this node. The object can later be + * retrieved from this node by calling <code>getUserData</code> with the + * same key. + * @param key The key to associate the object to. + * @param data The object to associate to the given key, or + * <code>null</code> to remove any existing association to that key. + * @param handler The handler to associate to that key, or + * <code>null</code>. + * @return Returns the <code>DOMUserData</code> previously associated to + * the given key on this node, or <code>null</code> if there was none. + * @since DOM Level 3 + */ + public Object setUserData(String key, + Object data, + UserDataHandler handler); + + /** + * Retrieves the object associated to a key on a this node. The object + * must first have been set to this node by calling + * <code>setUserData</code> with the same key. + * @param key The key the object is associated to. + * @return Returns the <code>DOMUserData</code> associated to the given + * key on this node, or <code>null</code> if there was none. + * @since DOM Level 3 + */ + public Object getUserData(String key); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/NodeList.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/NodeList.java new file mode 100644 index 000000000..4a98a9030 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/NodeList.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>NodeList</code> interface provides the abstraction of an ordered + * collection of nodes, without defining or constraining how this collection + * is implemented. <code>NodeList</code> objects in the DOM are live. + * <p>The items in the <code>NodeList</code> are accessible via an integral + * index, starting from 0. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface NodeList { + /** + * Returns the <code>index</code>th item in the collection. If + * <code>index</code> is greater than or equal to the number of nodes in + * the list, this returns <code>null</code>. + * @param index Index into the collection. + * @return The node at the <code>index</code>th position in the + * <code>NodeList</code>, or <code>null</code> if that is not a valid + * index. + */ + public Node item(int index); + + /** + * The number of nodes in the list. The range of valid child node indices + * is 0 to <code>length-1</code> inclusive. + */ + public int getLength(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/Notation.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/Notation.java new file mode 100644 index 000000000..a7ad40992 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/Notation.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * This interface represents a notation declared in the DTD. A notation either + * declares, by name, the format of an unparsed entity (see <a href='http://www.w3.org/TR/2004/REC-xml-20040204#Notations'>section 4.7</a> of the XML 1.0 specification [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]), or is + * used for formal declaration of processing instruction targets (see <a href='http://www.w3.org/TR/2004/REC-xml-20040204#sec-pi'>section 2.6</a> of the XML 1.0 specification [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]). The + * <code>nodeName</code> attribute inherited from <code>Node</code> is set + * to the declared name of the notation. + * <p>The DOM Core does not support editing <code>Notation</code> nodes; they + * are therefore readonly. + * <p>A <code>Notation</code> node does not have any parent. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface Notation extends Node { + /** + * The public identifier of this notation. If the public identifier was + * not specified, this is <code>null</code>. + */ + public String getPublicId(); + + /** + * The system identifier of this notation. If the system identifier was + * not specified, this is <code>null</code>. This may be an absolute URI + * or not. + */ + public String getSystemId(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ProcessingInstruction.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ProcessingInstruction.java new file mode 100644 index 000000000..61b789231 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ProcessingInstruction.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>ProcessingInstruction</code> interface represents a "processing + * instruction", used in XML as a way to keep processor-specific information + * in the text of the document. + * <p> No lexical check is done on the content of a processing instruction and + * it is therefore possible to have the character sequence + * <code>"?>"</code> in the content, which is illegal a processing + * instruction per section 2.6 of [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]. The + * presence of this character sequence must generate a fatal error during + * serialization. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface ProcessingInstruction extends Node { + /** + * The target of this processing instruction. XML defines this as being + * the first token following the markup that begins the processing + * instruction. + */ + public String getTarget(); + + /** + * The content of this processing instruction. This is from the first non + * white space character after the target to the character immediately + * preceding the <code>?></code>. + */ + public String getData(); + /** + * The content of this processing instruction. This is from the first non + * white space character after the target to the character immediately + * preceding the <code>?></code>. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. + */ + public void setData(String data) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/Text.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/Text.java new file mode 100644 index 000000000..872c5499d --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/Text.java @@ -0,0 +1,126 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>Text</code> interface inherits from <code>CharacterData</code> + * and represents the textual content (termed <a href='http://www.w3.org/TR/2004/REC-xml-20040204#syntax'>character data</a> in XML) of an <code>Element</code> or <code>Attr</code>. If there is no + * markup inside an element's content, the text is contained in a single + * object implementing the <code>Text</code> interface that is the only + * child of the element. If there is markup, it is parsed into the + * information items (elements, comments, etc.) and <code>Text</code> nodes + * that form the list of children of the element. + * <p>When a document is first made available via the DOM, there is only one + * <code>Text</code> node for each block of text. Users may create adjacent + * <code>Text</code> nodes that represent the contents of a given element + * without any intervening markup, but should be aware that there is no way + * to represent the separations between these nodes in XML or HTML, so they + * will not (in general) persist between DOM editing sessions. The + * <code>Node.normalize()</code> method merges any such adjacent + * <code>Text</code> objects into a single node for each block of text. + * <p> No lexical check is done on the content of a <code>Text</code> node + * and, depending on its position in the document, some characters must be + * escaped during serialization using character references; e.g. the + * characters "<&" if the textual content is part of an element or of + * an attribute, the character sequence "]]>" when part of an element, + * the quotation mark character " or the apostrophe character ' when part of + * an attribute. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + */ +public interface Text extends CharacterData { + /** + * Breaks this node into two nodes at the specified <code>offset</code>, + * keeping both in the tree as siblings. After being split, this node + * will contain all the content up to the <code>offset</code> point. A + * new node of the same type, which contains all the content at and + * after the <code>offset</code> point, is returned. If the original + * node had a parent node, the new node is inserted as the next sibling + * of the original node. When the <code>offset</code> is equal to the + * length of this node, the new node has no data. + * @param offset The 16-bit unit offset at which to split, starting from + * <code>0</code>. + * @return The new node, of the same type as this node. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified offset is negative or greater + * than the number of 16-bit units in <code>data</code>. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public Text splitText(int offset) + throws DOMException; + + /** + * Returns whether this text node contains <a href='http://www.w3.org/TR/2004/REC-xml-infoset-20040204#infoitem.character'> + * element content whitespace</a>, often abusively called "ignorable whitespace". The text node is + * determined to contain whitespace in element content during the load + * of the document or if validation occurs while using + * <code>Document.normalizeDocument()</code>. + * @since DOM Level 3 + */ + public boolean isElementContentWhitespace(); + + /** + * Returns all text of <code>Text</code> nodes logically-adjacent text + * nodes to this node, concatenated in document order. + * <br>For instance, in the example below <code>wholeText</code> on the + * <code>Text</code> node that contains "bar" returns "barfoo", while on + * the <code>Text</code> node that contains "foo" it returns "barfoo". + * @since DOM Level 3 + */ + public String getWholeText(); + + /** + * Replaces the text of the current node and all logically-adjacent text + * nodes with the specified text. All logically-adjacent text nodes are + * removed including the current node unless it was the recipient of the + * replacement text. + * <br>This method returns the node which received the replacement text. + * The returned node is: + * <ul> + * <li><code>null</code>, when the replacement text is + * the empty string; + * </li> + * <li>the current node, except when the current node is + * read-only; + * </li> + * <li> a new <code>Text</code> node of the same type ( + * <code>Text</code> or <code>CDATASection</code>) as the current node + * inserted at the location of the replacement. + * </li> + * </ul> + * <br>For instance, in the above example calling + * <code>replaceWholeText</code> on the <code>Text</code> node that + * contains "bar" with "yo" in argument results in the following: + * <br>Where the nodes to be removed are read-only descendants of an + * <code>EntityReference</code>, the <code>EntityReference</code> must + * be removed instead of the read-only nodes. If any + * <code>EntityReference</code> to be removed has descendants that are + * not <code>EntityReference</code>, <code>Text</code>, or + * <code>CDATASection</code> nodes, the <code>replaceWholeText</code> + * method must fail before performing any modification of the document, + * raising a <code>DOMException</code> with the code + * <code>NO_MODIFICATION_ALLOWED_ERR</code>. + * <br>For instance, in the example below calling + * <code>replaceWholeText</code> on the <code>Text</code> node that + * contains "bar" fails, because the <code>EntityReference</code> node + * "ent" contains an <code>Element</code> node which cannot be removed. + * @param content The content of the replacing <code>Text</code> node. + * @return The <code>Text</code> node created with the specified content. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if one of the <code>Text</code> + * nodes being replaced is readonly. + * @since DOM Level 3 + */ + public Text replaceWholeText(String content) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/TypeInfo.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/TypeInfo.java new file mode 100644 index 000000000..d36f3cc37 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/TypeInfo.java @@ -0,0 +1,185 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * The <code>TypeInfo</code> interface represents a type referenced from + * <code>Element</code> or <code>Attr</code> nodes, specified in the schemas + * associated with the document. The type is a pair of a namespace URI and + * name properties, and depends on the document's schema. + * <p> If the document's schema is an XML DTD [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>], the values + * are computed as follows: + * <ul> + * <li> If this type is referenced from an + * <code>Attr</code> node, <code>typeNamespace</code> is + * <code>"http://www.w3.org/TR/REC-xml"</code> and <code>typeName</code> + * represents the <b>[attribute type]</b> property in the [<a href='http://www.w3.org/TR/2004/REC-xml-infoset-20040204/'>XML Information Set</a>] + * . If there is no declaration for the attribute, <code>typeNamespace</code> + * and <code>typeName</code> are <code>null</code>. + * </li> + * <li> If this type is + * referenced from an <code>Element</code> node, <code>typeNamespace</code> + * and <code>typeName</code> are <code>null</code>. + * </li> + * </ul> + * <p> If the document's schema is an XML Schema [<a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/'>XML Schema Part 1</a>] + * , the values are computed as follows using the post-schema-validation + * infoset contributions (also called PSVI contributions): + * <ul> + * <li> If the <b>[validity]</b> property exists AND is <em>"invalid"</em> or <em>"notKnown"</em>: the {target namespace} and {name} properties of the declared type if + * available, otherwise <code>null</code>. + * <p ><b>Note:</b> At the time of writing, the XML Schema specification does + * not require exposing the declared type. Thus, DOM implementations might + * choose not to provide type information if validity is not valid. + * </li> + * <li> If the <b>[validity]</b> property exists and is <em>"valid"</em>: + * <ol> + * <li> If <b>[member type definition]</b> exists: + * <ol> + * <li>If {name} is not absent, then expose {name} and {target + * namespace} properties of the <b>[member type definition]</b> property; + * </li> + * <li>Otherwise, expose the namespace and local name of the + * corresponding anonymous type name. + * </li> + * </ol> + * </li> + * <li> If the <b>[type definition]</b> property exists: + * <ol> + * <li>If {name} is not absent, then expose {name} and {target + * namespace} properties of the <b>[type definition]</b> property; + * </li> + * <li>Otherwise, expose the namespace and local name of the + * corresponding anonymous type name. + * </li> + * </ol> + * </li> + * <li> If the <b>[member type definition anonymous]</b> exists: + * <ol> + * <li>If it is false, then expose <b>[member type definition name]</b> and <b>[member type definition namespace]</b> properties; + * </li> + * <li>Otherwise, expose the namespace and local name of the + * corresponding anonymous type name. + * </li> + * </ol> + * </li> + * <li> If the <b>[type definition anonymous]</b> exists: + * <ol> + * <li>If it is false, then expose <b>[type definition name]</b> and <b>[type definition namespace]</b> properties; + * </li> + * <li>Otherwise, expose the namespace and local name of the + * corresponding anonymous type name. + * </li> + * </ol> + * </li> + * </ol> + * </li> + * </ul> + * <p ><b>Note:</b> Other schema languages are outside the scope of the W3C + * and therefore should define how to represent their type systems using + * <code>TypeInfo</code>. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + * @since DOM Level 3 + */ +public interface TypeInfo { + /** + * The name of a type declared for the associated element or attribute, + * or <code>null</code> if unknown. + */ + public String getTypeName(); + + /** + * The namespace of the type declared for the associated element or + * attribute or <code>null</code> if the element does not have + * declaration or if no namespace information is available. + */ + public String getTypeNamespace(); + + // DerivationMethods + /** + * If the document's schema is an XML Schema [<a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/'>XML Schema Part 1</a>] + * , this constant represents the derivation by <a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#key-typeRestriction'> + * restriction</a> if complex types are involved, or a <a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#element-restriction'> + * restriction</a> if simple types are involved. + * <br> The reference type definition is derived by restriction from the + * other type definition if the other type definition is the same as the + * reference type definition, or if the other type definition can be + * reached recursively following the {base type definition} property + * from the reference type definition, and all the <em>derivation methods</em> involved are restriction. + */ + public static final int DERIVATION_RESTRICTION = 0x00000001; + /** + * If the document's schema is an XML Schema [<a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/'>XML Schema Part 1</a>] + * , this constant represents the derivation by <a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#key-typeExtension'> + * extension</a>. + * <br> The reference type definition is derived by extension from the + * other type definition if the other type definition can be reached + * recursively following the {base type definition} property from the + * reference type definition, and at least one of the <em>derivation methods</em> involved is an extension. + */ + public static final int DERIVATION_EXTENSION = 0x00000002; + /** + * If the document's schema is an XML Schema [<a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/'>XML Schema Part 1</a>] + * , this constant represents the <a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#element-union'> + * union</a> if simple types are involved. + * <br> The reference type definition is derived by union from the other + * type definition if there exists two type definitions T1 and T2 such + * as the reference type definition is derived from T1 by + * <code>DERIVATION_RESTRICTION</code> or + * <code>DERIVATION_EXTENSION</code>, T2 is derived from the other type + * definition by <code>DERIVATION_RESTRICTION</code>, T1 has {variety} <em>union</em>, and one of the {member type definitions} is T2. Note that T1 could be + * the same as the reference type definition, and T2 could be the same + * as the other type definition. + */ + public static final int DERIVATION_UNION = 0x00000004; + /** + * If the document's schema is an XML Schema [<a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/'>XML Schema Part 1</a>] + * , this constant represents the <a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#element-list'>list</a>. + * <br> The reference type definition is derived by list from the other + * type definition if there exists two type definitions T1 and T2 such + * as the reference type definition is derived from T1 by + * <code>DERIVATION_RESTRICTION</code> or + * <code>DERIVATION_EXTENSION</code>, T2 is derived from the other type + * definition by <code>DERIVATION_RESTRICTION</code>, T1 has {variety} <em>list</em>, and T2 is the {item type definition}. Note that T1 could be the same as + * the reference type definition, and T2 could be the same as the other + * type definition. + */ + public static final int DERIVATION_LIST = 0x00000008; + + /** + * This method returns if there is a derivation between the reference + * type definition, i.e. the <code>TypeInfo</code> on which the method + * is being called, and the other type definition, i.e. the one passed + * as parameters. + * @param typeNamespaceArg the namespace of the other type definition. + * @param typeNameArg the name of the other type definition. + * @param derivationMethod the type of derivation and conditions applied + * between two types, as described in the list of constants provided + * in this interface. + * @return If the document's schema is a DTD or no schema is associated + * with the document, this method will always return <code>false</code> + * . If the document's schema is an XML Schema, the method will + * <code>true</code> if the reference type definition is derived from + * the other type definition according to the derivation parameter. If + * the value of the parameter is <code>0</code> (no bit is set to + * <code>1</code> for the <code>derivationMethod</code> parameter), + * the method will return <code>true</code> if the other type + * definition can be reached by recursing any combination of {base + * type definition}, {item type definition}, or {member type + * definitions} from the reference type definition. + */ + public boolean isDerivedFrom(String typeNamespaceArg, + String typeNameArg, + int derivationMethod); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/UserDataHandler.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/UserDataHandler.java new file mode 100644 index 000000000..cf6ee5669 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/UserDataHandler.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom; + +/** + * When associating an object to a key on a node using + * <code>Node.setUserData()</code> the application can provide a handler + * that gets called when the node the object is associated to is being + * cloned, imported, or renamed. This can be used by the application to + * implement various behaviors regarding the data it associates to the DOM + * nodes. This interface defines that handler. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>. + * @since DOM Level 3 + */ +public interface UserDataHandler { + // OperationType + /** + * The node is cloned, using <code>Node.cloneNode()</code>. + */ + public static final short NODE_CLONED = 1; + /** + * The node is imported, using <code>Document.importNode()</code>. + */ + public static final short NODE_IMPORTED = 2; + /** + * The node is deleted. + * <p ><b>Note:</b> This may not be supported or may not be reliable in + * certain environments, such as Java, where the implementation has no + * real control over when objects are actually deleted. + */ + public static final short NODE_DELETED = 3; + /** + * The node is renamed, using <code>Document.renameNode()</code>. + */ + public static final short NODE_RENAMED = 4; + /** + * The node is adopted, using <code>Document.adoptNode()</code>. + */ + public static final short NODE_ADOPTED = 5; + + /** + * This method is called whenever the node for which this handler is + * registered is imported or cloned. + * <br> DOM applications must not raise exceptions in a + * <code>UserDataHandler</code>. The effect of throwing exceptions from + * the handler is DOM implementation dependent. + * @param operation Specifies the type of operation that is being + * performed on the node. + * @param key Specifies the key for which this handler is being called. + * @param data Specifies the data for which this handler is being called. + * @param src Specifies the node being cloned, adopted, imported, or + * renamed. This is <code>null</code> when the node is being deleted. + * @param dst Specifies the node newly created if any, or + * <code>null</code>. + */ + public void handle(short operation, + String key, + Object data, + Node src, + Node dst); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/bootstrap/DOMImplementationRegistry.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/bootstrap/DOMImplementationRegistry.java new file mode 100644 index 000000000..5be8c3ab1 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/bootstrap/DOMImplementationRegistry.java @@ -0,0 +1,387 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + + +package org.w3c.dom.bootstrap; + +import java.util.StringTokenizer; +import java.util.Vector; +import org.w3c.dom.DOMImplementationSource; +import org.w3c.dom.DOMImplementationList; +import org.w3c.dom.DOMImplementation; +import java.io.InputStream; +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.security.AccessController; +import java.security.PrivilegedAction; + +/** + * A factory that enables applications to obtain instances of + * <code>DOMImplementation</code>. + * + * <p> + * Example: + * </p> + * + * <pre class='example'> + * // get an instance of the DOMImplementation registry + * DOMImplementationRegistry registry = + * DOMImplementationRegistry.newInstance(); + * // get a DOM implementation the Level 3 XML module + * DOMImplementation domImpl = + * registry.getDOMImplementation("XML 3.0"); + * </pre> + * + * <p> + * This provides an application with an implementation-independent starting + * point. DOM implementations may modify this class to meet new security + * standards or to provide *additional* fallbacks for the list of + * DOMImplementationSources. + * </p> + * + * @see DOMImplementation + * @see DOMImplementationSource + * @since DOM Level 3 + */ +public final class DOMImplementationRegistry { + /** + * The system property to specify the + * DOMImplementationSource class names. + */ + public static final String PROPERTY = + "org.w3c.dom.DOMImplementationSourceList"; + + /** + * Default columns per line. + */ + private static final int DEFAULT_LINE_LENGTH = 80; + + /** + * The list of DOMImplementationSources. + */ + private Vector sources; + + /** + * Private constructor. + * @param srcs Vector List of DOMImplementationSources + */ + private DOMImplementationRegistry(final Vector srcs) { + sources = srcs; + } + + /** + * Obtain a new instance of a <code>DOMImplementationRegistry</code>. + * + + * The <code>DOMImplementationRegistry</code> is initialized by the + * application or the implementation, depending on the context, by + * first checking the value of the Java system property + * <code>org.w3c.dom.DOMImplementationSourceList</code> and + * the the service provider whose contents are at + * "<code>META_INF/services/org.w3c.dom.DOMImplementationSourceList</code>" + * The value of this property is a white-space separated list of + * names of availables classes implementing the + * <code>DOMImplementationSource</code> interface. Each class listed + * in the class name list is instantiated and any exceptions + * encountered are thrown to the application. + * + * @return an initialized instance of DOMImplementationRegistry + * @throws ClassNotFoundException + * If any specified class can not be found + * @throws InstantiationException + * If any specified class is an interface or abstract class + * @throws IllegalAccessException + * If the default constructor of a specified class is not accessible + * @throws ClassCastException + * If any specified class does not implement + * <code>DOMImplementationSource</code> + */ + public static DOMImplementationRegistry newInstance() + throws + ClassNotFoundException, + InstantiationException, + IllegalAccessException, + ClassCastException { + Vector sources = new Vector(); + + ClassLoader classLoader = getClassLoader(); + // fetch system property: + String p = getSystemProperty(PROPERTY); + + // + // if property is not specified then use contents of + // META_INF/org.w3c.dom.DOMImplementationSourceList from classpath + if (p == null) { + p = getServiceValue(classLoader); + } + if (p == null) { + // + // DOM Implementations can modify here to add *additional* fallback + // mechanisms to access a list of default DOMImplementationSources. + p = "gnu.xml.dom.ImplementationSource"; + } + if (p != null) { + StringTokenizer st = new StringTokenizer(p); + while (st.hasMoreTokens()) { + String sourceName = st.nextToken(); + // Use context class loader, falling back to Class.forName + // if and only if this fails... + Class sourceClass = null; + if (classLoader != null) { + sourceClass = classLoader.loadClass(sourceName); + } else { + sourceClass = Class.forName(sourceName); + } + DOMImplementationSource source = + (DOMImplementationSource) sourceClass.newInstance(); + sources.addElement(source); + } + } + return new DOMImplementationRegistry(sources); + } + + /** + * Return the first implementation that has the desired + * features, or <code>null</code> if none is found. + * + * @param features + * A string that specifies which features are required. This is + * a space separated list in which each feature is specified by + * its name optionally followed by a space and a version number. + * This is something like: "XML 1.0 Traversal +Events 2.0" + * @return An implementation that has the desired features, + * or <code>null</code> if none found. + */ + public DOMImplementation getDOMImplementation(final String features) { + int size = sources.size(); + String name = null; + for (int i = 0; i < size; i++) { + DOMImplementationSource source = + (DOMImplementationSource) sources.elementAt(i); + DOMImplementation impl = source.getDOMImplementation(features); + if (impl != null) { + return impl; + } + } + return null; + } + + /** + * Return a list of implementations that support the + * desired features. + * + * @param features + * A string that specifies which features are required. This is + * a space separated list in which each feature is specified by + * its name optionally followed by a space and a version number. + * This is something like: "XML 1.0 Traversal +Events 2.0" + * @return A list of DOMImplementations that support the desired features. + */ + public DOMImplementationList getDOMImplementationList(final String features) { + final Vector implementations = new Vector(); + int size = sources.size(); + for (int i = 0; i < size; i++) { + DOMImplementationSource source = + (DOMImplementationSource) sources.elementAt(i); + DOMImplementationList impls = + source.getDOMImplementationList(features); + for (int j = 0; j < impls.getLength(); j++) { + DOMImplementation impl = impls.item(j); + implementations.addElement(impl); + } + } + return new DOMImplementationList() { + public DOMImplementation item(final int index) { + if (index >= 0 && index < implementations.size()) { + try { + return (DOMImplementation) + implementations.elementAt(index); + } catch (ArrayIndexOutOfBoundsException e) { + return null; + } + } + return null; + } + + public int getLength() { + return implementations.size(); + } + }; + } + + /** + * Register an implementation. + * + * @param s The source to be registered, may not be <code>null</code> + */ + public void addSource(final DOMImplementationSource s) { + if (s == null) { + throw new NullPointerException(); + } + if (!sources.contains(s)) { + sources.addElement(s); + } + } + + /** + * + * Gets a class loader. + * + * @return A class loader, possibly <code>null</code> + */ + private static ClassLoader getClassLoader() { + try { + ClassLoader contextClassLoader = getContextClassLoader(); + + if (contextClassLoader != null) { + return contextClassLoader; + } + } catch (Exception e) { + // Assume that the DOM application is in a JRE 1.1, use the + // current ClassLoader + return DOMImplementationRegistry.class.getClassLoader(); + } + return DOMImplementationRegistry.class.getClassLoader(); + } + + /** + * This method attempts to return the first line of the resource + * META_INF/services/org.w3c.dom.DOMImplementationSourceList + * from the provided ClassLoader. + * + * @param classLoader classLoader, may not be <code>null</code>. + * @return first line of resource, or <code>null</code> + */ + private static String getServiceValue(final ClassLoader classLoader) { + String serviceId = "META-INF/services/" + PROPERTY; + // try to find services in CLASSPATH + try { + InputStream is = getResourceAsStream(classLoader, serviceId); + + if (is != null) { + BufferedReader rd; + try { + rd = + new BufferedReader(new InputStreamReader(is, "UTF-8"), + DEFAULT_LINE_LENGTH); + } catch (java.io.UnsupportedEncodingException e) { + rd = + new BufferedReader(new InputStreamReader(is), + DEFAULT_LINE_LENGTH); + } + String serviceValue = rd.readLine(); + rd.close(); + if (serviceValue != null && serviceValue.length() > 0) { + return serviceValue; + } + } + } catch (Exception ex) { + return null; + } + return null; + } + + /** + * A simple JRE (Java Runtime Environment) 1.1 test + * + * @return <code>true</code> if JRE 1.1 + */ + private static boolean isJRE11() { + try { + Class c = Class.forName("java.security.AccessController"); + // java.security.AccessController existed since 1.2 so, if no + // exception was thrown, the DOM application is running in a JRE + // 1.2 or higher + return false; + } catch (Exception ex) { + // ignore + } + return true; + } + + /** + * This method returns the ContextClassLoader or <code>null</code> if + * running in a JRE 1.1 + * + * @return The Context Classloader + */ + private static ClassLoader getContextClassLoader() { + return isJRE11() + ? null + : (ClassLoader) + AccessController.doPrivileged(new PrivilegedAction() { + public Object run() { + ClassLoader classLoader = null; + try { + classLoader = + Thread.currentThread().getContextClassLoader(); + } catch (SecurityException ex) { + } + return classLoader; + } + }); + } + + /** + * This method returns the system property indicated by the specified name + * after checking access control privileges. For a JRE 1.1, this check is + * not done. + * + * @param name the name of the system property + * @return the system property + */ + private static String getSystemProperty(final String name) { + return isJRE11() + ? (String) System.getProperty(name) + : (String) AccessController.doPrivileged(new PrivilegedAction() { + public Object run() { + return System.getProperty(name); + } + }); + } + + /** + * This method returns an Inputstream for the reading resource + * META_INF/services/org.w3c.dom.DOMImplementationSourceList after checking + * access control privileges. For a JRE 1.1, this check is not done. + * + * @param classLoader classLoader + * @param name the resource + * @return an Inputstream for the resource specified + */ + private static InputStream getResourceAsStream(final ClassLoader classLoader, + final String name) { + if (isJRE11()) { + InputStream ris; + if (classLoader == null) { + ris = ClassLoader.getSystemResourceAsStream(name); + } else { + ris = classLoader.getResourceAsStream(name); + } + return ris; + } else { + return (InputStream) + AccessController.doPrivileged(new PrivilegedAction() { + public Object run() { + InputStream ris; + if (classLoader == null) { + ris = + ClassLoader.getSystemResourceAsStream(name); + } else { + ris = classLoader.getResourceAsStream(name); + } + return ris; + } + }); + } + } +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSS2Properties.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSS2Properties.java new file mode 100644 index 000000000..238eea342 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSS2Properties.java @@ -0,0 +1,1777 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The <code>CSS2Properties</code> interface represents a convenience + * mechanism for retrieving and setting properties within a + * <code>CSSStyleDeclaration</code>. The attributes of this interface + * correspond to all the properties specified in CSS2. Getting an attribute + * of this interface is equivalent to calling the + * <code>getPropertyValue</code> method of the + * <code>CSSStyleDeclaration</code> interface. Setting an attribute of this + * interface is equivalent to calling the <code>setProperty</code> method of + * the <code>CSSStyleDeclaration</code> interface. + * <p> A conformant implementation of the CSS module is not required to + * implement the <code>CSS2Properties</code> interface. If an implementation + * does implement this interface, the expectation is that language-specific + * methods can be used to cast from an instance of the + * <code>CSSStyleDeclaration</code> interface to the + * <code>CSS2Properties</code> interface. + * <p> If an implementation does implement this interface, it is expected to + * understand the specific syntax of the shorthand properties, and apply + * their semantics; when the <code>margin</code> property is set, for + * example, the <code>marginTop</code>, <code>marginRight</code>, + * <code>marginBottom</code> and <code>marginLeft</code> properties are + * actually being set by the underlying implementation. + * <p> When dealing with CSS "shorthand" properties, the shorthand properties + * should be decomposed into their component longhand properties as + * appropriate, and when querying for their value, the form returned should + * be the shortest form exactly equivalent to the declarations made in the + * ruleset. However, if there is no shorthand declaration that could be + * added to the ruleset without changing in any way the rules already + * declared in the ruleset (i.e., by adding longhand rules that were + * previously not declared in the ruleset), then the empty string should be + * returned for the shorthand property. + * <p> For example, querying for the <code>font</code> property should not + * return "normal normal normal 14pt/normal Arial, sans-serif", when "14pt + * Arial, sans-serif" suffices. (The normals are initial values, and are + * implied by use of the longhand property.) + * <p> If the values for all the longhand properties that compose a particular + * string are the initial values, then a string consisting of all the + * initial values should be returned (e.g. a <code>border-width</code> value + * of "medium" should be returned as such, not as ""). + * <p> For some shorthand properties that take missing values from other + * sides, such as the <code>margin</code>, <code>padding</code>, and + * <code>border-[width|style|color]</code> properties, the minimum number of + * sides possible should be used; i.e., "0px 10px" will be returned instead + * of "0px 10px 0px 10px". + * <p> If the value of a shorthand property can not be decomposed into its + * component longhand properties, as is the case for the <code>font</code> + * property with a value of "menu", querying for the values of the component + * longhand properties should return the empty string. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSS2Properties { + /** + * See the azimuth property definition in CSS2. + */ + public String getAzimuth(); + /** + * See the azimuth property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setAzimuth(String azimuth) + throws DOMException; + + /** + * See the background property definition in CSS2. + */ + public String getBackground(); + /** + * See the background property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBackground(String background) + throws DOMException; + + /** + * See the background-attachment property definition in CSS2. + */ + public String getBackgroundAttachment(); + /** + * See the background-attachment property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBackgroundAttachment(String backgroundAttachment) + throws DOMException; + + /** + * See the background-color property definition in CSS2. + */ + public String getBackgroundColor(); + /** + * See the background-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBackgroundColor(String backgroundColor) + throws DOMException; + + /** + * See the background-image property definition in CSS2. + */ + public String getBackgroundImage(); + /** + * See the background-image property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBackgroundImage(String backgroundImage) + throws DOMException; + + /** + * See the background-position property definition in CSS2. + */ + public String getBackgroundPosition(); + /** + * See the background-position property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBackgroundPosition(String backgroundPosition) + throws DOMException; + + /** + * See the background-repeat property definition in CSS2. + */ + public String getBackgroundRepeat(); + /** + * See the background-repeat property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBackgroundRepeat(String backgroundRepeat) + throws DOMException; + + /** + * See the border property definition in CSS2. + */ + public String getBorder(); + /** + * See the border property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorder(String border) + throws DOMException; + + /** + * See the border-collapse property definition in CSS2. + */ + public String getBorderCollapse(); + /** + * See the border-collapse property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderCollapse(String borderCollapse) + throws DOMException; + + /** + * See the border-color property definition in CSS2. + */ + public String getBorderColor(); + /** + * See the border-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderColor(String borderColor) + throws DOMException; + + /** + * See the border-spacing property definition in CSS2. + */ + public String getBorderSpacing(); + /** + * See the border-spacing property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderSpacing(String borderSpacing) + throws DOMException; + + /** + * See the border-style property definition in CSS2. + */ + public String getBorderStyle(); + /** + * See the border-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderStyle(String borderStyle) + throws DOMException; + + /** + * See the border-top property definition in CSS2. + */ + public String getBorderTop(); + /** + * See the border-top property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderTop(String borderTop) + throws DOMException; + + /** + * See the border-right property definition in CSS2. + */ + public String getBorderRight(); + /** + * See the border-right property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderRight(String borderRight) + throws DOMException; + + /** + * See the border-bottom property definition in CSS2. + */ + public String getBorderBottom(); + /** + * See the border-bottom property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderBottom(String borderBottom) + throws DOMException; + + /** + * See the border-left property definition in CSS2. + */ + public String getBorderLeft(); + /** + * See the border-left property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderLeft(String borderLeft) + throws DOMException; + + /** + * See the border-top-color property definition in CSS2. + */ + public String getBorderTopColor(); + /** + * See the border-top-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderTopColor(String borderTopColor) + throws DOMException; + + /** + * See the border-right-color property definition in CSS2. + */ + public String getBorderRightColor(); + /** + * See the border-right-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderRightColor(String borderRightColor) + throws DOMException; + + /** + * See the border-bottom-color property definition in CSS2. + */ + public String getBorderBottomColor(); + /** + * See the border-bottom-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderBottomColor(String borderBottomColor) + throws DOMException; + + /** + * See the border-left-color property definition in CSS2. + */ + public String getBorderLeftColor(); + /** + * See the border-left-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderLeftColor(String borderLeftColor) + throws DOMException; + + /** + * See the border-top-style property definition in CSS2. + */ + public String getBorderTopStyle(); + /** + * See the border-top-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderTopStyle(String borderTopStyle) + throws DOMException; + + /** + * See the border-right-style property definition in CSS2. + */ + public String getBorderRightStyle(); + /** + * See the border-right-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderRightStyle(String borderRightStyle) + throws DOMException; + + /** + * See the border-bottom-style property definition in CSS2. + */ + public String getBorderBottomStyle(); + /** + * See the border-bottom-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderBottomStyle(String borderBottomStyle) + throws DOMException; + + /** + * See the border-left-style property definition in CSS2. + */ + public String getBorderLeftStyle(); + /** + * See the border-left-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderLeftStyle(String borderLeftStyle) + throws DOMException; + + /** + * See the border-top-width property definition in CSS2. + */ + public String getBorderTopWidth(); + /** + * See the border-top-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderTopWidth(String borderTopWidth) + throws DOMException; + + /** + * See the border-right-width property definition in CSS2. + */ + public String getBorderRightWidth(); + /** + * See the border-right-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderRightWidth(String borderRightWidth) + throws DOMException; + + /** + * See the border-bottom-width property definition in CSS2. + */ + public String getBorderBottomWidth(); + /** + * See the border-bottom-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderBottomWidth(String borderBottomWidth) + throws DOMException; + + /** + * See the border-left-width property definition in CSS2. + */ + public String getBorderLeftWidth(); + /** + * See the border-left-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderLeftWidth(String borderLeftWidth) + throws DOMException; + + /** + * See the border-width property definition in CSS2. + */ + public String getBorderWidth(); + /** + * See the border-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBorderWidth(String borderWidth) + throws DOMException; + + /** + * See the bottom property definition in CSS2. + */ + public String getBottom(); + /** + * See the bottom property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setBottom(String bottom) + throws DOMException; + + /** + * See the caption-side property definition in CSS2. + */ + public String getCaptionSide(); + /** + * See the caption-side property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setCaptionSide(String captionSide) + throws DOMException; + + /** + * See the clear property definition in CSS2. + */ + public String getClear(); + /** + * See the clear property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setClear(String clear) + throws DOMException; + + /** + * See the clip property definition in CSS2. + */ + public String getClip(); + /** + * See the clip property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setClip(String clip) + throws DOMException; + + /** + * See the color property definition in CSS2. + */ + public String getColor(); + /** + * See the color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setColor(String color) + throws DOMException; + + /** + * See the content property definition in CSS2. + */ + public String getContent(); + /** + * See the content property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setContent(String content) + throws DOMException; + + /** + * See the counter-increment property definition in CSS2. + */ + public String getCounterIncrement(); + /** + * See the counter-increment property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setCounterIncrement(String counterIncrement) + throws DOMException; + + /** + * See the counter-reset property definition in CSS2. + */ + public String getCounterReset(); + /** + * See the counter-reset property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setCounterReset(String counterReset) + throws DOMException; + + /** + * See the cue property definition in CSS2. + */ + public String getCue(); + /** + * See the cue property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setCue(String cue) + throws DOMException; + + /** + * See the cue-after property definition in CSS2. + */ + public String getCueAfter(); + /** + * See the cue-after property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setCueAfter(String cueAfter) + throws DOMException; + + /** + * See the cue-before property definition in CSS2. + */ + public String getCueBefore(); + /** + * See the cue-before property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setCueBefore(String cueBefore) + throws DOMException; + + /** + * See the cursor property definition in CSS2. + */ + public String getCursor(); + /** + * See the cursor property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setCursor(String cursor) + throws DOMException; + + /** + * See the direction property definition in CSS2. + */ + public String getDirection(); + /** + * See the direction property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setDirection(String direction) + throws DOMException; + + /** + * See the display property definition in CSS2. + */ + public String getDisplay(); + /** + * See the display property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setDisplay(String display) + throws DOMException; + + /** + * See the elevation property definition in CSS2. + */ + public String getElevation(); + /** + * See the elevation property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setElevation(String elevation) + throws DOMException; + + /** + * See the empty-cells property definition in CSS2. + */ + public String getEmptyCells(); + /** + * See the empty-cells property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setEmptyCells(String emptyCells) + throws DOMException; + + /** + * See the float property definition in CSS2. + */ + public String getCssFloat(); + /** + * See the float property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setCssFloat(String cssFloat) + throws DOMException; + + /** + * See the font property definition in CSS2. + */ + public String getFont(); + /** + * See the font property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setFont(String font) + throws DOMException; + + /** + * See the font-family property definition in CSS2. + */ + public String getFontFamily(); + /** + * See the font-family property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setFontFamily(String fontFamily) + throws DOMException; + + /** + * See the font-size property definition in CSS2. + */ + public String getFontSize(); + /** + * See the font-size property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setFontSize(String fontSize) + throws DOMException; + + /** + * See the font-size-adjust property definition in CSS2. + */ + public String getFontSizeAdjust(); + /** + * See the font-size-adjust property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setFontSizeAdjust(String fontSizeAdjust) + throws DOMException; + + /** + * See the font-stretch property definition in CSS2. + */ + public String getFontStretch(); + /** + * See the font-stretch property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setFontStretch(String fontStretch) + throws DOMException; + + /** + * See the font-style property definition in CSS2. + */ + public String getFontStyle(); + /** + * See the font-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setFontStyle(String fontStyle) + throws DOMException; + + /** + * See the font-variant property definition in CSS2. + */ + public String getFontVariant(); + /** + * See the font-variant property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setFontVariant(String fontVariant) + throws DOMException; + + /** + * See the font-weight property definition in CSS2. + */ + public String getFontWeight(); + /** + * See the font-weight property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setFontWeight(String fontWeight) + throws DOMException; + + /** + * See the height property definition in CSS2. + */ + public String getHeight(); + /** + * See the height property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setHeight(String height) + throws DOMException; + + /** + * See the left property definition in CSS2. + */ + public String getLeft(); + /** + * See the left property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setLeft(String left) + throws DOMException; + + /** + * See the letter-spacing property definition in CSS2. + */ + public String getLetterSpacing(); + /** + * See the letter-spacing property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setLetterSpacing(String letterSpacing) + throws DOMException; + + /** + * See the line-height property definition in CSS2. + */ + public String getLineHeight(); + /** + * See the line-height property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setLineHeight(String lineHeight) + throws DOMException; + + /** + * See the list-style property definition in CSS2. + */ + public String getListStyle(); + /** + * See the list-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setListStyle(String listStyle) + throws DOMException; + + /** + * See the list-style-image property definition in CSS2. + */ + public String getListStyleImage(); + /** + * See the list-style-image property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setListStyleImage(String listStyleImage) + throws DOMException; + + /** + * See the list-style-position property definition in CSS2. + */ + public String getListStylePosition(); + /** + * See the list-style-position property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setListStylePosition(String listStylePosition) + throws DOMException; + + /** + * See the list-style-type property definition in CSS2. + */ + public String getListStyleType(); + /** + * See the list-style-type property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setListStyleType(String listStyleType) + throws DOMException; + + /** + * See the margin property definition in CSS2. + */ + public String getMargin(); + /** + * See the margin property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setMargin(String margin) + throws DOMException; + + /** + * See the margin-top property definition in CSS2. + */ + public String getMarginTop(); + /** + * See the margin-top property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setMarginTop(String marginTop) + throws DOMException; + + /** + * See the margin-right property definition in CSS2. + */ + public String getMarginRight(); + /** + * See the margin-right property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setMarginRight(String marginRight) + throws DOMException; + + /** + * See the margin-bottom property definition in CSS2. + */ + public String getMarginBottom(); + /** + * See the margin-bottom property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setMarginBottom(String marginBottom) + throws DOMException; + + /** + * See the margin-left property definition in CSS2. + */ + public String getMarginLeft(); + /** + * See the margin-left property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setMarginLeft(String marginLeft) + throws DOMException; + + /** + * See the marker-offset property definition in CSS2. + */ + public String getMarkerOffset(); + /** + * See the marker-offset property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setMarkerOffset(String markerOffset) + throws DOMException; + + /** + * See the marks property definition in CSS2. + */ + public String getMarks(); + /** + * See the marks property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setMarks(String marks) + throws DOMException; + + /** + * See the max-height property definition in CSS2. + */ + public String getMaxHeight(); + /** + * See the max-height property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setMaxHeight(String maxHeight) + throws DOMException; + + /** + * See the max-width property definition in CSS2. + */ + public String getMaxWidth(); + /** + * See the max-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setMaxWidth(String maxWidth) + throws DOMException; + + /** + * See the min-height property definition in CSS2. + */ + public String getMinHeight(); + /** + * See the min-height property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setMinHeight(String minHeight) + throws DOMException; + + /** + * See the min-width property definition in CSS2. + */ + public String getMinWidth(); + /** + * See the min-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setMinWidth(String minWidth) + throws DOMException; + + /** + * See the orphans property definition in CSS2. + */ + public String getOrphans(); + /** + * See the orphans property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setOrphans(String orphans) + throws DOMException; + + /** + * See the outline property definition in CSS2. + */ + public String getOutline(); + /** + * See the outline property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setOutline(String outline) + throws DOMException; + + /** + * See the outline-color property definition in CSS2. + */ + public String getOutlineColor(); + /** + * See the outline-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setOutlineColor(String outlineColor) + throws DOMException; + + /** + * See the outline-style property definition in CSS2. + */ + public String getOutlineStyle(); + /** + * See the outline-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setOutlineStyle(String outlineStyle) + throws DOMException; + + /** + * See the outline-width property definition in CSS2. + */ + public String getOutlineWidth(); + /** + * See the outline-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setOutlineWidth(String outlineWidth) + throws DOMException; + + /** + * See the overflow property definition in CSS2. + */ + public String getOverflow(); + /** + * See the overflow property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setOverflow(String overflow) + throws DOMException; + + /** + * See the padding property definition in CSS2. + */ + public String getPadding(); + /** + * See the padding property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPadding(String padding) + throws DOMException; + + /** + * See the padding-top property definition in CSS2. + */ + public String getPaddingTop(); + /** + * See the padding-top property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPaddingTop(String paddingTop) + throws DOMException; + + /** + * See the padding-right property definition in CSS2. + */ + public String getPaddingRight(); + /** + * See the padding-right property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPaddingRight(String paddingRight) + throws DOMException; + + /** + * See the padding-bottom property definition in CSS2. + */ + public String getPaddingBottom(); + /** + * See the padding-bottom property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPaddingBottom(String paddingBottom) + throws DOMException; + + /** + * See the padding-left property definition in CSS2. + */ + public String getPaddingLeft(); + /** + * See the padding-left property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPaddingLeft(String paddingLeft) + throws DOMException; + + /** + * See the page property definition in CSS2. + */ + public String getPage(); + /** + * See the page property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPage(String page) + throws DOMException; + + /** + * See the page-break-after property definition in CSS2. + */ + public String getPageBreakAfter(); + /** + * See the page-break-after property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPageBreakAfter(String pageBreakAfter) + throws DOMException; + + /** + * See the page-break-before property definition in CSS2. + */ + public String getPageBreakBefore(); + /** + * See the page-break-before property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPageBreakBefore(String pageBreakBefore) + throws DOMException; + + /** + * See the page-break-inside property definition in CSS2. + */ + public String getPageBreakInside(); + /** + * See the page-break-inside property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPageBreakInside(String pageBreakInside) + throws DOMException; + + /** + * See the pause property definition in CSS2. + */ + public String getPause(); + /** + * See the pause property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPause(String pause) + throws DOMException; + + /** + * See the pause-after property definition in CSS2. + */ + public String getPauseAfter(); + /** + * See the pause-after property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPauseAfter(String pauseAfter) + throws DOMException; + + /** + * See the pause-before property definition in CSS2. + */ + public String getPauseBefore(); + /** + * See the pause-before property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPauseBefore(String pauseBefore) + throws DOMException; + + /** + * See the pitch property definition in CSS2. + */ + public String getPitch(); + /** + * See the pitch property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPitch(String pitch) + throws DOMException; + + /** + * See the pitch-range property definition in CSS2. + */ + public String getPitchRange(); + /** + * See the pitch-range property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPitchRange(String pitchRange) + throws DOMException; + + /** + * See the play-during property definition in CSS2. + */ + public String getPlayDuring(); + /** + * See the play-during property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPlayDuring(String playDuring) + throws DOMException; + + /** + * See the position property definition in CSS2. + */ + public String getPosition(); + /** + * See the position property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setPosition(String position) + throws DOMException; + + /** + * See the quotes property definition in CSS2. + */ + public String getQuotes(); + /** + * See the quotes property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setQuotes(String quotes) + throws DOMException; + + /** + * See the richness property definition in CSS2. + */ + public String getRichness(); + /** + * See the richness property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setRichness(String richness) + throws DOMException; + + /** + * See the right property definition in CSS2. + */ + public String getRight(); + /** + * See the right property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setRight(String right) + throws DOMException; + + /** + * See the size property definition in CSS2. + */ + public String getSize(); + /** + * See the size property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setSize(String size) + throws DOMException; + + /** + * See the speak property definition in CSS2. + */ + public String getSpeak(); + /** + * See the speak property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setSpeak(String speak) + throws DOMException; + + /** + * See the speak-header property definition in CSS2. + */ + public String getSpeakHeader(); + /** + * See the speak-header property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setSpeakHeader(String speakHeader) + throws DOMException; + + /** + * See the speak-numeral property definition in CSS2. + */ + public String getSpeakNumeral(); + /** + * See the speak-numeral property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setSpeakNumeral(String speakNumeral) + throws DOMException; + + /** + * See the speak-punctuation property definition in CSS2. + */ + public String getSpeakPunctuation(); + /** + * See the speak-punctuation property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setSpeakPunctuation(String speakPunctuation) + throws DOMException; + + /** + * See the speech-rate property definition in CSS2. + */ + public String getSpeechRate(); + /** + * See the speech-rate property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setSpeechRate(String speechRate) + throws DOMException; + + /** + * See the stress property definition in CSS2. + */ + public String getStress(); + /** + * See the stress property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setStress(String stress) + throws DOMException; + + /** + * See the table-layout property definition in CSS2. + */ + public String getTableLayout(); + /** + * See the table-layout property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setTableLayout(String tableLayout) + throws DOMException; + + /** + * See the text-align property definition in CSS2. + */ + public String getTextAlign(); + /** + * See the text-align property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setTextAlign(String textAlign) + throws DOMException; + + /** + * See the text-decoration property definition in CSS2. + */ + public String getTextDecoration(); + /** + * See the text-decoration property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setTextDecoration(String textDecoration) + throws DOMException; + + /** + * See the text-indent property definition in CSS2. + */ + public String getTextIndent(); + /** + * See the text-indent property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setTextIndent(String textIndent) + throws DOMException; + + /** + * See the text-shadow property definition in CSS2. + */ + public String getTextShadow(); + /** + * See the text-shadow property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setTextShadow(String textShadow) + throws DOMException; + + /** + * See the text-transform property definition in CSS2. + */ + public String getTextTransform(); + /** + * See the text-transform property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setTextTransform(String textTransform) + throws DOMException; + + /** + * See the top property definition in CSS2. + */ + public String getTop(); + /** + * See the top property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setTop(String top) + throws DOMException; + + /** + * See the unicode-bidi property definition in CSS2. + */ + public String getUnicodeBidi(); + /** + * See the unicode-bidi property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setUnicodeBidi(String unicodeBidi) + throws DOMException; + + /** + * See the vertical-align property definition in CSS2. + */ + public String getVerticalAlign(); + /** + * See the vertical-align property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setVerticalAlign(String verticalAlign) + throws DOMException; + + /** + * See the visibility property definition in CSS2. + */ + public String getVisibility(); + /** + * See the visibility property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setVisibility(String visibility) + throws DOMException; + + /** + * See the voice-family property definition in CSS2. + */ + public String getVoiceFamily(); + /** + * See the voice-family property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setVoiceFamily(String voiceFamily) + throws DOMException; + + /** + * See the volume property definition in CSS2. + */ + public String getVolume(); + /** + * See the volume property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setVolume(String volume) + throws DOMException; + + /** + * See the white-space property definition in CSS2. + */ + public String getWhiteSpace(); + /** + * See the white-space property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setWhiteSpace(String whiteSpace) + throws DOMException; + + /** + * See the widows property definition in CSS2. + */ + public String getWidows(); + /** + * See the widows property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setWidows(String widows) + throws DOMException; + + /** + * See the width property definition in CSS2. + */ + public String getWidth(); + /** + * See the width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setWidth(String width) + throws DOMException; + + /** + * See the word-spacing property definition in CSS2. + */ + public String getWordSpacing(); + /** + * See the word-spacing property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setWordSpacing(String wordSpacing) + throws DOMException; + + /** + * See the z-index property definition in CSS2. + */ + public String getZIndex(); + /** + * See the z-index property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setZIndex(String zIndex) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSCharsetRule.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSCharsetRule.java new file mode 100644 index 000000000..55dc6f8cc --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSCharsetRule.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The <code>CSSCharsetRule</code> interface represents a @charset rule in a + * CSS style sheet. The value of the <code>encoding</code> attribute does + * not affect the encoding of text data in the DOM objects; this encoding is + * always UTF-16. After a stylesheet is loaded, the value of the + * <code>encoding</code> attribute is the value found in the + * <code>@charset</code> rule. If there was no <code>@charset</code> in the + * original document, then no <code>CSSCharsetRule</code> is created. The + * value of the <code>encoding</code> attribute may also be used as a hint + * for the encoding used on serialization of the style sheet. + * <p> The value of the @charset rule (and therefore of the + * <code>CSSCharsetRule</code>) may not correspond to the encoding the + * document actually came in; character encoding information e.g. in an HTTP + * header, has priority (see CSS document representation) but this is not + * reflected in the <code>CSSCharsetRule</code>. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSCharsetRule extends CSSRule { + /** + * The encoding information used in this <code>@charset</code> rule. + */ + public String getEncoding(); + /** + * The encoding information used in this <code>@charset</code> rule. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified encoding value has a syntax error + * and is unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this encoding rule is + * readonly. + */ + public void setEncoding(String encoding) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSFontFaceRule.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSFontFaceRule.java new file mode 100644 index 000000000..e446ea8c5 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSFontFaceRule.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The <code>CSSFontFaceRule</code> interface represents a @font-face rule in + * a CSS style sheet. The <code>@font-face</code> rule is used to hold a set + * of font descriptions. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSFontFaceRule extends CSSRule { + /** + * The declaration-block of this rule. + */ + public CSSStyleDeclaration getStyle(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSImportRule.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSImportRule.java new file mode 100644 index 000000000..3dee5d80b --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSImportRule.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.stylesheets.MediaList; + +/** + * The <code>CSSImportRule</code> interface represents a @import rule within + * a CSS style sheet. The <code>@import</code> rule is used to import style + * rules from other style sheets. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSImportRule extends CSSRule { + /** + * The location of the style sheet to be imported. The attribute will not + * contain the <code>"url(...)"</code> specifier around the URI. + */ + public String getHref(); + + /** + * A list of media types for which this style sheet may be used. + */ + public MediaList getMedia(); + + /** + * The style sheet referred to by this rule, if it has been loaded. The + * value of this attribute is <code>null</code> if the style sheet has + * not yet been loaded or if it will not be loaded (e.g. if the style + * sheet is for a media type not supported by the user agent). + */ + public CSSStyleSheet getStyleSheet(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSMediaRule.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSMediaRule.java new file mode 100644 index 000000000..6e977923d --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSMediaRule.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; +import org.w3c.dom.stylesheets.MediaList; + +/** + * The <code>CSSMediaRule</code> interface represents a @media rule in a CSS + * style sheet. A <code>@media</code> rule can be used to delimit style + * rules for specific media types. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSMediaRule extends CSSRule { + /** + * A list of media types for this rule. + */ + public MediaList getMedia(); + + /** + * A list of all CSS rules contained within the media block. + */ + public CSSRuleList getCssRules(); + + /** + * Used to insert a new rule into the media block. + * @param rule The parsable text representing the rule. For rule sets + * this contains both the selector and the style declaration. For + * at-rules, this specifies both the at-identifier and the rule + * content. + * @param index The index within the media block's rule collection of + * the rule before which to insert the specified rule. If the + * specified index is equal to the length of the media blocks's rule + * collection, the rule will be added to the end of the media block. + * @return The index within the media block's rule collection of the + * newly inserted rule. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the + * specified index, e.g., if an <code>@import</code> rule is inserted + * after a standard rule set or other at-rule. + * <br>INDEX_SIZE_ERR: Raised if the specified index is not a valid + * insertion point. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is + * readonly. + * <br>SYNTAX_ERR: Raised if the specified rule has a syntax error and + * is unparsable. + */ + public int insertRule(String rule, + int index) + throws DOMException; + + /** + * Used to delete a rule from the media block. + * @param index The index within the media block's rule collection of + * the rule to remove. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified index does not correspond to + * a rule in the media rule list. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is + * readonly. + */ + public void deleteRule(int index) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSPageRule.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSPageRule.java new file mode 100644 index 000000000..eb8f783f5 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSPageRule.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The <code>CSSPageRule</code> interface represents a @page rule within a + * CSS style sheet. The <code>@page</code> rule is used to specify the + * dimensions, orientation, margins, etc. of a page box for paged media. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSPageRule extends CSSRule { + /** + * The parsable textual representation of the page selector for the rule. + */ + public String getSelectorText(); + /** + * The parsable textual representation of the page selector for the rule. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified CSS string value has a syntax + * error and is unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly. + */ + public void setSelectorText(String selectorText) + throws DOMException; + + /** + * The declaration-block of this rule. + */ + public CSSStyleDeclaration getStyle(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSPrimitiveValue.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSPrimitiveValue.java new file mode 100644 index 000000000..25f906a70 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSPrimitiveValue.java @@ -0,0 +1,296 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The <code>CSSPrimitiveValue</code> interface represents a single CSS value + * . This interface may be used to determine the value of a specific style + * property currently set in a block or to set a specific style property + * explicitly within the block. An instance of this interface might be + * obtained from the <code>getPropertyCSSValue</code> method of the + * <code>CSSStyleDeclaration</code> interface. A + * <code>CSSPrimitiveValue</code> object only occurs in a context of a CSS + * property. + * <p> Conversions are allowed between absolute values (from millimeters to + * centimeters, from degrees to radians, and so on) but not between relative + * values. (For example, a pixel value cannot be converted to a centimeter + * value.) Percentage values can't be converted since they are relative to + * the parent value (or another property value). There is one exception for + * color percentage values: since a color percentage value is relative to + * the range 0-255, a color percentage value can be converted to a number; + * (see also the <code>RGBColor</code> interface). + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSPrimitiveValue extends CSSValue { + // UnitTypes + /** + * The value is not a recognized CSS2 value. The value can only be + * obtained by using the <code>cssText</code> attribute. + */ + public static final short CSS_UNKNOWN = 0; + /** + * The value is a simple number. The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_NUMBER = 1; + /** + * The value is a percentage. The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_PERCENTAGE = 2; + /** + * The value is a length (ems). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_EMS = 3; + /** + * The value is a length (exs). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_EXS = 4; + /** + * The value is a length (px). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_PX = 5; + /** + * The value is a length (cm). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_CM = 6; + /** + * The value is a length (mm). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_MM = 7; + /** + * The value is a length (in). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_IN = 8; + /** + * The value is a length (pt). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_PT = 9; + /** + * The value is a length (pc). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_PC = 10; + /** + * The value is an angle (deg). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_DEG = 11; + /** + * The value is an angle (rad). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_RAD = 12; + /** + * The value is an angle (grad). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_GRAD = 13; + /** + * The value is a time (ms). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_MS = 14; + /** + * The value is a time (s). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_S = 15; + /** + * The value is a frequency (Hz). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_HZ = 16; + /** + * The value is a frequency (kHz). The value can be obtained by using the + * <code>getFloatValue</code> method. + */ + public static final short CSS_KHZ = 17; + /** + * The value is a number with an unknown dimension. The value can be + * obtained by using the <code>getFloatValue</code> method. + */ + public static final short CSS_DIMENSION = 18; + /** + * The value is a STRING. The value can be obtained by using the + * <code>getStringValue</code> method. + */ + public static final short CSS_STRING = 19; + /** + * The value is a URI. The value can be obtained by using the + * <code>getStringValue</code> method. + */ + public static final short CSS_URI = 20; + /** + * The value is an identifier. The value can be obtained by using the + * <code>getStringValue</code> method. + */ + public static final short CSS_IDENT = 21; + /** + * The value is a attribute function. The value can be obtained by using + * the <code>getStringValue</code> method. + */ + public static final short CSS_ATTR = 22; + /** + * The value is a counter or counters function. The value can be obtained + * by using the <code>getCounterValue</code> method. + */ + public static final short CSS_COUNTER = 23; + /** + * The value is a rect function. The value can be obtained by using the + * <code>getRectValue</code> method. + */ + public static final short CSS_RECT = 24; + /** + * The value is a RGB color. The value can be obtained by using the + * <code>getRGBColorValue</code> method. + */ + public static final short CSS_RGBCOLOR = 25; + + /** + * The type of the value as defined by the constants specified above. + */ + public short getPrimitiveType(); + + /** + * A method to set the float value with a specified unit. If the property + * attached with this value can not accept the specified unit or the + * float value, the value will be unchanged and a + * <code>DOMException</code> will be raised. + * @param unitType A unit code as defined above. The unit code can only + * be a float unit type (i.e. <code>CSS_NUMBER</code>, + * <code>CSS_PERCENTAGE</code>, <code>CSS_EMS</code>, + * <code>CSS_EXS</code>, <code>CSS_PX</code>, <code>CSS_CM</code>, + * <code>CSS_MM</code>, <code>CSS_IN</code>, <code>CSS_PT</code>, + * <code>CSS_PC</code>, <code>CSS_DEG</code>, <code>CSS_RAD</code>, + * <code>CSS_GRAD</code>, <code>CSS_MS</code>, <code>CSS_S</code>, + * <code>CSS_HZ</code>, <code>CSS_KHZ</code>, + * <code>CSS_DIMENSION</code>). + * @param floatValue The new float value. + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the attached property doesn't support + * the float value or the unit type. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setFloatValue(short unitType, + float floatValue) + throws DOMException; + + /** + * This method is used to get a float value in a specified unit. If this + * CSS value doesn't contain a float value or can't be converted into + * the specified unit, a <code>DOMException</code> is raised. + * @param unitType A unit code to get the float value. The unit code can + * only be a float unit type (i.e. <code>CSS_NUMBER</code>, + * <code>CSS_PERCENTAGE</code>, <code>CSS_EMS</code>, + * <code>CSS_EXS</code>, <code>CSS_PX</code>, <code>CSS_CM</code>, + * <code>CSS_MM</code>, <code>CSS_IN</code>, <code>CSS_PT</code>, + * <code>CSS_PC</code>, <code>CSS_DEG</code>, <code>CSS_RAD</code>, + * <code>CSS_GRAD</code>, <code>CSS_MS</code>, <code>CSS_S</code>, + * <code>CSS_HZ</code>, <code>CSS_KHZ</code>, + * <code>CSS_DIMENSION</code>). + * @return The float value in the specified unit. + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a float + * value or if the float value can't be converted into the specified + * unit. + */ + public float getFloatValue(short unitType) + throws DOMException; + + /** + * A method to set the string value with the specified unit. If the + * property attached to this value can't accept the specified unit or + * the string value, the value will be unchanged and a + * <code>DOMException</code> will be raised. + * @param stringType A string code as defined above. The string code can + * only be a string unit type (i.e. <code>CSS_STRING</code>, + * <code>CSS_URI</code>, <code>CSS_IDENT</code>, and + * <code>CSS_ATTR</code>). + * @param stringValue The new string value. + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string + * value or if the string value can't be converted into the specified + * unit. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setStringValue(short stringType, + String stringValue) + throws DOMException; + + /** + * This method is used to get the string value. If the CSS value doesn't + * contain a string value, a <code>DOMException</code> is raised. Some + * properties (like 'font-family' or 'voice-family') convert a + * whitespace separated list of idents to a string. + * @return The string value in the current unit. The current + * <code>primitiveType</code> can only be a string unit type (i.e. + * <code>CSS_STRING</code>, <code>CSS_URI</code>, + * <code>CSS_IDENT</code> and <code>CSS_ATTR</code>). + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string + * value. + */ + public String getStringValue() + throws DOMException; + + /** + * This method is used to get the Counter value. If this CSS value + * doesn't contain a counter value, a <code>DOMException</code> is + * raised. Modification to the corresponding style property can be + * achieved using the <code>Counter</code> interface. + * @return The Counter value. + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a + * Counter value (e.g. this is not <code>CSS_COUNTER</code>). + */ + public Counter getCounterValue() + throws DOMException; + + /** + * This method is used to get the Rect value. If this CSS value doesn't + * contain a rect value, a <code>DOMException</code> is raised. + * Modification to the corresponding style property can be achieved + * using the <code>Rect</code> interface. + * @return The Rect value. + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a Rect + * value. (e.g. this is not <code>CSS_RECT</code>). + */ + public Rect getRectValue() + throws DOMException; + + /** + * This method is used to get the RGB color. If this CSS value doesn't + * contain a RGB color value, a <code>DOMException</code> is raised. + * Modification to the corresponding style property can be achieved + * using the <code>RGBColor</code> interface. + * @return the RGB color value. + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the attached property can't return a + * RGB color value (e.g. this is not <code>CSS_RGBCOLOR</code>). + */ + public RGBColor getRGBColorValue() + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSRule.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSRule.java new file mode 100644 index 000000000..dfd98aed9 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSRule.java @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The <code>CSSRule</code> interface is the abstract base interface for any + * type of CSS statement. This includes both rule sets and at-rules. An + * implementation is expected to preserve all rules specified in a CSS style + * sheet, even if the rule is not recognized by the parser. Unrecognized + * rules are represented using the <code>CSSUnknownRule</code> interface. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSRule { + // RuleType + /** + * The rule is a <code>CSSUnknownRule</code>. + */ + public static final short UNKNOWN_RULE = 0; + /** + * The rule is a <code>CSSStyleRule</code>. + */ + public static final short STYLE_RULE = 1; + /** + * The rule is a <code>CSSCharsetRule</code>. + */ + public static final short CHARSET_RULE = 2; + /** + * The rule is a <code>CSSImportRule</code>. + */ + public static final short IMPORT_RULE = 3; + /** + * The rule is a <code>CSSMediaRule</code>. + */ + public static final short MEDIA_RULE = 4; + /** + * The rule is a <code>CSSFontFaceRule</code>. + */ + public static final short FONT_FACE_RULE = 5; + /** + * The rule is a <code>CSSPageRule</code>. + */ + public static final short PAGE_RULE = 6; + + /** + * The type of the rule, as defined above. The expectation is that + * binding-specific casting methods can be used to cast down from an + * instance of the <code>CSSRule</code> interface to the specific + * derived interface implied by the <code>type</code>. + */ + public short getType(); + + /** + * The parsable textual representation of the rule. This reflects the + * current state of the rule and not its initial value. + */ + public String getCssText(); + /** + * The parsable textual representation of the rule. This reflects the + * current state of the rule and not its initial value. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified CSS string value has a syntax + * error and is unparsable. + * <br>INVALID_MODIFICATION_ERR: Raised if the specified CSS string + * value represents a different type of rule than the current one. + * <br>HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at + * this point in the style sheet. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if the rule is readonly. + */ + public void setCssText(String cssText) + throws DOMException; + + /** + * The style sheet that contains this rule. + */ + public CSSStyleSheet getParentStyleSheet(); + + /** + * If this rule is contained inside another rule (e.g. a style rule + * inside an @media block), this is the containing rule. If this rule is + * not nested inside any other rules, this returns <code>null</code>. + */ + public CSSRule getParentRule(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSRuleList.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSRuleList.java new file mode 100644 index 000000000..b875210cc --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSRuleList.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The <code>CSSRuleList</code> interface provides the abstraction of an + * ordered collection of CSS rules. + * <p> The items in the <code>CSSRuleList</code> are accessible via an + * integral index, starting from 0. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSRuleList { + /** + * The number of <code>CSSRules</code> in the list. The range of valid + * child rule indices is <code>0</code> to <code>length-1</code> + * inclusive. + */ + public int getLength(); + + /** + * Used to retrieve a CSS rule by ordinal index. The order in this + * collection represents the order of the rules in the CSS style sheet. + * If index is greater than or equal to the number of rules in the list, + * this returns <code>null</code>. + * @param index Index into the collection + * @return The style rule at the <code>index</code> position in the + * <code>CSSRuleList</code>, or <code>null</code> if that is not a + * valid index. + */ + public CSSRule item(int index); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSStyleDeclaration.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSStyleDeclaration.java new file mode 100644 index 000000000..91b9d9adf --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSStyleDeclaration.java @@ -0,0 +1,162 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The <code>CSSStyleDeclaration</code> interface represents a single CSS + * declaration block. This interface may be used to determine the style + * properties currently set in a block or to set style properties explicitly + * within the block. + * <p> While an implementation may not recognize all CSS properties within a + * CSS declaration block, it is expected to provide access to all specified + * properties in the style sheet through the <code>CSSStyleDeclaration</code> + * interface. Furthermore, implementations that support a specific level of + * CSS should correctly handle CSS shorthand properties for that level. For + * a further discussion of shorthand properties, see the + * <code>CSS2Properties</code> interface. + * <p> This interface is also used to provide a read-only access to the + * computed values of an element. See also the <code>ViewCSS</code> + * interface. The CSS Object Model doesn't provide an access to the + * specified or actual values of the CSS cascade. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSStyleDeclaration { + /** + * The parsable textual representation of the declaration block + * (excluding the surrounding curly braces). Setting this attribute will + * result in the parsing of the new value and resetting of all the + * properties in the declaration block including the removal or addition + * of properties. + */ + public String getCssText(); + /** + * The parsable textual representation of the declaration block + * (excluding the surrounding curly braces). Setting this attribute will + * result in the parsing of the new value and resetting of all the + * properties in the declaration block including the removal or addition + * of properties. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified CSS string value has a syntax + * error and is unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is + * readonly or a property is readonly. + */ + public void setCssText(String cssText) + throws DOMException; + + /** + * Used to retrieve the value of a CSS property if it has been explicitly + * set within this declaration block. + * @param propertyName The name of the CSS property. See the CSS + * property index. + * @return Returns the value of the property if it has been explicitly + * set for this declaration block. Returns the empty string if the + * property has not been set. + */ + public String getPropertyValue(String propertyName); + + /** + * Used to retrieve the object representation of the value of a CSS + * property if it has been explicitly set within this declaration block. + * This method returns <code>null</code> if the property is a shorthand + * property. Shorthand property values can only be accessed and modified + * as strings, using the <code>getPropertyValue</code> and + * <code>setProperty</code> methods. + * @param propertyName The name of the CSS property. See the CSS + * property index. + * @return Returns the value of the property if it has been explicitly + * set for this declaration block. Returns <code>null</code> if the + * property has not been set. + */ + public CSSValue getPropertyCSSValue(String propertyName); + + /** + * Used to remove a CSS property if it has been explicitly set within + * this declaration block. + * @param propertyName The name of the CSS property. See the CSS + * property index. + * @return Returns the value of the property if it has been explicitly + * set for this declaration block. Returns the empty string if the + * property has not been set or the property name does not correspond + * to a known CSS property. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is readonly + * or the property is readonly. + */ + public String removeProperty(String propertyName) + throws DOMException; + + /** + * Used to retrieve the priority of a CSS property (e.g. the + * <code>"important"</code> qualifier) if the priority has been + * explicitly set in this declaration block. + * @param propertyName The name of the CSS property. See the CSS + * property index. + * @return A string representing the priority (e.g. + * <code>"important"</code>) if the property has been explicitly set + * in this declaration block and has a priority specified. The empty + * string otherwise. + */ + public String getPropertyPriority(String propertyName); + + /** + * Used to set a property value and priority within this declaration + * block. <code>setProperty</code> permits to modify a property or add a + * new one in the declaration block. Any call to this method may modify + * the order of properties in the <code>item</code> method. + * @param propertyName The name of the CSS property. See the CSS + * property index. + * @param value The new value of the property. + * @param priority The new priority of the property (e.g. + * <code>"important"</code>) or the empty string if none. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified value has a syntax error and is + * unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is + * readonly or the property is readonly. + */ + public void setProperty(String propertyName, + String value, + String priority) + throws DOMException; + + /** + * The number of properties that have been explicitly set in this + * declaration block. The range of valid indices is 0 to length-1 + * inclusive. + */ + public int getLength(); + + /** + * Used to retrieve the properties that have been explicitly set in this + * declaration block. The order of the properties retrieved using this + * method does not have to be the order in which they were set. This + * method can be used to iterate over all properties in this declaration + * block. + * @param index Index of the property name to retrieve. + * @return The name of the property at this ordinal position. The empty + * string if no property exists at this position. + */ + public String item(int index); + + /** + * The CSS rule that contains this declaration block or <code>null</code> + * if this <code>CSSStyleDeclaration</code> is not attached to a + * <code>CSSRule</code>. + */ + public CSSRule getParentRule(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSStyleRule.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSStyleRule.java new file mode 100644 index 000000000..e7377dcbe --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSStyleRule.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The <code>CSSStyleRule</code> interface represents a single rule set in a + * CSS style sheet. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSStyleRule extends CSSRule { + /** + * The textual representation of the selector for the rule set. The + * implementation may have stripped out insignificant whitespace while + * parsing the selector. + */ + public String getSelectorText(); + /** + * The textual representation of the selector for the rule set. The + * implementation may have stripped out insignificant whitespace while + * parsing the selector. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified CSS string value has a syntax + * error and is unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly. + */ + public void setSelectorText(String selectorText) + throws DOMException; + + /** + * The declaration-block of this rule set. + */ + public CSSStyleDeclaration getStyle(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSStyleSheet.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSStyleSheet.java new file mode 100644 index 000000000..c9538e436 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSStyleSheet.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; +import org.w3c.dom.stylesheets.StyleSheet; + +/** + * The <code>CSSStyleSheet</code> interface is a concrete interface used to + * represent a CSS style sheet i.e., a style sheet whose content type is + * "text/css". + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSStyleSheet extends StyleSheet { + /** + * If this style sheet comes from an <code>@import</code> rule, the + * <code>ownerRule</code> attribute will contain the + * <code>CSSImportRule</code>. In that case, the <code>ownerNode</code> + * attribute in the <code>StyleSheet</code> interface will be + * <code>null</code>. If the style sheet comes from an element or a + * processing instruction, the <code>ownerRule</code> attribute will be + * <code>null</code> and the <code>ownerNode</code> attribute will + * contain the <code>Node</code>. + */ + public CSSRule getOwnerRule(); + + /** + * The list of all CSS rules contained within the style sheet. This + * includes both rule sets and at-rules. + */ + public CSSRuleList getCssRules(); + + /** + * Used to insert a new rule into the style sheet. The new rule now + * becomes part of the cascade. + * @param rule The parsable text representing the rule. For rule sets + * this contains both the selector and the style declaration. For + * at-rules, this specifies both the at-identifier and the rule + * content. + * @param index The index within the style sheet's rule list of the rule + * before which to insert the specified rule. If the specified index + * is equal to the length of the style sheet's rule collection, the + * rule will be added to the end of the style sheet. + * @return The index within the style sheet's rule collection of the + * newly inserted rule. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the + * specified index e.g. if an <code>@import</code> rule is inserted + * after a standard rule set or other at-rule. + * <br>INDEX_SIZE_ERR: Raised if the specified index is not a valid + * insertion point. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is + * readonly. + * <br>SYNTAX_ERR: Raised if the specified rule has a syntax error and + * is unparsable. + */ + public int insertRule(String rule, + int index) + throws DOMException; + + /** + * Used to delete a rule from the style sheet. + * @param index The index within the style sheet's rule list of the rule + * to remove. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified index does not correspond to + * a rule in the style sheet's rule list. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is + * readonly. + */ + public void deleteRule(int index) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSUnknownRule.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSUnknownRule.java new file mode 100644 index 000000000..d01c1ac27 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSUnknownRule.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The <code>CSSUnknownRule</code> interface represents an at-rule not + * supported by this user agent. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSUnknownRule extends CSSRule { +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSValue.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSValue.java new file mode 100644 index 000000000..3a43a17f1 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSValue.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The <code>CSSValue</code> interface represents a simple or a complex + * value. A <code>CSSValue</code> object only occurs in a context of a CSS + * property. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSValue { + // UnitTypes + /** + * The value is inherited and the <code>cssText</code> contains "inherit". + */ + public static final short CSS_INHERIT = 0; + /** + * The value is a primitive value and an instance of the + * <code>CSSPrimitiveValue</code> interface can be obtained by using + * binding-specific casting methods on this instance of the + * <code>CSSValue</code> interface. + */ + public static final short CSS_PRIMITIVE_VALUE = 1; + /** + * The value is a <code>CSSValue</code> list and an instance of the + * <code>CSSValueList</code> interface can be obtained by using + * binding-specific casting methods on this instance of the + * <code>CSSValue</code> interface. + */ + public static final short CSS_VALUE_LIST = 2; + /** + * The value is a custom value. + */ + public static final short CSS_CUSTOM = 3; + + /** + * A string representation of the current value. + */ + public String getCssText(); + /** + * A string representation of the current value. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified CSS string value has a syntax + * error (according to the attached property) or is unparsable. + * <br>INVALID_MODIFICATION_ERR: Raised if the specified CSS string + * value represents a different type of values than the values allowed + * by the CSS property. + * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this value is readonly. + */ + public void setCssText(String cssText) + throws DOMException; + + /** + * A code defining the type of the value as defined above. + */ + public short getCssValueType(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSValueList.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSValueList.java new file mode 100644 index 000000000..4e29bfa3f --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSValueList.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The <code>CSSValueList</code> interface provides the abstraction of an + * ordered collection of CSS values. + * <p> Some properties allow an empty list into their syntax. In that case, + * these properties take the <code>none</code> identifier. So, an empty list + * means that the property has the value <code>none</code>. + * <p> The items in the <code>CSSValueList</code> are accessible via an + * integral index, starting from 0. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface CSSValueList extends CSSValue { + /** + * The number of <code>CSSValues</code> in the list. The range of valid + * values of the indices is <code>0</code> to <code>length-1</code> + * inclusive. + */ + public int getLength(); + + /** + * Used to retrieve a <code>CSSValue</code> by ordinal index. The order in + * this collection represents the order of the values in the CSS style + * property. If index is greater than or equal to the number of values + * in the list, this returns <code>null</code>. + * @param index Index into the collection. + * @return The <code>CSSValue</code> at the <code>index</code> position + * in the <code>CSSValueList</code>, or <code>null</code> if that is + * not a valid index. + */ + public CSSValue item(int index); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/Counter.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/Counter.java new file mode 100644 index 000000000..7bfcc79f8 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/Counter.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The <code>Counter</code> interface is used to represent any counter or + * counters function value. This interface reflects the values in the + * underlying style property. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface Counter { + /** + * This attribute is used for the identifier of the counter. + */ + public String getIdentifier(); + + /** + * This attribute is used for the style of the list. + */ + public String getListStyle(); + + /** + * This attribute is used for the separator of the nested counters. + */ + public String getSeparator(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/DOMImplementationCSS.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/DOMImplementationCSS.java new file mode 100644 index 000000000..90c6c135d --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/DOMImplementationCSS.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMImplementation; +import org.w3c.dom.DOMException; + +/** + * This interface allows the DOM user to create a <code>CSSStyleSheet</code> + * outside the context of a document. There is no way to associate the new + * <code>CSSStyleSheet</code> with a document in DOM Level 2. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface DOMImplementationCSS extends DOMImplementation { + /** + * Creates a new <code>CSSStyleSheet</code>. + * @param title The advisory title. See also the section. + * @param media The comma-separated list of media associated with the + * new style sheet. See also the section. + * @return A new CSS style sheet. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified media string value has a syntax + * error and is unparsable. + */ + public CSSStyleSheet createCSSStyleSheet(String title, + String media) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/DocumentCSS.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/DocumentCSS.java new file mode 100644 index 000000000..68a910754 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/DocumentCSS.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.Element; +import org.w3c.dom.stylesheets.DocumentStyle; + +/** + * This interface represents a document with a CSS view. + * <p> The <code>getOverrideStyle</code> method provides a mechanism through + * which a DOM author could effect immediate change to the style of an + * element without modifying the explicitly linked style sheets of a + * document or the inline style of elements in the style sheets. This style + * sheet comes after the author style sheet in the cascade algorithm and is + * called override style sheet. The override style sheet takes precedence + * over author style sheets. An "!important" declaration still takes + * precedence over a normal declaration. Override, author, and user style + * sheets all may contain "!important" declarations. User "!important" rules + * take precedence over both override and author "!important" rules, and + * override "!important" rules take precedence over author "!important" + * rules. + * <p> The expectation is that an instance of the <code>DocumentCSS</code> + * interface can be obtained by using binding-specific casting methods on an + * instance of the <code>Document</code> interface. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface DocumentCSS extends DocumentStyle { + /** + * This method is used to retrieve the override style declaration for a + * specified element and a specified pseudo-element. + * @param elt The element whose style is to be modified. This parameter + * cannot be null. + * @param pseudoElt The pseudo-element or <code>null</code> if none. + * @return The override style declaration. + */ + public CSSStyleDeclaration getOverrideStyle(Element elt, + String pseudoElt); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/ElementCSSInlineStyle.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/ElementCSSInlineStyle.java new file mode 100644 index 000000000..e1f25060c --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/ElementCSSInlineStyle.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * Inline style information attached to elements is exposed through the + * <code>style</code> attribute. This represents the contents of the STYLE + * attribute for HTML elements (or elements in other schemas or DTDs which + * use the STYLE attribute in the same way). The expectation is that an + * instance of the ElementCSSInlineStyle interface can be obtained by using + * binding-specific casting methods on an instance of the Element interface + * when the element supports inline CSS style informations. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface ElementCSSInlineStyle { + /** + * The style attribute. + */ + public CSSStyleDeclaration getStyle(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/RGBColor.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/RGBColor.java new file mode 100644 index 000000000..215e291da --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/RGBColor.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The <code>RGBColor</code> interface is used to represent any RGB color + * value. This interface reflects the values in the underlying style + * property. Hence, modifications made to the <code>CSSPrimitiveValue</code> + * objects modify the style property. + * <p> A specified RGB color is not clipped (even if the number is outside the + * range 0-255 or 0%-100%). A computed RGB color is clipped depending on the + * device. + * <p> Even if a style sheet can only contain an integer for a color value, + * the internal storage of this integer is a float, and this can be used as + * a float in the specified or the computed style. + * <p> A color percentage value can always be converted to a number and vice + * versa. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface RGBColor { + /** + * This attribute is used for the red value of the RGB color. + */ + public CSSPrimitiveValue getRed(); + + /** + * This attribute is used for the green value of the RGB color. + */ + public CSSPrimitiveValue getGreen(); + + /** + * This attribute is used for the blue value of the RGB color. + */ + public CSSPrimitiveValue getBlue(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/Rect.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/Rect.java new file mode 100644 index 000000000..ffbf96547 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/Rect.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The <code>Rect</code> interface is used to represent any rect value. This + * interface reflects the values in the underlying style property. Hence, + * modifications made to the <code>CSSPrimitiveValue</code> objects modify + * the style property. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface Rect { + /** + * This attribute is used for the top of the rect. + */ + public CSSPrimitiveValue getTop(); + + /** + * This attribute is used for the right of the rect. + */ + public CSSPrimitiveValue getRight(); + + /** + * This attribute is used for the bottom of the rect. + */ + public CSSPrimitiveValue getBottom(); + + /** + * This attribute is used for the left of the rect. + */ + public CSSPrimitiveValue getLeft(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/css/ViewCSS.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/ViewCSS.java new file mode 100644 index 000000000..1db9ac44c --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/css/ViewCSS.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.Element; +import org.w3c.dom.views.AbstractView; + +/** + * This interface represents a CSS view. The <code>getComputedStyle</code> + * method provides a read only access to the computed values of an element. + * <p> The expectation is that an instance of the <code>ViewCSS</code> + * interface can be obtained by using binding-specific casting methods on an + * instance of the <code>AbstractView</code> interface. + * <p> Since a computed style is related to an <code>Element</code> node, if + * this element is removed from the document, the associated + * <code>CSSStyleDeclaration</code> and <code>CSSValue</code> related to + * this declaration are no longer valid. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface ViewCSS extends AbstractView { + /** + * This method is used to get the computed style as it is defined in [<a href='http://www.w3.org/TR/1998/REC-CSS2-19980512'>CSS2</a>]. + * @param elt The element whose style is to be computed. This parameter + * cannot be null. + * @param pseudoElt The pseudo-element or <code>null</code> if none. + * @return The computed style. The <code>CSSStyleDeclaration</code> is + * read-only and contains only absolute values. + */ + public CSSStyleDeclaration getComputedStyle(Element elt, + String pseudoElt); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/events/DocumentEvent.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/DocumentEvent.java new file mode 100644 index 000000000..55c838603 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/DocumentEvent.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +import org.w3c.dom.DOMException; + +/** + * The <code>DocumentEvent</code> interface provides a mechanism by which the + * user can create an Event of a type supported by the implementation. It is + * expected that the <code>DocumentEvent</code> interface will be + * implemented on the same object which implements the <code>Document</code> + * interface in an implementation which supports the Event model. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>. + * @since DOM Level 2 + */ +public interface DocumentEvent { + /** + * + * @param eventType The <code>eventType</code> parameter specifies the + * type of <code>Event</code> interface to be created. If the + * <code>Event</code> interface specified is supported by the + * implementation this method will return a new <code>Event</code> of + * the interface type requested. If the <code>Event</code> is to be + * dispatched via the <code>dispatchEvent</code> method the + * appropriate event init method must be called after creation in + * order to initialize the <code>Event</code>'s values. As an example, + * a user wishing to synthesize some kind of <code>UIEvent</code> + * would call <code>createEvent</code> with the parameter "UIEvents". + * The <code>initUIEvent</code> method could then be called on the + * newly created <code>UIEvent</code> to set the specific type of + * UIEvent to be dispatched and set its context information.The + * <code>createEvent</code> method is used in creating + * <code>Event</code>s when it is either inconvenient or unnecessary + * for the user to create an <code>Event</code> themselves. In cases + * where the implementation provided <code>Event</code> is + * insufficient, users may supply their own <code>Event</code> + * implementations for use with the <code>dispatchEvent</code> method. + * @return The newly created <code>Event</code> + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if the implementation does not support the + * type of <code>Event</code> interface requested + */ + public Event createEvent(String eventType) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/events/Event.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/Event.java new file mode 100644 index 000000000..29a96c50a --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/Event.java @@ -0,0 +1,141 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +/** + * The <code>Event</code> interface is used to provide contextual information + * about an event to the handler processing the event. An object which + * implements the <code>Event</code> interface is generally passed as the + * first parameter to an event handler. More specific context information is + * passed to event handlers by deriving additional interfaces from + * <code>Event</code> which contain information directly relating to the + * type of event they accompany. These derived interfaces are also + * implemented by the object passed to the event listener. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>. + * @since DOM Level 2 + */ +public interface Event { + // PhaseType + /** + * The current event phase is the capturing phase. + */ + public static final short CAPTURING_PHASE = 1; + /** + * The event is currently being evaluated at the target + * <code>EventTarget</code>. + */ + public static final short AT_TARGET = 2; + /** + * The current event phase is the bubbling phase. + */ + public static final short BUBBLING_PHASE = 3; + + /** + * The name of the event (case-insensitive). The name must be an XML name. + */ + public String getType(); + + /** + * Used to indicate the <code>EventTarget</code> to which the event was + * originally dispatched. + */ + public EventTarget getTarget(); + + /** + * Used to indicate the <code>EventTarget</code> whose + * <code>EventListeners</code> are currently being processed. This is + * particularly useful during capturing and bubbling. + */ + public EventTarget getCurrentTarget(); + + /** + * Used to indicate which phase of event flow is currently being + * evaluated. + */ + public short getEventPhase(); + + /** + * Used to indicate whether or not an event is a bubbling event. If the + * event can bubble the value is true, else the value is false. + */ + public boolean getBubbles(); + + /** + * Used to indicate whether or not an event can have its default action + * prevented. If the default action can be prevented the value is true, + * else the value is false. + */ + public boolean getCancelable(); + + /** + * Used to specify the time (in milliseconds relative to the epoch) at + * which the event was created. Due to the fact that some systems may + * not provide this information the value of <code>timeStamp</code> may + * be not available for all events. When not available, a value of 0 + * will be returned. Examples of epoch time are the time of the system + * start or 0:0:0 UTC 1st January 1970. + */ + public long getTimeStamp(); + + /** + * The <code>stopPropagation</code> method is used prevent further + * propagation of an event during event flow. If this method is called + * by any <code>EventListener</code> the event will cease propagating + * through the tree. The event will complete dispatch to all listeners + * on the current <code>EventTarget</code> before event flow stops. This + * method may be used during any stage of event flow. + */ + public void stopPropagation(); + + /** + * If an event is cancelable, the <code>preventDefault</code> method is + * used to signify that the event is to be canceled, meaning any default + * action normally taken by the implementation as a result of the event + * will not occur. If, during any stage of event flow, the + * <code>preventDefault</code> method is called the event is canceled. + * Any default action associated with the event will not occur. Calling + * this method for a non-cancelable event has no effect. Once + * <code>preventDefault</code> has been called it will remain in effect + * throughout the remainder of the event's propagation. This method may + * be used during any stage of event flow. + */ + public void preventDefault(); + + /** + * The <code>initEvent</code> method is used to initialize the value of an + * <code>Event</code> created through the <code>DocumentEvent</code> + * interface. This method may only be called before the + * <code>Event</code> has been dispatched via the + * <code>dispatchEvent</code> method, though it may be called multiple + * times during that phase if necessary. If called multiple times the + * final invocation takes precedence. If called from a subclass of + * <code>Event</code> interface only the values specified in the + * <code>initEvent</code> method are modified, all other attributes are + * left unchanged. + * @param eventTypeArg Specifies the event type. This type may be any + * event type currently defined in this specification or a new event + * type.. The string must be an XML name. Any new event type must not + * begin with any upper, lower, or mixed case version of the string + * "DOM". This prefix is reserved for future DOM event sets. It is + * also strongly recommended that third parties adding their own + * events use their own prefix to avoid confusion and lessen the + * probability of conflicts with other new events. + * @param canBubbleArg Specifies whether or not the event can bubble. + * @param cancelableArg Specifies whether or not the event's default + * action can be prevented. + */ + public void initEvent(String eventTypeArg, + boolean canBubbleArg, + boolean cancelableArg); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/events/EventException.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/EventException.java new file mode 100644 index 000000000..9a62f1fc5 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/EventException.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +/** + * Event operations may throw an <code>EventException</code> as specified in + * their method descriptions. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>. + * @since DOM Level 2 + */ +public class EventException extends RuntimeException { + public EventException(short code, String message) { + super(message); + this.code = code; + } + public short code; + // EventExceptionCode + /** + * If the <code>Event</code>'s type was not specified by initializing the + * event before the method was called. Specification of the Event's type + * as <code>null</code> or an empty string will also trigger this + * exception. + */ + public static final short UNSPECIFIED_EVENT_TYPE_ERR = 0; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/events/EventListener.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/EventListener.java new file mode 100644 index 000000000..1be3523fb --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/EventListener.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +/** + * The <code>EventListener</code> interface is the primary method for + * handling events. Users implement the <code>EventListener</code> interface + * and register their listener on an <code>EventTarget</code> using the + * <code>AddEventListener</code> method. The users should also remove their + * <code>EventListener</code> from its <code>EventTarget</code> after they + * have completed using the listener. + * <p> When a <code>Node</code> is copied using the <code>cloneNode</code> + * method the <code>EventListener</code>s attached to the source + * <code>Node</code> are not attached to the copied <code>Node</code>. If + * the user wishes the same <code>EventListener</code>s to be added to the + * newly created copy the user must add them manually. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>. + * @since DOM Level 2 + */ +public interface EventListener { + /** + * This method is called whenever an event occurs of the type for which + * the <code> EventListener</code> interface was registered. + * @param evt The <code>Event</code> contains contextual information + * about the event. It also contains the <code>stopPropagation</code> + * and <code>preventDefault</code> methods which are used in + * determining the event's flow and default action. + */ + public void handleEvent(Event evt); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/events/EventTarget.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/EventTarget.java new file mode 100644 index 000000000..3b66a8deb --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/EventTarget.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +/** + * The <code>EventTarget</code> interface is implemented by all + * <code>Nodes</code> in an implementation which supports the DOM Event + * Model. Therefore, this interface can be obtained by using + * binding-specific casting methods on an instance of the <code>Node</code> + * interface. The interface allows registration and removal of + * <code>EventListeners</code> on an <code>EventTarget</code> and dispatch + * of events to that <code>EventTarget</code>. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>. + * @since DOM Level 2 + */ +public interface EventTarget { + /** + * This method allows the registration of event listeners on the event + * target. If an <code>EventListener</code> is added to an + * <code>EventTarget</code> while it is processing an event, it will not + * be triggered by the current actions but may be triggered during a + * later stage of event flow, such as the bubbling phase. + * <br> If multiple identical <code>EventListener</code>s are registered + * on the same <code>EventTarget</code> with the same parameters the + * duplicate instances are discarded. They do not cause the + * <code>EventListener</code> to be called twice and since they are + * discarded they do not need to be removed with the + * <code>removeEventListener</code> method. + * @param type The event type for which the user is registering + * @param listener The <code>listener</code> parameter takes an interface + * implemented by the user which contains the methods to be called + * when the event occurs. + * @param useCapture If true, <code>useCapture</code> indicates that the + * user wishes to initiate capture. After initiating capture, all + * events of the specified type will be dispatched to the registered + * <code>EventListener</code> before being dispatched to any + * <code>EventTargets</code> beneath them in the tree. Events which + * are bubbling upward through the tree will not trigger an + * <code>EventListener</code> designated to use capture. + */ + public void addEventListener(String type, + EventListener listener, + boolean useCapture); + + /** + * This method allows the removal of event listeners from the event + * target. If an <code>EventListener</code> is removed from an + * <code>EventTarget</code> while it is processing an event, it will not + * be triggered by the current actions. <code>EventListener</code>s can + * never be invoked after being removed. + * <br>Calling <code>removeEventListener</code> with arguments which do + * not identify any currently registered <code>EventListener</code> on + * the <code>EventTarget</code> has no effect. + * @param type Specifies the event type of the <code>EventListener</code> + * being removed. + * @param listener The <code>EventListener</code> parameter indicates the + * <code>EventListener </code> to be removed. + * @param useCapture Specifies whether the <code>EventListener</code> + * being removed was registered as a capturing listener or not. If a + * listener was registered twice, one with capture and one without, + * each must be removed separately. Removal of a capturing listener + * does not affect a non-capturing version of the same listener, and + * vice versa. + */ + public void removeEventListener(String type, + EventListener listener, + boolean useCapture); + + /** + * This method allows the dispatch of events into the implementations + * event model. Events dispatched in this manner will have the same + * capturing and bubbling behavior as events dispatched directly by the + * implementation. The target of the event is the + * <code> EventTarget</code> on which <code>dispatchEvent</code> is + * called. + * @param evt Specifies the event type, behavior, and contextual + * information to be used in processing the event. + * @return The return value of <code>dispatchEvent</code> indicates + * whether any of the listeners which handled the event called + * <code>preventDefault</code>. If <code>preventDefault</code> was + * called the value is false, else the value is true. + * @exception EventException + * UNSPECIFIED_EVENT_TYPE_ERR: Raised if the <code>Event</code>'s type + * was not specified by initializing the event before + * <code>dispatchEvent</code> was called. Specification of the + * <code>Event</code>'s type as <code>null</code> or an empty string + * will also trigger this exception. + */ + public boolean dispatchEvent(Event evt) + throws EventException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/events/MouseEvent.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/MouseEvent.java new file mode 100644 index 000000000..67e20572f --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/MouseEvent.java @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +import org.w3c.dom.views.AbstractView; + +/** + * The <code>MouseEvent</code> interface provides specific contextual + * information associated with Mouse events. + * <p>The <code>detail</code> attribute inherited from <code>UIEvent</code> + * indicates the number of times a mouse button has been pressed and + * released over the same screen location during a user action. The + * attribute value is 1 when the user begins this action and increments by 1 + * for each full sequence of pressing and releasing. If the user moves the + * mouse between the mousedown and mouseup the value will be set to 0, + * indicating that no click is occurring. + * <p>In the case of nested elements mouse events are always targeted at the + * most deeply nested element. Ancestors of the targeted element may use + * bubbling to obtain notification of mouse events which occur within its + * descendent elements. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>. + * @since DOM Level 2 + */ +public interface MouseEvent extends UIEvent { + /** + * The horizontal coordinate at which the event occurred relative to the + * origin of the screen coordinate system. + */ + public int getScreenX(); + + /** + * The vertical coordinate at which the event occurred relative to the + * origin of the screen coordinate system. + */ + public int getScreenY(); + + /** + * The horizontal coordinate at which the event occurred relative to the + * DOM implementation's client area. + */ + public int getClientX(); + + /** + * The vertical coordinate at which the event occurred relative to the DOM + * implementation's client area. + */ + public int getClientY(); + + /** + * Used to indicate whether the 'ctrl' key was depressed during the firing + * of the event. + */ + public boolean getCtrlKey(); + + /** + * Used to indicate whether the 'shift' key was depressed during the + * firing of the event. + */ + public boolean getShiftKey(); + + /** + * Used to indicate whether the 'alt' key was depressed during the firing + * of the event. On some platforms this key may map to an alternative + * key name. + */ + public boolean getAltKey(); + + /** + * Used to indicate whether the 'meta' key was depressed during the firing + * of the event. On some platforms this key may map to an alternative + * key name. + */ + public boolean getMetaKey(); + + /** + * During mouse events caused by the depression or release of a mouse + * button, <code>button</code> is used to indicate which mouse button + * changed state. The values for <code>button</code> range from zero to + * indicate the left button of the mouse, one to indicate the middle + * button if present, and two to indicate the right button. For mice + * configured for left handed use in which the button actions are + * reversed the values are instead read from right to left. + */ + public short getButton(); + + /** + * Used to identify a secondary <code>EventTarget</code> related to a UI + * event. Currently this attribute is used with the mouseover event to + * indicate the <code>EventTarget</code> which the pointing device + * exited and with the mouseout event to indicate the + * <code>EventTarget</code> which the pointing device entered. + */ + public EventTarget getRelatedTarget(); + + /** + * The <code>initMouseEvent</code> method is used to initialize the value + * of a <code>MouseEvent</code> created through the + * <code>DocumentEvent</code> interface. This method may only be called + * before the <code>MouseEvent</code> has been dispatched via the + * <code>dispatchEvent</code> method, though it may be called multiple + * times during that phase if necessary. If called multiple times, the + * final invocation takes precedence. + * @param typeArg Specifies the event type. + * @param canBubbleArg Specifies whether or not the event can bubble. + * @param cancelableArg Specifies whether or not the event's default + * action can be prevented. + * @param viewArg Specifies the <code>Event</code>'s + * <code>AbstractView</code>. + * @param detailArg Specifies the <code>Event</code>'s mouse click count. + * @param screenXArg Specifies the <code>Event</code>'s screen x + * coordinate + * @param screenYArg Specifies the <code>Event</code>'s screen y + * coordinate + * @param clientXArg Specifies the <code>Event</code>'s client x + * coordinate + * @param clientYArg Specifies the <code>Event</code>'s client y + * coordinate + * @param ctrlKeyArg Specifies whether or not control key was depressed + * during the <code>Event</code>. + * @param altKeyArg Specifies whether or not alt key was depressed during + * the <code>Event</code>. + * @param shiftKeyArg Specifies whether or not shift key was depressed + * during the <code>Event</code>. + * @param metaKeyArg Specifies whether or not meta key was depressed + * during the <code>Event</code>. + * @param buttonArg Specifies the <code>Event</code>'s mouse button. + * @param relatedTargetArg Specifies the <code>Event</code>'s related + * <code>EventTarget</code>. + */ + public void initMouseEvent(String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + AbstractView viewArg, + int detailArg, + int screenXArg, + int screenYArg, + int clientXArg, + int clientYArg, + boolean ctrlKeyArg, + boolean altKeyArg, + boolean shiftKeyArg, + boolean metaKeyArg, + short buttonArg, + EventTarget relatedTargetArg); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/events/MutationEvent.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/MutationEvent.java new file mode 100644 index 000000000..2cbedb768 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/MutationEvent.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +import org.w3c.dom.Node; + +/** + * The <code>MutationEvent</code> interface provides specific contextual + * information associated with Mutation events. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>. + * @since DOM Level 2 + */ +public interface MutationEvent extends Event { + // attrChangeType + /** + * The <code>Attr</code> was modified in place. + */ + public static final short MODIFICATION = 1; + /** + * The <code>Attr</code> was just added. + */ + public static final short ADDITION = 2; + /** + * The <code>Attr</code> was just removed. + */ + public static final short REMOVAL = 3; + + /** + * <code>relatedNode</code> is used to identify a secondary node related + * to a mutation event. For example, if a mutation event is dispatched + * to a node indicating that its parent has changed, the + * <code>relatedNode</code> is the changed parent. If an event is + * instead dispatched to a subtree indicating a node was changed within + * it, the <code>relatedNode</code> is the changed node. In the case of + * the DOMAttrModified event it indicates the <code>Attr</code> node + * which was modified, added, or removed. + */ + public Node getRelatedNode(); + + /** + * <code>prevValue</code> indicates the previous value of the + * <code>Attr</code> node in DOMAttrModified events, and of the + * <code>CharacterData</code> node in DOMCharacterDataModified events. + */ + public String getPrevValue(); + + /** + * <code>newValue</code> indicates the new value of the <code>Attr</code> + * node in DOMAttrModified events, and of the <code>CharacterData</code> + * node in DOMCharacterDataModified events. + */ + public String getNewValue(); + + /** + * <code>attrName</code> indicates the name of the changed + * <code>Attr</code> node in a DOMAttrModified event. + */ + public String getAttrName(); + + /** + * <code>attrChange</code> indicates the type of change which triggered + * the DOMAttrModified event. The values can be <code>MODIFICATION</code> + * , <code>ADDITION</code>, or <code>REMOVAL</code>. + */ + public short getAttrChange(); + + /** + * The <code>initMutationEvent</code> method is used to initialize the + * value of a <code>MutationEvent</code> created through the + * <code>DocumentEvent</code> interface. This method may only be called + * before the <code>MutationEvent</code> has been dispatched via the + * <code>dispatchEvent</code> method, though it may be called multiple + * times during that phase if necessary. If called multiple times, the + * final invocation takes precedence. + * @param typeArg Specifies the event type. + * @param canBubbleArg Specifies whether or not the event can bubble. + * @param cancelableArg Specifies whether or not the event's default + * action can be prevented. + * @param relatedNodeArg Specifies the <code>Event</code>'s related Node. + * @param prevValueArg Specifies the <code>Event</code>'s + * <code>prevValue</code> attribute. This value may be null. + * @param newValueArg Specifies the <code>Event</code>'s + * <code>newValue</code> attribute. This value may be null. + * @param attrNameArg Specifies the <code>Event</code>'s + * <code>attrName</code> attribute. This value may be null. + * @param attrChangeArg Specifies the <code>Event</code>'s + * <code>attrChange</code> attribute + */ + public void initMutationEvent(String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + Node relatedNodeArg, + String prevValueArg, + String newValueArg, + String attrNameArg, + short attrChangeArg); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/events/UIEvent.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/UIEvent.java new file mode 100644 index 000000000..e3617c026 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/events/UIEvent.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +import org.w3c.dom.views.AbstractView; + +/** + * The <code>UIEvent</code> interface provides specific contextual information + * associated with User Interface events. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>. + * @since DOM Level 2 + */ +public interface UIEvent extends Event { + /** + * The <code>view</code> attribute identifies the <code>AbstractView</code> + * from which the event was generated. + */ + public AbstractView getView(); + + /** + * Specifies some detail information about the <code>Event</code>, + * depending on the type of event. + */ + public int getDetail(); + + /** + * The <code>initUIEvent</code> method is used to initialize the value of + * a <code>UIEvent</code> created through the <code>DocumentEvent</code> + * interface. This method may only be called before the + * <code>UIEvent</code> has been dispatched via the + * <code>dispatchEvent</code> method, though it may be called multiple + * times during that phase if necessary. If called multiple times, the + * final invocation takes precedence. + * @param typeArg Specifies the event type. + * @param canBubbleArg Specifies whether or not the event can bubble. + * @param cancelableArg Specifies whether or not the event's default + * action can be prevented. + * @param viewArg Specifies the <code>Event</code>'s + * <code>AbstractView</code>. + * @param detailArg Specifies the <code>Event</code>'s detail. + */ + public void initUIEvent(String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + AbstractView viewArg, + int detailArg); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLAnchorElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLAnchorElement.java new file mode 100644 index 000000000..a3ec0b504 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLAnchorElement.java @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * The anchor element. See the A element definition in HTML 4.01. + * <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>. + */ +public interface HTMLAnchorElement extends HTMLElement { + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public String getAccessKey(); + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public void setAccessKey(String accessKey); + + /** + * The character encoding of the linked resource. See the charset + * attribute definition in HTML 4.01. + */ + public String getCharset(); + /** + * The character encoding of the linked resource. See the charset + * attribute definition in HTML 4.01. + */ + public void setCharset(String charset); + + /** + * Comma-separated list of lengths, defining an active region geometry. + * See also <code>shape</code> for the shape of the region. See the + * coords attribute definition in HTML 4.01. + */ + public String getCoords(); + /** + * Comma-separated list of lengths, defining an active region geometry. + * See also <code>shape</code> for the shape of the region. See the + * coords attribute definition in HTML 4.01. + */ + public void setCoords(String coords); + + /** + * The absolute URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the linked resource. See the href attribute + * definition in HTML 4.01. + */ + public String getHref(); + /** + * The absolute URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the linked resource. See the href attribute + * definition in HTML 4.01. + */ + public void setHref(String href); + + /** + * Language code of the linked resource. See the hreflang attribute + * definition in HTML 4.01. + */ + public String getHreflang(); + /** + * Language code of the linked resource. See the hreflang attribute + * definition in HTML 4.01. + */ + public void setHreflang(String hreflang); + + /** + * Anchor name. See the name attribute definition in HTML 4.01. + */ + public String getName(); + /** + * Anchor name. See the name attribute definition in HTML 4.01. + */ + public void setName(String name); + + /** + * Forward link type. See the rel attribute definition in HTML 4.01. + */ + public String getRel(); + /** + * Forward link type. See the rel attribute definition in HTML 4.01. + */ + public void setRel(String rel); + + /** + * Reverse link type. See the rev attribute definition in HTML 4.01. + */ + public String getRev(); + /** + * Reverse link type. See the rev attribute definition in HTML 4.01. + */ + public void setRev(String rev); + + /** + * The shape of the active area. The coordinates are given by + * <code>coords</code>. See the shape attribute definition in HTML 4.01. + */ + public String getShape(); + /** + * The shape of the active area. The coordinates are given by + * <code>coords</code>. See the shape attribute definition in HTML 4.01. + */ + public void setShape(String shape); + + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public int getTabIndex(); + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public void setTabIndex(int tabIndex); + + /** + * Frame to render the resource in. See the target attribute definition in + * HTML 4.01. + */ + public String getTarget(); + /** + * Frame to render the resource in. See the target attribute definition in + * HTML 4.01. + */ + public void setTarget(String target); + + /** + * Advisory content type. See the type attribute definition in HTML 4.01. + */ + public String getType(); + /** + * Advisory content type. See the type attribute definition in HTML 4.01. + */ + public void setType(String type); + + /** + * Removes keyboard focus from this element. + */ + public void blur(); + + /** + * Gives keyboard focus to this element. + */ + public void focus(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLAppletElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLAppletElement.java new file mode 100644 index 000000000..2e0fc153c --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLAppletElement.java @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * An embedded Java applet. See the APPLET element definition in HTML 4.01. + * This element is deprecated in HTML 4.01. + * <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>. + */ +public interface HTMLAppletElement extends HTMLElement { + /** + * Aligns this object (vertically or horizontally) with respect to its + * surrounding text. See the align attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getAlign(); + /** + * Aligns this object (vertically or horizontally) with respect to its + * surrounding text. See the align attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setAlign(String align); + + /** + * Alternate text for user agents not rendering the normal content of this + * element. See the alt attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public String getAlt(); + /** + * Alternate text for user agents not rendering the normal content of this + * element. See the alt attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setAlt(String alt); + + /** + * Comma-separated archive list. See the archive attribute definition in + * HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getArchive(); + /** + * Comma-separated archive list. See the archive attribute definition in + * HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setArchive(String archive); + + /** + * Applet class file. See the code attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public String getCode(); + /** + * Applet class file. See the code attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setCode(String code); + + /** + * Optional base URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] for applet. See the codebase attribute definition in + * HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getCodeBase(); + /** + * Optional base URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] for applet. See the codebase attribute definition in + * HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setCodeBase(String codeBase); + + /** + * Override height. See the height attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public String getHeight(); + /** + * Override height. See the height attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setHeight(String height); + + /** + * Horizontal space, in pixels, to the left and right of this image, + * applet, or object. See the hspace attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + * @version DOM Level 2 + */ + public int getHspace(); + /** + * Horizontal space, in pixels, to the left and right of this image, + * applet, or object. See the hspace attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + * @version DOM Level 2 + */ + public void setHspace(int hspace); + + /** + * The name of the applet. See the name attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getName(); + /** + * The name of the applet. See the name attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setName(String name); + + /** + * The value of the "object" attribute. See the object attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + * @version DOM Level 2 + */ + public String getObject(); + /** + * The value of the "object" attribute. See the object attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + * @version DOM Level 2 + */ + public void setObject(String object); + + /** + * Vertical space, in pixels, above and below this image, applet, or + * object. See the vspace attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + * @version DOM Level 2 + */ + public int getVspace(); + /** + * Vertical space, in pixels, above and below this image, applet, or + * object. See the vspace attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + * @version DOM Level 2 + */ + public void setVspace(int vspace); + + /** + * Override width. See the width attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public String getWidth(); + /** + * Override width. See the width attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setWidth(String width); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLAreaElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLAreaElement.java new file mode 100644 index 000000000..403b94d50 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLAreaElement.java @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Client-side image map area definition. See the AREA element definition in + * HTML 4.01. + * <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>. + */ +public interface HTMLAreaElement extends HTMLElement { + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public String getAccessKey(); + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public void setAccessKey(String accessKey); + + /** + * Alternate text for user agents not rendering the normal content of this + * element. See the alt attribute definition in HTML 4.01. + */ + public String getAlt(); + /** + * Alternate text for user agents not rendering the normal content of this + * element. See the alt attribute definition in HTML 4.01. + */ + public void setAlt(String alt); + + /** + * Comma-separated list of lengths, defining an active region geometry. + * See also <code>shape</code> for the shape of the region. See the + * coords attribute definition in HTML 4.01. + */ + public String getCoords(); + /** + * Comma-separated list of lengths, defining an active region geometry. + * See also <code>shape</code> for the shape of the region. See the + * coords attribute definition in HTML 4.01. + */ + public void setCoords(String coords); + + /** + * The URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the linked resource. See the href attribute definition in + * HTML 4.01. + */ + public String getHref(); + /** + * The URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the linked resource. See the href attribute definition in + * HTML 4.01. + */ + public void setHref(String href); + + /** + * Specifies that this area is inactive, i.e., has no associated action. + * See the nohref attribute definition in HTML 4.01. + */ + public boolean getNoHref(); + /** + * Specifies that this area is inactive, i.e., has no associated action. + * See the nohref attribute definition in HTML 4.01. + */ + public void setNoHref(boolean noHref); + + /** + * The shape of the active area. The coordinates are given by + * <code>coords</code>. See the shape attribute definition in HTML 4.01. + */ + public String getShape(); + /** + * The shape of the active area. The coordinates are given by + * <code>coords</code>. See the shape attribute definition in HTML 4.01. + */ + public void setShape(String shape); + + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public int getTabIndex(); + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public void setTabIndex(int tabIndex); + + /** + * Frame to render the resource in. See the target attribute definition in + * HTML 4.01. + */ + public String getTarget(); + /** + * Frame to render the resource in. See the target attribute definition in + * HTML 4.01. + */ + public void setTarget(String target); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBRElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBRElement.java new file mode 100644 index 000000000..74dbe1f3f --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBRElement.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Force a line break. See the BR element definition in HTML 4.01. + * <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>. + */ +public interface HTMLBRElement extends HTMLElement { + /** + * Control flow of text around floats. See the clear attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getClear(); + /** + * Control flow of text around floats. See the clear attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setClear(String clear); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBaseElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBaseElement.java new file mode 100644 index 000000000..9dde9b3da --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBaseElement.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Document base URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>]. See the BASE element definition in HTML 4.01. + * <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>. + */ +public interface HTMLBaseElement extends HTMLElement { + /** + * The base URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>]. See the href attribute definition in HTML 4.01. + */ + public String getHref(); + /** + * The base URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>]. See the href attribute definition in HTML 4.01. + */ + public void setHref(String href); + + /** + * The default target frame. See the target attribute definition in HTML + * 4.01. + */ + public String getTarget(); + /** + * The default target frame. See the target attribute definition in HTML + * 4.01. + */ + public void setTarget(String target); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBaseFontElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBaseFontElement.java new file mode 100644 index 000000000..1ae8834d7 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBaseFontElement.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Base font. See the BASEFONT element definition in HTML 4.01. This element + * is deprecated in HTML 4.01. + * <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>. + */ +public interface HTMLBaseFontElement extends HTMLElement { + /** + * Font color. See the color attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public String getColor(); + /** + * Font color. See the color attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setColor(String color); + + /** + * Font face identifier. See the face attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getFace(); + /** + * Font face identifier. See the face attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setFace(String face); + + /** + * Computed font size. See the size attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + * @version DOM Level 2 + */ + public int getSize(); + /** + * Computed font size. See the size attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + * @version DOM Level 2 + */ + public void setSize(int size); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBodyElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBodyElement.java new file mode 100644 index 000000000..7e1aabe1f --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBodyElement.java @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * The HTML document body. This element is always present in the DOM API, even + * if the tags are not present in the source document. See the BODY element + * definition in HTML 4.01. + * <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>. + */ +public interface HTMLBodyElement extends HTMLElement { + /** + * Color of active links (after mouse-button down, but before mouse-button + * up). See the alink attribute definition in HTML 4.01. This attribute + * is deprecated in HTML 4.01. + */ + public String getALink(); + /** + * Color of active links (after mouse-button down, but before mouse-button + * up). See the alink attribute definition in HTML 4.01. This attribute + * is deprecated in HTML 4.01. + */ + public void setALink(String aLink); + + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the background texture tile image. See the background attribute + * definition in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getBackground(); + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the background texture tile image. See the background attribute + * definition in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setBackground(String background); + + /** + * Document background color. See the bgcolor attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getBgColor(); + /** + * Document background color. See the bgcolor attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setBgColor(String bgColor); + + /** + * Color of links that are not active and unvisited. See the link + * attribute definition in HTML 4.01. This attribute is deprecated in + * HTML 4.01. + */ + public String getLink(); + /** + * Color of links that are not active and unvisited. See the link + * attribute definition in HTML 4.01. This attribute is deprecated in + * HTML 4.01. + */ + public void setLink(String link); + + /** + * Document text color. See the text attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getText(); + /** + * Document text color. See the text attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setText(String text); + + /** + * Color of links that have been visited by the user. See the vlink + * attribute definition in HTML 4.01. This attribute is deprecated in + * HTML 4.01. + */ + public String getVLink(); + /** + * Color of links that have been visited by the user. See the vlink + * attribute definition in HTML 4.01. This attribute is deprecated in + * HTML 4.01. + */ + public void setVLink(String vLink); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLButtonElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLButtonElement.java new file mode 100644 index 000000000..8e31b103c --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLButtonElement.java @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Push button. See the BUTTON element definition in HTML 4.01. + * <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>. + */ +public interface HTMLButtonElement extends HTMLElement { + /** + * Returns the <code>FORM</code> element containing this control. Returns + * <code>null</code> if this control is not within the context of a + * form. + */ + public HTMLFormElement getForm(); + + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public String getAccessKey(); + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public void setAccessKey(String accessKey); + + /** + * The control is unavailable in this context. See the disabled attribute + * definition in HTML 4.01. + */ + public boolean getDisabled(); + /** + * The control is unavailable in this context. See the disabled attribute + * definition in HTML 4.01. + */ + public void setDisabled(boolean disabled); + + /** + * Form control or object name when submitted with a form. See the name + * attribute definition in HTML 4.01. + */ + public String getName(); + /** + * Form control or object name when submitted with a form. See the name + * attribute definition in HTML 4.01. + */ + public void setName(String name); + + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public int getTabIndex(); + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public void setTabIndex(int tabIndex); + + /** + * The type of button (all lower case). See the type attribute definition + * in HTML 4.01. + */ + public String getType(); + + /** + * The current form control value. See the value attribute definition in + * HTML 4.01. + */ + public String getValue(); + /** + * The current form control value. See the value attribute definition in + * HTML 4.01. + */ + public void setValue(String value); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLCollection.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLCollection.java new file mode 100644 index 000000000..d6ec5473f --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLCollection.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +import org.w3c.dom.Node; + +/** + * An <code>HTMLCollection</code> is a list of nodes. An individual node may + * be accessed by either ordinal index or the node's <code>name</code> or + * <code>id</code> attributes. Collections in the HTML DOM are assumed to be + * live meaning that they are automatically updated when the underlying + * document is changed. + * <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>. + */ +public interface HTMLCollection { + /** + * This attribute specifies the length or size of the list. + */ + public int getLength(); + + /** + * This method retrieves a node specified by ordinal index. Nodes are + * numbered in tree order (depth-first traversal order). + * @param index The index of the node to be fetched. The index origin is + * <code>0</code>. + * @return The <code>Node</code> at the corresponding position upon + * success. A value of <code>null</code> is returned if the index is + * out of range. + */ + public Node item(int index); + + /** + * This method retrieves a <code>Node</code> using a name. With [<a href='http://www.w3.org/TR/1999/REC-html401-19991224'>HTML 4.01</a>] + * documents, it first searches for a <code>Node</code> with a matching + * <code>id</code> attribute. If it doesn't find one, it then searches + * for a <code>Node</code> with a matching <code>name</code> attribute, + * but only on those elements that are allowed a name attribute. With [<a href='http://www.w3.org/TR/2002/REC-xhtml1-20020801'>XHTML 1.0</a>] + * documents, this method only searches for <code>Nodes</code> with a + * matching <code>id</code> attribute. This method is case insensitive + * in HTML documents and case sensitive in XHTML documents. + * @param name The name of the <code>Node</code> to be fetched. + * @return The <code>Node</code> with a <code>name</code> or + * <code>id</code> attribute whose value corresponds to the specified + * string. Upon failure (e.g., no node with this name exists), returns + * <code>null</code>. + */ + public Node namedItem(String name); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDListElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDListElement.java new file mode 100644 index 000000000..e6f17b6ad --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDListElement.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Definition list. See the DL element definition in HTML 4.01. + * <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>. + */ +public interface HTMLDListElement extends HTMLElement { + /** + * Reduce spacing between list items. See the compact attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public boolean getCompact(); + /** + * Reduce spacing between list items. See the compact attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setCompact(boolean compact); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDirectoryElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDirectoryElement.java new file mode 100644 index 000000000..b66de037c --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDirectoryElement.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Directory list. See the DIR element definition in HTML 4.01. This element + * is deprecated in HTML 4.01. + * <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>. + */ +public interface HTMLDirectoryElement extends HTMLElement { + /** + * Reduce spacing between list items. See the compact attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public boolean getCompact(); + /** + * Reduce spacing between list items. See the compact attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setCompact(boolean compact); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDivElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDivElement.java new file mode 100644 index 000000000..5f5c0dc88 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDivElement.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Generic block container. See the DIV element definition in HTML 4.01. + * <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>. + */ +public interface HTMLDivElement extends HTMLElement { + /** + * Horizontal text alignment. See the align attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getAlign(); + /** + * Horizontal text alignment. See the align attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setAlign(String align); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDocument.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDocument.java new file mode 100644 index 000000000..b038783f6 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDocument.java @@ -0,0 +1,237 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +import org.w3c.dom.Document; +import org.w3c.dom.NodeList; +import org.w3c.dom.DOMException; + +/** + * An <code>HTMLDocument</code> is the root of the HTML hierarchy and holds + * the entire content. Besides providing access to the hierarchy, it also + * provides some convenience methods for accessing certain sets of + * information from the document. + * <p>The following properties have been deprecated in favor of the + * corresponding ones for the <code>BODY</code> element:alinkColorbackground + * bgColorfgColorlinkColorvlinkColorIn DOM Level 2, the method + * <code>getElementById</code> is inherited from the <code>Document</code> + * interface where it was moved to. + * <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>. + */ +public interface HTMLDocument extends Document { + /** + * The title of a document as specified by the <code>TITLE</code> element + * in the head of the document. + */ + public String getTitle(); + /** + * The title of a document as specified by the <code>TITLE</code> element + * in the head of the document. + */ + public void setTitle(String title); + + /** + * 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 + * empty string if the user navigated to the page directly (not through + * a link, but, for example, via a bookmark). + */ + public String getReferrer(); + + /** + * The domain name of the server that served the document, or + * <code>null</code> if the server cannot be identified by a domain + * name. + */ + public String getDomain(); + + /** + * The absolute URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the document. + */ + public String getURL(); + + /** + * The element that contains the content for the document. In documents + * with <code>BODY</code> contents, returns the <code>BODY</code> + * element. In frameset documents, this returns the outermost + * <code>FRAMESET</code> element. + */ + public HTMLElement getBody(); + /** + * The element that contains the content for the document. In documents + * with <code>BODY</code> contents, returns the <code>BODY</code> + * element. In frameset documents, this returns the outermost + * <code>FRAMESET</code> element. + */ + public void setBody(HTMLElement body); + + /** + * A collection of all the <code>IMG</code> elements in a document. The + * behavior is limited to <code>IMG</code> elements for backwards + * 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 + * the <code>OBJECT</code> element or the <code>IMG</code> element. + * Therefore, it is recommended not to use this attribute to find the + * images in the document but <code>getElementsByTagName</code> with + * HTML 4.01 or <code>getElementsByTagNameNS</code> with XHTML 1.0. + */ + public HTMLCollection getImages(); + + /** + * A collection of all the <code>OBJECT</code> elements that include + * applets and <code>APPLET</code> (deprecated) elements in a document. + */ + public HTMLCollection getApplets(); + + /** + * A collection of all <code>AREA</code> elements and anchor ( + * <code>A</code>) elements in a document with a value for the + * <code>href</code> attribute. + */ + public HTMLCollection getLinks(); + + /** + * A collection of all the forms of a document. + */ + public HTMLCollection getForms(); + + /** + * A collection of all the anchor (<code>A</code>) elements in a document + * with a value for the <code>name</code> attribute. For reasons of + * backward compatibility, the returned set of anchors only contains + * those anchors created with the <code>name</code> attribute, not those + * 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 + * <code>name</code> attribute (see section 4.10) has no semantics and + * is only present for legacy user agents: the <code>id</code> attribute + * is used instead. Users should prefer the iterator mechanisms provided + * by [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>DOM Level 2 Traversal</a>] instead. + */ + public HTMLCollection getAnchors(); + + /** + * This mutable string attribute denotes persistent state information + * that (1) is associated with the current frame or document and (2) is + * composed of information described by the <code>cookies</code> + * non-terminal of [<a href='http://www.ietf.org/rfc/rfc2965.txt'>IETF RFC 2965</a>], Section 4.2.2. + * <br> If no persistent state information is available for the current + * frame or document document, then this property's value is an empty + * string. + * <br> When this attribute is read, all cookies are returned as a single + * string, with each cookie's name-value pair concatenated into a list + * of name-value pairs, each list item being separated by a ';' + * (semicolon). + * <br> When this attribute is set, the value it is set to should be a + * 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 + * is, it should be a single name-value pair followed by zero or more + * cookie attribute values. If no domain attribute is specified, then + * the domain attribute for the new value defaults to the host portion + * 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 + * attribute is specified, then the path attribute for the new value + * 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 + * frame or document. If no max-age attribute is specified, then the + * max-age attribute for the new value defaults to a user agent defined + * value. If a cookie with the specified name is already associated with + * the current frame or document, then the new value as well as the new + * attributes replace the old value and attributes. If a max-age + * attribute of 0 is specified for the new value, then any existing + * cookies of the specified name are removed from the cookie storage. + * See [<a href='http://www.ietf.org/rfc/rfc2965.txt'>IETF RFC 2965</a>] for the semantics of persistent state item attribute value + * pairs. The precise nature of a user agent session is not defined by + * this specification. + */ + public String getCookie(); + /** + * This mutable string attribute denotes persistent state information + * that (1) is associated with the current frame or document and (2) is + * composed of information described by the <code>cookies</code> + * non-terminal of [<a href='http://www.ietf.org/rfc/rfc2965.txt'>IETF RFC 2965</a>], Section 4.2.2. + * <br> If no persistent state information is available for the current + * frame or document document, then this property's value is an empty + * string. + * <br> When this attribute is read, all cookies are returned as a single + * string, with each cookie's name-value pair concatenated into a list + * of name-value pairs, each list item being separated by a ';' + * (semicolon). + * <br> When this attribute is set, the value it is set to should be a + * 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 + * is, it should be a single name-value pair followed by zero or more + * cookie attribute values. If no domain attribute is specified, then + * the domain attribute for the new value defaults to the host portion + * 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 + * attribute is specified, then the path attribute for the new value + * 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 + * frame or document. If no max-age attribute is specified, then the + * max-age attribute for the new value defaults to a user agent defined + * value. If a cookie with the specified name is already associated with + * the current frame or document, then the new value as well as the new + * attributes replace the old value and attributes. If a max-age + * attribute of 0 is specified for the new value, then any existing + * cookies of the specified name are removed from the cookie storage. + * See [<a href='http://www.ietf.org/rfc/rfc2965.txt'>IETF RFC 2965</a>] for the semantics of persistent state item attribute value + * pairs. The precise nature of a user agent session is not defined by + * this specification. + * @exception DOMException + * SYNTAX_ERR: If the new value does not adhere to the cookie syntax + * specified by [<a href='http://www.ietf.org/rfc/rfc2965.txt'>IETF RFC 2965</a>]. + */ + public void setCookie(String cookie) + throws DOMException; + + /** + * Open a document stream for writing. If a document exists in the target, + * this method clears it. This method and the ones following allow a + * user to add to or replace the structure model of a document using + * strings of unparsed HTML. At the time of writing alternate methods + * for providing similar functionality for both HTML and XML documents + * 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>]). + */ + public void open(); + + /** + * Closes a document stream opened by <code>open()</code> and forces + * rendering. + */ + public void close(); + + /** + * Write a string of text to a document stream opened by + * <code>open()</code>. Note that the function will produce a document + * which is not necessarily driven by a DTD and therefore might be + * produce an invalid result in the context of the document. + * @param text The string to be parsed into some structure in the + * document structure model. + */ + public void write(String text); + + /** + * Write a string of text followed by a newline character to a document + * stream opened by <code>open()</code>. Note that the function will + * produce a document which is not necessarily driven by a DTD and + * therefore might be produce an invalid result in the context of the + * document + * @param text The string to be parsed into some structure in the + * document structure model. + */ + public void writeln(String text); + + /** + * With [<a href='http://www.w3.org/TR/1999/REC-html401-19991224'>HTML 4.01</a>] documents, this method returns the (possibly empty) collection + * of elements whose <code>name</code> value is given by + * <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 + * (possibly empty) collection of form controls with matching name. This + * method is case sensitive. + * @param elementName The <code>name</code> attribute value for an + * element. + * @return The matching elements. + */ + public NodeList getElementsByName(String elementName); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLElement.java new file mode 100644 index 000000000..c6450301b --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLElement.java @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +import org.w3c.dom.Element; + +/** + * All HTML element interfaces derive from this class. Elements that only + * expose the HTML core attributes are represented by the base + * <code>HTMLElement</code> interface. These elements are as follows: + * special: SUB, SUP, SPAN, BDOfont: TT, I, B, U, S, STRIKE, BIG, SMALL + * phrase: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ACRONYM, ABBRlist: + * DD, DTNOFRAMES, NOSCRIPTADDRESS, CENTERThe <code>style</code> attribute + * of an HTML element is accessible through the + * <code>ElementCSSInlineStyle</code> interface which is defined in the CSS + * module [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>DOM Level 2 Style Sheets and CSS</a>]. + * <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>. + */ +public interface HTMLElement extends Element { + /** + * The element's identifier. See the id attribute definition in HTML 4.01. + */ + public String getId(); + /** + * The element's identifier. See the id attribute definition in HTML 4.01. + */ + public void setId(String id); + + /** + * The element's advisory title. See the title attribute definition in + * HTML 4.01. + */ + public String getTitle(); + /** + * The element's advisory title. See the title attribute definition in + * HTML 4.01. + */ + public void setTitle(String title); + + /** + * Language code defined in RFC 1766. See the lang attribute definition in + * HTML 4.01. + */ + public String getLang(); + /** + * Language code defined in RFC 1766. See the lang attribute definition in + * HTML 4.01. + */ + public void setLang(String lang); + + /** + * Specifies the base direction of directionally neutral text and the + * directionality of tables. See the dir attribute definition in HTML + * 4.01. + */ + public String getDir(); + /** + * Specifies the base direction of directionally neutral text and the + * directionality of tables. See the dir attribute definition in HTML + * 4.01. + */ + public void setDir(String dir); + + /** + * The class attribute of the element. This attribute has been renamed due + * to conflicts with the "class" keyword exposed by many languages. See + * the class attribute definition in HTML 4.01. + */ + public String getClassName(); + /** + * The class attribute of the element. This attribute has been renamed due + * to conflicts with the "class" keyword exposed by many languages. See + * the class attribute definition in HTML 4.01. + */ + public void setClassName(String className); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFieldSetElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFieldSetElement.java new file mode 100644 index 000000000..f3bcb7df7 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFieldSetElement.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Organizes form controls into logical groups. See the FIELDSET element + * definition in HTML 4.01. + * <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>. + */ +public interface HTMLFieldSetElement extends HTMLElement { + /** + * Returns the <code>FORM</code> element containing this control. Returns + * <code>null</code> if this control is not within the context of a + * form. + */ + public HTMLFormElement getForm(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFontElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFontElement.java new file mode 100644 index 000000000..aa6a2847b --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFontElement.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Local change to font. See the FONT element definition in HTML 4.01. This + * element is deprecated in HTML 4.01. + * <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>. + */ +public interface HTMLFontElement extends HTMLElement { + /** + * Font color. See the color attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public String getColor(); + /** + * Font color. See the color attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setColor(String color); + + /** + * Font face identifier. See the face attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getFace(); + /** + * Font face identifier. See the face attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setFace(String face); + + /** + * Font size. See the size attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public String getSize(); + /** + * Font size. See the size attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setSize(String size); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFormElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFormElement.java new file mode 100644 index 000000000..60ec7736f --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFormElement.java @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * The <code>FORM</code> element encompasses behavior similar to a collection + * and an element. It provides direct access to the contained form controls + * as well as the attributes of the form element. See the FORM element + * definition in HTML 4.01. + * <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>. + */ +public interface HTMLFormElement extends HTMLElement { + /** + * Returns a collection of all form control elements in the form. + */ + public HTMLCollection getElements(); + + /** + * The number of form controls in the form. + */ + public int getLength(); + + /** + * Names the form. + */ + public String getName(); + /** + * Names the form. + */ + public void setName(String name); + + /** + * List of character sets supported by the server. See the accept-charset + * attribute definition in HTML 4.01. + */ + public String getAcceptCharset(); + /** + * List of character sets supported by the server. See the accept-charset + * attribute definition in HTML 4.01. + */ + public void setAcceptCharset(String acceptCharset); + + /** + * Server-side form handler. See the action attribute definition in HTML + * 4.01. + */ + public String getAction(); + /** + * Server-side form handler. See the action attribute definition in HTML + * 4.01. + */ + public void setAction(String action); + + /** + * The content type of the submitted form, generally + * "application/x-www-form-urlencoded". See the enctype attribute + * definition in HTML 4.01. The onsubmit even handler is not guaranteed + * to be triggered when invoking this method. The behavior is + * inconsistent for historical reasons and authors should not rely on a + * particular one. + */ + public String getEnctype(); + /** + * The content type of the submitted form, generally + * "application/x-www-form-urlencoded". See the enctype attribute + * definition in HTML 4.01. The onsubmit even handler is not guaranteed + * to be triggered when invoking this method. The behavior is + * inconsistent for historical reasons and authors should not rely on a + * particular one. + */ + public void setEnctype(String enctype); + + /** + * HTTP method [<a href='http://www.ietf.org/rfc/rfc2616.txt'>IETF RFC 2616</a>] used to submit form. See the method attribute definition + * in HTML 4.01. + */ + public String getMethod(); + /** + * HTTP method [<a href='http://www.ietf.org/rfc/rfc2616.txt'>IETF RFC 2616</a>] used to submit form. See the method attribute definition + * in HTML 4.01. + */ + public void setMethod(String method); + + /** + * Frame to render the resource in. See the target attribute definition in + * HTML 4.01. + */ + public String getTarget(); + /** + * Frame to render the resource in. See the target attribute definition in + * HTML 4.01. + */ + public void setTarget(String target); + + /** + * Submits the form. It performs the same action as a submit button. + */ + public void submit(); + + /** + * Restores a form element's default values. It performs the same action + * as a reset button. + */ + public void reset(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFrameElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFrameElement.java new file mode 100644 index 000000000..dfe877f15 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFrameElement.java @@ -0,0 +1,117 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +import org.w3c.dom.Document; + +/** + * Create a frame. See the FRAME element definition in HTML 4.01. + * <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>. + */ +public interface HTMLFrameElement extends HTMLElement { + /** + * Request frame borders. See the frameborder attribute definition in HTML + * 4.01. + */ + public String getFrameBorder(); + /** + * Request frame borders. See the frameborder attribute definition in HTML + * 4.01. + */ + public void setFrameBorder(String frameBorder); + + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating a long description of this image or frame. See the + * longdesc attribute definition in HTML 4.01. + */ + public String getLongDesc(); + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating a long description of this image or frame. See the + * longdesc attribute definition in HTML 4.01. + */ + public void setLongDesc(String longDesc); + + /** + * Frame margin height, in pixels. See the marginheight attribute + * definition in HTML 4.01. + */ + public String getMarginHeight(); + /** + * Frame margin height, in pixels. See the marginheight attribute + * definition in HTML 4.01. + */ + public void setMarginHeight(String marginHeight); + + /** + * Frame margin width, in pixels. See the marginwidth attribute definition + * in HTML 4.01. + */ + public String getMarginWidth(); + /** + * Frame margin width, in pixels. See the marginwidth attribute definition + * in HTML 4.01. + */ + public void setMarginWidth(String marginWidth); + + /** + * The frame name (object of the <code>target</code> attribute). See the + * name attribute definition in HTML 4.01. + */ + public String getName(); + /** + * The frame name (object of the <code>target</code> attribute). See the + * name attribute definition in HTML 4.01. + */ + public void setName(String name); + + /** + * When true, forbid user from resizing frame. See the noresize attribute + * definition in HTML 4.01. + */ + public boolean getNoResize(); + /** + * When true, forbid user from resizing frame. See the noresize attribute + * definition in HTML 4.01. + */ + public void setNoResize(boolean noResize); + + /** + * Specify whether or not the frame should have scrollbars. See the + * scrolling attribute definition in HTML 4.01. + */ + public String getScrolling(); + /** + * Specify whether or not the frame should have scrollbars. See the + * scrolling attribute definition in HTML 4.01. + */ + public void setScrolling(String scrolling); + + /** + * A URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating the initial frame contents. See the src attribute + * definition in HTML 4.01. + */ + public String getSrc(); + /** + * A URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating the initial frame contents. See the src attribute + * definition in HTML 4.01. + */ + public void setSrc(String src); + + /** + * The document this frame contains, if there is any and it is available, + * or <code>null</code> otherwise. + * @since DOM Level 2 + */ + public Document getContentDocument(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFrameSetElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFrameSetElement.java new file mode 100644 index 000000000..d2b9c34e9 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFrameSetElement.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Create a grid of frames. See the FRAMESET element definition in HTML 4.01. + * <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>. + */ +public interface HTMLFrameSetElement extends HTMLElement { + /** + * The number of columns of frames in the frameset. See the cols attribute + * definition in HTML 4.01. + */ + public String getCols(); + /** + * The number of columns of frames in the frameset. See the cols attribute + * definition in HTML 4.01. + */ + public void setCols(String cols); + + /** + * The number of rows of frames in the frameset. See the rows attribute + * definition in HTML 4.01. + */ + public String getRows(); + /** + * The number of rows of frames in the frameset. See the rows attribute + * definition in HTML 4.01. + */ + public void setRows(String rows); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHRElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHRElement.java new file mode 100644 index 000000000..d832bc3f0 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHRElement.java @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Create a horizontal rule. See the HR element definition in HTML 4.01. + * <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>. + */ +public interface HTMLHRElement extends HTMLElement { + /** + * Align the rule on the page. See the align attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getAlign(); + /** + * Align the rule on the page. See the align attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setAlign(String align); + + /** + * Indicates to the user agent that there should be no shading in the + * rendering of this element. See the noshade attribute definition in + * HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public boolean getNoShade(); + /** + * Indicates to the user agent that there should be no shading in the + * rendering of this element. See the noshade attribute definition in + * HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setNoShade(boolean noShade); + + /** + * The height of the rule. See the size attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getSize(); + /** + * The height of the rule. See the size attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setSize(String size); + + /** + * The width of the rule. See the width attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getWidth(); + /** + * The width of the rule. See the width attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setWidth(String width); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHeadElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHeadElement.java new file mode 100644 index 000000000..85617a7ee --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHeadElement.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Document head information. See the HEAD element definition in HTML 4.01. + * <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>. + */ +public interface HTMLHeadElement extends HTMLElement { + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating a metadata profile. See the profile attribute + * definition in HTML 4.01. + */ + public String getProfile(); + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating a metadata profile. See the profile attribute + * definition in HTML 4.01. + */ + public void setProfile(String profile); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHeadingElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHeadingElement.java new file mode 100644 index 000000000..291f5d87a --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHeadingElement.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * For the <code>H1</code> to <code>H6</code> elements. See the H1 element + * definition in HTML 4.01. + * <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>. + */ +public interface HTMLHeadingElement extends HTMLElement { + /** + * Horizontal text alignment. See the align attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getAlign(); + /** + * Horizontal text alignment. See the align attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setAlign(String align); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHtmlElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHtmlElement.java new file mode 100644 index 000000000..3601d7eb3 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHtmlElement.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Root of an HTML document. See the HTML element definition in HTML 4.01. + * <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>. + */ +public interface HTMLHtmlElement extends HTMLElement { + /** + * Version information about the document's DTD. See the version attribute + * definition in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getVersion(); + /** + * Version information about the document's DTD. See the version attribute + * definition in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setVersion(String version); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLIFrameElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLIFrameElement.java new file mode 100644 index 000000000..6106e62a2 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLIFrameElement.java @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +import org.w3c.dom.Document; + +/** + * Inline subwindows. See the IFRAME element definition in HTML 4.01. + * <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>. + */ +public interface HTMLIFrameElement extends HTMLElement { + /** + * Aligns this object (vertically or horizontally) with respect to its + * surrounding text. See the align attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getAlign(); + /** + * Aligns this object (vertically or horizontally) with respect to its + * surrounding text. See the align attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setAlign(String align); + + /** + * Request frame borders. See the frameborder attribute definition in HTML + * 4.01. + */ + public String getFrameBorder(); + /** + * Request frame borders. See the frameborder attribute definition in HTML + * 4.01. + */ + public void setFrameBorder(String frameBorder); + + /** + * Frame height. See the height attribute definition in HTML 4.01. + */ + public String getHeight(); + /** + * Frame height. See the height attribute definition in HTML 4.01. + */ + public void setHeight(String height); + + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating a long description of this image or frame. See the + * longdesc attribute definition in HTML 4.01. + */ + public String getLongDesc(); + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating a long description of this image or frame. See the + * longdesc attribute definition in HTML 4.01. + */ + public void setLongDesc(String longDesc); + + /** + * Frame margin height, in pixels. See the marginheight attribute + * definition in HTML 4.01. + */ + public String getMarginHeight(); + /** + * Frame margin height, in pixels. See the marginheight attribute + * definition in HTML 4.01. + */ + public void setMarginHeight(String marginHeight); + + /** + * Frame margin width, in pixels. See the marginwidth attribute definition + * in HTML 4.01. + */ + public String getMarginWidth(); + /** + * Frame margin width, in pixels. See the marginwidth attribute definition + * in HTML 4.01. + */ + public void setMarginWidth(String marginWidth); + + /** + * The frame name (object of the <code>target</code> attribute). See the + * name attribute definition in HTML 4.01. + */ + public String getName(); + /** + * The frame name (object of the <code>target</code> attribute). See the + * name attribute definition in HTML 4.01. + */ + public void setName(String name); + + /** + * Specify whether or not the frame should have scrollbars. See the + * scrolling attribute definition in HTML 4.01. + */ + public String getScrolling(); + /** + * Specify whether or not the frame should have scrollbars. See the + * scrolling attribute definition in HTML 4.01. + */ + public void setScrolling(String scrolling); + + /** + * A URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating the initial frame contents. See the src attribute + * definition in HTML 4.01. + */ + public String getSrc(); + /** + * A URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating the initial frame contents. See the src attribute + * definition in HTML 4.01. + */ + public void setSrc(String src); + + /** + * Frame width. See the width attribute definition in HTML 4.01. + */ + public String getWidth(); + /** + * Frame width. See the width attribute definition in HTML 4.01. + */ + public void setWidth(String width); + + /** + * The document this frame contains, if there is any and it is available, + * or <code>null</code> otherwise. + * @since DOM Level 2 + */ + public Document getContentDocument(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLImageElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLImageElement.java new file mode 100644 index 000000000..0a1d4b722 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLImageElement.java @@ -0,0 +1,176 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Embedded image. See the IMG element definition in HTML 4.01. + * <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>. + */ +public interface HTMLImageElement extends HTMLElement { + /** + * The name of the element (for backwards compatibility). + */ + public String getName(); + /** + * The name of the element (for backwards compatibility). + */ + public void setName(String name); + + /** + * Aligns this object (vertically or horizontally) with respect to its + * surrounding text. See the align attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getAlign(); + /** + * Aligns this object (vertically or horizontally) with respect to its + * surrounding text. See the align attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setAlign(String align); + + /** + * Alternate text for user agents not rendering the normal content of this + * element. See the alt attribute definition in HTML 4.01. + */ + public String getAlt(); + /** + * Alternate text for user agents not rendering the normal content of this + * element. See the alt attribute definition in HTML 4.01. + */ + public void setAlt(String alt); + + /** + * Width of border around image. See the border attribute definition in + * HTML 4.01. This attribute is deprecated in HTML 4.01. Note that the + * type of this attribute was <code>DOMString</code> in DOM Level 1 HTML [<a href='http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001'>DOM Level 1</a>] + * . + */ + public String getBorder(); + /** + * Width of border around image. See the border attribute definition in + * HTML 4.01. This attribute is deprecated in HTML 4.01. Note that the + * type of this attribute was <code>DOMString</code> in DOM Level 1 HTML [<a href='http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001'>DOM Level 1</a>] + * . + */ + public void setBorder(String border); + + /** + * Height of the image in pixels. See the height attribute definition in + * HTML 4.01. Note that the type of this attribute was + * <code>DOMString</code> in DOM Level 1 HTML [<a href='http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001'>DOM Level 1</a>]. + * @version DOM Level 2 + */ + public int getHeight(); + /** + * Height of the image in pixels. See the height attribute definition in + * HTML 4.01. Note that the type of this attribute was + * <code>DOMString</code> in DOM Level 1 HTML [<a href='http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001'>DOM Level 1</a>]. + * @version DOM Level 2 + */ + public void setHeight(int height); + + /** + * Horizontal space to the left and right of this image in pixels. See the + * hspace attribute definition in HTML 4.01. This attribute is + * deprecated in HTML 4.01. Note that the type of this attribute was + * <code>DOMString</code> in DOM Level 1 HTML [<a href='http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001'>DOM Level 1</a>]. + * @version DOM Level 2 + */ + public int getHspace(); + /** + * Horizontal space to the left and right of this image in pixels. See the + * hspace attribute definition in HTML 4.01. This attribute is + * deprecated in HTML 4.01. Note that the type of this attribute was + * <code>DOMString</code> in DOM Level 1 HTML [<a href='http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001'>DOM Level 1</a>]. + * @version DOM Level 2 + */ + public void setHspace(int hspace); + + /** + * Use server-side image map. See the ismap attribute definition in HTML + * 4.01. + */ + public boolean getIsMap(); + /** + * Use server-side image map. See the ismap attribute definition in HTML + * 4.01. + */ + public void setIsMap(boolean isMap); + + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating a long description of this image or frame. See the + * longdesc attribute definition in HTML 4.01. + */ + public String getLongDesc(); + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating a long description of this image or frame. See the + * longdesc attribute definition in HTML 4.01. + */ + public void setLongDesc(String longDesc); + + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating the source of this image. See the src attribute + * definition in HTML 4.01. + */ + public String getSrc(); + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating the source of this image. See the src attribute + * definition in HTML 4.01. + */ + public void setSrc(String src); + + /** + * Use client-side image map. See the usemap attribute definition in HTML + * 4.01. + */ + public String getUseMap(); + /** + * Use client-side image map. See the usemap attribute definition in HTML + * 4.01. + */ + public void setUseMap(String useMap); + + /** + * Vertical space above and below this image in pixels. See the vspace + * attribute definition in HTML 4.01. This attribute is deprecated in + * HTML 4.01. Note that the type of this attribute was "DOMString" in + * DOM Level 1 HTML [<a href='http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001'>DOM Level 1</a>]. + * @version DOM Level 2 + */ + public int getVspace(); + /** + * Vertical space above and below this image in pixels. See the vspace + * attribute definition in HTML 4.01. This attribute is deprecated in + * HTML 4.01. Note that the type of this attribute was "DOMString" in + * DOM Level 1 HTML [<a href='http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001'>DOM Level 1</a>]. + * @version DOM Level 2 + */ + public void setVspace(int vspace); + + /** + * The width of the image in pixels. See the width attribute definition in + * HTML 4.01. Note that the type of this attribute was + * <code>DOMString</code> in DOM Level 1 HTML [<a href='http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001'>DOM Level 1</a>]. + * @version DOM Level 2 + */ + public int getWidth(); + /** + * The width of the image in pixels. See the width attribute definition in + * HTML 4.01. Note that the type of this attribute was + * <code>DOMString</code> in DOM Level 1 HTML [<a href='http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001'>DOM Level 1</a>]. + * @version DOM Level 2 + */ + public void setWidth(int width); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLInputElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLInputElement.java new file mode 100644 index 000000000..c557e0bce --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLInputElement.java @@ -0,0 +1,303 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Form control.Depending upon the environment in which the page is being + * viewed, the value property may be read-only for the file upload input + * type. For the "password" input type, the actual value returned may be + * masked to prevent unauthorized use. See the INPUT element definition in [<a href='http://www.w3.org/TR/1999/REC-html401-19991224'>HTML 4.01</a>]. + * <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>. + */ +public interface HTMLInputElement extends HTMLElement { + /** + * When the <code>type</code> attribute of the element has the value + * "text", "file" or "password", this represents the HTML value + * attribute of the element. The value of this attribute does not change + * if the contents of the corresponding form control, in an interactive + * user agent, changes. See the value attribute definition in HTML 4.01. + */ + public String getDefaultValue(); + /** + * When the <code>type</code> attribute of the element has the value + * "text", "file" or "password", this represents the HTML value + * attribute of the element. The value of this attribute does not change + * if the contents of the corresponding form control, in an interactive + * user agent, changes. See the value attribute definition in HTML 4.01. + */ + public void setDefaultValue(String defaultValue); + + /** + * When <code>type</code> has the value "radio" or "checkbox", this + * represents the HTML checked attribute of the element. The value of + * this attribute does not change if the state of the corresponding form + * control, in an interactive user agent, changes. See the checked + * attribute definition in HTML 4.01. + */ + public boolean getDefaultChecked(); + /** + * When <code>type</code> has the value "radio" or "checkbox", this + * represents the HTML checked attribute of the element. The value of + * this attribute does not change if the state of the corresponding form + * control, in an interactive user agent, changes. See the checked + * attribute definition in HTML 4.01. + */ + public void setDefaultChecked(boolean defaultChecked); + + /** + * Returns the <code>FORM</code> element containing this control. Returns + * <code>null</code> if this control is not within the context of a + * form. + */ + public HTMLFormElement getForm(); + + /** + * A comma-separated list of content types that a server processing this + * form will handle correctly. See the accept attribute definition in + * HTML 4.01. + */ + public String getAccept(); + /** + * A comma-separated list of content types that a server processing this + * form will handle correctly. See the accept attribute definition in + * HTML 4.01. + */ + public void setAccept(String accept); + + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public String getAccessKey(); + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public void setAccessKey(String accessKey); + + /** + * Aligns this object (vertically or horizontally) with respect to its + * surrounding text. See the align attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getAlign(); + /** + * Aligns this object (vertically or horizontally) with respect to its + * surrounding text. See the align attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setAlign(String align); + + /** + * Alternate text for user agents not rendering the normal content of this + * element. See the alt attribute definition in HTML 4.01. + */ + public String getAlt(); + /** + * Alternate text for user agents not rendering the normal content of this + * element. See the alt attribute definition in HTML 4.01. + */ + public void setAlt(String alt); + + /** + * When the <code>type</code> attribute of the element has the value + * "radio" or "checkbox", this represents the current state of the form + * control, in an interactive user agent. Changes to this attribute + * change the state of the form control, but do not change the value of + * the HTML checked attribute of the INPUT element.During the handling + * of a click event on an input element with a type attribute that has + * the value "radio" or "checkbox", some implementations may change the + * value of this property before the event is being dispatched in the + * document. If the default action of the event is canceled, the value + * of the property may be changed back to its original value. This means + * that the value of this property during the handling of click events + * is implementation dependent. + */ + public boolean getChecked(); + /** + * When the <code>type</code> attribute of the element has the value + * "radio" or "checkbox", this represents the current state of the form + * control, in an interactive user agent. Changes to this attribute + * change the state of the form control, but do not change the value of + * the HTML checked attribute of the INPUT element.During the handling + * of a click event on an input element with a type attribute that has + * the value "radio" or "checkbox", some implementations may change the + * value of this property before the event is being dispatched in the + * document. If the default action of the event is canceled, the value + * of the property may be changed back to its original value. This means + * that the value of this property during the handling of click events + * is implementation dependent. + */ + public void setChecked(boolean checked); + + /** + * The control is unavailable in this context. See the disabled attribute + * definition in HTML 4.01. + */ + public boolean getDisabled(); + /** + * The control is unavailable in this context. See the disabled attribute + * definition in HTML 4.01. + */ + public void setDisabled(boolean disabled); + + /** + * Maximum number of characters for text fields, when <code>type</code> + * has the value "text" or "password". See the maxlength attribute + * definition in HTML 4.01. + */ + public int getMaxLength(); + /** + * Maximum number of characters for text fields, when <code>type</code> + * has the value "text" or "password". See the maxlength attribute + * definition in HTML 4.01. + */ + public void setMaxLength(int maxLength); + + /** + * Form control or object name when submitted with a form. See the name + * attribute definition in HTML 4.01. + */ + public String getName(); + /** + * Form control or object name when submitted with a form. See the name + * attribute definition in HTML 4.01. + */ + public void setName(String name); + + /** + * This control is read-only. Relevant only when <code>type</code> has the + * value "text" or "password". See the readonly attribute definition in + * HTML 4.01. + */ + public boolean getReadOnly(); + /** + * This control is read-only. Relevant only when <code>type</code> has the + * value "text" or "password". See the readonly attribute definition in + * HTML 4.01. + */ + public void setReadOnly(boolean readOnly); + + /** + * Size information. The precise meaning is specific to each type of + * field. See the size attribute definition in HTML 4.01. + * @version DOM Level 2 + */ + public int getSize(); + /** + * Size information. The precise meaning is specific to each type of + * field. See the size attribute definition in HTML 4.01. + * @version DOM Level 2 + */ + public void setSize(int size); + + /** + * When the <code>type</code> attribute has the value "image", this + * attribute specifies the location of the image to be used to decorate + * the graphical submit button. See the src attribute definition in HTML + * 4.01. + */ + public String getSrc(); + /** + * When the <code>type</code> attribute has the value "image", this + * attribute specifies the location of the image to be used to decorate + * the graphical submit button. See the src attribute definition in HTML + * 4.01. + */ + public void setSrc(String src); + + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public int getTabIndex(); + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public void setTabIndex(int tabIndex); + + /** + * The type of control created (all lower case). See the type attribute + * definition in HTML 4.01. + * @version DOM Level 2 + */ + public String getType(); + /** + * The type of control created (all lower case). See the type attribute + * definition in HTML 4.01. + * @version DOM Level 2 + */ + public void setType(String type); + + /** + * Use client-side image map. See the usemap attribute definition in HTML + * 4.01. + */ + public String getUseMap(); + /** + * Use client-side image map. See the usemap attribute definition in HTML + * 4.01. + */ + public void setUseMap(String useMap); + + /** + * When the <code>type</code> attribute of the element has the value + * "text", "file" or "password", this represents the current contents of + * the corresponding form control, in an interactive user agent. + * Changing this attribute changes the contents of the form control, but + * does not change the value of the HTML value attribute of the element. + * When the <code>type</code> attribute of the element has the value + * "button", "hidden", "submit", "reset", "image", "checkbox" or + * "radio", this represents the HTML value attribute of the element. See + * the value attribute definition in HTML 4.01. + */ + public String getValue(); + /** + * When the <code>type</code> attribute of the element has the value + * "text", "file" or "password", this represents the current contents of + * the corresponding form control, in an interactive user agent. + * Changing this attribute changes the contents of the form control, but + * does not change the value of the HTML value attribute of the element. + * When the <code>type</code> attribute of the element has the value + * "button", "hidden", "submit", "reset", "image", "checkbox" or + * "radio", this represents the HTML value attribute of the element. See + * the value attribute definition in HTML 4.01. + */ + public void setValue(String value); + + /** + * Removes keyboard focus from this element. + */ + public void blur(); + + /** + * Gives keyboard focus to this element. + */ + public void focus(); + + /** + * Select the contents of the text area. For <code>INPUT</code> elements + * whose <code>type</code> attribute has one of the following values: + * "text", "file", or "password". + */ + public void select(); + + /** + * Simulate a mouse-click. For <code>INPUT</code> elements whose + * <code>type</code> attribute has one of the following values: + * "button", "checkbox", "radio", "reset", or "submit". + */ + public void click(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLIsIndexElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLIsIndexElement.java new file mode 100644 index 000000000..f1b4b7478 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLIsIndexElement.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * This element is used for single-line text input. See the ISINDEX element + * definition in HTML 4.01. This element is deprecated in HTML 4.01. + * <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>. + */ +public interface HTMLIsIndexElement extends HTMLElement { + /** + * Returns the <code>FORM</code> element containing this control. Returns + * <code>null</code> if this control is not within the context of a + * form. + */ + public HTMLFormElement getForm(); + + /** + * The prompt message. See the prompt attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getPrompt(); + /** + * The prompt message. See the prompt attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setPrompt(String prompt); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLIElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLIElement.java new file mode 100644 index 000000000..3a69f5e9e --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLIElement.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * List item. See the LI element definition in HTML 4.01. + * <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>. + */ +public interface HTMLLIElement extends HTMLElement { + /** + * List item bullet style. See the type attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getType(); + /** + * List item bullet style. See the type attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setType(String type); + + /** + * Reset sequence number when used in <code>OL</code>. See the value + * attribute definition in HTML 4.01. This attribute is deprecated in + * HTML 4.01. + */ + public int getValue(); + /** + * Reset sequence number when used in <code>OL</code>. See the value + * attribute definition in HTML 4.01. This attribute is deprecated in + * HTML 4.01. + */ + public void setValue(int value); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLabelElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLabelElement.java new file mode 100644 index 000000000..ef1a10aea --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLabelElement.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Form field label text. See the LABEL element definition in HTML 4.01. + * <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>. + */ +public interface HTMLLabelElement extends HTMLElement { + /** + * Returns the <code>FORM</code> element containing this control. Returns + * <code>null</code> if this control is not within the context of a + * form. + */ + public HTMLFormElement getForm(); + + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public String getAccessKey(); + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public void setAccessKey(String accessKey); + + /** + * This attribute links this label with another form control by + * <code>id</code> attribute. See the for attribute definition in HTML + * 4.01. + */ + public String getHtmlFor(); + /** + * This attribute links this label with another form control by + * <code>id</code> attribute. See the for attribute definition in HTML + * 4.01. + */ + public void setHtmlFor(String htmlFor); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLegendElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLegendElement.java new file mode 100644 index 000000000..774a11640 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLegendElement.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Provides a caption for a <code>FIELDSET</code> grouping. See the LEGEND + * element definition in HTML 4.01. + * <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>. + */ +public interface HTMLLegendElement extends HTMLElement { + /** + * Returns the <code>FORM</code> element containing this control. Returns + * <code>null</code> if this control is not within the context of a + * form. + */ + public HTMLFormElement getForm(); + + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public String getAccessKey(); + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public void setAccessKey(String accessKey); + + /** + * Text alignment relative to <code>FIELDSET</code>. See the align + * attribute definition in HTML 4.01. This attribute is deprecated in + * HTML 4.01. + */ + public String getAlign(); + /** + * Text alignment relative to <code>FIELDSET</code>. See the align + * attribute definition in HTML 4.01. This attribute is deprecated in + * HTML 4.01. + */ + public void setAlign(String align); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLinkElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLinkElement.java new file mode 100644 index 000000000..8210a4a35 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLinkElement.java @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * The <code>LINK</code> element specifies a link to an external resource, and + * defines this document's relationship to that resource (or vice versa). + * See the LINK element definition in HTML 4.01 (see also the + * <code>LinkStyle</code> interface in the StyleSheet module [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>DOM Level 2 Style Sheets and CSS</a>]). + * <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>. + */ +public interface HTMLLinkElement extends HTMLElement { + /** + * Enables/disables the link. This is currently only used for style sheet + * links, and may be used to activate or deactivate style sheets. + */ + public boolean getDisabled(); + /** + * Enables/disables the link. This is currently only used for style sheet + * links, and may be used to activate or deactivate style sheets. + */ + public void setDisabled(boolean disabled); + + /** + * The character encoding of the resource being linked to. See the charset + * attribute definition in HTML 4.01. + */ + public String getCharset(); + /** + * The character encoding of the resource being linked to. See the charset + * attribute definition in HTML 4.01. + */ + public void setCharset(String charset); + + /** + * The URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the linked resource. See the href attribute definition in + * HTML 4.01. + */ + public String getHref(); + /** + * The URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] of the linked resource. See the href attribute definition in + * HTML 4.01. + */ + public void setHref(String href); + + /** + * Language code of the linked resource. See the hreflang attribute + * definition in HTML 4.01. + */ + public String getHreflang(); + /** + * Language code of the linked resource. See the hreflang attribute + * definition in HTML 4.01. + */ + public void setHreflang(String hreflang); + + /** + * Designed for use with one or more target media. See the media attribute + * definition in HTML 4.01. + */ + public String getMedia(); + /** + * Designed for use with one or more target media. See the media attribute + * definition in HTML 4.01. + */ + public void setMedia(String media); + + /** + * Forward link type. See the rel attribute definition in HTML 4.01. + */ + public String getRel(); + /** + * Forward link type. See the rel attribute definition in HTML 4.01. + */ + public void setRel(String rel); + + /** + * Reverse link type. See the rev attribute definition in HTML 4.01. + */ + public String getRev(); + /** + * Reverse link type. See the rev attribute definition in HTML 4.01. + */ + public void setRev(String rev); + + /** + * Frame to render the resource in. See the target attribute definition in + * HTML 4.01. + */ + public String getTarget(); + /** + * Frame to render the resource in. See the target attribute definition in + * HTML 4.01. + */ + public void setTarget(String target); + + /** + * Advisory content type. See the type attribute definition in HTML 4.01. + */ + public String getType(); + /** + * Advisory content type. See the type attribute definition in HTML 4.01. + */ + public void setType(String type); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLMapElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLMapElement.java new file mode 100644 index 000000000..b1f78682a --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLMapElement.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Client-side image map. See the MAP element definition in HTML 4.01. + * <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>. + */ +public interface HTMLMapElement extends HTMLElement { + /** + * The list of areas defined for the image map. + */ + public HTMLCollection getAreas(); + + /** + * Names the map (for use with <code>usemap</code>). See the name + * attribute definition in HTML 4.01. + */ + public String getName(); + /** + * Names the map (for use with <code>usemap</code>). See the name + * attribute definition in HTML 4.01. + */ + public void setName(String name); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLMenuElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLMenuElement.java new file mode 100644 index 000000000..17e81c597 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLMenuElement.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Menu list. See the MENU element definition in HTML 4.01. This element is + * deprecated in HTML 4.01. + * <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>. + */ +public interface HTMLMenuElement extends HTMLElement { + /** + * Reduce spacing between list items. See the compact attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public boolean getCompact(); + /** + * Reduce spacing between list items. See the compact attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setCompact(boolean compact); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLMetaElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLMetaElement.java new file mode 100644 index 000000000..a56fed5fc --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLMetaElement.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * This contains generic meta-information about the document. See the META + * element definition in HTML 4.01. + * <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>. + */ +public interface HTMLMetaElement extends HTMLElement { + /** + * Associated information. See the content attribute definition in HTML + * 4.01. + */ + public String getContent(); + /** + * Associated information. See the content attribute definition in HTML + * 4.01. + */ + public void setContent(String content); + + /** + * HTTP response header name [<a href='http://www.ietf.org/rfc/rfc2616.txt'>IETF RFC 2616</a>]. See the http-equiv attribute definition in + * HTML 4.01. + */ + public String getHttpEquiv(); + /** + * HTTP response header name [<a href='http://www.ietf.org/rfc/rfc2616.txt'>IETF RFC 2616</a>]. See the http-equiv attribute definition in + * HTML 4.01. + */ + public void setHttpEquiv(String httpEquiv); + + /** + * Meta information name. See the name attribute definition in HTML 4.01. + */ + public String getName(); + /** + * Meta information name. See the name attribute definition in HTML 4.01. + */ + public void setName(String name); + + /** + * Select form of content. See the scheme attribute definition in HTML + * 4.01. + */ + public String getScheme(); + /** + * Select form of content. See the scheme attribute definition in HTML + * 4.01. + */ + public void setScheme(String scheme); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLModElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLModElement.java new file mode 100644 index 000000000..f7659f092 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLModElement.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Notice of modification to part of a document. See the INS and DEL element + * definitions in HTML 4.01. + * <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>. + */ +public interface HTMLModElement extends HTMLElement { + /** + * A URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating a document that describes the reason for the change. + * See the cite attribute definition in HTML 4.01. + */ + public String getCite(); + /** + * A URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating a document that describes the reason for the change. + * See the cite attribute definition in HTML 4.01. + */ + public void setCite(String cite); + + /** + * The date and time of the change. See the datetime attribute definition + * in HTML 4.01. + */ + public String getDateTime(); + /** + * The date and time of the change. See the datetime attribute definition + * in HTML 4.01. + */ + public void setDateTime(String dateTime); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOListElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOListElement.java new file mode 100644 index 000000000..298d47439 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOListElement.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Ordered list. See the OL element definition in HTML 4.01. + * <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>. + */ +public interface HTMLOListElement extends HTMLElement { + /** + * Reduce spacing between list items. See the compact attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public boolean getCompact(); + /** + * Reduce spacing between list items. See the compact attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setCompact(boolean compact); + + /** + * Starting sequence number. See the start attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public int getStart(); + /** + * Starting sequence number. See the start attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setStart(int start); + + /** + * Numbering style. See the type attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public String getType(); + /** + * Numbering style. See the type attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setType(String type); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLObjectElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLObjectElement.java new file mode 100644 index 000000000..e49af5f03 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLObjectElement.java @@ -0,0 +1,230 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +import org.w3c.dom.Document; + +/** + * Generic embedded object.In principle, all properties on the object element + * are read-write but in some environments some properties may be read-only + * once the underlying object is instantiated. See the OBJECT element + * definition in [<a href='http://www.w3.org/TR/1999/REC-html401-19991224'>HTML 4.01</a>]. + * <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>. + */ +public interface HTMLObjectElement extends HTMLElement { + /** + * Returns the <code>FORM</code> element containing this control. Returns + * <code>null</code> if this control is not within the context of a + * form. + */ + public HTMLFormElement getForm(); + + /** + * Applet class file. See the <code>code</code> attribute for + * HTMLAppletElement. + */ + public String getCode(); + /** + * Applet class file. See the <code>code</code> attribute for + * HTMLAppletElement. + */ + public void setCode(String code); + + /** + * Aligns this object (vertically or horizontally) with respect to its + * surrounding text. See the align attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public String getAlign(); + /** + * Aligns this object (vertically or horizontally) with respect to its + * surrounding text. See the align attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setAlign(String align); + + /** + * Space-separated list of archives. See the archive attribute definition + * in HTML 4.01. + */ + public String getArchive(); + /** + * Space-separated list of archives. See the archive attribute definition + * in HTML 4.01. + */ + public void setArchive(String archive); + + /** + * Width of border around the object. See the border attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getBorder(); + /** + * Width of border around the object. See the border attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setBorder(String border); + + /** + * Base URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] for <code>classid</code>, <code>data</code>, and + * <code>archive</code> attributes. See the codebase attribute definition + * in HTML 4.01. + */ + public String getCodeBase(); + /** + * Base URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] for <code>classid</code>, <code>data</code>, and + * <code>archive</code> attributes. See the codebase attribute definition + * in HTML 4.01. + */ + public void setCodeBase(String codeBase); + + /** + * Content type for data downloaded via <code>classid</code> attribute. + * See the codetype attribute definition in HTML 4.01. + */ + public String getCodeType(); + /** + * Content type for data downloaded via <code>classid</code> attribute. + * See the codetype attribute definition in HTML 4.01. + */ + public void setCodeType(String codeType); + + /** + * A URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] specifying the location of the object's data. See the data + * attribute definition in HTML 4.01. + */ + public String getData(); + /** + * A URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] specifying the location of the object's data. See the data + * attribute definition in HTML 4.01. + */ + public void setData(String data); + + /** + * Declare (for future reference), but do not instantiate, this object. + * See the declare attribute definition in HTML 4.01. + */ + public boolean getDeclare(); + /** + * Declare (for future reference), but do not instantiate, this object. + * See the declare attribute definition in HTML 4.01. + */ + public void setDeclare(boolean declare); + + /** + * Override height. See the height attribute definition in HTML 4.01. + */ + public String getHeight(); + /** + * Override height. See the height attribute definition in HTML 4.01. + */ + public void setHeight(String height); + + /** + * Horizontal space, in pixels, to the left and right of this image, + * applet, or object. See the hspace attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public int getHspace(); + /** + * Horizontal space, in pixels, to the left and right of this image, + * applet, or object. See the hspace attribute definition in HTML 4.01. + * This attribute is deprecated in HTML 4.01. + */ + public void setHspace(int hspace); + + /** + * Form control or object name when submitted with a form. See the name + * attribute definition in HTML 4.01. + */ + public String getName(); + /** + * Form control or object name when submitted with a form. See the name + * attribute definition in HTML 4.01. + */ + public void setName(String name); + + /** + * Message to render while loading the object. See the standby attribute + * definition in HTML 4.01. + */ + public String getStandby(); + /** + * Message to render while loading the object. See the standby attribute + * definition in HTML 4.01. + */ + public void setStandby(String standby); + + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public int getTabIndex(); + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public void setTabIndex(int tabIndex); + + /** + * Content type for data downloaded via <code>data</code> attribute. See + * the type attribute definition in HTML 4.01. + */ + public String getType(); + /** + * Content type for data downloaded via <code>data</code> attribute. See + * the type attribute definition in HTML 4.01. + */ + public void setType(String type); + + /** + * Use client-side image map. See the usemap attribute definition in HTML + * 4.01. + */ + public String getUseMap(); + /** + * Use client-side image map. See the usemap attribute definition in HTML + * 4.01. + */ + public void setUseMap(String useMap); + + /** + * Vertical space, in pixels, above and below this image, applet, or + * object. See the vspace attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public int getVspace(); + /** + * Vertical space, in pixels, above and below this image, applet, or + * object. See the vspace attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setVspace(int vspace); + + /** + * Override width. See the width attribute definition in HTML 4.01. + */ + public String getWidth(); + /** + * Override width. See the width attribute definition in HTML 4.01. + */ + public void setWidth(String width); + + /** + * The document this object contains, if there is any and it is available, + * or <code>null</code> otherwise. + * @since DOM Level 2 + */ + public Document getContentDocument(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOptGroupElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOptGroupElement.java new file mode 100644 index 000000000..8e680a23c --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOptGroupElement.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Group options together in logical subdivisions. See the OPTGROUP element + * definition in HTML 4.01. + * <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>. + */ +public interface HTMLOptGroupElement extends HTMLElement { + /** + * The control is unavailable in this context. See the disabled attribute + * definition in HTML 4.01. + */ + public boolean getDisabled(); + /** + * The control is unavailable in this context. See the disabled attribute + * definition in HTML 4.01. + */ + public void setDisabled(boolean disabled); + + /** + * Assigns a label to this option group. See the label attribute definition + * in HTML 4.01. + */ + public String getLabel(); + /** + * Assigns a label to this option group. See the label attribute definition + * in HTML 4.01. + */ + public void setLabel(String label); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOptionElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOptionElement.java new file mode 100644 index 000000000..fe932ca87 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOptionElement.java @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * A selectable choice. See the OPTION element definition in HTML 4.01. + * <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>. + */ +public interface HTMLOptionElement extends HTMLElement { + /** + * Returns the <code>FORM</code> element containing this control. Returns + * <code>null</code> if this control is not within the context of a + * form. + */ + public HTMLFormElement getForm(); + + /** + * Represents the value of the HTML selected attribute. The value of this + * attribute does not change if the state of the corresponding form + * control, in an interactive user agent, changes. See the selected + * attribute definition in HTML 4.01. + * @version DOM Level 2 + */ + public boolean getDefaultSelected(); + /** + * Represents the value of the HTML selected attribute. The value of this + * attribute does not change if the state of the corresponding form + * control, in an interactive user agent, changes. See the selected + * attribute definition in HTML 4.01. + * @version DOM Level 2 + */ + public void setDefaultSelected(boolean defaultSelected); + + /** + * The text contained within the option element. + */ + public String getText(); + + /** + * The index of this <code>OPTION</code> in its parent <code>SELECT</code> + * , starting from 0. + * @version DOM Level 2 + */ + public int getIndex(); + + /** + * The control is unavailable in this context. See the disabled attribute + * definition in HTML 4.01. + */ + public boolean getDisabled(); + /** + * The control is unavailable in this context. See the disabled attribute + * definition in HTML 4.01. + */ + public void setDisabled(boolean disabled); + + /** + * Option label for use in hierarchical menus. See the label attribute + * definition in HTML 4.01. + */ + public String getLabel(); + /** + * Option label for use in hierarchical menus. See the label attribute + * definition in HTML 4.01. + */ + public void setLabel(String label); + + /** + * Represents the current state of the corresponding form control, in an + * interactive user agent. Changing this attribute changes the state of + * the form control, but does not change the value of the HTML selected + * attribute of the element. + */ + public boolean getSelected(); + /** + * Represents the current state of the corresponding form control, in an + * interactive user agent. Changing this attribute changes the state of + * the form control, but does not change the value of the HTML selected + * attribute of the element. + */ + public void setSelected(boolean selected); + + /** + * The current form control value. See the value attribute definition in + * HTML 4.01. + */ + public String getValue(); + /** + * The current form control value. See the value attribute definition in + * HTML 4.01. + */ + public void setValue(String value); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOptionsCollection.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOptionsCollection.java new file mode 100644 index 000000000..a28c5ac27 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOptionsCollection.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * An <code>HTMLOptionsCollection</code> is a list of nodes representing HTML + * option element. An individual node may be accessed by either ordinal + * index or the node's <code>name</code> or <code>id</code> attributes. + * Collections in the HTML DOM are assumed to be live meaning that they are + * automatically updated when the underlying document is changed. + * <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>. + * @since DOM Level 2 + */ +public interface HTMLOptionsCollection { + /** + * This attribute specifies the length or size of the list. + */ + public int getLength(); + /** + * This attribute specifies the length or size of the list. + * @exception DOMException + * NOT_SUPPORTED_ERR: if setting the length is not allowed by the + * implementation. + */ + public void setLength(int length) + throws DOMException; + + /** + * This method retrieves a node specified by ordinal index. Nodes are + * numbered in tree order (depth-first traversal order). + * @param index The index of the node to be fetched. The index origin is + * 0. + * @return The <code>Node</code> at the corresponding position upon + * success. A value of <code>null</code> is returned if the index is + * out of range. + */ + public Node item(int index); + + /** + * This method retrieves a <code>Node</code> using a name. It first + * searches for a <code>Node</code> with a matching <code>id</code> + * attribute. If it doesn't find one, it then searches for a + * <code>Node</code> with a matching <code>name</code> attribute, but + * only on those elements that are allowed a name attribute. This method + * is case insensitive in HTML documents and case sensitive in XHTML + * documents. + * @param name The name of the <code>Node</code> to be fetched. + * @return The <code>Node</code> with a <code>name</code> or + * <code>id</code> attribute whose value corresponds to the specified + * string. Upon failure (e.g., no node with this name exists), returns + * <code>null</code>. + */ + public Node namedItem(String name); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLParagraphElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLParagraphElement.java new file mode 100644 index 000000000..b59f505f9 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLParagraphElement.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Paragraphs. See the P element definition in HTML 4.01. + * <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>. + */ +public interface HTMLParagraphElement extends HTMLElement { + /** + * Horizontal text alignment. See the align attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getAlign(); + /** + * Horizontal text alignment. See the align attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setAlign(String align); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLParamElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLParamElement.java new file mode 100644 index 000000000..33f5f7788 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLParamElement.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Parameters fed to the <code>OBJECT</code> element. See the PARAM element + * definition in HTML 4.01. + * <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>. + */ +public interface HTMLParamElement extends HTMLElement { + /** + * The name of a run-time parameter. See the name attribute definition in + * HTML 4.01. + */ + public String getName(); + /** + * The name of a run-time parameter. See the name attribute definition in + * HTML 4.01. + */ + public void setName(String name); + + /** + * Content type for the <code>value</code> attribute when + * <code>valuetype</code> has the value "ref". See the type attribute + * definition in HTML 4.01. + */ + public String getType(); + /** + * Content type for the <code>value</code> attribute when + * <code>valuetype</code> has the value "ref". See the type attribute + * definition in HTML 4.01. + */ + public void setType(String type); + + /** + * The value of a run-time parameter. See the value attribute definition + * in HTML 4.01. + */ + public String getValue(); + /** + * The value of a run-time parameter. See the value attribute definition + * in HTML 4.01. + */ + public void setValue(String value); + + /** + * Information about the meaning of the <code>value</code> attribute + * value. See the valuetype attribute definition in HTML 4.01. + */ + public String getValueType(); + /** + * Information about the meaning of the <code>value</code> attribute + * value. See the valuetype attribute definition in HTML 4.01. + */ + public void setValueType(String valueType); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLPreElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLPreElement.java new file mode 100644 index 000000000..2d39837ed --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLPreElement.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Preformatted text. See the PRE element definition in HTML 4.01. + * <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>. + */ +public interface HTMLPreElement extends HTMLElement { + /** + * Fixed width for content. See the width attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public int getWidth(); + /** + * Fixed width for content. See the width attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setWidth(int width); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLQuoteElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLQuoteElement.java new file mode 100644 index 000000000..aba49746e --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLQuoteElement.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * For the <code>Q</code> and <code>BLOCKQUOTE</code> elements. See the Q + * element definition in HTML 4.01. + * <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>. + */ +public interface HTMLQuoteElement extends HTMLElement { + /** + * A URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating a source document or message. See the cite attribute + * definition in HTML 4.01. + */ + public String getCite(); + /** + * A URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating a source document or message. See the cite attribute + * definition in HTML 4.01. + */ + public void setCite(String cite); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLScriptElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLScriptElement.java new file mode 100644 index 000000000..226b394a9 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLScriptElement.java @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Script statements. See the SCRIPT element definition in HTML 4.01. + * <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>. + */ +public interface HTMLScriptElement extends HTMLElement { + /** + * The script content of the element. + */ + public String getText(); + /** + * The script content of the element. + */ + public void setText(String text); + + /** + * Reserved for future use. + */ + public String getHtmlFor(); + /** + * Reserved for future use. + */ + public void setHtmlFor(String htmlFor); + + /** + * Reserved for future use. + */ + public String getEvent(); + /** + * Reserved for future use. + */ + public void setEvent(String event); + + /** + * The character encoding of the linked resource. See the charset + * attribute definition in HTML 4.01. + */ + public String getCharset(); + /** + * The character encoding of the linked resource. See the charset + * attribute definition in HTML 4.01. + */ + public void setCharset(String charset); + + /** + * Indicates that the user agent can defer processing of the script. See + * the defer attribute definition in HTML 4.01. + */ + public boolean getDefer(); + /** + * Indicates that the user agent can defer processing of the script. See + * the defer attribute definition in HTML 4.01. + */ + public void setDefer(boolean defer); + + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating an external script. See the src attribute definition + * in HTML 4.01. + */ + public String getSrc(); + /** + * URI [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>] designating an external script. See the src attribute definition + * in HTML 4.01. + */ + public void setSrc(String src); + + /** + * The content type of the script language. See the type attribute + * definition in HTML 4.01. + */ + public String getType(); + /** + * The content type of the script language. See the type attribute + * definition in HTML 4.01. + */ + public void setType(String type); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLSelectElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLSelectElement.java new file mode 100644 index 000000000..98dbc836d --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLSelectElement.java @@ -0,0 +1,179 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +import org.w3c.dom.DOMException; + +/** + * The select element allows the selection of an option. The contained options + * can be directly accessed through the select element as a collection. See + * the SELECT element definition in HTML 4.01. + * <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>. + */ +public interface HTMLSelectElement extends HTMLElement { + /** + * The type of this form control. This is the string "select-multiple" + * when the multiple attribute is <code>true</code> and the string + * "select-one" when <code>false</code>. + */ + public String getType(); + + /** + * The ordinal index of the selected option, starting from 0. The value -1 + * is returned if no element is selected. If multiple options are + * selected, the index of the first selected option is returned. + */ + public int getSelectedIndex(); + /** + * The ordinal index of the selected option, starting from 0. The value -1 + * is returned if no element is selected. If multiple options are + * selected, the index of the first selected option is returned. + */ + public void setSelectedIndex(int selectedIndex); + + /** + * The current form control value (i.e. the value of the currently + * selected option), if multiple options are selected this is the value + * of the first selected option. + */ + public String getValue(); + /** + * The current form control value (i.e. the value of the currently + * selected option), if multiple options are selected this is the value + * of the first selected option. + */ + public void setValue(String value); + + /** + * The number of options in this <code>SELECT</code>. + * @version DOM Level 2 + */ + public int getLength(); + /** + * The number of options in this <code>SELECT</code>. + * @exception DOMException + * NOT_SUPPORTED_ERR: if setting the length is not allowed by the + * implementation. + * @version DOM Level 2 + */ + public void setLength(int length) + throws DOMException; + + /** + * Returns the <code>FORM</code> element containing this control. Returns + * <code>null</code> if this control is not within the context of a + * form. + */ + public HTMLFormElement getForm(); + + /** + * The collection of <code>OPTION</code> elements contained by this + * element. + * @version DOM Level 2 + */ + public HTMLOptionsCollection getOptions(); + + /** + * The control is unavailable in this context. See the disabled attribute + * definition in HTML 4.01. + */ + public boolean getDisabled(); + /** + * The control is unavailable in this context. See the disabled attribute + * definition in HTML 4.01. + */ + public void setDisabled(boolean disabled); + + /** + * If true, multiple <code>OPTION</code> elements may be selected in this + * <code>SELECT</code>. See the multiple attribute definition in HTML + * 4.01. + */ + public boolean getMultiple(); + /** + * If true, multiple <code>OPTION</code> elements may be selected in this + * <code>SELECT</code>. See the multiple attribute definition in HTML + * 4.01. + */ + public void setMultiple(boolean multiple); + + /** + * Form control or object name when submitted with a form. See the name + * attribute definition in HTML 4.01. + */ + public String getName(); + /** + * Form control or object name when submitted with a form. See the name + * attribute definition in HTML 4.01. + */ + public void setName(String name); + + /** + * Number of visible rows. See the size attribute definition in HTML 4.01. + */ + public int getSize(); + /** + * Number of visible rows. See the size attribute definition in HTML 4.01. + */ + public void setSize(int size); + + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public int getTabIndex(); + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public void setTabIndex(int tabIndex); + + /** + * Add a new element to the collection of <code>OPTION</code> elements for + * this <code>SELECT</code>. This method is the equivalent of the + * <code>appendChild</code> method of the <code>Node</code> interface if + * the <code>before</code> parameter is <code>null</code>. It is + * equivalent to the <code>insertBefore</code> method on the parent of + * <code>before</code> in all other cases. This method may have no + * effect if the new element is not an <code>OPTION</code> or an + * <code>OPTGROUP</code>. + * @param element The element to add. + * @param before The element to insert before, or <code>null</code> for + * the tail of the list. + * @exception DOMException + * NOT_FOUND_ERR: Raised if <code>before</code> is not a descendant of + * the <code>SELECT</code> element. + */ + public void add(HTMLElement element, + HTMLElement before) + throws DOMException; + + /** + * Remove an element from the collection of <code>OPTION</code> elements + * for this <code>SELECT</code>. Does nothing if no element has the + * given index. + * @param index The index of the item to remove, starting from 0. + */ + public void remove(int index); + + /** + * Removes keyboard focus from this element. + */ + public void blur(); + + /** + * Gives keyboard focus to this element. + */ + public void focus(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLStyleElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLStyleElement.java new file mode 100644 index 000000000..2512d63a6 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLStyleElement.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Style information. See the STYLE element definition in HTML 4.01, the CSS + * module [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>DOM Level 2 Style Sheets and CSS</a>] and the <code>LinkStyle</code> interface in the StyleSheets + * module [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>DOM Level 2 Style Sheets and CSS</a>]. + * <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>. + */ +public interface HTMLStyleElement extends HTMLElement { + /** + * Enables/disables the style sheet. + */ + public boolean getDisabled(); + /** + * Enables/disables the style sheet. + */ + public void setDisabled(boolean disabled); + + /** + * Designed for use with one or more target media. See the media attribute + * definition in HTML 4.01. + */ + public String getMedia(); + /** + * Designed for use with one or more target media. See the media attribute + * definition in HTML 4.01. + */ + public void setMedia(String media); + + /** + * The content type of the style sheet language. See the type attribute + * definition in HTML 4.01. + */ + public String getType(); + /** + * The content type of the style sheet language. See the type attribute + * definition in HTML 4.01. + */ + public void setType(String type); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableCaptionElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableCaptionElement.java new file mode 100644 index 000000000..47466e9e9 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableCaptionElement.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Table caption See the CAPTION element definition in HTML 4.01. + * <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>. + */ +public interface HTMLTableCaptionElement extends HTMLElement { + /** + * Caption alignment with respect to the table. See the align attribute + * definition in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getAlign(); + /** + * Caption alignment with respect to the table. See the align attribute + * definition in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setAlign(String align); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableCellElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableCellElement.java new file mode 100644 index 000000000..2e4db7095 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableCellElement.java @@ -0,0 +1,181 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * The object used to represent the <code>TH</code> and <code>TD</code> + * elements. See the TD element definition in HTML 4.01. + * <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>. + */ +public interface HTMLTableCellElement extends HTMLElement { + /** + * The index of this cell in the row, starting from 0. This index is in + * document tree order and not display order. + */ + public int getCellIndex(); + + /** + * Abbreviation for header cells. See the abbr attribute definition in + * HTML 4.01. + */ + public String getAbbr(); + /** + * Abbreviation for header cells. See the abbr attribute definition in + * HTML 4.01. + */ + public void setAbbr(String abbr); + + /** + * Horizontal alignment of data in cell. See the align attribute definition + * in HTML 4.01. + */ + public String getAlign(); + /** + * Horizontal alignment of data in cell. See the align attribute definition + * in HTML 4.01. + */ + public void setAlign(String align); + + /** + * Names group of related headers. See the axis attribute definition in + * HTML 4.01. + */ + public String getAxis(); + /** + * Names group of related headers. See the axis attribute definition in + * HTML 4.01. + */ + public void setAxis(String axis); + + /** + * Cell background color. See the bgcolor attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getBgColor(); + /** + * Cell background color. See the bgcolor attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setBgColor(String bgColor); + + /** + * Alignment character for cells in a column. See the char attribute + * definition in HTML 4.01. + */ + public String getCh(); + /** + * Alignment character for cells in a column. See the char attribute + * definition in HTML 4.01. + */ + public void setCh(String ch); + + /** + * Offset of alignment character. See the charoff attribute definition in + * HTML 4.01. + */ + public String getChOff(); + /** + * Offset of alignment character. See the charoff attribute definition in + * HTML 4.01. + */ + public void setChOff(String chOff); + + /** + * Number of columns spanned by cell. See the colspan attribute definition + * in HTML 4.01. + */ + public int getColSpan(); + /** + * Number of columns spanned by cell. See the colspan attribute definition + * in HTML 4.01. + */ + public void setColSpan(int colSpan); + + /** + * List of <code>id</code> attribute values for header cells. See the + * headers attribute definition in HTML 4.01. + */ + public String getHeaders(); + /** + * List of <code>id</code> attribute values for header cells. See the + * headers attribute definition in HTML 4.01. + */ + public void setHeaders(String headers); + + /** + * Cell height. See the height attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public String getHeight(); + /** + * Cell height. See the height attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setHeight(String height); + + /** + * Suppress word wrapping. See the nowrap attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public boolean getNoWrap(); + /** + * Suppress word wrapping. See the nowrap attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setNoWrap(boolean noWrap); + + /** + * Number of rows spanned by cell. See the rowspan attribute definition in + * HTML 4.01. + */ + public int getRowSpan(); + /** + * Number of rows spanned by cell. See the rowspan attribute definition in + * HTML 4.01. + */ + public void setRowSpan(int rowSpan); + + /** + * Scope covered by header cells. See the scope attribute definition in + * HTML 4.01. + */ + public String getScope(); + /** + * Scope covered by header cells. See the scope attribute definition in + * HTML 4.01. + */ + public void setScope(String scope); + + /** + * Vertical alignment of data in cell. See the valign attribute definition + * in HTML 4.01. + */ + public String getVAlign(); + /** + * Vertical alignment of data in cell. See the valign attribute definition + * in HTML 4.01. + */ + public void setVAlign(String vAlign); + + /** + * Cell width. See the width attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public String getWidth(); + /** + * Cell width. See the width attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setWidth(String width); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableColElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableColElement.java new file mode 100644 index 000000000..57bb35cfc --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableColElement.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Regroups the <code>COL</code> and <code>COLGROUP</code> elements. See the + * COL element definition in HTML 4.01. + * <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>. + */ +public interface HTMLTableColElement extends HTMLElement { + /** + * Horizontal alignment of cell data in column. See the align attribute + * definition in HTML 4.01. + */ + public String getAlign(); + /** + * Horizontal alignment of cell data in column. See the align attribute + * definition in HTML 4.01. + */ + public void setAlign(String align); + + /** + * Alignment character for cells in a column. See the char attribute + * definition in HTML 4.01. + */ + public String getCh(); + /** + * Alignment character for cells in a column. See the char attribute + * definition in HTML 4.01. + */ + public void setCh(String ch); + + /** + * Offset of alignment character. See the charoff attribute definition in + * HTML 4.01. + */ + public String getChOff(); + /** + * Offset of alignment character. See the charoff attribute definition in + * HTML 4.01. + */ + public void setChOff(String chOff); + + /** + * Indicates the number of columns in a group or affected by a grouping. + * See the span attribute definition in HTML 4.01. + */ + public int getSpan(); + /** + * Indicates the number of columns in a group or affected by a grouping. + * See the span attribute definition in HTML 4.01. + */ + public void setSpan(int span); + + /** + * Vertical alignment of cell data in column. See the valign attribute + * definition in HTML 4.01. + */ + public String getVAlign(); + /** + * Vertical alignment of cell data in column. See the valign attribute + * definition in HTML 4.01. + */ + public void setVAlign(String vAlign); + + /** + * Default column width. See the width attribute definition in HTML 4.01. + */ + public String getWidth(); + /** + * Default column width. See the width attribute definition in HTML 4.01. + */ + public void setWidth(String width); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableElement.java new file mode 100644 index 000000000..ae15deb77 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableElement.java @@ -0,0 +1,254 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +import org.w3c.dom.DOMException; + +/** + * The create* and delete* methods on the table allow authors to construct and + * modify tables. [<a href='http://www.w3.org/TR/1999/REC-html401-19991224'>HTML 4.01</a>] specifies that only one of each of the + * <code>CAPTION</code>, <code>THEAD</code>, and <code>TFOOT</code> elements + * may exist in a table. Therefore, if one exists, and the createTHead() or + * createTFoot() method is called, the method returns the existing THead or + * TFoot element. See the TABLE element definition in HTML 4.01. + * <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>. + */ +public interface HTMLTableElement extends HTMLElement { + /** + * Returns the table's <code>CAPTION</code>, or void if none exists. + * @version DOM Level 2 + */ + public HTMLTableCaptionElement getCaption(); + /** + * Returns the table's <code>CAPTION</code>, or void if none exists. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: if the element is not a <code>CAPTION</code>. + * @version DOM Level 2 + */ + public void setCaption(HTMLTableCaptionElement caption) + throws DOMException; + + /** + * Returns the table's <code>THEAD</code>, or <code>null</code> if none + * exists. + * @version DOM Level 2 + */ + public HTMLTableSectionElement getTHead(); + /** + * Returns the table's <code>THEAD</code>, or <code>null</code> if none + * exists. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: if the element is not a <code>THEAD</code>. + * @version DOM Level 2 + */ + public void setTHead(HTMLTableSectionElement tHead) + throws DOMException; + + /** + * Returns the table's <code>TFOOT</code>, or <code>null</code> if none + * exists. + * @version DOM Level 2 + */ + public HTMLTableSectionElement getTFoot(); + /** + * Returns the table's <code>TFOOT</code>, or <code>null</code> if none + * exists. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: if the element is not a <code>TFOOT</code>. + * @version DOM Level 2 + */ + public void setTFoot(HTMLTableSectionElement tFoot) + throws DOMException; + + /** + * Returns a collection of all the rows in the table, including all in + * <code>THEAD</code>, <code>TFOOT</code>, all <code>TBODY</code> + * elements. + */ + public HTMLCollection getRows(); + + /** + * Returns a collection of the table bodies (including implicit ones). + */ + public HTMLCollection getTBodies(); + + /** + * Specifies the table's position with respect to the rest of the + * document. See the align attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public String getAlign(); + /** + * Specifies the table's position with respect to the rest of the + * document. See the align attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setAlign(String align); + + /** + * Cell background color. See the bgcolor attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getBgColor(); + /** + * Cell background color. See the bgcolor attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setBgColor(String bgColor); + + /** + * The width of the border around the table. See the border attribute + * definition in HTML 4.01. + */ + public String getBorder(); + /** + * The width of the border around the table. See the border attribute + * definition in HTML 4.01. + */ + public void setBorder(String border); + + /** + * Specifies the horizontal and vertical space between cell content and + * cell borders. See the cellpadding attribute definition in HTML 4.01. + */ + public String getCellPadding(); + /** + * Specifies the horizontal and vertical space between cell content and + * cell borders. See the cellpadding attribute definition in HTML 4.01. + */ + public void setCellPadding(String cellPadding); + + /** + * Specifies the horizontal and vertical separation between cells. See the + * cellspacing attribute definition in HTML 4.01. + */ + public String getCellSpacing(); + /** + * Specifies the horizontal and vertical separation between cells. See the + * cellspacing attribute definition in HTML 4.01. + */ + public void setCellSpacing(String cellSpacing); + + /** + * Specifies which external table borders to render. See the frame + * attribute definition in HTML 4.01. + */ + public String getFrame(); + /** + * Specifies which external table borders to render. See the frame + * attribute definition in HTML 4.01. + */ + public void setFrame(String frame); + + /** + * Specifies which internal table borders to render. See the rules + * attribute definition in HTML 4.01. + */ + public String getRules(); + /** + * Specifies which internal table borders to render. See the rules + * attribute definition in HTML 4.01. + */ + public void setRules(String rules); + + /** + * Description about the purpose or structure of a table. See the summary + * attribute definition in HTML 4.01. + */ + public String getSummary(); + /** + * Description about the purpose or structure of a table. See the summary + * attribute definition in HTML 4.01. + */ + public void setSummary(String summary); + + /** + * Specifies the desired table width. See the width attribute definition + * in HTML 4.01. + */ + public String getWidth(); + /** + * Specifies the desired table width. See the width attribute definition + * in HTML 4.01. + */ + public void setWidth(String width); + + /** + * Create a table header row or return an existing one. + * @return A new table header element (<code>THEAD</code>). + */ + public HTMLElement createTHead(); + + /** + * Delete the header from the table, if one exists. + */ + public void deleteTHead(); + + /** + * Create a table footer row or return an existing one. + * @return A footer element (<code>TFOOT</code>). + */ + public HTMLElement createTFoot(); + + /** + * Delete the footer from the table, if one exists. + */ + public void deleteTFoot(); + + /** + * Create a new table caption object or return an existing one. + * @return A <code>CAPTION</code> element. + */ + public HTMLElement createCaption(); + + /** + * Delete the table caption, if one exists. + */ + public void deleteCaption(); + + /** + * Insert a new empty row in the table. The new row is inserted + * immediately before and in the same section as the current + * <code>index</code>th row in the table. If <code>index</code> is -1 or + * equal to the number of rows, the new row is appended. In addition, + * when the table is empty the row is inserted into a <code>TBODY</code> + * which is created and inserted into the table.A table row cannot be + * empty according to [<a href='http://www.w3.org/TR/1999/REC-html401-19991224'>HTML 4.01</a>]. + * @param index The row number where to insert a new row. This index + * starts from 0 and is relative to the logical order (not document + * order) of all the rows contained inside the table. + * @return The newly created row. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified index is greater than the + * number of rows or if the index is a negative number other than -1. + * @version DOM Level 2 + */ + public HTMLElement insertRow(int index) + throws DOMException; + + /** + * Delete a table row. + * @param index The index of the row to be deleted. This index starts + * from 0 and is relative to the logical order (not document order) of + * all the rows contained inside the table. If the index is -1 the + * last row in the table is deleted. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified index is greater than or + * equal to the number of rows or if the index is a negative number + * other than -1. + * @version DOM Level 2 + */ + public void deleteRow(int index) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableRowElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableRowElement.java new file mode 100644 index 000000000..8c3618f39 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableRowElement.java @@ -0,0 +1,130 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +import org.w3c.dom.DOMException; + +/** + * A row in a table. See the TR element definition in HTML 4.01. + * <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>. + */ +public interface HTMLTableRowElement extends HTMLElement { + /** + * This is in logical order and not in document order. The + * <code>rowIndex</code> does take into account sections ( + * <code>THEAD</code>, <code>TFOOT</code>, or <code>TBODY</code>) within + * the table, placing <code>THEAD</code> rows first in the index, + * followed by <code>TBODY</code> rows, followed by <code>TFOOT</code> + * rows. + * @version DOM Level 2 + */ + public int getRowIndex(); + + /** + * The index of this row, relative to the current section ( + * <code>THEAD</code>, <code>TFOOT</code>, or <code>TBODY</code>), + * starting from 0. + * @version DOM Level 2 + */ + public int getSectionRowIndex(); + + /** + * The collection of cells in this row. + * @version DOM Level 2 + */ + public HTMLCollection getCells(); + + /** + * Horizontal alignment of data within cells of this row. See the align + * attribute definition in HTML 4.01. + */ + public String getAlign(); + /** + * Horizontal alignment of data within cells of this row. See the align + * attribute definition in HTML 4.01. + */ + public void setAlign(String align); + + /** + * Background color for rows. See the bgcolor attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public String getBgColor(); + /** + * Background color for rows. See the bgcolor attribute definition in HTML + * 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setBgColor(String bgColor); + + /** + * Alignment character for cells in a column. See the char attribute + * definition in HTML 4.01. + */ + public String getCh(); + /** + * Alignment character for cells in a column. See the char attribute + * definition in HTML 4.01. + */ + public void setCh(String ch); + + /** + * Offset of alignment character. See the charoff attribute definition in + * HTML 4.01. + */ + public String getChOff(); + /** + * Offset of alignment character. See the charoff attribute definition in + * HTML 4.01. + */ + public void setChOff(String chOff); + + /** + * Vertical alignment of data within cells of this row. See the valign + * attribute definition in HTML 4.01. + */ + public String getVAlign(); + /** + * Vertical alignment of data within cells of this row. See the valign + * attribute definition in HTML 4.01. + */ + public void setVAlign(String vAlign); + + /** + * Insert an empty <code>TD</code> cell into this row. If + * <code>index</code> is -1 or equal to the number of cells, the new + * cell is appended. + * @param index The place to insert the cell, starting from 0. + * @return The newly created cell. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified <code>index</code> is greater + * than the number of cells or if the index is a negative number other + * than -1. + * @version DOM Level 2 + */ + public HTMLElement insertCell(int index) + throws DOMException; + + /** + * Delete a cell from the current row. + * @param index The index of the cell to delete, starting from 0. If the + * index is -1 the last cell in the row is deleted. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified <code>index</code> is greater + * than or equal to the number of cells or if the index is a negative + * number other than -1. + * @version DOM Level 2 + */ + public void deleteCell(int index) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableSectionElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableSectionElement.java new file mode 100644 index 000000000..5e3d6e53f --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableSectionElement.java @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +import org.w3c.dom.DOMException; + +/** + * The <code>THEAD</code>, <code>TFOOT</code>, and <code>TBODY</code> + * elements. + * <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>. + */ +public interface HTMLTableSectionElement extends HTMLElement { + /** + * Horizontal alignment of data in cells. See the <code>align</code> + * attribute for HTMLTheadElement for details. + */ + public String getAlign(); + /** + * Horizontal alignment of data in cells. See the <code>align</code> + * attribute for HTMLTheadElement for details. + */ + public void setAlign(String align); + + /** + * Alignment character for cells in a column. See the char attribute + * definition in HTML 4.01. + */ + public String getCh(); + /** + * Alignment character for cells in a column. See the char attribute + * definition in HTML 4.01. + */ + public void setCh(String ch); + + /** + * Offset of alignment character. See the charoff attribute definition in + * HTML 4.01. + */ + public String getChOff(); + /** + * Offset of alignment character. See the charoff attribute definition in + * HTML 4.01. + */ + public void setChOff(String chOff); + + /** + * Vertical alignment of data in cells. See the <code>valign</code> + * attribute for HTMLTheadElement for details. + */ + public String getVAlign(); + /** + * Vertical alignment of data in cells. See the <code>valign</code> + * attribute for HTMLTheadElement for details. + */ + public void setVAlign(String vAlign); + + /** + * The collection of rows in this table section. + */ + public HTMLCollection getRows(); + + /** + * Insert a row into this section. The new row is inserted immediately + * before the current <code>index</code>th row in this section. If + * <code>index</code> is -1 or equal to the number of rows in this + * section, the new row is appended. + * @param index The row number where to insert a new row. This index + * starts from 0 and is relative only to the rows contained inside + * this section, not all the rows in the table. + * @return The newly created row. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified index is greater than the + * number of rows of if the index is a negative number other than -1. + * @version DOM Level 2 + */ + public HTMLElement insertRow(int index) + throws DOMException; + + /** + * Delete a row from this section. + * @param index The index of the row to be deleted, or -1 to delete the + * last row. This index starts from 0 and is relative only to the rows + * contained inside this section, not all the rows in the table. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified index is greater than or + * equal to the number of rows or if the index is a negative number + * other than -1. + * @version DOM Level 2 + */ + public void deleteRow(int index) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTextAreaElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTextAreaElement.java new file mode 100644 index 000000000..caabe4a19 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTextAreaElement.java @@ -0,0 +1,154 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Multi-line text field. See the TEXTAREA element definition in HTML 4.01. + * <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>. + */ +public interface HTMLTextAreaElement extends HTMLElement { + /** + * Represents the contents of the element. The value of this attribute + * does not change if the contents of the corresponding form control, in + * an interactive user agent, changes. + * @version DOM Level 2 + */ + public String getDefaultValue(); + /** + * Represents the contents of the element. The value of this attribute + * does not change if the contents of the corresponding form control, in + * an interactive user agent, changes. + * @version DOM Level 2 + */ + public void setDefaultValue(String defaultValue); + + /** + * Returns the <code>FORM</code> element containing this control. Returns + * <code>null</code> if this control is not within the context of a + * form. + */ + public HTMLFormElement getForm(); + + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public String getAccessKey(); + /** + * A single character access key to give access to the form control. See + * the accesskey attribute definition in HTML 4.01. + */ + public void setAccessKey(String accessKey); + + /** + * Width of control (in characters). See the cols attribute definition in + * HTML 4.01. + */ + public int getCols(); + /** + * Width of control (in characters). See the cols attribute definition in + * HTML 4.01. + */ + public void setCols(int cols); + + /** + * The control is unavailable in this context. See the disabled attribute + * definition in HTML 4.01. + */ + public boolean getDisabled(); + /** + * The control is unavailable in this context. See the disabled attribute + * definition in HTML 4.01. + */ + public void setDisabled(boolean disabled); + + /** + * Form control or object name when submitted with a form. See the name + * attribute definition in HTML 4.01. + */ + public String getName(); + /** + * Form control or object name when submitted with a form. See the name + * attribute definition in HTML 4.01. + */ + public void setName(String name); + + /** + * This control is read-only. See the readonly attribute definition in + * HTML 4.01. + */ + public boolean getReadOnly(); + /** + * This control is read-only. See the readonly attribute definition in + * HTML 4.01. + */ + public void setReadOnly(boolean readOnly); + + /** + * Number of text rows. See the rows attribute definition in HTML 4.01. + */ + public int getRows(); + /** + * Number of text rows. See the rows attribute definition in HTML 4.01. + */ + public void setRows(int rows); + + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public int getTabIndex(); + /** + * Index that represents the element's position in the tabbing order. See + * the tabindex attribute definition in HTML 4.01. + */ + public void setTabIndex(int tabIndex); + + /** + * The type of this form control. This the string "textarea". + */ + public String getType(); + + /** + * Represents the current contents of the corresponding form control, in + * an interactive user agent. Changing this attribute changes the + * contents of the form control, but does not change the contents of the + * element. If the entirety of the data can not fit into a single + * <code>DOMString</code>, the implementation may truncate the data. + */ + public String getValue(); + /** + * Represents the current contents of the corresponding form control, in + * an interactive user agent. Changing this attribute changes the + * contents of the form control, but does not change the contents of the + * element. If the entirety of the data can not fit into a single + * <code>DOMString</code>, the implementation may truncate the data. + */ + public void setValue(String value); + + /** + * Removes keyboard focus from this element. + */ + public void blur(); + + /** + * Gives keyboard focus to this element. + */ + public void focus(); + + /** + * Select the contents of the <code>TEXTAREA</code>. + */ + public void select(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTitleElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTitleElement.java new file mode 100644 index 000000000..a86b3a926 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTitleElement.java @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * The document title. See the TITLE element definition in HTML 4.01. + * <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>. + */ +public interface HTMLTitleElement extends HTMLElement { + /** + * The specified title as a string. + */ + public String getText(); + /** + * The specified title as a string. + */ + public void setText(String text); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLUListElement.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLUListElement.java new file mode 100644 index 000000000..e5828fd39 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLUListElement.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2003 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.html2; + +/** + * Unordered list. See the UL element definition in HTML 4.01. + * <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>. + */ +public interface HTMLUListElement extends HTMLElement { + /** + * Reduce spacing between list items. See the compact attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public boolean getCompact(); + /** + * Reduce spacing between list items. See the compact attribute definition + * in HTML 4.01. This attribute is deprecated in HTML 4.01. + */ + public void setCompact(boolean compact); + + /** + * Bullet style. See the type attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public String getType(); + /** + * Bullet style. See the type attribute definition in HTML 4.01. This + * attribute is deprecated in HTML 4.01. + */ + public void setType(String type); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/DOMImplementationLS.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/DOMImplementationLS.java new file mode 100644 index 000000000..4d1b0971d --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/DOMImplementationLS.java @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.ls; + +import org.w3c.dom.DOMException; + +/** + * <code>DOMImplementationLS</code> contains the factory methods for creating + * Load and Save objects. + * <p> The expectation is that an instance of the + * <code>DOMImplementationLS</code> interface can be obtained by using + * binding-specific casting methods on an instance of the + * <code>DOMImplementation</code> interface or, if the <code>Document</code> + * supports the feature <code>"Core"</code> version <code>"3.0"</code> + * defined in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * , by using the method <code>DOMImplementation.getFeature</code> with + * parameter values <code>"LS"</code> (or <code>"LS-Async"</code>) and + * <code>"3.0"</code> (respectively). + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model (DOM) Level 3 Load +and Save Specification</a>. + */ +public interface DOMImplementationLS { + // DOMImplementationLSMode + /** + * Create a synchronous <code>LSParser</code>. + */ + public static final short MODE_SYNCHRONOUS = 1; + /** + * Create an asynchronous <code>LSParser</code>. + */ + public static final short MODE_ASYNCHRONOUS = 2; + + /** + * Create a new <code>LSParser</code>. The newly constructed parser may + * then be configured by means of its <code>DOMConfiguration</code> + * object, and used to parse documents by means of its <code>parse</code> + * method. + * @param mode The <code>mode</code> argument is either + * <code>MODE_SYNCHRONOUS</code> or <code>MODE_ASYNCHRONOUS</code>, if + * <code>mode</code> is <code>MODE_SYNCHRONOUS</code> then the + * <code>LSParser</code> that is created will operate in synchronous + * mode, if it's <code>MODE_ASYNCHRONOUS</code> then the + * <code>LSParser</code> that is created will operate in asynchronous + * mode. + * @param schemaType An absolute URI representing the type of the schema + * language used during the load of a <code>Document</code> using the + * newly created <code>LSParser</code>. Note that no lexical checking + * is done on the absolute URI. In order to create a + * <code>LSParser</code> for any kind of schema types (i.e. the + * LSParser will be free to use any schema found), use the value + * <code>null</code>. + * <p ><b>Note:</b> For W3C XML Schema [<a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/'>XML Schema Part 1</a>] + * , applications must use the value + * <code>"http://www.w3.org/2001/XMLSchema"</code>. For XML DTD [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>], + * applications must use the value + * <code>"http://www.w3.org/TR/REC-xml"</code>. Other Schema languages + * are outside the scope of the W3C and therefore should recommend an + * absolute URI in order to use this method. + * @return The newly created <code>LSParser</code> object. This + * <code>LSParser</code> is either synchronous or asynchronous + * depending on the value of the <code>mode</code> argument. + * <p ><b>Note:</b> By default, the newly created <code>LSParser</code> + * does not contain a <code>DOMErrorHandler</code>, i.e. the value of + * the "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-error-handler'> + * error-handler</a>" configuration parameter is <code>null</code>. However, implementations + * may provide a default error handler at creation time. In that case, + * the initial value of the <code>"error-handler"</code> configuration + * parameter on the new <code>LSParser</code> object contains a + * reference to the default error handler. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if the requested mode or schema type is + * not supported. + */ + public LSParser createLSParser(short mode, + String schemaType) + throws DOMException; + + /** + * Create a new <code>LSSerializer</code> object. + * @return The newly created <code>LSSerializer</code> object. + * <p ><b>Note:</b> By default, the newly created + * <code>LSSerializer</code> has no <code>DOMErrorHandler</code>, i.e. + * the value of the <code>"error-handler"</code> configuration + * parameter is <code>null</code>. However, implementations may + * provide a default error handler at creation time. In that case, the + * initial value of the <code>"error-handler"</code> configuration + * parameter on the new <code>LSSerializer</code> object contains a + * reference to the default error handler. + */ + public LSSerializer createLSSerializer(); + + /** + * Create a new empty input source object where + * <code>LSInput.characterStream</code>, <code>LSInput.byteStream</code> + * , <code>LSInput.stringData</code> <code>LSInput.systemId</code>, + * <code>LSInput.publicId</code>, <code>LSInput.baseURI</code>, and + * <code>LSInput.encoding</code> are null, and + * <code>LSInput.certifiedText</code> is false. + * @return The newly created input object. + */ + public LSInput createLSInput(); + + /** + * Create a new empty output destination object where + * <code>LSOutput.characterStream</code>, + * <code>LSOutput.byteStream</code>, <code>LSOutput.systemId</code>, + * <code>LSOutput.encoding</code> are null. + * @return The newly created output object. + */ + public LSOutput createLSOutput(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSException.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSException.java new file mode 100644 index 000000000..677ad385c --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSException.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.ls; + +/** + * Parser or write operations may throw an <code>LSException</code> if the + * processing is stopped. The processing can be stopped due to a + * <code>DOMError</code> with a severity of + * <code>DOMError.SEVERITY_FATAL_ERROR</code> or a non recovered + * <code>DOMError.SEVERITY_ERROR</code>, or if + * <code>DOMErrorHandler.handleError()</code> returned <code>false</code>. + * <p ><b>Note:</b> As suggested in the definition of the constants in the + * <code>DOMError</code> interface, a DOM implementation may choose to + * continue after a fatal error, but the resulting DOM tree is then + * implementation dependent. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model (DOM) Level 3 Load +and Save Specification</a>. + */ +public class LSException extends RuntimeException { + public LSException(short code, String message) { + super(message); + this.code = code; + } + public short code; + // LSExceptionCode + /** + * If an attempt was made to load a document, or an XML Fragment, using + * <code>LSParser</code> and the processing has been stopped. + */ + public static final short PARSE_ERR = 81; + /** + * If an attempt was made to serialize a <code>Node</code> using + * <code>LSSerializer</code> and the processing has been stopped. + */ + public static final short SERIALIZE_ERR = 82; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSInput.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSInput.java new file mode 100644 index 000000000..bba1792cd --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSInput.java @@ -0,0 +1,218 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.ls; + +/** + * This interface represents an input source for data. + * <p> This interface allows an application to encapsulate information about + * an input source in a single object, which may include a public + * identifier, a system identifier, a byte stream (possibly with a specified + * encoding), a base URI, and/or a character stream. + * <p> The exact definitions of a byte stream and a character stream are + * binding dependent. + * <p> The application is expected to provide objects that implement this + * interface whenever such objects are needed. The application can either + * provide its own objects that implement this interface, or it can use the + * generic factory method <code>DOMImplementationLS.createLSInput()</code> + * to create objects that implement this interface. + * <p> The <code>LSParser</code> will use the <code>LSInput</code> object to + * determine how to read data. The <code>LSParser</code> will look at the + * different inputs specified in the <code>LSInput</code> in the following + * order to know which one to read from, the first one that is not null and + * not an empty string will be used: + * <ol> + * <li> <code>LSInput.characterStream</code> + * </li> + * <li> + * <code>LSInput.byteStream</code> + * </li> + * <li> <code>LSInput.stringData</code> + * </li> + * <li> + * <code>LSInput.systemId</code> + * </li> + * <li> <code>LSInput.publicId</code> + * </li> + * </ol> + * <p> If all inputs are null, the <code>LSParser</code> will report a + * <code>DOMError</code> with its <code>DOMError.type</code> set to + * <code>"no-input-specified"</code> and its <code>DOMError.severity</code> + * set to <code>DOMError.SEVERITY_FATAL_ERROR</code>. + * <p> <code>LSInput</code> objects belong to the application. The DOM + * implementation will never modify them (though it may make copies and + * modify the copies, if necessary). + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model (DOM) Level 3 Load +and Save Specification</a>. + */ +public interface LSInput { + /** + * An attribute of a language and binding dependent type that represents + * a stream of 16-bit units. The application must encode the stream + * using UTF-16 (defined in [Unicode] and in [ISO/IEC 10646]). It is not a requirement to have an XML declaration when + * using character streams. If an XML declaration is present, the value + * of the encoding attribute will be ignored. + */ + public java.io.Reader getCharacterStream(); + /** + * An attribute of a language and binding dependent type that represents + * a stream of 16-bit units. The application must encode the stream + * using UTF-16 (defined in [Unicode] and in [ISO/IEC 10646]). It is not a requirement to have an XML declaration when + * using character streams. If an XML declaration is present, the value + * of the encoding attribute will be ignored. + */ + public void setCharacterStream(java.io.Reader characterStream); + + /** + * An attribute of a language and binding dependent type that represents + * a stream of bytes. + * <br> If the application knows the character encoding of the byte + * stream, it should set the encoding attribute. Setting the encoding in + * this way will override any encoding specified in an XML declaration + * in the data. + */ + public java.io.InputStream getByteStream(); + /** + * An attribute of a language and binding dependent type that represents + * a stream of bytes. + * <br> If the application knows the character encoding of the byte + * stream, it should set the encoding attribute. Setting the encoding in + * this way will override any encoding specified in an XML declaration + * in the data. + */ + public void setByteStream(java.io.InputStream byteStream); + + /** + * String data to parse. If provided, this will always be treated as a + * sequence of 16-bit units (UTF-16 encoded characters). It is not a + * requirement to have an XML declaration when using + * <code>stringData</code>. If an XML declaration is present, the value + * of the encoding attribute will be ignored. + */ + public String getStringData(); + /** + * String data to parse. If provided, this will always be treated as a + * sequence of 16-bit units (UTF-16 encoded characters). It is not a + * requirement to have an XML declaration when using + * <code>stringData</code>. If an XML declaration is present, the value + * of the encoding attribute will be ignored. + */ + public void setStringData(String stringData); + + /** + * The system identifier, a URI reference [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>], for this + * input source. The system identifier is optional if there is a byte + * stream, a character stream, or string data. It is still useful to + * provide one, since the application will use it to resolve any + * relative URIs and can include it in error messages and warnings. (The + * LSParser will only attempt to fetch the resource identified by the + * URI reference if there is no other input available in the input + * source.) + * <br> If the application knows the character encoding of the object + * pointed to by the system identifier, it can set the encoding using + * the <code>encoding</code> attribute. + * <br> If the specified system ID is a relative URI reference (see + * section 5 in [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>]), the DOM + * implementation will attempt to resolve the relative URI with the + * <code>baseURI</code> as the base, if that fails, the behavior is + * implementation dependent. + */ + public String getSystemId(); + /** + * The system identifier, a URI reference [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>], for this + * input source. The system identifier is optional if there is a byte + * stream, a character stream, or string data. It is still useful to + * provide one, since the application will use it to resolve any + * relative URIs and can include it in error messages and warnings. (The + * LSParser will only attempt to fetch the resource identified by the + * URI reference if there is no other input available in the input + * source.) + * <br> If the application knows the character encoding of the object + * pointed to by the system identifier, it can set the encoding using + * the <code>encoding</code> attribute. + * <br> If the specified system ID is a relative URI reference (see + * section 5 in [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>]), the DOM + * implementation will attempt to resolve the relative URI with the + * <code>baseURI</code> as the base, if that fails, the behavior is + * implementation dependent. + */ + public void setSystemId(String systemId); + + /** + * The public identifier for this input source. This may be mapped to an + * input source using an implementation dependent mechanism (such as + * catalogues or other mappings). The public identifier, if specified, + * may also be reported as part of the location information when errors + * are reported. + */ + public String getPublicId(); + /** + * The public identifier for this input source. This may be mapped to an + * input source using an implementation dependent mechanism (such as + * catalogues or other mappings). The public identifier, if specified, + * may also be reported as part of the location information when errors + * are reported. + */ + public void setPublicId(String publicId); + + /** + * The base URI to be used (see section 5.1.4 in [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>]) for + * resolving a relative <code>systemId</code> to an absolute URI. + * <br> If, when used, the base URI is itself a relative URI, an empty + * string, or null, the behavior is implementation dependent. + */ + public String getBaseURI(); + /** + * The base URI to be used (see section 5.1.4 in [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>]) for + * resolving a relative <code>systemId</code> to an absolute URI. + * <br> If, when used, the base URI is itself a relative URI, an empty + * string, or null, the behavior is implementation dependent. + */ + public void setBaseURI(String baseURI); + + /** + * The character encoding, if known. The encoding must be a string + * acceptable for an XML encoding declaration ([<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>] section + * 4.3.3 "Character Encoding in Entities"). + * <br> This attribute has no effect when the application provides a + * character stream or string data. For other sources of input, an + * encoding specified by means of this attribute will override any + * encoding specified in the XML declaration or the Text declaration, or + * an encoding obtained from a higher level protocol, such as HTTP [<a href='http://www.ietf.org/rfc/rfc2616.txt'>IETF RFC 2616</a>]. + */ + public String getEncoding(); + /** + * The character encoding, if known. The encoding must be a string + * acceptable for an XML encoding declaration ([<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>] section + * 4.3.3 "Character Encoding in Entities"). + * <br> This attribute has no effect when the application provides a + * character stream or string data. For other sources of input, an + * encoding specified by means of this attribute will override any + * encoding specified in the XML declaration or the Text declaration, or + * an encoding obtained from a higher level protocol, such as HTTP [<a href='http://www.ietf.org/rfc/rfc2616.txt'>IETF RFC 2616</a>]. + */ + public void setEncoding(String encoding); + + /** + * If set to true, assume that the input is certified (see section 2.13 + * in [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>]) when + * parsing [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>]. + */ + public boolean getCertifiedText(); + /** + * If set to true, assume that the input is certified (see section 2.13 + * in [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>]) when + * parsing [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>]. + */ + public void setCertifiedText(boolean certifiedText); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSLoadEvent.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSLoadEvent.java new file mode 100644 index 000000000..0140b4123 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSLoadEvent.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.ls; + +import org.w3c.dom.Document; +import org.w3c.dom.events.Event; + +/** + * This interface represents a load event object that signals the completion + * of a document load. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model (DOM) Level 3 Load +and Save Specification</a>. + */ +public interface LSLoadEvent extends Event { + /** + * The document that finished loading. + */ + public Document getNewDocument(); + + /** + * The input source that was parsed. + */ + public LSInput getInput(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSOutput.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSOutput.java new file mode 100644 index 000000000..789b95a93 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSOutput.java @@ -0,0 +1,106 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.ls; + +/** + * This interface represents an output destination for data. + * <p> This interface allows an application to encapsulate information about + * an output destination in a single object, which may include a URI, a byte + * stream (possibly with a specified encoding), a base URI, and/or a + * character stream. + * <p> The exact definitions of a byte stream and a character stream are + * binding dependent. + * <p> The application is expected to provide objects that implement this + * interface whenever such objects are needed. The application can either + * provide its own objects that implement this interface, or it can use the + * generic factory method <code>DOMImplementationLS.createLSOutput()</code> + * to create objects that implement this interface. + * <p> The <code>LSSerializer</code> will use the <code>LSOutput</code> object + * to determine where to serialize the output to. The + * <code>LSSerializer</code> will look at the different outputs specified in + * the <code>LSOutput</code> in the following order to know which one to + * output to, the first one that is not null and not an empty string will be + * used: + * <ol> + * <li> <code>LSOutput.characterStream</code> + * </li> + * <li> + * <code>LSOutput.byteStream</code> + * </li> + * <li> <code>LSOutput.systemId</code> + * </li> + * </ol> + * <p> <code>LSOutput</code> objects belong to the application. The DOM + * implementation will never modify them (though it may make copies and + * modify the copies, if necessary). + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model (DOM) Level 3 Load +and Save Specification</a>. + */ +public interface LSOutput { + /** + * An attribute of a language and binding dependent type that represents + * a writable stream to which 16-bit units can be output. + */ + public java.io.Writer getCharacterStream(); + /** + * An attribute of a language and binding dependent type that represents + * a writable stream to which 16-bit units can be output. + */ + public void setCharacterStream(java.io.Writer characterStream); + + /** + * An attribute of a language and binding dependent type that represents + * a writable stream of bytes. + */ + public java.io.OutputStream getByteStream(); + /** + * An attribute of a language and binding dependent type that represents + * a writable stream of bytes. + */ + public void setByteStream(java.io.OutputStream byteStream); + + /** + * The system identifier, a URI reference [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>], for this + * output destination. + * <br> If the system ID is a relative URI reference (see section 5 in [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>]), the + * behavior is implementation dependent. + */ + public String getSystemId(); + /** + * The system identifier, a URI reference [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>], for this + * output destination. + * <br> If the system ID is a relative URI reference (see section 5 in [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>]), the + * behavior is implementation dependent. + */ + public void setSystemId(String systemId); + + /** + * The character encoding to use for the output. The encoding must be a + * string acceptable for an XML encoding declaration ([<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>] section + * 4.3.3 "Character Encoding in Entities"), it is recommended that + * character encodings registered (as charsets) with the Internet + * Assigned Numbers Authority [<a href='ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets'>IANA-CHARSETS</a>] + * should be referred to using their registered names. + */ + public String getEncoding(); + /** + * The character encoding to use for the output. The encoding must be a + * string acceptable for an XML encoding declaration ([<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>] section + * 4.3.3 "Character Encoding in Entities"), it is recommended that + * character encodings registered (as charsets) with the Internet + * Assigned Numbers Authority [<a href='ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets'>IANA-CHARSETS</a>] + * should be referred to using their registered names. + */ + public void setEncoding(String encoding); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSParser.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSParser.java new file mode 100644 index 000000000..41781fa33 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSParser.java @@ -0,0 +1,466 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.ls; + +import org.w3c.dom.Document; +import org.w3c.dom.DOMConfiguration; +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * An interface to an object that is able to build, or augment, a DOM tree + * from various input sources. + * <p> <code>LSParser</code> provides an API for parsing XML and building the + * corresponding DOM document structure. A <code>LSParser</code> instance + * can be obtained by invoking the + * <code>DOMImplementationLS.createLSParser()</code> method. + * <p> As specified in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * , when a document is first made available via the LSParser: + * <ul> + * <li> there will + * never be two adjacent nodes of type NODE_TEXT, and there will never be + * empty text nodes. + * </li> + * <li> it is expected that the <code>value</code> and + * <code>nodeValue</code> attributes of an <code>Attr</code> node initially + * return the <a href='http://www.w3.org/TR/2004/REC-xml-20040204#AVNormalize'>XML 1.0 + * normalized value</a>. However, if the parameters "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-validate-if-schema'> + * validate-if-schema</a>" and "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-datatype-normalization'> + * datatype-normalization</a>" are set to <code>true</code>, depending on the attribute normalization + * used, the attribute values may differ from the ones obtained by the XML + * 1.0 attribute normalization. If the parameters "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-datatype-normalization'> + * datatype-normalization</a>" is set to <code>false</code>, the XML 1.0 attribute normalization is + * guaranteed to occur, and if the attributes list does not contain + * namespace declarations, the <code>attributes</code> attribute on + * <code>Element</code> node represents the property <b>[attributes]</b> defined in [<a href='http://www.w3.org/TR/2004/REC-xml-infoset-20040204/'>XML Information Set</a>] + * . + * </li> + * </ul> + * <p> Asynchronous <code>LSParser</code> objects are expected to also + * implement the <code>events::EventTarget</code> interface so that event + * listeners can be registered on asynchronous <code>LSParser</code> + * objects. + * <p> Events supported by asynchronous <code>LSParser</code> objects are: + * <dl> + * <dt>load</dt> + * <dd> + * The <code>LSParser</code> finishes to load the document. See also the + * definition of the <code>LSLoadEvent</code> interface. </dd> + * <dt>progress</dt> + * <dd> The + * <code>LSParser</code> signals progress as data is parsed. This + * specification does not attempt to define exactly when progress events + * should be dispatched. That is intentionally left as + * implementation-dependent. Here is one example of how an application might + * dispatch progress events: Once the parser starts receiving data, a + * progress event is dispatched to indicate that the parsing starts. From + * there on, a progress event is dispatched for every 4096 bytes of data + * that is received and processed. This is only one example, though, and + * implementations can choose to dispatch progress events at any time while + * parsing, or not dispatch them at all. See also the definition of the + * <code>LSProgressEvent</code> interface. </dd> + * </dl> + * <p ><b>Note:</b> All events defined in this specification use the + * namespace URI <code>"http://www.w3.org/2002/DOMLS"</code>. + * <p> While parsing an input source, errors are reported to the application + * through the error handler (<code>LSParser.domConfig</code>'s "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-error-handler'> + * error-handler</a>" parameter). This specification does in no way try to define all possible + * errors that can occur while parsing XML, or any other markup, but some + * common error cases are defined. The types (<code>DOMError.type</code>) of + * errors and warnings defined by this specification are: + * <dl> + * <dt> + * <code>"check-character-normalization-failure" [error]</code> </dt> + * <dd> Raised if + * the parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-check-character-normalization'> + * check-character-normalization</a>" is set to true and a string is encountered that fails normalization + * checking. </dd> + * <dt><code>"doctype-not-allowed" [fatal]</code></dt> + * <dd> Raised if the + * configuration parameter "disallow-doctype" is set to <code>true</code> + * and a doctype is encountered. </dd> + * <dt><code>"no-input-specified" [fatal]</code></dt> + * <dd> + * Raised when loading a document and no input is specified in the + * <code>LSInput</code> object. </dd> + * <dt> + * <code>"pi-base-uri-not-preserved" [warning]</code></dt> + * <dd> Raised if a processing + * instruction is encountered in a location where the base URI of the + * processing instruction can not be preserved. One example of a case where + * this warning will be raised is if the configuration parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-entities'> + * entities</a>" is set to <code>false</code> and the following XML file is parsed: + * <pre> + * <!DOCTYPE root [ <!ENTITY e SYSTEM 'subdir/myentity.ent' ]> + * <root> &e; </root></pre> + * And <code>subdir/myentity.ent</code> + * contains: + * <pre><one> <two/> </one> <?pi 3.14159?> + * <more/></pre> + * </dd> + * <dt><code>"unbound-prefix-in-entity" [warning]</code></dt> + * <dd> An + * implementation dependent warning that may be raised if the configuration + * parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-namespaces'> + * namespaces</a>" is set to <code>true</code> and an unbound namespace prefix is + * encountered in an entity's replacement text. Raising this warning is not + * enforced since some existing parsers may not recognize unbound namespace + * prefixes in the replacement text of entities. </dd> + * <dt> + * <code>"unknown-character-denormalization" [fatal]</code></dt> + * <dd> Raised if the + * configuration parameter "ignore-unknown-character-denormalizations" is + * set to <code>false</code> and a character is encountered for which the + * processor cannot determine the normalization properties. </dd> + * <dt> + * <code>"unsupported-encoding" [fatal]</code></dt> + * <dd> Raised if an unsupported + * encoding is encountered. </dd> + * <dt><code>"unsupported-media-type" [fatal]</code></dt> + * <dd> + * Raised if the configuration parameter "supported-media-types-only" is set + * to <code>true</code> and an unsupported media type is encountered. </dd> + * </dl> + * <p> In addition to raising the defined errors and warnings, implementations + * are expected to raise implementation specific errors and warnings for any + * other error and warning cases such as IO errors (file not found, + * permission denied,...), XML well-formedness errors, and so on. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model (DOM) Level 3 Load +and Save Specification</a>. + */ +public interface LSParser { + /** + * The <code>DOMConfiguration</code> object used when parsing an input + * source. This <code>DOMConfiguration</code> is specific to the parse + * operation. No parameter values from this <code>DOMConfiguration</code> + * object are passed automatically to the <code>DOMConfiguration</code> + * object on the <code>Document</code> that is created, or used, by the + * parse operation. The DOM application is responsible for passing any + * needed parameter values from this <code>DOMConfiguration</code> + * object to the <code>DOMConfiguration</code> object referenced by the + * <code>Document</code> object. + * <br> In addition to the parameters recognized in on the <a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration'> + * DOMConfiguration</a> interface defined in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * , the <code>DOMConfiguration</code> objects for <code>LSParser</code> + * add or modify the following parameters: + * <dl> + * <dt> + * <code>"charset-overrides-xml-encoding"</code></dt> + * <dd> + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>optional</em>] (<em>default</em>) If a higher level protocol such as HTTP [<a href='http://www.ietf.org/rfc/rfc2616.txt'>IETF RFC 2616</a>] provides an + * indication of the character encoding of the input stream being + * processed, that will override any encoding specified in the XML + * declaration or the Text declaration (see also section 4.3.3, + * "Character Encoding in Entities", in [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]). + * Explicitly setting an encoding in the <code>LSInput</code> overrides + * any encoding from the protocol. </dd> + * <dt><code>false</code></dt> + * <dd>[<em>required</em>] The parser ignores any character set encoding information from + * higher-level protocols. </dd> + * </dl></dd> + * <dt><code>"disallow-doctype"</code></dt> + * <dd> + * <dl> + * <dt> + * <code>true</code></dt> + * <dd>[<em>optional</em>] Throw a fatal <b>"doctype-not-allowed"</b> error if a doctype node is found while parsing the document. This is + * useful when dealing with things like SOAP envelopes where doctype + * nodes are not allowed. </dd> + * <dt><code>false</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) Allow doctype nodes in the document. </dd> + * </dl></dd> + * <dt> + * <code>"ignore-unknown-character-denormalizations"</code></dt> + * <dd> + * <dl> + * <dt> + * <code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) If, while verifying full normalization when [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>] is + * supported, a processor encounters characters for which it cannot + * determine the normalization properties, then the processor will + * ignore any possible denormalizations caused by these characters. + * This parameter is ignored for [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>]. </dd> + * <dt> + * <code>false</code></dt> + * <dd>[<em>optional</em>] Report an fatal <b>"unknown-character-denormalization"</b> error if a character is encountered for which the processor cannot + * determine the normalization properties. </dd> + * </dl></dd> + * <dt><code>"infoset"</code></dt> + * <dd> See + * the definition of <code>DOMConfiguration</code> for a description of + * this parameter. Unlike in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * , this parameter will default to <code>true</code> for + * <code>LSParser</code>. </dd> + * <dt><code>"namespaces"</code></dt> + * <dd> + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) Perform the namespace processing as defined in [<a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>XML Namespaces</a>] + * and [<a href='http://www.w3.org/TR/2004/REC-xml-names11-20040204/'>XML Namespaces 1.1</a>] + * . </dd> + * <dt><code>false</code></dt> + * <dd>[<em>optional</em>] Do not perform the namespace processing. </dd> + * </dl></dd> + * <dt> + * <code>"resource-resolver"</code></dt> + * <dd>[<em>required</em>] A reference to a <code>LSResourceResolver</code> object, or null. If + * the value of this parameter is not null when an external resource + * (such as an external XML entity or an XML schema location) is + * encountered, the implementation will request that the + * <code>LSResourceResolver</code> referenced in this parameter resolves + * the resource. </dd> + * <dt><code>"supported-media-types-only"</code></dt> + * <dd> + * <dl> + * <dt> + * <code>true</code></dt> + * <dd>[<em>optional</em>] Check that the media type of the parsed resource is a supported media + * type. If an unsupported media type is encountered, a fatal error of + * type <b>"unsupported-media-type"</b> will be raised. The media types defined in [<a href='http://www.ietf.org/rfc/rfc3023.txt'>IETF RFC 3023</a>] must always + * be accepted. </dd> + * <dt><code>false</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) Accept any media type. </dd> + * </dl></dd> + * <dt><code>"validate"</code></dt> + * <dd> See the definition of + * <code>DOMConfiguration</code> for a description of this parameter. + * Unlike in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * , the processing of the internal subset is always accomplished, even + * if this parameter is set to <code>false</code>. </dd> + * <dt> + * <code>"validate-if-schema"</code></dt> + * <dd> See the definition of + * <code>DOMConfiguration</code> for a description of this parameter. + * Unlike in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * , the processing of the internal subset is always accomplished, even + * if this parameter is set to <code>false</code>. </dd> + * <dt> + * <code>"well-formed"</code></dt> + * <dd> See the definition of + * <code>DOMConfiguration</code> for a description of this parameter. + * Unlike in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * , this parameter cannot be set to <code>false</code>. </dd> + * </dl> + */ + public DOMConfiguration getDomConfig(); + + /** + * When a filter is provided, the implementation will call out to the + * filter as it is constructing the DOM tree structure. The filter can + * choose to remove elements from the document being constructed, or to + * terminate the parsing early. + * <br> The filter is invoked after the operations requested by the + * <code>DOMConfiguration</code> parameters have been applied. For + * example, if "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-validate'> + * validate</a>" is set to <code>true</code>, the validation is done before invoking the + * filter. + */ + public LSParserFilter getFilter(); + /** + * When a filter is provided, the implementation will call out to the + * filter as it is constructing the DOM tree structure. The filter can + * choose to remove elements from the document being constructed, or to + * terminate the parsing early. + * <br> The filter is invoked after the operations requested by the + * <code>DOMConfiguration</code> parameters have been applied. For + * example, if "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-validate'> + * validate</a>" is set to <code>true</code>, the validation is done before invoking the + * filter. + */ + public void setFilter(LSParserFilter filter); + + /** + * <code>true</code> if the <code>LSParser</code> is asynchronous, + * <code>false</code> if it is synchronous. + */ + public boolean getAsync(); + + /** + * <code>true</code> if the <code>LSParser</code> is currently busy + * loading a document, otherwise <code>false</code>. + */ + public boolean getBusy(); + + /** + * Parse an XML document from a resource identified by a + * <code>LSInput</code>. + * @param input The <code>LSInput</code> from which the source of the + * document is to be read. + * @return If the <code>LSParser</code> is a synchronous + * <code>LSParser</code>, the newly created and populated + * <code>Document</code> is returned. If the <code>LSParser</code> is + * asynchronous, <code>null</code> is returned since the document + * object may not yet be constructed when this method returns. + * @exception DOMException + * INVALID_STATE_ERR: Raised if the <code>LSParser</code>'s + * <code>LSParser.busy</code> attribute is <code>true</code>. + * @exception LSException + * PARSE_ERR: Raised if the <code>LSParser</code> was unable to load + * the XML document. DOM applications should attach a + * <code>DOMErrorHandler</code> using the parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-error-handler'> + * error-handler</a>" if they wish to get details on the error. + */ + public Document parse(LSInput input) + throws DOMException, LSException; + + /** + * Parse an XML document from a location identified by a URI reference [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>]. If the URI + * contains a fragment identifier (see section 4.1 in [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>]), the + * behavior is not defined by this specification, future versions of + * this specification may define the behavior. + * @param uri The location of the XML document to be read. + * @return If the <code>LSParser</code> is a synchronous + * <code>LSParser</code>, the newly created and populated + * <code>Document</code> is returned, or <code>null</code> if an error + * occured. If the <code>LSParser</code> is asynchronous, + * <code>null</code> is returned since the document object may not yet + * be constructed when this method returns. + * @exception DOMException + * INVALID_STATE_ERR: Raised if the <code>LSParser.busy</code> + * attribute is <code>true</code>. + * @exception LSException + * PARSE_ERR: Raised if the <code>LSParser</code> was unable to load + * the XML document. DOM applications should attach a + * <code>DOMErrorHandler</code> using the parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-error-handler'> + * error-handler</a>" if they wish to get details on the error. + */ + public Document parseURI(String uri) + throws DOMException, LSException; + + // ACTION_TYPES + /** + * Append the result of the parse operation as children of the context + * node. For this action to work, the context node must be an + * <code>Element</code> or a <code>DocumentFragment</code>. + */ + public static final short ACTION_APPEND_AS_CHILDREN = 1; + /** + * Replace all the children of the context node with the result of the + * parse operation. For this action to work, the context node must be an + * <code>Element</code>, a <code>Document</code>, or a + * <code>DocumentFragment</code>. + */ + public static final short ACTION_REPLACE_CHILDREN = 2; + /** + * Insert the result of the parse operation as the immediately preceding + * sibling of the context node. For this action to work the context + * node's parent must be an <code>Element</code> or a + * <code>DocumentFragment</code>. + */ + public static final short ACTION_INSERT_BEFORE = 3; + /** + * Insert the result of the parse operation as the immediately following + * sibling of the context node. For this action to work the context + * node's parent must be an <code>Element</code> or a + * <code>DocumentFragment</code>. + */ + public static final short ACTION_INSERT_AFTER = 4; + /** + * Replace the context node with the result of the parse operation. For + * this action to work, the context node must have a parent, and the + * parent must be an <code>Element</code> or a + * <code>DocumentFragment</code>. + */ + public static final short ACTION_REPLACE = 5; + + /** + * Parse an XML fragment from a resource identified by a + * <code>LSInput</code> and insert the content into an existing document + * at the position specified with the <code>context</code> and + * <code>action</code> arguments. When parsing the input stream, the + * context node (or its parent, depending on where the result will be + * inserted) is used for resolving unbound namespace prefixes. The + * context node's <code>ownerDocument</code> node (or the node itself if + * the node of type <code>DOCUMENT_NODE</code>) is used to resolve + * default attributes and entity references. + * <br> As the new data is inserted into the document, at least one + * mutation event is fired per new immediate child or sibling of the + * context node. + * <br> If the context node is a <code>Document</code> node and the action + * is <code>ACTION_REPLACE_CHILDREN</code>, then the document that is + * passed as the context node will be changed such that its + * <code>xmlEncoding</code>, <code>documentURI</code>, + * <code>xmlVersion</code>, <code>inputEncoding</code>, + * <code>xmlStandalone</code>, and all other such attributes are set to + * what they would be set to if the input source was parsed using + * <code>LSParser.parse()</code>. + * <br> This method is always synchronous, even if the + * <code>LSParser</code> is asynchronous (<code>LSParser.async</code> is + * <code>true</code>). + * <br> If an error occurs while parsing, the caller is notified through + * the <code>ErrorHandler</code> instance associated with the "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-error-handler'> + * error-handler</a>" parameter of the <code>DOMConfiguration</code>. + * <br> When calling <code>parseWithContext</code>, the values of the + * following configuration parameters will be ignored and their default + * values will always be used instead: "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-validate'> + * validate</a>", "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-validate-if-schema'> + * validate-if-schema</a>", and "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-element-content-whitespace'> + * element-content-whitespace</a>". Other parameters will be treated normally, and the parser is expected + * to call the <code>LSParserFilter</code> just as if a whole document + * was parsed. + * @param input The <code>LSInput</code> from which the source document + * is to be read. The source document must be an XML fragment, i.e. + * anything except a complete XML document (except in the case where + * the context node of type <code>DOCUMENT_NODE</code>, and the action + * is <code>ACTION_REPLACE_CHILDREN</code>), a DOCTYPE (internal + * subset), entity declaration(s), notation declaration(s), or XML or + * text declaration(s). + * @param contextArg The node that is used as the context for the data + * that is being parsed. This node must be a <code>Document</code> + * node, a <code>DocumentFragment</code> node, or a node of a type + * that is allowed as a child of an <code>Element</code> node, e.g. it + * cannot be an <code>Attribute</code> node. + * @param action This parameter describes which action should be taken + * between the new set of nodes being inserted and the existing + * children of the context node. The set of possible actions is + * defined in <code>ACTION_TYPES</code> above. + * @return Return the node that is the result of the parse operation. If + * the result is more than one top-level node, the first one is + * returned. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if the content cannot replace, be + * inserted before, after, or as a child of the context node (see also + * <code>Node.insertBefore</code> or <code>Node.replaceChild</code> in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * ). + * <br> NOT_SUPPORTED_ERR: Raised if the <code>LSParser</code> doesn't + * support this method, or if the context node is of type + * <code>Document</code> and the DOM implementation doesn't support + * the replacement of the <code>DocumentType</code> child or + * <code>Element</code> child. + * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if the context node is a + * read only node and the content is being appended to its child list, + * or if the parent node of the context node is read only node and the + * content is being inserted in its child list. + * <br> INVALID_STATE_ERR: Raised if the <code>LSParser.busy</code> + * attribute is <code>true</code>. + * @exception LSException + * PARSE_ERR: Raised if the <code>LSParser</code> was unable to load + * the XML fragment. DOM applications should attach a + * <code>DOMErrorHandler</code> using the parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-error-handler'> + * error-handler</a>" if they wish to get details on the error. + */ + public Node parseWithContext(LSInput input, + Node contextArg, + short action) + throws DOMException, LSException; + + /** + * Abort the loading of the document that is currently being loaded by + * the <code>LSParser</code>. If the <code>LSParser</code> is currently + * not busy, a call to this method does nothing. + */ + public void abort(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSParserFilter.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSParserFilter.java new file mode 100644 index 000000000..00db4d3c2 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSParserFilter.java @@ -0,0 +1,172 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.ls; + +import org.w3c.dom.Node; +import org.w3c.dom.Element; + +/** + * <code>LSParserFilter</code>s provide applications the ability to examine + * nodes as they are being constructed while parsing. As each node is + * examined, it may be modified or removed, or the entire parse may be + * terminated early. + * <p> At the time any of the filter methods are called by the parser, the + * owner Document and DOMImplementation objects exist and are accessible. + * The document element is never passed to the <code>LSParserFilter</code> + * methods, i.e. it is not possible to filter out the document element. + * <code>Document</code>, <code>DocumentType</code>, <code>Notation</code>, + * <code>Entity</code>, and <code>Attr</code> nodes are never passed to the + * <code>acceptNode</code> method on the filter. The child nodes of an + * <code>EntityReference</code> node are passed to the filter if the + * parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-entities'> + * entities</a>" is set to <code>false</code>. Note that, as described by the parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-entities'> + * entities</a>", unexpanded entity reference nodes are never discarded and are always + * passed to the filter. + * <p> All validity checking while parsing a document occurs on the source + * document as it appears on the input stream, not on the DOM document as it + * is built in memory. With filters, the document in memory may be a subset + * of the document on the stream, and its validity may have been affected by + * the filtering. + * <p> All default attributes must be present on elements when the elements + * are passed to the filter methods. All other default content must be + * passed to the filter methods. + * <p> DOM applications must not raise exceptions in a filter. The effect of + * throwing exceptions from a filter is DOM implementation dependent. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model (DOM) Level 3 Load +and Save Specification</a>. + */ +public interface LSParserFilter { + // Constants returned by startElement and acceptNode + /** + * Accept the node. + */ + public static final short FILTER_ACCEPT = 1; + /** + * Reject the node and its children. + */ + public static final short FILTER_REJECT = 2; + /** + * Skip this single node. The children of this node will still be + * considered. + */ + public static final short FILTER_SKIP = 3; + /** + * Interrupt the normal processing of the document. + */ + public static final short FILTER_INTERRUPT = 4; + + /** + * The parser will call this method after each <code>Element</code> start + * tag has been scanned, but before the remainder of the + * <code>Element</code> is processed. The intent is to allow the + * element, including any children, to be efficiently skipped. Note that + * only element nodes are passed to the <code>startElement</code> + * function. + * <br>The element node passed to <code>startElement</code> for filtering + * will include all of the Element's attributes, but none of the + * children nodes. The Element may not yet be in place in the document + * being constructed (it may not have a parent node.) + * <br>A <code>startElement</code> filter function may access or change + * the attributes for the Element. Changing Namespace declarations will + * have no effect on namespace resolution by the parser. + * <br>For efficiency, the Element node passed to the filter may not be + * the same one as is actually placed in the tree if the node is + * accepted. And the actual node (node object identity) may be reused + * during the process of reading in and filtering a document. + * @param elementArg The newly encountered element. At the time this + * method is called, the element is incomplete - it will have its + * attributes, but no children. + * @return + * <ul> + * <li> <code>FILTER_ACCEPT</code> if the <code>Element</code> should + * be included in the DOM document being built. + * </li> + * <li> + * <code>FILTER_REJECT</code> if the <code>Element</code> and all of + * its children should be rejected. + * </li> + * <li> <code>FILTER_SKIP</code> if the + * <code>Element</code> should be skipped. All of its children are + * inserted in place of the skipped <code>Element</code> node. + * </li> + * <li> + * <code>FILTER_INTERRUPT</code> if the filter wants to stop the + * processing of the document. Interrupting the processing of the + * document does no longer guarantee that the resulting DOM tree is + * XML well-formed. The <code>Element</code> is rejected. + * </li> + * </ul> Returning + * any other values will result in unspecified behavior. + */ + public short startElement(Element elementArg); + + /** + * This method will be called by the parser at the completion of the + * parsing of each node. The node and all of its descendants will exist + * and be complete. The parent node will also exist, although it may be + * incomplete, i.e. it may have additional children that have not yet + * been parsed. Attribute nodes are never passed to this function. + * <br>From within this method, the new node may be freely modified - + * children may be added or removed, text nodes modified, etc. The state + * of the rest of the document outside this node is not defined, and the + * affect of any attempt to navigate to, or to modify any other part of + * the document is undefined. + * <br>For validating parsers, the checks are made on the original + * document, before any modification by the filter. No validity checks + * are made on any document modifications made by the filter. + * <br>If this new node is rejected, the parser might reuse the new node + * and any of its descendants. + * @param nodeArg The newly constructed element. At the time this method + * is called, the element is complete - it has all of its children + * (and their children, recursively) and attributes, and is attached + * as a child to its parent. + * @return + * <ul> + * <li> <code>FILTER_ACCEPT</code> if this <code>Node</code> should + * be included in the DOM document being built. + * </li> + * <li> + * <code>FILTER_REJECT</code> if the <code>Node</code> and all of its + * children should be rejected. + * </li> + * <li> <code>FILTER_SKIP</code> if the + * <code>Node</code> should be skipped and the <code>Node</code> + * should be replaced by all the children of the <code>Node</code>. + * </li> + * <li> + * <code>FILTER_INTERRUPT</code> if the filter wants to stop the + * processing of the document. Interrupting the processing of the + * document does no longer guarantee that the resulting DOM tree is + * XML well-formed. The <code>Node</code> is accepted and will be the + * last completely parsed node. + * </li> + * </ul> + */ + public short acceptNode(Node nodeArg); + + /** + * Tells the <code>LSParser</code> what types of nodes to show to the + * method <code>LSParserFilter.acceptNode</code>. If a node is not shown + * to the filter using this attribute, it is automatically included in + * the DOM document being built. See <code>NodeFilter</code> for + * definition of the constants. The constants <code>SHOW_ATTRIBUTE</code> + * , <code>SHOW_DOCUMENT</code>, <code>SHOW_DOCUMENT_TYPE</code>, + * <code>SHOW_NOTATION</code>, <code>SHOW_ENTITY</code>, and + * <code>SHOW_DOCUMENT_FRAGMENT</code> are meaningless here. Those nodes + * will never be passed to <code>LSParserFilter.acceptNode</code>. + * <br> The constants used here are defined in [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>DOM Level 2 Traversal and Range</a>] + * . + */ + public int getWhatToShow(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSProgressEvent.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSProgressEvent.java new file mode 100644 index 000000000..adf7b098c --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSProgressEvent.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.ls; + +import org.w3c.dom.events.Event; + +/** + * This interface represents a progress event object that notifies the + * application about progress as a document is parsed. It extends the + * <code>Event</code> interface defined in [<a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>DOM Level 3 Events</a>] + * . + * <p> The units used for the attributes <code>position</code> and + * <code>totalSize</code> are not specified and can be implementation and + * input dependent. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model (DOM) Level 3 Load +and Save Specification</a>. + */ +public interface LSProgressEvent extends Event { + /** + * The input source that is being parsed. + */ + public LSInput getInput(); + + /** + * The current position in the input source, including all external + * entities and other resources that have been read. + */ + public int getPosition(); + + /** + * The total size of the document including all external resources, this + * number might change as a document is being parsed if references to + * more external resources are seen. A value of <code>0</code> is + * returned if the total size cannot be determined or estimated. + */ + public int getTotalSize(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSResourceResolver.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSResourceResolver.java new file mode 100644 index 000000000..5301beb8f --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSResourceResolver.java @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.ls; + +/** + * <code>LSResourceResolver</code> provides a way for applications to + * redirect references to external resources. + * <p> Applications needing to implement custom handling for external + * resources can implement this interface and register their implementation + * by setting the "resource-resolver" parameter of + * <code>DOMConfiguration</code> objects attached to <code>LSParser</code> + * and <code>LSSerializer</code>. It can also be register on + * <code>DOMConfiguration</code> objects attached to <code>Document</code> + * if the "LS" feature is supported. + * <p> The <code>LSParser</code> will then allow the application to intercept + * any external entities, including the external DTD subset and external + * parameter entities, before including them. The top-level document entity + * is never passed to the <code>resolveResource</code> method. + * <p> Many DOM applications will not need to implement this interface, but it + * will be especially useful for applications that build XML documents from + * databases or other specialized input sources, or for applications that + * use URNs. + * <p ><b>Note:</b> <code>LSResourceResolver</code> is based on the SAX2 [<a href='http://www.saxproject.org/'>SAX</a>] <code>EntityResolver</code> + * interface. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model (DOM) Level 3 Load +and Save Specification</a>. + */ +public interface LSResourceResolver { + /** + * Allow the application to resolve external resources. + * <br> The <code>LSParser</code> will call this method before opening any + * external resource, including the external DTD subset, external + * entities referenced within the DTD, and external entities referenced + * within the document element (however, the top-level document entity + * is not passed to this method). The application may then request that + * the <code>LSParser</code> resolve the external resource itself, that + * it use an alternative URI, or that it use an entirely different input + * source. + * <br> Application writers can use this method to redirect external + * system identifiers to secure and/or local URI, to look up public + * identifiers in a catalogue, or to read an entity from a database or + * other input source (including, for example, a dialog box). + * @param type The type of the resource being resolved. For XML [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>] resources + * (i.e. entities), applications must use the value + * <code>"http://www.w3.org/TR/REC-xml"</code>. For XML Schema [<a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/'>XML Schema Part 1</a>] + * , applications must use the value + * <code>"http://www.w3.org/2001/XMLSchema"</code>. Other types of + * resources are outside the scope of this specification and therefore + * should recommend an absolute URI in order to use this method. + * @param namespaceURI The namespace of the resource being resolved, + * e.g. the target namespace of the XML Schema [<a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/'>XML Schema Part 1</a>] + * when resolving XML Schema resources. + * @param publicId The public identifier of the external entity being + * referenced, or <code>null</code> if no public identifier was + * supplied or if the resource is not an entity. + * @param systemId The system identifier, a URI reference [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>], of the + * external resource being referenced, or <code>null</code> if no + * system identifier was supplied. + * @param baseURI The absolute base URI of the resource being parsed, or + * <code>null</code> if there is no base URI. + * @return A <code>LSInput</code> object describing the new input + * source, or <code>null</code> to request that the parser open a + * regular URI connection to the resource. + */ + public LSInput resolveResource(String type, + String namespaceURI, + String publicId, + String systemId, + String baseURI); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSSerializer.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSSerializer.java new file mode 100644 index 000000000..2a6fb6ff4 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSSerializer.java @@ -0,0 +1,436 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.ls; + +import org.w3c.dom.DOMConfiguration; +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * A <code>LSSerializer</code> provides an API for serializing (writing) a + * DOM document out into XML. The XML data is written to a string or an + * output stream. Any changes or fixups made during the serialization affect + * only the serialized data. The <code>Document</code> object and its + * children are never altered by the serialization operation. + * <p> During serialization of XML data, namespace fixup is done as defined in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * , Appendix B. [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>DOM Level 2 Core</a>] + * allows empty strings as a real namespace URI. If the + * <code>namespaceURI</code> of a <code>Node</code> is empty string, the + * serialization will treat them as <code>null</code>, ignoring the prefix + * if any. + * <p> <code>LSSerializer</code> accepts any node type for serialization. For + * nodes of type <code>Document</code> or <code>Entity</code>, well-formed + * XML will be created when possible (well-formedness is guaranteed if the + * document or entity comes from a parse operation and is unchanged since it + * was created). The serialized output for these node types is either as a + * XML document or an External XML Entity, respectively, and is acceptable + * input for an XML parser. For all other types of nodes the serialized form + * is implementation dependent. + * <p>Within a <code>Document</code>, <code>DocumentFragment</code>, or + * <code>Entity</code> being serialized, <code>Nodes</code> are processed as + * follows + * <ul> + * <li> <code>Document</code> nodes are written, including the XML + * declaration (unless the parameter "xml-declaration" is set to + * <code>false</code>) and a DTD subset, if one exists in the DOM. Writing a + * <code>Document</code> node serializes the entire document. + * </li> + * <li> + * <code>Entity</code> nodes, when written directly by + * <code>LSSerializer.write</code>, outputs the entity expansion but no + * namespace fixup is done. The resulting output will be valid as an + * external entity. + * </li> + * <li> If the parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-entities'> + * entities</a>" is set to <code>true</code>, <code>EntityReference</code> nodes are + * serialized as an entity reference of the form " + * <code>&entityName;</code>" in the output. Child nodes (the expansion) + * of the entity reference are ignored. If the parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-entities'> + * entities</a>" is set to <code>false</code>, only the children of the entity reference + * are serialized. <code>EntityReference</code> nodes with no children (no + * corresponding <code>Entity</code> node or the corresponding + * <code>Entity</code> nodes have no children) are always serialized. + * </li> + * <li> + * <code>CDATAsections</code> containing content characters that cannot be + * represented in the specified output encoding are handled according to the + * "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-split-cdata-sections'> + * split-cdata-sections</a>" parameter. If the parameter is set to <code>true</code>, + * <code>CDATAsections</code> are split, and the unrepresentable characters + * are serialized as numeric character references in ordinary content. The + * exact position and number of splits is not specified. If the parameter + * is set to <code>false</code>, unrepresentable characters in a + * <code>CDATAsection</code> are reported as + * <code>"wf-invalid-character"</code> errors if the parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-well-formed'> + * well-formed</a>" is set to <code>true</code>. The error is not recoverable - there is no + * mechanism for supplying alternative characters and continuing with the + * serialization. + * </li> + * <li> <code>DocumentFragment</code> nodes are serialized by + * serializing the children of the document fragment in the order they + * appear in the document fragment. + * </li> + * <li> All other node types (Element, Text, + * etc.) are serialized to their corresponding XML source form. + * </li> + * </ul> + * <p ><b>Note:</b> The serialization of a <code>Node</code> does not always + * generate a well-formed XML document, i.e. a <code>LSParser</code> might + * throw fatal errors when parsing the resulting serialization. + * <p> Within the character data of a document (outside of markup), any + * characters that cannot be represented directly are replaced with + * character references. Occurrences of '<' and '&' are replaced by + * the predefined entities &lt; and &amp;. The other predefined + * entities (&gt;, &apos;, and &quot;) might not be used, except + * where needed (e.g. using &gt; in cases such as ']]>'). Any + * characters that cannot be represented directly in the output character + * encoding are serialized as numeric character references (and since + * character encoding standards commonly use hexadecimal representations of + * characters, using the hexadecimal representation when serializing + * character references is encouraged). + * <p> To allow attribute values to contain both single and double quotes, the + * apostrophe or single-quote character (') may be represented as + * "&apos;", and the double-quote character (") as "&quot;". New + * line characters and other characters that cannot be represented directly + * in attribute values in the output character encoding are serialized as a + * numeric character reference. + * <p> Within markup, but outside of attributes, any occurrence of a character + * that cannot be represented in the output character encoding is reported + * as a <code>DOMError</code> fatal error. An example would be serializing + * the element <LaCa\u00f1ada/> with <code>encoding="us-ascii"</code>. + * This will result with a generation of a <code>DOMError</code> + * "wf-invalid-character-in-node-name" (as proposed in "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-well-formed'> + * well-formed</a>"). + * <p> When requested by setting the parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-normalize-characters'> + * normalize-characters</a>" on <code>LSSerializer</code> to true, character normalization is + * performed according to the definition of <a href='http://www.w3.org/TR/2004/REC-xml11-20040204/#dt-fullnorm'>fully + * normalized</a> characters included in appendix E of [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>] on all + * data to be serialized, both markup and character data. The character + * normalization process affects only the data as it is being written; it + * does not alter the DOM's view of the document after serialization has + * completed. + * <p> Implementations are required to support the encodings "UTF-8", + * "UTF-16", "UTF-16BE", and "UTF-16LE" to guarantee that data is + * serializable in all encodings that are required to be supported by all + * XML parsers. When the encoding is UTF-8, whether or not a byte order mark + * is serialized, or if the output is big-endian or little-endian, is + * implementation dependent. When the encoding is UTF-16, whether or not the + * output is big-endian or little-endian is implementation dependent, but a + * Byte Order Mark must be generated for non-character outputs, such as + * <code>LSOutput.byteStream</code> or <code>LSOutput.systemId</code>. If + * the Byte Order Mark is not generated, a "byte-order-mark-needed" warning + * is reported. When the encoding is UTF-16LE or UTF-16BE, the output is + * big-endian (UTF-16BE) or little-endian (UTF-16LE) and the Byte Order Mark + * is not be generated. In all cases, the encoding declaration, if + * generated, will correspond to the encoding used during the serialization + * (e.g. <code>encoding="UTF-16"</code> will appear if UTF-16 was + * requested). + * <p> Namespaces are fixed up during serialization, the serialization process + * will verify that namespace declarations, namespace prefixes and the + * namespace URI associated with elements and attributes are consistent. If + * inconsistencies are found, the serialized form of the document will be + * altered to remove them. The method used for doing the namespace fixup + * while serializing a document is the algorithm defined in Appendix B.1, + * "Namespace normalization", of [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * . + * <p> While serializing a document, the parameter "discard-default-content" + * controls whether or not non-specified data is serialized. + * <p> While serializing, errors and warnings are reported to the application + * through the error handler (<code>LSSerializer.domConfig</code>'s "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-error-handler'> + * error-handler</a>" parameter). This specification does in no way try to define all possible + * errors and warnings that can occur while serializing a DOM node, but some + * common error and warning cases are defined. The types ( + * <code>DOMError.type</code>) of errors and warnings defined by this + * specification are: + * <dl> + * <dt><code>"no-output-specified" [fatal]</code></dt> + * <dd> Raised when + * writing to a <code>LSOutput</code> if no output is specified in the + * <code>LSOutput</code>. </dd> + * <dt> + * <code>"unbound-prefix-in-entity-reference" [fatal]</code> </dt> + * <dd> Raised if the + * configuration parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-namespaces'> + * namespaces</a>" is set to <code>true</code> and an entity whose replacement text + * contains unbound namespace prefixes is referenced in a location where + * there are no bindings for the namespace prefixes. </dd> + * <dt> + * <code>"unsupported-encoding" [fatal]</code></dt> + * <dd> Raised if an unsupported + * encoding is encountered. </dd> + * </dl> + * <p> In addition to raising the defined errors and warnings, implementations + * are expected to raise implementation specific errors and warnings for any + * other error and warning cases such as IO errors (file not found, + * permission denied,...) and so on. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model (DOM) Level 3 Load +and Save Specification</a>. + */ +public interface LSSerializer { + /** + * The <code>DOMConfiguration</code> object used by the + * <code>LSSerializer</code> when serializing a DOM node. + * <br> In addition to the parameters recognized by the <a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration'> + * DOMConfiguration</a> interface defined in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * , the <code>DOMConfiguration</code> objects for + * <code>LSSerializer</code> adds, or modifies, the following + * parameters: + * <dl> + * <dt><code>"canonical-form"</code></dt> + * <dd> + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>optional</em>] Writes the document according to the rules specified in [<a href='http://www.w3.org/TR/2001/REC-xml-c14n-20010315'>Canonical XML</a>]. + * In addition to the behavior described in "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-canonical-form'> + * canonical-form</a>" [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * , setting this parameter to <code>true</code> will set the parameters + * "format-pretty-print", "discard-default-content", and "xml-declaration + * ", to <code>false</code>. Setting one of those parameters to + * <code>true</code> will set this parameter to <code>false</code>. + * Serializing an XML 1.1 document when "canonical-form" is + * <code>true</code> will generate a fatal error. </dd> + * <dt><code>false</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) Do not canonicalize the output. </dd> + * </dl></dd> + * <dt><code>"discard-default-content"</code></dt> + * <dd> + * <dl> + * <dt> + * <code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) Use the <code>Attr.specified</code> attribute to decide what attributes + * should be discarded. Note that some implementations might use + * whatever information available to the implementation (i.e. XML + * schema, DTD, the <code>Attr.specified</code> attribute, and so on) to + * determine what attributes and content to discard if this parameter is + * set to <code>true</code>. </dd> + * <dt><code>false</code></dt> + * <dd>[<em>required</em>]Keep all attributes and all content.</dd> + * </dl></dd> + * <dt><code>"format-pretty-print"</code></dt> + * <dd> + * <dl> + * <dt> + * <code>true</code></dt> + * <dd>[<em>optional</em>] Formatting the output by adding whitespace to produce a pretty-printed, + * indented, human-readable form. The exact form of the transformations + * is not specified by this specification. Pretty-printing changes the + * content of the document and may affect the validity of the document, + * validating implementations should preserve validity. </dd> + * <dt> + * <code>false</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) Don't pretty-print the result. </dd> + * </dl></dd> + * <dt> + * <code>"ignore-unknown-character-denormalizations"</code> </dt> + * <dd> + * <dl> + * <dt> + * <code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) If, while verifying full normalization when [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>] is + * supported, a character is encountered for which the normalization + * properties cannot be determined, then raise a + * <code>"unknown-character-denormalization"</code> warning (instead of + * raising an error, if this parameter is not set) and ignore any + * possible denormalizations caused by these characters. </dd> + * <dt> + * <code>false</code></dt> + * <dd>[<em>optional</em>] Report a fatal error if a character is encountered for which the + * processor cannot determine the normalization properties. </dd> + * </dl></dd> + * <dt> + * <code>"normalize-characters"</code></dt> + * <dd> This parameter is equivalent to + * the one defined by <code>DOMConfiguration</code> in [<a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>DOM Level 3 Core</a>] + * . Unlike in the Core, the default value for this parameter is + * <code>true</code>. While DOM implementations are not required to + * support <a href='http://www.w3.org/TR/2004/REC-xml11-20040204/#dt-fullnorm'>fully + * normalizing</a> the characters in the document according to appendix E of [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>], this + * parameter must be activated by default if supported. </dd> + * <dt> + * <code>"xml-declaration"</code></dt> + * <dd> + * <dl> + * <dt><code>true</code></dt> + * <dd>[<em>required</em>] (<em>default</em>) If a <code>Document</code>, <code>Element</code>, or <code>Entity</code> + * node is serialized, the XML declaration, or text declaration, should + * be included. The version (<code>Document.xmlVersion</code> if the + * document is a Level 3 document and the version is non-null, otherwise + * use the value "1.0"), and the output encoding (see + * <code>LSSerializer.write</code> for details on how to find the output + * encoding) are specified in the serialized XML declaration. </dd> + * <dt> + * <code>false</code></dt> + * <dd>[<em>required</em>] Do not serialize the XML and text declarations. Report a + * <code>"xml-declaration-needed"</code> warning if this will cause + * problems (i.e. the serialized data is of an XML version other than [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>], or an + * encoding would be needed to be able to re-parse the serialized data). </dd> + * </dl></dd> + * </dl> + */ + public DOMConfiguration getDomConfig(); + + /** + * The end-of-line sequence of characters to be used in the XML being + * written out. Any string is supported, but XML treats only a certain + * set of characters sequence as end-of-line (See section 2.11, + * "End-of-Line Handling" in [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>], if the + * serialized content is XML 1.0 or section 2.11, "End-of-Line Handling" + * in [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>], if the + * serialized content is XML 1.1). Using other character sequences than + * the recommended ones can result in a document that is either not + * serializable or not well-formed). + * <br> On retrieval, the default value of this attribute is the + * implementation specific default end-of-line sequence. DOM + * implementations should choose the default to match the usual + * convention for text files in the environment being used. + * Implementations must choose a default sequence that matches one of + * those allowed by XML 1.0 or XML 1.1, depending on the serialized + * content. Setting this attribute to <code>null</code> will reset its + * value to the default value. + * <br> + */ + public String getNewLine(); + /** + * The end-of-line sequence of characters to be used in the XML being + * written out. Any string is supported, but XML treats only a certain + * set of characters sequence as end-of-line (See section 2.11, + * "End-of-Line Handling" in [<a href='http://www.w3.org/TR/2004/REC-xml-20040204'>XML 1.0</a>], if the + * serialized content is XML 1.0 or section 2.11, "End-of-Line Handling" + * in [<a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a>], if the + * serialized content is XML 1.1). Using other character sequences than + * the recommended ones can result in a document that is either not + * serializable or not well-formed). + * <br> On retrieval, the default value of this attribute is the + * implementation specific default end-of-line sequence. DOM + * implementations should choose the default to match the usual + * convention for text files in the environment being used. + * Implementations must choose a default sequence that matches one of + * those allowed by XML 1.0 or XML 1.1, depending on the serialized + * content. Setting this attribute to <code>null</code> will reset its + * value to the default value. + * <br> + */ + public void setNewLine(String newLine); + + /** + * When the application provides a filter, the serializer will call out + * to the filter before serializing each Node. The filter implementation + * can choose to remove the node from the stream or to terminate the + * serialization early. + * <br> The filter is invoked after the operations requested by the + * <code>DOMConfiguration</code> parameters have been applied. For + * example, CDATA sections won't be passed to the filter if "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-cdata-sections'> + * cdata-sections</a>" is set to <code>false</code>. + */ + public LSSerializerFilter getFilter(); + /** + * When the application provides a filter, the serializer will call out + * to the filter before serializing each Node. The filter implementation + * can choose to remove the node from the stream or to terminate the + * serialization early. + * <br> The filter is invoked after the operations requested by the + * <code>DOMConfiguration</code> parameters have been applied. For + * example, CDATA sections won't be passed to the filter if "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-cdata-sections'> + * cdata-sections</a>" is set to <code>false</code>. + */ + public void setFilter(LSSerializerFilter filter); + + /** + * Serialize the specified node as described above in the general + * description of the <code>LSSerializer</code> interface. The output is + * written to the supplied <code>LSOutput</code>. + * <br> When writing to a <code>LSOutput</code>, the encoding is found by + * looking at the encoding information that is reachable through the + * <code>LSOutput</code> and the item to be written (or its owner + * document) in this order: + * <ol> + * <li> <code>LSOutput.encoding</code>, + * </li> + * <li> + * <code>Document.inputEncoding</code>, + * </li> + * <li> + * <code>Document.xmlEncoding</code>. + * </li> + * </ol> + * <br> If no encoding is reachable through the above properties, a + * default encoding of "UTF-8" will be used. If the specified encoding + * is not supported an "unsupported-encoding" fatal error is raised. + * <br> If no output is specified in the <code>LSOutput</code>, a + * "no-output-specified" fatal error is raised. + * <br> The implementation is responsible of associating the appropriate + * media type with the serialized data. + * <br> When writing to a HTTP URI, a HTTP PUT is performed. When writing + * to other types of URIs, the mechanism for writing the data to the URI + * is implementation dependent. + * @param nodeArg The node to serialize. + * @param destination The destination for the serialized DOM. + * @return Returns <code>true</code> if <code>node</code> was + * successfully serialized. Return <code>false</code> in case the + * normal processing stopped but the implementation kept serializing + * the document; the result of the serialization being implementation + * dependent then. + * @exception LSException + * SERIALIZE_ERR: Raised if the <code>LSSerializer</code> was unable to + * serialize the node. DOM applications should attach a + * <code>DOMErrorHandler</code> using the parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-error-handler'> + * error-handler</a>" if they wish to get details on the error. + */ + public boolean write(Node nodeArg, + LSOutput destination) + throws LSException; + + /** + * A convenience method that acts as if <code>LSSerializer.write</code> + * was called with a <code>LSOutput</code> with no encoding specified + * and <code>LSOutput.systemId</code> set to the <code>uri</code> + * argument. + * @param nodeArg The node to serialize. + * @param uri The URI to write to. + * @return Returns <code>true</code> if <code>node</code> was + * successfully serialized. Return <code>false</code> in case the + * normal processing stopped but the implementation kept serializing + * the document; the result of the serialization being implementation + * dependent then. + * @exception LSException + * SERIALIZE_ERR: Raised if the <code>LSSerializer</code> was unable to + * serialize the node. DOM applications should attach a + * <code>DOMErrorHandler</code> using the parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-error-handler'> + * error-handler</a>" if they wish to get details on the error. + */ + public boolean writeToURI(Node nodeArg, + String uri) + throws LSException; + + /** + * Serialize the specified node as described above in the general + * description of the <code>LSSerializer</code> interface. The output is + * written to a <code>DOMString</code> that is returned to the caller. + * The encoding used is the encoding of the <code>DOMString</code> type, + * i.e. UTF-16. Note that no Byte Order Mark is generated in a + * <code>DOMString</code> object. + * @param nodeArg The node to serialize. + * @return Returns the serialized data. + * @exception DOMException + * DOMSTRING_SIZE_ERR: Raised if the resulting string is too long to + * fit in a <code>DOMString</code>. + * @exception LSException + * SERIALIZE_ERR: Raised if the <code>LSSerializer</code> was unable to + * serialize the node. DOM applications should attach a + * <code>DOMErrorHandler</code> using the parameter "<a href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#parameter-error-handler'> + * error-handler</a>" if they wish to get details on the error. + */ + public String writeToString(Node nodeArg) + throws DOMException, LSException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSSerializerFilter.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSSerializerFilter.java new file mode 100644 index 000000000..b04655677 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSSerializerFilter.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.ls; + +import org.w3c.dom.traversal.NodeFilter; + +/** + * <code>LSSerializerFilter</code>s provide applications the ability to + * examine nodes as they are being serialized and decide what nodes should + * be serialized or not. The <code>LSSerializerFilter</code> interface is + * based on the <code>NodeFilter</code> interface defined in [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>DOM Level 2 Traversal and Range</a>] + * . + * <p> <code>Document</code>, <code>DocumentType</code>, + * <code>DocumentFragment</code>, <code>Notation</code>, <code>Entity</code> + * , and children of <code>Attr</code> nodes are not passed to the filter. + * The child nodes of an <code>EntityReference</code> node are only passed + * to the filter if the <code>EntityReference</code> node is skipped by the + * method <code>LSParserFilter.acceptNode()</code>. + * <p> When serializing an <code>Element</code>, the element is passed to the + * filter before any of its attributes are passed to the filter. Namespace + * declaration attributes, and default attributes (except in the case when " + * discard-default-content" is set to <code>false</code>), are never passed + * to the filter. + * <p> The result of any attempt to modify a node passed to a + * <code>LSSerializerFilter</code> is implementation dependent. + * <p> DOM applications must not raise exceptions in a filter. The effect of + * throwing exceptions from a filter is DOM implementation dependent. + * <p> For efficiency, a node passed to the filter may not be the same as the + * one that is actually in the tree. And the actual node (node object + * identity) may be reused during the process of filtering and serializing a + * document. + * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model (DOM) Level 3 Load +and Save Specification</a>. + */ +public interface LSSerializerFilter extends NodeFilter { + /** + * Tells the <code>LSSerializer</code> what types of nodes to show to the + * filter. If a node is not shown to the filter using this attribute, it + * is automatically serialized. See <code>NodeFilter</code> for + * definition of the constants. The constants <code>SHOW_DOCUMENT</code> + * , <code>SHOW_DOCUMENT_TYPE</code>, <code>SHOW_DOCUMENT_FRAGMENT</code> + * , <code>SHOW_NOTATION</code>, and <code>SHOW_ENTITY</code> are + * meaningless here, such nodes will never be passed to a + * <code>LSSerializerFilter</code>. + * <br> Unlike [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>DOM Level 2 Traversal and Range</a>] + * , the <code>SHOW_ATTRIBUTE</code> constant indicates that the + * <code>Attr</code> nodes are shown and passed to the filter. + * <br> The constants used here are defined in [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>DOM Level 2 Traversal and Range</a>] + * . + */ + public int getWhatToShow(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ranges/DocumentRange.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ranges/DocumentRange.java new file mode 100644 index 000000000..de56e07d6 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ranges/DocumentRange.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.ranges; + +/** + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>. + * @since DOM Level 2 + */ +public interface DocumentRange { + /** + * This interface can be obtained from the object implementing the + * <code>Document</code> interface using binding-specific casting + * methods. + * @return The initial state of the Range returned from this method is + * such that both of its boundary-points are positioned at the + * beginning of the corresponding Document, before any content. The + * Range returned can only be used to select content associated with + * this Document, or with DocumentFragments and Attrs for which this + * Document is the <code>ownerDocument</code>. + */ + public Range createRange(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ranges/Range.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ranges/Range.java new file mode 100644 index 000000000..9e1957883 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ranges/Range.java @@ -0,0 +1,416 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.ranges; + +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; +import org.w3c.dom.DocumentFragment; + +/** + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>. + * @since DOM Level 2 + */ +public interface Range { + /** + * Node within which the Range begins + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + */ + public Node getStartContainer() + throws DOMException; + + /** + * Offset within the starting node of the Range. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + */ + public int getStartOffset() + throws DOMException; + + /** + * Node within which the Range ends + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + */ + public Node getEndContainer() + throws DOMException; + + /** + * Offset within the ending node of the Range. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + */ + public int getEndOffset() + throws DOMException; + + /** + * TRUE if the Range is collapsed + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + */ + public boolean getCollapsed() + throws DOMException; + + /** + * The deepest common ancestor container of the Range's two + * boundary-points. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + */ + public Node getCommonAncestorContainer() + throws DOMException; + + /** + * Sets the attributes describing the start of the Range. + * @param refNode The <code>refNode</code> value. This parameter must be + * different from <code>null</code>. + * @param offset The <code>startOffset</code> value. + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code> or an ancestor + * of <code>refNode</code> is an Entity, Notation, or DocumentType + * node. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if <code>offset</code> is negative or greater + * than the number of child units in <code>refNode</code>. Child units + * are 16-bit units if <code>refNode</code> is a type of CharacterData + * node (e.g., a Text or Comment node) or a ProcessingInstruction + * node. Child units are Nodes in all other cases. + * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already + * been invoked on this object. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created + * from a different document than the one that created this range. + */ + public void setStart(Node refNode, + int offset) + throws RangeException, DOMException; + + /** + * Sets the attributes describing the end of a Range. + * @param refNode The <code>refNode</code> value. This parameter must be + * different from <code>null</code>. + * @param offset The <code>endOffset</code> value. + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code> or an ancestor + * of <code>refNode</code> is an Entity, Notation, or DocumentType + * node. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if <code>offset</code> is negative or greater + * than the number of child units in <code>refNode</code>. Child units + * are 16-bit units if <code>refNode</code> is a type of CharacterData + * node (e.g., a Text or Comment node) or a ProcessingInstruction + * node. Child units are Nodes in all other cases. + * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already + * been invoked on this object. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created + * from a different document than the one that created this range. + */ + public void setEnd(Node refNode, + int offset) + throws RangeException, DOMException; + + /** + * Sets the start position to be before a node + * @param refNode Range starts before <code>refNode</code> + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if the root container of + * <code>refNode</code> is not an Attr, Document, or DocumentFragment + * node or if <code>refNode</code> is a Document, DocumentFragment, + * Attr, Entity, or Notation node. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created + * from a different document than the one that created this range. + */ + public void setStartBefore(Node refNode) + throws RangeException, DOMException; + + /** + * Sets the start position to be after a node + * @param refNode Range starts after <code>refNode</code> + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if the root container of + * <code>refNode</code> is not an Attr, Document, or DocumentFragment + * node or if <code>refNode</code> is a Document, DocumentFragment, + * Attr, Entity, or Notation node. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created + * from a different document than the one that created this range. + */ + public void setStartAfter(Node refNode) + throws RangeException, DOMException; + + /** + * Sets the end position to be before a node. + * @param refNode Range ends before <code>refNode</code> + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if the root container of + * <code>refNode</code> is not an Attr, Document, or DocumentFragment + * node or if <code>refNode</code> is a Document, DocumentFragment, + * Attr, Entity, or Notation node. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created + * from a different document than the one that created this range. + */ + public void setEndBefore(Node refNode) + throws RangeException, DOMException; + + /** + * Sets the end of a Range to be after a node + * @param refNode Range ends after <code>refNode</code>. + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if the root container of + * <code>refNode</code> is not an Attr, Document or DocumentFragment + * node or if <code>refNode</code> is a Document, DocumentFragment, + * Attr, Entity, or Notation node. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created + * from a different document than the one that created this range. + */ + public void setEndAfter(Node refNode) + throws RangeException, DOMException; + + /** + * Collapse a Range onto one of its boundary-points + * @param toStart If TRUE, collapses the Range onto its start; if FALSE, + * collapses it onto its end. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + */ + public void collapse(boolean toStart) + throws DOMException; + + /** + * Select a node and its contents + * @param refNode The node to select. + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if an ancestor of <code>refNode</code> + * is an Entity, Notation or DocumentType node or if + * <code>refNode</code> is a Document, DocumentFragment, Attr, Entity, + * or Notation node. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created + * from a different document than the one that created this range. + */ + public void selectNode(Node refNode) + throws RangeException, DOMException; + + /** + * Select the contents within a node + * @param refNode Node to select from + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code> or an ancestor + * of <code>refNode</code> is an Entity, Notation or DocumentType node. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created + * from a different document than the one that created this range. + */ + public void selectNodeContents(Node refNode) + throws RangeException, DOMException; + + // CompareHow + /** + * Compare start boundary-point of <code>sourceRange</code> to start + * boundary-point of Range on which <code>compareBoundaryPoints</code> + * is invoked. + */ + public static final short START_TO_START = 0; + /** + * Compare start boundary-point of <code>sourceRange</code> to end + * boundary-point of Range on which <code>compareBoundaryPoints</code> + * is invoked. + */ + public static final short START_TO_END = 1; + /** + * Compare end boundary-point of <code>sourceRange</code> to end + * boundary-point of Range on which <code>compareBoundaryPoints</code> + * is invoked. + */ + public static final short END_TO_END = 2; + /** + * Compare end boundary-point of <code>sourceRange</code> to start + * boundary-point of Range on which <code>compareBoundaryPoints</code> + * is invoked. + */ + public static final short END_TO_START = 3; + + /** + * Compare the boundary-points of two Ranges in a document. + * @param how A code representing the type of comparison, as defined + * above. + * @param sourceRange The <code>Range</code> on which this current + * <code>Range</code> is compared to. + * @return -1, 0 or 1 depending on whether the corresponding + * boundary-point of the Range is respectively before, equal to, or + * after the corresponding boundary-point of <code>sourceRange</code>. + * @exception DOMException + * WRONG_DOCUMENT_ERR: Raised if the two Ranges are not in the same + * Document or DocumentFragment. + * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already + * been invoked on this object. + */ + public short compareBoundaryPoints(short how, + Range sourceRange) + throws DOMException; + + /** + * Removes the contents of a Range from the containing document or + * document fragment without returning a reference to the removed + * content. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of + * the Range is read-only or any of the nodes that contain any of the + * content of the Range are read-only. + * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already + * been invoked on this object. + */ + public void deleteContents() + throws DOMException; + + /** + * Moves the contents of a Range from the containing document or document + * fragment to a new DocumentFragment. + * @return A DocumentFragment containing the extracted contents. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of + * the Range is read-only or any of the nodes which contain any of the + * content of the Range are read-only. + * <br>HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be + * extracted into the new DocumentFragment. + * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already + * been invoked on this object. + */ + public DocumentFragment extractContents() + throws DOMException; + + /** + * Duplicates the contents of a Range + * @return A DocumentFragment that contains content equivalent to this + * Range. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be + * extracted into the new DocumentFragment. + * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already + * been invoked on this object. + */ + public DocumentFragment cloneContents() + throws DOMException; + + /** + * Inserts a node into the Document or DocumentFragment at the start of + * the Range. If the container is a Text node, this will be split at the + * start of the Range (as if the Text node's splitText method was + * performed at the insertion point) and the insertion will occur + * between the two resulting Text nodes. Adjacent Text nodes will not be + * automatically merged. If the node to be inserted is a + * DocumentFragment node, the children will be inserted rather than the + * DocumentFragment node itself. + * @param newNode The node to insert at the start of the Range + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of the + * start of the Range is read-only. + * <br>WRONG_DOCUMENT_ERR: Raised if <code>newNode</code> and the + * container of the start of the Range were not created from the same + * document. + * <br>HIERARCHY_REQUEST_ERR: Raised if the container of the start of + * the Range is of a type that does not allow children of the type of + * <code>newNode</code> or if <code>newNode</code> is an ancestor of + * the container. + * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already + * been invoked on this object. + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if <code>newNode</code> is an Attr, + * Entity, Notation, or Document node. + */ + public void insertNode(Node newNode) + throws DOMException, RangeException; + + /** + * Reparents the contents of the Range to the given node and inserts the + * node at the position of the start of the Range. + * @param newParent The node to surround the contents with. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of + * either boundary-point of the Range is read-only. + * <br>WRONG_DOCUMENT_ERR: Raised if <code> newParent</code> and the + * container of the start of the Range were not created from the same + * document. + * <br>HIERARCHY_REQUEST_ERR: Raised if the container of the start of + * the Range is of a type that does not allow children of the type of + * <code>newParent</code> or if <code>newParent</code> is an ancestor + * of the container or if <code>node</code> would end up with a child + * node of a type not allowed by the type of <code>node</code>. + * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already + * been invoked on this object. + * @exception RangeException + * BAD_BOUNDARYPOINTS_ERR: Raised if the Range partially selects a + * non-text node. + * <br>INVALID_NODE_TYPE_ERR: Raised if <code> node</code> is an Attr, + * Entity, DocumentType, Notation, Document, or DocumentFragment node. + */ + public void surroundContents(Node newParent) + throws DOMException, RangeException; + + /** + * Produces a new Range whose boundary-points are equal to the + * boundary-points of the Range. + * @return The duplicated Range. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + */ + public Range cloneRange() + throws DOMException; + + /** + * Returns the contents of a Range as a string. This string contains only + * the data characters, not any markup. + * @return The contents of the Range. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + */ + public String toString() + throws DOMException; + + /** + * Called to indicate that the Range is no longer in use and that the + * implementation may relinquish any resources associated with this + * Range. Subsequent calls to any methods or attribute getters on this + * Range will result in a <code>DOMException</code> being thrown with an + * error code of <code>INVALID_STATE_ERR</code>. + * @exception DOMException + * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been + * invoked on this object. + */ + public void detach() + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/ranges/RangeException.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/ranges/RangeException.java new file mode 100644 index 000000000..2dee8195b --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/ranges/RangeException.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.ranges; + +/** + * Range operations may throw a <code>RangeException</code> as specified in + * their method descriptions. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>. + * @since DOM Level 2 + */ +public class RangeException extends RuntimeException { + public RangeException(short code, String message) { + super(message); + this.code = code; + } + public short code; + // RangeExceptionCode + /** + * If the boundary-points of a Range do not meet specific requirements. + */ + public static final short BAD_BOUNDARYPOINTS_ERR = 1; + /** + * If the container of an boundary-point of a Range is being set to either + * a node of an invalid type or a node with an ancestor of an invalid + * type. + */ + public static final short INVALID_NODE_TYPE_ERR = 2; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/DocumentStyle.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/DocumentStyle.java new file mode 100644 index 000000000..ecfba994c --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/DocumentStyle.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.stylesheets; + +/** + * The <code>DocumentStyle</code> interface provides a mechanism by which the + * style sheets embedded in a document can be retrieved. The expectation is + * that an instance of the <code>DocumentStyle</code> interface can be + * obtained by using binding-specific casting methods on an instance of the + * <code>Document</code> interface. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface DocumentStyle { + /** + * A list containing all the style sheets explicitly linked into or + * embedded in a document. For HTML documents, this includes external + * style sheets, included via the HTML LINK element, and inline STYLE + * elements. In XML, this includes external style sheets, included via + * style sheet processing instructions (see [XML StyleSheet]). + */ + public StyleSheetList getStyleSheets(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/LinkStyle.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/LinkStyle.java new file mode 100644 index 000000000..c7560d647 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/LinkStyle.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.stylesheets; + +/** + * The <code>LinkStyle</code> interface provides a mechanism by which a style + * sheet can be retrieved from the node responsible for linking it into a + * document. An instance of the <code>LinkStyle</code> interface can be + * obtained using binding-specific casting methods on an instance of a + * linking node (<code>HTMLLinkElement</code>, <code>HTMLStyleElement</code> + * or <code>ProcessingInstruction</code> in DOM Level 2). + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface LinkStyle { + /** + * The style sheet. + */ + public StyleSheet getSheet(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/MediaList.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/MediaList.java new file mode 100644 index 000000000..000c90c43 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/MediaList.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.stylesheets; + +import org.w3c.dom.DOMException; + +/** + * The <code>MediaList</code> interface provides the abstraction of an + * ordered collection of media, without defining or constraining how this + * collection is implemented. An empty list is the same as a list that + * contains the medium <code>"all"</code>. + * <p> The items in the <code>MediaList</code> are accessible via an integral + * index, starting from 0. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface MediaList { + /** + * The parsable textual representation of the media list. This is a + * comma-separated list of media. + */ + public String getMediaText(); + /** + * The parsable textual representation of the media list. This is a + * comma-separated list of media. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified string value has a syntax error + * and is unparsable. + * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media list is + * readonly. + */ + public void setMediaText(String mediaText) + throws DOMException; + + /** + * The number of media in the list. The range of valid media is + * <code>0</code> to <code>length-1</code> inclusive. + */ + public int getLength(); + + /** + * Returns the <code>index</code>th in the list. If <code>index</code> is + * greater than or equal to the number of media in the list, this + * returns <code>null</code>. + * @param index Index into the collection. + * @return The medium at the <code>index</code>th position in the + * <code>MediaList</code>, or <code>null</code> if that is not a valid + * index. + */ + public String item(int index); + + /** + * Deletes the medium indicated by <code>oldMedium</code> from the list. + * @param oldMedium The medium to delete in the media list. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly. + * <br> NOT_FOUND_ERR: Raised if <code>oldMedium</code> is not in the + * list. + */ + public void deleteMedium(String oldMedium) + throws DOMException; + + /** + * Adds the medium <code>newMedium</code> to the end of the list. If the + * <code>newMedium</code> is already used, it is first removed. + * @param newMedium The new medium to add. + * @exception DOMException + * INVALID_CHARACTER_ERR: If the medium contains characters that are + * invalid in the underlying style language. + * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly. + */ + public void appendMedium(String newMedium) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheet.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheet.java new file mode 100644 index 000000000..828902817 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheet.java @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.stylesheets; + +import org.w3c.dom.Node; + +/** + * The <code>StyleSheet</code> interface is the abstract base interface for + * any type of style sheet. It represents a single style sheet associated + * with a structured document. In HTML, the StyleSheet interface represents + * either an external style sheet, included via the HTML LINK element, or + * an inline STYLE element. In XML, this interface represents an external + * style sheet, included via a style sheet processing instruction. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface StyleSheet { + /** + * This specifies the style sheet language for this style sheet. The + * style sheet language is specified as a content type (e.g. + * "text/css"). The content type is often specified in the + * <code>ownerNode</code>. Also see the type attribute definition for + * the <code>LINK</code> element in HTML 4.0, and the type + * pseudo-attribute for the XML style sheet processing instruction. + */ + public String getType(); + + /** + * <code>false</code> if the style sheet is applied to the document. + * <code>true</code> if it is not. Modifying this attribute may cause a + * new resolution of style for the document. A stylesheet only applies + * if both an appropriate medium definition is present and the disabled + * attribute is false. So, if the media doesn't apply to the current + * user agent, the <code>disabled</code> attribute is ignored. + */ + public boolean getDisabled(); + /** + * <code>false</code> if the style sheet is applied to the document. + * <code>true</code> if it is not. Modifying this attribute may cause a + * new resolution of style for the document. A stylesheet only applies + * if both an appropriate medium definition is present and the disabled + * attribute is false. So, if the media doesn't apply to the current + * user agent, the <code>disabled</code> attribute is ignored. + */ + public void setDisabled(boolean disabled); + + /** + * The node that associates this style sheet with the document. For HTML, + * this may be the corresponding <code>LINK</code> or <code>STYLE</code> + * element. For XML, it may be the linking processing instruction. For + * style sheets that are included by other style sheets, the value of + * this attribute is <code>null</code>. + */ + public Node getOwnerNode(); + + /** + * For style sheet languages that support the concept of style sheet + * inclusion, this attribute represents the including style sheet, if + * one exists. If the style sheet is a top-level style sheet, or the + * style sheet language does not support inclusion, the value of this + * attribute is <code>null</code>. + */ + public StyleSheet getParentStyleSheet(); + + /** + * If the style sheet is a linked style sheet, the value of its attribute + * is its location. For inline style sheets, the value of this attribute + * is <code>null</code>. See the href attribute definition for the + * <code>LINK</code> element in HTML 4.0, and the href pseudo-attribute + * for the XML style sheet processing instruction. + */ + public String getHref(); + + /** + * The advisory title. The title is often specified in the + * <code>ownerNode</code>. See the title attribute definition for the + * <code>LINK</code> element in HTML 4.0, and the title pseudo-attribute + * for the XML style sheet processing instruction. + */ + public String getTitle(); + + /** + * The intended destination media for style information. The media is + * often specified in the <code>ownerNode</code>. If no media has been + * specified, the <code>MediaList</code> will be empty. See the media + * attribute definition for the <code>LINK</code> element in HTML 4.0, + * and the media pseudo-attribute for the XML style sheet processing + * instruction . Modifying the media list may cause a change to the + * attribute <code>disabled</code>. + */ + public MediaList getMedia(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheetList.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheetList.java new file mode 100644 index 000000000..6bb085fca --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheetList.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.stylesheets; + +/** + * The <code>StyleSheetList</code> interface provides the abstraction of an + * ordered collection of style sheets. + * <p> The items in the <code>StyleSheetList</code> are accessible via an + * integral index, starting from 0. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>. + * @since DOM Level 2 + */ +public interface StyleSheetList { + /** + * The number of <code>StyleSheets</code> in the list. The range of valid + * child stylesheet indices is <code>0</code> to <code>length-1</code> + * inclusive. + */ + public int getLength(); + + /** + * Used to retrieve a style sheet by ordinal index. If index is greater + * than or equal to the number of style sheets in the list, this returns + * <code>null</code>. + * @param index Index into the collection + * @return The style sheet at the <code>index</code> position in the + * <code>StyleSheetList</code>, or <code>null</code> if that is not a + * valid index. + */ + public StyleSheet item(int index); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/DocumentTraversal.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/DocumentTraversal.java new file mode 100644 index 000000000..e68d656f2 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/DocumentTraversal.java @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.traversal; + +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * <code>DocumentTraversal</code> contains methods that create + * <code>NodeIterators</code> and <code>TreeWalkers</code> to traverse a + * node and its children in document order (depth first, pre-order + * traversal, which is equivalent to the order in which the start tags occur + * in the text representation of the document). In DOMs which support the + * Traversal feature, <code>DocumentTraversal</code> will be implemented by + * the same objects that implement the Document interface. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>. + * @since DOM Level 2 + */ +public interface DocumentTraversal { + /** + * Create a new <code>NodeIterator</code> over the subtree rooted at the + * specified node. + * @param root The node which will be iterated together with its + * children. The <code>NodeIterator</code> is initially positioned + * just before this node. The <code>whatToShow</code> flags and the + * filter, if any, are not considered when setting this position. The + * root must not be <code>null</code>. + * @param whatToShow This flag specifies which node types may appear in + * the logical view of the tree presented by the + * <code>NodeIterator</code>. See the description of + * <code>NodeFilter</code> for the set of possible <code>SHOW_</code> + * values.These flags can be combined using <code>OR</code>. + * @param filter The <code>NodeFilter</code> to be used with this + * <code>NodeIterator</code>, or <code>null</code> to indicate no + * filter. + * @param entityReferenceExpansion The value of this flag determines + * whether entity reference nodes are expanded. + * @return The newly created <code>NodeIterator</code>. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if the specified <code>root</code> is + * <code>null</code>. + */ + public NodeIterator createNodeIterator(Node root, + int whatToShow, + NodeFilter filter, + boolean entityReferenceExpansion) + throws DOMException; + + /** + * Create a new <code>TreeWalker</code> over the subtree rooted at the + * specified node. + * @param root The node which will serve as the <code>root</code> for the + * <code>TreeWalker</code>. The <code>whatToShow</code> flags and the + * <code>NodeFilter</code> are not considered when setting this value; + * any node type will be accepted as the <code>root</code>. The + * <code>currentNode</code> of the <code>TreeWalker</code> is + * initialized to this node, whether or not it is visible. The + * <code>root</code> functions as a stopping point for traversal + * methods that look upward in the document structure, such as + * <code>parentNode</code> and nextNode. The <code>root</code> must + * not be <code>null</code>. + * @param whatToShow This flag specifies which node types may appear in + * the logical view of the tree presented by the + * <code>TreeWalker</code>. See the description of + * <code>NodeFilter</code> for the set of possible <code>SHOW_</code> + * values.These flags can be combined using <code>OR</code>. + * @param filter The <code>NodeFilter</code> to be used with this + * <code>TreeWalker</code>, or <code>null</code> to indicate no filter. + * @param entityReferenceExpansion If this flag is false, the contents of + * <code>EntityReference</code> nodes are not presented in the logical + * view. + * @return The newly created <code>TreeWalker</code>. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if the specified <code>root</code> is + * <code>null</code>. + */ + public TreeWalker createTreeWalker(Node root, + int whatToShow, + NodeFilter filter, + boolean entityReferenceExpansion) + throws DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/NodeFilter.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/NodeFilter.java new file mode 100644 index 000000000..554775078 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/NodeFilter.java @@ -0,0 +1,144 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.traversal; + +import org.w3c.dom.Node; + +/** + * Filters are objects that know how to "filter out" nodes. If a + * <code>NodeIterator</code> or <code>TreeWalker</code> is given a + * <code>NodeFilter</code>, it applies the filter before it returns the next + * node. If the filter says to accept the node, the traversal logic returns + * it; otherwise, traversal looks for the next node and pretends that the + * node that was rejected was not there. + * <p>The DOM does not provide any filters. <code>NodeFilter</code> is just an + * interface that users can implement to provide their own filters. + * <p><code>NodeFilters</code> do not need to know how to traverse from node + * to node, nor do they need to know anything about the data structure that + * is being traversed. This makes it very easy to write filters, since the + * only thing they have to know how to do is evaluate a single node. One + * filter may be used with a number of different kinds of traversals, + * encouraging code reuse. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>. + * @since DOM Level 2 + */ +public interface NodeFilter { + // Constants returned by acceptNode + /** + * Accept the node. Navigation methods defined for + * <code>NodeIterator</code> or <code>TreeWalker</code> will return this + * node. + */ + public static final short FILTER_ACCEPT = 1; + /** + * Reject the node. Navigation methods defined for + * <code>NodeIterator</code> or <code>TreeWalker</code> will not return + * this node. For <code>TreeWalker</code>, the children of this node + * will also be rejected. <code>NodeIterators</code> treat this as a + * synonym for <code>FILTER_SKIP</code>. + */ + public static final short FILTER_REJECT = 2; + /** + * Skip this single node. Navigation methods defined for + * <code>NodeIterator</code> or <code>TreeWalker</code> will not return + * this node. For both <code>NodeIterator</code> and + * <code>TreeWalker</code>, the children of this node will still be + * considered. + */ + public static final short FILTER_SKIP = 3; + + // Constants for whatToShow + /** + * Show all <code>Nodes</code>. + */ + public static final int SHOW_ALL = 0xFFFFFFFF; + /** + * Show <code>Element</code> nodes. + */ + public static final int SHOW_ELEMENT = 0x00000001; + /** + * Show <code>Attr</code> nodes. This is meaningful only when creating an + * <code>NodeIterator</code> or <code>TreeWalker</code> with an + * attribute node as its <code>root</code>; in this case, it means that + * the attribute node will appear in the first position of the iteration + * or traversal. Since attributes are never children of other nodes, + * they do not appear when traversing over the document tree. + */ + public static final int SHOW_ATTRIBUTE = 0x00000002; + /** + * Show <code>Text</code> nodes. + */ + public static final int SHOW_TEXT = 0x00000004; + /** + * Show <code>CDATASection</code> nodes. + */ + public static final int SHOW_CDATA_SECTION = 0x00000008; + /** + * Show <code>EntityReference</code> nodes. + */ + public static final int SHOW_ENTITY_REFERENCE = 0x00000010; + /** + * Show <code>Entity</code> nodes. This is meaningful only when creating + * an <code>NodeIterator</code> or <code>TreeWalker</code> with an + * <code>Entity</code> node as its <code>root</code>; in this case, it + * means that the <code>Entity</code> node will appear in the first + * position of the traversal. Since entities are not part of the + * document tree, they do not appear when traversing over the document + * tree. + */ + public static final int SHOW_ENTITY = 0x00000020; + /** + * Show <code>ProcessingInstruction</code> nodes. + */ + public static final int SHOW_PROCESSING_INSTRUCTION = 0x00000040; + /** + * Show <code>Comment</code> nodes. + */ + public static final int SHOW_COMMENT = 0x00000080; + /** + * Show <code>Document</code> nodes. + */ + public static final int SHOW_DOCUMENT = 0x00000100; + /** + * Show <code>DocumentType</code> nodes. + */ + public static final int SHOW_DOCUMENT_TYPE = 0x00000200; + /** + * Show <code>DocumentFragment</code> nodes. + */ + public static final int SHOW_DOCUMENT_FRAGMENT = 0x00000400; + /** + * Show <code>Notation</code> nodes. This is meaningful only when creating + * an <code>NodeIterator</code> or <code>TreeWalker</code> with a + * <code>Notation</code> node as its <code>root</code>; in this case, it + * means that the <code>Notation</code> node will appear in the first + * position of the traversal. Since notations are not part of the + * document tree, they do not appear when traversing over the document + * tree. + */ + public static final int SHOW_NOTATION = 0x00000800; + + /** + * Test whether a specified node is visible in the logical view of a + * <code>TreeWalker</code> or <code>NodeIterator</code>. This function + * will be called by the implementation of <code>TreeWalker</code> and + * <code>NodeIterator</code>; it is not normally called directly from + * user code. (Though you could do so if you wanted to use the same + * filter to guide your own application logic.) + * @param n The node to check to see if it passes the filter or not. + * @return A constant to determine whether the node is accepted, + * rejected, or skipped, as defined above. + */ + public short acceptNode(Node n); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/NodeIterator.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/NodeIterator.java new file mode 100644 index 000000000..40deef2f3 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/NodeIterator.java @@ -0,0 +1,109 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.traversal; + +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * <code>NodeIterators</code> are used to step through a set of nodes, e.g. + * the set of nodes in a <code>NodeList</code>, the document subtree + * governed by a particular <code>Node</code>, the results of a query, or + * any other set of nodes. The set of nodes to be iterated is determined by + * the implementation of the <code>NodeIterator</code>. DOM Level 2 + * specifies a single <code>NodeIterator</code> implementation for + * document-order traversal of a document subtree. Instances of these + * <code>NodeIterators</code> are created by calling + * <code>DocumentTraversal</code><code>.createNodeIterator()</code>. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>. + * @since DOM Level 2 + */ +public interface NodeIterator { + /** + * The root node of the <code>NodeIterator</code>, as specified when it + * was created. + */ + public Node getRoot(); + + /** + * This attribute determines which node types are presented via the + * <code>NodeIterator</code>. The available set of constants is defined + * in the <code>NodeFilter</code> interface. Nodes not accepted by + * <code>whatToShow</code> will be skipped, but their children may still + * be considered. Note that this skip takes precedence over the filter, + * if any. + */ + public int getWhatToShow(); + + /** + * The <code>NodeFilter</code> used to screen nodes. + */ + public NodeFilter getFilter(); + + /** + * The value of this flag determines whether the children of entity + * reference nodes are visible to the <code>NodeIterator</code>. If + * false, these children and their descendants will be rejected. Note + * that this rejection takes precedence over <code>whatToShow</code> and + * the filter. Also note that this is currently the only situation where + * <code>NodeIterators</code> may reject a complete subtree rather than + * skipping individual nodes. + * <br> + * <br> To produce a view of the document that has entity references + * expanded and does not expose the entity reference node itself, use + * the <code>whatToShow</code> flags to hide the entity reference node + * and set <code>expandEntityReferences</code> to true when creating the + * <code>NodeIterator</code>. To produce a view of the document that has + * entity reference nodes but no entity expansion, use the + * <code>whatToShow</code> flags to show the entity reference node and + * set <code>expandEntityReferences</code> to false. + */ + public boolean getExpandEntityReferences(); + + /** + * Returns the next node in the set and advances the position of the + * <code>NodeIterator</code> in the set. After a + * <code>NodeIterator</code> is created, the first call to + * <code>nextNode()</code> returns the first node in the set. + * @return The next <code>Node</code> in the set being iterated over, or + * <code>null</code> if there are no more members in that set. + * @exception DOMException + * INVALID_STATE_ERR: Raised if this method is called after the + * <code>detach</code> method was invoked. + */ + public Node nextNode() + throws DOMException; + + /** + * Returns the previous node in the set and moves the position of the + * <code>NodeIterator</code> backwards in the set. + * @return The previous <code>Node</code> in the set being iterated over, + * or <code>null</code> if there are no more members in that set. + * @exception DOMException + * INVALID_STATE_ERR: Raised if this method is called after the + * <code>detach</code> method was invoked. + */ + public Node previousNode() + throws DOMException; + + /** + * Detaches the <code>NodeIterator</code> from the set which it iterated + * over, releasing any computational resources and placing the + * <code>NodeIterator</code> in the INVALID state. After + * <code>detach</code> has been invoked, calls to <code>nextNode</code> + * or <code>previousNode</code> will raise the exception + * INVALID_STATE_ERR. + */ + public void detach(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/TreeWalker.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/TreeWalker.java new file mode 100644 index 000000000..74527f30d --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/TreeWalker.java @@ -0,0 +1,179 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.traversal; + +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * <code>TreeWalker</code> objects are used to navigate a document tree or + * subtree using the view of the document defined by their + * <code>whatToShow</code> flags and filter (if any). Any function which + * performs navigation using a <code>TreeWalker</code> will automatically + * support any view defined by a <code>TreeWalker</code>. + * <p>Omitting nodes from the logical view of a subtree can result in a + * structure that is substantially different from the same subtree in the + * complete, unfiltered document. Nodes that are siblings in the + * <code>TreeWalker</code> view may be children of different, widely + * separated nodes in the original view. For instance, consider a + * <code>NodeFilter</code> that skips all nodes except for Text nodes and + * the root node of a document. In the logical view that results, all text + * nodes will be siblings and appear as direct children of the root node, no + * matter how deeply nested the structure of the original document. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>. + * @since DOM Level 2 + */ +public interface TreeWalker { + /** + * The <code>root</code> node of the <code>TreeWalker</code>, as specified + * when it was created. + */ + public Node getRoot(); + + /** + * This attribute determines which node types are presented via the + * <code>TreeWalker</code>. The available set of constants is defined in + * the <code>NodeFilter</code> interface. Nodes not accepted by + * <code>whatToShow</code> will be skipped, but their children may still + * be considered. Note that this skip takes precedence over the filter, + * if any. + */ + public int getWhatToShow(); + + /** + * The filter used to screen nodes. + */ + public NodeFilter getFilter(); + + /** + * The value of this flag determines whether the children of entity + * reference nodes are visible to the <code>TreeWalker</code>. If false, + * these children and their descendants will be rejected. Note that + * this rejection takes precedence over <code>whatToShow</code> and the + * filter, if any. + * <br> To produce a view of the document that has entity references + * expanded and does not expose the entity reference node itself, use + * the <code>whatToShow</code> flags to hide the entity reference node + * and set <code>expandEntityReferences</code> to true when creating the + * <code>TreeWalker</code>. To produce a view of the document that has + * entity reference nodes but no entity expansion, use the + * <code>whatToShow</code> flags to show the entity reference node and + * set <code>expandEntityReferences</code> to false. + */ + public boolean getExpandEntityReferences(); + + /** + * The node at which the <code>TreeWalker</code> is currently positioned. + * <br>Alterations to the DOM tree may cause the current node to no longer + * be accepted by the <code>TreeWalker</code>'s associated filter. + * <code>currentNode</code> may also be explicitly set to any node, + * whether or not it is within the subtree specified by the + * <code>root</code> node or would be accepted by the filter and + * <code>whatToShow</code> flags. Further traversal occurs relative to + * <code>currentNode</code> even if it is not part of the current view, + * by applying the filters in the requested direction; if no traversal + * is possible, <code>currentNode</code> is not changed. + */ + public Node getCurrentNode(); + /** + * The node at which the <code>TreeWalker</code> is currently positioned. + * <br>Alterations to the DOM tree may cause the current node to no longer + * be accepted by the <code>TreeWalker</code>'s associated filter. + * <code>currentNode</code> may also be explicitly set to any node, + * whether or not it is within the subtree specified by the + * <code>root</code> node or would be accepted by the filter and + * <code>whatToShow</code> flags. Further traversal occurs relative to + * <code>currentNode</code> even if it is not part of the current view, + * by applying the filters in the requested direction; if no traversal + * is possible, <code>currentNode</code> is not changed. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if an attempt is made to set + * <code>currentNode</code> to <code>null</code>. + */ + public void setCurrentNode(Node currentNode) + throws DOMException; + + /** + * Moves to and returns the closest visible ancestor node of the current + * node. If the search for <code>parentNode</code> attempts to step + * upward from the <code>TreeWalker</code>'s <code>root</code> node, or + * if it fails to find a visible ancestor node, this method retains the + * current position and returns <code>null</code>. + * @return The new parent node, or <code>null</code> if the current node + * has no parent in the <code>TreeWalker</code>'s logical view. + */ + public Node parentNode(); + + /** + * Moves the <code>TreeWalker</code> to the first visible child of the + * current node, and returns the new node. If the current node has no + * visible children, returns <code>null</code>, and retains the current + * node. + * @return The new node, or <code>null</code> if the current node has no + * visible children in the <code>TreeWalker</code>'s logical view. + */ + public Node firstChild(); + + /** + * Moves the <code>TreeWalker</code> to the last visible child of the + * current node, and returns the new node. If the current node has no + * visible children, returns <code>null</code>, and retains the current + * node. + * @return The new node, or <code>null</code> if the current node has no + * children in the <code>TreeWalker</code>'s logical view. + */ + public Node lastChild(); + + /** + * Moves the <code>TreeWalker</code> to the previous sibling of the + * current node, and returns the new node. If the current node has no + * visible previous sibling, returns <code>null</code>, and retains the + * current node. + * @return The new node, or <code>null</code> if the current node has no + * previous sibling. in the <code>TreeWalker</code>'s logical view. + */ + public Node previousSibling(); + + /** + * Moves the <code>TreeWalker</code> to the next sibling of the current + * node, and returns the new node. If the current node has no visible + * next sibling, returns <code>null</code>, and retains the current node. + * @return The new node, or <code>null</code> if the current node has no + * next sibling. in the <code>TreeWalker</code>'s logical view. + */ + public Node nextSibling(); + + /** + * Moves the <code>TreeWalker</code> to the previous visible node in + * document order relative to the current node, and returns the new + * node. If the current node has no previous node, or if the search for + * <code>previousNode</code> attempts to step upward from the + * <code>TreeWalker</code>'s <code>root</code> node, returns + * <code>null</code>, and retains the current node. + * @return The new node, or <code>null</code> if the current node has no + * previous node in the <code>TreeWalker</code>'s logical view. + */ + public Node previousNode(); + + /** + * Moves the <code>TreeWalker</code> to the next visible node in document + * order relative to the current node, and returns the new node. If the + * current node has no next node, or if the search for nextNode attempts + * to step upward from the <code>TreeWalker</code>'s <code>root</code> + * node, returns <code>null</code>, and retains the current node. + * @return The new node, or <code>null</code> if the current node has no + * next node in the <code>TreeWalker</code>'s logical view. + */ + public Node nextNode(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/views/AbstractView.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/views/AbstractView.java new file mode 100644 index 000000000..b024cc780 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/views/AbstractView.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.views; + +/** + * A base interface that all views shall derive from. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113'>Document Object Model (DOM) Level 2 Views Specification</a>. + * @since DOM Level 2 + */ +public interface AbstractView { + /** + * The source <code>DocumentView</code> of which this is an + * <code>AbstractView</code>. + */ + public DocumentView getDocument(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/views/DocumentView.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/views/DocumentView.java new file mode 100644 index 000000000..37dfbe1a3 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/views/DocumentView.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.views; + +/** + * The <code>DocumentView</code> interface is implemented by + * <code>Document</code> objects in DOM implementations supporting DOM + * Views. It provides an attribute to retrieve the default view of a + * document. + * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113'>Document Object Model (DOM) Level 2 Views Specification</a>. + * @since DOM Level 2 + */ +public interface DocumentView { + /** + * The default <code>AbstractView</code> for this <code>Document</code>, + * or <code>null</code> if none available. + */ + public AbstractView getDefaultView(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathEvaluator.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathEvaluator.java new file mode 100644 index 000000000..848c67329 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathEvaluator.java @@ -0,0 +1,134 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.xpath; + +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * The evaluation of XPath expressions is provided by + * <code>XPathEvaluator</code>. In a DOM implementation which supports the + * XPath 3.0 feature, as described above, the <code>XPathEvaluator</code> + * interface will be implemented on the same object which implements the + * <code>Document</code> interface permitting it to be obtained by the usual + * binding-specific method such as casting or by using the DOM Level 3 + * getInterface method. In this case the implementation obtained from the + * Document supports the XPath DOM module and is compatible with the XPath + * 1.0 specification. + * <p>Evaluation of expressions with specialized extension functions or + * variables may not work in all implementations and is, therefore, not + * portable. <code>XPathEvaluator</code> implementations may be available + * from other sources that could provide specific support for specialized + * extension functions or variables as would be defined by other + * specifications. + * <p>See also the <a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226'>Document Object Model (DOM) Level 3 XPath Specification</a>. + */ +public interface XPathEvaluator { + /** + * Creates a parsed XPath expression with resolved namespaces. This is + * useful when an expression will be reused in an application since it + * makes it possible to compile the expression string into a more + * efficient internal form and preresolve all namespace prefixes which + * occur within the expression. + * @param expression The XPath expression string to be parsed. + * @param resolver The <code>resolver</code> permits translation of all + * prefixes, including the <code>xml</code> namespace prefix, within + * the XPath expression into appropriate namespace URIs. If this is + * specified as <code>null</code>, any namespace prefix within the + * expression will result in <code>DOMException</code> being thrown + * with the code <code>NAMESPACE_ERR</code>. + * @return The compiled form of the XPath expression. + * @exception XPathException + * INVALID_EXPRESSION_ERR: Raised if the expression is not legal + * according to the rules of the <code>XPathEvaluator</code>. + * @exception DOMException + * NAMESPACE_ERR: Raised if the expression contains namespace prefixes + * which cannot be resolved by the specified + * <code>XPathNSResolver</code>. + */ + public XPathExpression createExpression(String expression, + XPathNSResolver resolver) + throws XPathException, DOMException; + + /** + * Adapts any DOM node to resolve namespaces so that an XPath expression + * can be easily evaluated relative to the context of the node where it + * appeared within the document. This adapter works like the DOM Level 3 + * method <code>lookupNamespaceURI</code> on nodes in resolving the + * namespaceURI from a given prefix using the current information + * available in the node's hierarchy at the time lookupNamespaceURI is + * called. also correctly resolving the implicit xml prefix. + * @param nodeResolver The node to be used as a context for namespace + * resolution. + * @return <code>XPathNSResolver</code> which resolves namespaces with + * respect to the definitions in scope for a specified node. + */ + public XPathNSResolver createNSResolver(Node nodeResolver); + + /** + * Evaluates an XPath expression string and returns a result of the + * specified type if possible. + * @param expression The XPath expression string to be parsed and + * evaluated. + * @param contextNode The <code>context</code> is context node for the + * evaluation of this XPath expression. If the XPathEvaluator was + * obtained by casting the <code>Document</code> then this must be + * owned by the same document and must be a <code>Document</code>, + * <code>Element</code>, <code>Attribute</code>, <code>Text</code>, + * <code>CDATASection</code>, <code>Comment</code>, + * <code>ProcessingInstruction</code>, or <code>XPathNamespace</code> + * node. If the context node is a <code>Text</code> or a + * <code>CDATASection</code>, then the context is interpreted as the + * whole logical text node as seen by XPath, unless the node is empty + * in which case it may not serve as the XPath context. + * @param resolver The <code>resolver</code> permits translation of all + * prefixes, including the <code>xml</code> namespace prefix, within + * the XPath expression into appropriate namespace URIs. If this is + * specified as <code>null</code>, any namespace prefix within the + * expression will result in <code>DOMException</code> being thrown + * with the code <code>NAMESPACE_ERR</code>. + * @param type If a specific <code>type</code> is specified, then the + * result will be returned as the corresponding type.For XPath 1.0 + * results, this must be one of the codes of the + * <code>XPathResult</code> interface. + * @param result The <code>result</code> specifies a specific result + * object which may be reused and returned by this method. If this is + * specified as <code>null</code>or the implementation does not reuse + * the specified result, a new result object will be constructed and + * returned.For XPath 1.0 results, this object will be of type + * <code>XPathResult</code>. + * @return The result of the evaluation of the XPath expression.For XPath + * 1.0 results, this object will be of type <code>XPathResult</code>. + * @exception XPathException + * INVALID_EXPRESSION_ERR: Raised if the expression is not legal + * according to the rules of the <code>XPathEvaluator</code>i + * <br>TYPE_ERR: Raised if the result cannot be converted to return the + * specified type. + * @exception DOMException + * NAMESPACE_ERR: Raised if the expression contains namespace prefixes + * which cannot be resolved by the specified + * <code>XPathNSResolver</code>. + * <br>WRONG_DOCUMENT_ERR: The Node is from a document that is not + * supported by this <code>XPathEvaluator</code>. + * <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath + * context node or the request type is not permitted by this + * <code>XPathEvaluator</code>. + */ + public Object evaluate(String expression, + Node contextNode, + XPathNSResolver resolver, + short type, + Object result) + throws XPathException, DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathException.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathException.java new file mode 100644 index 000000000..6b13cdf00 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathException.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.xpath; + +/** + * A new exception has been created for exceptions specific to these XPath + * interfaces. + * <p>See also the <a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226'>Document Object Model (DOM) Level 3 XPath Specification</a>. + */ +public class XPathException extends RuntimeException { + public XPathException(short code, String message) { + super(message); + this.code = code; + } + public short code; + // XPathExceptionCode + /** + * If the expression has a syntax error or otherwise is not a legal + * expression according to the rules of the specific + * <code>XPathEvaluator</code> or contains specialized extension + * functions or variables not supported by this implementation. + */ + public static final short INVALID_EXPRESSION_ERR = 51; + /** + * If the expression cannot be converted to return the specified type. + */ + public static final short TYPE_ERR = 52; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathExpression.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathExpression.java new file mode 100644 index 000000000..ab5d28c43 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathExpression.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.xpath; + +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * The <code>XPathExpression</code> interface represents a parsed and resolved + * XPath expression. + * <p>See also the <a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226'>Document Object Model (DOM) Level 3 XPath Specification</a>. + */ +public interface XPathExpression { + /** + * Evaluates this XPath expression and returns a result. + * @param contextNode The <code>context</code> is context node for the + * evaluation of this XPath expression.If the XPathEvaluator was + * obtained by casting the <code>Document</code> then this must be + * owned by the same document and must be a <code>Document</code>, + * <code>Element</code>, <code>Attribute</code>, <code>Text</code>, + * <code>CDATASection</code>, <code>Comment</code>, + * <code>ProcessingInstruction</code>, or <code>XPathNamespace</code> + * node.If the context node is a <code>Text</code> or a + * <code>CDATASection</code>, then the context is interpreted as the + * whole logical text node as seen by XPath, unless the node is empty + * in which case it may not serve as the XPath context. + * @param type If a specific <code>type</code> is specified, then the + * result will be coerced to return the specified type relying on + * XPath conversions and fail if the desired coercion is not possible. + * This must be one of the type codes of <code>XPathResult</code>. + * @param result The <code>result</code> specifies a specific result + * object which may be reused and returned by this method. If this is + * specified as <code>null</code>or the implementation does not reuse + * the specified result, a new result object will be constructed and + * returned.For XPath 1.0 results, this object will be of type + * <code>XPathResult</code>. + * @return The result of the evaluation of the XPath expression.For XPath + * 1.0 results, this object will be of type <code>XPathResult</code>. + * @exception XPathException + * TYPE_ERR: Raised if the result cannot be converted to return the + * specified type. + * @exception DOMException + * WRONG_DOCUMENT_ERR: The Node is from a document that is not supported + * by the XPathEvaluator that created this <code>XPathExpression</code> + * . + * <br>NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath + * context node or the request type is not permitted by this + * <code>XPathExpression</code>. + */ + public Object evaluate(Node contextNode, + short type, + Object result) + throws XPathException, DOMException; + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathNSResolver.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathNSResolver.java new file mode 100644 index 000000000..5ce068de9 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathNSResolver.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.xpath; + +/** + * The <code>XPathNSResolver</code> interface permit <code>prefix</code> + * strings in the expression to be properly bound to + * <code>namespaceURI</code> strings. <code>XPathEvaluator</code> can + * construct an implementation of <code>XPathNSResolver</code> from a node, + * or the interface may be implemented by any application. + * <p>See also the <a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226'>Document Object Model (DOM) Level 3 XPath Specification</a>. + */ +public interface XPathNSResolver { + /** + * Look up the namespace URI associated to the given namespace prefix. The + * XPath evaluator must never call this with a <code>null</code> or + * empty argument, because the result of doing this is undefined. + * @param prefix The prefix to look for. + * @return Returns the associated namespace URI or <code>null</code> if + * none is found. + */ + public String lookupNamespaceURI(String prefix); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathNamespace.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathNamespace.java new file mode 100644 index 000000000..d644051f2 --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathNamespace.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.xpath; + +import org.w3c.dom.Element; +import org.w3c.dom.Node; + +/** + * The <code>XPathNamespace</code> interface is returned by + * <code>XPathResult</code> interfaces to represent the XPath namespace node + * type that DOM lacks. There is no public constructor for this node type. + * Attempts to place it into a hierarchy or a NamedNodeMap result in a + * <code>DOMException</code> with the code <code>HIERARCHY_REQUEST_ERR</code> + * . This node is read only, so methods or setting of attributes that would + * mutate the node result in a DOMException with the code + * <code>NO_MODIFICATION_ALLOWED_ERR</code>. + * <p>The core specification describes attributes of the <code>Node</code> + * interface that are different for different node types but does not + * describe <code>XPATH_NAMESPACE_NODE</code>, so here is a description of + * those attributes for this node type. All attributes of <code>Node</code> + * not described in this section have a <code>null</code> or + * <code>false</code> value. + * <p><code>ownerDocument</code> matches the <code>ownerDocument</code> of the + * <code>ownerElement</code> even if the element is later adopted. + * <p><code>nodeName</code> is always the string "<code>#namespace</code>". + * <p><code>prefix</code> is the prefix of the namespace represented by the + * node. + * <p><code>localName</code> is the same as <code>prefix</code>. + * <p><code>nodeType</code> is equal to <code>XPATH_NAMESPACE_NODE</code>. + * <p><code>namespaceURI</code> is the namespace URI of the namespace + * represented by the node. + * <p><code>nodeValue</code> is the same as <code>namespaceURI</code>. + * <p><code>adoptNode</code>, <code>cloneNode</code>, and + * <code>importNode</code> fail on this node type by raising a + * <code>DOMException</code> with the code <code>NOT_SUPPORTED_ERR</code>. + * <p ><b>Note:</b> In future versions of the XPath specification, the + * definition of a namespace node may be changed incomatibly, in which case + * incompatible changes to field values may be required to implement + * versions beyond XPath 1.0. + * <p>See also the <a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226'>Document Object Model (DOM) Level 3 XPath Specification</a>. + */ +public interface XPathNamespace extends Node { + // XPathNodeType + /** + * The node is a <code>Namespace</code>. + */ + public static final short XPATH_NAMESPACE_NODE = 13; + + /** + * The <code>Element</code> on which the namespace was in scope when it + * was requested. This does not change on a returned namespace node even + * if the document changes such that the namespace goes out of scope on + * that element and this node is no longer found there by XPath. + */ + public Element getOwnerElement(); + +} diff --git a/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathResult.java b/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathResult.java new file mode 100644 index 000000000..06fd29dac --- /dev/null +++ b/libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathResult.java @@ -0,0 +1,214 @@ +/* + * Copyright (c) 2004 World Wide Web Consortium, + * + * (Massachusetts Institute of Technology, European Research Consortium for + * Informatics and Mathematics, Keio University). All Rights Reserved. This + * work is distributed under the W3C(r) Software License [1] in the hope that + * it will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + */ + +package org.w3c.dom.xpath; + +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * The <code>XPathResult</code> interface represents the result of the + * evaluation of an XPath 1.0 expression within the context of a particular + * node. Since evaluation of an XPath expression can result in various + * result types, this object makes it possible to discover and manipulate + * the type and value of the result. + * <p>See also the <a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226'>Document Object Model (DOM) Level 3 XPath Specification</a>. + */ +public interface XPathResult { + // XPathResultType + /** + * This code does not represent a specific type. An evaluation of an XPath + * expression will never produce this type. If this type is requested, + * then the evaluation returns whatever type naturally results from + * evaluation of the expression. + * <br>If the natural result is a node set when <code>ANY_TYPE</code> was + * requested, then <code>UNORDERED_NODE_ITERATOR_TYPE</code> is always + * the resulting type. Any other representation of a node set must be + * explicitly requested. + */ + public static final short ANY_TYPE = 0; + /** + * The result is a <a href='http://www.w3.org/TR/1999/REC-xpath-19991116#numbers'>number</a> as defined by [<a href='http://www.w3.org/TR/1999/REC-xpath-19991116'>XPath 1.0</a>]. + * Document modification does not invalidate the number, but may mean + * that reevaluation would not yield the same number. + */ + public static final short NUMBER_TYPE = 1; + /** + * The result is a <a href='http://www.w3.org/TR/1999/REC-xpath-19991116#strings'>string</a> as defined by [<a href='http://www.w3.org/TR/1999/REC-xpath-19991116'>XPath 1.0</a>]. + * Document modification does not invalidate the string, but may mean + * that the string no longer corresponds to the current document. + */ + public static final short STRING_TYPE = 2; + /** + * The result is a <a href='http://www.w3.org/TR/1999/REC-xpath-19991116#booleans'>boolean</a> as defined by [<a href='http://www.w3.org/TR/1999/REC-xpath-19991116'>XPath 1.0</a>]. + * Document modification does not invalidate the boolean, but may mean + * that reevaluation would not yield the same boolean. + */ + public static final short BOOLEAN_TYPE = 3; + /** + * The result is a <a href='http://www.w3.org/TR/1999/REC-xpath-19991116#node-sets'>node set</a> as defined by [<a href='http://www.w3.org/TR/1999/REC-xpath-19991116'>XPath 1.0</a>] that + * will be accessed iteratively, which may not produce nodes in a + * particular order. Document modification invalidates the iteration. + * <br>This is the default type returned if the result is a node set and + * <code>ANY_TYPE</code> is requested. + */ + public static final short UNORDERED_NODE_ITERATOR_TYPE = 4; + /** + * The result is a node set as defined by [<a href='http://www.w3.org/TR/1999/REC-xpath-19991116'>XPath 1.0</a>] that + * will be accessed iteratively, which will produce document-ordered + * nodes. Document modification invalidates the iteration. + */ + public static final short ORDERED_NODE_ITERATOR_TYPE = 5; + /** + * The result is a <a href='http://www.w3.org/TR/1999/REC-xpath-19991116#node-sets'>node set</a> as defined by [<a href='http://www.w3.org/TR/1999/REC-xpath-19991116'>XPath 1.0</a>] that + * will be accessed as a snapshot list of nodes that may not be in a + * particular order. Document modification does not invalidate the + * snapshot but may mean that reevaluation would not yield the same + * snapshot and nodes in the snapshot may have been altered, moved, or + * removed from the document. + */ + public static final short UNORDERED_NODE_SNAPSHOT_TYPE = 6; + /** + * The result is a <a href='http://www.w3.org/TR/1999/REC-xpath-19991116#node-sets'>node set</a> as defined by [<a href='http://www.w3.org/TR/1999/REC-xpath-19991116'>XPath 1.0</a>] that + * will be accessed as a snapshot list of nodes that will be in original + * document order. Document modification does not invalidate the + * snapshot but may mean that reevaluation would not yield the same + * snapshot and nodes in the snapshot may have been altered, moved, or + * removed from the document. + */ + public static final short ORDERED_NODE_SNAPSHOT_TYPE = 7; + /** + * The result is a <a href='http://www.w3.org/TR/1999/REC-xpath-19991116#node-sets'>node set</a> as defined by [<a href='http://www.w3.org/TR/1999/REC-xpath-19991116'>XPath 1.0</a>] and + * will be accessed as a single node, which may be <code>null</code>if + * the node set is empty. Document modification does not invalidate the + * node, but may mean that the result node no longer corresponds to the + * current document. This is a convenience that permits optimization + * since the implementation can stop once any node in the resulting set + * has been found. + * <br>If there is more than one node in the actual result, the single + * node returned might not be the first in document order. + */ + public static final short ANY_UNORDERED_NODE_TYPE = 8; + /** + * The result is a <a href='http://www.w3.org/TR/1999/REC-xpath-19991116#node-sets'>node set</a> as defined by [<a href='http://www.w3.org/TR/1999/REC-xpath-19991116'>XPath 1.0</a>] and + * will be accessed as a single node, which may be <code>null</code> if + * the node set is empty. Document modification does not invalidate the + * node, but may mean that the result node no longer corresponds to the + * current document. This is a convenience that permits optimization + * since the implementation can stop once the first node in document + * order of the resulting set has been found. + * <br>If there are more than one node in the actual result, the single + * node returned will be the first in document order. + */ + public static final short FIRST_ORDERED_NODE_TYPE = 9; + + /** + * A code representing the type of this result, as defined by the type + * constants. + */ + public short getResultType(); + + /** + * The value of this number result. If the native double type of the DOM + * binding does not directly support the exact IEEE 754 result of the + * XPath expression, then it is up to the definition of the binding to + * specify how the XPath number is converted to the native binding + * number. + * @exception XPathException + * TYPE_ERR: raised if <code>resultType</code> is not + * <code>NUMBER_TYPE</code>. + */ + public double getNumberValue() + throws XPathException; + + /** + * The value of this string result. + * @exception XPathException + * TYPE_ERR: raised if <code>resultType</code> is not + * <code>STRING_TYPE</code>. + */ + public String getStringValue() + throws XPathException; + + /** + * The value of this boolean result. + * @exception XPathException + * TYPE_ERR: raised if <code>resultType</code> is not + * <code>BOOLEAN_TYPE</code>. + */ + public boolean getBooleanValue() + throws XPathException; + + /** + * The value of this single node result, which may be <code>null</code>. + * @exception XPathException + * TYPE_ERR: raised if <code>resultType</code> is not + * <code>ANY_UNORDERED_NODE_TYPE</code> or + * <code>FIRST_ORDERED_NODE_TYPE</code>. + */ + public Node getSingleNodeValue() + throws XPathException; + + /** + * Signifies that the iterator has become invalid. True if + * <code>resultType</code> is <code>UNORDERED_NODE_ITERATOR_TYPE</code> + * or <code>ORDERED_NODE_ITERATOR_TYPE</code> and the document has been + * modified since this result was returned. + */ + public boolean getInvalidIteratorState(); + + /** + * The number of nodes in the result snapshot. Valid values for + * snapshotItem indices are <code>0</code> to + * <code>snapshotLength-1</code> inclusive. + * @exception XPathException + * TYPE_ERR: raised if <code>resultType</code> is not + * <code>UNORDERED_NODE_SNAPSHOT_TYPE</code> or + * <code>ORDERED_NODE_SNAPSHOT_TYPE</code>. + */ + public int getSnapshotLength() + throws XPathException; + + /** + * Iterates and returns the next node from the node set or + * <code>null</code>if there are no more nodes. + * @return Returns the next node. + * @exception XPathException + * TYPE_ERR: raised if <code>resultType</code> is not + * <code>UNORDERED_NODE_ITERATOR_TYPE</code> or + * <code>ORDERED_NODE_ITERATOR_TYPE</code>. + * @exception DOMException + * INVALID_STATE_ERR: The document has been mutated since the result was + * returned. + */ + public Node iterateNext() + throws XPathException, DOMException; + + /** + * Returns the <code>index</code>th item in the snapshot collection. If + * <code>index</code> is greater than or equal to the number of nodes in + * the list, this method returns <code>null</code>. Unlike the iterator + * result, the snapshot does not become invalid, but may not correspond + * to the current document if it is mutated. + * @param index Index into the snapshot collection. + * @return The node at the <code>index</code>th position in the + * <code>NodeList</code>, or <code>null</code> if that is not a valid + * index. + * @exception XPathException + * TYPE_ERR: raised if <code>resultType</code> is not + * <code>UNORDERED_NODE_SNAPSHOT_TYPE</code> or + * <code>ORDERED_NODE_SNAPSHOT_TYPE</code>. + */ + public Node snapshotItem(int index) + throws XPathException; + +} |