mrglavas 2004/04/23 14:45:05
Modified: java/src/org/apache/xerces/dom
DOMImplementationSourceImpl.java
DOMXSImplementationSourceImpl.java
Added: java/src/org/apache/xerces/dom
org.w3c.dom.DOMImplementationSourceList
org.apache.xerces.dom.DOMImplementationSourceImpl
DOMImplementationListImpl.java
Log:
Patches for DOMImplementationList and DOMImplementationSource.
DOMImplementationListImpl is not part of the bootstrap package, so
provide our own implementation. Thanks to Neil Delima.
Also adding org.w3c.dom.DOMImplementationSourceList for
META-INF/services.
Revision Changes Path
1.15 +8 -12
xml-xerces/java/src/org/apache/xerces/dom/DOMImplementationSourceImpl.java
Index: DOMImplementationSourceImpl.java
===================================================================
RCS file:
/home/cvs/xml-xerces/java/src/org/apache/xerces/dom/DOMImplementationSourceImpl.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- DOMImplementationSourceImpl.java 24 Feb 2004 23:23:18 -0000 1.14
+++ DOMImplementationSourceImpl.java 23 Apr 2004 21:45:04 -0000 1.15
@@ -17,11 +17,11 @@
package org.apache.xerces.dom;
import java.util.StringTokenizer;
-
+import java.util.Vector;
import org.apache.xerces.dom3.DOMImplementationList;
import org.apache.xerces.dom3.DOMImplementationSource;
-import org.apache.xerces.dom3.bootstrap.DOMImplementationListImpl;
import org.w3c.dom.DOMImplementation;
+import org.apache.xerces.dom.DOMImplementationListImpl;
/**
* Supply one the right implementation, based upon requested features. Each
@@ -29,7 +29,7 @@
* binding-specific list of available sources so that its
* <code>DOMImplementation</code> objects are made available.
*
- * <p>See also the <a
href='http://www.w3.org/2001/10/WD-DOM-Level-3-Core-20011017'>Document Object Model
(DOM) Level 3 Core Specification</a>.
+ * <p>See also the <a
href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#DOMImplementationSource'>Document
Object Model (DOM) Level 3 Core Specification</a>.
*
* @version $Id$
*/
@@ -57,14 +57,11 @@
if (testImpl(impl, features)) {
return impl;
}
-
return null;
}
/**
- * DOM Level 3 Core - CR
- *
* A method to request a list of DOM implementations that support the
* specified features and versions, as specified in .
* @param features A string that specifies which features and versions
@@ -78,17 +75,16 @@
public DOMImplementationList getDOMImplementationList(String features) {
// first check whether the CoreDOMImplementation would do
DOMImplementation impl = CoreDOMImplementationImpl.getDOMImplementation();
- DOMImplementationListImpl list = new DOMImplementationListImpl();
+ final Vector implementations = new Vector();
if (testImpl(impl, features)) {
- list.add(impl);
+ implementations.addElement(impl);
}
impl = DOMImplementationImpl.getDOMImplementation();
if (testImpl(impl, features)) {
- list.add(impl);
+ implementations.addElement(impl);
}
-
- return list;
+ return new DOMImplementationListImpl(implementations);
}
boolean testImpl(DOMImplementation impl, String features) {
1.3 +32 -28
xml-xerces/java/src/org/apache/xerces/dom/DOMXSImplementationSourceImpl.java
Index: DOMXSImplementationSourceImpl.java
===================================================================
RCS file:
/home/cvs/xml-xerces/java/src/org/apache/xerces/dom/DOMXSImplementationSourceImpl.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DOMXSImplementationSourceImpl.java 24 Feb 2004 23:23:18 -0000 1.2
+++ DOMXSImplementationSourceImpl.java 23 Apr 2004 21:45:04 -0000 1.3
@@ -16,21 +16,21 @@
package org.apache.xerces.dom;
-import org.apache.xerces.dom3.DOMImplementationList;
-import org.apache.xerces.dom3.bootstrap.DOMImplementationListImpl;
import org.apache.xerces.impl.xs.XSImplementationImpl;
+import org.apache.xerces.dom3.DOMImplementationList;
import org.w3c.dom.DOMImplementation;
+import java.util.Vector;
/**
* Allows to retrieve <code>XSImplementation</code>, DOM Level 3 Core and LS
implementations
* and PSVI implementation.
- * <p>See also the <a
href='http://www.w3.org/2001/10/WD-DOM-Level-3-Core-20011017'>Document Object Model
(DOM) Level 3 Core Specification</a>.
+ * <p>See also the <a
href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#DOMImplementationSource'>Document
Object Model (DOM) Level 3 Core Specification</a>.
* @author Elena Litani, IBM
* @version $Id$
*/
public class DOMXSImplementationSourceImpl
- extends DOMImplementationSourceImpl{
-
+ extends DOMImplementationSourceImpl {
+
/**
* A method to request a DOM implementation.
* @param features A string that specifies which features are required.
@@ -43,25 +43,23 @@
public DOMImplementation getDOMImplementation(String features) {
DOMImplementation impl = super.getDOMImplementation(features);
if (impl != null){
- return impl;
+ return impl;
+ }
+ // if not try the PSVIDOMImplementation
+ impl = PSVIDOMImplementationImpl.getDOMImplementation();
+ if (testImpl(impl, features)) {
+ return impl;
+ }
+ // if not try the XSImplementation
+ impl = XSImplementationImpl.getDOMImplementation();
+ if (testImpl(impl, features)) {
+ return impl;
}
- // if not try the PSVIDOMImplementation
- impl = PSVIDOMImplementationImpl.getDOMImplementation();
- if (testImpl(impl, features)) {
- return impl;
- }
- // if not try the XSImplementation
- impl = XSImplementationImpl.getDOMImplementation();
- if (testImpl(impl, features)) {
- return impl;
- }
return null;
}
/**
- * DOM Level 3 Core - CR
- *
* A method to request a list of DOM implementations that support the
* specified features and versions, as specified in .
* @param features A string that specifies which features and versions
@@ -73,18 +71,24 @@
* features.
*/
public DOMImplementationList getDOMImplementationList(String features) {
+ final Vector implementations = new Vector();
+
// first check whether the CoreDOMImplementation would do
- DOMImplementationListImpl list =
(DOMImplementationListImpl)super.getDOMImplementationList(features);
- DOMImplementation impl =
PSVIDOMImplementationImpl.getDOMImplementation();
- if (testImpl(impl, features)) {
- list.add(impl);
- }
+ DOMImplementationList list = super.getDOMImplementationList(features);
+ //Add core DOMImplementations
+ for (int i=0; i < list.getLength(); i++ ) {
+ implementations.addElement(list.item(i));
+ }
- impl = XSImplementationImpl.getDOMImplementation();
+ DOMImplementation impl = PSVIDOMImplementationImpl.getDOMImplementation();
if (testImpl(impl, features)) {
- list.add(impl);
+ implementations.addElement(impl);
}
- return list;
+
+ impl = XSImplementationImpl.getDOMImplementation();
+ if (testImpl(impl, features)) {
+ implementations.addElement(impl);
+ }
+ return new DOMImplementationListImpl(implementations);
}
-
}
1.1
xml-xerces/java/src/org/apache/xerces/dom/org.w3c.dom.DOMImplementationSourceList
Index: org.w3c.dom.DOMImplementationSourceList
===================================================================
org.apache.xerces.dom.DOMXSImplementationSourceImpl
1.1
xml-xerces/java/src/org/apache/xerces/dom/org.apache.xerces.dom.DOMImplementationSourceImpl
Index: org.apache.xerces.dom.DOMImplementationSourceImpl
===================================================================
org.apache.xerces.dom.DOMImplementationSourceImpl
1.3 +44 -91
xml-xerces/java/src/org/apache/xerces/dom/DOMImplementationListImpl.java
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]