diff options
author | Mark Wielaard <mark@gcc.gnu.org> | 2006-05-18 17:29:21 +0000 |
---|---|---|
committer | Mark Wielaard <mark@gcc.gnu.org> | 2006-05-18 17:29:21 +0000 |
commit | 4f9533c7722fa07511a94d005227961f4a4dec23 (patch) | |
tree | 9f9c470de62ee62fba1331a396450d728d2b1fad /libjava/classpath/gnu/xml | |
parent | eaec4980e139903ae9b274d1abcf3a13946603a8 (diff) | |
download | gcc-4f9533c7722fa07511a94d005227961f4a4dec23.zip gcc-4f9533c7722fa07511a94d005227961f4a4dec23.tar.gz gcc-4f9533c7722fa07511a94d005227961f4a4dec23.tar.bz2 |
Imported GNU Classpath 0.90
Imported GNU Classpath 0.90
* scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale.
* sources.am: Regenerated.
* gcj/javaprims.h: Regenerated.
* Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* gnu/java/lang/VMInstrumentationImpl.java: New override.
* gnu/java/net/local/LocalSocketImpl.java: Likewise.
* gnu/classpath/jdwp/VMMethod.java: Likewise.
* gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest
interface.
* java/lang/Thread.java: Add UncaughtExceptionHandler.
* java/lang/reflect/Method.java: Implements GenericDeclaration and
isSynthetic(),
* java/lang/reflect/Field.java: Likewise.
* java/lang/reflect/Constructor.java
* java/lang/Class.java: Implements Type, GenericDeclaration,
getSimpleName() and getEnclosing*() methods.
* java/lang/Class.h: Add new public methods.
* java/lang/Math.java: Add signum(), ulp() and log10().
* java/lang/natMath.cc (log10): New function.
* java/security/VMSecureRandom.java: New override.
* java/util/logging/Logger.java: Updated to latest classpath
version.
* java/util/logging/LogManager.java: New override.
From-SVN: r113887
Diffstat (limited to 'libjava/classpath/gnu/xml')
12 files changed, 323 insertions, 35 deletions
diff --git a/libjava/classpath/gnu/xml/dom/DomDocument.java b/libjava/classpath/gnu/xml/dom/DomDocument.java index 900d03a..5d06a42 100644 --- a/libjava/classpath/gnu/xml/dom/DomDocument.java +++ b/libjava/classpath/gnu/xml/dom/DomDocument.java @@ -150,6 +150,14 @@ public class DomDocument } /** + * Sets whether to check for document characters. + */ + public void setCheckingCharacters(boolean flag) + { + checkingCharacters = flag; + } + + /** * <b>DOM L1</b> * Returns the constant "#document". */ @@ -235,6 +243,18 @@ public class DomDocument if (current.getNodeType() == ELEMENT_NODE) { DomElement element = (DomElement) current; + if (element.userIdAttrs != null) + { + for (Iterator i = element.userIdAttrs.iterator(); + i.hasNext(); ) + { + Node idAttr = (Node) i.next(); + if (id.equals(idAttr.getNodeValue())) + { + return element; + } + } + } if (doctype != null) { DTDElementTypeInfo info = @@ -244,18 +264,6 @@ public class DomDocument { return element; } - else if (element.userIdAttrs != null) - { - for (Iterator i = element.userIdAttrs.iterator(); - i.hasNext(); ) - { - Node idAttr = (Node) i.next(); - if (id.equals(idAttr.getNodeValue())) - { - return element; - } - } - } } // xml:id String xmlId = element.getAttribute("xml:id"); @@ -535,11 +543,9 @@ public class DomDocument int index = name.indexOf(':'); if (index != -1) { - if (index == 0 || index == (len - 1) || - name.lastIndexOf(':') != index) + if (index == 0 || index == (len - 1) || name.lastIndexOf(':') != index) { - throw new DomDOMException(DOMException.NAMESPACE_ERR, - name, null, 0); + throw new DomDOMException(DOMException.NAMESPACE_ERR, name, null, 0); } } } diff --git a/libjava/classpath/gnu/xml/dom/DomNode.java b/libjava/classpath/gnu/xml/dom/DomNode.java index 93f7c6f..f0915eb 100644 --- a/libjava/classpath/gnu/xml/dom/DomNode.java +++ b/libjava/classpath/gnu/xml/dom/DomNode.java @@ -1113,14 +1113,16 @@ public abstract class DomNode { DomDocument doc = (nodeType == DOCUMENT_NODE) ? (DomDocument) node : node.owner; + boolean building = doc.building; + doc.building = true; // Permit certain structural rules for (DomNode ctx = first; ctx != null; ctx = ctx.next) { DomNode newChild = (DomNode) ctx.cloneNode(deep); newChild.setOwner(doc); node.appendChild(newChild); } + doc.building = building; } - if (nodeType == ENTITY_REFERENCE_NODE) { node.makeReadonly(); @@ -1556,23 +1558,30 @@ public abstract class DomNode ancestorLen = ancestors.length; } - // XXX autogrow ancestors ... based on statistics - // Climb to the top of this subtree and handle capture, letting // each node (from the top down) capture until one stops it or // until we get to this one. - - for (index = 0, current = parent; - current != null && index < ancestorLen; - index++, current = current.parent) + current = parent; + if (current.depth >= ANCESTORS_INIT) { + DomNode[] newants = new DomNode[current.depth + 1]; + System.arraycopy(ancestors, 0, newants, 0, ancestors.length); + ancestors = newants; + ancestorLen = ancestors.length; + } + for (index = 0; index < ancestorLen; index++) + { + if (current == null || current.depth == 0) + break; + if (current.nListeners != 0) { haveAncestorRegistrations = true; } ancestors [index] = current; + current = current.parent; } - if (current != null) + if (current.depth > 0) { throw new RuntimeException("dispatchEvent capture stack size"); } diff --git a/libjava/classpath/gnu/xml/dom/DomNodeIterator.java b/libjava/classpath/gnu/xml/dom/DomNodeIterator.java index 6079f7a..8001556 100644 --- a/libjava/classpath/gnu/xml/dom/DomNodeIterator.java +++ b/libjava/classpath/gnu/xml/dom/DomNodeIterator.java @@ -137,9 +137,10 @@ public class DomNodeIterator { ret = current.getNextSibling(); } + current = (ret == null) ? current : ret; } while (!accept(ret)); - current = (ret == null) ? current : ret; + return ret; } diff --git a/libjava/classpath/gnu/xml/dom/html2/DomHTMLAppletElement.java b/libjava/classpath/gnu/xml/dom/html2/DomHTMLAppletElement.java index 8ec4d3c..918cf0d 100644 --- a/libjava/classpath/gnu/xml/dom/html2/DomHTMLAppletElement.java +++ b/libjava/classpath/gnu/xml/dom/html2/DomHTMLAppletElement.java @@ -65,6 +65,26 @@ public class DomHTMLAppletElement setHTMLAttribute("align", align); } + public String getCls() + { + return getHTMLAttribute("class"); + } + + public void setCls(String cls) + { + setHTMLAttribute("class", cls); + } + + public String getSrc() + { + return getHTMLAttribute("src"); + } + + public void setSrc(String src) + { + setHTMLAttribute("src", src); + } + public String getAlt() { return getHTMLAttribute("alt"); @@ -164,6 +184,5 @@ public class DomHTMLAppletElement { setHTMLAttribute("width", width); } - } diff --git a/libjava/classpath/gnu/xml/dom/html2/DomHTMLDocument.java b/libjava/classpath/gnu/xml/dom/html2/DomHTMLDocument.java index 10ee9e7..d45c1b2 100644 --- a/libjava/classpath/gnu/xml/dom/html2/DomHTMLDocument.java +++ b/libjava/classpath/gnu/xml/dom/html2/DomHTMLDocument.java @@ -87,6 +87,7 @@ public class DomHTMLDocument map.put("dir", DomHTMLDirectoryElement.class); map.put("div", DomHTMLDivElement.class); map.put("dlist", DomHTMLDListElement.class); + map.put("embed", DomHTMLEmbedElement.class); map.put("fieldset", DomHTMLFieldSetElement.class); map.put("font", DomHTMLFontElement.class); map.put("form", DomHTMLFormElement.class); @@ -311,6 +312,7 @@ public class DomHTMLDocument public HTMLCollection getApplets() { DomHTMLCollection ret = new DomHTMLCollection(this, this); + ret.addNodeName("embed"); ret.addNodeName("object"); ret.addNodeName("applet"); ret.evaluate(); diff --git a/libjava/classpath/gnu/xml/dom/html2/DomHTMLEmbedElement.java b/libjava/classpath/gnu/xml/dom/html2/DomHTMLEmbedElement.java new file mode 100644 index 0000000..1ae081c --- /dev/null +++ b/libjava/classpath/gnu/xml/dom/html2/DomHTMLEmbedElement.java @@ -0,0 +1,129 @@ +/* DomHTMLEmbedElement.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.xml.dom.html2; + +public class DomHTMLEmbedElement + extends DomHTMLAppletElement +{ + protected DomHTMLEmbedElement(DomHTMLDocument owner, String namespaceURI, + String name) + { + super(owner, namespaceURI, name); + } + + public String getJavaObject() + { + return getHTMLAttribute("java_object"); + } + + public void setJavaObject(String object) + { + setHTMLAttribute("java_object", object); + } + + public String getJavaCodeBase() + { + return getHTMLAttribute("java_codebase"); + } + + public void setJavaCodeBase(String codeBase) + { + setHTMLAttribute("java_codebase", codeBase); + } + + public String getJavaArchive() + { + return getHTMLAttribute("java_archive"); + } + + public void setJavaArchive(String archive) + { + setHTMLAttribute("java_archive", archive); + } + + public void setJavaCode(String code) + { + setHTMLAttribute("java_code", code); + } + + public String getJavaCode() + { + return getHTMLAttribute("java_code"); + } + + public void setJavaType(String type) + { + setHTMLAttribute("java_type", type); + } + + public String getJavaType() + { + return getHTMLAttribute("java_type"); + } + + public void setType(String type) + { + setHTMLAttribute("type", type); + } + + public String getType() + { + return getHTMLAttribute("type"); + } + + public String getPluginsPage() + { + return getHTMLAttribute("pluginspage"); + } + + public void setPluginsPage(String pluginspage) + { + setHTMLAttribute("pluginspage", pluginspage); + } + + public String getMayscript() + { + return getHTMLAttribute("mayscript"); + } + + public void setMayscript(String mayscript) + { + setHTMLAttribute("mayscript", mayscript); + } +} diff --git a/libjava/classpath/gnu/xml/dom/html2/DomHTMLObjectElement.java b/libjava/classpath/gnu/xml/dom/html2/DomHTMLObjectElement.java index fdea9b1..9bb6211 100644 --- a/libjava/classpath/gnu/xml/dom/html2/DomHTMLObjectElement.java +++ b/libjava/classpath/gnu/xml/dom/html2/DomHTMLObjectElement.java @@ -72,6 +72,36 @@ public class DomHTMLObjectElement setHTMLAttribute("code", code); } + public String getJavaCode() + { + return getHTMLAttribute("java_code"); + } + + public void setJavaCode(String code) + { + setHTMLAttribute("java_code", code); + } + + public String getObject() + { + return getHTMLAttribute("object"); + } + + public void setObject(String obj) + { + setHTMLAttribute("object", obj); + } + + public String getJavaObject() + { + return getHTMLAttribute("java_object"); + } + + public void setJavaObject(String obj) + { + setHTMLAttribute("java_object", obj); + } + public String getAlign() { return getHTMLAttribute("align"); @@ -92,6 +122,16 @@ public class DomHTMLObjectElement setHTMLAttribute("archive", archive); } + public String getJavaArchive() + { + return getHTMLAttribute("java_archive"); + } + + public void setJavaArchive(String archive) + { + setHTMLAttribute("java_archive", archive); + } + public String getBorder() { return getHTMLAttribute("border"); @@ -112,6 +152,16 @@ public class DomHTMLObjectElement setHTMLAttribute("codebase", codeBase); } + public String getJavaCodeBase() + { + return getHTMLAttribute("java_codebase"); + } + + public void setJavaCodeBase(String codeBase) + { + setHTMLAttribute("java_codebase", codeBase); + } + public String getCodeType() { return getHTMLAttribute("codetype"); @@ -202,6 +252,16 @@ public class DomHTMLObjectElement setHTMLAttribute("type", type); } + public String getJavaType() + { + return getHTMLAttribute("java_type"); + } + + public void setJavaType(String type) + { + setHTMLAttribute("java_type", type); + } + public String getUseMap() { return getHTMLAttribute("usemap"); @@ -238,5 +298,24 @@ public class DomHTMLObjectElement return null; } + public void setMayscript(String may) + { + setHTMLAttribute("mayscript", may); + } + + public String getMayscript() + { + return getHTMLAttribute("mayscript"); + } + + public void setScriptable(String scr) + { + setHTMLAttribute("scriptable", scr); + } + + public String getScriptable() + { + return getHTMLAttribute("scriptable"); + } } diff --git a/libjava/classpath/gnu/xml/dom/html2/DomHTMLParser.java b/libjava/classpath/gnu/xml/dom/html2/DomHTMLParser.java index 7b44562..2d329fd 100644 --- a/libjava/classpath/gnu/xml/dom/html2/DomHTMLParser.java +++ b/libjava/classpath/gnu/xml/dom/html2/DomHTMLParser.java @@ -124,9 +124,11 @@ public class DomHTMLParser try { document = new DomHTMLDocument(); - + document.setCheckWellformedness(false); + document.setCheckingCharacters(false); + cursor = document; - + parse(input); DomHTMLDocument h = document; @@ -224,7 +226,6 @@ public class DomHTMLParser open.addFirst(close); close = close.getParentNode(); } - if (close == null) cursor = document; else @@ -235,9 +236,8 @@ public class DomHTMLParser while (iter.hasNext()) { Node item = (Node) iter.next(); - Node copy = item.cloneNode(true); - cursor.appendChild(copy); - cursor = copy; + cursor.appendChild(item); + cursor = item; } } } diff --git a/libjava/classpath/gnu/xml/stream/XMLParser.java b/libjava/classpath/gnu/xml/stream/XMLParser.java index 9bb4834..87096ee 100644 --- a/libjava/classpath/gnu/xml/stream/XMLParser.java +++ b/libjava/classpath/gnu/xml/stream/XMLParser.java @@ -3534,7 +3534,7 @@ public class XMLParser public static boolean isXML11Char(int c) { return ((c >= 0x0001 && c <= 0xD7FF) || - (c >= 0xE000 && c < 0xFFFD) || // NB exclude 0xfffd + (c >= 0xE000 && c < 0xFFFE) || (c >= 0x10000 && c <= 0x10FFFF)); } @@ -4014,7 +4014,7 @@ public class XMLParser public static boolean isChar(int c) { return (c >= 0x20 && c < 0xd800) || - (c >= 0xe00 && c < 0xfffd) || // NB exclude 0xfffd + (c >= 0xe00 && c < 0xfffe) || (c >= 0x10000 && c < 0x110000) || c == 0xa || c == 0x9 || c == 0xd; } @@ -4965,6 +4965,7 @@ public class XMLParser Reader reader; UnicodeReader unicodeReader; boolean initialized; + boolean encodingDetected; String inputEncoding; boolean xml11; @@ -5174,6 +5175,7 @@ public class XMLParser in.read(); in.read(); setInputEncoding("UTF-32BE"); + encodingDetected = true; } else if (equals(SIGNATURE_UCS_4_4321, signature)) { @@ -5182,6 +5184,7 @@ public class XMLParser in.read(); in.read(); setInputEncoding("UTF-32LE"); + encodingDetected = true; } else if (equals(SIGNATURE_UCS_4_2143, signature) || equals(SIGNATURE_UCS_4_3412, signature)) @@ -5193,12 +5196,14 @@ public class XMLParser in.read(); in.read(); setInputEncoding("UTF-16BE"); + encodingDetected = true; } else if (equals(SIGNATURE_UCS_2_21, signature)) { in.read(); in.read(); setInputEncoding("UTF-16LE"); + encodingDetected = true; } else if (equals(SIGNATURE_UCS_2_12_NOBOM, signature)) { @@ -5221,6 +5226,7 @@ public class XMLParser in.read(); in.read(); setInputEncoding("UTF-8"); + encodingDetected = true; } } @@ -5242,7 +5248,7 @@ public class XMLParser if ("UTF-16".equalsIgnoreCase(encoding) && inputEncoding.startsWith("UTF-16")) return; - if (reader != null) + if (encodingDetected) throw new UnsupportedEncodingException("document is not in its " + "declared encoding " + inputEncoding + diff --git a/libjava/classpath/gnu/xml/transform/TransformerImpl.java b/libjava/classpath/gnu/xml/transform/TransformerImpl.java index 2c57e97..6a0a5be 100644 --- a/libjava/classpath/gnu/xml/transform/TransformerImpl.java +++ b/libjava/classpath/gnu/xml/transform/TransformerImpl.java @@ -320,12 +320,24 @@ class TransformerImpl } if (indent) { + if (created) + { + DomDocument domDoc = (DomDocument) parent; + domDoc.setBuilding(true); + domDoc.setCheckWellformedness(false); + } parent.normalize(); strip(stylesheet, parent); Document resultDoc = (parent instanceof Document) ? (Document) parent : parent.getOwnerDocument(); reindent(resultDoc, parent, 0); + if (created) + { + DomDocument domDoc = (DomDocument) parent; + domDoc.setBuilding(false); + domDoc.setCheckWellformedness(true); + } } // Render result to the target device if (outputTarget instanceof DOMResult) diff --git a/libjava/classpath/gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java b/libjava/classpath/gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java index e1eb758..890ca8e 100644 --- a/libjava/classpath/gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java +++ b/libjava/classpath/gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java @@ -51,6 +51,7 @@ import javax.xml.validation.SchemaFactory; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.ls.LSResourceResolver; +import org.xml.sax.ErrorHandler; import org.xml.sax.InputSource; import org.xml.sax.SAXException; @@ -64,6 +65,7 @@ public class RELAXNGSchemaFactory { LSResourceResolver resourceResolver; + ErrorHandler errorHandler; public LSResourceResolver getResourceResolver() { @@ -73,6 +75,16 @@ public class RELAXNGSchemaFactory public void setResourceResolver(LSResourceResolver resourceResolver) { this.resourceResolver = resourceResolver; + } + + public ErrorHandler getErrorHandler() + { + return this.errorHandler; + } + + public void setErrorHandler(ErrorHandler errorHandler) + { + this.errorHandler = errorHandler; } public boolean isSchemaLanguageSupported(String schemaLanguage) diff --git a/libjava/classpath/gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java b/libjava/classpath/gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java index b37ae54..2b985a2 100644 --- a/libjava/classpath/gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java +++ b/libjava/classpath/gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java @@ -52,6 +52,7 @@ import org.relaxng.datatype.DatatypeException; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.ls.LSResourceResolver; +import org.xml.sax.ErrorHandler; import org.xml.sax.InputSource; import org.xml.sax.SAXException; @@ -65,6 +66,7 @@ public class XMLSchemaSchemaFactory { LSResourceResolver resourceResolver; + ErrorHandler errorHandler; public LSResourceResolver getResourceResolver() { @@ -75,6 +77,17 @@ public class XMLSchemaSchemaFactory { this.resourceResolver = resourceResolver; } + + public ErrorHandler getErrorHandler() + { + return this.errorHandler; + } + + public void setErrorHandler(ErrorHandler errorHandler) + { + this.errorHandler = errorHandler; + } + public boolean isSchemaLanguageSupported(String schemaLanguage) { |