Upgrading to JAXP 1.3 APIs.
git-svn-id: https://svn.apache.org/repos/asf/xml/commons/trunk@226184 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
5b838d686f
commit
6b504e7786
249
java/external/src/org/w3c/dom/Attr.java
vendored
249
java/external/src/org/w3c/dom/Attr.java
vendored
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -15,7 +15,7 @@ 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 document type definition.
|
||||
* 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
|
||||
@ -39,48 +39,137 @@ package org.w3c.dom;
|
||||
* 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>nodeValue</code> attribute
|
||||
* on the <code>Attr</code> instance can also be used to retrieve the string
|
||||
* version of the attribute's value(s).
|
||||
* 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). Because the DOM Core is not aware of attribute types, it
|
||||
* treats all attribute values as simple strings, even if the DTD or schema
|
||||
* declares them as having tokenized types.
|
||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* 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.
|
||||
* 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();
|
||||
|
||||
/**
|
||||
* If this attribute was explicitly given a value in the original
|
||||
* document, this is <code>true</code>; otherwise, it is
|
||||
* <code>false</code>. Note that the implementation is in charge of this
|
||||
* attribute, not the user. If the user changes the value of the
|
||||
* attribute (even if it ends up having the same value as the default
|
||||
* value) then the <code>specified</code> flag is automatically flipped
|
||||
* to <code>true</code>. To re-specify the attribute as the default
|
||||
* value from the DTD, the user must delete the attribute. The
|
||||
* implementation will then make a new attribute available with
|
||||
* <code>specified</code> set to <code>false</code> and the default
|
||||
* value (if one exists).
|
||||
* <br>In summary: If the attribute has an assigned value in the document
|
||||
* then <code>specified</code> is <code>true</code>, and the value is
|
||||
* the assigned value.If the attribute has no assigned value in the
|
||||
* document and has a default value in the DTD, then
|
||||
* <code>specified</code> is <code>false</code>, and the value is the
|
||||
* default value in the DTD.If the attribute has no assigned value in
|
||||
* the document and has a value of #IMPLIED in the DTD, then the
|
||||
* attribute does not appear in the structure model of the document.If
|
||||
* the <code>ownerElement</code> attribute is <code>null</code> (i.e.
|
||||
* because it was just created or was set to <code>null</code> by the
|
||||
* various removal and cloning operations) <code>specified</code> is
|
||||
* <code>true</code>.
|
||||
* <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();
|
||||
|
||||
@ -90,12 +179,13 @@ public interface Attr extends Node {
|
||||
* 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
|
||||
* 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>setAttribute</code> on the <code>Element</code>
|
||||
* interface.
|
||||
* @exception DOMException
|
||||
* NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
|
||||
* 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();
|
||||
/**
|
||||
@ -104,10 +194,13 @@ public interface Attr extends Node {
|
||||
* 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
|
||||
* 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>setAttribute</code> on the <code>Element</code>
|
||||
* interface.
|
||||
* 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.
|
||||
*/
|
||||
@ -121,4 +214,62 @@ public interface Attr extends Node {
|
||||
*/
|
||||
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();
|
||||
|
||||
}
|
||||
|
||||
58
java/external/src/org/w3c/dom/CDATASection.java
vendored
58
java/external/src/org/w3c/dom/CDATASection.java
vendored
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -19,9 +19,8 @@ package org.w3c.dom;
|
||||
* 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>DOMString</code> attribute of the <code>Text</code> node holds
|
||||
* the text that is contained by the CDATA section. Note that this may
|
||||
* contain characters that need to be escaped outside of CDATA sections and
|
||||
* <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.
|
||||
@ -29,20 +28,27 @@ package org.w3c.dom;
|
||||
* <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.
|
||||
* 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.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/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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 {
|
||||
}
|
||||
|
||||
26
java/external/src/org/w3c/dom/CharacterData.java
vendored
26
java/external/src/org/w3c/dom/CharacterData.java
vendored
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -24,7 +24,7 @@ package org.w3c.dom;
|
||||
* 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/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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 {
|
||||
/**
|
||||
@ -36,8 +36,6 @@ public interface CharacterData extends Node {
|
||||
* 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.
|
||||
* @exception DOMException
|
||||
* DOMSTRING_SIZE_ERR: Raised when it would return more characters than
|
||||
* fit in a <code>DOMString</code> variable on the implementation
|
||||
* platform.
|
||||
@ -54,10 +52,6 @@ public interface CharacterData extends Node {
|
||||
* appropriately sized pieces.
|
||||
* @exception DOMException
|
||||
* NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
|
||||
* @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 void setData(String data)
|
||||
throws DOMException;
|
||||
|
||||
26
java/external/src/org/w3c/dom/Comment.java
vendored
26
java/external/src/org/w3c/dom/Comment.java
vendored
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -18,7 +18,13 @@ package org.w3c.dom;
|
||||
* <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>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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 {
|
||||
}
|
||||
|
||||
413
java/external/src/org/w3c/dom/DOMConfiguration.java
vendored
Normal file
413
java/external/src/org/w3c/dom/DOMConfiguration.java
vendored
Normal file
@ -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();
|
||||
|
||||
}
|
||||
87
java/external/src/org/w3c/dom/DOMError.java
vendored
Normal file
87
java/external/src/org/w3c/dom/DOMError.java
vendored
Normal file
@ -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();
|
||||
|
||||
}
|
||||
45
java/external/src/org/w3c/dom/DOMErrorHandler.java
vendored
Normal file
45
java/external/src/org/w3c/dom/DOMErrorHandler.java
vendored
Normal file
@ -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);
|
||||
|
||||
}
|
||||
67
java/external/src/org/w3c/dom/DOMException.java
vendored
67
java/external/src/org/w3c/dom/DOMException.java
vendored
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -21,13 +21,14 @@ package org.w3c.dom;
|
||||
* <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.
|
||||
* 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/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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) {
|
||||
@ -37,41 +38,40 @@ public class DOMException extends RuntimeException {
|
||||
public short code;
|
||||
// ExceptionCode
|
||||
/**
|
||||
* If index or size is negative, or greater than the allowed value
|
||||
* 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 DOMString
|
||||
* If the specified range of text does not fit into a
|
||||
* <code>DOMString</code>.
|
||||
*/
|
||||
public static final short DOMSTRING_SIZE_ERR = 2;
|
||||
/**
|
||||
* If any node is inserted somewhere it doesn't belong
|
||||
* If any <code>Node</code> is inserted somewhere it doesn't belong.
|
||||
*/
|
||||
public static final short HIERARCHY_REQUEST_ERR = 3;
|
||||
/**
|
||||
* If a node is used in a different document than the one that created it
|
||||
* (that doesn't support it)
|
||||
* 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 a name. See
|
||||
* production 2 in the XML specification for the definition of a legal
|
||||
* character, and production 5 for the definition of a legal name
|
||||
* character.
|
||||
* 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 node which does not support data
|
||||
* 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
|
||||
* allowed.
|
||||
*/
|
||||
public static final short NO_MODIFICATION_ALLOWED_ERR = 7;
|
||||
/**
|
||||
* If an attempt is made to reference a node in a context where it does
|
||||
* not exist
|
||||
* 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;
|
||||
/**
|
||||
@ -81,7 +81,7 @@ public class DOMException extends RuntimeException {
|
||||
public static final short NOT_SUPPORTED_ERR = 9;
|
||||
/**
|
||||
* If an attempt is made to add an attribute that is already in use
|
||||
* elsewhere
|
||||
* elsewhere.
|
||||
*/
|
||||
public static final short INUSE_ATTRIBUTE_ERR = 10;
|
||||
/**
|
||||
@ -112,5 +112,22 @@ public class DOMException extends RuntimeException {
|
||||
* @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;
|
||||
|
||||
// Added serialVersionUID to preserve binary compatibility
|
||||
static final long serialVersionUID = 6627732366795969916L;
|
||||
}
|
||||
|
||||
124
java/external/src/org/w3c/dom/DOMImplementation.java
vendored
124
java/external/src/org/w3c/dom/DOMImplementation.java
vendored
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -16,21 +16,14 @@ 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/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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.
|
||||
* @param feature The name of the feature to test (case-insensitive). The
|
||||
* values used by DOM features are defined throughout the DOM Level 2
|
||||
* specifications and listed in the section. The name must be an XML
|
||||
* name. To avoid possible conflicts, as a convention, names referring
|
||||
* to features defined outside the DOM specification should be made
|
||||
* unique.
|
||||
* @param version This is the version number of the feature to test. In
|
||||
* Level 2, the string can be either "2.0" or "1.0". If the version is
|
||||
* not specified, supporting any version of the feature causes the
|
||||
* method to return <code>true</code>.
|
||||
* 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.
|
||||
*/
|
||||
@ -40,9 +33,7 @@ public interface DOMImplementation {
|
||||
/**
|
||||
* 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. It is expected that a
|
||||
* future version of the DOM will provide a way for populating a
|
||||
* <code>DocumentType</code>.
|
||||
* 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.
|
||||
@ -50,16 +41,13 @@ public interface DOMImplementation {
|
||||
* @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
|
||||
* contains an illegal character.
|
||||
* 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 by DOM implementations which do
|
||||
* not support the <code>"XML"</code> feature, if they choose not to
|
||||
* support this method. Other features introduced in the future, by
|
||||
* the DOM WG or in extensions defined by other groups, may also
|
||||
* demand support for this method; please consult the definition of
|
||||
* the feature to see if it requires this method.
|
||||
* <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,
|
||||
@ -70,36 +58,48 @@ public interface DOMImplementation {
|
||||
/**
|
||||
* 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.
|
||||
* create or <code>null</code>.
|
||||
* @param qualifiedName The qualified name of the document element to be
|
||||
* created.
|
||||
* 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.
|
||||
* @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
|
||||
* contains an illegal character.
|
||||
* 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> has a prefix that is "xml" and the
|
||||
* <code>namespaceURI</code> is different from "
|
||||
* http://www.w3.org/XML/1998/namespace" , 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.
|
||||
* <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 by DOM implementations which do
|
||||
* not support the "XML" feature, if they choose not to support this
|
||||
* method. Other features introduced in the future, by the DOM WG or
|
||||
* in extensions defined by other groups, may also demand support for
|
||||
* this method; please consult the definition of the feature to see if
|
||||
* it requires this method.
|
||||
* <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,
|
||||
@ -107,4 +107,30 @@ public interface DOMImplementation {
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
43
java/external/src/org/w3c/dom/DOMImplementationList.java
vendored
Normal file
43
java/external/src/org/w3c/dom/DOMImplementationList.java
vendored
Normal file
@ -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();
|
||||
|
||||
}
|
||||
58
java/external/src/org/w3c/dom/DOMImplementationSource.java
vendored
Normal file
58
java/external/src/org/w3c/dom/DOMImplementationSource.java
vendored
Normal file
@ -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);
|
||||
|
||||
}
|
||||
58
java/external/src/org/w3c/dom/DOMLocator.java
vendored
Normal file
58
java/external/src/org/w3c/dom/DOMLocator.java
vendored
Normal file
@ -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();
|
||||
|
||||
}
|
||||
50
java/external/src/org/w3c/dom/DOMStringList.java
vendored
Normal file
50
java/external/src/org/w3c/dom/DOMStringList.java
vendored
Normal file
@ -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);
|
||||
|
||||
}
|
||||
592
java/external/src/org/w3c/dom/Document.java
vendored
592
java/external/src/org/w3c/dom/Document.java
vendored
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -22,18 +22,28 @@ package org.w3c.dom;
|
||||
* 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/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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 HTML documents as well as XML
|
||||
* documents without a document type declaration this returns
|
||||
* <code>null</code>. The DOM Level 2 does not support editing the
|
||||
* Document Type Declaration. <code>docType</code> cannot be altered in
|
||||
* any way, including through the use of methods inherited from the
|
||||
* <code>Node</code> interface, such as <code>insertNode</code> or
|
||||
* <code>removeNode</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();
|
||||
|
||||
@ -45,8 +55,7 @@ public interface Document extends Node {
|
||||
|
||||
/**
|
||||
* This is a convenience attribute that allows direct access to the child
|
||||
* node that is the root element of the document. For HTML documents,
|
||||
* this is the element with the tagName "HTML".
|
||||
* node that is the document element of the document.
|
||||
*/
|
||||
public Element getDocumentElement();
|
||||
|
||||
@ -60,16 +69,18 @@ public interface Document extends Node {
|
||||
* <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. For HTML, the <code>tagName</code>
|
||||
* parameter may be provided in any case, but it must be mapped to the
|
||||
* canonical uppercase form by the DOM implementation.
|
||||
* 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 contains an
|
||||
* illegal character.
|
||||
* 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;
|
||||
@ -108,12 +119,19 @@ public interface Document extends Node {
|
||||
/**
|
||||
* Creates a <code>ProcessingInstruction</code> node given the specified
|
||||
* name and data strings.
|
||||
* @param target The target part of the processing instruction.
|
||||
* @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 contains an
|
||||
* illegal character.
|
||||
* 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,
|
||||
@ -132,8 +150,9 @@ public interface Document extends Node {
|
||||
* <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 contains an
|
||||
* illegal character.
|
||||
* 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;
|
||||
@ -142,45 +161,58 @@ public interface Document extends Node {
|
||||
* 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.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 does not support any mechanism to
|
||||
* resolve namespace prefixes.
|
||||
* @param name The name of the entity to reference.
|
||||
* 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 contains an
|
||||
* illegal character.
|
||||
* 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> with a
|
||||
* given tag name in the order in which they are encountered in a
|
||||
* preorder traversal of the <code>Document</code> tree.
|
||||
* @param tagname The name of the tag to match on. The special value "*"
|
||||
* matches all tags.
|
||||
* 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. The returned
|
||||
* node has no parent; (<code>parentNode</code> is <code>null</code>).
|
||||
* The source node is not altered or removed from the original document;
|
||||
* this method creates a new copy of the source node.
|
||||
* 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 on a <code>Node</code>, the source
|
||||
* node is not altered.
|
||||
* <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
|
||||
@ -199,9 +231,11 @@ public interface Document extends Node {
|
||||
* 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 element
|
||||
* are recursively imported and the resulting nodes reassembled to form
|
||||
* the corresponding subtree. Otherwise, this simply generates an empty
|
||||
* 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>
|
||||
@ -210,12 +244,11 @@ public interface Document extends Node {
|
||||
* <dd><code>DocumentType</code>
|
||||
* nodes cannot be imported.</dd>
|
||||
* <dt>ELEMENT_NODE</dt>
|
||||
* <dd>Specified 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 not 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
|
||||
* <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>
|
||||
@ -243,28 +276,37 @@ public interface Document extends Node {
|
||||
* 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
|
||||
* <code>Notation</code> nodes since they never have any children.</dd>
|
||||
* 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.</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.</dd>
|
||||
* 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 <code>Attr</code>
|
||||
* , <code>EntityReference</code>, and <code>Notation</code> nodes.
|
||||
* 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,
|
||||
@ -273,12 +315,15 @@ public interface Document extends Node {
|
||||
|
||||
/**
|
||||
* 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'>
|
||||
* <table border='1' cellpadding='3'>
|
||||
* <tr>
|
||||
* <th>Attribute</th>
|
||||
* <th>Value</th>
|
||||
@ -311,15 +356,18 @@ public interface Document extends Node {
|
||||
* </tr>
|
||||
* </table>
|
||||
* @exception DOMException
|
||||
* INVALID_CHARACTER_ERR: Raised if the specified qualified name
|
||||
* contains an illegal character, per the XML 1.0 specification .
|
||||
* <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>, or if the
|
||||
* <code>qualifiedName</code> has a prefix that is "xml" and the
|
||||
* <code>namespaceURI</code> is different from "
|
||||
* http://www.w3.org/XML/1998/namespace" .
|
||||
* 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.
|
||||
@ -331,11 +379,15 @@ public interface Document extends Node {
|
||||
|
||||
/**
|
||||
* 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'>
|
||||
* <table border='1' cellpadding='3'>
|
||||
* <tr>
|
||||
* <th>
|
||||
* Attribute</th>
|
||||
@ -374,18 +426,17 @@ public interface Document extends Node {
|
||||
* </tr>
|
||||
* </table>
|
||||
* @exception DOMException
|
||||
* INVALID_CHARACTER_ERR: Raised if the specified qualified name
|
||||
* contains an illegal character, per the XML 1.0 specification .
|
||||
* <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 "
|
||||
* http://www.w3.org/XML/1998/namespace", or if the
|
||||
* <code>qualifiedName</code>, or its prefix, is "xmlns" and the
|
||||
* <code>namespaceURI</code> is different from "
|
||||
* http://www.w3.org/2000/xmlns/".
|
||||
* 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.
|
||||
@ -397,10 +448,9 @@ public interface Document extends Node {
|
||||
|
||||
/**
|
||||
* Returns a <code>NodeList</code> of all the <code>Elements</code> with a
|
||||
* given local name and namespace URI in the order in which they are
|
||||
* encountered in a preorder traversal of the <code>Document</code> tree.
|
||||
* 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.
|
||||
* 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
|
||||
@ -411,18 +461,354 @@ public interface Document extends Node {
|
||||
String localName);
|
||||
|
||||
/**
|
||||
* Returns the <code>Element</code> whose <code>ID</code> is given by
|
||||
* <code>elementId</code>. If no such element exists, returns
|
||||
* <code>null</code>. Behavior is not defined if more than one element
|
||||
* has this <code>ID</code>. The DOM implementation must have
|
||||
* information that says which attributes are of type ID. Attributes
|
||||
* with the name "ID" are not of type ID unless so defined.
|
||||
* Implementations that do not know whether attributes are of type ID or
|
||||
* not are expected to return <code>null</code>.
|
||||
* 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.
|
||||
* @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;
|
||||
|
||||
}
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -45,8 +45,9 @@ package org.w3c.dom;
|
||||
* 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>insertBefore</code> and <code>appendChild</code>.
|
||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* 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 {
|
||||
}
|
||||
|
||||
35
java/external/src/org/w3c/dom/DocumentType.java
vendored
35
java/external/src/org/w3c/dom/DocumentType.java
vendored
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -19,8 +19,9 @@ package org.w3c.dom;
|
||||
* 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>The DOM Level 2 doesn't support editing <code>DocumentType</code> nodes.
|
||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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 {
|
||||
/**
|
||||
@ -62,17 +63,19 @@ public interface DocumentType extends Node {
|
||||
public String getPublicId();
|
||||
|
||||
/**
|
||||
* The system identifier of the external subset.
|
||||
* 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.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.
|
||||
* 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();
|
||||
|
||||
275
java/external/src/org/w3c/dom/Element.java
vendored
275
java/external/src/org/w3c/dom/Element.java
vendored
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -24,22 +24,23 @@ package org.w3c.dom;
|
||||
* <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.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/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* 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. 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.
|
||||
* 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();
|
||||
|
||||
@ -68,8 +69,9 @@ public interface Element extends Node {
|
||||
* @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 contains an
|
||||
* illegal character.
|
||||
* 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,
|
||||
@ -77,10 +79,14 @@ public interface Element extends Node {
|
||||
throws DOMException;
|
||||
|
||||
/**
|
||||
* Removes an attribute by name. 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.
|
||||
* 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.
|
||||
@ -105,7 +111,8 @@ public interface Element extends Node {
|
||||
/**
|
||||
* 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.
|
||||
* 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.
|
||||
@ -125,10 +132,14 @@ public interface Element extends Node {
|
||||
throws DOMException;
|
||||
|
||||
/**
|
||||
* Removes the specified attribute node. If the removed <code>Attr</code>
|
||||
* has a default value it is immediately replaced. The replacing
|
||||
* attribute has the same namespace URI and local name, as well as the
|
||||
* original prefix, when applicable.
|
||||
* 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.
|
||||
@ -142,8 +153,7 @@ public interface Element extends Node {
|
||||
|
||||
/**
|
||||
* Returns a <code>NodeList</code> of all descendant <code>Elements</code>
|
||||
* with a given tag name, in the order in which they are encountered in
|
||||
* a preorder traversal of this <code>Element</code> tree.
|
||||
* 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.
|
||||
@ -152,18 +162,23 @@ public interface Element extends Node {
|
||||
|
||||
/**
|
||||
* Retrieves an attribute value by local name and namespace URI.
|
||||
* <br>Documents which do not support the "XML" feature will permit only
|
||||
* the DOM Level 1 calls for creating/setting elements and attributes.
|
||||
* Hence, if you specify a non-null namespace URI, these DOMs will never
|
||||
* find a matching node.
|
||||
* <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);
|
||||
String localName)
|
||||
throws DOMException;
|
||||
|
||||
/**
|
||||
* Adds a new attribute. If an attribute with the same local name and
|
||||
@ -180,28 +195,31 @@ public interface Element extends Node {
|
||||
* 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
|
||||
* contains an illegal character, per the XML 1.0 specification .
|
||||
* 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 "
|
||||
* http://www.w3.org/XML/1998/namespace", or if the
|
||||
* <code>qualifiedName</code>, or its prefix, is "xmlns" and the
|
||||
* <code>namespaceURI</code> is different from "
|
||||
* http://www.w3.org/2000/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.
|
||||
* <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,
|
||||
@ -210,18 +228,27 @@ public interface Element extends Node {
|
||||
throws DOMException;
|
||||
|
||||
/**
|
||||
* Removes an attribute by local name and namespace URI. If the removed
|
||||
* attribute has a default value it is immediately replaced. The
|
||||
* replacing attribute has the same namespace URI and local name, as
|
||||
* well as the original prefix.
|
||||
* <br>Documents which do not support the "XML" feature will permit only
|
||||
* the DOM Level 1 calls for creating/setting elements and attributes.
|
||||
* Hence, if you specify a non-null namespace URI, these DOMs will never
|
||||
* find a matching node.
|
||||
* 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,
|
||||
@ -230,24 +257,33 @@ public interface Element extends Node {
|
||||
|
||||
/**
|
||||
* Retrieves an <code>Attr</code> node by local name and namespace URI.
|
||||
* <br>Documents which do not support the "XML" feature will permit only
|
||||
* the DOM Level 1 calls for creating/setting elements and attributes.
|
||||
* Hence, if you specify a non-null namespace URI, these DOMs will never
|
||||
* find a matching node.
|
||||
* <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);
|
||||
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.
|
||||
* 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
|
||||
@ -261,9 +297,9 @@ public interface Element extends Node {
|
||||
* 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: Always thrown if the current document does not
|
||||
* support the <code>"XML"</code> feature, since namespaces were
|
||||
* defined by XML.
|
||||
* <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)
|
||||
@ -272,22 +308,22 @@ public interface Element extends Node {
|
||||
/**
|
||||
* Returns a <code>NodeList</code> of all the descendant
|
||||
* <code>Elements</code> with a given local name and namespace URI in
|
||||
* the order in which they are encountered in a preorder traversal of
|
||||
* this <code>Element</code> tree.
|
||||
* <br>Documents which do not support the "XML" feature will permit only
|
||||
* the DOM Level 1 calls for creating/setting elements and attributes.
|
||||
* Hence, if you specify a non-null namespace URI, these DOMs will never
|
||||
* find a matching node.
|
||||
* 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);
|
||||
String localName)
|
||||
throws DOMException;
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> when an attribute with a given name is
|
||||
@ -305,18 +341,99 @@ public interface Element extends Node {
|
||||
* 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>Documents which do not support the "XML" feature will permit only
|
||||
* the DOM Level 1 calls for creating/setting elements and attributes.
|
||||
* Hence, if you specify a non-null namespace URI, these DOMs will never
|
||||
* find a matching node.
|
||||
* <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);
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
88
java/external/src/org/w3c/dom/Entity.java
vendored
88
java/external/src/org/w3c/dom/Entity.java
vendored
@ -1,22 +1,20 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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 an entity, either parsed or unparsed, in an XML
|
||||
* document. Note that this models the entity itself not the entity
|
||||
* declaration. <code>Entity</code> declaration modeling has been left for a
|
||||
* later Level of the DOM specification.
|
||||
* 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
|
||||
@ -24,38 +22,37 @@ package org.w3c.dom;
|
||||
* <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
|
||||
* external 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 value of the entity may not be available. When
|
||||
* the replacement value is available, the corresponding <code>Entity</code>
|
||||
* node's child list represents the structure of that replacement text.
|
||||
* Otherwise, the child list is empty.
|
||||
* <p>The DOM Level 2 does not support editing <code>Entity</code> nodes; if a
|
||||
* 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.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. The DOM Level 2 does not support any mechanism to resolve
|
||||
* namespace prefixes.
|
||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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. If the
|
||||
* public identifier was not specified, this is <code>null</code>.
|
||||
* 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. If the
|
||||
* system identifier was not specified, this is <code>null</code>.
|
||||
* 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();
|
||||
|
||||
@ -65,4 +62,29 @@ public interface Entity extends Node {
|
||||
*/
|
||||
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();
|
||||
|
||||
}
|
||||
|
||||
@ -1,39 +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.
|
||||
* 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> objects may be inserted into the structure
|
||||
* model when an entity reference is in the source document, or when the
|
||||
* user wishes to insert an entity reference. 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
|
||||
* structure model, instead of providing <code>EntityReference</code>
|
||||
* objects. If it does provide such objects, then for a given
|
||||
* <code>EntityReference</code> node, it may be that there is no
|
||||
* <code>Entity</code> node representing the referenced entity. If such an
|
||||
* <code>Entity</code> exists, then the subtree of the
|
||||
* <code>EntityReference</code> node is in general a copy of the
|
||||
* <code>Entity</code> node subtree. However, this 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.
|
||||
* <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>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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 {
|
||||
}
|
||||
|
||||
68
java/external/src/org/w3c/dom/NameList.java
vendored
Normal file
68
java/external/src/org/w3c/dom/NameList.java
vendored
Normal file
@ -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);
|
||||
|
||||
}
|
||||
57
java/external/src/org/w3c/dom/NamedNodeMap.java
vendored
57
java/external/src/org/w3c/dom/NamedNodeMap.java
vendored
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -22,7 +22,7 @@ package org.w3c.dom;
|
||||
* 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/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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 {
|
||||
/**
|
||||
@ -37,7 +37,7 @@ public interface NamedNodeMap {
|
||||
/**
|
||||
* 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.
|
||||
* 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
|
||||
@ -100,25 +100,32 @@ public interface NamedNodeMap {
|
||||
|
||||
/**
|
||||
* Retrieves a node specified by local name and namespace URI.
|
||||
* <br>Documents which do not support the "XML" feature will permit only
|
||||
* the DOM Level 1 calls for creating/setting elements and attributes.
|
||||
* Hence, if you specify a non-null namespace URI, these DOMs will never
|
||||
* find a matching node.
|
||||
* <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);
|
||||
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.
|
||||
* 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.
|
||||
@ -138,9 +145,9 @@ public interface NamedNodeMap {
|
||||
* 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: Always thrown if the current document does not
|
||||
* support the <code>"XML"</code> feature, since namespaces were
|
||||
* defined by XML.
|
||||
* <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)
|
||||
@ -153,10 +160,9 @@ public interface NamedNodeMap {
|
||||
* 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>Documents which do not support the "XML" feature will permit only
|
||||
* the DOM Level 1 calls for creating/setting elements and attributes.
|
||||
* Hence, if you specify a non-null namespace URI, these DOMs will never
|
||||
* find a matching node.
|
||||
* <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
|
||||
@ -165,6 +171,9 @@ public interface NamedNodeMap {
|
||||
* 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,
|
||||
|
||||
638
java/external/src/org/w3c/dom/Node.java
vendored
638
java/external/src/org/w3c/dom/Node.java
vendored
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -32,7 +32,7 @@ package org.w3c.dom;
|
||||
* <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'>
|
||||
* <table border='1' cellpadding='3'>
|
||||
* <tr>
|
||||
* <th>Interface</th>
|
||||
* <th>nodeName</th>
|
||||
@ -40,87 +40,98 @@ package org.w3c.dom;
|
||||
* <th>attributes</th>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign='top' rowspan='1' colspan='1'>Attr</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>name of
|
||||
* attribute</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>value of attribute</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</td>
|
||||
* <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'>CDATASection</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'><code>"#cdata-section"</code></td>
|
||||
* <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'>null</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign='top' rowspan='1' colspan='1'>Comment</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'><code>"#comment"</code></td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>content of
|
||||
* the comment</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign='top' rowspan='1' colspan='1'>Document</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'><code>"#document"</code></td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign='top' rowspan='1' colspan='1'>DocumentFragment</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'><code>Comment</code></td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>
|
||||
* <code>"#document-fragment"</code></td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</td>
|
||||
* <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'>DocumentType</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>document type name</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'><code>Document</code></td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>
|
||||
* null</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</td>
|
||||
* <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'>Element</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>tag name</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>NamedNodeMap</td>
|
||||
* <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'>Entity</td>
|
||||
* <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'>null</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</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'>
|
||||
* EntityReference</td>
|
||||
* <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'>null</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign='top' rowspan='1' colspan='1'>Notation</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>notation name</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>
|
||||
* null</td>
|
||||
* <code>null</code></td>
|
||||
* <td valign='top' rowspan='1' colspan='1'><code>null</code></td>
|
||||
* </tr>
|
||||
* <tr>
|
||||
* <td valign='top' rowspan='1' colspan='1'>ProcessingInstruction</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>target</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>entire content excluding the target</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</td>
|
||||
* <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'>Text</td>
|
||||
* <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'>content of the text node</td>
|
||||
* <td valign='top' rowspan='1' colspan='1'>null</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/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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
|
||||
@ -180,28 +191,25 @@ public interface Node {
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @exception DOMException
|
||||
* NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
|
||||
* 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;
|
||||
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.
|
||||
* 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.
|
||||
* @exception DOMException
|
||||
* DOMSTRING_SIZE_ERR: Raised when it would return more characters than
|
||||
* fit in a <code>DOMString</code> variable on the implementation
|
||||
* platform.
|
||||
* 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;
|
||||
throws DOMException;
|
||||
|
||||
/**
|
||||
* A code representing the type of the underlying object, as defined above.
|
||||
@ -261,7 +269,7 @@ public interface Node {
|
||||
* 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>.
|
||||
* @since DOM Level 2
|
||||
* @version DOM Level 2
|
||||
*/
|
||||
public Document getOwnerDocument();
|
||||
|
||||
@ -273,6 +281,8 @@ public interface Node {
|
||||
* 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.
|
||||
@ -281,13 +291,20 @@ public interface Node {
|
||||
* 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.
|
||||
* 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)
|
||||
@ -301,6 +318,8 @@ public interface Node {
|
||||
* <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.
|
||||
@ -308,13 +327,21 @@ public interface Node {
|
||||
* 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.
|
||||
* 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)
|
||||
@ -329,6 +356,11 @@ public interface Node {
|
||||
* 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;
|
||||
@ -345,35 +377,52 @@ public interface Node {
|
||||
* 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.
|
||||
* 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 <code>true</code> if 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>.).
|
||||
* 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 text it
|
||||
* contains unless it is a deep clone, since the text is contained in a
|
||||
* child <code>Text</code> node. Cloning an <code>Attribute</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 any other type
|
||||
* of node simply returns a copy of this node.
|
||||
* 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
|
||||
@ -388,7 +437,7 @@ public interface Node {
|
||||
public Node cloneNode(boolean deep);
|
||||
|
||||
/**
|
||||
* Puts all <code>Text</code> nodes in the full depth of the sub-tree
|
||||
* 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)
|
||||
@ -396,25 +445,26 @@ public interface Node {
|
||||
* <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 lookups) that depend on a particular document tree
|
||||
* structure are to be used.In cases where the document contains
|
||||
* 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.
|
||||
* @since DOM Level 2
|
||||
* @version DOM Level 3
|
||||
*/
|
||||
public void normalize();
|
||||
|
||||
/**
|
||||
* Tests whether the DOM implementation implements a specific feature and
|
||||
* that feature is supported by this node.
|
||||
* @param feature The name of the feature to test. This is the same name
|
||||
* which can be passed to the method <code>hasFeature</code> on
|
||||
* <code>DOMImplementation</code>.
|
||||
* @param version This is the version number of the feature to test. In
|
||||
* Level 2, version 1, this is the string "2.0". If the version is not
|
||||
* specified, supporting any version of the feature will cause the
|
||||
* method to return <code>true</code>.
|
||||
* 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
|
||||
@ -424,29 +474,33 @@ public interface Node {
|
||||
|
||||
/**
|
||||
* The namespace URI of this node, or <code>null</code> if it is
|
||||
* unspecified.
|
||||
* 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>createElement</code> from the
|
||||
* <code>Document</code> interface, this is always <code>null</code>.Per
|
||||
* the Namespaces in XML Specification 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.
|
||||
* 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.
|
||||
* 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
|
||||
@ -455,30 +509,20 @@ public interface Node {
|
||||
* <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, per the XML 1.0 specification .
|
||||
* <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 "http://www.w3.org/XML/1998/namespace", if
|
||||
* this node is an attribute and the specified prefix is "xmlns" and
|
||||
* the <code>namespaceURI</code> of this node is different from "
|
||||
* http://www.w3.org/2000/xmlns/", or if this node is an attribute and
|
||||
* the <code>qualifiedName</code> of this node is "xmlns" .
|
||||
* @since DOM Level 2
|
||||
*/
|
||||
public String getPrefix();
|
||||
/**
|
||||
* The namespace prefix of this node, or <code>null</code> if it is
|
||||
* unspecified.
|
||||
* 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
|
||||
@ -489,17 +533,18 @@ public interface Node {
|
||||
* <code>Document</code> interface, this is always <code>null</code>.
|
||||
* @exception DOMException
|
||||
* INVALID_CHARACTER_ERR: Raised if the specified prefix contains an
|
||||
* illegal character, per the XML 1.0 specification .
|
||||
* 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 "http://www.w3.org/XML/1998/namespace", if
|
||||
* this node is an attribute and the specified prefix is "xmlns" and
|
||||
* the <code>namespaceURI</code> of this node is different from "
|
||||
* http://www.w3.org/2000/xmlns/", or if this node is an attribute and
|
||||
* the <code>qualifiedName</code> of this node is "xmlns" .
|
||||
* 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)
|
||||
@ -509,18 +554,347 @@ public interface Node {
|
||||
* 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>createElement</code> from the
|
||||
* <code>Document</code> interface, this is always <code>null</code>.
|
||||
* 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 <code>true</code> if this node 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);
|
||||
|
||||
}
|
||||
|
||||
20
java/external/src/org/w3c/dom/NodeList.java
vendored
20
java/external/src/org/w3c/dom/NodeList.java
vendored
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -18,7 +18,7 @@ package org.w3c.dom;
|
||||
* 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/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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 {
|
||||
/**
|
||||
|
||||
36
java/external/src/org/w3c/dom/Notation.java
vendored
36
java/external/src/org/w3c/dom/Notation.java
vendored
@ -1,28 +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.
|
||||
* 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 section 4.7 of
|
||||
* the XML 1.0 specification ), or is used for formal declaration of
|
||||
* processing instruction targets (see section 2.6 of the XML 1.0
|
||||
* specification ). The <code>nodeName</code> attribute inherited from
|
||||
* <code>Node</code> is set to the declared name of the notation.
|
||||
* <p>The DOM Level 1 does not support editing <code>Notation</code> nodes;
|
||||
* they are therefore readonly.
|
||||
* 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/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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 {
|
||||
/**
|
||||
@ -33,7 +32,8 @@ public interface Notation extends Node {
|
||||
|
||||
/**
|
||||
* The system identifier of this notation. If the system identifier was
|
||||
* not specified, this is <code>null</code>.
|
||||
* not specified, this is <code>null</code>. This may be an absolute URI
|
||||
* or not.
|
||||
*/
|
||||
public String getSystemId();
|
||||
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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;
|
||||
@ -16,7 +16,13 @@ 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>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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 {
|
||||
/**
|
||||
@ -30,8 +36,6 @@ public interface ProcessingInstruction extends Node {
|
||||
* 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 String getData();
|
||||
/**
|
||||
@ -42,6 +46,6 @@ public interface ProcessingInstruction extends Node {
|
||||
* NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
|
||||
*/
|
||||
public void setData(String data)
|
||||
throws DOMException;
|
||||
throws DOMException;
|
||||
|
||||
}
|
||||
|
||||
110
java/external/src/org/w3c/dom/Text.java
vendored
110
java/external/src/org/w3c/dom/Text.java
vendored
@ -1,36 +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.
|
||||
* 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 character data 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.
|
||||
* 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>normalize()</code> method on <code>Node</code> merges any such
|
||||
* adjacent <code>Text</code> objects into a single node for each block of
|
||||
* text.
|
||||
* <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
|
||||
* <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 {
|
||||
/**
|
||||
@ -53,4 +58,69 @@ public interface Text extends CharacterData {
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
185
java/external/src/org/w3c/dom/TypeInfo.java
vendored
Normal file
185
java/external/src/org/w3c/dom/TypeInfo.java
vendored
Normal file
@ -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);
|
||||
|
||||
}
|
||||
72
java/external/src/org/w3c/dom/UserDataHandler.java
vendored
Normal file
72
java/external/src/org/w3c/dom/UserDataHandler.java
vendored
Normal file
@ -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);
|
||||
|
||||
}
|
||||
387
java/external/src/org/w3c/dom/bootstrap/DOMImplementationRegistry.java
vendored
Normal file
387
java/external/src/org/w3c/dom/bootstrap/DOMImplementationRegistry.java
vendored
Normal file
@ -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.
|
||||
|
||||
}
|
||||
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;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -50,14 +50,14 @@ public interface MutationEvent extends Event {
|
||||
/**
|
||||
* <code>prevValue</code> indicates the previous value of the
|
||||
* <code>Attr</code> node in DOMAttrModified events, and of the
|
||||
* <code>CharacterData</code> node in DOMCharDataModified events.
|
||||
* <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 DOMCharDataModified events.
|
||||
* node in DOMCharacterDataModified events.
|
||||
*/
|
||||
public String getNewValue();
|
||||
|
||||
|
||||
122
java/external/src/org/w3c/dom/ls/DOMImplementationLS.java
vendored
Normal file
122
java/external/src/org/w3c/dom/ls/DOMImplementationLS.java
vendored
Normal file
@ -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();
|
||||
|
||||
}
|
||||
47
java/external/src/org/w3c/dom/ls/LSException.java
vendored
Normal file
47
java/external/src/org/w3c/dom/ls/LSException.java
vendored
Normal file
@ -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;
|
||||
|
||||
}
|
||||
218
java/external/src/org/w3c/dom/ls/LSInput.java
vendored
Normal file
218
java/external/src/org/w3c/dom/ls/LSInput.java
vendored
Normal file
@ -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);
|
||||
|
||||
}
|
||||
35
java/external/src/org/w3c/dom/ls/LSLoadEvent.java
vendored
Normal file
35
java/external/src/org/w3c/dom/ls/LSLoadEvent.java
vendored
Normal file
@ -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();
|
||||
|
||||
}
|
||||
106
java/external/src/org/w3c/dom/ls/LSOutput.java
vendored
Normal file
106
java/external/src/org/w3c/dom/ls/LSOutput.java
vendored
Normal file
@ -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);
|
||||
|
||||
}
|
||||
466
java/external/src/org/w3c/dom/ls/LSParser.java
vendored
Normal file
466
java/external/src/org/w3c/dom/ls/LSParser.java
vendored
Normal file
@ -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();
|
||||
|
||||
}
|
||||
172
java/external/src/org/w3c/dom/ls/LSParserFilter.java
vendored
Normal file
172
java/external/src/org/w3c/dom/ls/LSParserFilter.java
vendored
Normal file
@ -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();
|
||||
|
||||
}
|
||||
48
java/external/src/org/w3c/dom/ls/LSProgressEvent.java
vendored
Normal file
48
java/external/src/org/w3c/dom/ls/LSProgressEvent.java
vendored
Normal file
@ -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();
|
||||
|
||||
}
|
||||
81
java/external/src/org/w3c/dom/ls/LSResourceResolver.java
vendored
Normal file
81
java/external/src/org/w3c/dom/ls/LSResourceResolver.java
vendored
Normal file
@ -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);
|
||||
|
||||
}
|
||||
436
java/external/src/org/w3c/dom/ls/LSSerializer.java
vendored
Normal file
436
java/external/src/org/w3c/dom/ls/LSSerializer.java
vendored
Normal file
@ -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;
|
||||
|
||||
}
|
||||
63
java/external/src/org/w3c/dom/ls/LSSerializerFilter.java
vendored
Normal file
63
java/external/src/org/w3c/dom/ls/LSSerializerFilter.java
vendored
Normal file
@ -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();
|
||||
|
||||
}
|
||||
@ -41,7 +41,8 @@ public interface DocumentTraversal {
|
||||
* <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.
|
||||
* <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>.
|
||||
|
||||
@ -83,9 +83,6 @@ public interface TreeWalker {
|
||||
* <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 Node getCurrentNode();
|
||||
/**
|
||||
|
||||
@ -181,7 +181,7 @@ public interface AttributeList {
|
||||
* <p>If the attribute name has a namespace prefix in the document,
|
||||
* the application must include the prefix here.</p>
|
||||
*
|
||||
* @param i The index of the attribute in the list.
|
||||
* @param name the name of the attribute to return
|
||||
* @return The attribute value as a string, or null if
|
||||
* no such attribute exists.
|
||||
* @see #getValue(int)
|
||||
|
||||
45
java/external/src/org/xml/sax/Attributes.java
vendored
45
java/external/src/org/xml/sax/Attributes.java
vendored
@ -2,10 +2,8 @@
|
||||
// http://www.saxproject.org
|
||||
// Written by David Megginson
|
||||
// NO WARRANTY! This class is in the public domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
|
||||
package org.xml.sax;
|
||||
|
||||
|
||||
@ -34,18 +32,25 @@ package org.xml.sax;
|
||||
* the <code>http://xml.org/sax/features/namespace-prefixes</code>
|
||||
* feature is set to <var>true</var> (it is <var>false</var> by
|
||||
* default).
|
||||
* Because SAX2 conforms to the "Namespaces in XML" specification,
|
||||
* it does not give namespace declaration attributes a namespace URI.
|
||||
* Some other W3C specifications are in conflict with that, expecting
|
||||
* these declarations to be in a namespace.
|
||||
* Handler code may need to resolve that conflict.
|
||||
* Because SAX2 conforms to the original "Namespaces in XML"
|
||||
* recommendation, it normally does not
|
||||
* give namespace declaration attributes a namespace URI.
|
||||
* </p>
|
||||
*
|
||||
* <p>If the namespace-prefixes feature (see above) is <var>false</var>,
|
||||
* access by qualified name may not be available; if the
|
||||
* <code>http://xml.org/sax/features/namespaces</code>
|
||||
* feature is <var>false</var>, access by Namespace-qualified names
|
||||
* may not be available.</p>
|
||||
* <p>Some SAX2 parsers may support using an optional feature flag
|
||||
* (<code>http://xml.org/sax/features/xmlns-uris</code>) to request
|
||||
* that those attributes be given URIs, conforming to a later
|
||||
* backwards-incompatible revision of that recommendation. (The
|
||||
* attribute's "local name" will be the prefix, or "xmlns" when
|
||||
* defining a default element namespace.) For portability, handler
|
||||
* code should always resolve that conflict, rather than requiring
|
||||
* parsers that can change the setting of that feature flag. </p>
|
||||
*
|
||||
* <p>If the namespace-prefixes feature (see above) is
|
||||
* <var>false</var>, access by qualified name may not be available; if
|
||||
* the <code>http://xml.org/sax/features/namespaces</code> feature is
|
||||
* <var>false</var>, access by Namespace-qualified names may not be
|
||||
* available.</p>
|
||||
*
|
||||
* <p>This interface replaces the now-deprecated SAX1 {@link
|
||||
* org.xml.sax.AttributeList AttributeList} interface, which does not
|
||||
@ -111,10 +116,10 @@ public interface Attributes
|
||||
|
||||
|
||||
/**
|
||||
* Look up an attribute's XML 1.0 qualified name by index.
|
||||
* Look up an attribute's XML qualified (prefixed) name by index.
|
||||
*
|
||||
* @param index The attribute index (zero-based).
|
||||
* @return The XML 1.0 qualified name, or the empty string
|
||||
* @return The XML qualified name, or the empty string
|
||||
* if none is available, or null if the index
|
||||
* is out of range.
|
||||
* @see #getLength
|
||||
@ -131,7 +136,7 @@ public interface Attributes
|
||||
*
|
||||
* <p>If the parser has not read a declaration for the attribute,
|
||||
* or if the parser does not report attribute types, then it must
|
||||
* return the value "CDATA" as stated in the XML 1.0 Recommentation
|
||||
* return the value "CDATA" as stated in the XML 1.0 Recommendation
|
||||
* (clause 3.3.3, "Attribute-Value Normalization").</p>
|
||||
*
|
||||
* <p>For an enumerated attribute that is not a notation, the
|
||||
@ -180,7 +185,7 @@ public interface Attributes
|
||||
|
||||
|
||||
/**
|
||||
* Look up the index of an attribute by XML 1.0 qualified name.
|
||||
* Look up the index of an attribute by XML qualified (prefixed) name.
|
||||
*
|
||||
* @param qName The qualified (prefixed) name.
|
||||
* @return The index of the attribute, or -1 if it does not
|
||||
@ -206,12 +211,12 @@ public interface Attributes
|
||||
|
||||
|
||||
/**
|
||||
* Look up an attribute's type by XML 1.0 qualified name.
|
||||
* Look up an attribute's type by XML qualified (prefixed) name.
|
||||
*
|
||||
* <p>See {@link #getType(int) getType(int)} for a description
|
||||
* of the possible types.</p>
|
||||
*
|
||||
* @param qName The XML 1.0 qualified name.
|
||||
* @param qName The XML qualified name.
|
||||
* @return The attribute type as a string, or null if the
|
||||
* attribute is not in the list or if qualified names
|
||||
* are not available.
|
||||
@ -235,12 +240,12 @@ public interface Attributes
|
||||
|
||||
|
||||
/**
|
||||
* Look up an attribute's value by XML 1.0 qualified name.
|
||||
* Look up an attribute's value by XML qualified (prefixed) name.
|
||||
*
|
||||
* <p>See {@link #getValue(int) getValue(int)} for a description
|
||||
* of the possible values.</p>
|
||||
*
|
||||
* @param qName The XML 1.0 qualified name.
|
||||
* @param qName The XML qualified name.
|
||||
* @return The attribute value as a string, or null if the
|
||||
* attribute is not in the list or if qualified names
|
||||
* are not available.
|
||||
|
||||
133
java/external/src/org/xml/sax/ContentHandler.java
vendored
133
java/external/src/org/xml/sax/ContentHandler.java
vendored
@ -2,7 +2,6 @@
|
||||
// http://www.saxproject.org
|
||||
// Written by David Megginson
|
||||
// NO WARRANTY! This class is in the public domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax;
|
||||
@ -37,14 +36,13 @@ package org.xml.sax;
|
||||
* and for reporting skipped entities (in non-validating XML
|
||||
* processors).</p>
|
||||
*
|
||||
* <p>Implementors should note that there is also a Java class
|
||||
* {@link java.net.ContentHandler ContentHandler} in the java.net
|
||||
* <p>Implementors should note that there is also a
|
||||
* <code>ContentHandler</code> class in the <code>java.net</code>
|
||||
* package; that means that it's probably a bad idea to do</p>
|
||||
*
|
||||
* <blockquote>
|
||||
* import java.net.*;
|
||||
* <pre>import java.net.*;
|
||||
* import org.xml.sax.*;
|
||||
* </blockquote>
|
||||
* </pre>
|
||||
*
|
||||
* <p>In fact, "import ...*" is usually a sign of sloppy programming
|
||||
* anyway, so the user should consider this a feature rather than a
|
||||
@ -52,7 +50,7 @@ package org.xml.sax;
|
||||
*
|
||||
* @since SAX 2.0
|
||||
* @author David Megginson
|
||||
* @version 2.0.1 (sax2r2)
|
||||
* @version 2.0.1+ (sax2r3pre1)
|
||||
* @see org.xml.sax.XMLReader
|
||||
* @see org.xml.sax.DTDHandler
|
||||
* @see org.xml.sax.ErrorHandler
|
||||
@ -78,11 +76,13 @@ public interface ContentHandler
|
||||
* is probably not sufficient for use with a search engine.</p>
|
||||
*
|
||||
* <p>Note that the locator will return correct information only
|
||||
* during the invocation of the events in this interface. The
|
||||
* during the invocation SAX event callbacks after
|
||||
* {@link #startDocument startDocument} returns and before
|
||||
* {@link #endDocument endDocument} is called. The
|
||||
* application should not attempt to use it at any other time.</p>
|
||||
*
|
||||
* @param locator An object that can return the location of
|
||||
* any SAX document event.
|
||||
* @param locator an object that can return the location of
|
||||
* any SAX document event
|
||||
* @see org.xml.sax.Locator
|
||||
*/
|
||||
public void setDocumentLocator (Locator locator);
|
||||
@ -95,8 +95,8 @@ public interface ContentHandler
|
||||
* other event callbacks (except for {@link #setDocumentLocator
|
||||
* setDocumentLocator}).</p>
|
||||
*
|
||||
* @exception org.xml.sax.SAXException Any SAX exception, possibly
|
||||
* wrapping another exception.
|
||||
* @throws org.xml.sax.SAXException any SAX exception, possibly
|
||||
* wrapping another exception
|
||||
* @see #endDocument
|
||||
*/
|
||||
public void startDocument ()
|
||||
@ -106,14 +106,22 @@ public interface ContentHandler
|
||||
/**
|
||||
* Receive notification of the end of a document.
|
||||
*
|
||||
* <p><strong>There is an apparent contradiction between the
|
||||
* documentation for this method and the documentation for {@link
|
||||
* org.xml.sax.ErrorHandler#fatalError}. Until this ambiguity is
|
||||
* resolved in a future major release, clients should make no
|
||||
* assumptions about whether endDocument() will or will not be
|
||||
* invoked when the parser has reported a fatalError() or thrown
|
||||
* an exception.</strong></p>
|
||||
*
|
||||
* <p>The SAX parser will invoke this method only once, and it will
|
||||
* be the last method invoked during the parse. The parser shall
|
||||
* not invoke this method until it has either abandoned parsing
|
||||
* (because of an unrecoverable error) or reached the end of
|
||||
* input.</p>
|
||||
*
|
||||
* @exception org.xml.sax.SAXException Any SAX exception, possibly
|
||||
* wrapping another exception.
|
||||
* @throws org.xml.sax.SAXException any SAX exception, possibly
|
||||
* wrapping another exception
|
||||
* @see #startDocument
|
||||
*/
|
||||
public void endDocument()
|
||||
@ -149,12 +157,12 @@ public interface ContentHandler
|
||||
* <p>There should never be start/endPrefixMapping events for the
|
||||
* "xml" prefix, since it is predeclared and immutable.</p>
|
||||
*
|
||||
* @param prefix The Namespace prefix being declared.
|
||||
* @param prefix the Namespace prefix being declared.
|
||||
* An empty string is used for the default element namespace,
|
||||
* which has no prefix.
|
||||
* @param uri The Namespace URI the prefix is mapped to.
|
||||
* @exception org.xml.sax.SAXException The client may throw
|
||||
* an exception during processing.
|
||||
* @param uri the Namespace URI the prefix is mapped to
|
||||
* @throws org.xml.sax.SAXException the client may throw
|
||||
* an exception during processing
|
||||
* @see #endPrefixMapping
|
||||
* @see #startElement
|
||||
*/
|
||||
@ -171,10 +179,10 @@ public interface ContentHandler
|
||||
* {@link #endPrefixMapping endPrefixMapping} events is not otherwise
|
||||
* guaranteed.</p>
|
||||
*
|
||||
* @param prefix The prefix that was being mapping.
|
||||
* @param prefix the prefix that was being mapped.
|
||||
* This is the empty string when a default mapping scope ends.
|
||||
* @exception org.xml.sax.SAXException The client may throw
|
||||
* an exception during processing.
|
||||
* @throws org.xml.sax.SAXException the client may throw
|
||||
* an exception during processing
|
||||
* @see #startPrefixMapping
|
||||
* @see #endElement
|
||||
*/
|
||||
@ -228,21 +236,23 @@ public interface ContentHandler
|
||||
* <p>Like {@link #characters characters()}, attribute values may have
|
||||
* characters that need more than one <code>char</code> value. </p>
|
||||
*
|
||||
* @param uri The Namespace URI, or the empty string if the
|
||||
* @param uri the Namespace URI, or the empty string if the
|
||||
* element has no Namespace URI or if Namespace
|
||||
* processing is not being performed.
|
||||
* @param localName The local name (without prefix), or the
|
||||
* processing is not being performed
|
||||
* @param localName the local name (without prefix), or the
|
||||
* empty string if Namespace processing is not being
|
||||
* performed.
|
||||
* @param qName The qualified name (with prefix), or the
|
||||
* empty string if qualified names are not available.
|
||||
* @param atts The attributes attached to the element. If
|
||||
* performed
|
||||
* @param qName the qualified name (with prefix), or the
|
||||
* empty string if qualified names are not available
|
||||
* @param atts the attributes attached to the element. If
|
||||
* there are no attributes, it shall be an empty
|
||||
* Attributes object.
|
||||
* @exception org.xml.sax.SAXException Any SAX exception, possibly
|
||||
* wrapping another exception.
|
||||
* Attributes object. The value of this object after
|
||||
* startElement returns is undefined
|
||||
* @throws org.xml.sax.SAXException any SAX exception, possibly
|
||||
* wrapping another exception
|
||||
* @see #endElement
|
||||
* @see org.xml.sax.Attributes
|
||||
* @see org.xml.sax.helpers.AttributesImpl
|
||||
*/
|
||||
public void startElement (String uri, String localName,
|
||||
String qName, Attributes atts)
|
||||
@ -259,16 +269,16 @@ public interface ContentHandler
|
||||
*
|
||||
* <p>For information on the names, see startElement.</p>
|
||||
*
|
||||
* @param uri The Namespace URI, or the empty string if the
|
||||
* @param uri the Namespace URI, or the empty string if the
|
||||
* element has no Namespace URI or if Namespace
|
||||
* processing is not being performed.
|
||||
* @param localName The local name (without prefix), or the
|
||||
* processing is not being performed
|
||||
* @param localName the local name (without prefix), or the
|
||||
* empty string if Namespace processing is not being
|
||||
* performed.
|
||||
* @param qName The qualified XML 1.0 name (with prefix), or the
|
||||
* empty string if qualified names are not available.
|
||||
* @exception org.xml.sax.SAXException Any SAX exception, possibly
|
||||
* wrapping another exception.
|
||||
* performed
|
||||
* @param qName the qualified XML name (with prefix), or the
|
||||
* empty string if qualified names are not available
|
||||
* @throws org.xml.sax.SAXException any SAX exception, possibly
|
||||
* wrapping another exception
|
||||
*/
|
||||
public void endElement (String uri, String localName,
|
||||
String qName)
|
||||
@ -310,11 +320,11 @@ public interface ContentHandler
|
||||
* method rather than this one (validating parsers <em>must</em>
|
||||
* do so).</p>
|
||||
*
|
||||
* @param ch The characters from the XML document.
|
||||
* @param start The start position in the array.
|
||||
* @param length The number of characters to read from the array.
|
||||
* @exception org.xml.sax.SAXException Any SAX exception, possibly
|
||||
* wrapping another exception.
|
||||
* @param ch the characters from the XML document
|
||||
* @param start the start position in the array
|
||||
* @param length the number of characters to read from the array
|
||||
* @throws org.xml.sax.SAXException any SAX exception, possibly
|
||||
* wrapping another exception
|
||||
* @see #ignorableWhitespace
|
||||
* @see org.xml.sax.Locator
|
||||
*/
|
||||
@ -326,9 +336,10 @@ public interface ContentHandler
|
||||
* Receive notification of ignorable whitespace in element content.
|
||||
*
|
||||
* <p>Validating Parsers must use this method to report each chunk
|
||||
* of whitespace in element content (see the W3C XML 1.0 recommendation,
|
||||
* section 2.10): non-validating parsers may also use this method
|
||||
* if they are capable of parsing and using content models.</p>
|
||||
* of whitespace in element content (see the W3C XML 1.0
|
||||
* recommendation, section 2.10): non-validating parsers may also
|
||||
* use this method if they are capable of parsing and using
|
||||
* content models.</p>
|
||||
*
|
||||
* <p>SAX parsers may return all contiguous whitespace in a single
|
||||
* chunk, or they may split it into several chunks; however, all of
|
||||
@ -339,11 +350,11 @@ public interface ContentHandler
|
||||
* <p>The application must not attempt to read from the array
|
||||
* outside of the specified range.</p>
|
||||
*
|
||||
* @param ch The characters from the XML document.
|
||||
* @param start The start position in the array.
|
||||
* @param length The number of characters to read from the array.
|
||||
* @exception org.xml.sax.SAXException Any SAX exception, possibly
|
||||
* wrapping another exception.
|
||||
* @param ch the characters from the XML document
|
||||
* @param start the start position in the array
|
||||
* @param length the number of characters to read from the array
|
||||
* @throws org.xml.sax.SAXException any SAX exception, possibly
|
||||
* wrapping another exception
|
||||
* @see #characters
|
||||
*/
|
||||
public void ignorableWhitespace (char ch[], int start, int length)
|
||||
@ -365,12 +376,12 @@ public interface ContentHandler
|
||||
* data may have characters that need more than one <code>char</code>
|
||||
* value. </p>
|
||||
*
|
||||
* @param target The processing instruction target.
|
||||
* @param data The processing instruction data, or null if
|
||||
* @param target the processing instruction target
|
||||
* @param data the processing instruction data, or null if
|
||||
* none was supplied. The data does not include any
|
||||
* whitespace separating it from the target.
|
||||
* @exception org.xml.sax.SAXException Any SAX exception, possibly
|
||||
* wrapping another exception.
|
||||
* whitespace separating it from the target
|
||||
* @throws org.xml.sax.SAXException any SAX exception, possibly
|
||||
* wrapping another exception
|
||||
*/
|
||||
public void processingInstruction (String target, String data)
|
||||
throws SAXException;
|
||||
@ -394,12 +405,12 @@ public interface ContentHandler
|
||||
* <code>http://xml.org/sax/features/external-parameter-entities</code>
|
||||
* properties.</p>
|
||||
*
|
||||
* @param name The name of the skipped entity. If it is a
|
||||
* @param name the name of the skipped entity. If it is a
|
||||
* parameter entity, the name will begin with '%', and if
|
||||
* it is the external DTD subset, it will be the string
|
||||
* "[dtd]".
|
||||
* @exception org.xml.sax.SAXException Any SAX exception, possibly
|
||||
* wrapping another exception.
|
||||
* "[dtd]"
|
||||
* @throws org.xml.sax.SAXException any SAX exception, possibly
|
||||
* wrapping another exception
|
||||
*/
|
||||
public void skippedEntity (String name)
|
||||
throws SAXException;
|
||||
|
||||
46
java/external/src/org/xml/sax/ErrorHandler.java
vendored
46
java/external/src/org/xml/sax/ErrorHandler.java
vendored
@ -24,20 +24,25 @@ package org.xml.sax;
|
||||
* through this interface.</p>
|
||||
*
|
||||
* <p><strong>WARNING:</strong> If an application does <em>not</em>
|
||||
* register an ErrorHandler, XML parsing errors will go unreported
|
||||
* and bizarre behaviour may result.</p>
|
||||
* register an ErrorHandler, XML parsing errors will go unreported,
|
||||
* except that <em>SAXParseException</em>s will be thrown for fatal errors.
|
||||
* In order to detect validity errors, an ErrorHandler that does something
|
||||
* with {@link #error error()} calls must be registered.</p>
|
||||
*
|
||||
* <p>For XML processing errors, a SAX driver must use this interface
|
||||
* instead of throwing an exception: it is up to the application
|
||||
* in preference to throwing an exception: it is up to the application
|
||||
* to decide whether to throw an exception for different types of
|
||||
* errors and warnings. Note, however, that there is no requirement that
|
||||
* the parser continue to provide useful information after a call to
|
||||
* {@link #fatalError fatalError} (in other words, a SAX driver class
|
||||
* could catch an exception and report a fatalError).</p>
|
||||
* the parser continue to report additional errors after a call to
|
||||
* {@link #fatalError fatalError}. In other words, a SAX driver class
|
||||
* may throw an exception after reporting any fatalError.
|
||||
* Also parsers may throw appropriate exceptions for non-XML errors.
|
||||
* For example, {@link XMLReader#parse XMLReader.parse()} would throw
|
||||
* an IOException for errors accessing entities or the document.</p>
|
||||
*
|
||||
* @since SAX 1.0
|
||||
* @author David Megginson
|
||||
* @version 2.0.1 (sax2r2)
|
||||
* @version 2.0.1+ (sax2r3pre1)
|
||||
* @see org.xml.sax.XMLReader#setErrorHandler
|
||||
* @see org.xml.sax.SAXParseException
|
||||
*/
|
||||
@ -48,8 +53,9 @@ public interface ErrorHandler {
|
||||
* Receive notification of a warning.
|
||||
*
|
||||
* <p>SAX parsers will use this method to report conditions that
|
||||
* are not errors or fatal errors as defined by the XML 1.0
|
||||
* recommendation. The default behaviour is to take no action.</p>
|
||||
* are not errors or fatal errors as defined by the XML
|
||||
* recommendation. The default behaviour is to take no
|
||||
* action.</p>
|
||||
*
|
||||
* <p>The SAX parser must continue to provide normal parsing events
|
||||
* after invoking this method: it should still be possible for the
|
||||
@ -77,12 +83,12 @@ public interface ErrorHandler {
|
||||
* validity constraint. The default behaviour is to take no
|
||||
* action.</p>
|
||||
*
|
||||
* <p>The SAX parser must continue to provide normal parsing events
|
||||
* after invoking this method: it should still be possible for the
|
||||
* application to process the document through to the end. If the
|
||||
* application cannot do so, then the parser should report a fatal
|
||||
* error even if the XML 1.0 recommendation does not require it to
|
||||
* do so.</p>
|
||||
* <p>The SAX parser must continue to provide normal parsing
|
||||
* events after invoking this method: it should still be possible
|
||||
* for the application to process the document through to the end.
|
||||
* If the application cannot do so, then the parser should report
|
||||
* a fatal error even if the XML recommendation does not require
|
||||
* it to do so.</p>
|
||||
*
|
||||
* <p>Filters may use this method to report other, non-XML errors
|
||||
* as well.</p>
|
||||
@ -100,6 +106,14 @@ public interface ErrorHandler {
|
||||
/**
|
||||
* Receive notification of a non-recoverable error.
|
||||
*
|
||||
* <p><strong>There is an apparent contradiction between the
|
||||
* documentation for this method and the documentation for {@link
|
||||
* org.xml.sax.ContentHandler#endDocument}. Until this ambiguity
|
||||
* is resolved in a future major release, clients should make no
|
||||
* assumptions about whether endDocument() will or will not be
|
||||
* invoked when the parser has reported a fatalError() or thrown
|
||||
* an exception.</strong></p>
|
||||
*
|
||||
* <p>This corresponds to the definition of "fatal error" in
|
||||
* section 1.2 of the W3C XML 1.0 Recommendation. For example, a
|
||||
* parser would use this callback to report the violation of a
|
||||
@ -107,7 +121,7 @@ public interface ErrorHandler {
|
||||
*
|
||||
* <p>The application must assume that the document is unusable
|
||||
* after the parser has invoked this method, and should continue
|
||||
* (if at all) only for the sake of collecting addition error
|
||||
* (if at all) only for the sake of collecting additional error
|
||||
* messages: in fact, SAX parsers are free to stop reporting any
|
||||
* other events once this method has been invoked.</p>
|
||||
*
|
||||
|
||||
@ -213,8 +213,7 @@ public class HandlerBase
|
||||
* each element (such as finalising a tree node or writing
|
||||
* output to a file).</p>
|
||||
*
|
||||
* @param name The element type name.
|
||||
* @param attributes The specified or defaulted attributes.
|
||||
* @param name the element name
|
||||
* @exception org.xml.sax.SAXException Any SAX exception, possibly
|
||||
* wrapping another exception.
|
||||
* @see org.xml.sax.DocumentHandler#endElement
|
||||
|
||||
@ -148,6 +148,8 @@ public class SAXException extends Exception {
|
||||
*/
|
||||
private Exception exception;
|
||||
|
||||
// Added serialVersionUID to preserve binary compatibility
|
||||
static final long serialVersionUID = 583241635256073760L;
|
||||
}
|
||||
|
||||
// end of SAXException.java
|
||||
|
||||
@ -2,10 +2,8 @@
|
||||
// http://www.saxproject.org
|
||||
// Written by David Megginson
|
||||
// NO WARRANTY! This class is in the Public Domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
|
||||
package org.xml.sax;
|
||||
|
||||
|
||||
@ -50,6 +48,8 @@ public class SAXNotRecognizedException extends SAXException
|
||||
super(message);
|
||||
}
|
||||
|
||||
// Added serialVersionUID to preserve binary compatibility
|
||||
static final long serialVersionUID = 5440506620509557213L;
|
||||
}
|
||||
|
||||
// end of SAXNotRecognizedException.java
|
||||
|
||||
@ -2,10 +2,8 @@
|
||||
// http://www.saxproject.org
|
||||
// Written by David Megginson
|
||||
// NO WARRANTY! This class is in the Public Domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
|
||||
package org.xml.sax;
|
||||
|
||||
/**
|
||||
@ -50,6 +48,8 @@ public class SAXNotSupportedException extends SAXException
|
||||
super(message);
|
||||
}
|
||||
|
||||
// Added serialVersionUID to preserve binary compatibility
|
||||
static final long serialVersionUID = -1422818934641823846L;
|
||||
}
|
||||
|
||||
// end of SAXNotSupportedException.java
|
||||
|
||||
@ -104,9 +104,9 @@ public class SAXParseException extends SAXException {
|
||||
*
|
||||
*
|
||||
* @param message The error or warning message.
|
||||
* @param publicId The public identifer of the entity that generated
|
||||
* @param publicId The public identifier of the entity that generated
|
||||
* the error or warning.
|
||||
* @param systemId The system identifer of the entity that generated
|
||||
* @param systemId The system identifier of the entity that generated
|
||||
* the error or warning.
|
||||
* @param lineNumber The line number of the end of the text that
|
||||
* caused the error or warning.
|
||||
@ -135,9 +135,9 @@ public class SAXParseException extends SAXException {
|
||||
*
|
||||
* @param message The error or warning message, or null to use
|
||||
* the message from the embedded exception.
|
||||
* @param publicId The public identifer of the entity that generated
|
||||
* @param publicId The public identifier of the entity that generated
|
||||
* the error or warning.
|
||||
* @param systemId The system identifer of the entity that generated
|
||||
* @param systemId The system identifier of the entity that generated
|
||||
* the error or warning.
|
||||
* @param lineNumber The line number of the end of the text that
|
||||
* caused the error or warning.
|
||||
@ -231,7 +231,6 @@ public class SAXParseException extends SAXException {
|
||||
return this.columnNumber;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Internal state.
|
||||
@ -265,6 +264,8 @@ public class SAXParseException extends SAXException {
|
||||
*/
|
||||
private int columnNumber;
|
||||
|
||||
// Added serialVersionUID to preserve binary compatibility
|
||||
static final long serialVersionUID = -5651165872476709336L;
|
||||
}
|
||||
|
||||
// end of SAXParseException.java
|
||||
|
||||
2
java/external/src/org/xml/sax/XMLFilter.java
vendored
2
java/external/src/org/xml/sax/XMLFilter.java
vendored
@ -2,10 +2,8 @@
|
||||
// http://www.saxproject.org
|
||||
// Written by David Megginson
|
||||
// NO WARRANTY! This class is in the Public Domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
|
||||
package org.xml.sax;
|
||||
|
||||
|
||||
|
||||
14
java/external/src/org/xml/sax/XMLReader.java
vendored
14
java/external/src/org/xml/sax/XMLReader.java
vendored
@ -2,7 +2,6 @@
|
||||
// http://www.saxproject.org
|
||||
// Written by David Megginson
|
||||
// NO WARRANTY! This class is in the Public Domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax;
|
||||
@ -53,7 +52,7 @@ import java.io.IOException;
|
||||
*
|
||||
* @since SAX 2.0
|
||||
* @author David Megginson
|
||||
* @version 2.0.1 (sax2r2)
|
||||
* @version 2.0.1+ (sax2r3pre1)
|
||||
* @see org.xml.sax.XMLFilter
|
||||
* @see org.xml.sax.helpers.ParserAdapter
|
||||
* @see org.xml.sax.helpers.XMLReaderAdapter
|
||||
@ -342,7 +341,14 @@ public interface XMLReader
|
||||
* progress (they should create a new XMLReader instead for each
|
||||
* nested XML document). Once a parse is complete, an
|
||||
* application may reuse the same XMLReader object, possibly with a
|
||||
* different input source.</p>
|
||||
* different input source.
|
||||
* Configuration of the XMLReader object (such as handler bindings and
|
||||
* values established for feature flags and properties) is unchanged
|
||||
* by completion of a parse, unless the definition of that aspect of
|
||||
* the configuration explicitly specifies other behavior.
|
||||
* (For example, feature flags or properties exposing
|
||||
* characteristics of the document being parsed.)
|
||||
* </p>
|
||||
*
|
||||
* <p>During the parse, the XMLReader will provide information
|
||||
* about the XML document through the registered event
|
||||
@ -352,7 +358,7 @@ public interface XMLReader
|
||||
* has ended. If a client application wants to terminate
|
||||
* parsing early, it should throw an exception.</p>
|
||||
*
|
||||
* @param source The input source for the top-level of the
|
||||
* @param input The input source for the top-level of the
|
||||
* XML document.
|
||||
* @exception org.xml.sax.SAXException Any SAX exception, possibly
|
||||
* wrapping another exception.
|
||||
|
||||
132
java/external/src/org/xml/sax/ext/Attributes2.java
vendored
Normal file
132
java/external/src/org/xml/sax/ext/Attributes2.java
vendored
Normal file
@ -0,0 +1,132 @@
|
||||
// Attributes2.java - extended Attributes
|
||||
// http://www.saxproject.org
|
||||
// Public Domain: no warranty.
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.ext;
|
||||
|
||||
import org.xml.sax.Attributes;
|
||||
|
||||
|
||||
/**
|
||||
* SAX2 extension to augment the per-attribute information
|
||||
* provided though {@link Attributes}.
|
||||
* If an implementation supports this extension, the attributes
|
||||
* provided in {@link org.xml.sax.ContentHandler#startElement
|
||||
* ContentHandler.startElement() } will implement this interface,
|
||||
* and the <em>http://xml.org/sax/features/use-attributes2</em>
|
||||
* feature flag will have the value <em>true</em>.
|
||||
*
|
||||
* <blockquote>
|
||||
* <em>This module, both source code and documentation, is in the
|
||||
* Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
|
||||
* </blockquote>
|
||||
*
|
||||
* <p> XMLReader implementations are not required to support this
|
||||
* information, and it is not part of core-only SAX2 distributions.</p>
|
||||
*
|
||||
* <p>Note that if an attribute was defaulted (<em>!isSpecified()</em>)
|
||||
* it will of necessity also have been declared (<em>isDeclared()</em>)
|
||||
* in the DTD.
|
||||
* Similarly if an attribute's type is anything except CDATA, then it
|
||||
* must have been declared.
|
||||
* </p>
|
||||
*
|
||||
* @since SAX 2.0 (extensions 1.1 alpha)
|
||||
* @author David Brownell
|
||||
* @version TBS
|
||||
*/
|
||||
public interface Attributes2 extends Attributes
|
||||
{
|
||||
/**
|
||||
* Returns false unless the attribute was declared in the DTD.
|
||||
* This helps distinguish two kinds of attributes that SAX reports
|
||||
* as CDATA: ones that were declared (and hence are usually valid),
|
||||
* and those that were not (and which are never valid).
|
||||
*
|
||||
* @param index The attribute index (zero-based).
|
||||
* @return true if the attribute was declared in the DTD,
|
||||
* false otherwise.
|
||||
* @exception java.lang.ArrayIndexOutOfBoundsException When the
|
||||
* supplied index does not identify an attribute.
|
||||
*/
|
||||
public boolean isDeclared (int index);
|
||||
|
||||
/**
|
||||
* Returns false unless the attribute was declared in the DTD.
|
||||
* This helps distinguish two kinds of attributes that SAX reports
|
||||
* as CDATA: ones that were declared (and hence are usually valid),
|
||||
* and those that were not (and which are never valid).
|
||||
*
|
||||
* @param qName The XML qualified (prefixed) name.
|
||||
* @return true if the attribute was declared in the DTD,
|
||||
* false otherwise.
|
||||
* @exception java.lang.IllegalArgumentException When the
|
||||
* supplied name does not identify an attribute.
|
||||
*/
|
||||
public boolean isDeclared (String qName);
|
||||
|
||||
/**
|
||||
* Returns false unless the attribute was declared in the DTD.
|
||||
* This helps distinguish two kinds of attributes that SAX reports
|
||||
* as CDATA: ones that were declared (and hence are usually valid),
|
||||
* and those that were not (and which are never valid).
|
||||
*
|
||||
* <p>Remember that since DTDs do not "understand" namespaces, the
|
||||
* namespace URI associated with an attribute may not have come from
|
||||
* the DTD. The declaration will have applied to the attribute's
|
||||
* <em>qName</em>.
|
||||
*
|
||||
* @param uri The Namespace URI, or the empty string if
|
||||
* the name has no Namespace URI.
|
||||
* @param localName The attribute's local name.
|
||||
* @return true if the attribute was declared in the DTD,
|
||||
* false otherwise.
|
||||
* @exception java.lang.IllegalArgumentException When the
|
||||
* supplied names do not identify an attribute.
|
||||
*/
|
||||
public boolean isDeclared (String uri, String localName);
|
||||
|
||||
/**
|
||||
* Returns true unless the attribute value was provided
|
||||
* by DTD defaulting.
|
||||
*
|
||||
* @param index The attribute index (zero-based).
|
||||
* @return true if the value was found in the XML text,
|
||||
* false if the value was provided by DTD defaulting.
|
||||
* @exception java.lang.ArrayIndexOutOfBoundsException When the
|
||||
* supplied index does not identify an attribute.
|
||||
*/
|
||||
public boolean isSpecified (int index);
|
||||
|
||||
/**
|
||||
* Returns true unless the attribute value was provided
|
||||
* by DTD defaulting.
|
||||
*
|
||||
* <p>Remember that since DTDs do not "understand" namespaces, the
|
||||
* namespace URI associated with an attribute may not have come from
|
||||
* the DTD. The declaration will have applied to the attribute's
|
||||
* <em>qName</em>.
|
||||
*
|
||||
* @param uri The Namespace URI, or the empty string if
|
||||
* the name has no Namespace URI.
|
||||
* @param localName The attribute's local name.
|
||||
* @return true if the value was found in the XML text,
|
||||
* false if the value was provided by DTD defaulting.
|
||||
* @exception java.lang.IllegalArgumentException When the
|
||||
* supplied names do not identify an attribute.
|
||||
*/
|
||||
public boolean isSpecified (String uri, String localName);
|
||||
|
||||
/**
|
||||
* Returns true unless the attribute value was provided
|
||||
* by DTD defaulting.
|
||||
*
|
||||
* @param qName The XML qualified (prefixed) name.
|
||||
* @return true if the value was found in the XML text,
|
||||
* false if the value was provided by DTD defaulting.
|
||||
* @exception java.lang.IllegalArgumentException When the
|
||||
* supplied name does not identify an attribute.
|
||||
*/
|
||||
public boolean isSpecified (String qName);
|
||||
}
|
||||
301
java/external/src/org/xml/sax/ext/Attributes2Impl.java
vendored
Normal file
301
java/external/src/org/xml/sax/ext/Attributes2Impl.java
vendored
Normal file
@ -0,0 +1,301 @@
|
||||
// Attributes2Impl.java - extended AttributesImpl
|
||||
// http://www.saxproject.org
|
||||
// Public Domain: no warranty.
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.ext;
|
||||
|
||||
import org.xml.sax.Attributes;
|
||||
import org.xml.sax.helpers.AttributesImpl;
|
||||
|
||||
|
||||
/**
|
||||
* SAX2 extension helper for additional Attributes information,
|
||||
* implementing the {@link Attributes2} interface.
|
||||
*
|
||||
* <blockquote>
|
||||
* <em>This module, both source code and documentation, is in the
|
||||
* Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
|
||||
* </blockquote>
|
||||
*
|
||||
* <p>This is not part of core-only SAX2 distributions.</p>
|
||||
*
|
||||
* <p>The <em>specified</em> flag for each attribute will always
|
||||
* be true, unless it has been set to false in the copy constructor
|
||||
* or using {@link #setSpecified}.
|
||||
* Similarly, the <em>declared</em> flag for each attribute will
|
||||
* always be false, except for defaulted attributes (<em>specified</em>
|
||||
* is false), non-CDATA attributes, or when it is set to true using
|
||||
* {@link #setDeclared}.
|
||||
* If you change an attribute's type by hand, you may need to modify
|
||||
* its <em>declared</em> flag to match.
|
||||
* </p>
|
||||
*
|
||||
* @since SAX 2.0 (extensions 1.1 alpha)
|
||||
* @author David Brownell
|
||||
* @version TBS
|
||||
*/
|
||||
public class Attributes2Impl extends AttributesImpl implements Attributes2
|
||||
{
|
||||
private boolean declared [];
|
||||
private boolean specified [];
|
||||
|
||||
|
||||
/**
|
||||
* Construct a new, empty Attributes2Impl object.
|
||||
*/
|
||||
public Attributes2Impl () { }
|
||||
|
||||
|
||||
/**
|
||||
* Copy an existing Attributes or Attributes2 object.
|
||||
* If the object implements Attributes2, values of the
|
||||
* <em>specified</em> and <em>declared</em> flags for each
|
||||
* attribute are copied.
|
||||
* Otherwise the flag values are defaulted to assume no DTD was used,
|
||||
* unless there is evidence to the contrary (such as attributes with
|
||||
* type other than CDATA, which must have been <em>declared</em>).
|
||||
*
|
||||
* <p>This constructor is especially useful inside a
|
||||
* {@link org.xml.sax.ContentHandler#startElement startElement} event.</p>
|
||||
*
|
||||
* @param atts The existing Attributes object.
|
||||
*/
|
||||
public Attributes2Impl (Attributes atts)
|
||||
{
|
||||
super (atts);
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Implementation of Attributes2
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/**
|
||||
* Returns the current value of the attribute's "declared" flag.
|
||||
*/
|
||||
// javadoc mostly from interface
|
||||
public boolean isDeclared (int index)
|
||||
{
|
||||
if (index < 0 || index >= getLength ())
|
||||
throw new ArrayIndexOutOfBoundsException (
|
||||
"No attribute at index: " + index);
|
||||
return declared [index];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the current value of the attribute's "declared" flag.
|
||||
*/
|
||||
// javadoc mostly from interface
|
||||
public boolean isDeclared (String uri, String localName)
|
||||
{
|
||||
int index = getIndex (uri, localName);
|
||||
|
||||
if (index < 0)
|
||||
throw new IllegalArgumentException (
|
||||
"No such attribute: local=" + localName
|
||||
+ ", namespace=" + uri);
|
||||
return declared [index];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the current value of the attribute's "declared" flag.
|
||||
*/
|
||||
// javadoc mostly from interface
|
||||
public boolean isDeclared (String qName)
|
||||
{
|
||||
int index = getIndex (qName);
|
||||
|
||||
if (index < 0)
|
||||
throw new IllegalArgumentException (
|
||||
"No such attribute: " + qName);
|
||||
return declared [index];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the current value of an attribute's "specified" flag.
|
||||
*
|
||||
* @param index The attribute index (zero-based).
|
||||
* @return current flag value
|
||||
* @exception java.lang.ArrayIndexOutOfBoundsException When the
|
||||
* supplied index does not identify an attribute.
|
||||
*/
|
||||
public boolean isSpecified (int index)
|
||||
{
|
||||
if (index < 0 || index >= getLength ())
|
||||
throw new ArrayIndexOutOfBoundsException (
|
||||
"No attribute at index: " + index);
|
||||
return specified [index];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the current value of an attribute's "specified" flag.
|
||||
*
|
||||
* @param uri The Namespace URI, or the empty string if
|
||||
* the name has no Namespace URI.
|
||||
* @param localName The attribute's local name.
|
||||
* @return current flag value
|
||||
* @exception java.lang.IllegalArgumentException When the
|
||||
* supplied names do not identify an attribute.
|
||||
*/
|
||||
public boolean isSpecified (String uri, String localName)
|
||||
{
|
||||
int index = getIndex (uri, localName);
|
||||
|
||||
if (index < 0)
|
||||
throw new IllegalArgumentException (
|
||||
"No such attribute: local=" + localName
|
||||
+ ", namespace=" + uri);
|
||||
return specified [index];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the current value of an attribute's "specified" flag.
|
||||
*
|
||||
* @param qName The XML qualified (prefixed) name.
|
||||
* @return current flag value
|
||||
* @exception java.lang.IllegalArgumentException When the
|
||||
* supplied name does not identify an attribute.
|
||||
*/
|
||||
public boolean isSpecified (String qName)
|
||||
{
|
||||
int index = getIndex (qName);
|
||||
|
||||
if (index < 0)
|
||||
throw new IllegalArgumentException (
|
||||
"No such attribute: " + qName);
|
||||
return specified [index];
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Manipulators
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/**
|
||||
* Copy an entire Attributes object. The "specified" flags are
|
||||
* assigned as true, and "declared" flags as false (except when
|
||||
* an attribute's type is not CDATA),
|
||||
* unless the object is an Attributes2 object.
|
||||
* In that case those flag values are all copied.
|
||||
*
|
||||
* @see AttributesImpl#setAttributes
|
||||
*/
|
||||
public void setAttributes (Attributes atts)
|
||||
{
|
||||
int length = atts.getLength ();
|
||||
|
||||
super.setAttributes (atts);
|
||||
declared = new boolean [length];
|
||||
specified = new boolean [length];
|
||||
|
||||
if (atts instanceof Attributes2) {
|
||||
Attributes2 a2 = (Attributes2) atts;
|
||||
for (int i = 0; i < length; i++) {
|
||||
declared [i] = a2.isDeclared (i);
|
||||
specified [i] = a2.isSpecified (i);
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < length; i++) {
|
||||
declared [i] = !"CDATA".equals (atts.getType (i));
|
||||
specified [i] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Add an attribute to the end of the list, setting its
|
||||
* "specified" flag to true. To set that flag's value
|
||||
* to false, use {@link #setSpecified}.
|
||||
*
|
||||
* <p>Unless the attribute <em>type</em> is CDATA, this attribute
|
||||
* is marked as being declared in the DTD. To set that flag's value
|
||||
* to true for CDATA attributes, use {@link #setDeclared}.
|
||||
*
|
||||
* @see AttributesImpl#addAttribute
|
||||
*/
|
||||
public void addAttribute (String uri, String localName, String qName,
|
||||
String type, String value)
|
||||
{
|
||||
super.addAttribute (uri, localName, qName, type, value);
|
||||
|
||||
int length = getLength ();
|
||||
|
||||
if (length < specified.length) {
|
||||
boolean newFlags [];
|
||||
|
||||
newFlags = new boolean [length];
|
||||
System.arraycopy (declared, 0, newFlags, 0, declared.length);
|
||||
declared = newFlags;
|
||||
|
||||
newFlags = new boolean [length];
|
||||
System.arraycopy (specified, 0, newFlags, 0, specified.length);
|
||||
specified = newFlags;
|
||||
}
|
||||
|
||||
specified [length - 1] = true;
|
||||
declared [length - 1] = !"CDATA".equals (type);
|
||||
}
|
||||
|
||||
|
||||
// javadoc entirely from superclass
|
||||
public void removeAttribute (int index)
|
||||
{
|
||||
int origMax = getLength () - 1;
|
||||
|
||||
super.removeAttribute (index);
|
||||
if (index != origMax) {
|
||||
System.arraycopy (declared, index + 1, declared, index,
|
||||
origMax - index);
|
||||
System.arraycopy (specified, index + 1, specified, index,
|
||||
origMax - index);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Assign a value to the "declared" flag of a specific attribute.
|
||||
* This is normally needed only for attributes of type CDATA,
|
||||
* including attributes whose type is changed to or from CDATA.
|
||||
*
|
||||
* @param index The index of the attribute (zero-based).
|
||||
* @param value The desired flag value.
|
||||
* @exception java.lang.ArrayIndexOutOfBoundsException When the
|
||||
* supplied index does not identify an attribute.
|
||||
* @see #setType
|
||||
*/
|
||||
public void setDeclared (int index, boolean value)
|
||||
{
|
||||
if (index < 0 || index >= getLength ())
|
||||
throw new ArrayIndexOutOfBoundsException (
|
||||
"No attribute at index: " + index);
|
||||
declared [index] = value;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Assign a value to the "specified" flag of a specific attribute.
|
||||
* This is the only way this flag can be cleared, except clearing
|
||||
* by initialization with the copy constructor.
|
||||
*
|
||||
* @param index The index of the attribute (zero-based).
|
||||
* @param value The desired flag value.
|
||||
* @exception java.lang.ArrayIndexOutOfBoundsException When the
|
||||
* supplied index does not identify an attribute.
|
||||
*/
|
||||
public void setSpecified (int index, boolean value)
|
||||
{
|
||||
if (index < 0 || index >= getLength ())
|
||||
throw new ArrayIndexOutOfBoundsException (
|
||||
"No attribute at index: " + index);
|
||||
specified [index] = value;
|
||||
}
|
||||
}
|
||||
@ -125,11 +125,14 @@ public interface DeclHandler
|
||||
* <p>Only the effective (first) declaration for each entity
|
||||
* will be reported.</p>
|
||||
*
|
||||
* <p>If the system identifier is a URL, the parser must resolve it
|
||||
* fully before passing it to the application.</p>
|
||||
*
|
||||
* @param name The name of the entity. If it is a parameter
|
||||
* entity, the name will begin with '%'.
|
||||
* @param publicId The declared public identifier of the entity, or
|
||||
* null if none was declared.
|
||||
* @param systemId The declared system identifier of the entity.
|
||||
* @param publicId The entity's public identifier, or null if none
|
||||
* was given.
|
||||
* @param systemId The entity's system identifier.
|
||||
* @exception SAXException The application may raise an exception.
|
||||
* @see #internalEntityDecl
|
||||
* @see org.xml.sax.DTDHandler#unparsedEntityDecl
|
||||
|
||||
130
java/external/src/org/xml/sax/ext/DefaultHandler2.java
vendored
Normal file
130
java/external/src/org/xml/sax/ext/DefaultHandler2.java
vendored
Normal file
@ -0,0 +1,130 @@
|
||||
// DefaultHandler2.java - extended DefaultHandler
|
||||
// http://www.saxproject.org
|
||||
// Public Domain: no warranty.
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.ext;
|
||||
|
||||
import java.io.IOException;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.SAXException;
|
||||
import org.xml.sax.helpers.DefaultHandler;
|
||||
|
||||
|
||||
/**
|
||||
* This class extends the SAX2 base handler class to support the
|
||||
* SAX2 {@link LexicalHandler}, {@link DeclHandler}, and
|
||||
* {@link EntityResolver2} extensions. Except for overriding the
|
||||
* original SAX1 {@link DefaultHandler#resolveEntity resolveEntity()}
|
||||
* method the added handler methods just return. Subclassers may
|
||||
* override everything on a method-by-method basis.
|
||||
*
|
||||
* <blockquote>
|
||||
* <em>This module, both source code and documentation, is in the
|
||||
* Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
|
||||
* </blockquote>
|
||||
*
|
||||
* <p> <em>Note:</em> this class might yet learn that the
|
||||
* <em>ContentHandler.setDocumentLocator()</em> call might be passed a
|
||||
* {@link Locator2} object, and that the
|
||||
* <em>ContentHandler.startElement()</em> call might be passed a
|
||||
* {@link Attributes2} object.
|
||||
*
|
||||
* @since SAX 2.0 (extensions 1.1 alpha)
|
||||
* @author David Brownell
|
||||
* @version TBS
|
||||
*/
|
||||
public class DefaultHandler2 extends DefaultHandler
|
||||
implements LexicalHandler, DeclHandler, EntityResolver2
|
||||
{
|
||||
/** Constructs a handler which ignores all parsing events. */
|
||||
public DefaultHandler2 () { }
|
||||
|
||||
|
||||
// SAX2 ext-1.0 LexicalHandler
|
||||
|
||||
public void startCDATA ()
|
||||
throws SAXException
|
||||
{}
|
||||
|
||||
public void endCDATA ()
|
||||
throws SAXException
|
||||
{}
|
||||
|
||||
public void startDTD (String name, String publicId, String systemId)
|
||||
throws SAXException
|
||||
{}
|
||||
|
||||
public void endDTD ()
|
||||
throws SAXException
|
||||
{}
|
||||
|
||||
public void startEntity (String name)
|
||||
throws SAXException
|
||||
{}
|
||||
|
||||
public void endEntity (String name)
|
||||
throws SAXException
|
||||
{}
|
||||
|
||||
public void comment (char ch [], int start, int length)
|
||||
throws SAXException
|
||||
{ }
|
||||
|
||||
|
||||
// SAX2 ext-1.0 DeclHandler
|
||||
|
||||
public void attributeDecl (String eName, String aName,
|
||||
String type, String mode, String value)
|
||||
throws SAXException
|
||||
{}
|
||||
|
||||
public void elementDecl (String name, String model)
|
||||
throws SAXException
|
||||
{}
|
||||
|
||||
public void externalEntityDecl (String name,
|
||||
String publicId, String systemId)
|
||||
throws SAXException
|
||||
{}
|
||||
|
||||
public void internalEntityDecl (String name, String value)
|
||||
throws SAXException
|
||||
{}
|
||||
|
||||
// SAX2 ext-1.1 EntityResolver2
|
||||
|
||||
/**
|
||||
* Tells the parser that if no external subset has been declared
|
||||
* in the document text, none should be used.
|
||||
*/
|
||||
public InputSource getExternalSubset (String name, String baseURI)
|
||||
throws SAXException, IOException
|
||||
{ return null; }
|
||||
|
||||
/**
|
||||
* Tells the parser to resolve the systemId against the baseURI
|
||||
* and read the entity text from that resulting absolute URI.
|
||||
* Note that because the older
|
||||
* {@link DefaultHandler#resolveEntity DefaultHandler.resolveEntity()},
|
||||
* method is overridden to call this one, this method may sometimes
|
||||
* be invoked with null <em>name</em> and <em>baseURI</em>, and
|
||||
* with the <em>systemId</em> already absolutized.
|
||||
*/
|
||||
public InputSource resolveEntity (String name, String publicId,
|
||||
String baseURI, String systemId)
|
||||
throws SAXException, IOException
|
||||
{ return null; }
|
||||
|
||||
// SAX1 EntityResolver
|
||||
|
||||
/**
|
||||
* Invokes
|
||||
* {@link EntityResolver2#resolveEntity EntityResolver2.resolveEntity()}
|
||||
* with null entity name and base URI.
|
||||
* You only need to override that method to use this class.
|
||||
*/
|
||||
public InputSource resolveEntity (String publicId, String systemId)
|
||||
throws SAXException, IOException
|
||||
{ return resolveEntity (null, publicId, null, systemId); }
|
||||
}
|
||||
197
java/external/src/org/xml/sax/ext/EntityResolver2.java
vendored
Normal file
197
java/external/src/org/xml/sax/ext/EntityResolver2.java
vendored
Normal file
@ -0,0 +1,197 @@
|
||||
// EntityResolver2.java - Extended SAX entity resolver.
|
||||
// http://www.saxproject.org
|
||||
// No warranty; no copyright -- use this as you will.
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.ext;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.xml.sax.EntityResolver;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.XMLReader;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
|
||||
/**
|
||||
* Extended interface for mapping external entity references to input
|
||||
* sources, or providing a missing external subset. The
|
||||
* {@link XMLReader#setEntityResolver XMLReader.setEntityResolver()} method
|
||||
* is used to provide implementations of this interface to parsers.
|
||||
* When a parser uses the methods in this interface, the
|
||||
* {@link EntityResolver2#resolveEntity EntityResolver2.resolveEntity()}
|
||||
* method (in this interface) is used <em>instead of</em> the older (SAX 1.0)
|
||||
* {@link EntityResolver#resolveEntity EntityResolver.resolveEntity()} method.
|
||||
*
|
||||
* <blockquote>
|
||||
* <em>This module, both source code and documentation, is in the
|
||||
* Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
|
||||
* </blockquote>
|
||||
*
|
||||
* <p>If a SAX application requires the customized handling which this
|
||||
* interface defines for external entities, it must ensure that it uses
|
||||
* an XMLReader with the
|
||||
* <em>http://xml.org/sax/features/use-entity-resolver2</em> feature flag
|
||||
* set to <em>true</em> (which is its default value when the feature is
|
||||
* recognized). If that flag is unrecognized, or its value is false,
|
||||
* or the resolver does not implement this interface, then only the
|
||||
* {@link EntityResolver} method will be used.
|
||||
* </p>
|
||||
*
|
||||
* <p>That supports three categories of application that modify entity
|
||||
* resolution. <em>Old Style</em> applications won't know about this interface;
|
||||
* they will provide an EntityResolver.
|
||||
* <em>Transitional Mode</em> provide an EntityResolver2 and automatically
|
||||
* get the benefit of its methods in any systems (parsers or other tools)
|
||||
* supporting it, due to polymorphism.
|
||||
* Both <em>Old Style</em> and <em>Transitional Mode</em> applications will
|
||||
* work with any SAX2 parser.
|
||||
* <em>New style</em> applications will fail to run except on SAX2 parsers
|
||||
* that support this particular feature.
|
||||
* They will insist that feature flag have a value of "true", and the
|
||||
* EntityResolver2 implementation they provide might throw an exception
|
||||
* if the original SAX 1.0 style entity resolution method is invoked.
|
||||
* </p>
|
||||
*
|
||||
* @see org.xml.sax.XMLReader#setEntityResolver
|
||||
*
|
||||
* @since SAX 2.0 (extensions 1.1 alpha)
|
||||
* @author David Brownell
|
||||
* @version TBD
|
||||
*/
|
||||
public interface EntityResolver2 extends EntityResolver
|
||||
{
|
||||
/**
|
||||
* Allows applications to provide an external subset for documents
|
||||
* that don't explicitly define one. Documents with DOCTYPE declarations
|
||||
* that omit an external subset can thus augment the declarations
|
||||
* available for validation, entity processing, and attribute processing
|
||||
* (normalization, defaulting, and reporting types including ID).
|
||||
* This augmentation is reported
|
||||
* through the {@link LexicalHandler#startDTD startDTD()} method as if
|
||||
* the document text had originally included the external subset;
|
||||
* this callback is made before any internal subset data or errors
|
||||
* are reported.</p>
|
||||
*
|
||||
* <p>This method can also be used with documents that have no DOCTYPE
|
||||
* declaration. When the root element is encountered,
|
||||
* but no DOCTYPE declaration has been seen, this method is
|
||||
* invoked. If it returns a value for the external subset, that root
|
||||
* element is declared to be the root element, giving the effect of
|
||||
* splicing a DOCTYPE declaration at the end the prolog of a document
|
||||
* that could not otherwise be valid. The sequence of parser callbacks
|
||||
* in that case logically resembles this:</p>
|
||||
*
|
||||
* <pre>
|
||||
* ... comments and PIs from the prolog (as usual)
|
||||
* startDTD ("rootName", source.getPublicId (), source.getSystemId ());
|
||||
* startEntity ("[dtd]");
|
||||
* ... declarations, comments, and PIs from the external subset
|
||||
* endEntity ("[dtd]");
|
||||
* endDTD ();
|
||||
* ... then the rest of the document (as usual)
|
||||
* startElement (..., "rootName", ...);
|
||||
* </pre>
|
||||
*
|
||||
* <p>Note that the InputSource gets no further resolution.
|
||||
* Implementations of this method may wish to invoke
|
||||
* {@link #resolveEntity resolveEntity()} to gain benefits such as use
|
||||
* of local caches of DTD entities. Also, this method will never be
|
||||
* used by a (non-validating) processor that is not including external
|
||||
* parameter entities. </p>
|
||||
*
|
||||
* <p>Uses for this method include facilitating data validation when
|
||||
* interoperating with XML processors that would always require
|
||||
* undesirable network accesses for external entities, or which for
|
||||
* other reasons adopt a "no DTDs" policy.
|
||||
* Non-validation motives include forcing documents to include DTDs so
|
||||
* that attributes are handled consistently.
|
||||
* For example, an XPath processor needs to know which attibutes have
|
||||
* type "ID" before it can process a widely used type of reference.</p>
|
||||
*
|
||||
* <p><strong>Warning:</strong> Returning an external subset modifies
|
||||
* the input document. By providing definitions for general entities,
|
||||
* it can make a malformed document appear to be well formed.
|
||||
* </p>
|
||||
*
|
||||
* @param name Identifies the document root element. This name comes
|
||||
* from a DOCTYPE declaration (where available) or from the actual
|
||||
* root element.
|
||||
* @param baseURI The document's base URI, serving as an additional
|
||||
* hint for selecting the external subset. This is always an absolute
|
||||
* URI, unless it is null because the XMLReader was given an InputSource
|
||||
* without one.
|
||||
*
|
||||
* @return An InputSource object describing the new external subset
|
||||
* to be used by the parser, or null to indicate that no external
|
||||
* subset is provided.
|
||||
*
|
||||
* @exception SAXException Any SAX exception, possibly wrapping
|
||||
* another exception.
|
||||
* @exception IOException Probably indicating a failure to create
|
||||
* a new InputStream or Reader, or an illegal URL.
|
||||
*/
|
||||
public InputSource getExternalSubset (String name, String baseURI)
|
||||
throws SAXException, IOException;
|
||||
|
||||
/**
|
||||
* Allows applications to map references to external entities into input
|
||||
* sources, or tell the parser it should use conventional URI resolution.
|
||||
* This method is only called for external entities which have been
|
||||
* properly declared.
|
||||
* This method provides more flexibility than the {@link EntityResolver}
|
||||
* interface, supporting implementations of more complex catalogue
|
||||
* schemes such as the one defined by the <a href=
|
||||
"http://www.oasis-open.org/committees/entity/spec-2001-08-06.html"
|
||||
>OASIS XML Catalogs</a> specification.</p>
|
||||
*
|
||||
* <p>Parsers configured to use this resolver method will call it
|
||||
* to determine the input source to use for any external entity
|
||||
* being included because of a reference in the XML text.
|
||||
* That excludes the document entity, and any external entity returned
|
||||
* by {@link #getExternalSubset getExternalSubset()}.
|
||||
* When a (non-validating) processor is configured not to include
|
||||
* a class of entities (parameter or general) through use of feature
|
||||
* flags, this method is not invoked for such entities. </p>
|
||||
*
|
||||
* <p>Note that the entity naming scheme used here is the same one
|
||||
* used in the {@link LexicalHandler}, or in the {@link
|
||||
org.xml.sax.ContentHandler#skippedEntity
|
||||
ContentHandler.skippedEntity()}
|
||||
* method. </p>
|
||||
*
|
||||
* @param name Identifies the external entity being resolved.
|
||||
* Either "[dtd]" for the external subset, or a name starting
|
||||
* with "%" to indicate a parameter entity, or else the name of
|
||||
* a general entity. This is never null when invoked by a SAX2
|
||||
* parser.
|
||||
* @param publicId The public identifier of the external entity being
|
||||
* referenced (normalized as required by the XML specification), or
|
||||
* null if none was supplied.
|
||||
* @param baseURI The URI with respect to which relative systemIDs
|
||||
* are interpreted. This is always an absolute URI, unless it is
|
||||
* null (likely because the XMLReader was given an InputSource without
|
||||
* one). This URI is defined by the XML specification to be the one
|
||||
* associated with the "<" starting the relevant declaration.
|
||||
* @param systemId The system identifier of the external entity
|
||||
* being referenced; either a relative or absolute URI.
|
||||
* This is never null when invoked by a SAX2 parser; only declared
|
||||
* entities, and any external subset, are resolved by such parsers.
|
||||
*
|
||||
* @return An InputSource object describing the new input source to
|
||||
* be used by the parser. Returning null directs the parser to
|
||||
* resolve the system ID against the base URI and open a connection
|
||||
* to resulting URI.
|
||||
*
|
||||
* @exception SAXException Any SAX exception, possibly wrapping
|
||||
* another exception.
|
||||
* @exception IOException Probably indicating a failure to create
|
||||
* a new InputStream or Reader, or an illegal URL.
|
||||
*/
|
||||
public InputSource resolveEntity (
|
||||
String name,
|
||||
String publicId,
|
||||
String baseURI,
|
||||
String systemId
|
||||
) throws SAXException, IOException;
|
||||
}
|
||||
75
java/external/src/org/xml/sax/ext/Locator2.java
vendored
Normal file
75
java/external/src/org/xml/sax/ext/Locator2.java
vendored
Normal file
@ -0,0 +1,75 @@
|
||||
// Locator2.java - extended Locator
|
||||
// http://www.saxproject.org
|
||||
// Public Domain: no warranty.
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.ext;
|
||||
|
||||
import org.xml.sax.Locator;
|
||||
|
||||
|
||||
/**
|
||||
* SAX2 extension to augment the entity information provided
|
||||
* though a {@link Locator}.
|
||||
* If an implementation supports this extension, the Locator
|
||||
* provided in {@link org.xml.sax.ContentHandler#setDocumentLocator
|
||||
* ContentHandler.setDocumentLocator() } will implement this
|
||||
* interface, and the
|
||||
* <em>http://xml.org/sax/features/use-locator2</em> feature
|
||||
* flag will have the value <em>true</em>.
|
||||
*
|
||||
* <blockquote>
|
||||
* <em>This module, both source code and documentation, is in the
|
||||
* Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
|
||||
* </blockquote>
|
||||
*
|
||||
* <p> XMLReader implementations are not required to support this
|
||||
* information, and it is not part of core-only SAX2 distributions.</p>
|
||||
*
|
||||
* @since SAX 2.0 (extensions 1.1 alpha)
|
||||
* @author David Brownell
|
||||
* @version TBS
|
||||
*/
|
||||
public interface Locator2 extends Locator
|
||||
{
|
||||
/**
|
||||
* Returns the version of XML used for the entity. This will
|
||||
* normally be the identifier from the current entity's
|
||||
* <em><?xml version='...' ...?></em> declaration,
|
||||
* or be defaulted by the parser.
|
||||
*
|
||||
* @return Identifier for the XML version being used to interpret
|
||||
* the entity's text, or null if that information is not yet
|
||||
* available in the current parsing state.
|
||||
*/
|
||||
public String getXMLVersion ();
|
||||
|
||||
/**
|
||||
* Returns the name of the character encoding for the entity.
|
||||
* If the encoding was declared externally (for example, in a MIME
|
||||
* Content-Type header), that will be the name returned. Else if there
|
||||
* was an <em><?xml ...encoding='...'?></em> declaration at
|
||||
* the start of the document, that encoding name will be returned.
|
||||
* Otherwise the encoding will been inferred (normally to be UTF-8, or
|
||||
* some UTF-16 variant), and that inferred name will be returned.
|
||||
*
|
||||
* <p>When an {@link org.xml.sax.InputSource InputSource} is used
|
||||
* to provide an entity's character stream, this method returns the
|
||||
* encoding provided in that input stream.
|
||||
*
|
||||
* <p> Note that some recent W3C specifications require that text
|
||||
* in some encodings be normalized, using Unicode Normalization
|
||||
* Form C, before processing. Such normalization must be performed
|
||||
* by applications, and would normally be triggered based on the
|
||||
* value returned by this method.
|
||||
*
|
||||
* <p> Encoding names may be those used by the underlying JVM,
|
||||
* and comparisons should be case-insensitive.
|
||||
*
|
||||
* @return Name of the character encoding being used to interpret
|
||||
* * the entity's text, or null if this was not provided for a *
|
||||
* character stream passed through an InputSource or is otherwise
|
||||
* not yet available in the current parsing state.
|
||||
*/
|
||||
public String getEncoding ();
|
||||
}
|
||||
101
java/external/src/org/xml/sax/ext/Locator2Impl.java
vendored
Normal file
101
java/external/src/org/xml/sax/ext/Locator2Impl.java
vendored
Normal file
@ -0,0 +1,101 @@
|
||||
// Locator2Impl.java - extended LocatorImpl
|
||||
// http://www.saxproject.org
|
||||
// Public Domain: no warranty.
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.ext;
|
||||
|
||||
import org.xml.sax.Locator;
|
||||
import org.xml.sax.helpers.LocatorImpl;
|
||||
|
||||
|
||||
/**
|
||||
* SAX2 extension helper for holding additional Entity information,
|
||||
* implementing the {@link Locator2} interface.
|
||||
*
|
||||
* <blockquote>
|
||||
* <em>This module, both source code and documentation, is in the
|
||||
* Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
|
||||
* </blockquote>
|
||||
*
|
||||
* <p> This is not part of core-only SAX2 distributions.</p>
|
||||
*
|
||||
* @since SAX 2.0.2
|
||||
* @author David Brownell
|
||||
* @version TBS
|
||||
*/
|
||||
public class Locator2Impl extends LocatorImpl implements Locator2
|
||||
{
|
||||
private String encoding;
|
||||
private String version;
|
||||
|
||||
|
||||
/**
|
||||
* Construct a new, empty Locator2Impl object.
|
||||
* This will not normally be useful, since the main purpose
|
||||
* of this class is to make a snapshot of an existing Locator.
|
||||
*/
|
||||
public Locator2Impl () { }
|
||||
|
||||
/**
|
||||
* Copy an existing Locator or Locator2 object.
|
||||
* If the object implements Locator2, values of the
|
||||
* <em>encoding</em> and <em>version</em>strings are copied,
|
||||
* otherwise they set to <em>null</em>.
|
||||
*
|
||||
* @param locator The existing Locator object.
|
||||
*/
|
||||
public Locator2Impl (Locator locator)
|
||||
{
|
||||
super (locator);
|
||||
if (locator instanceof Locator2) {
|
||||
Locator2 l2 = (Locator2) locator;
|
||||
|
||||
version = l2.getXMLVersion ();
|
||||
encoding = l2.getEncoding ();
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Locator2 method implementations
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Returns the current value of the version property.
|
||||
*
|
||||
* @see #setXMLVersion
|
||||
*/
|
||||
public String getXMLVersion ()
|
||||
{ return version; }
|
||||
|
||||
/**
|
||||
* Returns the current value of the encoding property.
|
||||
*
|
||||
* @see #setEncoding
|
||||
*/
|
||||
public String getEncoding ()
|
||||
{ return encoding; }
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Setters
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Assigns the current value of the version property.
|
||||
*
|
||||
* @param version the new "version" value
|
||||
* @see #getXMLVersion
|
||||
*/
|
||||
public void setXMLVersion (String version)
|
||||
{ this.version = version; }
|
||||
|
||||
/**
|
||||
* Assigns the current value of the encoding property.
|
||||
*
|
||||
* @param encoding the new "encoding" value
|
||||
* @see #getEncoding
|
||||
*/
|
||||
public void setEncoding (String encoding)
|
||||
{ this.encoding = encoding; }
|
||||
}
|
||||
33
java/external/src/org/xml/sax/ext/package.html
vendored
33
java/external/src/org/xml/sax/ext/package.html
vendored
@ -1,33 +1,36 @@
|
||||
<HTML><HEAD>
|
||||
|
||||
<!-- $Id$ -->
|
||||
</HEAD><BODY>
|
||||
|
||||
<p>
|
||||
This package contains interfaces to optional SAX2 handlers.
|
||||
This package contains interfaces to SAX2 facilities that
|
||||
conformant SAX drivers won't necessarily support.
|
||||
|
||||
<p>See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
|
||||
for more information about SAX.</p>
|
||||
|
||||
<p>
|
||||
The package is independent of the SAX2 core, though the functionality
|
||||
exposed generally needs to be implemented within a parser.
|
||||
<p> This package is independent of the SAX2 core, though the functionality
|
||||
exposed generally needs to be implemented within a parser core.
|
||||
That independence has several consequences:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>SAX2 drivers are <em>not</em> required to recognize these handlers,
|
||||
and you cannot assume that the class files will be present in every SAX2
|
||||
<li>SAX2 drivers are <em>not</em> required to recognize these handlers.
|
||||
</li>
|
||||
|
||||
<li>You cannot assume that the class files will be present in every SAX2
|
||||
installation.</li>
|
||||
|
||||
<li>This package may be updated independently of SAX2 (i.e. new
|
||||
handlers may be added without updating SAX2 itself).</li>
|
||||
handlers and classes may be added without updating SAX2 itself).</li>
|
||||
|
||||
<li>The handlers are not implemented by the SAX2
|
||||
<li>The new handlers are not implemented by the SAX2
|
||||
<code>org.xml.sax.helpers.DefaultHandler</code> or
|
||||
<code>org.xml.sax.helpers.XMLFilterImpl</code> classes.
|
||||
You can subclass these if you need such behaviour.</li>
|
||||
You can subclass these if you need such behavior, or
|
||||
use the helper classes found here.</li>
|
||||
|
||||
<li>The handlers need to be registered differently than regular SAX2
|
||||
<li>The handlers need to be registered differently than core SAX2
|
||||
handlers.</li>
|
||||
|
||||
</ul>
|
||||
@ -37,13 +40,7 @@ designed both to allow SAX parsers to pass certain types of information
|
||||
to applications, and to serve as a simple model for other SAX2 parser
|
||||
extension packages. Not all such extension packages should need to
|
||||
be recognized directly by parsers, however.
|
||||
As an example, most schema systems can be cleanly layered on top
|
||||
As an example, most validation systems can be cleanly layered on top
|
||||
of parsers supporting the standardized SAX2 interfaces. </p>
|
||||
|
||||
<p><strong>NOTE:</strong> this package alone does add any
|
||||
functionality; it simply provides optional interfaces for SAX2 drivers
|
||||
to use. You must use a SAX2 driver that recognizes these interfaces if
|
||||
you actually want to have access to lexical and declaration
|
||||
information.</p>
|
||||
|
||||
</BODY></HTML>
|
||||
|
||||
@ -2,10 +2,8 @@
|
||||
// http://www.saxproject.org
|
||||
// Written by David Megginson
|
||||
// NO WARRANTY! This class is in the public domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
|
||||
package org.xml.sax.helpers;
|
||||
|
||||
import org.xml.sax.Attributes;
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
// http://www.saxproject.org
|
||||
// Written by David Megginson
|
||||
// NO WARRANTY! This class is in the public domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.helpers;
|
||||
@ -262,7 +261,7 @@ public class DefaultHandler
|
||||
* performed.
|
||||
* @param qName The qualified name (with prefix), or the
|
||||
* empty string if qualified names are not available.
|
||||
* @param atts The attributes attached to the element. If
|
||||
* @param attributes The attributes attached to the element. If
|
||||
* there are no attributes, it shall be an empty
|
||||
* Attributes object.
|
||||
* @exception org.xml.sax.SAXException Any SAX exception, possibly
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
// http://www.saxproject.org
|
||||
// Written by David Megginson
|
||||
// This class is in the Public Domain. NO WARRANTY!
|
||||
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.helpers;
|
||||
@ -24,11 +23,11 @@ import java.util.Vector;
|
||||
* for further information.
|
||||
* </blockquote>
|
||||
*
|
||||
* <p>This class encapsulates the logic of Namespace processing:
|
||||
* it tracks the declarations currently in force for each context
|
||||
* and automatically processes qualified XML 1.0 names into their
|
||||
* Namespace parts; it can also be used in reverse for generating
|
||||
* XML 1.0 from Namespaces.</p>
|
||||
* <p>This class encapsulates the logic of Namespace processing: it
|
||||
* tracks the declarations currently in force for each context and
|
||||
* automatically processes qualified XML names into their Namespace
|
||||
* parts; it can also be used in reverse for generating XML qnames
|
||||
* from Namespaces.</p>
|
||||
*
|
||||
* <p>Namespace support objects are reusable, but the reset method
|
||||
* must be invoked between each session.</p>
|
||||
@ -82,7 +81,7 @@ public class NamespaceSupport
|
||||
/**
|
||||
* The XML Namespace URI as a constant.
|
||||
* The value is <code>http://www.w3.org/XML/1998/namespace</code>
|
||||
* as defined in the XML Namespaces specification.
|
||||
* as defined in the "Namespaces in XML" * recommendation.
|
||||
*
|
||||
* <p>This is the Namespace URI that is automatically mapped
|
||||
* to the "xml" prefix.</p>
|
||||
@ -91,6 +90,26 @@ public class NamespaceSupport
|
||||
"http://www.w3.org/XML/1998/namespace";
|
||||
|
||||
|
||||
/**
|
||||
* The namespace declaration URI as a constant.
|
||||
* The value is <code>http://www.w3.org/xmlns/2000/</code>, as defined
|
||||
* in a backwards-incompatible erratum to the "Namespaces in XML"
|
||||
* recommendation. Because that erratum postdated SAX2, SAX2 defaults
|
||||
* to the original recommendation, and does not normally use this URI.
|
||||
*
|
||||
*
|
||||
* <p>This is the Namespace URI that is optionally applied to
|
||||
* <em>xmlns</em> and <em>xmlns:*</em> attributes, which are used to
|
||||
* declare namespaces. </p>
|
||||
*
|
||||
* @since SAX 2.1alpha
|
||||
* @see #setNamespaceDeclUris
|
||||
* @see #isNamespaceDeclUris
|
||||
*/
|
||||
public final static String NSDECL =
|
||||
"http://www.w3.org/xmlns/2000/";
|
||||
|
||||
|
||||
/**
|
||||
* An empty enumeration.
|
||||
*/
|
||||
@ -122,11 +141,17 @@ public class NamespaceSupport
|
||||
* Reset this Namespace support object for reuse.
|
||||
*
|
||||
* <p>It is necessary to invoke this method before reusing the
|
||||
* Namespace support object for a new session.</p>
|
||||
* Namespace support object for a new session. If namespace
|
||||
* declaration URIs are to be supported, that flag must also
|
||||
* be set to a non-default value.
|
||||
* </p>
|
||||
*
|
||||
* @see #setNamespaceDeclUris
|
||||
*/
|
||||
public void reset ()
|
||||
{
|
||||
contexts = new Context[32];
|
||||
namespaceDeclUris = false;
|
||||
contextPos = 0;
|
||||
contexts[contextPos] = currentContext = new Context();
|
||||
currentContext.declarePrefix("xml", XMLNS);
|
||||
@ -173,7 +198,6 @@ public class NamespaceSupport
|
||||
{
|
||||
int max = contexts.length;
|
||||
|
||||
contexts [contextPos].declsOK = false;
|
||||
contextPos++;
|
||||
|
||||
// Extend the array if necessary
|
||||
@ -242,11 +266,6 @@ public class NamespaceSupport
|
||||
* <p>To declare the default element Namespace, use the empty string as
|
||||
* the prefix.</p>
|
||||
*
|
||||
* <p>Note that you must <em>not</em> declare a prefix after
|
||||
* you've pushed and popped another Namespace context, or
|
||||
* treated the declarations phase as complete by processing
|
||||
* a prefixed name.</p>
|
||||
*
|
||||
* <p>Note that there is an asymmetry in this library: {@link
|
||||
* #getPrefix getPrefix} will not return the "" prefix,
|
||||
* even if you have declared a default element namespace.
|
||||
@ -260,9 +279,6 @@ public class NamespaceSupport
|
||||
* the value "xml" or "xmlns".
|
||||
* @param uri The Namespace URI to associate with the prefix.
|
||||
* @return true if the prefix was legal, false otherwise
|
||||
* @exception IllegalStateException when a prefix is declared
|
||||
* after looking up a name in the context, or after pushing
|
||||
* another context on top of it.
|
||||
*
|
||||
* @see #processName
|
||||
* @see #getURI
|
||||
@ -280,12 +296,13 @@ public class NamespaceSupport
|
||||
|
||||
|
||||
/**
|
||||
* Process a raw XML 1.0 name, after all declarations in the current
|
||||
* context have been handled by {@link #declarePrefix declarePrefix()}.
|
||||
* Process a raw XML qualified name, after all declarations in the
|
||||
* current context have been handled by {@link #declarePrefix
|
||||
* declarePrefix()}.
|
||||
*
|
||||
* <p>This method processes a raw XML 1.0 name in the current
|
||||
* context by removing the prefix and looking it up among the
|
||||
* prefixes currently declared. The return value will be the
|
||||
* <p>This method processes a raw XML qualified name in the
|
||||
* current context by removing the prefix and looking it up among
|
||||
* the prefixes currently declared. The return value will be the
|
||||
* array supplied by the caller, filled in as follows:</p>
|
||||
*
|
||||
* <dl>
|
||||
@ -303,18 +320,18 @@ public class NamespaceSupport
|
||||
* the return value will be null.</p>
|
||||
*
|
||||
* <p>Note that attribute names are processed differently than
|
||||
* element names: an unprefixed element name will received the
|
||||
* element names: an unprefixed element name will receive the
|
||||
* default Namespace (if any), while an unprefixed attribute name
|
||||
* will not.</p>
|
||||
*
|
||||
* @param qName The raw XML 1.0 name to be processed.
|
||||
* @param qName The XML qualified name to be processed.
|
||||
* @param parts An array supplied by the caller, capable of
|
||||
* holding at least three members.
|
||||
* @param isAttribute A flag indicating whether this is an
|
||||
* attribute name (true) or an element name (false).
|
||||
* @return The supplied array holding three internalized strings
|
||||
* representing the Namespace URI (or empty string), the
|
||||
* local name, and the raw XML 1.0 name; or null if there
|
||||
* local name, and the XML qualified name; or null if there
|
||||
* is an undeclared prefix.
|
||||
* @see #declarePrefix
|
||||
* @see java.lang.String#intern */
|
||||
@ -352,15 +369,16 @@ public class NamespaceSupport
|
||||
|
||||
|
||||
/**
|
||||
* Return an enumeration of all prefixes currently declared.
|
||||
* Return an enumeration of all prefixes whose declarations are
|
||||
* active in the current context.
|
||||
* This includes declarations from parent contexts that have
|
||||
* not been overridden.
|
||||
*
|
||||
* <p><strong>Note:</strong> if there is a default prefix, it will not be
|
||||
* returned in this enumeration; check for the default prefix
|
||||
* using the {@link #getURI getURI} with an argument of "".</p>
|
||||
*
|
||||
* @return An enumeration of all prefixes declared in the
|
||||
* current context except for the empty (default)
|
||||
* prefix.
|
||||
* @return An enumeration of prefixes (never empty).
|
||||
* @see #getDeclaredPrefixes
|
||||
* @see #getURI
|
||||
*/
|
||||
@ -382,12 +400,10 @@ public class NamespaceSupport
|
||||
* to check for a default prefix, use the {@link #getURI getURI}
|
||||
* method with an argument of "".</p>
|
||||
*
|
||||
* @param uri The Namespace URI.
|
||||
* @param isAttribute true if this prefix is for an attribute
|
||||
* (and the default Namespace is not allowed).
|
||||
* @return One of the prefixes currently mapped to the URI supplied,
|
||||
* @param uri the namespace URI
|
||||
* @return one of the prefixes currently mapped to the URI supplied,
|
||||
* or null if none is mapped or if the URI is assigned to
|
||||
* the default Namespace.
|
||||
* the default namespace
|
||||
* @see #getPrefixes(java.lang.String)
|
||||
* @see #getURI
|
||||
*/
|
||||
@ -398,7 +414,10 @@ public class NamespaceSupport
|
||||
|
||||
|
||||
/**
|
||||
* Return an enumeration of all prefixes currently declared for a URI.
|
||||
* Return an enumeration of all prefixes for a given URI whose
|
||||
* declarations are active in the current context.
|
||||
* This includes declarations from parent contexts that have
|
||||
* not been overridden.
|
||||
*
|
||||
* <p>This method returns prefixes mapped to a specific Namespace
|
||||
* URI. The xml: prefix will be included. If you want only one
|
||||
@ -412,8 +431,7 @@ public class NamespaceSupport
|
||||
* argument of "".</p>
|
||||
*
|
||||
* @param uri The Namespace URI.
|
||||
* @return An enumeration of all prefixes declared in the
|
||||
* current context.
|
||||
* @return An enumeration of prefixes (never empty).
|
||||
* @see #getPrefix
|
||||
* @see #getDeclaredPrefixes
|
||||
* @see #getURI
|
||||
@ -449,6 +467,41 @@ public class NamespaceSupport
|
||||
return currentContext.getDeclaredPrefixes();
|
||||
}
|
||||
|
||||
/**
|
||||
* Controls whether namespace declaration attributes are placed
|
||||
* into the {@link #NSDECL NSDECL} namespace
|
||||
* by {@link #processName processName()}. This may only be
|
||||
* changed before any contexts have been pushed.
|
||||
*
|
||||
* @since SAX 2.1alpha
|
||||
*
|
||||
* @exception IllegalStateException when attempting to set this
|
||||
* after any context has been pushed.
|
||||
*/
|
||||
public void setNamespaceDeclUris (boolean value)
|
||||
{
|
||||
if (contextPos != 0)
|
||||
throw new IllegalStateException ();
|
||||
if (value == namespaceDeclUris)
|
||||
return;
|
||||
namespaceDeclUris = value;
|
||||
if (value)
|
||||
currentContext.declarePrefix ("xmlns", NSDECL);
|
||||
else {
|
||||
contexts[contextPos] = currentContext = new Context();
|
||||
currentContext.declarePrefix("xml", XMLNS);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if namespace declaration attributes are placed into
|
||||
* a namespace. This behavior is not the default.
|
||||
*
|
||||
* @since SAX 2.1alpha
|
||||
*/
|
||||
public boolean isNamespaceDeclUris ()
|
||||
{ return namespaceDeclUris; }
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -458,7 +511,7 @@ public class NamespaceSupport
|
||||
private Context contexts[];
|
||||
private Context currentContext;
|
||||
private int contextPos;
|
||||
|
||||
private boolean namespaceDeclUris;
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -505,7 +558,6 @@ public class NamespaceSupport
|
||||
attributeNameTable = parent.attributeNameTable;
|
||||
defaultNS = parent.defaultNS;
|
||||
declSeen = false;
|
||||
declsOK = true;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -535,9 +587,9 @@ public class NamespaceSupport
|
||||
void declarePrefix (String prefix, String uri)
|
||||
{
|
||||
// Lazy processing...
|
||||
if (!declsOK)
|
||||
throw new IllegalStateException (
|
||||
"can't declare any more prefixes in this context");
|
||||
// if (!declsOK)
|
||||
// throw new IllegalStateException (
|
||||
// "can't declare any more prefixes in this context");
|
||||
if (!declSeen) {
|
||||
copyTables();
|
||||
}
|
||||
@ -562,9 +614,9 @@ public class NamespaceSupport
|
||||
|
||||
|
||||
/**
|
||||
* Process a raw XML 1.0 name in this context.
|
||||
* Process an XML qualified name in this context.
|
||||
*
|
||||
* @param qName The raw XML 1.0 name.
|
||||
* @param qName The XML qualified name.
|
||||
* @param isAttribute true if this is an attribute name.
|
||||
* @return An array of three strings containing the
|
||||
* URI part (or empty string), the local part,
|
||||
@ -577,9 +629,6 @@ public class NamespaceSupport
|
||||
String name[];
|
||||
Hashtable table;
|
||||
|
||||
// detect errors in call sequence
|
||||
declsOK = false;
|
||||
|
||||
// Select the appropriate table.
|
||||
if (isAttribute) {
|
||||
table = attributeNameTable;
|
||||
@ -606,7 +655,12 @@ public class NamespaceSupport
|
||||
|
||||
// No prefix.
|
||||
if (index == -1) {
|
||||
if (isAttribute || defaultNS == null) {
|
||||
if (isAttribute) {
|
||||
if (qName == "xmlns" && namespaceDeclUris)
|
||||
name[0] = NSDECL;
|
||||
else
|
||||
name[0] = "";
|
||||
} else if (defaultNS == null) {
|
||||
name[0] = "";
|
||||
} else {
|
||||
name[0] = defaultNS;
|
||||
@ -624,7 +678,8 @@ public class NamespaceSupport
|
||||
} else {
|
||||
uri = (String)prefixTable.get(prefix);
|
||||
}
|
||||
if (uri == null) {
|
||||
if (uri == null
|
||||
|| (!isAttribute && "xmlns".equals (prefix))) {
|
||||
return null;
|
||||
}
|
||||
name[0] = uri;
|
||||
@ -753,7 +808,6 @@ public class NamespaceSupport
|
||||
Hashtable elementNameTable;
|
||||
Hashtable attributeNameTable;
|
||||
String defaultNS = null;
|
||||
boolean declsOK = true;
|
||||
|
||||
|
||||
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
// Written by Edwin Goei, edwingo@apache.org
|
||||
// and by David Brownell, dbrownell@users.sourceforge.net
|
||||
// NO WARRANTY! This class is in the Public Domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.helpers;
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
// http://www.saxproject.org
|
||||
// Written by David Megginson
|
||||
// NO WARRANTY! This class is in the public domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.helpers;
|
||||
@ -159,6 +158,7 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||
private final static String FEATURES = "http://xml.org/sax/features/";
|
||||
private final static String NAMESPACES = FEATURES + "namespaces";
|
||||
private final static String NAMESPACE_PREFIXES = FEATURES + "namespace-prefixes";
|
||||
private final static String XMLNS_URIs = FEATURES + "xmlns-uris";
|
||||
|
||||
|
||||
/**
|
||||
@ -190,6 +190,9 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||
if (!prefixes && !namespaces) {
|
||||
namespaces = true;
|
||||
}
|
||||
} else if (name.equals(XMLNS_URIs)) {
|
||||
checkNotParsing("feature", name);
|
||||
uris = value;
|
||||
} else {
|
||||
throw new SAXNotRecognizedException("Feature: " + name);
|
||||
}
|
||||
@ -217,6 +220,8 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||
return namespaces;
|
||||
} else if (name.equals(NAMESPACE_PREFIXES)) {
|
||||
return prefixes;
|
||||
} else if (name.equals(XMLNS_URIs)) {
|
||||
return uris;
|
||||
} else {
|
||||
throw new SAXNotRecognizedException("Feature: " + name);
|
||||
}
|
||||
@ -290,7 +295,7 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||
/**
|
||||
* Set the DTD handler.
|
||||
*
|
||||
* @param resolver The new DTD handler.
|
||||
* @param handler the new DTD handler
|
||||
* @see org.xml.sax.XMLReader#setEntityResolver
|
||||
*/
|
||||
public void setDTDHandler (DTDHandler handler)
|
||||
@ -302,7 +307,7 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||
/**
|
||||
* Return the current DTD handler.
|
||||
*
|
||||
* @return The current DTD handler, or null if none was supplied.
|
||||
* @return the current DTD handler, or null if none was supplied
|
||||
* @see org.xml.sax.XMLReader#getEntityResolver
|
||||
*/
|
||||
public DTDHandler getDTDHandler ()
|
||||
@ -314,7 +319,7 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||
/**
|
||||
* Set the content handler.
|
||||
*
|
||||
* @param resolver The new content handler.
|
||||
* @param handler the new content handler
|
||||
* @see org.xml.sax.XMLReader#setEntityResolver
|
||||
*/
|
||||
public void setContentHandler (ContentHandler handler)
|
||||
@ -338,7 +343,7 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||
/**
|
||||
* Set the error handler.
|
||||
*
|
||||
* @param resolver The new error handler.
|
||||
* @param handler The new error handler.
|
||||
* @see org.xml.sax.XMLReader#setEntityResolver
|
||||
*/
|
||||
public void setErrorHandler (ErrorHandler handler)
|
||||
@ -405,7 +410,7 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Implementation of org.xml.sax.DocumentHandler.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -468,7 +473,7 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||
* <p>If necessary, perform Namespace processing.</p>
|
||||
*
|
||||
* @param qName The qualified (prefixed) name.
|
||||
* @param qAtts The XML 1.0 attribute list (with qnames).
|
||||
* @param qAtts The XML attribute list (with qnames).
|
||||
* @exception SAXException The client may raise a
|
||||
* processing exception.
|
||||
*/
|
||||
@ -547,13 +552,21 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||
// (and similarly named) attributes ... ignore
|
||||
prefix = null;
|
||||
} else {
|
||||
prefix = attQName.substring(n+1);
|
||||
prefix = attQName.substring(6);
|
||||
}
|
||||
// Yes, decl: report or prune
|
||||
if (prefix != null) {
|
||||
if (prefixes)
|
||||
atts.addAttribute("", "", attQName.intern(),
|
||||
type, value);
|
||||
if (prefixes) {
|
||||
if (uris)
|
||||
// note funky case: localname can be null
|
||||
// when declaring the default prefix, and
|
||||
// yet the uri isn't null.
|
||||
atts.addAttribute (nsSupport.XMLNS, prefix,
|
||||
attQName.intern(), type, value);
|
||||
else
|
||||
atts.addAttribute ("", "",
|
||||
attQName.intern(), type, value);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@ -691,7 +704,13 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||
*/
|
||||
private void setupParser ()
|
||||
{
|
||||
// catch an illegal "nonsense" state.
|
||||
if (!prefixes && !namespaces)
|
||||
throw new IllegalStateException ();
|
||||
|
||||
nsSupport.reset();
|
||||
if (uris)
|
||||
nsSupport.setNamespaceDeclUris (true);
|
||||
|
||||
if (entityResolver != null) {
|
||||
parser.setEntityResolver(entityResolver);
|
||||
@ -809,6 +828,7 @@ public class ParserAdapter implements XMLReader, DocumentHandler
|
||||
// Features
|
||||
private boolean namespaces = true;
|
||||
private boolean prefixes = false;
|
||||
private boolean uris = false;
|
||||
|
||||
// Properties
|
||||
|
||||
|
||||
@ -5,6 +5,12 @@
|
||||
|
||||
package org.xml.sax.helpers;
|
||||
|
||||
import java.lang.ClassNotFoundException;
|
||||
import java.lang.IllegalAccessException;
|
||||
import java.lang.InstantiationException;
|
||||
import java.lang.SecurityException;
|
||||
import java.lang.ClassCastException;
|
||||
|
||||
import org.xml.sax.Parser;
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
// http://www.saxproject.org
|
||||
// Written by David Megginson
|
||||
// NO WARRANTY! This class is in the Public Domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.helpers;
|
||||
@ -254,7 +253,7 @@ public class XMLFilterImpl
|
||||
/**
|
||||
* Set the DTD event handler.
|
||||
*
|
||||
* @param resolver The new DTD handler.
|
||||
* @param handler the new DTD handler
|
||||
*/
|
||||
public void setDTDHandler (DTDHandler handler)
|
||||
{
|
||||
@ -276,7 +275,7 @@ public class XMLFilterImpl
|
||||
/**
|
||||
* Set the content event handler.
|
||||
*
|
||||
* @param resolver The new content handler.
|
||||
* @param handler the new content handler
|
||||
*/
|
||||
public void setContentHandler (ContentHandler handler)
|
||||
{
|
||||
@ -298,7 +297,7 @@ public class XMLFilterImpl
|
||||
/**
|
||||
* Set the error event handler.
|
||||
*
|
||||
* @param handle The new error handler.
|
||||
* @param handler the new error handler
|
||||
*/
|
||||
public void setErrorHandler (ErrorHandler handler)
|
||||
{
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
// http://www.saxproject.org
|
||||
// Written by David Megginson
|
||||
// NO WARRANTY! This class is in the public domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.helpers;
|
||||
@ -108,7 +107,7 @@ public class XMLReaderAdapter implements Parser, ContentHandler
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Implementation of org.xml.sax.Parser.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -120,7 +119,7 @@ public class XMLReaderAdapter implements Parser, ContentHandler
|
||||
* <p>This is not supported in SAX2, and will always throw
|
||||
* an exception.</p>
|
||||
*
|
||||
* @param The locale for error reporting.
|
||||
* @param locale the locale for error reporting.
|
||||
* @see org.xml.sax.Parser#setLocale
|
||||
* @exception org.xml.sax.SAXException Thrown unless overridden.
|
||||
*/
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
// Written by David Megginson
|
||||
// and by David Brownell
|
||||
// NO WARRANTY! This class is in the Public Domain.
|
||||
|
||||
// $Id$
|
||||
|
||||
package org.xml.sax.helpers;
|
||||
@ -110,7 +109,7 @@ final public class XMLReaderFactory
|
||||
|
||||
// 1. try the JVM-instance-wide system property
|
||||
try { className = System.getProperty (property); }
|
||||
catch (Exception e) { /* normally fails for applets */ }
|
||||
catch (RuntimeException e) { /* normally fails for applets */ }
|
||||
|
||||
// 2. if that fails, try META-INF/services/
|
||||
if (className == null) {
|
||||
@ -141,6 +140,7 @@ final public class XMLReaderFactory
|
||||
// EXAMPLE:
|
||||
// className = "com.example.sax.XmlReader";
|
||||
// or a $JAVA_HOME/jre/lib/*properties setting...
|
||||
className = "org.apache.xerces.parsers.SAXParser";
|
||||
|
||||
// END DISTRIBUTION-SPECIFIC
|
||||
}
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
<HTML><HEAD>
|
||||
|
||||
<!-- $Id$ -->
|
||||
|
||||
</HEAD><BODY>
|
||||
|
||||
<p>This package contains "helper" classes, including
|
||||
|
||||
169
java/external/src/org/xml/sax/package.html
vendored
169
java/external/src/org/xml/sax/package.html
vendored
@ -1,13 +1,11 @@
|
||||
<html><head>
|
||||
|
||||
<!-- $Id$ -->
|
||||
|
||||
</head><body>
|
||||
|
||||
<p> This package provides the core SAX APIs.
|
||||
Some SAX1 APIs are deprecated to encourage integration of
|
||||
namespace-awareness into designs of new applications
|
||||
and into maintainance of existing infrastructure. </p>
|
||||
and into maintenance of existing infrastructure. </p>
|
||||
|
||||
<p>See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
|
||||
for more information about SAX.</p>
|
||||
@ -29,68 +27,194 @@ Currently defined standard feature URIs have the prefix
|
||||
<table border="1" cellpadding="3" cellspacing="0" width="100%">
|
||||
<tr align="center" bgcolor="#ccccff">
|
||||
<th>Feature ID</th>
|
||||
<th>Access</th>
|
||||
<th>Default</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>external-general-entities</td>
|
||||
<td><em>read/write</em></td>
|
||||
<td><em>unspecified</em></td>
|
||||
<td> Reports whether this parser processes external
|
||||
general entities; always true if validating</td>
|
||||
general entities; always true if validating.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>external-parameter-entities</td>
|
||||
<td><em>read/write</em></td>
|
||||
<td><em>unspecified</em></td>
|
||||
<td> Reports whether this parser processes external
|
||||
parameter entities; always true if validating</td>
|
||||
parameter entities; always true if validating.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>is-standalone</td>
|
||||
<td>(parsing) <em>read-only</em>, (not parsing) <em>none</em></td>
|
||||
<td>not applicable</td>
|
||||
<td> May be examined only during a parse, after the
|
||||
<em>startDocument()</em> callback has been completed; read-only.
|
||||
The value is true if the document specified standalone="yes" in
|
||||
its XML declaration, and otherwise is false.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>lexical-handler/parameter-entities</td>
|
||||
<td><em>read/write</em></td>
|
||||
<td><em>unspecified</em></td>
|
||||
<td> true indicates that the LexicalHandler will report the
|
||||
beginning and end of parameter entities
|
||||
</td>
|
||||
<td> A value of "true" indicates that the LexicalHandler will report
|
||||
the beginning and end of parameter entities.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>namespaces</td>
|
||||
<td><em>read/write</em></td>
|
||||
<td>true</td>
|
||||
<td> true indicates namespace URIs and unprefixed local names
|
||||
for element and attribute names will be available </td>
|
||||
<td> A value of "true" indicates namespace URIs and unprefixed local names
|
||||
for element and attribute names will be available.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>namespace-prefixes</td>
|
||||
<td><em>read/write</em></td>
|
||||
<td>false</td>
|
||||
<td> true indicates XML 1.0 names (with prefixes) and attributes
|
||||
(including <em>xmlns*</em> attributes) will be available </td>
|
||||
<td> A value of "true" indicates that XML qualified names (with prefixes) and
|
||||
attributes (including <em>xmlns*</em> attributes) will be available.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>resolve-dtd-uris</td>
|
||||
<td><em>read/write</em></td>
|
||||
<td><em>true</em></td>
|
||||
<td> A value of "true" indicates that system IDs in declarations will
|
||||
be absolutized (relative to their base URIs) before reporting.
|
||||
(That is the default behavior for all SAX2 XML parsers.)
|
||||
A value of "false" indicates those IDs will not be absolutized;
|
||||
parsers will provide the base URI from
|
||||
<em>Locator.getSystemId()</em>.
|
||||
This applies to system IDs passed in <ul>
|
||||
<li><em>DTDHandler.notationDecl()</em>,
|
||||
<li><em>DTDHandler.unparsedEntityDecl()</em>, and
|
||||
<li><em>DeclHandler.externalEntityDecl()</em>.
|
||||
</ul>
|
||||
It does not apply to <em>EntityResolver.resolveEntity()</em>,
|
||||
which is not used to report declarations, or to
|
||||
<em>LexicalHandler.startDTD()</em>, which already provides
|
||||
the non-absolutized URI.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>string-interning</td>
|
||||
<td><em>read/write</em></td>
|
||||
<td><em>unspecified</em></td>
|
||||
<td> true if all XML names (for elements, prefixes, attributes,
|
||||
entities, notations, and local names),
|
||||
<td> Has a value of "true" if all XML names (for elements, prefixes,
|
||||
attributes, entities, notations, and local names),
|
||||
as well as Namespace URIs, will have been interned
|
||||
using <em>java.lang.String.intern</em>. This supports fast
|
||||
testing of equality/inequality against string constants.</td>
|
||||
testing of equality/inequality against string constants,
|
||||
rather than forcing slower calls to <em>String.equals()</em>.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>unicode-normalization-checking</td>
|
||||
<td><em>read/write</em></td>
|
||||
<td><em>false</em></td>
|
||||
<td> Controls whether the parser reports Unicode normalization
|
||||
errors as described in section 2.13 and Appendix B of the
|
||||
XML 1.1 Recommendation. If true, Unicode normalization
|
||||
errors are reported using the ErrorHandler.error() callback.
|
||||
Such errors are not fatal in themselves (though, obviously,
|
||||
other Unicode-related encoding errors may be).
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>use-attributes2</td>
|
||||
<td><em>read-only</em></td>
|
||||
<td>not applicable</td>
|
||||
<td> Returns "true" if the <em>Attributes</em> objects passed by
|
||||
this parser in <em>ContentHandler.startElement()</em>
|
||||
implement the <a href="ext/Attributes2.html"
|
||||
><em>org.xml.sax.ext.Attributes2</em></a> interface.
|
||||
That interface exposes additional DTD-related information,
|
||||
such as whether the attribute was specified in the
|
||||
source text rather than defaulted.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>use-locator2</td>
|
||||
<td><em>read-only</em></td>
|
||||
<td>not applicable</td>
|
||||
<td> Returns "true" if the <em>Locator</em> objects passed by
|
||||
this parser in <em>ContentHandler.setDocumentLocator()</em>
|
||||
implement the <a href="ext/Locator2.html"
|
||||
><em>org.xml.sax.ext.Locator2</em></a> interface.
|
||||
That interface exposes additional entity information,
|
||||
such as the character encoding and XML version used.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>use-entity-resolver2</td>
|
||||
<td><em>read/write</em></td>
|
||||
<td><em>true</em></td>
|
||||
<td> Returns "true" if, when <em>setEntityResolver</em> is given
|
||||
an object implementing the <a href="ext/EntityResolver2.html"
|
||||
><em>org.xml.sax.ext.EntityResolver2</em></a> interface,
|
||||
those new methods will be used.
|
||||
Returns "false" to indicate that those methods will not be used.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>validation</td>
|
||||
<td><em>read/write</em></td>
|
||||
<td><em>unspecified</em></td>
|
||||
<td> controls whether the parser is reporting all validity
|
||||
errors; if true, all external entities will be read. </td>
|
||||
<td> Controls whether the parser is reporting all validity
|
||||
errors; if true, all external entities will be read.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>xmlns-uris</td>
|
||||
<td><em>read/write</em></td>
|
||||
<td><em>false</em></td>
|
||||
<td> Controls whether, when the <em>namespace-prefixes</em> feature
|
||||
is set, the parser treats namespace declaration attributes as
|
||||
being in the <em>http://www.w3.org/2000/xmlns/</em> namespace.
|
||||
By default, SAX2 conforms to the original "Namespaces in XML"
|
||||
Recommendation, which explicitly states that such attributes are
|
||||
not in any namespace.
|
||||
Setting this optional flag to "true" makes the SAX2 events conform to
|
||||
a later backwards-incompatible revision of that recommendation,
|
||||
placing those attributes in a namespace.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>xml-1.1</td>
|
||||
<td><em>read-only</em></td>
|
||||
<td>not applicable</td>
|
||||
<td> Returns "true" if the parser supports both XML 1.1 and XML 1.0.
|
||||
Returns "false" if the parser supports only XML 1.0.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<p> Support for the default values of the
|
||||
<em>namespaces</em> and <em>namespace-prefixes</em>
|
||||
properties is required.
|
||||
Support for any other feature flags is entirely optional.
|
||||
</p>
|
||||
|
||||
<p> For default values not specified by SAX2,
|
||||
@ -128,6 +252,15 @@ the standard property URIs have the prefix
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>document-xml-version</td>
|
||||
<td> May be examined only during a parse, after the startDocument()
|
||||
callback has been completed; read-only. This property is a
|
||||
literal string describing the actual XML version of the document,
|
||||
such as "1.0" or "1.1".
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>dom-node</td>
|
||||
<td> For "DOM Walker" style parsers, which ignore their
|
||||
@ -141,7 +274,7 @@ the standard property URIs have the prefix
|
||||
<tr>
|
||||
<td>lexical-handler</td>
|
||||
<td> Used to see some syntax events that are essential in some
|
||||
applications: comments, CDATA delimeters, selected general
|
||||
applications: comments, CDATA delimiters, selected general
|
||||
entity inclusions, and the start and end of the DTD
|
||||
(and declaration of document element name).
|
||||
The Object must implement <a href="ext/LexicalHandler.html"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user