You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by el...@apache.org on 2003/03/24 15:28:46 UTC
cvs commit: xml-xerces/java/src/org/w3c/dom/ls ElementLS.java DOMBuilder.java DOMBuilderFilter.java DOMEntityResolver.java DOMImplementationLS.java DOMInputSource.java DOMWriter.java DOMWriterFilter.java DocumentLS.java LSLoadEvent.java LSProgressEvent.java ParseErrorEvent.java
elena 2003/03/24 06:28:45
Modified: java/src/org/apache/xerces/parsers AbstractDOMParser.java
DOMBuilderImpl.java
java/src/org/w3c/dom/ls DOMBuilder.java
DOMBuilderFilter.java DOMEntityResolver.java
DOMImplementationLS.java DOMInputSource.java
DOMWriter.java DOMWriterFilter.java DocumentLS.java
LSLoadEvent.java LSProgressEvent.java
Added: java/src/org/w3c/dom/ls ElementLS.java
Removed: java/src/org/w3c/dom/ls ParseErrorEvent.java
Log:
Update DOM L3 Load and Save implementation according to the latest draft:
http://www.w3.org/TR/2003/WD-DOM-Level-3-LS-20030226/
Revision Changes Path
1.84 +9 -1 xml-xerces/java/src/org/apache/xerces/parsers/AbstractDOMParser.java
Index: AbstractDOMParser.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/parsers/AbstractDOMParser.java,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -r1.83 -r1.84
--- AbstractDOMParser.java 4 Feb 2003 21:03:20 -0000 1.83
+++ AbstractDOMParser.java 24 Mar 2003 14:28:44 -0000 1.84
@@ -2536,6 +2536,14 @@
} // end-if child !=null
}
+
+
+ /**
+ * @see org.w3c.dom.ls.DOMBuilder#abort()
+ */
+ public void abort() {
+ throw new RuntimeException();
+ }
} // class AbstractDOMParser
1.32 +27 -6 xml-xerces/java/src/org/apache/xerces/parsers/DOMBuilderImpl.java
Index: DOMBuilderImpl.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/parsers/DOMBuilderImpl.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- DOMBuilderImpl.java 23 Jan 2003 19:39:13 -0000 1.31
+++ DOMBuilderImpl.java 24 Mar 2003 14:28:44 -0000 1.32
@@ -138,6 +138,8 @@
// REVISIT: this value should be null by default and should be set during creation of
// DOMBuilder
protected String fSchemaType = null;
+
+ protected boolean fBusy = false;
protected final static boolean DEBUG = false;
@@ -682,10 +684,13 @@
*/
public Document parseURI(String uri) {
XMLInputSource source = new XMLInputSource(null, uri, null);
-
+
+ fBusy = true;
try {
parse(source);
+ fBusy = false;
} catch (Exception e){
+ fBusy = false;
if (fErrorHandler != null) {
DOMErrorImpl error = new DOMErrorImpl();
error.fException = e;
@@ -709,22 +714,25 @@
// need to wrap the DOMInputSource with an XMLInputSource
XMLInputSource xmlInputSource = dom2xmlInputSource(is);
-
- try {
+ fBusy = true;
+
+ try {
parse(xmlInputSource);
+ fBusy = false;
} catch (Exception e) {
+ fBusy = false;
if (fErrorHandler != null) {
DOMErrorImpl error = new DOMErrorImpl();
error.fException = e;
error.fMessage = e.getMessage();
error.fSeverity = error.SEVERITY_FATAL_ERROR;
fErrorHandler.getErrorHandler().handleError(error);
-
}
if (DEBUG) {
e.printStackTrace();
}
}
+
return getDocument();
}
@@ -747,7 +755,7 @@
* HIERARCHY_REQUEST_ERR: Thrown if this action results in an invalid
* hierarchy (i.e. a Document with more than one document element).
*/
- public void parseWithContext(DOMInputSource is, Node cnode,
+ public Node parseWithContext(DOMInputSource is, Node cnode,
short action) throws DOMException {
// REVISIT: need to implement.
throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Not supported");
@@ -792,5 +800,18 @@
return xis;
}
+ /**
+ * @see org.w3c.dom.ls.DOMBuilder#getAsync()
+ */
+ public boolean getAsync() {
+ return false;
+ }
+
+ /**
+ * @see org.w3c.dom.ls.DOMBuilder#getBusy()
+ */
+ public boolean getBusy() {
+ return fBusy;
+ }
} // class DOMBuilderImpl
1.7 +202 -277 xml-xerces/java/src/org/w3c/dom/ls/DOMBuilder.java
Index: DOMBuilder.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/w3c/dom/ls/DOMBuilder.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DOMBuilder.java 11 Dec 2002 16:15:26 -0000 1.6
+++ DOMBuilder.java 24 Mar 2003 14:28:45 -0000 1.7
@@ -1,392 +1,317 @@
/*
- * Copyright (c) 2002 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) 2003 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.apache.xerces.dom3.DOMConfiguration;
import org.w3c.dom.Node;
import org.w3c.dom.DOMException;
-import org.apache.xerces.dom3.DOMConfiguration;
/**
- * <strong>DOM Level 3 WD Experimental:
+ * DOM Level 3 WD Experimental:
* The DOM Level 3 specification is at the stage
* of Working Draft, which represents work in
* progress and thus may be updated, replaced,
- * or obsoleted by other documents at any time.</strong> <p>
- * A interface to an object that is able to build a DOM tree from various
- * input sources.
- * <p><code>DOMBuilder</code> provides an API for parsing XML documents and
+ * or obsoleted by other documents at any time.
+ *
+ * A interface to an object that is able to build a DOM tree from various
+ * input sources.
+ * <p> <code>DOMBuilder</code> provides an API for parsing XML documents and
* building the corresponding DOM document tree. A <code>DOMBuilder</code>
- * instance is obtained from the <code>DOMImplementationLS</code> interface
- * by invoking its <code>createDOMBuilder</code>method.
- * <p> As specified in , when a document is first made available via the
- * DOMBuilder: there is only one <code>Text</code> node for each block of
- * text. The <code>Text</code> nodes are into "normal" form: only structure
- * (e.g., elements, comments, processing instructions, CDATA sections, and
- * entity references) separates <code>Text</code> nodes, i.e., there are
- * neither adjacent <code>Text</code> nodes nor empty <code>Text</code>
- * nodes. it is expected that the <code>value</code> and
- * <code>nodeValue</code> attributes of an <code>Attr</code> node initially
- * return the XML 1.0 normalized value. However, if the features
- * <code>validate-if-schema</code> and <code>datatype-normalization</code>
- * 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 feature
- * <code>datatype-normalization</code> is not set to <code>true</code>, the
- * XML 1.0 attribute normalization is guaranteed to occur, and if attributes
- * list does not contain namespace declarations, the <code>attributes</code>
- * attribute on <code>Element</code> node represents the property
- * [attributes] defined in . XML Schemas does not modify the XML attribute
- * normalization but represents their normalized value in an other
- * information item property: [schema normalized value]XML Schema
- * normalization only occurs if <code>datatype-normalization</code> is set
- * to <code>true</code>.
+ * instance is obtained by invoking the
+ * <code>DOMImplementationLS.createDOMBuilder</code> method.
+ * <p> As specified in [<a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20021022'>DOM Level 3 Core</a>]
+ * , when a document is first made available via the DOMBuilder:
+ * <ul>
+ * <li> there is
+ * only one <code>Text</code> node for each block of text. The
+ * <code>Text</code> nodes are in "normal" form: only structure (e.g.
+ * elements, comments, processing instructions, CDATA sections, and entity
+ * references) separates <code>Text</code> nodes, i.e., there are neither
+ * adjacent nor empty <code>Text</code> 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/2000/REC-xml-20001006#AVNormalize'>XML 1.0
+ * normalized value</a>. However, if the boolean parameters <code>validate-if-schema</code> and
+ * <code>datatype-normalization</code> 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 boolean parameter <code>datatype-normalization</code> is set to
+ * <code>false</code>, the XML 1.0 attribute normalization is guaranteed to
+ * occur, and if attributes list does not contain namespace declarations,
+ * the <code>attributes</code> attribute on <code>Element</code> node
+ * represents the property [attributes] defined in [<a href='http://www.w3.org/TR/2001/REC-xml-infoset-20011024/'>XML Information set</a>]
+ * . XML Schemas does not modify the XML attribute normalization but
+ * represents their normalized value in an other information item property:
+ * [schema normalized value]XML Schema normalization only occurs if
+ * <code>datatype-normalization</code> is set to <code>true</code>.
+ * </li>
+ * </ul>
* <p> Asynchronous <code>DOMBuilder</code> objects are expected to also
* implement the <code>events::EventTarget</code> interface so that event
* listeners can be registered on asynchronous <code>DOMBuilder</code>
* objects.
- * <p> Events supported by asynchronous <code>DOMBuilder</code> are: load: The
- * document that's being loaded is completely parsed, see the definition of
- * <code>LSLoadEvent</code>progress: Progress notification, see the
- * definition of <code>LSProgressEvent</code> All events defined in this
- * specification use the namespace URI
- * <code>"http://www.w3.org/2002/DOMLS"</code>.
- * <p> <code>DOMBuilder</code>s have a number of named features that can be
- * queried or set. The name of <code>DOMBuilder</code> features must be
- * valid XML names. Implementation specific features (extensions) should
- * choose a implementation specific prefix to avoid name collisions.
- * <p> Even if all features must be recognized by all implementations, being
- * able to set a state (<code>true</code> or <code>false</code>) is not
- * always required. The following list of recognized features indicates the
- * definitions of each feature state, if setting the state to
- * <code>true</code> or <code>false</code> must be supported or is optional
- * and, which state is the default one:
- * <dl>
- * <dt><code>"canonical-form"</code></dt>
- * <dd> This
- * feature is equivalent to the one provided on
- * <code>Document.setNormalizationFeature</code> in . </dd>
- * <dt>
- * <code>"cdata-sections"</code></dt>
- * <dd> This feature is equivalent to the one
- * provided on <code>Document.setNormalizationFeature</code> in . </dd>
- * <dt>
- * <code>"certified"</code></dt>
- * <dd>
- * <dl>
- * <dt><code>true</code></dt>
- * <dd>[optional] Assume, when XML 1.1
- * is supported, that the input is certified (see section 2.13 in ). </dd>
- * <dt>
- * <code>false</code></dt>
- * <dd>[required] (default) Don't assume that the input is
- * certified (see section 2.13 in ). </dd>
- * </dl></dd>
- * <dt>
- * <code>"charset-overrides-xml-encoding"</code></dt>
- * <dd>
- * <dl>
- * <dt><code>true</code></dt>
- * <dd>[required] (
- * default) If a higher level protocol such as HTTP 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 4.3.3 "Character Encoding in Entities").
- * Explicitly setting an encoding in the <code>DOMInputSource</code>
- * overrides encodings from the protocol. </dd>
- * <dt><code>false</code></dt>
- * <dd>[required] Any
- * character set encoding information from higher level protocols is ignored
- * by the parser. </dd>
- * </dl></dd>
- * <dt><code>"comments"</code></dt>
- * <dd> This feature is equivalent to the
- * one provided on <code>Document.setNormalizationFeature</code> in . </dd>
- * <dt>
- * <code>"datatype-normalization"</code></dt>
- * <dd> This feature is equivalent to the
- * one provided on <code>Document.setNormalizationFeature</code> in . </dd>
- * <dt>
- * <code>"entities"</code></dt>
- * <dd> This feature is equivalent to the one provided on
- * <code>Document.setNormalizationFeature</code> in . </dd>
- * <dt><code>"infoset"</code></dt>
- * <dd>
- * This feature is equivalent to the one provided on
- * <code>Document.setNormalizationFeature</code> in . Setting this feature
- * to <code>true</code> will also force the feature <code>namespaces</code>
- * to <code>true</code>. </dd>
- * <dt><code>"namespaces"</code></dt>
- * <dd>
- * <dl>
- * <dt><code>true</code></dt>
- * <dd>[required
- * ] (default) Perform the namespace processing as defined in . </dd>
- * <dt>
- * <code>false</code></dt>
- * <dd>[optional] Do not perform the namespace processing. </dd>
- * </dl></dd>
- * <dt>
- * <code>"namespace-declarations"</code></dt>
- * <dd> This feature is equivalent to the
- * one provided on <code>Document.setNormalizationFeature</code> in . </dd>
- * <dt>
- * <code>"supported-mediatypes-only"</code></dt>
- * <dd>
- * <dl>
- * <dt><code>true</code></dt>
- * <dd>[optional] Check
- * that the media type of the parsed resource is a supported media type and
- * call the error handler if an unsupported media type is encountered. The
- * media types defined in must be accepted. </dd>
- * <dt><code>false</code></dt>
- * <dd>[required] (
- * default) Don't check the media type, accept any type of data. </dd>
- * </dl></dd>
- * <dt>
- * <code>"unknown-characters"</code></dt>
- * <dd>
- * <dl>
- * <dt><code>true</code></dt>
- * <dd>[required] (default)
- * If, while verifying full normalization when XML 1.1 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. </dd>
- * <dt><code>false</code></dt>
- * <dd>[optional]
- * Report an fatal error if a character is encountered for which the
- * processor can not determine the normalization properties. </dd>
- * </dl></dd>
- * <dt>
- * <code>"validate"</code></dt>
- * <dd> This feature is equivalent to the one provided on
- * <code>Document.setNormalizationFeature</code> in . </dd>
- * <dt>
- * <code>"validate-if-schema"</code></dt>
- * <dd> This feature is equivalent to the one
- * provided on <code>Document.setNormalizationFeature</code> in . </dd>
- * <dt>
- * <code>"whitespace-in-element-content"</code></dt>
- * <dd> This feature is equivalent
- * to the one provided on <code>Document.setNormalizationFeature</code> in . </dd>
- * </dl>
- * <p>See also the <a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-LS-20020725'>Document Object Model (DOM) Level 3 Load
+ * <p> Events supported by asynchronous <code>DOMBuilder</code> objects are:
+ * <ul>
+ * <li><b>load</b>: The document that's being loaded is completely parsed, see the
+ * definition of <code>LSLoadEvent</code>
+ * </li>
+ * <li><b>progress</b>: Progress notification, see the definition of <code>LSProgressEvent</code>
+ * </li>
+ * </ul>
+ * <p ><b>Note:</b> All events defined in this specification use the
+ * namespace URI "<a href='http://www.w3.org/2002/DOMLS'>http://www.w3.org/2002/DOMLS</a>". ED: State that a parse operation may fail due to security reasons (DOM
+ * LS telecon 20021202).
+ * <p>See also the <a href='http://www.w3.org/TR/2003/WD-DOM-Level-3-LS-20030226'>Document Object Model (DOM) Level 3 Load
and Save Specification</a>.
*/
public interface DOMBuilder {
-
- /**
+ /**
* The configuration used when a document is loaded. The values of
* parameters used to load a document are not passed automatically to
* the <code>DOMConfiguration</code> object used by the
* <code>Document</code> nodes. The DOM application is responsible for
* passing the parameters values from the <code>DOMConfiguration</code>
- * object referenced from <code>DOMBuilder</code> to the
- * <code>DOMConfiguration</code> object referenced from
- * <code>Document</code>.
+ * object referenced from the <code>DOMBuilder</code> to the
+ * <code>DOMConfiguration</code> object referenced from the
+ * <code>Document</code> node.
* <br> In addition to the boolean parameters and parameters recognized in
* the Core module, the <code>DOMConfiguration</code> objects for
* <code>DOMBuider</code> adds the following boolean parameters:
* <dl>
* <dt>
* <code>"entity-resolver"</code></dt>
- * <dd>[required] A
- * <code>DOMEntityResolver</code> object. If this parameter has been
+ * <dd>[<em>required</em>] A <code>DOMEntityResolver</code> object. If this parameter has been
* specified, each time a reference to an external entity is encountered
* the implementation will pass the public and system IDs to the entity
* resolver, which can then specify the actual source of the entity. If
* this parameter is not set, the resolution of entities in the document
- * is implementation dependent. When the features "LS-Load" or
- * "LS-Save" are supported, this parameter may also be supported by the
+ * is implementation dependent.
+ * <p ><b>Note:</b> When the features "LS-Load" or "LS-Save" are
+ * supported, this parameter may also be supported by the
* <code>DOMConfiguration</code> object referenced from the
* <code>Document</code> node. </dd>
* <dt><code>"certified"</code></dt>
* <dd>
* <dl>
* <dt><code>true</code></dt>
- * <dd>[
- * optional] Assume, when XML 1.1 is supported, that the input is
- * certified (see section 2.13 in [<a href='http://www.w3.org/TR/2002/CR-xml11-20021015/'>XML 1.1</a>]). </dd>
- * <dt><code>false</code></dt>
- * <dd>[required] (
- * default) Don't assume that the input is certified (see section 2.13
- * in [<a href='http://www.w3.org/TR/2002/CR-xml11-20021015/'>XML 1.1</a>]). </dd>
+ * <dd>[<em>optional</em>] Assume, when XML 1.1 is supported, that the input is certified (see
+ * section 2.13 in [<a href='http://www.w3.org/TR/2002/CR-xml11-20021015/'>XML 1.1</a>]). </dd>
+ * <dt>
+ * <code>false</code></dt>
+ * <dd>[<em>required</em>] (<em>default</em>) Don't assume that the input is certified (see section 2.13 in [<a href='http://www.w3.org/TR/2002/CR-xml11-20021015/'>XML 1.1</a>]). </dd>
* </dl></dd>
- * <dt><code>"charset-overrides-xml-encoding"</code></dt>
+ * <dt>
+ * <code>"charset-overrides-xml-encoding"</code></dt>
* <dd>
* <dl>
* <dt><code>true</code></dt>
- * <dd>[
- * required] (default) 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
+ * <dd>[<em>required</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 [<a href='http://www.w3.org/TR/2000/REC-xml-20001006'>XML 1.0</a>] 4.3.3 "Character
- * Encoding in Entities"). Explicitly setting an encoding in the
- * <code>DOMInputSource</code> overrides encodings from the protocol. </dd>
- * <dt>
- * <code>false</code></dt>
- * <dd>[required] Any character set encoding information
- * from higher level protocols is ignored by the parser. </dd>
+ * declaration or the Text declaration (see also [<a href='http://www.w3.org/TR/2000/REC-xml-20001006'>XML 1.0</a>] 4.3.3
+ * "Character Encoding in Entities"). Explicitly setting an encoding in
+ * the <code>DOMInputSource</code> overrides encodings from the
+ * protocol. </dd>
+ * <dt><code>false</code></dt>
+ * <dd>[<em>required</em>] Any character set encoding information from higher level protocols is
+ * ignored by the parser. </dd>
* </dl></dd>
- * <dt>
- * <code>"supported-mediatypes-only"</code></dt>
+ * <dt><code>"supported-mediatypes-only"</code></dt>
* <dd>
* <dl>
- * <dt><code>true</code></dt>
- * <dd>[optional]
- * Check that the media type of the parsed resource is a supported media
- * type and call the error handler if an unsupported media type is
- * encountered. The media types defined in [<a href='http://www.ietf.org/rfc/rfc3023.txt'>IETF RFC 3023</a>] must be accepted. </dd>
* <dt>
- * <code>false</code></dt>
- * <dd>[required] (default) Don't check the media type,
- * accept any type of data. </dd>
+ * <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>"unknown-characters"</code></dt>
* <dd>
* <dl>
* <dt>
* <code>true</code></dt>
- * <dd>[required] (default) If, while verifying full
- * normalization when [<a href='http://www.w3.org/TR/2002/CR-xml11-20021015/'>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. </dd>
- * <dt><code>false</code></dt>
- * <dd>[optional] Report an fatal error if a
- * character is encountered for which the processor can not determine
- * the normalization properties. </dd>
+ * <dd>[<em>required</em>] (<em>default</em>) If, while verifying full normalization when [<a href='http://www.w3.org/TR/2002/CR-xml11-20021015/'>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 [<a href='http://www.w3.org/TR/2000/REC-xml-20001006'>XML 1.0</a>]. </dd>
+ * <dt>
+ * <code>false</code></dt>
+ * <dd>[<em>optional</em>] Report an fatal error if a character is encountered for which the
+ * processor can not determine the normalization properties. </dd>
* </dl></dd>
* </dl>
*/
-
public DOMConfiguration getConfig();
-
/**
- * When the application provides a filter, the parser will call out to
- * the filter at the completion of the construction of each
- * <code>Element</code> node. The filter implementation can choose to
- * remove the element from the document being constructed (unless the
- * element is the document element) or to terminate the parse early. If
- * the document is being validated when it's loaded the validation
- * happens before the filter is called.
+ * 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 <code>"validate"</code> is set to true, the validation is
+ * done before invoking the filter.
*/
public DOMBuilderFilter getFilter();
/**
- * When the application provides a filter, the parser will call out to
- * the filter at the completion of the construction of each
- * <code>Element</code> node. The filter implementation can choose to
- * remove the element from the document being constructed (unless the
- * element is the document element) or to terminate the parse early. If
- * the document is being validated when it's loaded the validation
- * happens before the filter is called.
+ * 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 <code>"validate"</code> is set to true, the validation is
+ * done before invoking the filter.
*/
public void setFilter(DOMBuilderFilter filter);
+ /**
+ * True if the <code>DOMBuider</code> is asynchronous, false if it is
+ * synchronous.
+ */
+ public boolean getAsync();
/**
- * Parse an XML document from a location identified by a URI reference .
- * If the URI contains a fragment identifier (see section 4.1 in ), the
- * behavior is not defined by this specification, but future versions of
- * this specification might define the behavior.
- * @param uri The location of the XML document to be read.
- * @return If the <code>DOMBuilder</code> is a synchronous
- * <code>DOMBuilder</code> the newly created and populated
- * <code>Document</code> is returned. If the <code>DOMBuilder</code>
- * is asynchronous then <code>null</code> is returned since the
- * document object is not yet parsed when this method returns.
+ * True if the <code>DOMBuider</code> is currently busy loading a
+ * document, otherwise false.
*/
- public Document parseURI(String uri);
+ public boolean getBusy();
/**
* Parse an XML document from a resource identified by a
* <code>DOMInputSource</code>.
- * @param is The <code>DOMInputSource</code> from which the source
- * document is to be read.
- * @return If the <code>DOMBuilder</code> is a synchronous
- * <code>DOMBuilder</code> the newly created and populated
+ * @param is The <code>DOMInputSource</code> from which the source of
+ * the document is to be read.
+ * @return If the <code>DOMBuilder</code> is a synchronous
+ * <code>DOMBuilder</code>, the newly created and populated
+ * <code>Document</code> is returned. If the <code>DOMBuilder</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>DOMBuilder</code>'s
+ * <code>DOMBuilder.busy</code> attribute is true.
+ */
+ public Document parse(DOMInputSource is)
+ throws DOMException;
+
+ /**
+ * 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>DOMBuilder</code> is a synchronous
+ * <code>DOMBuilder</code>, the newly created and populated
* <code>Document</code> is returned. If the <code>DOMBuilder</code>
- * is asynchronous then <code>null</code> is returned since the
- * document object is not yet parsed when this method returns.
+ * 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>DOMBuilder</code>'s
+ * <code>DOMBuilder.busy</code> attribute is true.
*/
- public Document parse(DOMInputSource is);
+ public Document parseURI(String uri)
+ throws DOMException;
// ACTION_TYPES
/**
- * Replace the context node with the result of parsing the input source.
- * For this action to work the context node must have a parent and the
- * context node must be an <code>Element</code>, <code>Text</code>,
- * <code>CDATASection</code>, <code>Comment</code>,
- * <code>ProcessingInstruction</code>, or <code>EntityReference</code>
- * node.
+ * 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_REPLACE = 1;
+ public static final short ACTION_APPEND_AS_CHILDREN = 1;
/**
- * Append the result of the input source 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>.
+ * 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> or a <code>DocumentFragment</code>.
*/
- public static final short ACTION_APPEND_AS_CHILDREN = 2;
+ public static final short ACTION_REPLACE_CHILDREN = 2;
/**
- * Insert the result of parsing the input source after the context node.
- * For this action to work the context nodes parent must be an
- * <code>Element</code>.
+ * Insert the result of the parse operation as the immediately preceeding
+ * 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 = 3;
+ public static final short ACTION_INSERT_BEFORE = 3;
/**
- * Insert the result of parsing the input source before the context node.
- * For this action to work the context nodes parent must be an
- * <code>Element</code>.
+ * 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_BEFORE = 4;
+ 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>DOMInputSource</code> and insert the content into an existing
* document at the position specified with the <code>contextNode</code>
- * and <code>action</code> arguments. When parsing the input stream the
+ * and <code>action</code> arguments. When parsing the input stream, the
* context node is used for resolving unbound namespace prefixes. The
- * <code>Document</code> node, attached to the context node, is used to
- * resolved default attributes and entity references.
- * <br> As the new data is inserted into the document at least one
+ * context node's <code>ownerDocument</code> node 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 immediate child (or sibling) of context
* node.
* <br> If an error occurs while parsing, the caller is notified through
* the error handler.
* @param is The <code>DOMInputSource</code> from which the source
* document is to be read. The source document must be an XML
- * fragment, i.e. anything except an XML Document, a DOCTYPE, entities
- * declarations, notations declarations, or XML or text declarations.
+ * fragment, i.e. anything except a complete XML document, a DOCTYPE
+ * (internal subset), entity declaration(s), notation declaration(s),
+ * or XML or text declaration(s).
* @param cnode 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 element, e.g. it can not be an attribute
- * node.
+ * allowed as a child of an <code>Element</code> node, e.g. it can not
+ * be an <code>Attribute</code> node.
* @param action This parameter describes which action should be taken
* between the new set of node being inserted and the existing
* children of the context node. The set of possible actions is
* defined 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
- * NOT_SUPPORTED_ERR: Raised when the <code>DOMBuilder</code> doesn't
- * support this method.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if the context node is
+ * NOT_SUPPORTED_ERR: Raised if the <code>DOMBuilder</code> doesn't
+ * support this method.
+ * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if the context node is
* readonly.
+ * <br> INVALID_STATE_ERR: Raised if the <code>DOMBuilder</code>'s
+ * <code>DOMBuilder.busy</code> attribute is true.
*/
- public void parseWithContext(DOMInputSource is,
+ public Node parseWithContext(DOMInputSource is,
Node cnode,
short action)
throws DOMException;
+
+ /**
+ * Abort the loading of the document that is currently being loaded by
+ * the <code>DOMBuilder</code>. If the <code>DOMBuilder</code> is
+ * currently not busy, a call to this method does nothing.
+ */
+ public void abort();
}
1.5 +52 -25 xml-xerces/java/src/org/w3c/dom/ls/DOMBuilderFilter.java
Index: DOMBuilderFilter.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/w3c/dom/ls/DOMBuilderFilter.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DOMBuilderFilter.java 18 Sep 2002 22:03:17 -0000 1.4
+++ DOMBuilderFilter.java 24 Mar 2003 14:28:45 -0000 1.5
@@ -1,26 +1,27 @@
/*
- * Copyright (c) 2002 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) 2003 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.Element;
-import org.w3c.dom.Node;
+import org.w3c.dom.Node;
/**
- * <strong>DOM Level 3 WD Experimental:
+ * DOM Level 3 WD Experimental:
* The DOM Level 3 specification is at the stage
* of Working Draft, which represents work in
* progress and thus may be updated, replaced,
- * or obsoleted by other documents at any time.</strong> <p>
+ * or obsoleted by other documents at any time.
+ *
* <code>DOMBuilderFilter</code>s provide applications the ability to examine
* nodes as they are being constructed during a parse. As each node is
* examined, it may be modified or removed, or the entire parse may be
@@ -39,8 +40,10 @@
* <p> All default content, including default attributes, must be passed to
* the filter methods.
* <p> Any exception raised in the filter are ignored by the
- * <code>DOMBuilder</code>. The description of these methods is not complete
- * <p>See also the <a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-LS-20020725'>Document Object Model (DOM) Level 3 Load
+ * <code>DOMBuilder</code>.
+ * <p class="editorial"><b>Note:</b> The description of these methods is not
+ * complete
+ * <p>See also the <a href='http://www.w3.org/TR/2003/WD-DOM-Level-3-LS-20030226'>Document Object Model (DOM) Level 3 Load
and Save Specification</a>.
*/
public interface DOMBuilderFilter {
@@ -84,16 +87,30 @@
* @param elt The newly encountered element. At the time this method is
* called, the element is incomplete - it will have its attributes,
* but no children.
- * @return <code>FILTER_ACCEPT</code> if this <code>Element</code>
- * should be included in the DOM document being built.
+ * @return
+ * <ul>
+ * <li> <code>FILTER_ACCEPT</code> if this <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. <code>FILTER_SKIP</code> if the
+ * its children should be rejected. This return value will be ignored
+ * if <code>elt</code> is the documentElement, the documentElement can
+ * not be rejected.
+ * </li>
+ * <li> <code>FILTER_SKIP</code> if the
* <code>Element</code> should be rejected. All of its children are
- * inserted in place of the rejected <code>Element</code> node.
- * <code>FILTER_INTERRUPT</code> if the filter wants to stop the
- * processing of the document. Interrupting the processing of the
+ * inserted in place of the rejected <code>Element</code> node. This
+ * return value will be ignored if <code>elt</code> is the
+ * documentElement, the documentElement can not be rejected nor
+ * skipped.
+ * </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 entire is XML well-formed
- * . Returning any other values will result in unspecified behavior.
+ * .
+ * </li>
+ * </ul> Returning any other values will result in unspecified behavior.
*/
public short startElement(Element elt);
@@ -117,16 +134,26 @@
* 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 <code>FILTER_ACCEPT</code> if this <code>Node</code> should
- * be included in the DOM document being built.
+ * @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. <code>FILTER_SKIP</code> if the
+ * 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>.
+ * 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 entire is XML well-formed
* .
+ * </li>
+ * </ul>
*/
public short acceptNode(Node enode);
1.5 +22 -18 xml-xerces/java/src/org/w3c/dom/ls/DOMEntityResolver.java
Index: DOMEntityResolver.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/w3c/dom/ls/DOMEntityResolver.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DOMEntityResolver.java 18 Sep 2002 22:03:17 -0000 1.4
+++ DOMEntityResolver.java 24 Mar 2003 14:28:45 -0000 1.5
@@ -1,23 +1,24 @@
/*
- * Copyright (c) 2002 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) 2003 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;
/**
- * <strong>DOM Level 3 WD Experimental:
+ * DOM Level 3 WD Experimental:
* The DOM Level 3 specification is at the stage
* of Working Draft, which represents work in
* progress and thus may be updated, replaced,
- * or obsoleted by other documents at any time.</strong> <p>
+ * or obsoleted by other documents at any time.
+ *
* <code>DOMEntityResolver</code> Provides a way for applications to redirect
* references to external entities.
* <p>Applications needing to implement customized handling for external
@@ -30,9 +31,10 @@
* <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. <code>DOMEntityResolver</code> is based on the SAX2
- * <code>EntityResolver</code> interface.
- * <p>See also the <a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-LS-20020725'>Document Object Model (DOM) Level 3 Load
+ * use URNs.
+ * <p ><b>Note:</b> <code>DOMEntityResolver</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/2003/WD-DOM-Level-3-LS-20030226'>Document Object Model (DOM) Level 3 Load
and Save Specification</a>.
*/
public interface DOMEntityResolver {
@@ -51,12 +53,14 @@
* other input source (including, for example, a dialog box).
* <br>If the system identifier is a URI, the <code>DOMBuilder</code> must
* resolve it fully before reporting it to the application through this
- * interface. See issue #4. An alternative would be to pass the URI out
- * without resolving it, and to provide a base as an additional
- * parameter. SAX resolves URIs first, and does not provide a base.
+ * interface.
+ * <p class="editorial"><b>Note:</b> See issue #4. An alternative would
+ * be to pass the URI out without resolving it, and to provide a base as
+ * an additional parameter. SAX resolves URIs first, and does not
+ * provide a base.
* @param publicId The public identifier of the external entity being
* referenced, or <code>null</code> if none was supplied.
- * @param systemId The system identifier, a URI reference , of the
+ * @param systemId The system identifier, a URI reference [<a href='http://www.ietf.org/rfc/rfc2396.txt'>IETF RFC 2396</a>], of the
* external entity being referenced exactly as written in the source.
* @param baseURI The absolute base URI of the resource being parsed, or
* <code>null</code> if there is no base URI.
1.5 +27 -22 xml-xerces/java/src/org/w3c/dom/ls/DOMImplementationLS.java
Index: DOMImplementationLS.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/w3c/dom/ls/DOMImplementationLS.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DOMImplementationLS.java 18 Sep 2002 22:03:17 -0000 1.4
+++ DOMImplementationLS.java 24 Mar 2003 14:28:45 -0000 1.5
@@ -1,13 +1,13 @@
/*
- * Copyright (c) 2002 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) 2003 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;
@@ -15,11 +15,12 @@
import org.w3c.dom.DOMException;
/**
- * <strong>DOM Level 3 WD Experimental:
+ * DOM Level 3 WD Experimental:
* The DOM Level 3 specification is at the stage
* of Working Draft, which represents work in
* progress and thus may be updated, replaced,
- * or obsoleted by other documents at any time.</strong> <p>
+ * or obsoleted by other documents at any time.
+ *
* <code>DOMImplementationLS</code> contains the factory methods for creating
* objects that implement the <code>DOMBuilder</code> (parser) and
* <code>DOMWriter</code> (serializer) interfaces.
@@ -28,10 +29,11 @@
* 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 , by using the method <code>Node.getInterface</code> with
+ * defined in [<a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20021022'>DOM Level 3 Core</a>]
+ * , by using the method <code>DOMImplementation.getFeature</code> with
* parameter values <code>"LS-Load"</code> and <code>"3.0"</code>
* (respectively).
- * <p>See also the <a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-LS-20020725'>Document Object Model (DOM) Level 3 Load
+ * <p>See also the <a href='http://www.w3.org/TR/2003/WD-DOM-Level-3-LS-20030226'>Document Object Model (DOM) Level 3 Load
and Save Specification</a>.
*/
public interface DOMImplementationLS {
@@ -63,17 +65,20 @@
* checking is done on the absolute URI. In order to create a
* <code>DOMBuilder</code> for any kind of schema types (i.e. the
* DOMBuilder will be free to use any schema found), use the value
- * <code>null</code>. For W3C XML Schema , applications must use the
- * value <code>"http://www.w3.org/2001/XMLSchema"</code>. For XML DTD
+ * <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/2000/REC-xml-20001006'>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>DOMBuilder</code> object. This
* <code>DOMBuilder</code> is either synchronous or asynchronous
- * depending on the value of the <code>mode</code> argument. By
- * default, the newly created <code>DOMBuilder</code> does not contain
- * a <code>DOMErrorHandler</code>, i.e. the value of the
+ * depending on the value of the <code>mode</code> argument.
+ * <p ><b>Note:</b> By default, the newly created
+ * <code>DOMBuilder</code> does not contain a
+ * <code>DOMErrorHandler</code>, i.e. the value of the
* <code>errorHandler</code> is <code>null</code>. However,
* implementations may provide a default error handler at creation
* time. In that case, the initial value of the
@@ -91,10 +96,10 @@
/**
* Create a new <code>DOMWriter</code> object. <code>DOMWriter</code>s are
* used to serialize a DOM tree back into an XML document.
- * @return The newly created <code>DOMWriter</code> object. By default,
- * the newly created <code>DOMWriter</code> does not contain a
- * <code>DOMErrorHandler</code>, i.e. the value of the
- * <code>errorHandler</code> is <code>null</code>. However,
+ * @return The newly created <code>DOMWriter</code> object.
+ * <p ><b>Note:</b> By default, the newly created <code>DOMWriter</code>
+ * does not contain a <code>DOMErrorHandler</code>, i.e. the value of
+ * the <code>errorHandler</code> is <code>null</code>. However,
* implementations may provide a default error handler at creation
* time. In that case, the initial value of the
* <code>errorHandler</code> attribute on the new created
1.5 +50 -47 xml-xerces/java/src/org/w3c/dom/ls/DOMInputSource.java
Index: DOMInputSource.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/w3c/dom/ls/DOMInputSource.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DOMInputSource.java 18 Sep 2002 22:03:17 -0000 1.4
+++ DOMInputSource.java 24 Mar 2003 14:28:45 -0000 1.5
@@ -1,23 +1,24 @@
/*
- * Copyright (c) 2002 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) 2003 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;
/**
- * <strong>DOM Level 3 WD Experimental:
+ * DOM Level 3 WD Experimental:
* The DOM Level 3 specification is at the stage
* of Working Draft, which represents work in
* progress and thus may be updated, replaced,
- * or obsoleted by other documents at any time.</strong> <p>
+ * or obsoleted by other documents at any time.
+ *
* This interface represents a single input source for an XML entity.
* <p> This interface allows an application to encapsulate information about
* an input source in a single object, which may include a public
@@ -28,8 +29,9 @@
* <p> There are two places that the application will deliver this input
* source to the parser: as the argument to the <code>parse</code> method,
* or as the return value of the <code>DOMEntityResolver.resolveEntity</code>
- * method. There are at least three places where DOMInputSource is passed
- * to the parser (parseWithContext).
+ * method.
+ * <p class="editorial"><b>Note:</b> There are at least three places where
+ * DOMInputSource is passed to the parser (parseWithContext).
* <p> The <code>DOMBuilder</code> will use the <code>DOMInputSource</code>
* object to determine how to read XML input. If there is a character stream
* available, the parser will read that stream directly; if not, the parser
@@ -38,9 +40,10 @@
* connection to the resource identified by the system identifier.
* <p> A <code>DOMInputSource</code> object belongs to the application: the
* parser shall never modify it in any way (it may modify a copy if
- * necessary). Even though all attributes in this interface are writable
+ * necessary).
+ * <p ><b>Note:</b> Even though all attributes in this interface are writable
* the DOM implementation is expected to never mutate a DOMInputSource.
- * <p>See also the <a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-LS-20020725'>Document Object Model (DOM) Level 3 Load
+ * <p>See also the <a href='http://www.w3.org/TR/2003/WD-DOM-Level-3-LS-20030226'>Document Object Model (DOM) Level 3 Load
and Save Specification</a>.
*/
public interface DOMInputSource {
@@ -72,7 +75,7 @@
/**
* An attribute of a language-binding dependent type that represents a
* stream of 16-bit units. Application must encode the stream using
- * UTF-16 (defined in and Amendment 1 of ).
+ * UTF-16 (defined in [Unicode 2.0] and Amendment 1 of [ISO/IEC 10646]).
* <br>If a character stream is specified, the parser will ignore any byte
* stream and will not attempt to open a URI connection to the system
* identifier.
@@ -81,7 +84,7 @@
/**
* An attribute of a language-binding dependent type that represents a
* stream of 16-bit units. Application must encode the stream using
- * UTF-16 (defined in and Amendment 1 of ).
+ * UTF-16 (defined in [Unicode 2.0] and Amendment 1 of [ISO/IEC 10646]).
* <br>If a character stream is specified, the parser will ignore any byte
* stream and will not attempt to open a URI connection to the system
* identifier.
@@ -107,24 +110,24 @@
/**
* The character encoding, if known. The encoding must be a string
- * acceptable for an XML encoding declaration ( section 4.3.3 "Character
- * Encoding in Entities").
+ * acceptable for an XML encoding declaration ([<a href='http://www.w3.org/TR/2000/REC-xml-20001006'>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. 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 .
+ * 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 ( section 4.3.3 "Character
- * Encoding in Entities").
+ * acceptable for an XML encoding declaration ([<a href='http://www.w3.org/TR/2000/REC-xml-20001006'>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. 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 .
+ * 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);
@@ -142,46 +145,46 @@
public void setPublicId(String publicId);
/**
- * The system identifier, a URI reference , for this input source. The
- * system identifier is optional if there is a byte stream or a
- * character stream, but it is still useful to provide one, since the
- * application can use it to resolve relative URIs and can include it in
- * error messages and warnings (the parser will attempt to fetch the
- * ressource identifier by the URI reference only if there is no byte
- * stream or character stream specified).
+ * 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 or a character stream, but it is still useful to provide one,
+ * since the application can use it to resolve relative URIs and can
+ * include it in error messages and warnings (the parser will attempt to
+ * fetch the ressource identifier by the URI reference only if there is
+ * no byte stream or character stream specified).
* <br>If the application knows the character encoding of the object
* pointed to by the system identifier, it can register the encoding by
* setting the encoding attribute.
- * <br>If the system ID is a relative URI reference (see section 5 in ),
- * the behavior is implementation dependent.
+ * <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 , for this input source. The
- * system identifier is optional if there is a byte stream or a
- * character stream, but it is still useful to provide one, since the
- * application can use it to resolve relative URIs and can include it in
- * error messages and warnings (the parser will attempt to fetch the
- * ressource identifier by the URI reference only if there is no byte
- * stream or character stream specified).
+ * 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 or a character stream, but it is still useful to provide one,
+ * since the application can use it to resolve relative URIs and can
+ * include it in error messages and warnings (the parser will attempt to
+ * fetch the ressource identifier by the URI reference only if there is
+ * no byte stream or character stream specified).
* <br>If the application knows the character encoding of the object
* pointed to by the system identifier, it can register the encoding by
* setting the encoding attribute.
- * <br>If the system ID is a relative URI reference (see section 5 in ),
- * the behavior is implementation dependent.
+ * <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 base URI to be used (see section 5.1.4 in ) for resolving relative
- * URIs to absolute URIs. If the baseURI is itself a relative URI, the
- * behavior is implementation dependent.
+ * 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 relative URIs to absolute URIs. If the baseURI is itself a
+ * relative URI, the behavior is implementation dependent.
*/
public String getBaseURI();
/**
- * The base URI to be used (see section 5.1.4 in ) for resolving relative
- * URIs to absolute URIs. If the baseURI is itself a relative URI, the
- * behavior is implementation dependent.
+ * 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 relative URIs to absolute URIs. If the baseURI is itself a
+ * relative URI, the behavior is implementation dependent.
*/
public void setBaseURI(String baseURI);
1.8 +127 -94 xml-xerces/java/src/org/w3c/dom/ls/DOMWriter.java
Index: DOMWriter.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/w3c/dom/ls/DOMWriter.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- DOMWriter.java 17 Feb 2003 22:14:38 -0000 1.7
+++ DOMWriter.java 24 Mar 2003 14:28:45 -0000 1.8
@@ -1,38 +1,41 @@
/*
- * Copyright (c) 2002 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) 2003 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.apache.xerces.dom3.DOMConfiguration;
import org.w3c.dom.Node;
import org.w3c.dom.DOMException;
-import org.apache.xerces.dom3.DOMConfiguration;
-
/**
- * <strong>DOM Level 3 WD Experimental:
+ * DOM Level 3 WD Experimental:
* The DOM Level 3 specification is at the stage
* of Working Draft, which represents work in
* progress and thus may be updated, replaced,
- * or obsoleted by other documents at any time.</strong> <p>
+ * or obsoleted by other documents at any time.
+ *
* <code>DOMWriter</code> provides an API for serializing (writing) a DOM
* document out in an XML document. The XML data is written to an output
* stream, the type of which depends on the specific language bindings in
* use.
* <p> During serialization of XML data, namespace fixup is done when possible
- * as defined in [<a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020114'>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. should the remark on DOM Level 2 namespace URI
- * included in the namespace algorithm in Core instead?
+ * as defined in [<a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20021022'>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 class="editor"><b>Note:</b> should the remark on DOM Level 2 namespace
+ * URI included in the namespace algorithm in Core instead?
* <p> <code>DOMWriter</code> accepts any node type for serialization. For
* nodes of type <code>Document</code> or <code>Entity</code>, well formed
* XML will be created if possible. The serialized output for these node
@@ -41,18 +44,27 @@
* serialized form is not specified, but should be something useful to a
* human for debugging or diagnostic purposes. Note: rigorously designing an
* external (source) form for stand-alone node types that don't already have
- * one defined in [<a href='http://www.w3.org/TR/2000/REC-xml-20001006'>XML 1.0</a>] seems a bit much to take on here.
+ * one defined in [<a href='http://www.w3.org/TR/2000/REC-xml-20001006'>XML 1.0</a>] seems a bit
+ * much to take on here.
* <p>Within a <code>Document</code>, <code>DocumentFragment</code>, or
* <code>Entity</code> being serialized, <code>Nodes</code> are processed as
- * follows <code>Document</code> nodes are written including with the XML
+ * follows
+ * <ul>
+ * <li> <code>Document</code> nodes are written including with the XML
* declaration and a DTD subset, if one exists in the DOM. Writing a
- * <code>Document</code> node serializes the entire document.
+ * <code>Document</code> node serializes the entire document.
+ * </li>
+ * <li>
* <code>Entity</code> nodes, when written directly by
* <code>DOMWriter.writeNode</code>, output the entity expansion but no
* namespace fixup is done. The resulting output will be valid as an
- * external entity. <code>EntityReference</code> nodes are serialized as an
+ * external entity.
+ * </li>
+ * <li> <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.
+ * output. Child nodes (the expansion) of the entity reference are ignored.
+ * </li>
+ * <li>
* CDATA sections containing content characters that can not be represented
* in the specified output encoding are handled according to the
* "split-cdata-sections" boolean parameter. If the boolean parameter is
@@ -62,13 +74,20 @@
* the boolean parameter is <code>false</code>, unrepresentable characters
* in a CDATA section are reported as errors. The error is not recoverable -
* there is no mechanism for supplying alternative characters and continuing
- * with the serialization. <code>DocumentFragment</code> nodes are
+ * 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. All other node types
+ * order they appear in the document fragment.
+ * </li>
+ * <li> All other node types
* (Element, Text, etc.) are serialized to their corresponding XML source
- * form. The serialization of a <code>Node</code> does not always generate
- * a well-formed XML document, i.e. a <code>DOMBuilder</code> might through
- * fatal errors when parsing the resulting serialization.
+ * 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>DOMBuilder</code> might
+ * through 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
@@ -91,16 +110,19 @@
* <p> When requested by setting the <code>normalize-characters</code> boolean
* parameter on <code>DOMWriter</code>, all data to be serialized, both
* markup and character data, is W3C Text normalized according to the rules
- * defined in [<a href='http://www.w3.org/TR/2002/WD-charmod-20020430'>CharModel</a>]. The W3C Text 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.
+ * defined in [<a href='http://www.w3.org/TR/2002/WD-charmod-20020430'>CharModel</a>]. The
+ * W3C Text 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> Namespaces are fixed up during serialization, the serialization process
* will verify that namespace declarations, namespace prefixes and the
* namespace URIs 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/2002/WD-DOM-Level-3-Core-20020114'>DOM Level 3 Core</a>]. previous paragraph to be defined closer
+ * "Namespace normalization" of [<a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20021022'>DOM Level 3 Core</a>]
+ * .
+ * <p class="editorial"><b>Note:</b> previous paragraph to be defined closer
* here.
* <p>Any changes made affect only the namespace prefixes and declarations
* appearing in the serialized data. The DOM's view of the document is not
@@ -119,13 +141,18 @@
* description about warning about unbound entity refs. Entity refs are
* always serialized as <code>&foo;</code>, also mention this in the
* load part of this spec.
- * <p>See also the <a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-LS-20021022'>Document Object Model (DOM) Level 3 Load and Save Specification</a>.
+ * <p>See also the <a href='http://www.w3.org/TR/2003/WD-DOM-Level-3-LS-20030226'>Document Object Model (DOM) Level 3 Load
+and Save Specification</a>.
*/
-
public interface DOMWriter {
-
/**
- * The configuration used when a document is loaded.
+ * The configuration used when a document is loaded. The values of
+ * parameters used on a document are not passed automatically from the
+ * <code>DOMConfiguration</code> object used by the <code>Document</code>
+ * nodes. The DOM application is responsible for passing the parameters
+ * values from the <code>DOMConfiguration</code> object referenced from
+ * the <code>Document</code> node to the <code>DOMConfiguration</code>
+ * object referenced from the <code>DOMWriter</code>.
* <br>In addition to the boolean parameters and parameters recognized in
* the Core module, the <code>DOMConfiguration</code> objects for
* <code>DOMWriter</code> adds, or modifies, the following boolean
@@ -140,92 +167,99 @@
* <dl>
* <dt>
* <code>true</code></dt>
- * <dd>[required] (default) If a <code>Document</code> Node
- * or an <code>Entity</code> node is serialized, the XML declaration, or
- * text declaration, should be included <code>Document.version</code>
- * and/or an encoding is specified. </dd>
+ * <dd>[<em>required</em>] (<em>default</em>) If a <code>Document</code> Node or an <code>Entity</code> node is
+ * serialized, the XML declaration, or text declaration, should be
+ * included <code>Document.version</code> and/or an encoding is
+ * specified. </dd>
* <dt><code>false</code></dt>
- * <dd>[required] Do not
- * serialize the XML and text declarations. </dd>
+ * <dd>[<em>required</em>] Do not serialize the XML and text declarations. </dd>
* </dl></dd>
- * <dt><code>"canonical-form"</code></dt>
+ * <dt>
+ * <code>"canonical-form"</code></dt>
* <dd>
* <dl>
- * <dt>
- * <code>true</code></dt>
- * <dd>[optional] This formatting writes the document
- * according to the rules specified in [<a href='http://www.w3.org/TR/2001/REC-xml-c14n-20010315'>Canonical XML</a>]. Setting this boolean parameter
- * to true will set the boolean parameter
+ * <dt><code>true</code></dt>
+ * <dd>[<em>optional</em>] This formatting writes the document according to the rules specified in [<a href='http://www.w3.org/TR/2001/REC-xml-c14n-20010315'>Canonical XML</a>].
+ * Setting this boolean parameter to true will set the boolean parameter
* <code>"format-pretty-print"</code> to false. </dd>
* <dt><code>false</code></dt>
- * <dd>[
- * required] (default) Do not canonicalize the output. </dd>
+ * <dd>[<em>required</em>] (<em>default</em>) Do not canonicalize the output. </dd>
* </dl></dd>
- * <dt>
- * <code>"format-pretty-print"</code></dt>
+ * <dt><code>"format-pretty-print"</code></dt>
* <dd>
* <dl>
- * <dt><code>true</code></dt>
- * <dd>[optional]
- * 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. Setting this
- * boolean parameter to true will set the boolean parameter
- * "canonical-form" to false. </dd>
+ * <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. Setting this boolean
+ * parameter to true will set the boolean parameter "canonical-form" to
+ * false. </dd>
* <dt><code>false</code></dt>
- * <dd>[required] (default)
- * Don't pretty-print the result. </dd>
+ * <dd>[<em>required</em>] (<em>default</em>) Don't pretty-print the result. </dd>
* </dl></dd>
* <dt><code>"normalize-characters"</code></dt>
- * <dd>
- * This boolean parameter is equivalent to the one defined by
- * <code>DOMConfiguration</code> in [<a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020114'>DOM Level 3 Core</a>]. Unlike in the Core, the default
- * value for this boolean parameter is <code>true</code>. While DOM
- * implementations are not required to implement the W3C Text
- * Normalization defined in [<a href='http://www.w3.org/TR/2002/WD-charmod-20020430'>CharModel</a>], this boolean parameter must be activated
- * by default if supported. </dd>
- * <dt><code>"unknown-characters"</code></dt>
+ * <dd> This
+ * boolean parameter is equivalent to the one defined by
+ * <code>DOMConfiguration</code> in [<a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20021022'>DOM Level 3 Core</a>]
+ * . Unlike in the Core, the default value for this boolean parameter is
+ * <code>true</code>. While DOM implementations are not required to
+ * implement the W3C Text Normalization defined in [<a href='http://www.w3.org/TR/2002/WD-charmod-20020430'>CharModel</a>], this
+ * boolean parameter must be activated by default if supported. </dd>
+ * <dt>
+ * <code>"unknown-characters"</code></dt>
* <dd>
* <dl>
- * <dt>
- * <code>true</code></dt>
- * <dd>[required] (default) If, while verifying full
- * normalization when [<a href='http://www.w3.org/TR/2002/CR-xml11-20021015/'>XML 1.1</a>] is supported, a character is encountered for
- * which the normalization properties cannot be determined, then ignore
- * any possible denormalizations caused by these characters. </dd>
- * <dt>
- * <code>false</code></dt>
- * <dd>[optional] Report an fatal error if a character is
- * encountered for which the processor can not determine the
- * normalization properties. </dd>
+ * <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/2002/CR-xml11-20021015/'>XML 1.1</a>] is
+ * supported, a character is encountered for which the normalization
+ * properties cannot be determined, then ignore any possible
+ * denormalizations caused by these characters. </dd>
+ * <dt><code>false</code></dt>
+ * <dd>[<em>optional</em>] Report an fatal error if a character is encountered for which the
+ * processor can not determine the normalization properties. </dd>
* </dl></dd>
* </dl>
*/
-
public DOMConfiguration getConfig();
-
/**
* The character encoding in which the output will be written.
- * <br> The encoding to use when writing is determined as follows: If the
- * encoding attribute has been set, that value will be used.If the
+ * <br> The encoding to use when writing is determined as follows:
+ * <ul>
+ * <li>If the
+ * encoding attribute has been set, that value will be used.
+ * </li>
+ * <li>If the
* encoding attribute is <code>null</code> or empty, but the item to be
* written, or the owner document of the item, specifies an encoding
* (i.e. the "actualEncoding" from the document) specified encoding,
- * that value will be used.If neither of the above provides an encoding
+ * that value will be used.
+ * </li>
+ * <li>If neither of the above provides an encoding
* name, a default encoding of "UTF-8" will be used.
+ * </li>
+ * </ul>
* <br>The default value is <code>null</code>.
*/
public String getEncoding();
/**
* The character encoding in which the output will be written.
- * <br> The encoding to use when writing is determined as follows: If the
- * encoding attribute has been set, that value will be used.If the
+ * <br> The encoding to use when writing is determined as follows:
+ * <ul>
+ * <li>If the
+ * encoding attribute has been set, that value will be used.
+ * </li>
+ * <li>If the
* encoding attribute is <code>null</code> or empty, but the item to be
* written, or the owner document of the item, specifies an encoding
* (i.e. the "actualEncoding" from the document) specified encoding,
- * that value will be used.If neither of the above provides an encoding
+ * that value will be used.
+ * </li>
+ * <li>If neither of the above provides an encoding
* name, a default encoding of "UTF-8" will be used.
+ * </li>
+ * </ul>
* <br>The default value is <code>null</code>.
*/
public void setEncoding(String encoding);
@@ -242,8 +276,8 @@
* 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 "End-of-Line Handling" (, section 2.11) if the
- * serialized content is XML 1.0 or "End-of-Line Handling" (, section
+ * of those allowed by "End-of-Line Handling" ([<a href='http://www.w3.org/TR/2000/REC-xml-20001006'>XML 1.0</a>], section
+ * 2.11) if the serialized content is XML 1.0 or "End-of-Line Handling" ([<a href='http://www.w3.org/TR/2002/CR-xml11-20021015/'>XML 1.1</a>], section
* 2.11) if the serialized content is XML 1.1. </dd>
* <dt>CR</dt>
* <dd>The carriage-return
@@ -256,7 +290,7 @@
* </dl>
* <br>The default value for this attribute is <code>null</code>.
*/
- public String getNewLine();
+ public String getNewLine();
/**
* The end-of-line sequence of characters to be used in the XML being
* written out. Any string is supported, but these are the recommended
@@ -269,8 +303,8 @@
* 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 "End-of-Line Handling" (, section 2.11) if the
- * serialized content is XML 1.0 or "End-of-Line Handling" (, section
+ * of those allowed by "End-of-Line Handling" ([<a href='http://www.w3.org/TR/2000/REC-xml-20001006'>XML 1.0</a>], section
+ * 2.11) if the serialized content is XML 1.0 or "End-of-Line Handling" ([<a href='http://www.w3.org/TR/2002/CR-xml11-20021015/'>XML 1.1</a>], section
* 2.11) if the serialized content is XML 1.1. </dd>
* <dt>CR</dt>
* <dd>The carriage-return
@@ -299,7 +333,6 @@
* the node from the stream or to terminate the serialization early.
*/
public void setFilter(DOMWriterFilter filter);
-
/**
* Write out the specified node as described above in the description of
1.5 +13 -12 xml-xerces/java/src/org/w3c/dom/ls/DOMWriterFilter.java
Index: DOMWriterFilter.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/w3c/dom/ls/DOMWriterFilter.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DOMWriterFilter.java 18 Sep 2002 22:03:17 -0000 1.4
+++ DOMWriterFilter.java 24 Mar 2003 14:28:45 -0000 1.5
@@ -1,13 +1,13 @@
/*
- * Copyright (c) 2002 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) 2003 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;
@@ -15,18 +15,19 @@
import org.w3c.dom.traversal.NodeFilter;
/**
- * <strong>DOM Level 3 WD Experimental:
+ * DOM Level 3 WD Experimental:
* The DOM Level 3 specification is at the stage
* of Working Draft, which represents work in
* progress and thus may be updated, replaced,
- * or obsoleted by other documents at any time.</strong> <p>
+ * or obsoleted by other documents at any time.
+ *
* <code>DOMWriterFilter</code>s provide applications the ability to examine
* nodes as they are being serialized. <code>DOMWriterFilter</code> lets the
* application decide what nodes should be serialized or not.
* <p> The <code>Document</code>, <code>DocumentType</code>,
* <code>Notation</code>, and <code>Entity</code> nodes are not passed to
* the filter.
- * <p>See also the <a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-LS-20020725'>Document Object Model (DOM) Level 3 Load
+ * <p>See also the <a href='http://www.w3.org/TR/2003/WD-DOM-Level-3-LS-20030226'>Document Object Model (DOM) Level 3 Load
and Save Specification</a>.
*/
public interface DOMWriterFilter extends NodeFilter {
1.5 +48 -40 xml-xerces/java/src/org/w3c/dom/ls/DocumentLS.java
Index: DocumentLS.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/w3c/dom/ls/DocumentLS.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DocumentLS.java 18 Sep 2002 22:03:17 -0000 1.4
+++ DocumentLS.java 24 Mar 2003 14:28:45 -0000 1.5
@@ -1,13 +1,13 @@
/*
- * Copyright (c) 2002 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) 2003 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;
@@ -16,47 +16,55 @@
import org.w3c.dom.DOMException;
/**
- * <strong>DOM Level 3 WD Experimental:
+ * DOM Level 3 WD Experimental:
* The DOM Level 3 specification is at the stage
* of Working Draft, which represents work in
* progress and thus may be updated, replaced,
- * or obsoleted by other documents at any time.</strong> <p>
- * The <code>DocumentLS</code> interface provides a mechanism by which the
- * content of a document can be replaced with the DOM tree produced when
- * loading a URI, or parsing a string. The expectation is that an instance
- * of the <code>DocumentLS</code> interface can be obtained by using
- * binding-specific casting methods on an instance of the
- * <code>Document</code> interface or, if the <code>Document</code> supports
- * the feature <code>"Core"</code> version <code>"3.0"</code> defined in ,
- * by using the method <code>Node.getInterface</code> with parameter values
- * <code>"LS-Load"</code> and <code>"3.0"</code> (respectively).
- * <p>See also the <a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-LS-20020725'>Document Object Model (DOM) Level 3 Load
+ * or obsoleted by other documents at any time.
+ *
+ * The <code>DocumentLS</code> interface provides a mechanism by which the
+ * content of a document can be serialized, or replaced with the DOM tree
+ * produced when loading a URI, or parsing a string.
+ * <p> If the <code>DocumentLS</code> interface is supported, the expectation
+ * is that an instance of the <code>DocumentLS</code> interface can be
+ * obtained by using binding-specific casting methods on an instance of the
+ * <code>Document</code> interface, or by using the method
+ * <code>Node.getFeature</code> with parameter values <code>"LS-Load"</code>
+ * and <code>"3.0"</code> (respectively) on an <code>Document</code>, 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/2002/WD-DOM-Level-3-Core-20021022'>DOM Level 3 Core</a>]
+ *
+ * <p> This interface is optional. If supported, implementations are must
+ * support version <code>"3.0"</code> of the feature
+ * <code>"LS-DocumentLS"</code>.
+ * <p>See also the <a href='http://www.w3.org/TR/2003/WD-DOM-Level-3-LS-20030226'>Document Object Model (DOM) Level 3 Load
and Save Specification</a>.
*/
public interface DocumentLS {
/**
- * Indicates whether the method load should be synchronous or
- * asynchronous. When the async attribute is set to <code>true</code>
- * the load method returns control to the caller before the document has
- * completed loading. The default value of this attribute is
- * <code>false</code>. Should the DOM spec define the default value of
- * this attribute? What if implementing both async and sync IO is
- * impractical in some systems? 2001-09-14. default is
- * <code>false</code> but we need to check with Mozilla and IE.
- * @exception DOMException
- * NOT_SUPPORTED_ERR: Raised if the implementation doesn't support the
- * mode the attribute is being set to.
+ * Indicates whether the method <code>DocumentLS.load()</code> should be
+ * synchronous or asynchronous. When the async attribute is set to
+ * <code>true</code> the load method returns control to the caller
+ * before the document has completed loading. The default value of this
+ * attribute is <code>true</code>. Should the DOM spec define the
+ * default value of this attribute? What if implementing both async and
+ * sync IO is impractical in some systems? 2001-09-14. default is
+ * <code>false</code> but we need to check with Mozilla and IE.
+ * 2003-01-24. Checked with IE and Mozilla, default is <code>true</code>
+ * .
*/
public boolean getAsync();
/**
- * Indicates whether the method load should be synchronous or
- * asynchronous. When the async attribute is set to <code>true</code>
- * the load method returns control to the caller before the document has
- * completed loading. The default value of this attribute is
- * <code>false</code>. Should the DOM spec define the default value of
- * this attribute? What if implementing both async and sync IO is
- * impractical in some systems? 2001-09-14. default is
- * <code>false</code> but we need to check with Mozilla and IE.
+ * Indicates whether the method <code>DocumentLS.load()</code> should be
+ * synchronous or asynchronous. When the async attribute is set to
+ * <code>true</code> the load method returns control to the caller
+ * before the document has completed loading. The default value of this
+ * attribute is <code>true</code>. Should the DOM spec define the
+ * default value of this attribute? What if implementing both async and
+ * sync IO is impractical in some systems? 2001-09-14. default is
+ * <code>false</code> but we need to check with Mozilla and IE.
+ * 2003-01-24. Checked with IE and Mozilla, default is <code>true</code>
+ * .
* @exception DOMException
* NOT_SUPPORTED_ERR: Raised if the implementation doesn't support the
* mode the attribute is being set to.
1.5 +13 -12 xml-xerces/java/src/org/w3c/dom/ls/LSLoadEvent.java
Index: LSLoadEvent.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/w3c/dom/ls/LSLoadEvent.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- LSLoadEvent.java 18 Sep 2002 22:03:17 -0000 1.4
+++ LSLoadEvent.java 24 Mar 2003 14:28:45 -0000 1.5
@@ -1,13 +1,13 @@
/*
- * Copyright (c) 2002 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) 2003 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;
@@ -16,14 +16,15 @@
import org.w3c.dom.events.Event;
/**
- * <strong>DOM Level 3 WD Experimental:
+ * DOM Level 3 WD Experimental:
* The DOM Level 3 specification is at the stage
* of Working Draft, which represents work in
* progress and thus may be updated, replaced,
- * or obsoleted by other documents at any time.</strong> <p>
+ * or obsoleted by other documents at any time.
+ *
* 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/2002/WD-DOM-Level-3-LS-20020725'>Document Object Model (DOM) Level 3 Load
+ * <p>See also the <a href='http://www.w3.org/TR/2003/WD-DOM-Level-3-LS-20030226'>Document Object Model (DOM) Level 3 Load
and Save Specification</a>.
*/
public interface LSLoadEvent extends Event {
1.5 +21 -14 xml-xerces/java/src/org/w3c/dom/ls/LSProgressEvent.java
Index: LSProgressEvent.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/w3c/dom/ls/LSProgressEvent.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- LSProgressEvent.java 18 Sep 2002 22:03:17 -0000 1.4
+++ LSProgressEvent.java 24 Mar 2003 14:28:45 -0000 1.5
@@ -1,29 +1,36 @@
/*
- * Copyright (c) 2002 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) 2003 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;
-/**
- * <strong>DOM Level 3 WD Experimental:
+/**
+ * DOM Level 3 WD Experimental:
* The DOM Level 3 specification is at the stage
* of Working Draft, which represents work in
* progress and thus may be updated, replaced,
- * or obsoleted by other documents at any time.</strong> <p>
+ * or obsoleted by other documents at any time.
+ *
+ * DOM Level 3 WD Experimental:
+ * The DOM Level 3 specification is at the stage
+ * of Working Draft, which represents work in
+ * progress and thus may be updated, replaced,
+ * or obsoleted by other documents at any time.
+ *
* 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 .
- * <p>See also the <a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-LS-20020725'>Document Object Model (DOM) Level 3 Load
+ * <code>Event</code> interface defined in [<a href='http://www.w3.org/TR/DOM-Level-3-Events'>DOM Level 3 Events</a>].
+ * <p>See also the <a href='http://www.w3.org/TR/2003/WD-DOM-Level-3-LS-20030226'>Document Object Model (DOM) Level 3 Load
and Save Specification</a>.
*/
public interface LSProgressEvent extends Event {
1.1 xml-xerces/java/src/org/w3c/dom/ls/ElementLS.java
Index: ElementLS.java
===================================================================
/*
* Copyright (c) 2003 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;
/**
* DOM Level 3 WD Experimental:
* The DOM Level 3 specification is at the stage
* of Working Draft, which represents work in
* progress and thus may be updated, replaced,
* or obsoleted by other documents at any time.
*
* The <code>ElementLS</code> interface provides a convenient mechanism by
* which the children of an element can be serialized to a string, or
* replaced by the result of parsing a provided string.
* <p> If the <code>ElementLS</code> interface is supported, the expectation
* is that an instance of the <code>ElementLS</code> interface can be
* obtained by using binding-specific casting methods on an instance of the
* <code>Element</code> interface, or by using the method
* <code>Node.getFeature</code> with parameter values <code>"LS-Load"</code>
* and <code>"3.0"</code> (respectively) on an <code>Element</code>, if the
* <code>Element</code> supports the feature <code>"Core"</code> version
* <code>"3.0"</code> defined in [<a href='http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20021022'>DOM Level 3 Core</a>]
* .
* <p> This interface is optional. If supported, implementations must support
* version <code>"3.0"</code> of the feature <code>"LS-ElementLS"</code>.
* <p>See also the <a href='http://www.w3.org/TR/2003/WD-DOM-Level-3-LS-20030226'>Document Object Model (DOM) Level 3 Load
and Save Specification</a>.
*/
public interface ElementLS {
/**
* The content of the element in serialized form.
* <br> When getting the value of this attribute, the children are
* serialized in document order and the serialized result is returned.
* This is equivalent of calling <code>DOMWriter.writeToString()</code>
* on all children in document order and appending the result of the
* individual results to a single string that is then returned as the
* value of this attribute.
* <br> When setting the value of this attribute, all children of the
* element are removed, the provided string is parsed and the result of
* the parse operation is inserted into the element. This is equivalent
* of calling <code>DOMBuilder.parseWithContext()</code> passing in the
* provided string (through the input source argument), the
* <code>Element</code>, and the action
* <code>ACTION_REPLACE_CHILDREN</code>. If an error occures while
* parsing the provided string, the <code>Element</code>'s owner
* document's error handler will be called, and the <code>Element</code>
* is left with no children.
* <br> Both setting and getting the value of this attribute assumes that
* the parameters in the DOMConfiguration object have their default
* values.
*/
public String getMarkupContent();
/**
* The content of the element in serialized form.
* <br> When getting the value of this attribute, the children are
* serialized in document order and the serialized result is returned.
* This is equivalent of calling <code>DOMWriter.writeToString()</code>
* on all children in document order and appending the result of the
* individual results to a single string that is then returned as the
* value of this attribute.
* <br> When setting the value of this attribute, all children of the
* element are removed, the provided string is parsed and the result of
* the parse operation is inserted into the element. This is equivalent
* of calling <code>DOMBuilder.parseWithContext()</code> passing in the
* provided string (through the input source argument), the
* <code>Element</code>, and the action
* <code>ACTION_REPLACE_CHILDREN</code>. If an error occures while
* parsing the provided string, the <code>Element</code>'s owner
* document's error handler will be called, and the <code>Element</code>
* is left with no children.
* <br> Both setting and getting the value of this attribute assumes that
* the parameters in the DOMConfiguration object have their default
* values.
*/
public void setMarkupContent(String markupContent);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org