? xml-xerces/java/src/org/apache/xerces/dom/DOMInputImpl.java
? xml-xerces/java/src/org/apache/xerces/dom/DOMOutputImpl.java
Index: xml-xerces/java/src/org/apache/xerces/dom/ASDOMImplementationImpl.java
===================================================================
RCS file: /home/cvspublic/xml-xerces/java/src/org/apache/xerces/dom/ASDOMImplementationImpl.java,v
retrieving revision 1.4
diff -u -w -r1.4 ASDOMImplementationImpl.java
--- xml-xerces/java/src/org/apache/xerces/dom/ASDOMImplementationImpl.java	24 Mar 2003 20:27:12 -0000	1.4
+++ xml-xerces/java/src/org/apache/xerces/dom/ASDOMImplementationImpl.java	29 Jul 2003 12:48:09 -0000
@@ -122,7 +122,7 @@
     /**
      * DOM Level 3 WD - Experimental.
      * Creates an <code>DOMASBuilder</code>.Do we need the method since we 
-     * already have <code>DOMImplementationLS.createDOMBuilder</code>?
+     * already have <code>DOMImplementationLS.createDOMParser</code>?
      * @return  DOMASBuilder
      */
     public DOMASBuilder createDOMASBuilder(){
Index: xml-xerces/java/src/org/apache/xerces/dom/CoreDOMImplementationImpl.java
===================================================================
RCS file: /home/cvspublic/xml-xerces/java/src/org/apache/xerces/dom/CoreDOMImplementationImpl.java,v
retrieving revision 1.25
diff -u -w -r1.25 CoreDOMImplementationImpl.java
--- xml-xerces/java/src/org/apache/xerces/dom/CoreDOMImplementationImpl.java	10 Jun 2003 18:09:38 -0000	1.25
+++ xml-xerces/java/src/org/apache/xerces/dom/CoreDOMImplementationImpl.java	29 Jul 2003 12:48:09 -0000
@@ -56,19 +56,19 @@
  */
 package org.apache.xerces.dom;
 import org.apache.xerces.impl.RevalidationHandler;
-import org.apache.xerces.parsers.DOMBuilderImpl;
+import org.apache.xerces.parsers.DOMParserImpl;
 import org.apache.xerces.util.ObjectFactory;
 import org.apache.xerces.util.XMLChar;
-import org.apache.xml.serialize.DOMWriterImpl;
+import org.apache.xml.serialize.DOMSerializerImpl;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.DOMImplementation;
 import org.w3c.dom.Document;
 import org.w3c.dom.DocumentType;
 import org.w3c.dom.Element;
-import org.w3c.dom.ls.DOMBuilder;
+import org.w3c.dom.ls.DOMParser;
 import org.w3c.dom.ls.DOMImplementationLS;
-import org.w3c.dom.ls.DOMInputSource;
-import org.w3c.dom.ls.DOMWriter;
+import org.w3c.dom.ls.DOMInput;
+import org.w3c.dom.ls.DOMSerializer;
 /**
  * The DOMImplementation class is description of a particular
  * implementation of the Document Object Model. As such its data is
@@ -151,7 +151,7 @@
 				&& (anyVersion || version.equals("1.0") || version.equals("2.0")))
 			|| (feature.equalsIgnoreCase("XML")
 				&& (anyVersion || version.equals("1.0") || version.equals("2.0")))
-			|| (feature.equalsIgnoreCase("LS-Load")
+			|| (feature.equalsIgnoreCase("LS")
 				&& (anyVersion || version.equals("3.0")));
 	} // hasFeature(String,String):boolean
     
@@ -289,11 +289,52 @@
 		return null;
         
 	}
+
 	// DOM L3 LS
+
 	/**
 	 * DOM Level 3 WD - Experimental.
+     * Create a new <code>DOMParser</code>. The newly constructed parser may
+     * then be configured by means of its <code>DOMConfiguration</code>
+     * object, and used to parse documents by means of its <code>parse</code>
+     *  method.
+     * @param mode  The <code>mode</code> argument is either
+     *   <code>MODE_SYNCHRONOUS</code> or <code>MODE_ASYNCHRONOUS</code>, if
+     *   <code>mode</code> is <code>MODE_SYNCHRONOUS</code> then the
+     *   <code>DOMParser</code> that is created will operate in synchronous
+     *   mode, if it's <code>MODE_ASYNCHRONOUS</code> then the
+     *   <code>DOMParser</code> that is created will operate in asynchronous
+     *   mode.
+     * @param schemaType  An absolute URI representing the type of the schema
+     *   language used during the load of a <code>Document</code> using the
+     *   newly created <code>DOMParser</code>. Note that no lexical checking
+     *   is done on the absolute URI. In order to create a
+     *   <code>DOMParser</code> for any kind of schema types (i.e. the
+     *   DOMParser will be free to use any schema found), use the value
+     *   <code>null</code>.
+     * <p ><b>Note:</b>    For W3C XML Schema [<a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/'>XML Schema Part 1</a>]
+     *   , applications must use the value
+     *   <code>"http://www.w3.org/2001/XMLSchema"</code>. For XML DTD [<a href='http://www.w3.org/TR/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>DOMParser</code> object. This
+     *   <code>DOMParser</code> is either synchronous or asynchronous
+     *   depending on the value of the <code>mode</code> argument.
+     * <p ><b>Note:</b>    By default, the newly created <code>DOMParser</code>
+     *    does not contain a <code>DOMErrorHandler</code>, i.e. the value of
+     *   the "<a href='http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030609/core.html#parameter-error-handler'>
+     *   error-handler</a>" configuration parameter is <code>null</code>. However, implementations
+     *   may provide a default error handler at creation time. In that case,
+     *   the initial value of the <code>"error-handler"</code> configuration
+     *   parameter on the new created <code>DOMParser</code> contains a
+     *   reference to the default error handler.
+     * @exception DOMException
+     *    NOT_SUPPORTED_ERR: Raised if the requested mode or schema type is
+     *   not supported.
 	 */
-	public DOMBuilder createDOMBuilder(short mode, String schemaType)
+        public DOMParser createDOMParser(short mode, String schemaType)
 		throws DOMException {
 		if (mode == DOMImplementationLS.MODE_ASYNCHRONOUS) {
 			String msg =
@@ -305,28 +346,40 @@
 		}
 		if (schemaType != null
 			&& schemaType.equals("http://www.w3.org/TR/REC-xml")) {
-			return new DOMBuilderImpl(
+			return new DOMParserImpl(
 				"org.apache.xerces.parsers.DTDConfiguration",
 				schemaType);
 		}
 		else {
 			// create default parser configuration validating against XMLSchemas
-			return new DOMBuilderImpl(
+			return new DOMParserImpl(
 				"org.apache.xerces.parsers.XML11Configuration",
 				schemaType);
 		}
 	}
 	/**
 	 * DOM Level 3 WD - Experimental.
+         * Create a new <code>DOMSerializer</code> object.
+         * @return The newly created <code>DOMSerializer</code> object.
+         * <p ><b>Note:</b>    By default, the newly created
+         * <code>DOMSerializer</code> has no <code>DOMErrorHandler</code>,
+         * i.e. the value of the <code>"error-handler"</code> configuration
+         * parameter is <code>null</code>. However, implementations may
+         * provide a default error handler at creation time. In that case, the
+         * initial value of the <code>"error-handler"</code> configuration
+         * parameter on the new created <code>DOMSerializer</code> contains a
+         * reference to the default error handler.
 	 */
-	public DOMWriter createDOMWriter() {
-		return new DOMWriterImpl();
+	public DOMSerializer createDOMSerializer() {
+		return new DOMSerializerImpl();
 	}
 	/**
 	 * DOM Level 3 WD - Experimental.
+         * Create a new empty input source.
+         * @return  The newly created input object.
 	 */
-	public DOMInputSource createDOMInputSource() {
-		return new DOMInputSourceImpl();
+	public DOMInput createDOMInput() {
+		return new DOMInputImpl();
 	}
 	//
 	// Protected methods
Index: xml-xerces/java/src/org/apache/xerces/dom/CoreDocumentImpl.java
===================================================================
RCS file: /home/cvspublic/xml-xerces/java/src/org/apache/xerces/dom/CoreDocumentImpl.java,v
retrieving revision 1.41
diff -u -w -r1.41 CoreDocumentImpl.java
--- xml-xerces/java/src/org/apache/xerces/dom/CoreDocumentImpl.java	10 Jun 2003 18:09:38 -0000	1.41
+++ xml-xerces/java/src/org/apache/xerces/dom/CoreDocumentImpl.java	29 Jul 2003 12:48:10 -0000
@@ -86,7 +86,7 @@
 import org.w3c.dom.events.Event;
 import org.w3c.dom.events.EventListener;
 import org.w3c.dom.ls.DOMImplementationLS;
-import org.w3c.dom.ls.DOMWriter;
+import org.w3c.dom.ls.DOMSerializer;
 import org.w3c.dom.ls.DocumentLS;
 
 /**
@@ -1095,32 +1095,49 @@
      * immediately aborted. The possibly partial result of parsing the 
      * document is discarded and the document is cleared.
      */
-
     public void abort() {
     }
+
     /**
      * DOM Level 3 WD - Experimental.
+     *
      * Replaces the content of the document with the result of parsing the 
      * given URI. Invoking this method will either block the caller or 
      * return to the caller immediately depending on the value of the async 
-     * attribute. Once the document is fully loaded the document will fire a 
-     * "load" event that the caller can register as a listener for. If an 
-     * error occurs the document will fire an "error" event so that the 
-     * caller knows that the load failed (see <code>ParseErrorEvent</code>).
+     * attribute. Once the document is fully loaded a "load" event (as
+     * defined in [<a href='http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331'>DOM Level 3 Events</a>]
+     * , except that the <code>Event.targetNode</code> will be the document,
+     * not an element) will be dispatched on the document. If an error
+     * occurs, an implementation dependent "error" event will be dispatched
+     * on the document. If this method is called on a document that is
+     * currently loading, the current load is interrupted and the new URI
+     * load is initiated.
+     * <br> When invoking this method the parameters used in the
+     * <code>DOMParser</code> interface are assumed to have their default
+     * values with the exception that the parameters <code>"entities"</code>
+     * , <code>"normalize-characters"</code>,
+     * <code>"check-character-normalization"</code> are set to
+     * <code>"false"</code>.
+     * <br> The result of a call to this method is the same the result of a
+     * call to <code>DOMParser.parseWithContext</code> with an input stream
+     * referencing the URI that was passed to this call, the document as the
+     * context node, and the action <code>ACTION_REPLACE_CHILDREN</code>.
      * @param uri The URI reference for the XML file to be loaded. If this is 
-     *   a relative URI...
+     *  a relative URI, the base URI used by the implementation is
+     *  implementation dependent.
      * @return If async is set to <code>true</code> <code>load</code> returns 
      *   <code>true</code> if the document load was successfully initiated. 
-     *   If an error occurred when initiating the document load 
+     *   If an error occurred when initiating the document load,
      *   <code>load</code> returns <code>false</code>.If async is set to 
      *   <code>false</code> <code>load</code> returns <code>true</code> if 
      *   the document was successfully loaded and parsed. If an error 
-     *   occurred when either loading or parsing the URI <code>load</code> 
+     *   occurred when either loading or parsing the URI, <code>load</code>
      *   returns <code>false</code>.
      */
     public boolean load(String uri) {
         return false;
     }
+
     /**
      * DOM Level 3 WD - Experimental.
      * Replace the content of the document with the result of parsing the 
@@ -1135,29 +1152,35 @@
     
     /**
      * DOM Level 3 WD - Experimental.
-     * Save the document or the given node to a string (i.e. serialize the 
-     * document or node).
-     * @param snode Specifies what to serialize, if this parameter is 
+     * Save the document or the given node and all its descendants to a string
+     * (i.e. serialize the document or node).
+     * <br>The parameters used in the <code>DOMSerializer</code> interface are
+     * assumed to have their default values when invoking this method.
+     * <br> The result of a call to this method is the same the result of a
+     * call to <code>DOMSerializer.writeToString</code> with the document as
+     * the node to write.
+     * @param node Specifies what to serialize, if this parameter is
      *   <code>null</code> the whole document is serialized, if it's 
      *   non-null the given node is serialized.
-     * @return The serialized document or <code>null</code>.
+     * @return The serialized document or <code>null</code> in case an error
+     *   occurred.
      * @exception DOMException
      *   WRONG_DOCUMENT_ERR: Raised if the node passed in as the node 
      *   parameter is from an other document.
      */
-    public String saveXML(Node snode)
+    public String saveXML(Node node)
                           throws DOMException {
-        if ( snode != null &&                                                      
-             getOwnerDocument() != snode.getOwnerDocument() ) {
+        if ( node != null &&
+             getOwnerDocument() != node.getOwnerDocument() ) {
             String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN, "WRONG_DOCUMENT_ERR", null);
             throw new DOMException(DOMException.WRONG_DOCUMENT_ERR, msg);
         }
         DOMImplementationLS domImplLS = (DOMImplementationLS)DOMImplementationImpl.getDOMImplementation();
-        DOMWriter xmlWriter = domImplLS.createDOMWriter();
-        if (snode == null) {
-            snode = this;
+        DOMSerializer xmlWriter = domImplLS.createDOMSerializer();
+        if (node == null) {
+            node = this;
         }
-        return xmlWriter.writeToString(snode);
+        return xmlWriter.writeToString(node);
     }
 
 
@@ -2226,7 +2249,9 @@
 	}
 
     /**
-     * 
     * @param n
     * @param data
     */
+     * @param n
+     * @param data
+     */
      protected final void checkQName(String prefix, 
                                        String local){
         if (!errorChecking) {
Index: xml-xerces/java/src/org/apache/xerces/dom/DOMConfigurationImpl.java
===================================================================
RCS file: /home/cvspublic/xml-xerces/java/src/org/apache/xerces/dom/DOMConfigurationImpl.java,v
retrieving revision 1.7
diff -u -w -r1.7 DOMConfigurationImpl.java
--- xml-xerces/java/src/org/apache/xerces/dom/DOMConfigurationImpl.java	25 Jul 2003 12:11:40 -0000	1.7
+++ xml-xerces/java/src/org/apache/xerces/dom/DOMConfigurationImpl.java	29 Jul 2003 12:48:11 -0000
@@ -70,7 +70,7 @@
 import org.apache.xerces.impl.XMLErrorReporter;
 import org.apache.xerces.impl.msg.XMLMessageFormatter;
 import org.apache.xerces.impl.validation.ValidationManager;
-import org.apache.xerces.util.DOMEntityResolverWrapper;
+import org.apache.xerces.util.DOMResourceResolverWrapper;
 import org.apache.xerces.util.DOMErrorHandlerWrapper;
 import org.apache.xerces.util.MessageFormatter;
 import org.apache.xerces.util.ObjectFactory;
@@ -89,7 +89,7 @@
 import org.apache.xerces.xni.parser.XMLInputSource;
 import org.apache.xerces.xni.parser.XMLParserConfiguration;
 import org.w3c.dom.DOMException;
-import org.w3c.dom.ls.DOMEntityResolver;
+import org.w3c.dom.ls.DOMResourceResolver;
 
 
 
@@ -285,7 +285,6 @@
         features |= CDATA;
         features |= SPLITCDATA;
 
-        
         if (symbolTable == null) {
             symbolTable = new SymbolTable();
         }
@@ -643,9 +642,9 @@
                 }
             }       
             else if (name.equals(Constants.DOM_ENTITY_RESOLVER)) {
-                if (value instanceof DOMEntityResolver) {
+                if (value instanceof DOMResourceResolver) {
                     try {
-                        setEntityResolver(new DOMEntityResolverWrapper((DOMEntityResolver) value));
+                        setEntityResolver(new DOMResourceResolverWrapper((DOMResourceResolver) value));
                     }
                     catch (XMLConfigurationException e) {}
                 }
@@ -829,8 +828,8 @@
 		}
 		else if (name.equals(Constants.DOM_ENTITY_RESOLVER)) {
 			XMLEntityResolver entityResolver = getEntityResolver();
-			if (entityResolver != null && entityResolver instanceof DOMEntityResolverWrapper) {
-				return ((DOMEntityResolverWrapper) entityResolver).getEntityResolver();
+			if (entityResolver != null && entityResolver instanceof DOMResourceResolverWrapper) {
+				return ((DOMResourceResolverWrapper) entityResolver).getEntityResolver();
 			}
 			return null;
 		}
