summaryrefslogtreecommitdiffstats
path: root/xml
Commit message (Collapse)AuthorAgeFilesLines
...
* | Remove explicit 8192 arguments to BufferedReader and friends.Elliott Hughes2010-03-231-4/+1
| | | | | | | | | | | | | | | | | | | | | | These were clearly added just to shut up our own warning, and are now unnecessary and misleading to future maintainers. There's one barely-related change: InputStreamReader and OutputStreamWriter are very similar, and this patch makes them more similar, and adds a few missing modifiers from their fields. Change-Id: I959011f914ff215e92bbfa41c1bac66465803685
* | Remove all remaining "@since Android" tags.Elliott Hughes2010-03-225-12/+3
| | | | | | | | | | | | | | I've fixed a few typos, and removed a few of the more egregiously nonsensical or incorrect comments that were nearby. Change-Id: I35851baebd532f949cc269f4738a26eeb9b6e697
* | am 7713b900: Merge "Fixing namespace+prefix mode in Expat and removing ↵Jesse Wilson2010-03-194-3/+179
|\ \ | |/ | | | | | | | | | | | | | | optional fields from callbacks." Merge commit '7713b900d12c7a46334db46b33fbe848167189dd' into dalvik-dev * commit '7713b900d12c7a46334db46b33fbe848167189dd': Fixing namespace+prefix mode in Expat and removing optional fields from callbacks.
| * Fixing namespace+prefix mode in Expat and removing optional fields from ↵Jesse Wilson2010-03-194-3/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | callbacks. The first part is related to bug 6632: http://code.google.com/p/android/issues/detail?id=6632 I added these optional fields back when I was originally updating the XML parser for Froyo. I've decided to remove them to simplify migrating between Android and the RI. It should also save some object allocations. Note that the RI v5 and the RI v6 behave differently for optional values on attributes; this motivated me to add the otherwise unfortunate assertOneOf() method to the testcase. (We behave more like RI v6, which is to supply the values upon request) Change-Id: Icfa5d29976a86bf194b3ed7c0d9e2275c3bff9dd
* | am 31275264: Fixing 10 of the XPath failures caused by a malformed Document.Jesse Wilson2010-03-172-4/+25
|\ \ | |/ | | | | | | | | | | Merge commit '312752642a4539788952260fc517d286f6a6202e' into dalvik-dev * commit '312752642a4539788952260fc517d286f6a6202e': Fixing 10 of the XPath failures caused by a malformed Document.
| * Fixing 10 of the XPath failures caused by a malformed Document.Jesse Wilson2010-03-172-4/+25
| | | | | | | | | | | | | | | | | | See bug 2518858. This makes our XPath implementation fail the exact same tests as the RI's. (which we assume is also based on Apache Xalan) Change-Id: I9a98323113c95609651e948ad11113f84ccd87ec
* | Fixing an import of a JUnit class that isn't available in dalvik-dev.Jesse Wilson2010-03-171-11/+0
| |
* | am f6976780: Merge "Exercising our XPath implementation with 279 of Jaxen\'s ↵Jesse Wilson2010-03-172-1/+318
|\ \ | |/ | | | | | | | | | | | | | | tests." Merge commit 'f6976780647c6b9bb168cc7a9c5c8f4ce1425caf' into dalvik-dev * commit 'f6976780647c6b9bb168cc7a9c5c8f4ce1425caf': Exercising our XPath implementation with 279 of Jaxen's tests.
| * Exercising our XPath implementation with 279 of Jaxen's tests.Jesse Wilson2010-03-162-1/+318
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both our implementation and the RIv6 fail 29 tests, 17 of which are "could not find function" failures regarding our common lack of support for the evaluate(), document(), upper-case() and lower-case() functions. In addition, our implementation fails 10 additional tests: xml/moreover.xml / /child::node() "expected:<1> but was:<3>" xml/simple.xml / string() "expected:<abd> but was:<" xml/web.xml / /child::node() "expected:<web-app> but was:<>" xml/web.xml / child::node() "expected:<web-app> but was:<>" xml/web.xml / name(/child::node()) "expected:<web-app> but was:<>" xml/web.xml / name(/child::node()) "expected:<web-app> but was:<>" xml/web.xml / name(/node()) "expected:<web-app> but was:<>" xml/web.xml / name(child::node()) "expected:<web-app> but was:<>" xml/web.xml / name(node()) "expected:<web-app> but was:<>" xml/web.xml /* name(../child::node()) "expected:<web-app> but was:<>" Change-Id: Icb4695bbf826fd8f1c1ffae5e857169ff551f75e
* | am 27182541: Implementing Document.renameNode() and ↵Jesse Wilson2010-03-157-100/+228
|\ \ | |/ | | | | | | | | | | | | | | DOMImplementation.getFeature(). Merge commit '271825415aa961bdd9f28a551575bcee6f27b4ab' into dalvik-dev * commit '271825415aa961bdd9f28a551575bcee6f27b4ab': Implementing Document.renameNode() and DOMImplementation.getFeature().
| * Implementing Document.renameNode() and DOMImplementation.getFeature().Jesse Wilson2010-03-157-100/+228
| | | | | | | | | | | | | | The rename code required moving some behaviour from ElementImpl and AttrImpl up to their common superclass, NodeImpl. Change-Id: I30910de146f525a5ecc837895ce5808928b858a0
* | am 92e01317: Adding support for DOM3 attribute IDs and SchemaTypeInfos.Jesse Wilson2010-03-124-12/+107
|\ \ | |/ | | | | | | | | | | Merge commit '92e01317d2428856cee52965745d17699a33be5a' into dalvik-dev * commit '92e01317d2428856cee52965745d17699a33be5a': Adding support for DOM3 attribute IDs and SchemaTypeInfos.
| * Adding support for DOM3 attribute IDs and SchemaTypeInfos.Jesse Wilson2010-03-114-12/+107
| | | | | | | | Change-Id: I35e56ed989820df6b8fea36bbf81fe0314c76304
* | am 6f9b4d2b: Merge "Implementing getBaseUri() for DOM."Jesse Wilson2010-03-112-29/+212
|\ \ | |/ | | | | | | | | | | Merge commit '6f9b4d2bdccb2ea5e548b908e5cc882d262d0940' into dalvik-dev * commit '6f9b4d2bdccb2ea5e548b908e5cc882d262d0940': Implementing getBaseUri() for DOM.
| * Implementing getBaseUri() for DOM.Jesse Wilson2010-03-112-29/+212
| | | | | | | | | | | | | | | | The tests for this uncover problems with the RI's implementation. It does bizarre things with hashes, trashing the absolute URI and returning a page-relative one (like "#foo"). Change-Id: Ib8af163a7b359e3f72a9c94eb3dd7e81e3a9a95c
* | am 5c6839b2: Merge "Implement adoptNode() and importNode()."Jesse Wilson2010-03-095-132/+432
|\ \ | |/ | | | | | | | | | | Merge commit '5c6839b24356ec7e5aa93a8272472c26abd3df30' into dalvik-dev * commit '5c6839b24356ec7e5aa93a8272472c26abd3df30': Implement adoptNode() and importNode().
| * Implement adoptNode() and importNode().Jesse Wilson2010-03-095-132/+432
| | | | | | | | | | | | | | | | | | | | | | | | | | | | importNode() shares all of its implementation with Node.clone(); the only areas they differ are the ones we don't support. The shared code is in 2 new methods, shallowCopy() and cloneOrImportNode(), both based on the old clone() method. Also removing some unnecessary "throws DOMException" clauses. The tests for the new methods are slightly cumbersome. Most move/copy nodes to another document, serialize that, and compare. Change-Id: Id9fb076e020d8327a8f70da401af9bd95d7a3d1b
* | am 631bbbff: Merge "Adding support for getUserData() and setUserData() to ↵Jesse Wilson2010-03-0810-28/+199
|\ \ | |/ | | | | | | | | | | | | | | DOM nodes." Merge commit '631bbbff684e9fe41a5a08ffa3e13fa3bed01212' into dalvik-dev * commit '631bbbff684e9fe41a5a08ffa3e13fa3bed01212': Adding support for getUserData() and setUserData() to DOM nodes.
| * Adding support for getUserData() and setUserData() to DOM nodes.Jesse Wilson2010-03-0810-28/+199
| | | | | | | | | | | | Also making sure both Document and DocumentType get assigned a Document value when possible; this is necessary to store the user data objects.
* | am acf4a11b: Merge "Implementing almost all of Document.normalizeDocument()."Jesse Wilson2010-03-0110-48/+446
|\ \ | |/ | | | | | | | | | | Merge commit 'acf4a11bf201ccdf4a4d2b429d33757556cdc0ed' into dalvik-dev * commit 'acf4a11bf201ccdf4a4d2b429d33757556cdc0ed': Implementing almost all of Document.normalizeDocument().
| * Implementing almost all of Document.normalizeDocument().Jesse Wilson2010-03-0110-48/+446
| | | | | | | | | | | | | | | | | | | | | | This follows the rules specified by DOMConfiguration. In particular: - replacing CDATA nodes with text - splitting CDATA nodes - merging text nodes - stripping comments - detecting invalid characters I haven't added the normalization code for XML validation or namespaces.
* | am ad71aa20: Merge "New implementation for DOMConfiguration."Jesse Wilson2010-03-015-21/+808
|\ \ | |/ | | | | | | | | | | Merge commit 'ad71aa2046502db784a8c861b30b11ddf88044f1' into dalvik-dev * commit 'ad71aa2046502db784a8c861b30b11ddf88044f1': New implementation for DOMConfiguration.
| * New implementation for DOMConfiguration.Jesse Wilson2010-03-015-21/+808
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This API is disgusting. Its not regular, not typesafe, sparsely implemented and overly specific. I'm implementing the minimum I can get away with - exactly the same route taken by the RI. The Parameter stuff feels a little bit like overkill, but it allowed me to group related chunks of code together and avoid long chains of equalsIgnoreCase if statements. This is necessary to implement Document.normalize(), one of the last remaining APIs in DOMv3. Also fixing our implementation of Node.normalize() and adding tests to discover a bug in that code. Previously a document like this: "<foo>abc<br>def</foo>" Would be normalized to this: "<foo>abcdef<br></foo>" Which is a horrible bug! Yuck. Implementation and tests for Document.normalize() are forthcoming.
* | am dd55f1bb: Merge "Adding tests to parse document attributes from the DOM."Jesse Wilson2010-02-285-24/+142
|\ \ | |/ | | | | | | | | | | Merge commit 'dd55f1bba1216e91206255f31de587062ed115b6' into dalvik-dev * commit 'dd55f1bba1216e91206255f31de587062ed115b6': Adding tests to parse document attributes from the DOM.
| * Adding tests to parse document attributes from the DOM.Jesse Wilson2010-02-265-24/+142
| | | | | | | | | | | | | | | | This adds implementation and tests for these methods: getInputEncoding(), getDocumentURI(). And tests for these methods: getXmlEncoding(), getXmlVersion(), getXmlStandalone().
* | am 4795e033: Merge "Implementing still more DOM API for text nodes. - ↵Jesse Wilson2010-02-2811-78/+248
|\ \ | |/ | | | | | | | | | | | | | | Text.isElementContentWhitespace() - Text.getWholeText() - Text.replaceWholeText()" Merge commit '4795e033e5d93d72438d5004dd77ea82014f4657' into dalvik-dev * commit '4795e033e5d93d72438d5004dd77ea82014f4657': Implementing still more DOM API for text nodes.
| * Implementing still more DOM API for text nodes.Jesse Wilson2010-02-2311-78/+248
| | | | | | | | | | | | - Text.isElementContentWhitespace() - Text.getWholeText() - Text.replaceWholeText()
* | Merge remote branch 'goog/master' into mmElliott Hughes2010-02-2237-1338/+1448
|\ \ | |/ | | | | | | Conflicts: libcore/JavaLibrary.mk
| * More XML DOM v3 APIs.Jesse Wilson2010-02-204-14/+324
| | | | | | | | | | | | | | | | | | This adds the following APIs and tests: - Node.isDefaultNamespace - DomImplementation.hasFeature - Node.isSupported - Node.getFeature - Node.isEqualNode
| * DOM setTextContent() tests and implementation fixes.Jesse Wilson2010-02-194-16/+184
| |
| * Filling in some gaps in our XML DOM v3 API.Jesse Wilson2010-02-1911-137/+662
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifically, these methods on Node: - setTextContent() - isSameNode() - lookupPrefix() - lookupNamespaceURI() In order to implement the last 2 I needed to fix our KXml parser to include namespace attributes (ie. xmlns) in the pulled document. Previously these were being elided. Added a new testcase to verify our behaviour. It passes the RI. On Dalvik we have a small issue with entity declarations. Added a new testcase to verify Node.getBaseURI(). This test fails because the method isn't implemented. Part of this test required moving a method out to Support_Resources.java; in order to verify the BaseURI the XML must be read from a file and not a stream (so that path information exists). Also... - Style cleanup: changing static calls to look like static calls. - Efficiency: avoiding concatenating with "" when unnecessary - Duplication: sharing prefix validation between attributes and elements - Renaming NodeTests to NodeTest for vogar-friendliness Outstanding: - I need to write a test for setTextContent().
| * Removing unnecessary org.w3c.dom subpackagesJesse Wilson2010-02-1618-1112/+12
| |
| * Fixing problems with the test runner's ability to parse expected results files.Jesse Wilson2010-02-113-43/+190
| | | | | | | | | | | | It appears that the original authors of this testing framework didn't really know whether these files were supposed to be XML or HTML, UTF-8 or UTF-16, and so there's quite a mess of processing in order to canonicalize them.
| * Fixing some of our XSLT implementation issues.Jesse Wilson2010-02-107-30/+90
| | | | | | | | | | | | | | | | | | | | | | These changes move our XSLT code to passing 1898/3173 of the OASIS tests. To contrast, the RI passes 2105/3173 tests. Highlights: - Implementing getTextContent() for nodes - Removing validation during transforms. We don't support validation! - Fixing attribute constraints to match the spec - Fixing test suite to not confuse BaseURI from NamespaceURI
* | Resync a load of tests with upstream, make our build faster.Elliott Hughes2010-02-199-36/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I started off with a mission to remove uses of dalvik.annotation.* (stuff like @TestTargetNew and other useless junk that just makes it harder to stay in sync with upstream). I wrote a script to go through tests showing me the diff between what we have and what upstream has, thinking that in cases where upstream has also added tests, I may as well pull them in at the same time... ...but I didn't realize how close we were to having dx fill its 1.5GiB heap. After trying various alternatives, I decided to bite the bullet and break core-tests up into one .jar per module. This adds parallelism back into this, the slowest part of our build. (I can do even better, but I'll do that in a separate patch, preferably after we've merged recent changes from master.) Only a couple of dependencies were problematic: the worthless TestSuiteFactory which already contained a comment suggesting we get rid of it, and the fact that some tests -- most notably the concurrent ones -- also contained main methods that started the JUnit tty-based TestRunner. (In the long run, we want to be running the harmony tests directly from a pristine "svn co" of upstream, using DalvikRunner. But this will be a big help in the meantime, and starts the work of getting our current copy of the tests into a state where we can start to extract any meaningful changes/additions we've made.)
* | Remove obviously bogus @KnownFailure annotations.Elliott Hughes2010-02-034-9/+0
|/ | | | | | | | | | | | | | We've already agreed @KnownFailure Must Die (to be replaced by expectations for DalvikRunner), but some are -- I think -- obviously in need of investigation. This patch removes @KnownFailure for all cases where the reason looks bogus. I've left the @KnownFailure annotations in cases where I it looks "reasonable" in that we simply haven't implemented the functionality (pack200, say), and a few other cases. Those should probably be done in a separate patch that adds expectations at the same time. But these ones, I think, all need investigating. (There's a scary number of Arabic-related bugs in here, given that we're supposed to be shipping Arabic in froyo.)
* Merge "A new test suite for our XSLT transforms."Jesse Wilson2010-02-021-0/+484
|\
| * A new test suite for our XSLT transforms.Jesse Wilson2010-02-021-0/+484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the test suite isn't wired-in to run automatically. Before that can happen I need to devise a way for the device to grab the OASIS test .zip from the Internet (or distribute it with Android). In the interim the test can be run by hand by manually copying the test suite to the device ("adb push") and running the test suite's main method. This approach might be workable in our continuous build. Note that the RI does horribly at this test suite - in my run it reports the following: FAILURES!!! Tests run: 3173, Failures: 338, Errors: 730
* | Restore our ability to parse an XML Document given a File argumentJesse Wilson2010-02-022-23/+42
| | | | | | | | | | | | | | directly, rather than via a stream. When I updated DocumentBuilder but not its subclass DocumentBuilderImpl, some of the assumptions by DocumentBuilderImpl were violated.
* | Remove @KnownFailure from tests that now pass.Elliott Hughes2010-02-011-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of these tests still doesn't pass, but for a different reason know the known failure is fixed, so I've removed that test's annotation too: 16) test_parseLjava_io_InputStreamLorg_xml_sax_helpers_DefaultHandlerLjava_lang_String(tests.api.javax.xml.parsers.SAXParserTest)junit.framework.AssertionFailedError at tests.api.javax.xml.parsers.SAXParserTest.test_parseLjava_io_InputStreamLorg_xml_sax_helpers_DefaultHandlerLjava_lang_String(SAXParserTest.java:680) at java.lang.reflect.Method.invokeNative(Native Method) at com.google.coretests.CoreTestRunnable.runInternally(CoreTestRunnable.java:129) at com.google.coretests.CoreTestRunnable.run(CoreTestRunnable.java:92) at com.google.coretests.CoreTestResult.runProtected(CoreTestResult.java:148) at com.google.coretests.CoreTestSuite.run(CoreTestSuite.java:278) at com.google.coretests.CoreTestRunner.doRun(CoreTestRunner.java:141) at com.google.coretests.CoreTestRunner.start(CoreTestRunner.java:317) at com.google.coretests.CoreTestRunner.main(CoreTestRunner.java:110) at com.google.coretests.Main.main(Main.java:45) at dalvik.system.NativeStart.main(Native Method)
* | Fix warnings in the new XML code.Elliott Hughes2010-02-012-4/+4
| |
* | Merge "Fixing a critical regression in our SAX parsing."Jesse Wilson2010-01-292-22/+152
|\ \
| * | Fixing a critical regression in our SAX parsing.Jesse Wilson2010-01-292-22/+152
| |/ | | | | | | | | We weren't correctly covering the case where namespaces were off, but elements contained namespaces. See bug 2400596.
* | Removing dead code from our copy of Xalan.Jesse Wilson2010-01-28166-74891/+45
|/ | | | | | | | | The trace package isn't accessible via our public API, so I've removed it. Exception localization isn't worthwhile. The Exslt code is a third-party extension that isn't necessary for the spec. Several other classes and methods were unused; I used IntelliJ to find and remove these. There's more that can go, but this is a fine first step.
* Bring our XML APIs up to date with Java 5.Jesse Wilson2010-01-27777-2008/+272320
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New packages for Java 5 compatiblity: - javax.xml.datatype - javax.xml.namespace - javax.xml.parsers (updated) - javax.xml.transform - javax.xml.transform.dom - javax.xml.transform.sax - javax.xml.transform.stream - javax.xml.validation - javax.xml.xpath - org.w3c.dom (updated) - org.w3c.dom.events - org.w3c.dom.ls (load/save) - org.w3c.dom.traversal - org.w3c.dom.views Omitted packages (that otherwise exist in Java 5) - org.w3c.dom.bootstrap. This package facilitates pluggable implementations of DOM. I'm not including this because there's little need for it in practice; and because it adds an unnecessary layer of complexity. This decision is also reflected in TransformerFactory.newInstance(), SAXParserFactory.newInstance(), and DocumentBuilderFactory.newInstance(). New packages that pseudo-exist in Java 5 - org.w3c.dom.traversal This package is referenced by Java 5's org.w3c.dom.ls.LSSerializerFilter, but isn't included in the Javadoc API. Their spec isn't self-consistent. - org.w3c.dom.views This package is referenced by Java 5's org.w3c.dom.events.MouseEvent, but isn't included in the Javadoc API. Another spec that isn't self-consistent. This upgrades DOM from v2 to v3. http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/ This includes some API-incompatible changes; notably introducing new methods into interfaces. I believe this is still safe, and Java made a similar backwards incompatible change when they upgraded DOM from v2 to v3 between Java 1.4 and Java 5.0. Source for the new APIs comes from Apache XML commons. http://svn.apache.org/repos/asf/xml/commons/trunk rev 901014. This code currently contains several gaps in its implementation. In particular, the impelementations of the DOM model classes (AttrImpl, ElementImpl, NodeImpl) have DOM v3 methods that throw UnsupportedOperationExceptions. I intend to address this problem in an immediate follow-up CL. All gaps are marked with TODO comments, and they all live in the org.apache.harmony.xml.dom package. To implement these APIs, I've included Apache Xalan. In a follow-up change I intend to remove most of the code we don't actually need. I'm using their pristine copy from SVN so Git can track our local modifications. http://svn.apache.org/repos/asf/xalan/java/trunk rev 889881.
* Including proper prefixes and qualified names in the Expat parser.Jesse Wilson2010-01-262-139/+165
| | | | | | | | | | | | | | | | | | | Also changing our SAX codepath to always include values for optional parameters. In testing Xalan's javax.xml.transform packages with the Expat source code, the emitted documents were malformed. The underlying problem was that Xalan was expecting optional parameters to be populated, but Expat was not populating them. The spec says, "Any or all of these may be provided, depending on the values of the http://xml.org/sax/features/namespaces and the http://xml.org/sax/features/namespace-prefixes properties: * the Namespace URI and local name are required when the namespaces property is true (the default), and are optional when the namespaces property is false (if one is specified, both must be); * the qualified name is required when the namespace-prefixes property is true, and is optional when the namespace-prefixes property is false (the default). Although Xalan is technically at fault here, it may take forever to find all of the places where these optional parameters are assumed to be present. Instead, I'll just supply them which adds little overhead anyway. See http://code.google.com/p/android/issues/detail?id=990
* Depessimize string conversions.Elliott Hughes2009-12-181-1/+1
| | | | | | | | | | | | Why does this idiom persist? It's ugly, and it's the least efficient way to do it. (I found the ones in DecimalFormatSymbols while invesigating why "new SimpleDateFormat()" burns through so many StringBuilders. grep(1) found the rest.) The DocumentBuilderImpl removes an unnecessary level of indirection, since we implement Character.toString in terms of String.valueOf. (I wouldn't have bothered except this was the only use of Character.toString in the core libraries, and I added it myself a few weeks ago.)
* Implement DTDHandler support for ExpatParser.Elliott Hughes2009-12-094-49/+167
| | | | | | | | | | | Every time a third-party developer gets their DefaultHandler method signatures wrong (making it impossible for us to call them), they see this in the log and complain that SAX parsing is broken on Android: WARN/ExpatReader(704): DTD handlers aren't supported. This patch adds that support -- even though no-one wants it -- so we can get rid of the irrelevant log message.
* Fix KXmlSerializer so it won't generate invalid XML.Elliott Hughes2009-11-183-36/+135
| | | | | | | | | | | | We were allowing arbitrary characters to be output (which, surprisingly, XML does not), and we weren't correctly escaping CDATA sections that contained "]]>". Pull out some of my test helpers from DocumentBuilderTest into Support_Xml, because they're more generally useful when writing tests involving XML. Also correct a bunch of spelling mistakes in XmlSerializer's javadoc, since I happened to be reading through.
* Various XML fixes.Elliott Hughes2009-11-175-29/+52
| | | | | | | | | | | | | | | | | | | Add tests for bug 2487, exploring the situations where "]]>" is and isn't allowed. Fix the bug by changing KXmlParser so it pays attention to whether it's dealing with normal text or text in an attribute value and reports errors appropriately. In order to pass the new tests, we also need to fix DocumentBuilder to pay attention to its DocumentBuilderFactory's "coalescing" setting: whether or not adjacent text/CDATA nodes should be coalesced. This in turn fixes a @KnownFailure in DocumentBuilderFactoryTest: previously we didn't allow the caller to turn "coalescing" off (though until my previous patch, we didn't actually coalesce anyway). Now we support both, and I've made coalescing the default, because bug reports tell us that's what users want. It's how the RI behaves, too. Bug: 2487