summaryrefslogtreecommitdiff
path: root/libjava/classpath/gnu/xml/dom
diff options
context:
space:
mode:
authorMark Wielaard <mark@gcc.gnu.org>2006-03-10 21:46:48 +0000
committerMark Wielaard <mark@gcc.gnu.org>2006-03-10 21:46:48 +0000
commit8aa540d2f783474d1d2e06f16744bf67b9c1facc (patch)
treeea38c56431c5d4528fb54254c3f8e50f517bede3 /libjava/classpath/gnu/xml/dom
parent27079765d00123f8e53d0e1ef7f9d46559266e6d (diff)
downloadgcc-8aa540d2f783474d1d2e06f16744bf67b9c1facc.tar.gz
Imported GNU Classpath 0.90
Imported GNU Classpath 0.90 * scripts/makemake.tcl: Set gnu/java/awt/peer/swing to ignore. * gnu/classpath/jdwp/VMFrame.java (SIZE): New constant. * java/lang/VMCompiler.java: Use gnu.java.security.hash.MD5. * java/lang/Math.java: New override file. * java/lang/Character.java: Merged from Classpath. (start, end): Now 'int's. (canonicalName): New field. (CANONICAL_NAME, NO_SPACES_NAME, CONSTANT_NAME): New constants. (UnicodeBlock): Added argument. (of): New overload. (forName): New method. Updated unicode blocks. (sets): Updated. * sources.am: Regenerated. * Makefile.in: Likewise. From-SVN: r111942
Diffstat (limited to 'libjava/classpath/gnu/xml/dom')
-rw-r--r--libjava/classpath/gnu/xml/dom/DomCharacterData.java37
-rw-r--r--libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java18
-rw-r--r--libjava/classpath/gnu/xml/dom/DomDocumentBuilderFactory.java23
-rw-r--r--libjava/classpath/gnu/xml/dom/JAXPFactory.java23
4 files changed, 97 insertions, 4 deletions
diff --git a/libjava/classpath/gnu/xml/dom/DomCharacterData.java b/libjava/classpath/gnu/xml/dom/DomCharacterData.java
index e94dcc4ecf9..1eec5bea734 100644
--- a/libjava/classpath/gnu/xml/dom/DomCharacterData.java
+++ b/libjava/classpath/gnu/xml/dom/DomCharacterData.java
@@ -1,5 +1,5 @@
/* DomCharacterData.java --
- Copyright (C) 1999,2000,2001,2004 Free Software Foundation, Inc.
+ Copyright (C) 1999,2000,2001,2004,2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -39,6 +39,8 @@ package gnu.xml.dom;
import org.w3c.dom.CharacterData;
import org.w3c.dom.DOMException;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
import org.w3c.dom.events.MutationEvent;
@@ -55,6 +57,30 @@ public abstract class DomCharacterData
implements CharacterData
{
+ /**
+ * Empty node list representing the children of character data nodes.
+ */
+ static class EmptyNodeList
+ implements NodeList
+ {
+
+ public int getLength()
+ {
+ return 0;
+ }
+
+ public Node item(int index)
+ {
+ return null;
+ }
+
+ }
+
+ /**
+ * Singleton empty node list for character data nodes.
+ */
+ static final NodeList CHILD_NODES = new EmptyNodeList();
+
private String text;
// package private
@@ -280,6 +306,15 @@ public abstract class DomCharacterData
}
/**
+ * Returns an empty node list.
+ * Character data nodes do not have children.
+ */
+ public NodeList getChildNodes()
+ {
+ return CHILD_NODES;
+ }
+
+ /**
* The base URI for character data is <code>null</code>.
* @since DOM Level 3 Core
*/
diff --git a/libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java b/libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java
index 42444e86515..343f48c13fd 100644
--- a/libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java
+++ b/libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java
@@ -1,5 +1,5 @@
/* DomDocumentBuilder.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004,2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -37,9 +37,11 @@ exception statement from your version. */
package gnu.xml.dom;
+import java.io.File;
import java.io.InputStream;
import java.io.IOException;
import java.io.Reader;
+import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
@@ -157,8 +159,18 @@ class DomDocumentBuilder
}
else
{
- URL url = new URL(systemId);
- input.setByteStream(url.openStream());
+ try
+ {
+ URL url = new URL(systemId);
+ input.setByteStream(url.openStream());
+ }
+ catch (MalformedURLException e)
+ {
+ // Maybe this is a relative file URL
+ File cwd = new File(System.getProperty("user.dir"));
+ URL url = new URL(cwd.toURL(), systemId);
+ input.setByteStream(url.openStream());
+ }
}
}
input.setPublicId(is.getPublicId());
diff --git a/libjava/classpath/gnu/xml/dom/DomDocumentBuilderFactory.java b/libjava/classpath/gnu/xml/dom/DomDocumentBuilderFactory.java
index 814141c9441..02347858002 100644
--- a/libjava/classpath/gnu/xml/dom/DomDocumentBuilderFactory.java
+++ b/libjava/classpath/gnu/xml/dom/DomDocumentBuilderFactory.java
@@ -37,6 +37,7 @@ exception statement from your version. */
package gnu.xml.dom;
+import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
@@ -59,6 +60,7 @@ public class DomDocumentBuilderFactory
final DOMImplementation impl;
final DOMImplementationLS ls;
+ private boolean secureProcessing;
public DomDocumentBuilderFactory()
{
@@ -124,5 +126,26 @@ public class DomDocumentBuilderFactory
// TODO
}
+ public void setFeature(String name, boolean value)
+ throws ParserConfigurationException
+ {
+ if (name == null)
+ throw new NullPointerException();
+ if (XMLConstants.FEATURE_SECURE_PROCESSING.equals(name))
+ {
+ secureProcessing = true;
+ return;
+ }
+ throw new ParserConfigurationException(name);
+ }
+
+ public boolean getFeature(String name)
+ throws ParserConfigurationException
+ {
+ if (XMLConstants.FEATURE_SECURE_PROCESSING.equals(name))
+ return secureProcessing;
+ throw new ParserConfigurationException(name);
+ }
+
}
diff --git a/libjava/classpath/gnu/xml/dom/JAXPFactory.java b/libjava/classpath/gnu/xml/dom/JAXPFactory.java
index 8f481fad643..ca14a8e9daf 100644
--- a/libjava/classpath/gnu/xml/dom/JAXPFactory.java
+++ b/libjava/classpath/gnu/xml/dom/JAXPFactory.java
@@ -49,6 +49,7 @@ import org.xml.sax.XMLReader;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
+import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
@@ -70,6 +71,7 @@ public final class JAXPFactory
private static final String FEATURE = "http://xml.org/sax/features/";
private SAXParserFactory pf;
+ private boolean secureProcessing;
/**
* Default constructor.
@@ -138,6 +140,27 @@ public final class JAXPFactory
throw new IllegalArgumentException(name);
}
+ public void setFeature(String name, boolean value)
+ throws ParserConfigurationException
+ {
+ if (name == null)
+ throw new NullPointerException();
+ if (XMLConstants.FEATURE_SECURE_PROCESSING.equals(name))
+ {
+ secureProcessing = true;
+ return;
+ }
+ throw new ParserConfigurationException(name);
+ }
+
+ public boolean getFeature(String name)
+ throws ParserConfigurationException
+ {
+ if (XMLConstants.FEATURE_SECURE_PROCESSING.equals(name))
+ return secureProcessing;
+ throw new ParserConfigurationException(name);
+ }
+
static final class JAXPBuilder
extends DocumentBuilder
implements ErrorHandler