expunge the xmlcore changes:
  41667, 41668 - initial switch to xmlcore
  47044        - mention of xmlcore in What's New
  50687        - mention of xmlcore in the library reference

re-apply xmlcore changes to xml:
  41674        - line ending changes (re-applied manually), directory props
  41677        - add cElementTree wrapper
  41678        - PSF licensing for etree
  41812        - whitespace normalization
  42724        - fix svn:eol-style settings
  43681, 43682 - remove Python version-compatibility cruft from minidom
  46773        - fix encoding of \r\n\t in attr values in saxutils
  47269        - added XMLParser alias for cElementTree compatibility

additional tests were added in Lib/test/test_sax.py that failed with
the xmlcore changes; these relate to SF bugs #1511497, #1513611
diff --git a/Lib/test/test_minidom.py b/Lib/test/test_minidom.py
index b9377ae..a6d309f 100644
--- a/Lib/test/test_minidom.py
+++ b/Lib/test/test_minidom.py
@@ -1,4 +1,4 @@
-# test for xmlcore.dom.minidom
+# test for xml.dom.minidom
 
 import os
 import sys
@@ -7,12 +7,12 @@
 from StringIO import StringIO
 from test.test_support import verbose
 
-import xmlcore.dom
-import xmlcore.dom.minidom
-import xmlcore.parsers.expat
+import xml.dom
+import xml.dom.minidom
+import xml.parsers.expat
 
-from xmlcore.dom.minidom import parse, Node, Document, parseString
-from xmlcore.dom.minidom import getDOMImplementation
+from xml.dom.minidom import parse, Node, Document, parseString
+from xml.dom.minidom import getDOMImplementation
 
 
 if __name__ == "__main__":
@@ -138,29 +138,29 @@
     text = dom.createTextNode('text')
 
     try: dom.appendChild(text)
-    except xmlcore.dom.HierarchyRequestErr: pass
+    except xml.dom.HierarchyRequestErr: pass
     else:
         print "dom.appendChild didn't raise HierarchyRequestErr"
 
     dom.appendChild(elem)
     try: dom.insertBefore(text, elem)
-    except xmlcore.dom.HierarchyRequestErr: pass
+    except xml.dom.HierarchyRequestErr: pass
     else:
         print "dom.appendChild didn't raise HierarchyRequestErr"
 
     try: dom.replaceChild(text, elem)
-    except xmlcore.dom.HierarchyRequestErr: pass
+    except xml.dom.HierarchyRequestErr: pass
     else:
         print "dom.appendChild didn't raise HierarchyRequestErr"
 
     nodemap = elem.attributes
     try: nodemap.setNamedItem(text)
-    except xmlcore.dom.HierarchyRequestErr: pass
+    except xml.dom.HierarchyRequestErr: pass
     else:
         print "NamedNodeMap.setNamedItem didn't raise HierarchyRequestErr"
 
     try: nodemap.setNamedItemNS(text)
-    except xmlcore.dom.HierarchyRequestErr: pass
+    except xml.dom.HierarchyRequestErr: pass
     else:
         print "NamedNodeMap.setNamedItemNS didn't raise HierarchyRequestErr"
 
@@ -439,7 +439,7 @@
             and pi.firstChild is None
             and pi.lastChild is None
             and pi.localName is None
-            and pi.namespaceURI == xmlcore.dom.EMPTY_NAMESPACE)
+            and pi.namespaceURI == xml.dom.EMPTY_NAMESPACE)
 
 def testProcessingInstructionRepr(): pass
 
@@ -454,7 +454,7 @@
     elem = doc.createElement("extra")
     try:
         doc.appendChild(elem)
-    except xmlcore.dom.HierarchyRequestErr:
+    except xml.dom.HierarchyRequestErr:
         pass
     else:
         print "Failed to catch expected exception when" \
@@ -491,7 +491,7 @@
     confirm(a1.isSameNode(a2))
     try:
         attrs.removeNamedItem("a")
-    except xmlcore.dom.NotFoundErr:
+    except xml.dom.NotFoundErr:
         pass
 
 def testRemoveNamedItemNS():
@@ -503,7 +503,7 @@
     confirm(a1.isSameNode(a2))
     try:
         attrs.removeNamedItemNS("http://xml.python.org/", "b")
-    except xmlcore.dom.NotFoundErr:
+    except xml.dom.NotFoundErr:
         pass
 
 def testAttrListValues(): pass
@@ -682,7 +682,7 @@
     doc2 = parseString("<doc/>")
     try:
         doc1.importNode(doc2, deep)
-    except xmlcore.dom.NotSupportedErr:
+    except xml.dom.NotSupportedErr:
         pass
     else:
         raise Exception(testName +
@@ -705,14 +705,12 @@
     doctype = getDOMImplementation().createDocumentType("doc", None, None)
     doctype.entities._seq = []
     doctype.notations._seq = []
-    notation = xmlcore.dom.minidom.Notation(
-        "my-notation", None,
-        "http://xml.python.org/notations/my")
+    notation = xml.dom.minidom.Notation("my-notation", None,
+                                        "http://xml.python.org/notations/my")
     doctype.notations._seq.append(notation)
-    entity = xmlcore.dom.minidom.Entity(
-        "my-entity", None,
-        "http://xml.python.org/entities/my",
-        "my-notation")
+    entity = xml.dom.minidom.Entity("my-entity", None,
+                                    "http://xml.python.org/entities/my",
+                                    "my-notation")
     entity.version = "1.0"
     entity.encoding = "utf-8"
     entity.actualEncoding = "us-ascii"
@@ -731,7 +729,7 @@
     target = create_doc_without_doctype()
     try:
         imported = target.importNode(src.doctype, 0)
-    except xmlcore.dom.NotSupportedErr:
+    except xml.dom.NotSupportedErr:
         pass
     else:
         raise Exception(
@@ -742,7 +740,7 @@
     target = create_doc_without_doctype()
     try:
         imported = target.importNode(src.doctype, 1)
-    except xmlcore.dom.NotSupportedErr:
+    except xml.dom.NotSupportedErr:
         pass
     else:
         raise Exception(
@@ -850,7 +848,7 @@
     doc.unlink()
 
 def testSAX2DOM():
-    from xmlcore.dom import pulldom
+    from xml.dom import pulldom
 
     sax2dom = pulldom.SAX2DOM()
     sax2dom.startDocument()
@@ -940,11 +938,11 @@
     attr = elem.attributes['a']
 
     # Simple renaming
-    attr = doc.renameNode(attr, xmlcore.dom.EMPTY_NAMESPACE, "b")
+    attr = doc.renameNode(attr, xml.dom.EMPTY_NAMESPACE, "b")
     confirm(attr.name == "b"
             and attr.nodeName == "b"
             and attr.localName is None
-            and attr.namespaceURI == xmlcore.dom.EMPTY_NAMESPACE
+            and attr.namespaceURI == xml.dom.EMPTY_NAMESPACE
             and attr.prefix is None
             and attr.value == "v"
             and elem.getAttributeNode("a") is None
@@ -989,11 +987,11 @@
             and attrmap[("http://xml.python.org/ns2", "d")].isSameNode(attr))
 
     # Rename back to a simple non-NS node
-    attr = doc.renameNode(attr, xmlcore.dom.EMPTY_NAMESPACE, "e")
+    attr = doc.renameNode(attr, xml.dom.EMPTY_NAMESPACE, "e")
     confirm(attr.name == "e"
             and attr.nodeName == "e"
             and attr.localName is None
-            and attr.namespaceURI == xmlcore.dom.EMPTY_NAMESPACE
+            and attr.namespaceURI == xml.dom.EMPTY_NAMESPACE
             and attr.prefix is None
             and attr.value == "v"
             and elem.getAttributeNode("a") is None
@@ -1007,7 +1005,7 @@
 
     try:
         doc.renameNode(attr, "http://xml.python.org/ns", "xmlns")
-    except xmlcore.dom.NamespaceErr:
+    except xml.dom.NamespaceErr:
         pass
     else:
         print "expected NamespaceErr"
@@ -1020,11 +1018,11 @@
     elem = doc.documentElement
 
     # Simple renaming
-    elem = doc.renameNode(elem, xmlcore.dom.EMPTY_NAMESPACE, "a")
+    elem = doc.renameNode(elem, xml.dom.EMPTY_NAMESPACE, "a")
     confirm(elem.tagName == "a"
             and elem.nodeName == "a"
             and elem.localName is None
-            and elem.namespaceURI == xmlcore.dom.EMPTY_NAMESPACE
+            and elem.namespaceURI == xml.dom.EMPTY_NAMESPACE
             and elem.prefix is None
             and elem.ownerDocument.isSameNode(doc))
 
@@ -1047,11 +1045,11 @@
             and elem.ownerDocument.isSameNode(doc))
 
     # Rename back to a simple non-NS node
-    elem = doc.renameNode(elem, xmlcore.dom.EMPTY_NAMESPACE, "d")
+    elem = doc.renameNode(elem, xml.dom.EMPTY_NAMESPACE, "d")
     confirm(elem.tagName == "d"
             and elem.nodeName == "d"
             and elem.localName is None
-            and elem.namespaceURI == xmlcore.dom.EMPTY_NAMESPACE
+            and elem.namespaceURI == xml.dom.EMPTY_NAMESPACE
             and elem.prefix is None
             and elem.ownerDocument.isSameNode(doc))
 
@@ -1062,15 +1060,15 @@
     # Make sure illegal NS usage is detected:
     try:
         doc.renameNode(node, "http://xml.python.org/ns", "xmlns:foo")
-    except xmlcore.dom.NamespaceErr:
+    except xml.dom.NamespaceErr:
         pass
     else:
         print "expected NamespaceErr"
 
     doc2 = parseString("<doc/>")
     try:
-        doc2.renameNode(node, xmlcore.dom.EMPTY_NAMESPACE, "foo")
-    except xmlcore.dom.WrongDocumentErr:
+        doc2.renameNode(node, xml.dom.EMPTY_NAMESPACE, "foo")
+    except xml.dom.WrongDocumentErr:
         pass
     else:
         print "expected WrongDocumentErr"
@@ -1078,12 +1076,12 @@
 def testRenameOther():
     # We have to create a comment node explicitly since not all DOM
     # builders used with minidom add comments to the DOM.
-    doc = xmlcore.dom.minidom.getDOMImplementation().createDocument(
-        xmlcore.dom.EMPTY_NAMESPACE, "e", None)
+    doc = xml.dom.minidom.getDOMImplementation().createDocument(
+        xml.dom.EMPTY_NAMESPACE, "e", None)
     node = doc.createComment("comment")
     try:
-        doc.renameNode(node, xmlcore.dom.EMPTY_NAMESPACE, "foo")
-    except xmlcore.dom.NotSupportedErr:
+        doc.renameNode(node, xml.dom.EMPTY_NAMESPACE, "foo")
+    except xml.dom.NotSupportedErr:
         pass
     else:
         print "expected NotSupportedErr when renaming comment node"
@@ -1194,13 +1192,13 @@
     # since each supports a different level of DTD information.
     t = elem.schemaType
     confirm(t.name is None
-            and t.namespace == xmlcore.dom.EMPTY_NAMESPACE)
+            and t.namespace == xml.dom.EMPTY_NAMESPACE)
     names = "id notid text enum ref refs ent ents nm nms".split()
     for name in names:
         a = elem.getAttributeNode(name)
         t = a.schemaType
         confirm(hasattr(t, "name")
-                and t.namespace == xmlcore.dom.EMPTY_NAMESPACE)
+                and t.namespace == xml.dom.EMPTY_NAMESPACE)
 
 def testSetIdAttribute():
     doc = parseString("<doc a1='v' a2='w'/>")
@@ -1229,7 +1227,7 @@
             and a2.isId
             and not a3.isId)
     # renaming an attribute should not affect its ID-ness:
-    doc.renameNode(a2, xmlcore.dom.EMPTY_NAMESPACE, "an")
+    doc.renameNode(a2, xml.dom.EMPTY_NAMESPACE, "an")
     confirm(e.isSameNode(doc.getElementById("w"))
             and a2.isId)
 
@@ -1265,7 +1263,7 @@
     confirm(not a3.isId)
     confirm(doc.getElementById("v") is None)
     # renaming an attribute should not affect its ID-ness:
-    doc.renameNode(a2, xmlcore.dom.EMPTY_NAMESPACE, "an")
+    doc.renameNode(a2, xml.dom.EMPTY_NAMESPACE, "an")
     confirm(e.isSameNode(doc.getElementById("w"))
             and a2.isId)
 
@@ -1301,7 +1299,7 @@
     confirm(not a3.isId)
     confirm(doc.getElementById("v") is None)
     # renaming an attribute should not affect its ID-ness:
-    doc.renameNode(a2, xmlcore.dom.EMPTY_NAMESPACE, "an")
+    doc.renameNode(a2, xml.dom.EMPTY_NAMESPACE, "an")
     confirm(e.isSameNode(doc.getElementById("w"))
             and a2.isId)