diff options
Diffstat (limited to 'libjava/external/w3c_dom/org')
146 files changed, 17510 insertions, 0 deletions
diff --git a/libjava/external/w3c_dom/org/w3c/dom/Attr.java b/libjava/external/w3c_dom/org/w3c/dom/Attr.java new file mode 100644 index 00000000000..d9ed6ffe128 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/CDATASection.java b/libjava/external/w3c_dom/org/w3c/dom/CDATASection.java new file mode 100644 index 00000000000..9267227e42d --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/CharacterData.java b/libjava/external/w3c_dom/org/w3c/dom/CharacterData.java new file mode 100644 index 00000000000..a12dcedfae3 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/Comment.java b/libjava/external/w3c_dom/org/w3c/dom/Comment.java new file mode 100644 index 00000000000..b04ed4d0a5e --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/DOMConfiguration.java b/libjava/external/w3c_dom/org/w3c/dom/DOMConfiguration.java new file mode 100644 index 00000000000..7cce1609e19 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/DOMError.java b/libjava/external/w3c_dom/org/w3c/dom/DOMError.java new file mode 100644 index 00000000000..37ed7d10d89 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/DOMErrorHandler.java b/libjava/external/w3c_dom/org/w3c/dom/DOMErrorHandler.java new file mode 100644 index 00000000000..3d4ad2aba58 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/DOMException.java b/libjava/external/w3c_dom/org/w3c/dom/DOMException.java new file mode 100644 index 00000000000..0b2578f92f6 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/DOMImplementation.java b/libjava/external/w3c_dom/org/w3c/dom/DOMImplementation.java new file mode 100644 index 00000000000..5bb71e263a9 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/DOMImplementationList.java b/libjava/external/w3c_dom/org/w3c/dom/DOMImplementationList.java new file mode 100644 index 00000000000..18349fdd411 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/DOMImplementationSource.java b/libjava/external/w3c_dom/org/w3c/dom/DOMImplementationSource.java new file mode 100644 index 00000000000..3c32c188378 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/DOMLocator.java b/libjava/external/w3c_dom/org/w3c/dom/DOMLocator.java new file mode 100644 index 00000000000..fcaaa23de87 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/DOMStringList.java b/libjava/external/w3c_dom/org/w3c/dom/DOMStringList.java new file mode 100644 index 00000000000..e6c348ae8c4 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/Document.java b/libjava/external/w3c_dom/org/w3c/dom/Document.java new file mode 100644 index 00000000000..43ebd4ec420 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/DocumentFragment.java b/libjava/external/w3c_dom/org/w3c/dom/DocumentFragment.java new file mode 100644 index 00000000000..8c4531eff87 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/DocumentType.java b/libjava/external/w3c_dom/org/w3c/dom/DocumentType.java new file mode 100644 index 00000000000..6221c7b5ef6 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/Element.java b/libjava/external/w3c_dom/org/w3c/dom/Element.java new file mode 100644 index 00000000000..6a7f7e3d0c7 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/Entity.java b/libjava/external/w3c_dom/org/w3c/dom/Entity.java new file mode 100644 index 00000000000..f621c3386b1 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/EntityReference.java b/libjava/external/w3c_dom/org/w3c/dom/EntityReference.java new file mode 100644 index 00000000000..b42b0913bc8 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/NameList.java b/libjava/external/w3c_dom/org/w3c/dom/NameList.java new file mode 100644 index 00000000000..10caa90f6a0 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/NamedNodeMap.java b/libjava/external/w3c_dom/org/w3c/dom/NamedNodeMap.java new file mode 100644 index 00000000000..ad1e67bcdeb --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/Node.java b/libjava/external/w3c_dom/org/w3c/dom/Node.java new file mode 100644 index 00000000000..989d49a2ea0 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/NodeList.java b/libjava/external/w3c_dom/org/w3c/dom/NodeList.java new file mode 100644 index 00000000000..e4204ec974c --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/Notation.java b/libjava/external/w3c_dom/org/w3c/dom/Notation.java new file mode 100644 index 00000000000..3739f928443 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ProcessingInstruction.java b/libjava/external/w3c_dom/org/w3c/dom/ProcessingInstruction.java new file mode 100644 index 00000000000..0b6825f104c --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/Text.java b/libjava/external/w3c_dom/org/w3c/dom/Text.java new file mode 100644 index 00000000000..9c294a4a488 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/TypeInfo.java b/libjava/external/w3c_dom/org/w3c/dom/TypeInfo.java new file mode 100644 index 00000000000..054f9907245 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/UserDataHandler.java b/libjava/external/w3c_dom/org/w3c/dom/UserDataHandler.java new file mode 100644 index 00000000000..a16ea7308c2 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/bootstrap/DOMImplementationRegistry.java b/libjava/external/w3c_dom/org/w3c/dom/bootstrap/DOMImplementationRegistry.java new file mode 100644 index 00000000000..be73f396bd8 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSS2Properties.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSS2Properties.java new file mode 100644 index 00000000000..89ccf5048ef --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSCharsetRule.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSCharsetRule.java new file mode 100644 index 00000000000..8c0defa4753 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSFontFaceRule.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSFontFaceRule.java new file mode 100644 index 00000000000..a1795706118 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSImportRule.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSImportRule.java new file mode 100644 index 00000000000..e18ad569bcb --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSMediaRule.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSMediaRule.java new file mode 100644 index 00000000000..68a73045ede --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSPageRule.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSPageRule.java new file mode 100644 index 00000000000..538626a97e9 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSPrimitiveValue.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSPrimitiveValue.java new file mode 100644 index 00000000000..4131d26cda3 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSRule.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSRule.java new file mode 100644 index 00000000000..788f946eca5 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSRuleList.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSRuleList.java new file mode 100644 index 00000000000..41c2c68377c --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSStyleDeclaration.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSStyleDeclaration.java new file mode 100644 index 00000000000..e5e346b0a71 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSStyleRule.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSStyleRule.java new file mode 100644 index 00000000000..626f3224b4c --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSStyleSheet.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSStyleSheet.java new file mode 100644 index 00000000000..b529e5db089 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSUnknownRule.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSUnknownRule.java new file mode 100644 index 00000000000..763d5f1b61f --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSValue.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSValue.java new file mode 100644 index 00000000000..0285bcc7721 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/CSSValueList.java b/libjava/external/w3c_dom/org/w3c/dom/css/CSSValueList.java new file mode 100644 index 00000000000..bf15bb3ebfd --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/Counter.java b/libjava/external/w3c_dom/org/w3c/dom/css/Counter.java new file mode 100644 index 00000000000..8cd4967b32d --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/DOMImplementationCSS.java b/libjava/external/w3c_dom/org/w3c/dom/css/DOMImplementationCSS.java new file mode 100644 index 00000000000..65c97291ef4 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/DocumentCSS.java b/libjava/external/w3c_dom/org/w3c/dom/css/DocumentCSS.java new file mode 100644 index 00000000000..8fe93c79a7e --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/ElementCSSInlineStyle.java b/libjava/external/w3c_dom/org/w3c/dom/css/ElementCSSInlineStyle.java new file mode 100644 index 00000000000..98b60bf9ddf --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/RGBColor.java b/libjava/external/w3c_dom/org/w3c/dom/css/RGBColor.java new file mode 100644 index 00000000000..cd5daa56703 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/Rect.java b/libjava/external/w3c_dom/org/w3c/dom/css/Rect.java new file mode 100644 index 00000000000..f5efb1084d9 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/css/ViewCSS.java b/libjava/external/w3c_dom/org/w3c/dom/css/ViewCSS.java new file mode 100644 index 00000000000..76b585a54d2 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/events/DocumentEvent.java b/libjava/external/w3c_dom/org/w3c/dom/events/DocumentEvent.java new file mode 100644 index 00000000000..76644bc5a3d --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/events/Event.java b/libjava/external/w3c_dom/org/w3c/dom/events/Event.java new file mode 100644 index 00000000000..14a9239ed76 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/events/EventException.java b/libjava/external/w3c_dom/org/w3c/dom/events/EventException.java new file mode 100644 index 00000000000..7a6ff262052 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/events/EventListener.java b/libjava/external/w3c_dom/org/w3c/dom/events/EventListener.java new file mode 100644 index 00000000000..1df80202cea --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/events/EventTarget.java b/libjava/external/w3c_dom/org/w3c/dom/events/EventTarget.java new file mode 100644 index 00000000000..f07663660fd --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/events/MouseEvent.java b/libjava/external/w3c_dom/org/w3c/dom/events/MouseEvent.java new file mode 100644 index 00000000000..be780357a88 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/events/MutationEvent.java b/libjava/external/w3c_dom/org/w3c/dom/events/MutationEvent.java new file mode 100644 index 00000000000..3db40038e93 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/events/UIEvent.java b/libjava/external/w3c_dom/org/w3c/dom/events/UIEvent.java new file mode 100644 index 00000000000..15affe8791e --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLAnchorElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLAnchorElement.java new file mode 100644 index 00000000000..eaac35c8a76 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLAppletElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLAppletElement.java new file mode 100644 index 00000000000..f27b51afb7a --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLAreaElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLAreaElement.java new file mode 100644 index 00000000000..75d1dc5cfa9 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLBRElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLBRElement.java new file mode 100644 index 00000000000..a865d282d41 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLBaseElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLBaseElement.java new file mode 100644 index 00000000000..7b52dbcc209 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLBaseFontElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLBaseFontElement.java new file mode 100644 index 00000000000..5a3c5c93cee --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLBodyElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLBodyElement.java new file mode 100644 index 00000000000..8898c5de030 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLButtonElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLButtonElement.java new file mode 100644 index 00000000000..7efe1834c26 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLCollection.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLCollection.java new file mode 100644 index 00000000000..6b6751783fe --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLDListElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLDListElement.java new file mode 100644 index 00000000000..e8a3bb4a064 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLDirectoryElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLDirectoryElement.java new file mode 100644 index 00000000000..5a405c80432 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLDivElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLDivElement.java new file mode 100644 index 00000000000..31107c5f168 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLDocument.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLDocument.java new file mode 100644 index 00000000000..79ad1b3363f --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLElement.java new file mode 100644 index 00000000000..ed37419d3bc --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLFieldSetElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLFieldSetElement.java new file mode 100644 index 00000000000..c962a567d1b --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLFontElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLFontElement.java new file mode 100644 index 00000000000..8fa25893c35 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLFormElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLFormElement.java new file mode 100644 index 00000000000..109f31a57dd --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLFrameElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLFrameElement.java new file mode 100644 index 00000000000..d6100815f5a --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLFrameSetElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLFrameSetElement.java new file mode 100644 index 00000000000..4e5d75bde1b --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLHRElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLHRElement.java new file mode 100644 index 00000000000..b09ec0f3fb1 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLHeadElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLHeadElement.java new file mode 100644 index 00000000000..c4550a50711 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLHeadingElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLHeadingElement.java new file mode 100644 index 00000000000..149752507e3 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLHtmlElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLHtmlElement.java new file mode 100644 index 00000000000..5ba30fe3177 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLIFrameElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLIFrameElement.java new file mode 100644 index 00000000000..7cac12f89e5 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLImageElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLImageElement.java new file mode 100644 index 00000000000..8e8142184d4 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLInputElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLInputElement.java new file mode 100644 index 00000000000..b0d0d9d091b --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLIsIndexElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLIsIndexElement.java new file mode 100644 index 00000000000..898b9e46a01 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLLIElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLLIElement.java new file mode 100644 index 00000000000..df20c000ac2 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLLabelElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLLabelElement.java new file mode 100644 index 00000000000..69a104053c2 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLLegendElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLLegendElement.java new file mode 100644 index 00000000000..b976d099a6a --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLLinkElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLLinkElement.java new file mode 100644 index 00000000000..4ed72ca9483 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLMapElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLMapElement.java new file mode 100644 index 00000000000..e413727ab4d --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLMenuElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLMenuElement.java new file mode 100644 index 00000000000..7c8ec62d0eb --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLMetaElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLMetaElement.java new file mode 100644 index 00000000000..b6bf05d40c7 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLModElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLModElement.java new file mode 100644 index 00000000000..006ba69c4bd --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLOListElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLOListElement.java new file mode 100644 index 00000000000..13041c8a106 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLObjectElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLObjectElement.java new file mode 100644 index 00000000000..11795468d77 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLOptGroupElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLOptGroupElement.java new file mode 100644 index 00000000000..8bd606a7126 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLOptionElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLOptionElement.java new file mode 100644 index 00000000000..f3b38a6019c --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLOptionsCollection.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLOptionsCollection.java new file mode 100644 index 00000000000..d70d92d73e2 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLParagraphElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLParagraphElement.java new file mode 100644 index 00000000000..1cb8e04203b --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLParamElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLParamElement.java new file mode 100644 index 00000000000..ecf91c287d3 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLPreElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLPreElement.java new file mode 100644 index 00000000000..bab7358a730 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLQuoteElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLQuoteElement.java new file mode 100644 index 00000000000..c7cc666f417 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLScriptElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLScriptElement.java new file mode 100644 index 00000000000..a35f7ddc1cb --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLSelectElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLSelectElement.java new file mode 100644 index 00000000000..c5d83b05182 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLStyleElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLStyleElement.java new file mode 100644 index 00000000000..148bcda1cf2 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLTableCaptionElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTableCaptionElement.java new file mode 100644 index 00000000000..6c0d872e541 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLTableCellElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTableCellElement.java new file mode 100644 index 00000000000..1e8dc3d4738 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLTableColElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTableColElement.java new file mode 100644 index 00000000000..85a42ddd2bb --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLTableElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTableElement.java new file mode 100644 index 00000000000..d36b19cfa78 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLTableRowElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTableRowElement.java new file mode 100644 index 00000000000..9f4fbf96c67 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLTableSectionElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTableSectionElement.java new file mode 100644 index 00000000000..5aa6ce4402d --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLTextAreaElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTextAreaElement.java new file mode 100644 index 00000000000..ed5c6c978d6 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLTitleElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTitleElement.java new file mode 100644 index 00000000000..67122bb0a71 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/html2/HTMLUListElement.java b/libjava/external/w3c_dom/org/w3c/dom/html2/HTMLUListElement.java new file mode 100644 index 00000000000..61ccb322f45 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ls/DOMImplementationLS.java b/libjava/external/w3c_dom/org/w3c/dom/ls/DOMImplementationLS.java new file mode 100644 index 00000000000..c94fc8e4651 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ls/LSException.java b/libjava/external/w3c_dom/org/w3c/dom/ls/LSException.java new file mode 100644 index 00000000000..65a83f0ded1 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ls/LSInput.java b/libjava/external/w3c_dom/org/w3c/dom/ls/LSInput.java new file mode 100644 index 00000000000..862bf7703b7 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ls/LSLoadEvent.java b/libjava/external/w3c_dom/org/w3c/dom/ls/LSLoadEvent.java new file mode 100644 index 00000000000..601a5be11b7 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ls/LSOutput.java b/libjava/external/w3c_dom/org/w3c/dom/ls/LSOutput.java new file mode 100644 index 00000000000..2f8675c571e --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ls/LSParser.java b/libjava/external/w3c_dom/org/w3c/dom/ls/LSParser.java new file mode 100644 index 00000000000..ee918e0dce7 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ls/LSParserFilter.java b/libjava/external/w3c_dom/org/w3c/dom/ls/LSParserFilter.java new file mode 100644 index 00000000000..4e612945e95 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ls/LSProgressEvent.java b/libjava/external/w3c_dom/org/w3c/dom/ls/LSProgressEvent.java new file mode 100644 index 00000000000..da98e14ad5b --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ls/LSResourceResolver.java b/libjava/external/w3c_dom/org/w3c/dom/ls/LSResourceResolver.java new file mode 100644 index 00000000000..c0c523c8a00 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ls/LSSerializer.java b/libjava/external/w3c_dom/org/w3c/dom/ls/LSSerializer.java new file mode 100644 index 00000000000..e7b6350d304 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ls/LSSerializerFilter.java b/libjava/external/w3c_dom/org/w3c/dom/ls/LSSerializerFilter.java new file mode 100644 index 00000000000..049459c6417 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ranges/DocumentRange.java b/libjava/external/w3c_dom/org/w3c/dom/ranges/DocumentRange.java new file mode 100644 index 00000000000..6b522670e20 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ranges/Range.java b/libjava/external/w3c_dom/org/w3c/dom/ranges/Range.java new file mode 100644 index 00000000000..a576b4dd642 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/ranges/RangeException.java b/libjava/external/w3c_dom/org/w3c/dom/ranges/RangeException.java new file mode 100644 index 00000000000..551008e5dba --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/stylesheets/DocumentStyle.java b/libjava/external/w3c_dom/org/w3c/dom/stylesheets/DocumentStyle.java new file mode 100644 index 00000000000..612a561135a --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/stylesheets/LinkStyle.java b/libjava/external/w3c_dom/org/w3c/dom/stylesheets/LinkStyle.java new file mode 100644 index 00000000000..481bd19dbab --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/stylesheets/MediaList.java b/libjava/external/w3c_dom/org/w3c/dom/stylesheets/MediaList.java new file mode 100644 index 00000000000..f83d5f13d62 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheet.java b/libjava/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheet.java new file mode 100644 index 00000000000..3da43076994 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheetList.java b/libjava/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheetList.java new file mode 100644 index 00000000000..b8f9a442330 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/traversal/DocumentTraversal.java b/libjava/external/w3c_dom/org/w3c/dom/traversal/DocumentTraversal.java new file mode 100644 index 00000000000..bc45ad9f753 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/traversal/NodeFilter.java b/libjava/external/w3c_dom/org/w3c/dom/traversal/NodeFilter.java new file mode 100644 index 00000000000..b9beac476b3 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/traversal/NodeIterator.java b/libjava/external/w3c_dom/org/w3c/dom/traversal/NodeIterator.java new file mode 100644 index 00000000000..d1f0d08399d --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/traversal/TreeWalker.java b/libjava/external/w3c_dom/org/w3c/dom/traversal/TreeWalker.java new file mode 100644 index 00000000000..f5fff86be09 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/views/AbstractView.java b/libjava/external/w3c_dom/org/w3c/dom/views/AbstractView.java new file mode 100644 index 00000000000..97e8f0e2b0b --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/views/DocumentView.java b/libjava/external/w3c_dom/org/w3c/dom/views/DocumentView.java new file mode 100644 index 00000000000..2cb9eebb84b --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/xpath/XPathEvaluator.java b/libjava/external/w3c_dom/org/w3c/dom/xpath/XPathEvaluator.java new file mode 100644 index 00000000000..a85c0e811da --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/xpath/XPathException.java b/libjava/external/w3c_dom/org/w3c/dom/xpath/XPathException.java new file mode 100644 index 00000000000..deb1bd78394 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/xpath/XPathExpression.java b/libjava/external/w3c_dom/org/w3c/dom/xpath/XPathExpression.java new file mode 100644 index 00000000000..e972532544d --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/xpath/XPathNSResolver.java b/libjava/external/w3c_dom/org/w3c/dom/xpath/XPathNSResolver.java new file mode 100644 index 00000000000..b8f05213812 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/xpath/XPathNamespace.java b/libjava/external/w3c_dom/org/w3c/dom/xpath/XPathNamespace.java new file mode 100644 index 00000000000..9f15481d584 --- /dev/null +++ b/libjava/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/external/w3c_dom/org/w3c/dom/xpath/XPathResult.java b/libjava/external/w3c_dom/org/w3c/dom/xpath/XPathResult.java new file mode 100644 index 00000000000..56064b90ecf --- /dev/null +++ b/libjava/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; + +}  | 

