summaryrefslogtreecommitdiff
path: root/test/testcases/tests/level2
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-07-30 11:06:01 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-07-30 11:06:01 +0000
commit8f547c7bd349e0dc905e0dc5f32edbf1e01061ce (patch)
tree0ba575c11b1875b638324194e16ebda4586baec8 /test/testcases/tests/level2
parente3eae8836e177220d556868e4fa7741c00b2d729 (diff)
downloadlibdom-8f547c7bd349e0dc905e0dc5f32edbf1e01061ce.tar.gz
libdom-8f547c7bd349e0dc905e0dc5f32edbf1e01061ce.tar.bz2
Merge DOMTS tests -- they're causing havoc with review diffs.
svn path=/trunk/dom/; revision=8910
Diffstat (limited to 'test/testcases/tests/level2')
-rw-r--r--test/testcases/tests/level2/CVS/Entries3
-rw-r--r--test/testcases/tests/level2/CVS/Repository1
-rw-r--r--test/testcases/tests/level2/CVS/Root1
-rw-r--r--test/testcases/tests/level2/CVS/Template0
-rw-r--r--test/testcases/tests/level2/core/.cvsignore2
-rw-r--r--test/testcases/tests/level2/core/CVS/Entries287
-rw-r--r--test/testcases/tests/level2/core/CVS/Repository1
-rw-r--r--test/testcases/tests/level2/core/CVS/Root1
-rw-r--r--test/testcases/tests/level2/core/CVS/Template0
-rw-r--r--test/testcases/tests/level2/core/alltests.xml301
-rw-r--r--test/testcases/tests/level2/core/attrgetownerelement01.xml52
-rw-r--r--test/testcases/tests/level2/core/attrgetownerelement02.xml47
-rw-r--r--test/testcases/tests/level2/core/attrgetownerelement03.xml40
-rw-r--r--test/testcases/tests/level2/core/attrgetownerelement04.xml40
-rw-r--r--test/testcases/tests/level2/core/attrgetownerelement05.xml55
-rw-r--r--test/testcases/tests/level2/core/createAttributeNS01.xml48
-rw-r--r--test/testcases/tests/level2/core/createAttributeNS02.xml47
-rw-r--r--test/testcases/tests/level2/core/createAttributeNS03.xml78
-rw-r--r--test/testcases/tests/level2/core/createAttributeNS04.xml50
-rw-r--r--test/testcases/tests/level2/core/createAttributeNS05.xml44
-rw-r--r--test/testcases/tests/level2/core/createAttributeNS06.xml40
-rw-r--r--test/testcases/tests/level2/core/createDocument01.xml53
-rw-r--r--test/testcases/tests/level2/core/createDocument02.xml50
-rw-r--r--test/testcases/tests/level2/core/createDocument03.xml51
-rw-r--r--test/testcases/tests/level2/core/createDocument04.xml53
-rw-r--r--test/testcases/tests/level2/core/createDocument05.xml82
-rw-r--r--test/testcases/tests/level2/core/createDocument06.xml54
-rw-r--r--test/testcases/tests/level2/core/createDocument07.xml52
-rw-r--r--test/testcases/tests/level2/core/createDocument08.xml40
-rw-r--r--test/testcases/tests/level2/core/createDocumentType01.xml52
-rw-r--r--test/testcases/tests/level2/core/createDocumentType02.xml81
-rw-r--r--test/testcases/tests/level2/core/createDocumentType03.xml51
-rw-r--r--test/testcases/tests/level2/core/createDocumentType04.xml41
-rw-r--r--test/testcases/tests/level2/core/createElementNS01.xml48
-rw-r--r--test/testcases/tests/level2/core/createElementNS02.xml47
-rw-r--r--test/testcases/tests/level2/core/createElementNS03.xml80
-rw-r--r--test/testcases/tests/level2/core/createElementNS04.xml50
-rw-r--r--test/testcases/tests/level2/core/createElementNS05.xml44
-rw-r--r--test/testcases/tests/level2/core/createElementNS06.xml42
-rw-r--r--test/testcases/tests/level2/core/documentcreateattributeNS01.xml47
-rw-r--r--test/testcases/tests/level2/core/documentcreateattributeNS02.xml65
-rw-r--r--test/testcases/tests/level2/core/documentcreateattributeNS03.xml59
-rw-r--r--test/testcases/tests/level2/core/documentcreateattributeNS04.xml54
-rw-r--r--test/testcases/tests/level2/core/documentcreateattributeNS05.xml49
-rw-r--r--test/testcases/tests/level2/core/documentcreateattributeNS06.xml50
-rw-r--r--test/testcases/tests/level2/core/documentcreateattributeNS07.xml45
-rw-r--r--test/testcases/tests/level2/core/documentcreateelementNS01.xml55
-rw-r--r--test/testcases/tests/level2/core/documentcreateelementNS02.xml44
-rw-r--r--test/testcases/tests/level2/core/documentcreateelementNS05.xml44
-rw-r--r--test/testcases/tests/level2/core/documentcreateelementNS06.xml51
-rw-r--r--test/testcases/tests/level2/core/documentgetelementbyid01.xml41
-rw-r--r--test/testcases/tests/level2/core/documentgetelementsbytagnameNS01.xml48
-rw-r--r--test/testcases/tests/level2/core/documentgetelementsbytagnameNS02.xml51
-rw-r--r--test/testcases/tests/level2/core/documentgetelementsbytagnameNS03.xml41
-rw-r--r--test/testcases/tests/level2/core/documentgetelementsbytagnameNS04.xml44
-rw-r--r--test/testcases/tests/level2/core/documentgetelementsbytagnameNS05.xml43
-rw-r--r--test/testcases/tests/level2/core/documentimportnode01.xml64
-rw-r--r--test/testcases/tests/level2/core/documentimportnode02.xml65
-rw-r--r--test/testcases/tests/level2/core/documentimportnode03.xml62
-rw-r--r--test/testcases/tests/level2/core/documentimportnode04.xml67
-rw-r--r--test/testcases/tests/level2/core/documentimportnode05.xml62
-rw-r--r--test/testcases/tests/level2/core/documentimportnode06.xml45
-rw-r--r--test/testcases/tests/level2/core/documentimportnode07.xml48
-rw-r--r--test/testcases/tests/level2/core/documentimportnode08.xml51
-rw-r--r--test/testcases/tests/level2/core/documentimportnode09.xml54
-rw-r--r--test/testcases/tests/level2/core/documentimportnode10.xml54
-rw-r--r--test/testcases/tests/level2/core/documentimportnode11.xml53
-rw-r--r--test/testcases/tests/level2/core/documentimportnode12.xml56
-rw-r--r--test/testcases/tests/level2/core/documentimportnode13.xml52
-rw-r--r--test/testcases/tests/level2/core/documentimportnode14.xml61
-rw-r--r--test/testcases/tests/level2/core/documentimportnode15.xml50
-rw-r--r--test/testcases/tests/level2/core/documentimportnode17.xml50
-rw-r--r--test/testcases/tests/level2/core/documentimportnode18.xml53
-rw-r--r--test/testcases/tests/level2/core/documentimportnode19.xml83
-rw-r--r--test/testcases/tests/level2/core/documentimportnode20.xml81
-rw-r--r--test/testcases/tests/level2/core/documentimportnode21.xml91
-rw-r--r--test/testcases/tests/level2/core/documentimportnode22.xml92
-rw-r--r--test/testcases/tests/level2/core/documenttypeinternalSubset01.xml43
-rw-r--r--test/testcases/tests/level2/core/documenttypepublicid01.xml43
-rw-r--r--test/testcases/tests/level2/core/documenttypesystemid01.xml44
-rw-r--r--test/testcases/tests/level2/core/domimplementationcreatedocument03.xml60
-rw-r--r--test/testcases/tests/level2/core/domimplementationcreatedocument04.xml49
-rw-r--r--test/testcases/tests/level2/core/domimplementationcreatedocument05.xml49
-rw-r--r--test/testcases/tests/level2/core/domimplementationcreatedocument07.xml46
-rw-r--r--test/testcases/tests/level2/core/domimplementationcreatedocumenttype01.xml60
-rw-r--r--test/testcases/tests/level2/core/domimplementationcreatedocumenttype02.xml66
-rw-r--r--test/testcases/tests/level2/core/domimplementationcreatedocumenttype04.xml65
-rw-r--r--test/testcases/tests/level2/core/domimplementationfeaturecore.xml44
-rw-r--r--test/testcases/tests/level2/core/domimplementationfeaturexmlversion2.xml45
-rw-r--r--test/testcases/tests/level2/core/domimplementationhasfeature01.xml70
-rw-r--r--test/testcases/tests/level2/core/domimplementationhasfeature02.xml41
-rw-r--r--test/testcases/tests/level2/core/elementgetattributenodens01.xml67
-rw-r--r--test/testcases/tests/level2/core/elementgetattributenodens02.xml48
-rw-r--r--test/testcases/tests/level2/core/elementgetattributenodens03.xml48
-rw-r--r--test/testcases/tests/level2/core/elementgetattributens02.xml45
-rw-r--r--test/testcases/tests/level2/core/elementgetelementsbytagnamens02.xml42
-rw-r--r--test/testcases/tests/level2/core/elementgetelementsbytagnamens04.xml63
-rw-r--r--test/testcases/tests/level2/core/elementgetelementsbytagnamens05.xml43
-rw-r--r--test/testcases/tests/level2/core/elementhasattribute01.xml39
-rw-r--r--test/testcases/tests/level2/core/elementhasattribute02.xml44
-rw-r--r--test/testcases/tests/level2/core/elementhasattribute03.xml47
-rw-r--r--test/testcases/tests/level2/core/elementhasattribute04.xml44
-rw-r--r--test/testcases/tests/level2/core/elementhasattributens01.xml45
-rw-r--r--test/testcases/tests/level2/core/elementhasattributens02.xml51
-rw-r--r--test/testcases/tests/level2/core/elementhasattributens03.xml52
-rw-r--r--test/testcases/tests/level2/core/elementremoveattributens01.xml50
-rw-r--r--test/testcases/tests/level2/core/elementsetattributenodens01.xml78
-rw-r--r--test/testcases/tests/level2/core/elementsetattributenodens02.xml63
-rw-r--r--test/testcases/tests/level2/core/elementsetattributenodens03.xml57
-rw-r--r--test/testcases/tests/level2/core/elementsetattributenodens04.xml53
-rw-r--r--test/testcases/tests/level2/core/elementsetattributenodens05.xml53
-rw-r--r--test/testcases/tests/level2/core/elementsetattributenodens06.xml57
-rw-r--r--test/testcases/tests/level2/core/elementsetattributens01.xml51
-rw-r--r--test/testcases/tests/level2/core/elementsetattributens02.xml53
-rw-r--r--test/testcases/tests/level2/core/elementsetattributens03.xml57
-rw-r--r--test/testcases/tests/level2/core/elementsetattributens04.xml60
-rw-r--r--test/testcases/tests/level2/core/elementsetattributens05.xml46
-rw-r--r--test/testcases/tests/level2/core/elementsetattributens08.xml56
-rw-r--r--test/testcases/tests/level2/core/elementsetattributensurinull.xml49
-rw-r--r--test/testcases/tests/level2/core/files/.cvsignore0
-rw-r--r--test/testcases/tests/level2/core/files/CVS/Entries21
-rw-r--r--test/testcases/tests/level2/core/files/CVS/Repository1
-rw-r--r--test/testcases/tests/level2/core/files/CVS/Root1
-rw-r--r--test/testcases/tests/level2/core/files/CVS/Template0
-rw-r--r--test/testcases/tests/level2/core/files/hc_staff.html48
-rw-r--r--test/testcases/tests/level2/core/files/hc_staff.svg72
-rw-r--r--test/testcases/tests/level2/core/files/hc_staff.xhtml60
-rw-r--r--test/testcases/tests/level2/core/files/hc_staff.xml60
-rw-r--r--test/testcases/tests/level2/core/files/internalSubset01.js0
-rw-r--r--test/testcases/tests/level2/core/files/nodtdstaff.svg11
-rw-r--r--test/testcases/tests/level2/core/files/nodtdstaff.xml11
-rw-r--r--test/testcases/tests/level2/core/files/staff.dtd17
-rw-r--r--test/testcases/tests/level2/core/files/staff.svg72
-rw-r--r--test/testcases/tests/level2/core/files/staff.xml57
-rw-r--r--test/testcases/tests/level2/core/files/staff2.dtd24
-rw-r--r--test/testcases/tests/level2/core/files/staff2.svg13
-rw-r--r--test/testcases/tests/level2/core/files/staff2.xml13
-rw-r--r--test/testcases/tests/level2/core/files/staffNS.dtd45
-rw-r--r--test/testcases/tests/level2/core/files/staffNS.svg73
-rw-r--r--test/testcases/tests/level2/core/files/staffNS.xml59
-rw-r--r--test/testcases/tests/level2/core/files/svgtest.js0
-rw-r--r--test/testcases/tests/level2/core/files/svgunit.js0
-rw-r--r--test/testcases/tests/level2/core/files/xhtml1-strict.dtd65
-rw-r--r--test/testcases/tests/level2/core/getAttributeNS01.xml50
-rw-r--r--test/testcases/tests/level2/core/getAttributeNS02.xml55
-rw-r--r--test/testcases/tests/level2/core/getAttributeNS03.xml48
-rw-r--r--test/testcases/tests/level2/core/getAttributeNS04.xml53
-rw-r--r--test/testcases/tests/level2/core/getAttributeNS05.xml47
-rw-r--r--test/testcases/tests/level2/core/getAttributeNodeNS01.xml48
-rw-r--r--test/testcases/tests/level2/core/getAttributeNodeNS02.xml49
-rw-r--r--test/testcases/tests/level2/core/getElementById01.xml45
-rw-r--r--test/testcases/tests/level2/core/getElementById02.xml40
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS01.xml42
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS02.xml52
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS03.xml67
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS04.xml57
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS05.xml44
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS06.xml44
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS07.xml43
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS08.xml47
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS09.xml58
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS10.xml72
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS11.xml61
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS12.xml45
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS13.xml46
-rw-r--r--test/testcases/tests/level2/core/getElementsByTagNameNS14.xml45
-rw-r--r--test/testcases/tests/level2/core/getNamedItemNS01.xml51
-rw-r--r--test/testcases/tests/level2/core/getNamedItemNS02.xml51
-rw-r--r--test/testcases/tests/level2/core/getNamedItemNS03.xml43
-rw-r--r--test/testcases/tests/level2/core/getNamedItemNS04.xml43
-rw-r--r--test/testcases/tests/level2/core/hasAttribute01.xml42
-rw-r--r--test/testcases/tests/level2/core/hasAttribute02.xml45
-rw-r--r--test/testcases/tests/level2/core/hasAttribute03.xml42
-rw-r--r--test/testcases/tests/level2/core/hasAttribute04.xml45
-rw-r--r--test/testcases/tests/level2/core/hasAttributeNS01.xml47
-rw-r--r--test/testcases/tests/level2/core/hasAttributeNS02.xml46
-rw-r--r--test/testcases/tests/level2/core/hasAttributeNS03.xml47
-rw-r--r--test/testcases/tests/level2/core/hasAttributeNS04.xml50
-rw-r--r--test/testcases/tests/level2/core/hasAttributeNS05.xml48
-rw-r--r--test/testcases/tests/level2/core/hasAttributes01.xml42
-rw-r--r--test/testcases/tests/level2/core/hasAttributes02.xml42
-rw-r--r--test/testcases/tests/level2/core/hc_entitiesremovenameditemns1.xml47
-rw-r--r--test/testcases/tests/level2/core/hc_entitiessetnameditemns1.xml49
-rw-r--r--test/testcases/tests/level2/core/hc_namednodemapinvalidtype1.xml42
-rw-r--r--test/testcases/tests/level2/core/hc_nodedocumentfragmentnormalize1.xml44
-rw-r--r--test/testcases/tests/level2/core/hc_nodedocumentfragmentnormalize2.xml39
-rw-r--r--test/testcases/tests/level2/core/hc_notationsremovenameditemns1.xml47
-rw-r--r--test/testcases/tests/level2/core/hc_notationssetnameditemns1.xml49
-rw-r--r--test/testcases/tests/level2/core/importNode01.xml82
-rw-r--r--test/testcases/tests/level2/core/importNode02.xml55
-rw-r--r--test/testcases/tests/level2/core/importNode03.xml56
-rw-r--r--test/testcases/tests/level2/core/importNode04.xml57
-rw-r--r--test/testcases/tests/level2/core/importNode05.xml62
-rw-r--r--test/testcases/tests/level2/core/importNode06.xml59
-rw-r--r--test/testcases/tests/level2/core/importNode07.xml62
-rw-r--r--test/testcases/tests/level2/core/importNode08.xml56
-rw-r--r--test/testcases/tests/level2/core/importNode09.xml68
-rw-r--r--test/testcases/tests/level2/core/importNode10.xml59
-rw-r--r--test/testcases/tests/level2/core/importNode11.xml57
-rw-r--r--test/testcases/tests/level2/core/importNode12.xml65
-rw-r--r--test/testcases/tests/level2/core/importNode13.xml62
-rw-r--r--test/testcases/tests/level2/core/importNode14.xml59
-rw-r--r--test/testcases/tests/level2/core/importNode15.xml56
-rw-r--r--test/testcases/tests/level2/core/importNode16.xml50
-rw-r--r--test/testcases/tests/level2/core/importNode17.xml48
-rw-r--r--test/testcases/tests/level2/core/internalSubset01.xml42
-rw-r--r--test/testcases/tests/level2/core/isSupported01.xml46
-rw-r--r--test/testcases/tests/level2/core/isSupported02.xml46
-rw-r--r--test/testcases/tests/level2/core/isSupported04.xml48
-rw-r--r--test/testcases/tests/level2/core/isSupported05.xml48
-rw-r--r--test/testcases/tests/level2/core/isSupported06.xml48
-rw-r--r--test/testcases/tests/level2/core/isSupported07.xml48
-rw-r--r--test/testcases/tests/level2/core/isSupported09.xml48
-rw-r--r--test/testcases/tests/level2/core/isSupported10.xml48
-rw-r--r--test/testcases/tests/level2/core/isSupported11.xml48
-rw-r--r--test/testcases/tests/level2/core/isSupported12.xml73
-rw-r--r--test/testcases/tests/level2/core/isSupported13.xml36
-rw-r--r--test/testcases/tests/level2/core/isSupported14.xml37
-rw-r--r--test/testcases/tests/level2/core/localName01.xml50
-rw-r--r--test/testcases/tests/level2/core/localName02.xml43
-rw-r--r--test/testcases/tests/level2/core/localName03.xml47
-rw-r--r--test/testcases/tests/level2/core/localName04.xml46
-rw-r--r--test/testcases/tests/level2/core/metadata.xml18
-rw-r--r--test/testcases/tests/level2/core/namednodemapgetnameditemns01.xml54
-rw-r--r--test/testcases/tests/level2/core/namednodemapgetnameditemns02.xml48
-rw-r--r--test/testcases/tests/level2/core/namednodemapgetnameditemns03.xml52
-rw-r--r--test/testcases/tests/level2/core/namednodemapgetnameditemns04.xml53
-rw-r--r--test/testcases/tests/level2/core/namednodemapgetnameditemns05.xml46
-rw-r--r--test/testcases/tests/level2/core/namednodemapgetnameditemns06.xml56
-rw-r--r--test/testcases/tests/level2/core/namednodemapremovenameditemns01.xml45
-rw-r--r--test/testcases/tests/level2/core/namednodemapremovenameditemns02.xml55
-rw-r--r--test/testcases/tests/level2/core/namednodemapremovenameditemns03.xml53
-rw-r--r--test/testcases/tests/level2/core/namednodemapremovenameditemns04.xml49
-rw-r--r--test/testcases/tests/level2/core/namednodemapremovenameditemns05.xml63
-rw-r--r--test/testcases/tests/level2/core/namednodemapremovenameditemns06.xml49
-rw-r--r--test/testcases/tests/level2/core/namednodemapremovenameditemns07.xml49
-rw-r--r--test/testcases/tests/level2/core/namednodemapremovenameditemns08.xml52
-rw-r--r--test/testcases/tests/level2/core/namednodemapremovenameditemns09.xml49
-rw-r--r--test/testcases/tests/level2/core/namednodemapsetnameditemns01.xml54
-rw-r--r--test/testcases/tests/level2/core/namednodemapsetnameditemns02.xml52
-rw-r--r--test/testcases/tests/level2/core/namednodemapsetnameditemns03.xml65
-rw-r--r--test/testcases/tests/level2/core/namednodemapsetnameditemns04.xml60
-rw-r--r--test/testcases/tests/level2/core/namednodemapsetnameditemns05.xml61
-rw-r--r--test/testcases/tests/level2/core/namednodemapsetnameditemns06.xml53
-rw-r--r--test/testcases/tests/level2/core/namednodemapsetnameditemns07.xml62
-rw-r--r--test/testcases/tests/level2/core/namednodemapsetnameditemns08.xml62
-rw-r--r--test/testcases/tests/level2/core/namednodemapsetnameditemns09.xml55
-rw-r--r--test/testcases/tests/level2/core/namednodemapsetnameditemns10.xml59
-rw-r--r--test/testcases/tests/level2/core/namednodemapsetnameditemns11.xml59
-rw-r--r--test/testcases/tests/level2/core/namespaceURI01.xml50
-rw-r--r--test/testcases/tests/level2/core/namespaceURI02.xml48
-rw-r--r--test/testcases/tests/level2/core/namespaceURI03.xml45
-rw-r--r--test/testcases/tests/level2/core/namespaceURI04.xml54
-rw-r--r--test/testcases/tests/level2/core/nodegetlocalname03.xml56
-rw-r--r--test/testcases/tests/level2/core/nodegetnamespaceuri03.xml59
-rw-r--r--test/testcases/tests/level2/core/nodegetownerdocument01.xml44
-rw-r--r--test/testcases/tests/level2/core/nodegetownerdocument02.xml52
-rw-r--r--test/testcases/tests/level2/core/nodegetprefix03.xml56
-rw-r--r--test/testcases/tests/level2/core/nodehasattributes01.xml45
-rw-r--r--test/testcases/tests/level2/core/nodehasattributes02.xml39
-rw-r--r--test/testcases/tests/level2/core/nodehasattributes03.xml41
-rw-r--r--test/testcases/tests/level2/core/nodehasattributes04.xml58
-rw-r--r--test/testcases/tests/level2/core/nodeissupported01.xml70
-rw-r--r--test/testcases/tests/level2/core/nodeissupported02.xml70
-rw-r--r--test/testcases/tests/level2/core/nodeissupported03.xml41
-rw-r--r--test/testcases/tests/level2/core/nodeissupported04.xml42
-rw-r--r--test/testcases/tests/level2/core/nodeissupported05.xml41
-rw-r--r--test/testcases/tests/level2/core/nodenormalize01.xml153
-rw-r--r--test/testcases/tests/level2/core/nodesetprefix01.xml50
-rw-r--r--test/testcases/tests/level2/core/nodesetprefix02.xml56
-rw-r--r--test/testcases/tests/level2/core/nodesetprefix03.xml42
-rw-r--r--test/testcases/tests/level2/core/nodesetprefix04.xml51
-rw-r--r--test/testcases/tests/level2/core/nodesetprefix05.xml53
-rw-r--r--test/testcases/tests/level2/core/nodesetprefix06.xml43
-rw-r--r--test/testcases/tests/level2/core/nodesetprefix07.xml44
-rw-r--r--test/testcases/tests/level2/core/nodesetprefix08.xml46
-rw-r--r--test/testcases/tests/level2/core/nodesetprefix09.xml42
-rw-r--r--test/testcases/tests/level2/core/normalize01.xml55
-rw-r--r--test/testcases/tests/level2/core/ownerDocument01.xml38
-rw-r--r--test/testcases/tests/level2/core/ownerElement01.xml48
-rw-r--r--test/testcases/tests/level2/core/ownerElement02.xml41
-rw-r--r--test/testcases/tests/level2/core/prefix01.xml43
-rw-r--r--test/testcases/tests/level2/core/prefix02.xml48
-rw-r--r--test/testcases/tests/level2/core/prefix03.xml44
-rw-r--r--test/testcases/tests/level2/core/prefix04.xml42
-rw-r--r--test/testcases/tests/level2/core/prefix05.xml53
-rw-r--r--test/testcases/tests/level2/core/prefix06.xml49
-rw-r--r--test/testcases/tests/level2/core/prefix07.xml47
-rw-r--r--test/testcases/tests/level2/core/prefix08.xml63
-rw-r--r--test/testcases/tests/level2/core/prefix09.xml53
-rw-r--r--test/testcases/tests/level2/core/prefix10.xml49
-rw-r--r--test/testcases/tests/level2/core/prefix11.xml57
-rw-r--r--test/testcases/tests/level2/core/publicId01.xml41
-rw-r--r--test/testcases/tests/level2/core/removeAttributeNS01.xml64
-rw-r--r--test/testcases/tests/level2/core/removeAttributeNS02.xml66
-rw-r--r--test/testcases/tests/level2/core/removeNamedItemNS01.xml52
-rw-r--r--test/testcases/tests/level2/core/removeNamedItemNS02.xml56
-rw-r--r--test/testcases/tests/level2/core/removeNamedItemNS03.xml71
-rw-r--r--test/testcases/tests/level2/core/setAttributeNS01.xml50
-rw-r--r--test/testcases/tests/level2/core/setAttributeNS02.xml49
-rw-r--r--test/testcases/tests/level2/core/setAttributeNS03.xml67
-rw-r--r--test/testcases/tests/level2/core/setAttributeNS04.xml63
-rw-r--r--test/testcases/tests/level2/core/setAttributeNS05.xml54
-rw-r--r--test/testcases/tests/level2/core/setAttributeNS06.xml51
-rw-r--r--test/testcases/tests/level2/core/setAttributeNS07.xml52
-rw-r--r--test/testcases/tests/level2/core/setAttributeNS09.xml63
-rw-r--r--test/testcases/tests/level2/core/setAttributeNS10.xml43
-rw-r--r--test/testcases/tests/level2/core/setAttributeNodeNS01.xml65
-rw-r--r--test/testcases/tests/level2/core/setAttributeNodeNS02.xml69
-rw-r--r--test/testcases/tests/level2/core/setAttributeNodeNS03.xml52
-rw-r--r--test/testcases/tests/level2/core/setAttributeNodeNS04.xml54
-rw-r--r--test/testcases/tests/level2/core/setAttributeNodeNS05.xml60
-rw-r--r--test/testcases/tests/level2/core/setNamedItemNS01.xml61
-rw-r--r--test/testcases/tests/level2/core/setNamedItemNS02.xml60
-rw-r--r--test/testcases/tests/level2/core/setNamedItemNS03.xml57
-rw-r--r--test/testcases/tests/level2/core/setNamedItemNS04.xml73
-rw-r--r--test/testcases/tests/level2/core/setNamedItemNS05.xml55
-rw-r--r--test/testcases/tests/level2/core/systemId01.xml42
-rw-r--r--test/testcases/tests/level2/events/.cvsignore2
-rw-r--r--test/testcases/tests/level2/events/CVS/Entries30
-rw-r--r--test/testcases/tests/level2/events/CVS/Repository1
-rw-r--r--test/testcases/tests/level2/events/CVS/Root1
-rw-r--r--test/testcases/tests/level2/events/CVS/Template0
-rw-r--r--test/testcases/tests/level2/events/DocumentEventCast01.xml33
-rw-r--r--test/testcases/tests/level2/events/EventTargetCast01.xml33
-rw-r--r--test/testcases/tests/level2/events/alltests.xml46
-rw-r--r--test/testcases/tests/level2/events/createEvent01.xml34
-rw-r--r--test/testcases/tests/level2/events/createEvent02.xml36
-rw-r--r--test/testcases/tests/level2/events/createEvent03.xml36
-rw-r--r--test/testcases/tests/level2/events/createEvent04.xml36
-rw-r--r--test/testcases/tests/level2/events/createEvent05.xml36
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent01.xml38
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent02.xml41
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent03.xml42
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent04.xml42
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent05.xml42
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent06.xml42
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent07.xml42
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent08.xml49
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent09.xml49
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent10.xml50
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent11.xml45
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent12.xml50
-rw-r--r--test/testcases/tests/level2/events/dispatchEvent13.xml84
-rw-r--r--test/testcases/tests/level2/events/files/.cvsignore0
-rw-r--r--test/testcases/tests/level2/events/files/CVS/Entries10
-rw-r--r--test/testcases/tests/level2/events/files/CVS/Repository1
-rw-r--r--test/testcases/tests/level2/events/files/CVS/Root1
-rw-r--r--test/testcases/tests/level2/events/files/CVS/Template0
-rw-r--r--test/testcases/tests/level2/events/files/hc_staff.html48
-rw-r--r--test/testcases/tests/level2/events/files/hc_staff.svg72
-rw-r--r--test/testcases/tests/level2/events/files/hc_staff.xhtml60
-rw-r--r--test/testcases/tests/level2/events/files/hc_staff.xml60
-rw-r--r--test/testcases/tests/level2/events/files/staff.dtd17
-rw-r--r--test/testcases/tests/level2/events/files/svgtest.js0
-rw-r--r--test/testcases/tests/level2/events/files/svgunit.js0
-rw-r--r--test/testcases/tests/level2/events/files/xhtml1-strict.dtd65
-rw-r--r--test/testcases/tests/level2/events/initEvent01.xml48
-rw-r--r--test/testcases/tests/level2/events/initEvent02.xml48
-rw-r--r--test/testcases/tests/level2/events/initEvent03.xml55
-rw-r--r--test/testcases/tests/level2/events/initEvent04.xml50
-rw-r--r--test/testcases/tests/level2/events/initEvent05.xml50
-rw-r--r--test/testcases/tests/level2/events/initEvent06.xml57
-rw-r--r--test/testcases/tests/level2/events/metadata.xml20
-rw-r--r--test/testcases/tests/level2/html/.cvsignore2
-rw-r--r--test/testcases/tests/level2/html/CVS/Entries65
-rw-r--r--test/testcases/tests/level2/html/CVS/Repository1
-rw-r--r--test/testcases/tests/level2/html/CVS/Root1
-rw-r--r--test/testcases/tests/level2/html/CVS/Template0
-rw-r--r--test/testcases/tests/level2/html/HTMLAppletElement07.xml42
-rw-r--r--test/testcases/tests/level2/html/HTMLAppletElement09.xml42
-rw-r--r--test/testcases/tests/level2/html/HTMLBaseFontElement03.xml41
-rw-r--r--test/testcases/tests/level2/html/HTMLBodyElement07.xml38
-rw-r--r--test/testcases/tests/level2/html/HTMLBodyElement08.xml38
-rw-r--r--test/testcases/tests/level2/html/HTMLBodyElement09.xml40
-rw-r--r--test/testcases/tests/level2/html/HTMLBodyElement10.xml40
-rw-r--r--test/testcases/tests/level2/html/HTMLBodyElement11.xml38
-rw-r--r--test/testcases/tests/level2/html/HTMLBodyElement12.xml38
-rw-r--r--test/testcases/tests/level2/html/HTMLDocument22.xml36
-rw-r--r--test/testcases/tests/level2/html/HTMLDocument23.xml36
-rw-r--r--test/testcases/tests/level2/html/HTMLDocument24.xml38
-rw-r--r--test/testcases/tests/level2/html/HTMLDocument25.xml38
-rw-r--r--test/testcases/tests/level2/html/HTMLDocument26.xml36
-rw-r--r--test/testcases/tests/level2/html/HTMLDocument27.xml36
-rw-r--r--test/testcases/tests/level2/html/HTMLFrameElement09.xml42
-rw-r--r--test/testcases/tests/level2/html/HTMLIFrameElement11.xml39
-rw-r--r--test/testcases/tests/level2/html/HTMLImageElement05.xml41
-rw-r--r--test/testcases/tests/level2/html/HTMLImageElement06.xml42
-rw-r--r--test/testcases/tests/level2/html/HTMLImageElement11.xml42
-rw-r--r--test/testcases/tests/level2/html/HTMLImageElement12.xml41
-rw-r--r--test/testcases/tests/level2/html/HTMLInputElement13.xml43
-rw-r--r--test/testcases/tests/level2/html/HTMLObjectElement11.xml43
-rw-r--r--test/testcases/tests/level2/html/HTMLObjectElement16.xml43
-rw-r--r--test/testcases/tests/level2/html/HTMLObjectElement20.xml40
-rw-r--r--test/testcases/tests/level2/html/HTMLOptionsCollection01.xml46
-rw-r--r--test/testcases/tests/level2/html/HTMLOptionsCollection02.xml54
-rw-r--r--test/testcases/tests/level2/html/HTMLOptionsCollection03.xml54
-rw-r--r--test/testcases/tests/level2/html/HTMLOptionsCollection04.xml54
-rw-r--r--test/testcases/tests/level2/html/HTMLOptionsCollection05.xml55
-rw-r--r--test/testcases/tests/level2/html/HTMLOptionsCollection06.xml52
-rw-r--r--test/testcases/tests/level2/html/HTMLOptionsCollection07.xml54
-rw-r--r--test/testcases/tests/level2/html/HTMLSelectElement20.xml56
-rw-r--r--test/testcases/tests/level2/html/HTMLTableElement34.xml48
-rw-r--r--test/testcases/tests/level2/html/HTMLTableElement35.xml48
-rw-r--r--test/testcases/tests/level2/html/HTMLTableElement36.xml47
-rw-r--r--test/testcases/tests/level2/html/HTMLTableElement37.xml48
-rw-r--r--test/testcases/tests/level2/html/HTMLTableElement38.xml47
-rw-r--r--test/testcases/tests/level2/html/HTMLTableElement39.xml62
-rw-r--r--test/testcases/tests/level2/html/HTMLTableElement40.xml50
-rw-r--r--test/testcases/tests/level2/html/HTMLTableRowElement15.xml48
-rw-r--r--test/testcases/tests/level2/html/HTMLTableRowElement16.xml48
-rw-r--r--test/testcases/tests/level2/html/HTMLTableRowElement17.xml47
-rw-r--r--test/testcases/tests/level2/html/HTMLTableRowElement18.xml47
-rw-r--r--test/testcases/tests/level2/html/HTMLTableRowElement19.xml47
-rw-r--r--test/testcases/tests/level2/html/HTMLTableRowElement20.xml68
-rw-r--r--test/testcases/tests/level2/html/HTMLTableRowElement21.xml67
-rw-r--r--test/testcases/tests/level2/html/HTMLTableSectionElement25.xml48
-rw-r--r--test/testcases/tests/level2/html/HTMLTableSectionElement26.xml48
-rw-r--r--test/testcases/tests/level2/html/HTMLTableSectionElement27.xml48
-rw-r--r--test/testcases/tests/level2/html/HTMLTableSectionElement28.xml48
-rw-r--r--test/testcases/tests/level2/html/HTMLTableSectionElement29.xml47
-rw-r--r--test/testcases/tests/level2/html/HTMLTableSectionElement30.xml55
-rw-r--r--test/testcases/tests/level2/html/HTMLTableSectionElement31.xml53
-rw-r--r--test/testcases/tests/level2/html/alltests.xml707
-rw-r--r--test/testcases/tests/level2/html/files/.cvsignore6
-rw-r--r--test/testcases/tests/level2/html/files/CVS/Entries11
-rw-r--r--test/testcases/tests/level2/html/files/CVS/Repository1
-rw-r--r--test/testcases/tests/level2/html/files/CVS/Root1
-rw-r--r--test/testcases/tests/level2/html/files/CVS/Template0
-rw-r--r--test/testcases/tests/level2/html/files/frame2.html16
-rw-r--r--test/testcases/tests/level2/html/files/frame2.xhtml17
-rw-r--r--test/testcases/tests/level2/html/files/frame2.xml16
-rw-r--r--test/testcases/tests/level2/html/files/iframe2.html13
-rw-r--r--test/testcases/tests/level2/html/files/iframe2.xhtml15
-rw-r--r--test/testcases/tests/level2/html/files/iframe2.xml15
-rw-r--r--test/testcases/tests/level2/html/files/optionscollection.html36
-rw-r--r--test/testcases/tests/level2/html/files/optionscollection.xhtml33
-rw-r--r--test/testcases/tests/level2/html/files/optionscollection.xml33
-rw-r--r--test/testcases/tests/level2/html/hasFeature02.xml31
-rw-r--r--test/testcases/tests/level2/html/hasFeature03.xml33
-rw-r--r--test/testcases/tests/level2/html/hasFeature04.xml33
-rw-r--r--test/testcases/tests/level2/html/hasFeature05.xml31
-rw-r--r--test/testcases/tests/level2/html/hasFeature06.xml31
-rw-r--r--test/testcases/tests/level2/html/metadata.xml15
-rw-r--r--test/testcases/tests/level2/html/object08.xml40
-rw-r--r--test/testcases/tests/level2/html/object13.xml40
446 files changed, 21593 insertions, 0 deletions
diff --git a/test/testcases/tests/level2/CVS/Entries b/test/testcases/tests/level2/CVS/Entries
new file mode 100644
index 0000000..cb66ad2
--- /dev/null
+++ b/test/testcases/tests/level2/CVS/Entries
@@ -0,0 +1,3 @@
+D/core////
+D/events////
+D/html////
diff --git a/test/testcases/tests/level2/CVS/Repository b/test/testcases/tests/level2/CVS/Repository
new file mode 100644
index 0000000..cd1c79d
--- /dev/null
+++ b/test/testcases/tests/level2/CVS/Repository
@@ -0,0 +1 @@
+2001/DOM-Test-Suite/tests/level2
diff --git a/test/testcases/tests/level2/CVS/Root b/test/testcases/tests/level2/CVS/Root
new file mode 100644
index 0000000..3c7177e
--- /dev/null
+++ b/test/testcases/tests/level2/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/test/testcases/tests/level2/CVS/Template b/test/testcases/tests/level2/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/CVS/Template
diff --git a/test/testcases/tests/level2/core/.cvsignore b/test/testcases/tests/level2/core/.cvsignore
new file mode 100644
index 0000000..cc87140
--- /dev/null
+++ b/test/testcases/tests/level2/core/.cvsignore
@@ -0,0 +1,2 @@
+dom2.dtd
+dom2.xsd
diff --git a/test/testcases/tests/level2/core/CVS/Entries b/test/testcases/tests/level2/core/CVS/Entries
new file mode 100644
index 0000000..fddde67
--- /dev/null
+++ b/test/testcases/tests/level2/core/CVS/Entries
@@ -0,0 +1,287 @@
+D/files////
+/.cvsignore/1.2/Fri Apr 3 02:47:56 2009//
+/alltests.xml/1.13/Fri Apr 3 02:47:56 2009//
+/attrgetownerelement01.xml/1.4/Fri Apr 3 02:47:56 2009//
+/attrgetownerelement02.xml/1.2/Fri Apr 3 02:47:56 2009//
+/attrgetownerelement03.xml/1.1/Fri Apr 3 02:47:56 2009//
+/attrgetownerelement04.xml/1.3/Fri Apr 3 02:47:56 2009//
+/attrgetownerelement05.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createAttributeNS01.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createAttributeNS02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createAttributeNS03.xml/1.5/Fri Apr 3 02:47:56 2009//
+/createAttributeNS04.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createAttributeNS05.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createAttributeNS06.xml/1.1/Fri Apr 3 02:47:56 2009//
+/createDocument01.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createDocument02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createDocument03.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createDocument04.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createDocument05.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createDocument06.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createDocument07.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createDocument08.xml/1.1/Fri Apr 3 02:47:56 2009//
+/createDocumentType01.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createDocumentType02.xml/1.5/Fri Apr 3 02:47:56 2009//
+/createDocumentType03.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createDocumentType04.xml/1.1/Fri Apr 3 02:47:56 2009//
+/createElementNS01.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createElementNS02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createElementNS03.xml/1.5/Fri Apr 3 02:47:56 2009//
+/createElementNS04.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createElementNS05.xml/1.4/Fri Apr 3 02:47:56 2009//
+/createElementNS06.xml/1.1/Fri Apr 3 02:47:56 2009//
+/documentcreateattributeNS01.xml/1.2/Fri Apr 3 02:47:56 2009//
+/documentcreateattributeNS02.xml/1.2/Fri Apr 3 02:47:56 2009//
+/documentcreateattributeNS03.xml/1.1/Fri Apr 3 02:47:56 2009//
+/documentcreateattributeNS04.xml/1.1/Fri Apr 3 02:47:56 2009//
+/documentcreateattributeNS05.xml/1.2/Fri Apr 3 02:47:56 2009//
+/documentcreateattributeNS06.xml/1.2/Fri Apr 3 02:47:56 2009//
+/documentcreateattributeNS07.xml/1.1/Fri Apr 3 02:47:56 2009//
+/documentcreateelementNS01.xml/1.1/Fri Apr 3 02:47:56 2009//
+/documentcreateelementNS02.xml/1.1/Fri Apr 3 02:47:56 2009//
+/documentcreateelementNS05.xml/1.1/Fri Apr 3 02:47:56 2009//
+/documentcreateelementNS06.xml/1.2/Fri Apr 3 02:47:56 2009//
+/documentgetelementbyid01.xml/1.1/Fri Apr 3 02:47:56 2009//
+/documentgetelementsbytagnameNS01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentgetelementsbytagnameNS02.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentgetelementsbytagnameNS03.xml/1.2/Fri Apr 3 02:47:56 2009//
+/documentgetelementsbytagnameNS04.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentgetelementsbytagnameNS05.xml/1.2/Fri Apr 3 02:47:56 2009//
+/documentimportnode01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/documentimportnode03.xml/1.4/Fri Apr 3 02:47:56 2009//
+/documentimportnode04.xml/1.4/Fri Apr 3 02:47:56 2009//
+/documentimportnode05.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode06.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode07.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode08.xml/1.4/Fri Apr 3 02:47:56 2009//
+/documentimportnode09.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode10.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode11.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode12.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode13.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode14.xml/1.5/Fri Apr 3 02:47:56 2009//
+/documentimportnode15.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode17.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode18.xml/1.4/Fri Apr 3 02:47:56 2009//
+/documentimportnode19.xml/1.4/Fri Apr 3 02:47:56 2009//
+/documentimportnode20.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode21.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documentimportnode22.xml/1.4/Fri Apr 3 02:47:56 2009//
+/documenttypeinternalSubset01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documenttypepublicid01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/documenttypesystemid01.xml/1.2/Fri Apr 3 02:47:56 2009//
+/domimplementationcreatedocument03.xml/1.1/Fri Apr 3 02:47:56 2009//
+/domimplementationcreatedocument04.xml/1.1/Fri Apr 3 02:47:56 2009//
+/domimplementationcreatedocument05.xml/1.1/Fri Apr 3 02:47:56 2009//
+/domimplementationcreatedocument07.xml/1.1/Fri Apr 3 02:47:56 2009//
+/domimplementationcreatedocumenttype01.xml/1.1/Fri Apr 3 02:47:56 2009//
+/domimplementationcreatedocumenttype02.xml/1.1/Fri Apr 3 02:47:56 2009//
+/domimplementationcreatedocumenttype04.xml/1.1/Fri Apr 3 02:47:56 2009//
+/domimplementationfeaturecore.xml/1.7/Fri Apr 3 02:47:56 2009//
+/domimplementationfeaturexmlversion2.xml/1.7/Fri Apr 3 02:47:56 2009//
+/domimplementationhasfeature01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/domimplementationhasfeature02.xml/1.3/Fri Apr 3 02:47:56 2009//
+/elementgetattributenodens01.xml/1.2/Fri Apr 3 02:47:56 2009//
+/elementgetattributenodens02.xml/1.2/Fri Apr 3 02:47:56 2009//
+/elementgetattributenodens03.xml/1.4/Fri Apr 3 02:47:56 2009//
+/elementgetattributens02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/elementgetelementsbytagnamens02.xml/1.1/Fri Apr 3 02:47:56 2009//
+/elementgetelementsbytagnamens04.xml/1.3/Fri Apr 3 02:47:56 2009//
+/elementgetelementsbytagnamens05.xml/1.1/Fri Apr 3 02:47:56 2009//
+/elementhasattribute01.xml/1.1/Fri Apr 3 02:47:56 2009//
+/elementhasattribute02.xml/1.3/Fri Apr 3 02:47:56 2009//
+/elementhasattribute03.xml/1.3/Fri Apr 3 02:47:56 2009//
+/elementhasattribute04.xml/1.2/Fri Apr 3 02:47:56 2009//
+/elementhasattributens01.xml/1.2/Fri Apr 3 02:47:56 2009//
+/elementhasattributens02.xml/1.3/Fri Apr 3 02:47:56 2009//
+/elementhasattributens03.xml/1.4/Fri Apr 3 02:47:56 2009//
+/elementremoveattributens01.xml/1.2/Fri Apr 3 02:47:56 2009//
+/elementsetattributenodens01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/elementsetattributenodens02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/elementsetattributenodens03.xml/1.4/Fri Apr 3 02:47:56 2009//
+/elementsetattributenodens04.xml/1.3/Fri Apr 3 02:47:56 2009//
+/elementsetattributenodens05.xml/1.4/Fri Apr 3 02:47:56 2009//
+/elementsetattributenodens06.xml/1.3/Fri Apr 3 02:47:56 2009//
+/elementsetattributens01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/elementsetattributens02.xml/1.3/Fri Apr 3 02:47:56 2009//
+/elementsetattributens03.xml/1.5/Fri Apr 3 02:47:56 2009//
+/elementsetattributens04.xml/1.3/Fri Apr 3 02:47:56 2009//
+/elementsetattributens05.xml/1.4/Fri Apr 3 02:47:56 2009//
+/elementsetattributens08.xml/1.3/Fri Apr 3 02:47:56 2009//
+/elementsetattributensurinull.xml/1.9/Fri Apr 3 02:47:56 2009//
+/getAttributeNS01.xml/1.6/Fri Apr 3 02:47:56 2009//
+/getAttributeNS02.xml/1.5/Fri Apr 3 02:47:56 2009//
+/getAttributeNS03.xml/1.6/Fri Apr 3 02:47:56 2009//
+/getAttributeNS04.xml/1.5/Fri Apr 3 02:47:56 2009//
+/getAttributeNS05.xml/1.6/Fri Apr 3 02:47:56 2009//
+/getAttributeNodeNS01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/getAttributeNodeNS02.xml/1.6/Fri Apr 3 02:47:56 2009//
+/getElementById01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/getElementById02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS02.xml/1.7/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS03.xml/1.7/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS04.xml/1.7/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS05.xml/1.4/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS06.xml/1.5/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS07.xml/1.5/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS08.xml/1.2/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS09.xml/1.1/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS10.xml/1.2/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS11.xml/1.2/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS12.xml/1.1/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS13.xml/1.1/Fri Apr 3 02:47:56 2009//
+/getElementsByTagNameNS14.xml/1.3/Fri Apr 3 02:47:56 2009//
+/getNamedItemNS01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/getNamedItemNS02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/getNamedItemNS03.xml/1.3/Fri Apr 3 02:47:56 2009//
+/getNamedItemNS04.xml/1.2/Fri Apr 3 02:47:56 2009//
+/hasAttribute01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/hasAttribute02.xml/1.6/Fri Apr 3 02:47:56 2009//
+/hasAttribute03.xml/1.5/Fri Apr 3 02:47:56 2009//
+/hasAttribute04.xml/1.6/Fri Apr 3 02:47:56 2009//
+/hasAttributeNS01.xml/1.4/Fri Apr 3 02:47:56 2009//
+/hasAttributeNS02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/hasAttributeNS03.xml/1.5/Fri Apr 3 02:47:56 2009//
+/hasAttributeNS04.xml/1.6/Fri Apr 3 02:47:56 2009//
+/hasAttributeNS05.xml/1.5/Fri Apr 3 02:47:56 2009//
+/hasAttributes01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/hasAttributes02.xml/1.5/Fri Apr 3 02:47:56 2009//
+/hc_entitiesremovenameditemns1.xml/1.2/Fri Apr 3 02:47:56 2009//
+/hc_entitiessetnameditemns1.xml/1.2/Fri Apr 3 02:47:56 2009//
+/hc_namednodemapinvalidtype1.xml/1.1/Fri Apr 3 02:47:56 2009//
+/hc_nodedocumentfragmentnormalize1.xml/1.1/Fri Apr 3 02:47:56 2009//
+/hc_nodedocumentfragmentnormalize2.xml/1.1/Fri Apr 3 02:47:56 2009//
+/hc_notationsremovenameditemns1.xml/1.2/Fri Apr 3 02:47:56 2009//
+/hc_notationssetnameditemns1.xml/1.2/Fri Apr 3 02:47:56 2009//
+/importNode01.xml/1.8/Fri Apr 3 02:47:56 2009//
+/importNode02.xml/1.9/Fri Apr 3 02:47:56 2009//
+/importNode03.xml/1.9/Fri Apr 3 02:47:56 2009//
+/importNode04.xml/1.8/Fri Apr 3 02:47:56 2009//
+/importNode05.xml/1.9/Fri Apr 3 02:47:56 2009//
+/importNode06.xml/1.8/Fri Apr 3 02:47:56 2009//
+/importNode07.xml/1.10/Fri Apr 3 02:47:56 2009//
+/importNode08.xml/1.8/Fri Apr 3 02:47:56 2009//
+/importNode09.xml/1.9/Fri Apr 3 02:47:56 2009//
+/importNode10.xml/1.9/Fri Apr 3 02:47:56 2009//
+/importNode11.xml/1.9/Fri Apr 3 02:47:56 2009//
+/importNode12.xml/1.9/Fri Apr 3 02:47:56 2009//
+/importNode13.xml/1.9/Fri Apr 3 02:47:56 2009//
+/importNode14.xml/1.9/Fri Apr 3 02:47:56 2009//
+/importNode15.xml/1.9/Fri Apr 3 02:47:56 2009//
+/importNode16.xml/1.5/Fri Apr 3 02:47:56 2009//
+/importNode17.xml/1.5/Fri Apr 3 02:47:56 2009//
+/internalSubset01.xml/1.6/Fri Apr 3 02:47:56 2009//
+/isSupported01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/isSupported02.xml/1.5/Fri Apr 3 02:47:56 2009//
+/isSupported04.xml/1.5/Fri Apr 3 02:47:56 2009//
+/isSupported05.xml/1.5/Fri Apr 3 02:47:56 2009//
+/isSupported06.xml/1.5/Fri Apr 3 02:47:56 2009//
+/isSupported07.xml/1.5/Fri Apr 3 02:47:56 2009//
+/isSupported09.xml/1.5/Fri Apr 3 02:47:56 2009//
+/isSupported10.xml/1.5/Fri Apr 3 02:47:56 2009//
+/isSupported11.xml/1.5/Fri Apr 3 02:47:56 2009//
+/isSupported12.xml/1.9/Fri Apr 3 02:47:56 2009//
+/isSupported13.xml/1.5/Fri Apr 3 02:47:56 2009//
+/isSupported14.xml/1.5/Fri Apr 3 02:47:56 2009//
+/localName01.xml/1.6/Fri Apr 3 02:47:56 2009//
+/localName02.xml/1.5/Fri Apr 3 02:47:56 2009//
+/localName03.xml/1.5/Fri Apr 3 02:47:56 2009//
+/localName04.xml/1.5/Fri Apr 3 02:47:56 2009//
+/metadata.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapgetnameditemns01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/namednodemapgetnameditemns02.xml/1.2/Fri Apr 3 02:47:56 2009//
+/namednodemapgetnameditemns03.xml/1.2/Fri Apr 3 02:47:56 2009//
+/namednodemapgetnameditemns04.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapgetnameditemns05.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapgetnameditemns06.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapremovenameditemns01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapremovenameditemns02.xml/1.5/Fri Apr 3 02:47:56 2009//
+/namednodemapremovenameditemns03.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapremovenameditemns04.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapremovenameditemns05.xml/1.6/Fri Apr 3 02:47:56 2009//
+/namednodemapremovenameditemns06.xml/1.4/Fri Apr 3 02:47:56 2009//
+/namednodemapremovenameditemns07.xml/1.4/Fri Apr 3 02:47:56 2009//
+/namednodemapremovenameditemns08.xml/1.4/Fri Apr 3 02:47:56 2009//
+/namednodemapremovenameditemns09.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapsetnameditemns01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapsetnameditemns02.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapsetnameditemns03.xml/1.7/Fri Apr 3 02:47:56 2009//
+/namednodemapsetnameditemns04.xml/1.5/Fri Apr 3 02:47:56 2009//
+/namednodemapsetnameditemns05.xml/1.6/Fri Apr 3 02:47:56 2009//
+/namednodemapsetnameditemns06.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapsetnameditemns07.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapsetnameditemns08.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namednodemapsetnameditemns09.xml/1.4/Fri Apr 3 02:47:56 2009//
+/namednodemapsetnameditemns10.xml/1.6/Fri Apr 3 02:47:56 2009//
+/namednodemapsetnameditemns11.xml/1.3/Fri Apr 3 02:47:56 2009//
+/namespaceURI01.xml/1.6/Fri Apr 3 02:47:56 2009//
+/namespaceURI02.xml/1.6/Fri Apr 3 02:47:56 2009//
+/namespaceURI03.xml/1.6/Fri Apr 3 02:47:56 2009//
+/namespaceURI04.xml/1.5/Fri Apr 3 02:47:56 2009//
+/nodegetlocalname03.xml/1.2/Fri Apr 3 02:47:56 2009//
+/nodegetnamespaceuri03.xml/1.3/Fri Apr 3 02:47:56 2009//
+/nodegetownerdocument01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/nodegetownerdocument02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/nodegetprefix03.xml/1.2/Fri Apr 3 02:47:56 2009//
+/nodehasattributes01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/nodehasattributes02.xml/1.1/Fri Apr 3 02:47:56 2009//
+/nodehasattributes03.xml/1.3/Fri Apr 3 02:47:56 2009//
+/nodehasattributes04.xml/1.2/Fri Apr 3 02:47:56 2009//
+/nodeissupported01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/nodeissupported02.xml/1.3/Fri Apr 3 02:47:56 2009//
+/nodeissupported03.xml/1.1/Fri Apr 3 02:47:56 2009//
+/nodeissupported04.xml/1.2/Fri Apr 3 02:47:56 2009//
+/nodeissupported05.xml/1.1/Fri Apr 3 02:47:56 2009//
+/nodenormalize01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/nodesetprefix01.xml/1.3/Fri Apr 3 02:47:56 2009//
+/nodesetprefix02.xml/1.3/Fri Apr 3 02:47:56 2009//
+/nodesetprefix03.xml/1.4/Fri Apr 3 02:47:56 2009//
+/nodesetprefix04.xml/1.5/Fri Apr 3 02:47:56 2009//
+/nodesetprefix05.xml/1.4/Fri Apr 3 02:47:56 2009//
+/nodesetprefix06.xml/1.4/Fri Apr 3 02:47:56 2009//
+/nodesetprefix07.xml/1.4/Fri Apr 3 02:47:56 2009//
+/nodesetprefix08.xml/1.4/Fri Apr 3 02:47:56 2009//
+/nodesetprefix09.xml/1.5/Fri Apr 3 02:47:56 2009//
+/normalize01.xml/1.7/Fri Apr 3 02:47:56 2009//
+/ownerDocument01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/ownerElement01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/ownerElement02.xml/1.5/Fri Apr 3 02:47:56 2009//
+/prefix01.xml/1.4/Fri Apr 3 02:47:56 2009//
+/prefix02.xml/1.6/Fri Apr 3 02:47:56 2009//
+/prefix03.xml/1.6/Fri Apr 3 02:47:56 2009//
+/prefix04.xml/1.4/Fri Apr 3 02:47:56 2009//
+/prefix05.xml/1.5/Fri Apr 3 02:47:56 2009//
+/prefix06.xml/1.8/Fri Apr 3 02:47:56 2009//
+/prefix07.xml/1.4/Fri Apr 3 02:47:56 2009//
+/prefix08.xml/1.7/Fri Apr 3 02:47:56 2009//
+/prefix09.xml/1.5/Fri Apr 3 02:47:56 2009//
+/prefix10.xml/1.4/Fri Apr 3 02:47:56 2009//
+/prefix11.xml/1.5/Fri Apr 3 02:47:56 2009//
+/publicId01.xml/1.4/Fri Apr 3 02:47:56 2009//
+/removeAttributeNS01.xml/1.6/Fri Apr 3 02:47:56 2009//
+/removeAttributeNS02.xml/1.7/Fri Apr 3 02:47:56 2009//
+/removeNamedItemNS01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/removeNamedItemNS02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/removeNamedItemNS03.xml/1.7/Fri Apr 3 02:47:56 2009//
+/setAttributeNS01.xml/1.4/Fri Apr 3 02:47:56 2009//
+/setAttributeNS02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/setAttributeNS03.xml/1.6/Fri Apr 3 02:47:56 2009//
+/setAttributeNS04.xml/1.6/Fri Apr 3 02:47:56 2009//
+/setAttributeNS05.xml/1.5/Fri Apr 3 02:47:56 2009//
+/setAttributeNS06.xml/1.4/Fri Apr 3 02:47:56 2009//
+/setAttributeNS07.xml/1.4/Fri Apr 3 02:47:56 2009//
+/setAttributeNS09.xml/1.7/Fri Apr 3 02:47:56 2009//
+/setAttributeNS10.xml/1.1/Fri Apr 3 02:47:56 2009//
+/setAttributeNodeNS01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/setAttributeNodeNS02.xml/1.5/Fri Apr 3 02:47:56 2009//
+/setAttributeNodeNS03.xml/1.5/Fri Apr 3 02:47:56 2009//
+/setAttributeNodeNS04.xml/1.6/Fri Apr 3 02:47:56 2009//
+/setAttributeNodeNS05.xml/1.4/Fri Apr 3 02:47:56 2009//
+/setNamedItemNS01.xml/1.5/Fri Apr 3 02:47:56 2009//
+/setNamedItemNS02.xml/1.4/Fri Apr 3 02:47:56 2009//
+/setNamedItemNS03.xml/1.4/Fri Apr 3 02:47:56 2009//
+/setNamedItemNS04.xml/1.8/Fri Apr 3 02:47:56 2009//
+/setNamedItemNS05.xml/1.5/Fri Apr 3 02:47:56 2009//
+/systemId01.xml/1.6/Fri Apr 3 02:47:56 2009//
diff --git a/test/testcases/tests/level2/core/CVS/Repository b/test/testcases/tests/level2/core/CVS/Repository
new file mode 100644
index 0000000..daa629c
--- /dev/null
+++ b/test/testcases/tests/level2/core/CVS/Repository
@@ -0,0 +1 @@
+2001/DOM-Test-Suite/tests/level2/core
diff --git a/test/testcases/tests/level2/core/CVS/Root b/test/testcases/tests/level2/core/CVS/Root
new file mode 100644
index 0000000..3c7177e
--- /dev/null
+++ b/test/testcases/tests/level2/core/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/test/testcases/tests/level2/core/CVS/Template b/test/testcases/tests/level2/core/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/core/CVS/Template
diff --git a/test/testcases/tests/level2/core/alltests.xml b/test/testcases/tests/level2/core/alltests.xml
new file mode 100644
index 0000000..26040b0
--- /dev/null
+++ b/test/testcases/tests/level2/core/alltests.xml
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+-->
+<!DOCTYPE suite SYSTEM "dom2.dtd">
+<suite xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="alltests">
+<metadata>
+<title>DOM Level 2 Core Test Suite</title>
+<creator>DOM Test Suite Project</creator>
+</metadata>
+ <suite.member href="attrgetownerelement01.xml"/>
+ <suite.member href="attrgetownerelement02.xml"/>
+ <suite.member href="attrgetownerelement03.xml"/>
+ <suite.member href="attrgetownerelement04.xml"/>
+ <suite.member href="attrgetownerelement05.xml"/>
+ <suite.member href="createAttributeNS01.xml"/>
+ <suite.member href="createAttributeNS02.xml"/>
+ <suite.member href="createAttributeNS03.xml"/>
+ <suite.member href="createAttributeNS04.xml"/>
+ <suite.member href="createAttributeNS05.xml"/>
+ <suite.member href="createAttributeNS06.xml"/>
+ <suite.member href="createDocument01.xml"/>
+ <suite.member href="createDocument02.xml"/>
+ <suite.member href="createDocument03.xml"/>
+ <suite.member href="createDocument04.xml"/>
+ <suite.member href="createDocument05.xml"/>
+ <suite.member href="createDocument06.xml"/>
+ <suite.member href="createDocument07.xml"/>
+ <suite.member href="createDocument08.xml"/>
+ <suite.member href="createDocumentType01.xml"/>
+ <suite.member href="createDocumentType02.xml"/>
+ <suite.member href="createDocumentType03.xml"/>
+ <suite.member href="createDocumentType04.xml"/>
+ <suite.member href="createElementNS01.xml"/>
+ <suite.member href="createElementNS02.xml"/>
+ <suite.member href="createElementNS03.xml"/>
+ <suite.member href="createElementNS04.xml"/>
+ <suite.member href="createElementNS05.xml"/>
+ <suite.member href="documentcreateattributeNS01.xml"/>
+ <suite.member href="documentcreateattributeNS02.xml"/>
+ <suite.member href="documentcreateattributeNS03.xml"/>
+ <suite.member href="documentcreateattributeNS04.xml"/>
+ <suite.member href="documentcreateattributeNS05.xml"/>
+ <suite.member href="documentcreateattributeNS06.xml"/>
+ <suite.member href="documentcreateattributeNS07.xml"/>
+ <suite.member href="documentcreateelementNS01.xml"/>
+ <suite.member href="documentcreateelementNS02.xml"/>
+ <suite.member href="documentcreateelementNS05.xml"/>
+ <suite.member href="documentcreateelementNS06.xml"/>
+ <suite.member href="documentgetelementbyid01.xml"/>
+ <suite.member href="documentgetelementsbytagnameNS01.xml"/>
+ <suite.member href="documentgetelementsbytagnameNS02.xml"/>
+ <suite.member href="documentgetelementsbytagnameNS03.xml"/>
+ <suite.member href="documentgetelementsbytagnameNS04.xml"/>
+ <suite.member href="documentgetelementsbytagnameNS05.xml"/>
+ <suite.member href="documentimportnode01.xml"/>
+ <suite.member href="documentimportnode02.xml"/>
+ <suite.member href="documentimportnode03.xml"/>
+ <suite.member href="documentimportnode04.xml"/>
+ <suite.member href="documentimportnode05.xml"/>
+ <suite.member href="documentimportnode06.xml"/>
+ <suite.member href="documentimportnode07.xml"/>
+ <suite.member href="documentimportnode08.xml"/>
+ <suite.member href="documentimportnode09.xml"/>
+ <suite.member href="documentimportnode10.xml"/>
+ <suite.member href="documentimportnode11.xml"/>
+ <suite.member href="documentimportnode12.xml"/>
+ <suite.member href="documentimportnode13.xml"/>
+ <suite.member href="documentimportnode14.xml"/>
+ <suite.member href="documentimportnode15.xml"/>
+ <suite.member href="documentimportnode17.xml"/>
+ <suite.member href="documentimportnode18.xml"/>
+ <suite.member href="documentimportnode19.xml"/>
+ <suite.member href="documentimportnode20.xml"/>
+ <suite.member href="documentimportnode21.xml"/>
+ <suite.member href="documentimportnode22.xml"/>
+ <suite.member href="documenttypeinternalSubset01.xml"/>
+ <suite.member href="documenttypepublicid01.xml"/>
+ <suite.member href="documenttypesystemid01.xml"/>
+ <suite.member href="domimplementationcreatedocument03.xml"/>
+ <suite.member href="domimplementationcreatedocument04.xml"/>
+ <suite.member href="domimplementationcreatedocument05.xml"/>
+ <suite.member href="domimplementationcreatedocument07.xml"/>
+ <suite.member href="domimplementationcreatedocumenttype01.xml"/>
+ <suite.member href="domimplementationcreatedocumenttype02.xml"/>
+ <suite.member href="domimplementationcreatedocumenttype04.xml"/>
+ <suite.member href="domimplementationfeaturecore.xml"/>
+ <suite.member href="domimplementationfeaturexmlversion2.xml"/>
+ <suite.member href="domimplementationhasfeature01.xml"/>
+ <suite.member href="domimplementationhasfeature02.xml"/>
+ <suite.member href="elementgetattributenodens01.xml"/>
+ <suite.member href="elementgetattributenodens02.xml"/>
+ <suite.member href="elementgetattributenodens03.xml"/>
+ <suite.member href="elementgetattributens02.xml"/>
+ <suite.member href="elementgetelementsbytagnamens02.xml"/>
+ <suite.member href="elementgetelementsbytagnamens04.xml"/>
+ <suite.member href="elementgetelementsbytagnamens05.xml"/>
+ <suite.member href="elementhasattribute01.xml"/>
+ <suite.member href="elementhasattribute02.xml"/>
+ <suite.member href="elementhasattribute03.xml"/>
+ <suite.member href="elementhasattribute04.xml"/>
+ <suite.member href="elementhasattributens01.xml"/>
+ <suite.member href="elementhasattributens02.xml"/>
+ <suite.member href="elementhasattributens03.xml"/>
+ <suite.member href="elementremoveattributens01.xml"/>
+ <suite.member href="elementsetattributenodens01.xml"/>
+ <suite.member href="elementsetattributenodens02.xml"/>
+ <suite.member href="elementsetattributenodens03.xml"/>
+ <suite.member href="elementsetattributenodens04.xml"/>
+ <suite.member href="elementsetattributenodens05.xml"/>
+ <suite.member href="elementsetattributenodens06.xml"/>
+ <suite.member href="elementsetattributens01.xml"/>
+ <suite.member href="elementsetattributens02.xml"/>
+ <suite.member href="elementsetattributens03.xml"/>
+ <suite.member href="elementsetattributens04.xml"/>
+ <suite.member href="elementsetattributens05.xml"/>
+ <suite.member href="elementsetattributens08.xml"/>
+ <suite.member href="elementsetattributensurinull.xml"/>
+ <suite.member href="getAttributeNS01.xml"/>
+ <suite.member href="getAttributeNS02.xml"/>
+ <suite.member href="getAttributeNS03.xml"/>
+ <suite.member href="getAttributeNS04.xml"/>
+ <suite.member href="getAttributeNS05.xml"/>
+ <suite.member href="getAttributeNodeNS01.xml"/>
+ <suite.member href="getAttributeNodeNS02.xml"/>
+ <suite.member href="getElementById01.xml"/>
+ <suite.member href="getElementById02.xml"/>
+ <suite.member href="getElementsByTagNameNS01.xml"/>
+ <suite.member href="getElementsByTagNameNS02.xml"/>
+ <suite.member href="getElementsByTagNameNS03.xml"/>
+ <suite.member href="getElementsByTagNameNS04.xml"/>
+ <suite.member href="getElementsByTagNameNS05.xml"/>
+ <suite.member href="getElementsByTagNameNS06.xml"/>
+ <suite.member href="getElementsByTagNameNS07.xml"/>
+ <suite.member href="getElementsByTagNameNS08.xml"/>
+ <suite.member href="getElementsByTagNameNS09.xml"/>
+ <suite.member href="getElementsByTagNameNS10.xml"/>
+ <suite.member href="getElementsByTagNameNS11.xml"/>
+ <suite.member href="getElementsByTagNameNS12.xml"/>
+ <suite.member href="getElementsByTagNameNS13.xml"/>
+ <suite.member href="getElementsByTagNameNS14.xml"/>
+ <suite.member href="getNamedItemNS01.xml"/>
+ <suite.member href="getNamedItemNS02.xml"/>
+ <suite.member href="getNamedItemNS03.xml"/>
+ <suite.member href="getNamedItemNS04.xml"/>
+ <suite.member href="hasAttribute01.xml"/>
+ <suite.member href="hasAttribute02.xml"/>
+ <suite.member href="hasAttribute03.xml"/>
+ <suite.member href="hasAttribute04.xml"/>
+ <suite.member href="hasAttributeNS01.xml"/>
+ <suite.member href="hasAttributeNS02.xml"/>
+ <suite.member href="hasAttributeNS03.xml"/>
+ <suite.member href="hasAttributeNS04.xml"/>
+ <suite.member href="hasAttributeNS05.xml"/>
+ <suite.member href="hasAttributes01.xml"/>
+ <suite.member href="hasAttributes02.xml"/>
+ <suite.member href="hc_entitiesremovenameditemns1.xml"/>
+ <suite.member href="hc_entitiessetnameditemns1.xml"/>
+ <suite.member href="hc_namednodemapinvalidtype1.xml"/>
+ <suite.member href="hc_nodedocumentfragmentnormalize1.xml"/>
+ <suite.member href="hc_nodedocumentfragmentnormalize2.xml"/>
+ <suite.member href="hc_notationsremovenameditemns1.xml"/>
+ <suite.member href="hc_notationssetnameditemns1.xml"/>
+ <suite.member href="importNode01.xml"/>
+ <suite.member href="importNode02.xml"/>
+ <suite.member href="importNode03.xml"/>
+ <suite.member href="importNode04.xml"/>
+ <suite.member href="importNode05.xml"/>
+ <suite.member href="importNode06.xml"/>
+ <suite.member href="importNode07.xml"/>
+ <suite.member href="importNode08.xml"/>
+ <suite.member href="importNode09.xml"/>
+ <suite.member href="importNode10.xml"/>
+ <suite.member href="importNode11.xml"/>
+ <suite.member href="importNode12.xml"/>
+ <suite.member href="importNode13.xml"/>
+ <suite.member href="importNode14.xml"/>
+ <suite.member href="importNode15.xml"/>
+ <suite.member href="importNode16.xml"/>
+ <suite.member href="importNode17.xml"/>
+ <suite.member href="internalSubset01.xml"/>
+ <suite.member href="isSupported01.xml"/>
+ <suite.member href="isSupported02.xml"/>
+ <suite.member href="isSupported04.xml"/>
+ <suite.member href="isSupported05.xml"/>
+ <suite.member href="isSupported06.xml"/>
+ <suite.member href="isSupported07.xml"/>
+ <suite.member href="isSupported09.xml"/>
+ <suite.member href="isSupported10.xml"/>
+ <suite.member href="isSupported11.xml"/>
+ <suite.member href="isSupported12.xml"/>
+ <suite.member href="isSupported13.xml"/>
+ <suite.member href="isSupported14.xml"/>
+ <suite.member href="localName01.xml"/>
+ <suite.member href="localName02.xml"/>
+ <suite.member href="localName03.xml"/>
+ <suite.member href="localName04.xml"/>
+ <suite.member href="namednodemapgetnameditemns01.xml"/>
+ <suite.member href="namednodemapgetnameditemns02.xml"/>
+ <suite.member href="namednodemapgetnameditemns03.xml"/>
+ <suite.member href="namednodemapgetnameditemns04.xml"/>
+ <suite.member href="namednodemapgetnameditemns05.xml"/>
+ <suite.member href="namednodemapgetnameditemns06.xml"/>
+ <suite.member href="namednodemapremovenameditemns01.xml"/>
+ <suite.member href="namednodemapremovenameditemns02.xml"/>
+ <suite.member href="namednodemapremovenameditemns03.xml"/>
+ <suite.member href="namednodemapremovenameditemns04.xml"/>
+ <suite.member href="namednodemapremovenameditemns05.xml"/>
+ <suite.member href="namednodemapremovenameditemns06.xml"/>
+ <suite.member href="namednodemapremovenameditemns07.xml"/>
+ <suite.member href="namednodemapremovenameditemns08.xml"/>
+ <suite.member href="namednodemapremovenameditemns09.xml"/>
+ <suite.member href="namednodemapsetnameditemns01.xml"/>
+ <suite.member href="namednodemapsetnameditemns02.xml"/>
+ <suite.member href="namednodemapsetnameditemns03.xml"/>
+ <suite.member href="namednodemapsetnameditemns04.xml"/>
+ <suite.member href="namednodemapsetnameditemns05.xml"/>
+ <suite.member href="namednodemapsetnameditemns06.xml"/>
+ <suite.member href="namednodemapsetnameditemns07.xml"/>
+ <suite.member href="namednodemapsetnameditemns08.xml"/>
+ <suite.member href="namednodemapsetnameditemns09.xml"/>
+ <suite.member href="namednodemapsetnameditemns10.xml"/>
+ <suite.member href="namednodemapsetnameditemns11.xml"/>
+ <suite.member href="namespaceURI01.xml"/>
+ <suite.member href="namespaceURI02.xml"/>
+ <suite.member href="namespaceURI03.xml"/>
+ <suite.member href="namespaceURI04.xml"/>
+ <suite.member href="nodegetlocalname03.xml"/>
+ <suite.member href="nodegetnamespaceuri03.xml"/>
+ <suite.member href="nodegetownerdocument01.xml"/>
+ <suite.member href="nodegetownerdocument02.xml"/>
+ <suite.member href="nodegetprefix03.xml"/>
+ <suite.member href="nodehasattributes01.xml"/>
+ <suite.member href="nodehasattributes02.xml"/>
+ <suite.member href="nodehasattributes03.xml"/>
+ <suite.member href="nodehasattributes04.xml"/>
+ <suite.member href="nodeissupported01.xml"/>
+ <suite.member href="nodeissupported02.xml"/>
+ <suite.member href="nodeissupported03.xml"/>
+ <suite.member href="nodeissupported04.xml"/>
+ <suite.member href="nodeissupported05.xml"/>
+ <suite.member href="nodenormalize01.xml"/>
+ <suite.member href="nodesetprefix01.xml"/>
+ <suite.member href="nodesetprefix02.xml"/>
+ <suite.member href="nodesetprefix03.xml"/>
+ <suite.member href="nodesetprefix04.xml"/>
+ <suite.member href="nodesetprefix05.xml"/>
+ <suite.member href="nodesetprefix06.xml"/>
+ <suite.member href="nodesetprefix07.xml"/>
+ <suite.member href="nodesetprefix08.xml"/>
+ <suite.member href="nodesetprefix09.xml"/>
+ <suite.member href="normalize01.xml"/>
+ <suite.member href="ownerDocument01.xml"/>
+ <suite.member href="ownerElement01.xml"/>
+ <suite.member href="ownerElement02.xml"/>
+ <suite.member href="prefix01.xml"/>
+ <suite.member href="prefix02.xml"/>
+ <suite.member href="prefix03.xml"/>
+ <suite.member href="prefix04.xml"/>
+ <suite.member href="prefix05.xml"/>
+ <suite.member href="prefix06.xml"/>
+ <suite.member href="prefix07.xml"/>
+ <suite.member href="prefix08.xml"/>
+ <suite.member href="prefix09.xml"/>
+ <suite.member href="prefix10.xml"/>
+ <suite.member href="prefix11.xml"/>
+ <suite.member href="publicId01.xml"/>
+ <suite.member href="removeAttributeNS01.xml"/>
+ <suite.member href="removeAttributeNS02.xml"/>
+ <suite.member href="removeNamedItemNS01.xml"/>
+ <suite.member href="removeNamedItemNS02.xml"/>
+ <suite.member href="removeNamedItemNS03.xml"/>
+ <suite.member href="setAttributeNS01.xml"/>
+ <suite.member href="setAttributeNS02.xml"/>
+ <suite.member href="setAttributeNS03.xml"/>
+ <suite.member href="setAttributeNS04.xml"/>
+ <suite.member href="setAttributeNS05.xml"/>
+ <suite.member href="setAttributeNS06.xml"/>
+ <suite.member href="setAttributeNS07.xml"/>
+ <suite.member href="setAttributeNS09.xml"/>
+ <suite.member href="setAttributeNS10.xml"/>
+ <suite.member href="setAttributeNodeNS01.xml"/>
+ <suite.member href="setAttributeNodeNS02.xml"/>
+ <suite.member href="setAttributeNodeNS03.xml"/>
+ <suite.member href="setAttributeNodeNS04.xml"/>
+ <suite.member href="setAttributeNodeNS05.xml"/>
+ <suite.member href="setNamedItemNS01.xml"/>
+ <suite.member href="setNamedItemNS02.xml"/>
+ <suite.member href="setNamedItemNS03.xml"/>
+ <suite.member href="setNamedItemNS04.xml"/>
+ <suite.member href="setNamedItemNS05.xml"/>
+ <suite.member href="systemId01.xml"/>
+</suite>
diff --git a/test/testcases/tests/level2/core/attrgetownerelement01.xml b/test/testcases/tests/level2/core/attrgetownerelement01.xml
new file mode 100644
index 0000000..c589667
--- /dev/null
+++ b/test/testcases/tests/level2/core/attrgetownerelement01.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="attrgetownerelement01">
+<metadata>
+<title>attrgetownerelement01</title>
+<creator>IBM</creator>
+<description>
+ The "getOwnerElement()" will return the Element node this attribute is attached to or
+ null if this attribute is not in use.
+
+ Retreive the default attribute defaultAttr and check its owner element. Verify if the name
+ the nodeName of the returned ownerElement is emp:employee.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Attr-ownerElement"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attr" type="Attr"/>
+<var name="element" type="Element"/>
+<var name="ownerElement" type="Element"/>
+<var name="ownerElementName" type="DOMString"/>
+<var name="elementList" type="NodeList"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS var="elementList" obj="doc" namespaceURI='"http://www.nist.gov"' localName='"employee"' interface="Document"/>
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<getNamedItemNS var="attr" obj="attributes" namespaceURI="nullNS" localName='"defaultAttr"'/>
+<ownerElement var="ownerElement" obj="attr"/>
+<nodeName var="ownerElementName" obj="ownerElement"/>
+<assertEquals actual="ownerElementName" expected='"emp:employee"' id="attrgetownerelement01" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/attrgetownerelement02.xml b/test/testcases/tests/level2/core/attrgetownerelement02.xml
new file mode 100644
index 0000000..90ba894
--- /dev/null
+++ b/test/testcases/tests/level2/core/attrgetownerelement02.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="attrgetownerelement02">
+<metadata>
+<title>attrgetownerelement02</title>
+<creator>IBM</creator>
+<description>
+ The "getOwnerElement()" will return the Element node this attribute
+ is attached to or null if this attribute is not in use.
+
+ Create a new element and attribute node, attach the attribute to the element.
+ Check the value of owner element of the new attribute node
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Attr-ownerElement"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="ownerElement" type="Element"/>
+<var name="ownerElementName" type="DOMString"/>
+<var name="attr" type="Attr"/>
+<var name="newAttr" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<createElement var="element" obj="doc" tagName='"root"'/>
+<createAttributeNS var="attr" obj="doc" namespaceURI='"http://www.w3.org/DOM/L1"' qualifiedName='"L1:att"'/>
+<setAttributeNodeNS var="newAttr" obj="element" newAttr="attr"/>
+<ownerElement var="ownerElement" obj="attr"/>
+<nodeName var="ownerElementName" obj="ownerElement"/>
+<assertEquals actual="ownerElementName" expected='"root"' id="attrgetownerelement02" ignoreCase="true"/>
+</test>
diff --git a/test/testcases/tests/level2/core/attrgetownerelement03.xml b/test/testcases/tests/level2/core/attrgetownerelement03.xml
new file mode 100644
index 0000000..586685f
--- /dev/null
+++ b/test/testcases/tests/level2/core/attrgetownerelement03.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="attrgetownerelement03">
+<metadata>
+<title>attrgetownerelement03</title>
+<creator>IBM</creator>
+<description>
+ The "getOwnerElement()" will return the Element node this attribute
+ is attached to or null if this attribute is not in use.
+
+ Create a new attribute node for this document node. Since the newly attribute is
+ not it use its owner element should be null.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Attr-ownerElement"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="ownerElement" type="Node"/>
+<var name="attr" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<createAttributeNS var="attr" obj="doc" namespaceURI='"http://www.w3.org/DOM"' qualifiedName='"dom:attr"'/>
+<ownerElement var="ownerElement" obj="attr"/>
+<assertNull actual="ownerElement" id="attrgetownerelement03"/>
+</test>
diff --git a/test/testcases/tests/level2/core/attrgetownerelement04.xml b/test/testcases/tests/level2/core/attrgetownerelement04.xml
new file mode 100644
index 0000000..8b69969
--- /dev/null
+++ b/test/testcases/tests/level2/core/attrgetownerelement04.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!-- Copyright (c) 2001-2004 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="attrgetownerelement04">
+<metadata>
+<title>attrgetownerelement04</title>
+<creator>IBM</creator>
+<description>
+ The "getOwnerElement()" will return the Element node this attribute is attached to or
+ null if this attribute is not in use.
+ Import an attribute node to another document. If an Attr node is imported, its
+ ownerElement attribute should be set to null. Verify if the ownerElement has been set
+ to null.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Attr-ownerElement"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docImp" type="Document"/>
+<var name="ownerElement" type="Node"/>
+<var name="element" type="Element"/>
+<var name="attr" type="Attr"/>
+<var name="attrImp" type="Attr"/> <var name="addresses" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<load var="docImp" href="staff" willBeModified="false"/> <getElementsByTagNameNS var="addresses" obj="doc" interface="Document" namespaceURI='"http://www.nist.gov"' localName='"address"'/> <item var="element" obj="addresses" interface="NodeList" index="1"/> <assertNotNull actual="element" id="empAddressNotNull"/>
+<getAttributeNodeNS var="attr" obj="element" namespaceURI='"http://www.nist.gov"' localName='"zone"'/>
+<importNode var="attrImp" obj="docImp" importedNode="attr" deep="true"/>
+<ownerElement var="ownerElement" obj="attrImp"/>
+<assertNull actual="ownerElement" id="attrgetownerelement04"/>
+</test>
diff --git a/test/testcases/tests/level2/core/attrgetownerelement05.xml b/test/testcases/tests/level2/core/attrgetownerelement05.xml
new file mode 100644
index 0000000..c9eed81
--- /dev/null
+++ b/test/testcases/tests/level2/core/attrgetownerelement05.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="attrgetownerelement05">
+<metadata>
+<title>attrgetownerelement05</title>
+<creator>IBM</creator>
+<description>
+ The "getOwnerElement()" will return the Element node this attribute is attached to
+ or null if this attribute is not in use.
+
+ Retreive an element and its attributes. Then remove the element and check the name of
+ the ownerElement of attribute of the attribute "street".
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Attr-ownerElement"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="element" type="Node"/>
+<var name="ownerElement" type="Element"/>
+<var name="parentElement" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<var name="ownerElementName" type="DOMString"/>
+<var name="attr" type="Attr"/>
+<var name="removedChild" type="Node"/>
+<var name="nodeMap" type="NamedNodeMap"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="elementList" obj="doc" namespaceURI='"*"' localName='"address"' interface="Document"/>
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<parentNode interface="Node" var="parentElement" obj="element"/>
+<attributes var="nodeMap" obj="element"/>
+<removeChild var="removedChild" obj="parentElement" oldChild="element"/>
+<getNamedItemNS var="attr" obj="nodeMap" namespaceURI="nullNS" localName='"street"'/>
+<ownerElement var="ownerElement" obj="attr"/>
+<nodeName var="ownerElementName" obj="ownerElement"/>
+<assertEquals actual="ownerElementName" expected='"address"' id="attrgetownerelement05" ignoreCase="false"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/createAttributeNS01.xml b/test/testcases/tests/level2/core/createAttributeNS01.xml
new file mode 100644
index 0000000..d50de36
--- /dev/null
+++ b/test/testcases/tests/level2/core/createAttributeNS01.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createAttributeNS01">
+<metadata>
+<title>createAttributeNS01</title>
+<creator>NIST</creator>
+<description>
+ The "createAttributeNS(namespaceURI,qualifiedName)" method for a
+ Document should raise NAMESPACE_ERR DOMException
+ if qualifiedName is malformed.
+
+ Invoke method createAttributeNS(namespaceURI,qualifiedName) on
+ the XMLNS Document with namespaceURI being "http://www.ecommerce.org/",
+ qualifiedName as "prefix::local". Method should raise
+ NAMESPACE_ERR DOMException.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrAttrNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.ecommerce.org/&quot;"/>
+<var name="malformedName" type="DOMString" value="&quot;prefix::local&quot;"/>
+<var name="doc" type="Document"/>
+<var name="newAttr" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<createAttributeNS obj="doc" var="newAttr" namespaceURI="namespaceURI" qualifiedName="malformedName"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createAttributeNS02.xml b/test/testcases/tests/level2/core/createAttributeNS02.xml
new file mode 100644
index 0000000..3823f0d
--- /dev/null
+++ b/test/testcases/tests/level2/core/createAttributeNS02.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createAttributeNS02">
+<metadata>
+<title>createAttributeNS02</title>
+<creator>NIST</creator>
+<description>
+ The "createAttributeNS(namespaceURI,qualifiedName)" method for a
+ Document should raise NAMESPACE_ERR DOMException
+ if qualifiedName has a prefix and namespaceURI is null.
+
+ Invoke method createAttributeNS(namespaceURI,qualifiedName) on this document
+ with namespaceURI being null and qualifiedName contains the prefix "person".
+ Method should raise NAMESPACE_ERR DOMException.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrAttrNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" isNull="true"/>
+<var name="qualifiedName" type="DOMString" value="&quot;prefix:local&quot;"/>
+<var name="doc" type="Document"/>
+<var name="newAttr" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<createAttributeNS obj="doc" var="newAttr" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createAttributeNS03.xml b/test/testcases/tests/level2/core/createAttributeNS03.xml
new file mode 100644
index 0000000..df424df
--- /dev/null
+++ b/test/testcases/tests/level2/core/createAttributeNS03.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createAttributeNS03">
+<metadata>
+<title>createAttributeNS03</title>
+<creator>NIST</creator>
+<description>
+ The "createAttributeNS(namespaceURI,qualifiedName)" method for a
+ Document should raise INVALID_CHARACTER_ERR DOMException
+ if qualifiedName contains an illegal character.
+
+ Invoke method createAttributeNS(namespaceURI,qualifiedName) on this document
+ with qualifiedName containing an illegal character from illegalChars[].
+ Method should raise INVALID_CHARACTER_ERR DOMException for all
+ characters in illegalChars[].
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrAttrNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.wedding.com/&quot;"/>
+<var name="qualifiedName" type="DOMString"/>
+<var name="doc" type="Document"/>
+<var name="newAttr" type="Attr"/>
+<var name="illegalQNames" type="List">
+<member>"person:{"</member>
+<member>"person:}"</member>
+<member>"person:~"</member>
+<member>"person:'"</member>
+<member>"person:!"</member>
+<member>"person:@"</member>
+<member>"person:#"</member>
+<member>"person:$"</member>
+<member>"person:%"</member>
+<member>"person:^"</member>
+<member>"person:&amp;"</member>
+<member>"person:*"</member>
+<member>"person:("</member>
+<member>"person:)"</member>
+<member>"person:+"</member>
+<member>"person:="</member>
+<member>"person:["</member>
+<member>"person:]"</member>
+<member>"person:\\"</member>
+<member>"person:/"</member>
+<member>"person:;"</member>
+<member>"person:`"</member>
+<member>"person:&lt;"</member>
+<member>"person:&gt;"</member>
+<member>"person:,"</member>
+<member>"person:a "</member>
+<member>"person:\""</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<for-each collection="illegalQNames" member="qualifiedName">
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createAttributeNS obj="doc" var="newAttr" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/createAttributeNS04.xml b/test/testcases/tests/level2/core/createAttributeNS04.xml
new file mode 100644
index 0000000..d14a3ae
--- /dev/null
+++ b/test/testcases/tests/level2/core/createAttributeNS04.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createAttributeNS04">
+<metadata>
+<title>createAttributeNS04</title>
+<creator>NIST</creator>
+<description>
+ The "createAttributeNS(namespaceURI,qualifiedName)" method for a
+ Document should raise NAMESPACE_ERR DOMException
+ if qualifiedName has the "xml" prefix and namespaceURI is different
+ from "http://www.w3.org/XML/1998/namespace".
+
+ Invoke method createAttributeNS(namespaceURI,qualifiedName) on this document
+ with qualifiedName being "xml:attr1 and namespaceURI equals
+ the string "http://www.w3.org/XML/1998/namespaces" (which differs from the required
+ string "http://www.w3.org/XML/1998/namespace").
+ Method should raise NAMESPACE_ERR DOMException.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrAttrNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.w3.org/XML/1998/namespaces&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;xml:attr1&quot;"/>
+<var name="doc" type="Document"/>
+<var name="newAttr" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<createAttributeNS obj="doc" var="newAttr" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createAttributeNS05.xml b/test/testcases/tests/level2/core/createAttributeNS05.xml
new file mode 100644
index 0000000..9713364
--- /dev/null
+++ b/test/testcases/tests/level2/core/createAttributeNS05.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createAttributeNS05">
+<metadata>
+<title>createAttributeNS05</title>
+<creator>NIST</creator>
+<description>
+ The "createAttributeNS(namespaceURI,qualifiedName)" method for a
+ Document should return a new Attr object given that all parameters are
+ valid and correctly formed.
+
+ Invoke method createAttributeNS(namespaceURI,qualifiedName) on this document with
+ parameters equal "http://www.ecommerce.org/" and "ecom:local"
+ respectively. Method should return a new Attr object whose name is "ecom:local".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-1112119403"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.ecommerce.org/&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;econm:local&quot;"/>
+<var name="doc" type="Document"/>
+<var name="newAttr" type="Attr"/>
+<var name="attrName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<createAttributeNS obj="doc" var="newAttr" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<name interface="Attr" obj="newAttr" var="attrName"/>
+<assertEquals actual="attrName" expected="qualifiedName" id="throw_Equals" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/createAttributeNS06.xml b/test/testcases/tests/level2/core/createAttributeNS06.xml
new file mode 100644
index 0000000..133136d
--- /dev/null
+++ b/test/testcases/tests/level2/core/createAttributeNS06.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createAttributeNS06">
+<metadata>
+<title>createAttributeNS06</title>
+<creator>Curt Arnold</creator>
+<description>
+Document.createAttributeNS with an empty qualified name should cause an INVALID_CHARACTER_ERR.
+</description>
+<date qualifier="created">2004-03-09</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrAttrNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=525"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value='"http://www.example.com/"'/>
+<var name="qualifiedName" type="DOMString"/>
+<var name="doc" type="Document"/>
+<var name="newAttr" type="Attr"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createAttributeNS obj="doc" var="newAttr" namespaceURI="namespaceURI" qualifiedName='""'/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createDocument01.xml b/test/testcases/tests/level2/core/createDocument01.xml
new file mode 100644
index 0000000..453a8a8
--- /dev/null
+++ b/test/testcases/tests/level2/core/createDocument01.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createDocument01">
+<metadata>
+<title>createDocument01</title>
+<creator>NIST</creator>
+<description>
+ The "createDocument(namespaceURI,qualifiedName,doctype)" method for a
+ DOMImplementation should raise NAMESPACE_ERR DOMException
+ if parameter qualifiedName is malformed.
+
+ Retrieve the DOMImplementation on the XMLNS Document.
+ Invoke method createDocument(namespaceURI,qualifiedName,doctype)
+ on the retrieved DOMImplementation with namespaceURI being
+ the literal string "http://www.ecommerce.org/", qualifiedName as
+ "prefix::local", and doctype as null. Method should raise
+ NAMESPACE_ERR DOMException.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocument')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.ecommerce.org/&quot;"/>
+<var name="malformedName" type="DOMString" value="&quot;prefix::local&quot;"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="aNewDoc" type="Document"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<createDocument obj="domImpl" var="aNewDoc" namespaceURI="namespaceURI" qualifiedName="malformedName" doctype="docType"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createDocument02.xml b/test/testcases/tests/level2/core/createDocument02.xml
new file mode 100644
index 0000000..983aaec
--- /dev/null
+++ b/test/testcases/tests/level2/core/createDocument02.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createDocument02">
+<metadata>
+<title>createDocument02</title>
+<creator>NIST</creator>
+<description>
+ The "createDocument(namespaceURI,qualifiedName,doctype)" method for a
+ DOMImplementation should raise NAMESPACE_ERR DOMException
+ if qualifiedName has a prefix and namespaceURI is null.
+
+ Invoke method createDocument(namespaceURI,qualifiedName,doctype) on
+ this domimplementation with namespaceURI being null and qualifiedName
+ equals "k:local". Method should raise NAMESPACE_ERR DOMException.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocument')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" isNull="true"/>
+<var name="qualifiedName" type="DOMString" value="&quot;k:local&quot;"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="aNewDoc" type="Document"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<createDocument obj="domImpl" var="aNewDoc" namespaceURI="namespaceURI" qualifiedName="qualifiedName" doctype="docType"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createDocument03.xml b/test/testcases/tests/level2/core/createDocument03.xml
new file mode 100644
index 0000000..d3a42b2
--- /dev/null
+++ b/test/testcases/tests/level2/core/createDocument03.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createDocument03">
+<metadata>
+<title>createDocument03</title>
+<creator>NIST</creator>
+<description>
+ The "createDocument(namespaceURI,qualifiedName,doctype)" method for a
+ DOMImplementation should raise WRONG_DOCUMENT_ERR DOMException
+ if parameter doctype has been used with a different document.
+
+ Invoke method createDocument(namespaceURI,qualifiedName,doctype) on
+ this domimplementation where doctype is the type of this document.
+ Method should raise WRONG_DOCUMENT_ERR DOMException.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocument')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.ecommerce.org/schema&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;namespaceURI:x&quot;"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="aNewDoc" type="Document"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<implementation obj="doc" var="domImpl"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<createDocument obj="domImpl" var="aNewDoc" namespaceURI="namespaceURI" qualifiedName="qualifiedName" doctype="docType"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createDocument04.xml b/test/testcases/tests/level2/core/createDocument04.xml
new file mode 100644
index 0000000..c686b47
--- /dev/null
+++ b/test/testcases/tests/level2/core/createDocument04.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createDocument04">
+<metadata>
+<title>createDocument04</title>
+<creator>NIST</creator>
+<description>
+ The "createDocument(namespaceURI,qualifiedName,doctype)" method for a
+ DOMImplementation should raise WRONG_DOCUMENT_ERR DOMException
+ if parameter doctype was created from a different implementation.
+
+ Invoke method createDocument(namespaceURI,qualifiedName,doctype) on
+ a domimplementation that is different from this domimplementation.
+ Doctype is the type of this document.
+ Method should raise WRONG_DOCUMENT_ERR DOMException.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocument')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.ecommerce.org/schema&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;namespaceURI:x&quot;"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="aNewDoc" type="Document"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<load var="aNewDoc" href="staffNS" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<implementation obj="aNewDoc" var="domImpl"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<createDocument obj="domImpl" var="aNewDoc" namespaceURI="namespaceURI" qualifiedName="qualifiedName" doctype="docType"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createDocument05.xml b/test/testcases/tests/level2/core/createDocument05.xml
new file mode 100644
index 0000000..cbdae7b
--- /dev/null
+++ b/test/testcases/tests/level2/core/createDocument05.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createDocument05">
+<metadata>
+<title>createDocument05</title>
+<creator>NIST</creator>
+<description>
+ The "createDocument(namespaceURI,qualifiedName,doctype)" method for a
+ DOMImplementation should raise INVALID_CHARACTER_ERR DOMException
+ if parameter qualifiedName contains an illegal character.
+
+ Invoke method createDocument(namespaceURI,qualifiedName,doctype) on
+ this domimplementation with namespaceURI equals "http://www.ecommerce.org/schema",
+ doctype is null and qualifiedName contains an illegal character from
+ illegalChars[]. Method should raise INVALID_CHARACTER_ERR DOMException
+ for all characters in illegalChars[].
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.ecommerce.org/schema&quot;"/>
+<var name="qualifiedName" type="DOMString"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="aNewDoc" type="Document"/>
+<var name="charact" type="DOMString"/>
+<var name="illegalQNames" type="List">
+<member>"namespaceURI:{"</member>
+<member>"namespaceURI:}"</member>
+<member>"namespaceURI:~"</member>
+<member>"namespaceURI:'"</member>
+<member>"namespaceURI:!"</member>
+<member>"namespaceURI:@"</member>
+<member>"namespaceURI:#"</member>
+<member>"namespaceURI:$"</member>
+<member>"namespaceURI:%"</member>
+<member>"namespaceURI:^"</member>
+<member>"namespaceURI:&amp;"</member>
+<member>"namespaceURI:*"</member>
+<member>"namespaceURI:("</member>
+<member>"namespaceURI:)"</member>
+<member>"namespaceURI:+"</member>
+<member>"namespaceURI:="</member>
+<member>"namespaceURI:["</member>
+<member>"namespaceURI:]"</member>
+<member>"namespaceURI:\\"</member>
+<member>"namespaceURI:/"</member>
+<member>"namespaceURI:;"</member>
+<member>"namespaceURI:`"</member>
+<member>"namespaceURI:&lt;"</member>
+<member>"namespaceURI:&gt;"</member>
+<member>"namespaceURI:,"</member>
+<member>"namespaceURI:a "</member>
+<member>"namespaceURI:\""</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<for-each collection="illegalQNames" member="qualifiedName">
+<implementation obj="doc" var="domImpl"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createDocument obj="domImpl" var="aNewDoc" namespaceURI="namespaceURI" qualifiedName="qualifiedName" doctype="docType"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/createDocument06.xml b/test/testcases/tests/level2/core/createDocument06.xml
new file mode 100644
index 0000000..30000ee
--- /dev/null
+++ b/test/testcases/tests/level2/core/createDocument06.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createDocument06">
+<metadata>
+<title>createDocument06</title>
+<creator>NIST</creator>
+<description>
+ The "createDocument(namespaceURI,qualifiedName,doctype)" method for a
+ DOMImplementation should raise NAMESPACE_ERR DOMException
+ if qualifiedName has the "xml" prefix and namespaceURI different from
+ "http://www.w3.org/XML/1998/namespace"
+
+ Invoke method createDocument(namespaceURI,qualifiedName,doctype) on
+ this domimplementation with qualifiedName "xml:local"
+ and namespaceURI as the string
+ "http://www.ecommerce.org/schema" (which is different from the required
+ "http://www.w3.org/XML/1998/namespace"). Method should raise
+ NAMESPACE_ERR DOMException.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocument')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://ecommerce.org/schema&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;xml:local&quot;"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="aNewDoc" type="Document"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<createDocument obj="domImpl" var="aNewDoc" namespaceURI="namespaceURI" qualifiedName="qualifiedName" doctype="docType"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createDocument07.xml b/test/testcases/tests/level2/core/createDocument07.xml
new file mode 100644
index 0000000..76b1b69
--- /dev/null
+++ b/test/testcases/tests/level2/core/createDocument07.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createDocument07">
+<metadata>
+<title>createDocument07</title>
+<creator>NIST</creator>
+<description>
+ The "createDocument(namespaceURI,qualifiedName,doctype)" method for a
+ DOMImplementation should return a new xml Document object of the
+ specified type with its document element given that all parameters are
+ valid and correctly formed.
+
+ Invoke method createDocument(namespaceURI,qualifiedName,doctype) on
+ this domimplementation. namespaceURI is "http://www.ecommerce.org/schema"
+ qualifiedName is "y:x" and doctype is null.
+ Method should return a new xml Document as specified by the listed parameters.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.ecommerce.org/schema&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;y:x&quot;"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="aNewDoc" type="Document"/>
+<var name="nodeName" type="DOMString"/>
+<var name="nodeValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<createDocument obj="domImpl" var="aNewDoc" namespaceURI="namespaceURI" qualifiedName="qualifiedName" doctype="docType"/>
+<nodeName var="nodeName" obj="aNewDoc"/>
+<nodeValue var="nodeValue" obj="aNewDoc"/>
+<assertEquals actual="nodeName" expected='"#document"' id="nodeName" ignoreCase="false"/>
+<assertNull actual="nodeValue" id="nodeValue"/>
+</test>
diff --git a/test/testcases/tests/level2/core/createDocument08.xml b/test/testcases/tests/level2/core/createDocument08.xml
new file mode 100644
index 0000000..efe7cd7
--- /dev/null
+++ b/test/testcases/tests/level2/core/createDocument08.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createDocument08">
+<metadata>
+<title>createDocument08</title>
+<creator>Curt Arnold</creator>
+<description>
+DOMImplementation.createDocument with an empty qualified name should cause an INVALID_CHARACTER_ERR.
+</description>
+<date qualifier="created">2004-03-09</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=525"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value='"http://www.example.org/schema"'/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="aNewDoc" type="Document"/>
+<var name="charact" type="DOMString"/>
+<implementation var="domImpl"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createDocument obj="domImpl" var="aNewDoc" namespaceURI="namespaceURI" qualifiedName='""' doctype="docType"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createDocumentType01.xml b/test/testcases/tests/level2/core/createDocumentType01.xml
new file mode 100644
index 0000000..618c975
--- /dev/null
+++ b/test/testcases/tests/level2/core/createDocumentType01.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createDocumentType01">
+<metadata>
+<title>createDocumentType01</title>
+<creator>NIST</creator>
+<description>
+ The "createDocumentType(qualifiedName,publicId,systemId)" method for a
+ DOMImplementation should raise NAMESPACE_ERR DOMException if
+ qualifiedName is malformed.
+
+ Retrieve the DOMImplementation on the XMLNS Document.
+ Invoke method createDocumentType(qualifiedName,publicId,systemId)
+ on the retrieved DOMImplementation with qualifiedName being the literal
+ string "prefix::local", publicId as "STAFF", and systemId as "staff".
+ Method should raise NAMESPACE_ERR DOMException.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocType"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocType')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="publicId" type="DOMString" value="&quot;STAFF&quot;"/>
+<var name="systemId" type="DOMString" value="&quot;staff.xml&quot;"/>
+<var name="malformedName" type="DOMString" value="&quot;prefix::local&quot;"/>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="newType" type="DocumentType"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<createDocumentType obj="domImpl" var="newType" publicId="publicId" qualifiedName="malformedName" systemId="systemId"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createDocumentType02.xml b/test/testcases/tests/level2/core/createDocumentType02.xml
new file mode 100644
index 0000000..a64f1c1
--- /dev/null
+++ b/test/testcases/tests/level2/core/createDocumentType02.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createDocumentType02">
+<metadata>
+<title>createDocumentType02</title>
+<creator>NIST</creator>
+<description>
+ The "createDocumentType(qualifiedName,publicId,systemId)" method for a
+ DOMImplementation should raise INVALID_CHARACTER_ERR DOMException if
+ qualifiedName contains an illegal character.
+
+ Invoke method createDocumentType(qualifiedName,publicId,systemId) on
+ this domimplementation with qualifiedName containing an illegal character
+ from illegalChars[]. Method should raise INVALID_CHARACTER_ERR
+ DOMException for all characters in illegalChars[].
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocType"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocType')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+</metadata>
+<var name="publicId" type="DOMString" value="&quot;http://www.localhost.com/&quot;"/>
+<var name="systemId" type="DOMString" value="&quot;myDoc.dtd&quot;"/>
+<var name="qualifiedName" type="DOMString"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="illegalQNames" type="List">
+<member>"edi:{"</member>
+<member>"edi:}"</member>
+<member>"edi:~"</member>
+<member>"edi:'"</member>
+<member>"edi:!"</member>
+<member>"edi:@"</member>
+<member>"edi:#"</member>
+<member>"edi:$"</member>
+<member>"edi:%"</member>
+<member>"edi:^"</member>
+<member>"edi:&amp;"</member>
+<member>"edi:*"</member>
+<member>"edi:("</member>
+<member>"edi:)"</member>
+<member>"edi:+"</member>
+<member>"edi:="</member>
+<member>"edi:["</member>
+<member>"edi:]"</member>
+<member>"edi:\\"</member>
+<member>"edi:/"</member>
+<member>"edi:;"</member>
+<member>"edi:`"</member>
+<member>"edi:&lt;"</member>
+<member>"edi:&gt;"</member>
+<member>"edi:,"</member>
+<member>"edi:a "</member>
+<member>"edi:\""</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<for-each collection="illegalQNames" member="qualifiedName">
+<implementation obj="doc" var="domImpl"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createDocumentType obj="domImpl" var="docType" qualifiedName="qualifiedName" publicId="publicId" systemId="systemId"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/createDocumentType03.xml b/test/testcases/tests/level2/core/createDocumentType03.xml
new file mode 100644
index 0000000..45f4a81
--- /dev/null
+++ b/test/testcases/tests/level2/core/createDocumentType03.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createDocumentType03">
+<metadata>
+<title>createDocumentType03</title>
+<creator>NIST</creator>
+<description>
+ The "createDocumentType(qualifiedName,publicId,systemId)" method for a
+ DOMImplementation should return a new DocumentType node
+ given that qualifiedName is valid and correctly formed.
+
+ Invoke method createDocumentType(qualifiedName,publicId,systemId) on
+ this domimplementation with qualifiedName "prefix:myDoc".
+ Method should return a new DocumentType node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocType"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://ecommerce.org/schema&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;prefix:myDoc&quot;"/>
+<var name="publicId" type="DOMString" value="&quot;http://www.localhost.com&quot;"/>
+<var name="systemId" type="DOMString" value="&quot;myDoc.dtd&quot;"/>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="newType" type="DocumentType" isNull="true"/>
+<var name="nodeName" type="DOMString"/>
+<var name="nodeValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<createDocumentType obj="domImpl" var="newType" qualifiedName="qualifiedName" publicId="publicId" systemId="systemId"/>
+<nodeName var="nodeName" obj="newType"/>
+<assertEquals actual="nodeName" expected='"prefix:myDoc"' ignoreCase="false" id="nodeName"/>
+<nodeValue var="nodeValue" obj="newType"/>
+<assertNull actual="nodeValue" id="nodeValue"/>
+</test>
diff --git a/test/testcases/tests/level2/core/createDocumentType04.xml b/test/testcases/tests/level2/core/createDocumentType04.xml
new file mode 100644
index 0000000..59f1b98
--- /dev/null
+++ b/test/testcases/tests/level2/core/createDocumentType04.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createDocumentType04">
+<metadata>
+<title>createDocumentType04</title>
+<creator>Curt Arnold</creator>
+<description>
+DOMImplementation.createDocumentType with an empty name should cause an INVALID_CHARACTER_ERR.
+</description>
+<date qualifier="created">2004-03-09</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocType"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocType')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=525"/>
+</metadata>
+<var name="publicId" type="DOMString" value='"http://www.example.com/"'/>
+<var name="systemId" type="DOMString" value='"myDoc.dtd"'/>
+<var name="qualifiedName" type="DOMString"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<implementation var="domImpl"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createDocumentType obj="domImpl" var="docType" qualifiedName='""' publicId="publicId" systemId="systemId"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createElementNS01.xml b/test/testcases/tests/level2/core/createElementNS01.xml
new file mode 100644
index 0000000..624971b
--- /dev/null
+++ b/test/testcases/tests/level2/core/createElementNS01.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createElementNS01">
+<metadata>
+<title>createElementNS01</title>
+<creator>NIST</creator>
+<description>
+ The "createElementNS(namespaceURI,qualifiedName)" method for a
+ Document should raise NAMESPACE_ERR DOMException if
+ qualifiedName is malformed.
+
+ Invoke method createElementNS(namespaceURI,qualifiedName) on
+ the XMLNS Document with namespaceURI being the literal string
+ "http://www.ecommerce.org/", and qualifiedName as "prefix::local".
+ Method should raise NAMESPACE_ERR DOMException.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrElNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrElNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.ecommerce.org/&quot;"/>
+<var name="malformedName" type="DOMString" value="&quot;prefix::local&quot;"/>
+<var name="doc" type="Document"/>
+<var name="newElement" type="Element"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<createElementNS obj="doc" var="newElement" namespaceURI="namespaceURI" qualifiedName="malformedName"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createElementNS02.xml b/test/testcases/tests/level2/core/createElementNS02.xml
new file mode 100644
index 0000000..239d277
--- /dev/null
+++ b/test/testcases/tests/level2/core/createElementNS02.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createElementNS02">
+<metadata>
+<title>createElementNS02</title>
+<creator>NIST</creator>
+<description>
+ The "createElementNS(namespaceURI,qualifiedName)" method for a
+ Document should raise NAMESPACE_ERR DOMException if
+ qualifiedName has a prefix and namespaceURI is null.
+
+ Invoke method createElementNS(namespaceURI,qualifiedName) on this document
+ with namespaceURI being null and qualifiedName being "elem:attr1".
+ Method should raise NAMESPACE_ERR DOMException.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrElNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrElNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" isNull="true"/>
+<var name="qualifiedName" type="DOMString" value="&quot;prefix:local&quot;"/>
+<var name="doc" type="Document"/>
+<var name="newElement" type="Element"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<createElementNS obj="doc" var="newElement" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createElementNS03.xml b/test/testcases/tests/level2/core/createElementNS03.xml
new file mode 100644
index 0000000..dc83604
--- /dev/null
+++ b/test/testcases/tests/level2/core/createElementNS03.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createElementNS03">
+<metadata>
+<title>createElementNS03</title>
+<creator>NIST</creator>
+<description>
+ The "createElementNS(namespaceURI,qualifiedName)" method for a
+ Document should raise INVALID_CHARACTER_ERR DOMException if
+ qualifiedName contains an illegal character.
+
+ Invoke method createElementNS(namespaceURI,qualifiedName) on this document
+ with qualifiedName containing an illegal character from illegalChars[].
+ Method should raise INVALID_CHARACTER_ERR DOMException for all characters
+ in illegalChars[].
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrElNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrElNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.wedding.com/&quot;"/>
+<var name="qualifiedName" type="DOMString"/>
+<var name="doc" type="Document"/>
+<var name="done" type="boolean"/>
+<var name="newElement" type="Element"/>
+<var name="charact" type="DOMString"/>
+<var name="illegalQNames" type="List">
+<member>"person:{"</member>
+<member>"person:}"</member>
+<member>"person:~"</member>
+<member>"person:'"</member>
+<member>"person:!"</member>
+<member>"person:@"</member>
+<member>"person:#"</member>
+<member>"person:$"</member>
+<member>"person:%"</member>
+<member>"person:^"</member>
+<member>"person:&amp;"</member>
+<member>"person:*"</member>
+<member>"person:("</member>
+<member>"person:)"</member>
+<member>"person:+"</member>
+<member>"person:="</member>
+<member>"person:["</member>
+<member>"person:]"</member>
+<member>"person:\\"</member>
+<member>"person:/"</member>
+<member>"person:;"</member>
+<member>"person:`"</member>
+<member>"person:&lt;"</member>
+<member>"person:&gt;"</member>
+<member>"person:,"</member>
+<member>"person:a "</member>
+<member>"person:\""</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<for-each collection="illegalQNames" member="qualifiedName">
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createElementNS obj="doc" var="newElement" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/createElementNS04.xml b/test/testcases/tests/level2/core/createElementNS04.xml
new file mode 100644
index 0000000..9a09210
--- /dev/null
+++ b/test/testcases/tests/level2/core/createElementNS04.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createElementNS04">
+<metadata>
+<title>createElementNS04</title>
+<creator>NIST</creator>
+<description>
+ The "createElementNS(namespaceURI,qualifiedName") method for
+ a Document should raise NAMESPACE_ERR DOMException if the
+ qualifiedName has an "xml" prefix and the namespaceURI is different
+ from http://www.w3.org/XML/1998/namespace".
+
+ Invoke method createElementNS(namespaceURI,qualifiedName) on this document
+ with qualifiedName being "xml:element1" and namespaceURI equals the string
+ "http://www.w3.org/XML/1997/namespace" (which differs from the required
+ string "http://www.w3.org/XML/1998/namespace").
+ Method should raise NAMESPACE_ERR DOMException.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrElNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrElNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.w3.org/XML/1998/namespaces&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;xml:element1&quot;"/>
+<var name="doc" type="Document"/>
+<var name="newElement" type="Element"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<createElementNS obj="doc" var="newElement" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/createElementNS05.xml b/test/testcases/tests/level2/core/createElementNS05.xml
new file mode 100644
index 0000000..75c62fb
--- /dev/null
+++ b/test/testcases/tests/level2/core/createElementNS05.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createElementNS05">
+<metadata>
+<title>createElementNS05</title>
+<creator>NIST</creator>
+<description>
+ The "createElementNS(namespaceURI,qualifiedName)" method for a
+ Document should return a new Element object given that all parameters
+ are valid and correctly formed.
+
+ Invoke method createElementNS(namespaceURI,qualifiedName on this document
+ with namespaceURI as "http://www.nist.gov" and qualifiedName as "gov:faculty".
+ Method should return a new Element object whose name is "gov:faculty".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-104682815"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.nist.gov&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;gov:faculty&quot;"/>
+<var name="doc" type="Document"/>
+<var name="newElement" type="Element"/>
+<var name="elementName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<createElementNS obj="doc" var="newElement" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<tagName obj="newElement" var="elementName"/>
+<assertEquals actual="elementName" expected="qualifiedName" id="throw_Equals" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/createElementNS06.xml b/test/testcases/tests/level2/core/createElementNS06.xml
new file mode 100644
index 0000000..03ad058
--- /dev/null
+++ b/test/testcases/tests/level2/core/createElementNS06.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="createElementNS06">
+<metadata>
+<title>createElementNS06</title>
+<creator>Curt Arnold</creator>
+<description>
+Document.createElementNS with an empty qualified name should cause an INVALID_CHARACTER_ERR.
+</description>
+<date qualifier="created">2004-03-09</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrElNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrElNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=525"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value='"http://www.example.com/"'/>
+<var name="qualifiedName" type="DOMString"/>
+<var name="doc" type="Document"/>
+<var name="done" type="boolean"/>
+<var name="newElement" type="Element"/>
+<var name="charact" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createElementNS obj="doc" var="newElement" namespaceURI="namespaceURI" qualifiedName='""'/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/documentcreateattributeNS01.xml b/test/testcases/tests/level2/core/documentcreateattributeNS01.xml
new file mode 100644
index 0000000..b6c76f9
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentcreateattributeNS01.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentcreateattributeNS01">
+<metadata>
+<title>documentcreateattributeNS01</title>
+<creator>IBM</creator>
+<description>
+ The method createAttributeNS creates an attribute of the given qualified name and namespace URI
+
+ Invoke the createAttributeNS method on this Document object with a null
+ namespaceURI, and a qualifiedName without a prefix. This should return a valid Attr
+ node object.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="attribute" type="Attr"/>
+<var name="namespaceURI" type="DOMString" isNull="true"/>
+<var name="qualifiedName" type="DOMString" value="&quot;test&quot;"/>
+<var name="name" type="DOMString"/>
+<var name="nodeName" type="DOMString"/>
+<var name="nodeValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<createAttributeNS obj="doc" var="attribute" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<nodeName var="nodeName" obj="attribute" />
+<nodeValue var="nodeValue" obj="attribute" />
+<assertEquals actual="nodeName" expected='"test"' id="documentcreateattributeNS01" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/documentcreateattributeNS02.xml b/test/testcases/tests/level2/core/documentcreateattributeNS02.xml
new file mode 100644
index 0000000..dcfa674
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentcreateattributeNS02.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentcreateattributeNS02">
+<metadata>
+<title>documentcreateattributeNS02</title>
+<creator>IBM</creator>
+<description>
+ The method createAttributeNS creates an attribute of the given qualified name and namespace URI
+
+ Invoke the createAttributeNS method on this Document object with a valid values for
+ namespaceURI, and a qualifiedName as below. This should return a valid Attr node.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="attribute1" type="Attr"/>
+<var name="attribute2" type="Attr"/>
+<var name="name" type="DOMString"/>
+<var name="nodeName" type="DOMString"/>
+<var name="nodeValue" type="DOMString"/>
+<var name="prefix" type="DOMString"/>
+<var name="namespaceURI" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<createAttributeNS obj="doc" var="attribute1" namespaceURI='"http://www.w3.org/XML/1998/namespace"' qualifiedName='"xml:xml"'/>
+<name var="name" obj="attribute1" interface="Attr"/>
+<nodeName var="nodeName" obj="attribute1" />
+<nodeValue var="nodeValue" obj="attribute1" />
+<prefix var="prefix" obj="attribute1" />
+<namespaceURI var="namespaceURI" obj="attribute1" />
+<assertEquals actual="name" expected='"xml:xml"' id="documentcreateattributeNS02_att1_name" ignoreCase="false"/>
+<assertEquals actual="nodeName" expected='"xml:xml"' id="documentcreateattributeNS02_att1_nodeName" ignoreCase="false"/>
+<assertEquals actual="nodeValue" expected='""' id="documentcreateattributeNS02_att1_nodeValue" ignoreCase="false"/>
+<assertEquals actual="prefix" expected='"xml"' id="documentcreateattributeNS02_att1_prefix" ignoreCase="false"/>
+<assertEquals actual="namespaceURI" expected='"http://www.w3.org/XML/1998/namespace"' id="documentcreateattributeNS02_att1_namespaceURI" ignoreCase="false"/>
+
+<createAttributeNS obj="doc" var="attribute2" namespaceURI='"http://www.w3.org/2000/xmlns/"' qualifiedName='"xmlns"'/>
+<name var="name" obj="attribute2" interface="Attr"/>
+<nodeName var="nodeName" obj="attribute2" />
+<nodeValue var="nodeValue" obj="attribute2" />
+<prefix var="prefix" obj="attribute2"/>
+<namespaceURI var="namespaceURI" obj="attribute2"/>
+<assertEquals actual="name" expected='"xmlns"' id="documentcreateattributeNS02_att2_name" ignoreCase="false"/>
+<assertEquals actual="nodeName" expected='"xmlns"' id="documentcreateattributeNS02_att2_nodeName" ignoreCase="false"/>
+<assertEquals actual="nodeValue" expected='""' id="documentcreateattributeNS02_att2_nodeValue" ignoreCase="false"/>
+<assertEquals actual="namespaceURI" expected='"http://www.w3.org/2000/xmlns/"' id="documentcreateattributeNS02_att2_namespaceURI" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/documentcreateattributeNS03.xml b/test/testcases/tests/level2/core/documentcreateattributeNS03.xml
new file mode 100644
index 0000000..ec1f785
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentcreateattributeNS03.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentcreateattributeNS03">
+<metadata>
+<title>documentcreateattributeNS03</title>
+<creator>IBM</creator>
+<description>
+ The method createAttributeNS raises an INVALID_CHARACTER_ERR if the specified
+ qualified name contains an illegal character
+
+ Invoke the createAttributeNS method on this Document object with a valid value for
+ namespaceURI, and qualifiedNames that contain illegal characters. Check if the an
+ INVALID_CHARACTER_ERR was thrown.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="attribute" type="Attr"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.w3.org/DOM/Test/Level2&quot;"/>
+<var name="qualifiedName" type="DOMString"/>
+<var name="qualifiedNames" type="List">
+<member>&quot;/&quot;</member>
+<member>&quot;//&quot;</member>
+<member>&quot;\\&quot;</member>
+<member>&quot;;&quot;</member>
+<member>&quot;&amp;&quot;</member>
+<member>&quot;*&quot;</member>
+<member>&quot;]]&quot;</member>
+<member>&quot;>&quot;</member>
+<member>&quot;&lt;&quot;</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<for-each collection="qualifiedNames" member="qualifiedName">
+<assertDOMException id="documentcreateattributeNS03">
+<INVALID_CHARACTER_ERR>
+<createAttributeNS obj="doc" var="attribute" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/documentcreateattributeNS04.xml b/test/testcases/tests/level2/core/documentcreateattributeNS04.xml
new file mode 100644
index 0000000..bb9fcc4
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentcreateattributeNS04.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentcreateattributeNS04">
+<metadata>
+<title>documentcreateattributeNS04</title>
+<creator>IBM</creator>
+<description>
+ The method createAttributeNS raises a NAMESPACE_ERR if the specified qualified name
+ is malformed.
+
+ Invoke the createAttributeNS method on this Document object with a valid value for
+ namespaceURI, and malformed qualifiedNames. Check if the a NAMESPACE_ERR was thrown.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="attribute" type="Attr"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.w3.org/DOM/Test/Level2&quot;"/>
+<var name="qualifiedName" type="DOMString"/>
+<var name="qualifiedNames" type="List">
+<member>&quot;_:&quot;</member>
+<member>&quot;:0a&quot;</member>
+<member>&quot;:&quot;</member>
+<member>&quot;a:b:c&quot;</member>
+<member>&quot;_::a&quot;</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<for-each collection="qualifiedNames" member="qualifiedName">
+<assertDOMException id="documentcreateattributeNS04">
+<NAMESPACE_ERR>
+<createAttributeNS obj="doc" var="attribute" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</for-each>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documentcreateattributeNS05.xml b/test/testcases/tests/level2/core/documentcreateattributeNS05.xml
new file mode 100644
index 0000000..cf4063e
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentcreateattributeNS05.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentcreateattributeNS05">
+<metadata>
+<title>documentcreateattributeNS05</title>
+<creator>IBM</creator>
+<description>
+ The method createAttributeNS raises a NAMESPACE_ERR if the qualifiedName has a prefix and
+ the namespaceURI is null.
+
+ Invoke the createAttributeNS method on a new Document object with a null value for
+ namespaceURI, and a valid qualifiedName. Check if a NAMESPACE_ERR is thrown.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newDoc" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="attribute" type="Attr"/>
+<var name="namespaceURI" type="DOMString" isNull="true"/>
+<var name="qualifiedName" type="DOMString" value='"abc:def"'/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation var="domImpl" obj="doc"/>
+<createDocument var="newDoc" obj="domImpl" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"dom:doc"' doctype="docType"/>
+<assertDOMException id="documentcreateattributeNS05">
+<NAMESPACE_ERR>
+<createAttributeNS obj="newDoc" var="attribute" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</NAMESPACE_ERR>
+</assertDOMException></test>
diff --git a/test/testcases/tests/level2/core/documentcreateattributeNS06.xml b/test/testcases/tests/level2/core/documentcreateattributeNS06.xml
new file mode 100644
index 0000000..6b96e7c
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentcreateattributeNS06.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentcreateattributeNS06">
+<metadata>
+<title>documentcreateattributeNS06</title>
+<creator>IBM</creator>
+<description>
+ The method createAttributeNS raises a NAMESPACE_ERR if the qualifiedName has a prefix that
+ is "xml" and the namespaceURI is different from "http://www.w3.org/XML/1998/namespace".
+
+ Invoke the createAttributeNS method on a new DOMImplementation object with the qualifiedName
+ as xml:root and namespaceURI as http://www.w3.org/XML/1998 /namespace.
+ Check if the NAMESPACE_ERR exception is thrown.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newDoc" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="attribute" type="Attr"/>
+<var name="namespaceURI" type="DOMString" value='"http://www.w3.org/XML/1998 /namespace"'/>
+<var name="qualifiedName" type="DOMString" value='"xml:root"'/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation var="domImpl" obj="doc"/>
+<createDocument var="newDoc" obj="domImpl" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"dom:doc"' doctype="docType"/>
+<assertDOMException id="documentcreateattributeNS06">
+<NAMESPACE_ERR>
+<createAttributeNS obj="newDoc" var="attribute" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</NAMESPACE_ERR>
+</assertDOMException></test>
diff --git a/test/testcases/tests/level2/core/documentcreateattributeNS07.xml b/test/testcases/tests/level2/core/documentcreateattributeNS07.xml
new file mode 100644
index 0000000..a8eaa41
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentcreateattributeNS07.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentcreateattributeNS07">
+<metadata>
+<title>documentcreateattributeNS07</title>
+<creator>IBM</creator>
+<description>
+ The method createAttributeNS raises a NAMESPACE_ERR if the qualifiedName is xmlns and
+ the namespaceURI is different from http://www.w3.org/2000/xmlns
+
+ Invoke the createAttributeNS method on this DOMImplementation object with
+ the qualifiedName as xmlns and namespaceURI as http://www.W3.org/2000/xmlns.
+ Check if the NAMESPACE_ERR exception is thrown.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="attribute" type="Attr"/>
+<var name="namespaceURI" type="DOMString" value='"http://www.W3.org/2000/xmlns"'/>
+<var name="qualifiedName" type="DOMString" value='"xmlns"'/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<assertDOMException id="documentcreateattributeNS07">
+<NAMESPACE_ERR>
+<createAttributeNS obj="doc" var="attribute" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</NAMESPACE_ERR>
+</assertDOMException></test>
diff --git a/test/testcases/tests/level2/core/documentcreateelementNS01.xml b/test/testcases/tests/level2/core/documentcreateelementNS01.xml
new file mode 100644
index 0000000..ad9cb2b
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentcreateelementNS01.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentcreateelementNS01">
+<metadata>
+<title>documentcreateelementNS01</title>
+<creator>IBM</creator>
+<description>
+ The method createElementNS creates an element of the given valid qualifiedName and NamespaceURI.
+
+ Invoke the createElementNS method on this Document object with a valid namespaceURI
+ and qualifiedName. Check if a valid Element object is returned with the same node attributes.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrElNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="namespaceURI" type="DOMString" value='"http://www.w3.org/DOM/Test/level2"'/>
+<var name="qualifiedName" type="DOMString" value='"XML:XML"'/>
+<var name="nodeName" type="DOMString"/>
+<var name="nsURI" type="DOMString"/>
+<var name="localName" type="DOMString"/>
+<var name="prefix" type="DOMString"/>
+<var name="tagName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<createElementNS obj="doc" var="element" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<nodeName var="nodeName" obj="element" />
+<namespaceURI var="nsURI" obj="element" />
+<localName var="localName" obj="element" />
+<prefix var="prefix" obj="element" />
+<tagName var="tagName" obj="element" />
+<assertEquals actual="nodeName" expected='"XML:XML"' id="documentcreateelementNS01_nodeName" ignoreCase="false"/>
+<assertEquals actual="nsURI" expected='"http://www.w3.org/DOM/Test/level2"' id="documentcreateelementNS01_namespaceURI" ignoreCase="false"/>
+<assertEquals actual="localName" expected='"XML"' id="documentcreateelementNS01_localName" ignoreCase="false"/>
+<assertEquals actual="prefix" expected='"XML"' id="documentcreateelementNS01_prefix" ignoreCase="false"/>
+<assertEquals actual="tagName" expected='"XML:XML"' id="documentcreateelementNS01_tagName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/documentcreateelementNS02.xml b/test/testcases/tests/level2/core/documentcreateelementNS02.xml
new file mode 100644
index 0000000..32f14ae
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentcreateelementNS02.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentcreateelementNS02">
+<metadata>
+<title>documentcreateelementNS02</title>
+<creator>IBM</creator>
+<description>
+ The method createElementNS creates an element of the given valid qualifiedName and NamespaceURI.
+
+ Invoke the createElementNS method on this Document object with null values for namespaceURI,
+ and a qualifiedName with an invalid character and check if an INVALID_CHARACTER_ERR is thrown.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrElNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="namespaceURI" type="DOMString" isNull="true"/>
+<var name="qualifiedName" type="DOMString" value='"^^"' />
+<load var="doc" href="staffNS" willBeModified="false"/>
+<assertDOMException id="documentcreateelementNS02">
+<INVALID_CHARACTER_ERR>
+<createElementNS obj="doc" var="element" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/documentcreateelementNS05.xml b/test/testcases/tests/level2/core/documentcreateelementNS05.xml
new file mode 100644
index 0000000..42e43b3
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentcreateelementNS05.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentcreateelementNS05">
+<metadata>
+<title>documentcreateelementNS05</title>
+<creator>IBM</creator>
+<description>
+ The method createElementNS raises a NAMESPACE_ERR if the qualifiedName has a prefix and
+ the namespaceURI is null.
+
+ Invoke the createElementNS method on a new Document object with a null value for
+ namespaceURI, and a valid qualifiedName. Check if a NAMESPACE_ERR is thrown.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrElNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="namespaceURI" type="DOMString" isNull="true"/>
+<var name="qualifiedName" type="DOMString" value='"null:xml"'/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<assertDOMException id="documentcreateelementNS05">
+<NAMESPACE_ERR>
+<createElementNS obj="doc" var="element" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</NAMESPACE_ERR>
+</assertDOMException></test>
diff --git a/test/testcases/tests/level2/core/documentcreateelementNS06.xml b/test/testcases/tests/level2/core/documentcreateelementNS06.xml
new file mode 100644
index 0000000..415bcde
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentcreateelementNS06.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentcreateelementNS06">
+<metadata>
+<title>documentcreateelementNS06</title>
+<creator>IBM</creator>
+<description>
+ The method createElementNS raises a NAMESPACE_ERR if the qualifiedName
+ has a prefix that is "xml" and the namespaceURI is different
+ from http://www.w3.org/XML/1998/namespace
+
+ Invoke the createElementNS method on this DOMImplementation object with
+ the qualifiedName as xml:root and namespaceURI as http://www.w3.org/xml/1998/namespace
+ Check if the NAMESPACE_ERR exception is thrown.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrElNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newDoc" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="element" type="Element"/>
+<var name="namespaceURI" type="DOMString" value='"http://www.w3.org/xml/1998/namespace "'/>
+<var name="qualifiedName" type="DOMString" value='"xml:root"'/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation var="domImpl" obj="doc"/>
+<createDocument var="newDoc" obj="domImpl" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"dom:doc"' doctype="docType"/>
+<assertDOMException id="documentcreateelementNS06">
+<NAMESPACE_ERR>
+<createElementNS obj="newDoc" var="element" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+</NAMESPACE_ERR>
+</assertDOMException></test>
diff --git a/test/testcases/tests/level2/core/documentgetelementbyid01.xml b/test/testcases/tests/level2/core/documentgetelementbyid01.xml
new file mode 100644
index 0000000..3c51695
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentgetelementbyid01.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentgetelementbyid01">
+<metadata>
+<title>documentgetelementbyid01</title>
+<creator>IBM</creator>
+<description>
+ The method getElementById returns the element whose ID is given by elementId.
+ If not such element exists, returns null.
+
+ Invoke the getElementById method on this Document object with an invalid elementId.
+ This should return a null element.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBId"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="elementId" type="DOMString" value='"---"'/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementById var="element" obj="doc" elementId="elementId"/>
+<assertNull actual="element" id="documentgetelementbyid01" />
+</test>
diff --git a/test/testcases/tests/level2/core/documentgetelementsbytagnameNS01.xml b/test/testcases/tests/level2/core/documentgetelementsbytagnameNS01.xml
new file mode 100644
index 0000000..402335c
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentgetelementsbytagnameNS01.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentgetelementsbytagnameNS01">
+<metadata>
+<title>documentgetelementsbytagnameNS01</title>
+<creator>IBM</creator>
+<description>
+ The method getElementsByTagNameNS returns a NodeList of all the Elements with
+ a given local name and namespace URI in the order in which they are encountered
+ in a preorder traversal of the Document tree.
+
+ Invoke the getElementsByTagNameNS method on a new Document object with the values of
+ namespaceURI=* and localName=*. This should return a nodeList of 1 item.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newDoc" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="childList" type="NodeList"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation var="domImpl" obj="doc"/>
+<createDocument var="newDoc" obj="domImpl" namespaceURI="nullNS" qualifiedName='"root"' doctype="docType"/>
+<getElementsByTagNameNS var="childList" obj="newDoc" namespaceURI ='"*"' localName ='"*"' interface="Document"/>
+<assertSize size="1" collection="childList" id="documentgetelementsbytagnameNS01"/>
+</test>
diff --git a/test/testcases/tests/level2/core/documentgetelementsbytagnameNS02.xml b/test/testcases/tests/level2/core/documentgetelementsbytagnameNS02.xml
new file mode 100644
index 0000000..89d8b51
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentgetelementsbytagnameNS02.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentgetelementsbytagnameNS02">
+<metadata>
+<title>documentgetelementsbytagnameNS02</title>
+<creator>IBM</creator>
+<description>
+ The method getElementsByTagNameNS returns a NodeList of all the Elements with
+ a given local name and namespace URI in the order in which they are encountered
+ in a preorder traversal of the Document tree.
+
+
+ Create a new element having a local name="employeeId" belonging to the namespace "test"
+ and append it to this document. Invoke the getElementsByTagNameNS method on a this
+ Document object with the values of namespaceURI=* and localName="elementId". This
+ should return a nodeList of 6 item. Check the length of the nodeList returned.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="element" type="Element"/>
+<var name="childList" type="NodeList"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<documentElement var="docElem" obj="doc"/>
+<createElementNS var="element" obj="doc" namespaceURI='"test"' qualifiedName='"employeeId"'/>
+<appendChild var="appendedChild" obj="docElem" newChild="element"/>
+<getElementsByTagNameNS var="childList" obj="doc" namespaceURI ='"*"' localName ='"employeeId"' interface="Document"/>
+<assertSize size="6" collection="childList" id="documentgetelementsbytagnameNS02"/>
+</test>
diff --git a/test/testcases/tests/level2/core/documentgetelementsbytagnameNS03.xml b/test/testcases/tests/level2/core/documentgetelementsbytagnameNS03.xml
new file mode 100644
index 0000000..bc08125
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentgetelementsbytagnameNS03.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentgetelementsbytagnameNS03">
+<metadata>
+<title>documentgetelementsbytagnameNS03</title>
+<creator>IBM</creator>
+<description>
+ The method getElementsByTagNameNS returns a NodeList of all the Elements with
+ a given local name and namespace URI in the order in which they are encountered
+ in a preorder traversal of the Document tree.
+
+ Invoke the getElementsByTagNameNS method on a new Document object with the values of
+ namespaceURI=** and localName=**. This should return a nodeList of 0 items.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="childList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS var="childList" obj="doc" namespaceURI ='"**"' localName ='"*"' interface="Document"/>
+<assertSize size="0" collection="childList" id="documentgetelementsbytagnameNS03"/>
+</test>
diff --git a/test/testcases/tests/level2/core/documentgetelementsbytagnameNS04.xml b/test/testcases/tests/level2/core/documentgetelementsbytagnameNS04.xml
new file mode 100644
index 0000000..13278e4
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentgetelementsbytagnameNS04.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentgetelementsbytagnameNS04">
+<metadata>
+<title>documentgetelementsbytagnameNS04</title>
+<creator>IBM</creator>
+<description>
+ The method getElementsByTagNameNS returns a NodeList of all the Elements with
+ a given local name and namespace URI in the order in which they are encountered
+ in a preorder traversal of the Document tree.
+
+ Invoke the getElementsByTagNameNS method on a new Document object with the values of
+ namespaceURI="null" and localName="0". This should return a nodeList of 0 items.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="childList" type="NodeList"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS var="childList" obj="doc" namespaceURI ="nullNS" localName ='"0"' interface="Document"/>
+<assertSize size="0" collection="childList" id="documentgetelementsbytagnameNS04"/>
+</test>
diff --git a/test/testcases/tests/level2/core/documentgetelementsbytagnameNS05.xml b/test/testcases/tests/level2/core/documentgetelementsbytagnameNS05.xml
new file mode 100644
index 0000000..c9a4245
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentgetelementsbytagnameNS05.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentgetelementsbytagnameNS05">
+<metadata>
+<title>documentgetelementsbytagnameNS05</title>
+<creator>IBM</creator>
+<description>
+ The method getElementsByTagNameNS returns a NodeList of all the Elements with
+ a given local name and namespace URI in the order in which they are encountered
+ in a preorder traversal of the Document tree.
+
+
+ Invoke the getElementsByTagNameNS method on a this Document object with the
+ values of namespaceURI=null and localName="elementId". This
+ should return a nodeList of 0 item. Check the length of the nodeList returned.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="childList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS var="childList" obj="doc" namespaceURI ='"null"' localName ='"elementId"' interface="Document"/>
+<assertSize size="0" collection="childList" id="documentgetelementsbytagnameNS05"/>
+</test>
diff --git a/test/testcases/tests/level2/core/documentimportnode01.xml b/test/testcases/tests/level2/core/documentimportnode01.xml
new file mode 100644
index 0000000..9678051
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode01.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode01">
+<metadata>
+<title>documentimportnode01</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=true, import the attribute, "street" of the second
+ element node, from a list of nodes whose local names are "address" and namespaceURI
+ "http://www.nist.gov" into the same document. Check the parentNode, nodeName,
+ nodeType and nodeValue of the imported node to verify if it has been imported correctly.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="attr" type="Attr"/>
+<var name="childList" type="NodeList"/>
+<var name="importedAttr" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<var name="nodeValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="childList" obj="doc" localName='"address"' namespaceURI='"http://www.nist.gov"' interface="Document"/>
+<item var="element" obj="childList" index="1" interface="NodeList"/>
+<getAttributeNode var="attr" obj="element" name='"street"'/>
+<importNode var="importedAttr" obj="doc" importedNode="attr" deep="false"/>
+<nodeName var="nodeName" obj="importedAttr"/>
+<nodeValue var="nodeValue" obj="importedAttr"/>
+<nodeType var="nodeType" obj="importedAttr"/>
+<!-- Seems like this causes an xslt problem
+<parentNode var="attrsParent" obj="importedAttr"/>
+<assertNull actual="attrsParent" id="documentimportnode01_parentNull"/>
+-->
+<assertEquals expected='"street"' actual="nodeName" id="documentimportnode01_nodeName" ignoreCase="false"/>
+<assertEquals expected="2" actual="nodeType" id="documentimportnode01_nodeType" ignoreCase="false"/>
+<assertEquals expected='"Yes"' actual="nodeValue" id="documentimportnode01_nodeValue" ignoreCase="false"/>
+</test>
+
diff --git a/test/testcases/tests/level2/core/documentimportnode02.xml b/test/testcases/tests/level2/core/documentimportnode02.xml
new file mode 100644
index 0000000..807f1d4
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode02.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode02">
+<metadata>
+<title>documentimportnode02</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=false, import the attribute, "emp:zone" of the
+ element node which is retreived by its elementId="CANADA", into the another document.
+ Check the parentNode, nodeName, nodeType and nodeValue of the imported node to
+ verify if it has been imported correctly.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docImported" type="Document"/>
+<var name="element" type="Element"/>
+<var name="attr" type="Attr"/>
+<var name="importedAttr" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<var name="nodeValue" type="DOMString"/>
+<var name="addresses" type="NodeList"/>
+<var name="attrsParent" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="docImported" href="staff" willBeModified="true"/>
+<getElementsByTagNameNS var="addresses" obj="doc" interface="Document" namespaceURI='"http://www.nist.gov"' localName='"address"'/>
+<item var="element" obj="addresses" interface="NodeList" index="1"/>
+<getAttributeNodeNS var="attr" obj="element" namespaceURI='"http://www.nist.gov"' localName='"zone"'/>
+<importNode var="importedAttr" obj="docImported" importedNode="attr" deep="false"/>
+<nodeName var="nodeName" obj="importedAttr"/>
+<nodeType var="nodeType" obj="importedAttr"/>
+<nodeValue var="nodeValue" obj="importedAttr"/>
+<parentNode var="attrsParent" obj="importedAttr" interface="Node"/>
+<assertNull actual="attrsParent" id="documentimportnode02_parentNull"/>
+<assertEquals expected='"emp:zone"' actual="nodeName" id="documentimportnode02_nodeName" ignoreCase="false"/>
+<assertEquals expected="2" actual="nodeType" id="documentimportnode02_nodeType" ignoreCase="false"/>
+<assertEquals expected='"CANADA"' actual="nodeValue" id="documentimportnode02_nodeValue" ignoreCase="false"/>
+</test>
+
+
diff --git a/test/testcases/tests/level2/core/documentimportnode03.xml b/test/testcases/tests/level2/core/documentimportnode03.xml
new file mode 100644
index 0000000..6bc2bd1
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode03.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode03">
+<metadata>
+<title>documentimportnode03</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=false, import the default Attribute attribute,
+ "defaultAttr" of the second element node whose namespaceURI="http://www.nist.gov" and
+ localName="defaultAttr", into the same document.
+ Check the parentNode, nodeName, nodeType and nodeValue of the imported node to
+ verify if it has been imported correctly. </description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="attr" type="Attr"/>
+<var name="childList" type="NodeList"/>
+<var name="importedAttr" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<var name="nodeValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="childList" obj="doc" localName='"employee"' namespaceURI='"http://www.nist.gov"' interface="Document"/>
+<item var="element" obj="childList" index="1" interface="NodeList"/>
+<getAttributeNode var="attr" obj="element" name='"defaultAttr"'/>
+<importNode var="importedAttr" obj="doc" importedNode="attr" deep="false"/>
+<nodeName var="nodeName" obj="importedAttr"/>
+<nodeValue var="nodeValue" obj="importedAttr"/>
+<nodeType var="nodeType" obj="importedAttr"/>
+<assertEquals expected='"defaultAttr"' actual="nodeName" id="documentimportnode03_nodeName" ignoreCase="false"/>
+<assertEquals expected="2" actual="nodeType" id="documentimportnode03_nodeType" ignoreCase="false"/>
+<assertEquals expected='"defaultVal"' actual="nodeValue" id="documentimportnode03_nodeValue" ignoreCase="false"/>
+</test>
+
+
diff --git a/test/testcases/tests/level2/core/documentimportnode04.xml b/test/testcases/tests/level2/core/documentimportnode04.xml
new file mode 100644
index 0000000..ade2c9b
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode04.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode04">
+<metadata>
+<title>documentimportnode04</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=true, import the default Attribute attribute,
+ "defaultAttr" of the second element node whose namespaceURI="http://www.nist.gov" and
+ localName="defaultAttr", into a new document.
+ Check the parentNode, nodeName, nodeType and nodeValue of the imported node to
+ verify if it has been imported correctly.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="newDoc" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="element" type="Element"/>
+<var name="attr" type="Attr"/>
+<var name="childList" type="NodeList"/>
+<var name="importedAttr" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<var name="nodeValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<implementation var="domImpl" obj="doc"/>
+<createDocument var="newDoc" obj="domImpl" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"l2:root"' doctype="docType"/>
+<getElementsByTagNameNS var="childList" obj="doc" localName='"employee"' namespaceURI='"http://www.nist.gov"' interface="Document"/>
+<item var="element" obj="childList" index="1" interface="NodeList"/>
+<getAttributeNode var="attr" obj="element" name='"defaultAttr"'/>
+<importNode var="importedAttr" obj="newDoc" importedNode="attr" deep="true"/>
+<nodeName var="nodeName" obj="importedAttr"/>
+<nodeValue var="nodeValue" obj="importedAttr"/>
+<nodeType var="nodeType" obj="importedAttr"/>
+<assertEquals expected='"defaultAttr"' actual="nodeName" id="documentimportnode04_nodeName" ignoreCase="false"/>
+<assertEquals expected="2" actual="nodeType" id="documentimportnode04_nodeType" ignoreCase="false"/>
+<assertEquals expected='"defaultVal"' actual="nodeValue" id="documentimportnode04_nodeValue" ignoreCase="false"/>
+</test>
+
diff --git a/test/testcases/tests/level2/core/documentimportnode05.xml b/test/testcases/tests/level2/core/documentimportnode05.xml
new file mode 100644
index 0000000..8721cf4
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode05.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode05">
+<metadata>
+<title>documentimportnode05</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=false, import a newly created attribute node,
+ into the another document.
+ Check the nodeName, nodeType and nodeValue namespaceURI of the imported node to
+ verify if it has been imported correctly.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docImported" type="Document"/>
+<var name="attr" type="Attr"/>
+<var name="importedAttr" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<var name="nodeValue" type="DOMString"/>
+<var name="namespaceURI" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="docImported" href="staff" willBeModified="true"/>
+<createAttributeNS var="attr" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"a_:b0"' />
+<importNode var="importedAttr" obj="docImported" importedNode="attr" deep="false"/>
+<nodeName var="nodeName" obj="importedAttr"/>
+<nodeValue var="nodeValue" obj="importedAttr"/>
+<nodeType var="nodeType" obj="importedAttr"/>
+<namespaceURI var="namespaceURI" obj="importedAttr"/>
+<assertEquals expected='"a_:b0"' actual="nodeName" id="documentimportnode05_nodeName" ignoreCase="false"/>
+<assertEquals expected="2" actual="nodeType" id="documentimportnode05_nodeType" ignoreCase="false"/>
+<assertEquals expected='""' actual="nodeValue" id="documentimportnode05_nodeValue" ignoreCase="false"/>
+<assertEquals expected='"http://www.w3.org/DOM/Test"' actual="namespaceURI" id="documentimportnode05_namespaceURI" ignoreCase="false"/>
+</test>
+
+
diff --git a/test/testcases/tests/level2/core/documentimportnode06.xml b/test/testcases/tests/level2/core/documentimportnode06.xml
new file mode 100644
index 0000000..e2b185d
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode06.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode06">
+<metadata>
+<title>documentimportnode06</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ A NOT_SUPPORTED_ERR is raised if the type of node being imported is
+ not supported
+
+ Using the method importNode with deep=false, try to import this document object to itself.
+ Since Document nodes cannot be imported, a NOT_SUPPORTED_ERR should be raised.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docImported" type="Document"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<assertDOMException id="throw_NOT_SUPPORTED_ERR">
+<NOT_SUPPORTED_ERR>
+<importNode var="docImported" obj="doc" importedNode="doc" deep="false"/>
+</NOT_SUPPORTED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/documentimportnode07.xml b/test/testcases/tests/level2/core/documentimportnode07.xml
new file mode 100644
index 0000000..87d650e
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode07.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode07">
+<metadata>
+<title>documentimportnode07</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ A NOT_SUPPORTED_ERR is raised if the type of node being imported is
+ not supported
+
+ Using the method importNode with deep=true, try to import this Document's
+ DocumentType object. Since DocumentType nodes cannot be imported, a
+ NOT_SUPPORTED_ERR should be raised.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="imported" type="Node"/>
+<var name="docType" type="DocumentType"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<doctype var="docType" obj="doc"/>
+<assertDOMException id="throw_NOT_SUPPORTED_ERR">
+<NOT_SUPPORTED_ERR>
+<importNode var="imported" obj="doc" importedNode="docType" deep="true"/>
+</NOT_SUPPORTED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/documentimportnode08.xml b/test/testcases/tests/level2/core/documentimportnode08.xml
new file mode 100644
index 0000000..f2787da
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode08.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode08">
+<metadata>
+<title>documentimportnode08</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ A NOT_SUPPORTED_ERR is raised if the type of node being imported is
+ not supported
+
+ Using the method importNode with deep=true, try to import a newly created DOcumentType
+ node. Since DocumentType nodes cannot be imported, a NOT_SUPPORTED_ERR should be raised.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="imported" type="Node"/>
+<var name="docType" type="DocumentType"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<implementation var="domImpl" obj="doc"/>
+<createDocumentType var="docType" obj="domImpl" qualifiedName='"test:root"' publicId="nullNS" systemId="nullNS"/>
+<assertDOMException id="throw_NOT_SUPPORTED_ERR">
+<NOT_SUPPORTED_ERR>
+<importNode var="imported" obj="doc" importedNode="docType" deep="true"/>
+</NOT_SUPPORTED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/documentimportnode09.xml b/test/testcases/tests/level2/core/documentimportnode09.xml
new file mode 100644
index 0000000..1e457c3
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode09.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode09">
+<metadata>
+<title>documentimportnode09</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=false, import a newly created DocumentFragment node
+ with the first address element from this Document appended to it into this document.
+ Since deep=false, an empty DocumentFragment should be returned
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docFragment" type="DocumentFragment"/>
+<var name="childList" type="NodeList"/>
+<var name="success" type="boolean"/>
+<var name="addressNode" type="Node"/>
+<var name="appendedChild" type="Node"/>
+<var name="importedDocFrag" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<createDocumentFragment var="docFragment" obj="doc"/>
+<getElementsByTagNameNS var="childList" obj="doc" localName='"address"' namespaceURI='"*"' interface="Document"/>
+<item var="addressNode" obj="childList" index="0" interface="NodeList"/>
+<appendChild var="appendedChild" obj="docFragment" newChild="addressNode"/>
+<importNode var="importedDocFrag" obj="doc" importedNode="docFragment" deep="false"/>
+<hasChildNodes var="success" obj="importedDocFrag"/>
+<assertFalse actual="success" id="documentimportnode09"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documentimportnode10.xml b/test/testcases/tests/level2/core/documentimportnode10.xml
new file mode 100644
index 0000000..8b66b65
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode10.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode10">
+<metadata>
+<title>documentimportnode10</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=false, import a newly created DocumentFragment node
+ with the first address element from this Document appended to it into this document.
+ Since deep=true, a DocumentFragment with its child should be returned
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docFragment" type="DocumentFragment"/>
+<var name="childList" type="NodeList"/>
+<var name="success" type="boolean"/>
+<var name="addressNode" type="Node"/>
+<var name="appendedChild" type="Node"/>
+<var name="importedDocFrag" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<createDocumentFragment var="docFragment" obj="doc"/>
+<getElementsByTagNameNS var="childList" obj="doc" localName='"address"' namespaceURI='"*"' interface="Document"/>
+<item var="addressNode" obj="childList" index="0" interface="NodeList"/>
+<appendChild var="appendedChild" obj="docFragment" newChild="addressNode"/>
+<importNode var="importedDocFrag" obj="doc" importedNode="docFragment" deep="true"/>
+<hasChildNodes var="success" obj="importedDocFrag"/>
+<assertTrue actual="success" id="documentimportnode10"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documentimportnode11.xml b/test/testcases/tests/level2/core/documentimportnode11.xml
new file mode 100644
index 0000000..0a43bb6
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode11.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode11">
+<metadata>
+<title>documentimportnode11</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=false, import this Document's documentElement
+ node. Verify if the node has been imported correctly by its nodeName atttribute and
+ if the original document is not altered by checking if hasChildNodes returns false.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docElement" type="Element"/>
+<var name="imported" type="Node"/>
+<var name="success" type="boolean"/>
+<var name="nodeNameOrig" type="DOMString"/>
+<var name="nodeNameImported" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<documentElement var="docElement" obj="doc"/>
+<importNode var="imported" obj="doc" importedNode="docElement" deep="false"/>
+<hasChildNodes var="success" obj="imported"/>
+<assertFalse actual="success" id="documentimportnode11"/>
+<nodeName var="nodeNameImported" obj="imported"/>
+<nodeName var="nodeNameOrig" obj="docElement"/>
+<assertEquals actual="nodeNameOrig" expected="nodeNameImported" id="documentimportnode11_NodeName" ignoreCase="false"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documentimportnode12.xml b/test/testcases/tests/level2/core/documentimportnode12.xml
new file mode 100644
index 0000000..b2eea21
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode12.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode12">
+<metadata>
+<title>documentimportnode12</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=true, import the first address element node of this
+ Document. Verify if the node has been imported correctly by checking the length of the
+ this elements childNode list before and after the import.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="childList" type="NodeList"/>
+<var name="imported" type="Node"/>
+<var name="addressElem" type="Node"/>
+<var name="addressElemChildren" type="NodeList"/>
+<var name="importedChildren" type="NodeList"/>
+<var name="addressElemLen" type="int"/>
+<var name="importedLen" type="int"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="childList" obj="doc" namespaceURI='"*"' localName='"address"' interface="Document"/>
+<item var="addressElem" obj="childList" index="0" interface="NodeList"/>
+<importNode var="imported" obj="doc" importedNode="addressElem" deep="true"/>
+<childNodes var="addressElemChildren" obj="addressElem"/>
+<childNodes var="importedChildren" obj="imported"/>
+<length var="addressElemLen" obj="addressElemChildren" interface="NodeList"/>
+<length var="importedLen" obj="importedChildren" interface="NodeList"/>
+<assertEquals actual="addressElemLen" expected="importedLen" id="documentimportnode12" ignoreCase="false"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documentimportnode13.xml b/test/testcases/tests/level2/core/documentimportnode13.xml
new file mode 100644
index 0000000..40ee506
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode13.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode13">
+<metadata>
+<title>documentimportnode13</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=false, import the first employee element node of this
+ Document. Verify if the node has been imported correctly by checking the length of the
+ this elements childNode list before and after the import.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="childList" type="NodeList"/>
+<var name="imported" type="Node"/>
+<var name="importedList" type="NodeList"/>
+<var name="employeeElem" type="Node"/>
+<var name="importedLen" type="int"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="childList" obj="doc" namespaceURI='"*"' localName='"employee"' interface="Document"/>
+<item var="employeeElem" obj="childList" index="0" interface="NodeList"/>
+<importNode var="imported" obj="doc" importedNode="employeeElem" deep="false"/>
+<childNodes var="importedList" obj="imported"/>
+<length var="importedLen" obj="importedList" interface="NodeList"/>
+<assertEquals expected="0" actual="importedLen" id="documentimportnode13" ignoreCase="false"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documentimportnode14.xml b/test/testcases/tests/level2/core/documentimportnode14.xml
new file mode 100644
index 0000000..85f471c
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode14.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode14">
+<metadata>
+<title>documentimportnode14</title>
+<creator>IBM</creator>
+<description>
+ Using the method importNode with deep=true, import the fourth employee element node of this
+ Document. Verify if the node has been imported correctly by checking
+ if the default attribute present on this node has not been imported
+ and an explicit attribute has been imported.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=402"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="newDoc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="nullDocType" type="DocumentType" isNull="true"/>
+<var name="childList" type="NodeList"/>
+<var name="imported" type="Node"/>
+<var name="employeeElem" type="Node"/>
+<var name="attrNode" type="Attr"/>
+<var name="attrValue" type="DOMString"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<!-- willBeModified set to true just to be safe -->
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="childList" obj="doc" namespaceURI='"*"' localName='"employee"' interface="Document"/>
+<item var="employeeElem" obj="childList" index="3" interface="NodeList"/>
+<implementation var="domImpl"/>
+<createDocument var="newDoc" obj="domImpl" namespaceURI="nullNS" qualifiedName='"staff"' doctype="nullDocType"/>
+<importNode var="imported" obj="newDoc" importedNode="employeeElem" deep="true"/>
+<getAttributeNodeNS var="attrNode" obj="imported" namespaceURI="nullNS" localName='"defaultAttr"'/>
+<!-- default attribute should not be copied -->
+<assertNull actual="attrNode" id="defaultAttrNotImported"/>
+<!-- explicit attributes should be copied -->
+<getAttributeNS var="attrValue" obj="imported" namespaceURI='"http://www.w3.org/2000/xmlns/"' localName='"emp"'/>
+<assertEquals actual="attrValue" expected='"http://www.nist.gov"'
+ ignoreCase="false" id="explicitAttrImported"/>
+</test>
diff --git a/test/testcases/tests/level2/core/documentimportnode15.xml b/test/testcases/tests/level2/core/documentimportnode15.xml
new file mode 100644
index 0000000..a32299d
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode15.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode15">
+<metadata>
+<title>documentimportnode15</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=true, import a newly created Text node for this
+ Document. Verify if the node has been imported correctly by checking the value of the
+ imported text node.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docImp" type="Document"/>
+<var name="textImport" type="Node"/>
+<var name="textToImport" type="Node"/>
+<var name="nodeValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="docImp" href="staffNS" willBeModified="true"/>
+<createTextNode var="textToImport" obj="doc" data='"Document.importNode test for a TEXT_NODE"'/>
+<importNode var="textImport" obj="doc" importedNode="textToImport" deep="true"/>
+<nodeValue var="nodeValue" obj="textImport"/>
+<assertEquals expected='"Document.importNode test for a TEXT_NODE"' actual="nodeValue" id="documentimportnode15" ignoreCase="false"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documentimportnode17.xml b/test/testcases/tests/level2/core/documentimportnode17.xml
new file mode 100644
index 0000000..e74611c
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode17.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode17">
+<metadata>
+<title>documentimportnode17</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=true, import a newly created Comment node for this
+ Document. Verify if the node has been imported correctly by checking the value of the
+ imported Comment node.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docImp" type="Document"/>
+<var name="commentImport" type="Node"/>
+<var name="commentToImport" type="Node"/>
+<var name="nodeValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="docImp" href="staffNS" willBeModified="true"/>
+<createComment var="commentToImport" obj="doc" data='"Document.importNode test for a COMMENT_NODE"'/>
+<importNode var="commentImport" obj="doc" importedNode="commentToImport" deep="true"/>
+<nodeValue var="nodeValue" obj="commentImport"/>
+<assertEquals expected='"Document.importNode test for a COMMENT_NODE"' actual="nodeValue" id="documentimportnode17" ignoreCase="false"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documentimportnode18.xml b/test/testcases/tests/level2/core/documentimportnode18.xml
new file mode 100644
index 0000000..3c73bd8
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode18.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode18">
+<metadata>
+<title>documentimportnode18</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=true, import a newly created PI node for this
+ Document. Verify if the node has been imported correctly by checking the PITarget and
+ PIData values of the imported PI node.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docImp" type="Document"/>
+<var name="piImport" type="ProcessingInstruction"/>
+<var name="piToImport" type="ProcessingInstruction"/>
+<var name="piData" type="DOMString"/>
+<var name="piTarget" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="docImp" href="staffNS" willBeModified="true"/>
+<createProcessingInstruction var="piToImport" obj="doc" target='"Target"' data='"Data"'/>
+<importNode var="piImport" obj="doc" importedNode="piToImport" deep="false"/>
+<target var="piTarget" obj="piImport" interface="ProcessingInstruction"/>
+<data var="piData" obj="piImport" interface="ProcessingInstruction"/>
+<assertEquals expected='"Target"' actual="piTarget" id="documentimportnode18_Target" ignoreCase="false"/>
+<assertEquals expected='"Data"' actual="piData" id="documentimportnode18_Data" ignoreCase="false"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documentimportnode19.xml b/test/testcases/tests/level2/core/documentimportnode19.xml
new file mode 100644
index 0000000..0ef04b9
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode19.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode19">
+<metadata>
+<title>documentimportnode19</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=true/false, import a entity nodes ent2 and ent6
+ from this document to a new document object. Verify if the nodes have been
+ imported correctly by checking the nodeNames of the imported nodes and public and system ids.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docTypeNull" type="DocumentType" isNull="true"/>
+<var name="docImp" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="docType" type="DocumentType"/>
+<var name="nodeMap" type="NamedNodeMap"/>
+<var name="entity2" type="Entity"/>
+<var name="entity6" type="Entity"/>
+<var name="entityImp2" type="Entity"/>
+<var name="entityImp6" type="Entity"/>
+<var name="nodeName" type="DOMString"/>
+<var name="systemId" type="DOMString"/>
+<var name="notationName" type="DOMString"/>
+<var name="nodeNameImp" type="DOMString"/>
+<var name="systemIdImp" type="DOMString"/>
+<var name="notationNameImp" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<implementation var="domImpl" obj="doc" />
+<doctype var="docType" obj="doc"/>
+<createDocument var="docImp" obj="domImpl" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"a:b"' doctype="docTypeNull"/>
+<entities var="nodeMap" obj="docType"/>
+<assertNotNull actual="nodeMap" id="entitiesNotNull"/>
+<getNamedItem var="entity2" obj="nodeMap" name='"ent2"'/>
+<getNamedItem var="entity6" obj="nodeMap" name='"ent6"'/>
+<importNode var="entityImp2" obj="docImp" importedNode="entity2" deep="false"/>
+<importNode var="entityImp6" obj="docImp" importedNode="entity6" deep="true"/>
+<nodeName var="nodeName" obj="entity2" />
+<nodeName var="nodeNameImp" obj="entityImp2" />
+<assertEquals expected="nodeName" actual="nodeNameImp" id="documentimportnode19_Ent2NodeName" ignoreCase="false"/>
+<nodeName var="nodeName" obj="entity6" />
+<nodeName var="nodeNameImp" obj="entityImp6" />
+<assertEquals expected="nodeName" actual="nodeNameImp" id="documentimportnode19_Ent6NodeName" ignoreCase="false"/>
+<systemId var="systemId" obj="entity2" interface="Entity"/>
+<systemId var="systemIdImp" obj="entityImp2" interface="Entity"/>
+<assertEquals expected="systemId" actual="systemIdImp" id="documentimportnode19_Ent2SystemId" ignoreCase="false"/>
+<systemId var="systemId" obj="entity6" interface="Entity"/>
+<systemId var="systemIdImp" obj="entityImp6" interface="Entity"/>
+<assertEquals expected="systemId" actual="systemIdImp" id="documentimportnode19_Ent6SystemId" ignoreCase="false"/>
+<notationName var="notationName" obj="entity2" interface="Entity"/>
+<notationName var="notationNameImp" obj="entityImp2" interface="Entity"/>
+<assertEquals expected="notationName" actual="notationNameImp" id="documentimportnode19_Ent2NotationName" ignoreCase="false"/>
+<notationName var="notationName" obj="entity6" interface="Entity"/>
+<notationName var="notationNameImp" obj="entityImp6" interface="Entity"/>
+<assertEquals expected="notationName" actual="notationNameImp" id="documentimportnode19_Ent6NotationName" ignoreCase="false"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documentimportnode20.xml b/test/testcases/tests/level2/core/documentimportnode20.xml
new file mode 100644
index 0000000..ea342cd
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode20.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode20">
+<metadata>
+<title>documentimportnode20</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=true, import a entity node ent4
+ from this document to a new document object. The replacement text of this entity is an element
+ node, a cdata node and a pi. Verify if the nodes have been
+ imported correctly by checking the nodeNames of the imported element node, the data for the
+ cdata nodes and the PItarget and PIData for the pi nodes.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<implementationAttribute name="expandEntityReferences" value="false"/>
+<var name="doc" type="Document"/>
+<var name="docImp" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="docType" type="DocumentType"/>
+<var name="docTypeNull" type="DocumentType" isNull="true"/>
+<var name="nodeMap" type="NamedNodeMap"/>
+<var name="entity4" type="Entity"/>
+<var name="entityImp4" type="Entity"/>
+<var name="element" type="Element"/>
+<var name="cdata" type="CharacterData"/>
+<var name="pi" type="ProcessingInstruction"/>
+<var name="childList" type="NodeList"/>
+<var name="elemchildList" type="NodeList"/>
+<var name="ent4Name" type="DOMString"/>
+<var name="ent4ImpName" type="DOMString"/>
+<var name="cdataVal" type="DOMString"/>
+<var name="piTargetVal" type="DOMString"/>
+<var name="piDataVal" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<implementation var="domImpl" obj="doc" />
+<doctype var="docType" obj="doc"/>
+<createDocument var="docImp" obj="domImpl" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"a:b"' doctype="docTypeNull"/>
+<entities var="nodeMap" obj="docType"/>
+<getNamedItem var="entity4" obj="nodeMap" name='"ent4"'/>
+<importNode var="entityImp4" obj="docImp" importedNode="entity4" deep="true"/>
+<childNodes var="childList" obj="entityImp4" />
+<item var="element" obj="childList" index="0" interface="NodeList"/>
+<childNodes var="elemchildList" obj="element"/>
+<item var="cdata" obj="elemchildList" index="0" interface="NodeList"/>
+<item var="pi" obj="childList" index="1" interface="NodeList"/>
+<nodeName var="ent4Name" obj="entity4"/>
+<nodeName var="ent4ImpName" obj="entityImp4"/>
+<data var="cdataVal" obj="cdata" interface="CharacterData"/>
+<target var="piTargetVal" obj="pi" interface="ProcessingInstruction"/>
+<data var="piDataVal" obj="pi" interface="ProcessingInstruction"/>
+<assertEquals expected="ent4Name" actual="ent4ImpName" id="documentimportnode20_Ent4NodeName" ignoreCase="false"/>
+<assertEquals expected='"Element data"' actual="cdataVal" id="documentimportnode20_Cdata" ignoreCase="false"/>
+<assertEquals expected='"PItarget"' actual="piTargetVal" id="documentimportnode20_PITarget" ignoreCase="false"/>
+<assertEquals expected='"PIdata"' actual="piDataVal" id="documentimportnode20_PIData" ignoreCase="false"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documentimportnode21.xml b/test/testcases/tests/level2/core/documentimportnode21.xml
new file mode 100644
index 0000000..cf5dedb
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode21.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode21">
+<metadata>
+<title>documentimportnode21</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=true, retreive the entity refs present in the
+ second element node whose tagName is address and import these nodes into another document.
+ Verify if the nodes have been imported correctly by checking the nodeNames of the
+ imported nodes, since they are imported into a new document which doesnot have thes defined,
+ the imported nodes should not have any children.
+ Now import the entityRef nodes into the same document and verify if the nodes have been
+ imported correctly by checking the nodeNames of the imported nodes, and by checking the
+ value of the replacement text of the imported nodes.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<implementationAttribute name="expandEntityReferences" value="false"/>
+<var name="doc" type="Document"/>
+<var name="docTypeNull" type="DocumentType" isNull="true"/>
+<var name="docImp" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="addressList" type="NodeList"/>
+<var name="addressChildList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="entRef2" type="EntityReference"/>
+<var name="entRefImp2" type="EntityReference"/>
+<var name="entRef3" type="EntityReference"/>
+<var name="entRefImp3" type="EntityReference"/>
+<var name="nodeName2" type="DOMString"/>
+<var name="nodeName3" type="DOMString"/>
+<var name="nodeNameImp2" type="DOMString"/>
+<var name="nodeNameImp3" type="DOMString"/>
+<var name="nodes" type="NodeList"/>
+<var name="nodeImp3" type="Node"/>
+<var name="nodeImp2" type="Node"/>
+<var name="nodeValueImp2" type="DOMString"/>
+<var name="nodeValueImp3" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<implementation var="domImpl" obj="doc" />
+<createDocument var="docImp" obj="domImpl" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"a:b"' doctype="docTypeNull"/>
+<getElementsByTagName var="addressList" obj="doc" tagname='"address"' interface="Document"/>
+<item var="element" obj="addressList" index="1" interface="NodeList"/>
+<childNodes var="addressChildList" obj="element"/>
+<item var="entRef2" obj="addressChildList" index="0" interface="NodeList"/>
+<item var="entRef3" obj="addressChildList" index="2" interface="NodeList"/>
+<importNode var="entRefImp2" obj="docImp" importedNode="entRef2" deep="true"/>
+<importNode var="entRefImp3" obj="docImp" importedNode="entRef3" deep="false"/>
+<nodeName var="nodeName2" obj="entRef2"/>
+<nodeName var="nodeName3" obj="entRef3"/>
+<nodeName var="nodeNameImp2" obj="entRefImp2"/>
+<nodeName var="nodeNameImp3" obj="entRefImp3"/>
+<assertEquals expected="nodeName2" actual="nodeNameImp2" id="documentimportnode21_Ent2NodeName" ignoreCase="false"/>
+<assertEquals expected="nodeName3" actual="nodeNameImp3" id="documentimportnode21_Ent3NodeName" ignoreCase="false"/>
+<importNode var="entRefImp2" obj="doc" importedNode="entRef2" deep="true"/>
+<importNode var="entRefImp3" obj="doc" importedNode="entRef3" deep="false"/>
+<childNodes var="nodes" obj="entRefImp2" interface="Node"/>
+<item var="nodeImp2" obj="nodes" index="0" interface="NodeList"/>
+<nodeValue var="nodeValueImp2" obj="nodeImp2"/>
+<childNodes var="nodes" obj="entRefImp3" interface="Node"/>
+<item var="nodeImp3" obj="nodes" index="0" interface="NodeList"/>
+<nodeValue var="nodeValueImp3" obj="nodeImp3"/>
+<assertEquals actual="nodeValueImp2" expected='"1900 Dallas Road"' id="documentimportnode21_Ent2NodeValue" ignoreCase="false"/>
+<assertEquals actual="nodeValueImp3" expected='"Texas"' id="documentimportnode21_Ent3Nodevalue" ignoreCase="false"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documentimportnode22.xml b/test/testcases/tests/level2/core/documentimportnode22.xml
new file mode 100644
index 0000000..2164ae0
--- /dev/null
+++ b/test/testcases/tests/level2/core/documentimportnode22.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documentimportnode22">
+<metadata>
+<title>documentimportnode21</title>
+<creator>IBM</creator>
+<description>
+ The importNode method imports a node from another document to this document.
+ The returned node has no parent; (parentNode is null). The source node is not
+ altered or removed from the original document but a new copy of the source node
+ is created.
+
+ Using the method importNode with deep=true/false, import two notaiton nodes into the
+ same and different documnet objects. In each case check if valid public and systemids
+ are returned if any and if none, check if a null value was returned.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docTypeNull" type="DocumentType" isNull="true"/>
+<var name="docImp" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="docType" type="DocumentType"/>
+<var name="nodeMap" type="NamedNodeMap"/>
+<var name="notation1" type="Notation"/>
+<var name="notation2" type="Notation"/>
+<var name="notationImp1" type="Notation"/>
+<var name="notationImp2" type="Notation"/>
+<var name="notationImpNew1" type="Notation"/>
+<var name="notationImpNew2" type="Notation"/>
+<var name="publicId1" type="DOMString"/>
+<var name="publicId1Imp" type="DOMString"/>
+<var name="publicId1NewImp" type="DOMString"/>
+<var name="publicId2Imp" type="DOMString"/>
+<var name="publicId2NewImp" type="DOMString"/>
+<var name="systemId1Imp" type="DOMString"/>
+<var name="systemId1NewImp" type="DOMString"/>
+<var name="systemId2" type="DOMString"/>
+<var name="systemId2Imp" type="DOMString"/>
+<var name="systemId2NewImp" type="DOMString"/>
+
+<load var="doc" href="staffNS" willBeModified="true"/>
+<implementation var="domImpl" obj="doc" />
+<doctype var="docType" obj="doc"/>
+<createDocument var="docImp" obj="domImpl" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"a:b"' doctype="docTypeNull"/>
+<notations var="nodeMap" obj="docType"/>
+<assertNotNull actual="nodeMap" id="notationsNotNull"/>
+<getNamedItem var="notation1" obj="nodeMap" name='"notation1"'/>
+<getNamedItem var="notation2" obj="nodeMap" name='"notation2"'/>
+<importNode var="notationImp1" obj="doc" importedNode="notation1" deep="true"/>
+<importNode var="notationImp2" obj="doc" importedNode="notation2" deep="false"/>
+<importNode var="notationImpNew1" obj="docImp" importedNode="notation1" deep="false"/>
+<importNode var="notationImpNew2" obj="docImp" importedNode="notation2" deep="true"/>
+<publicId var="publicId1" obj="notation1" interface="Notation"/>
+<publicId var="publicId1Imp" obj="notation1" interface="Notation"/>
+<publicId var="publicId1NewImp" obj="notation1" interface="Notation"/>
+<systemId var="systemId1Imp" obj="notation1" interface="Notation"/>
+<systemId var="systemId1NewImp" obj="notation1" interface="Notation"/>
+<publicId var="publicId2Imp" obj="notation2" interface="Notation"/>
+<publicId var="publicId2NewImp" obj="notation2" interface="Notation"/>
+<systemId var="systemId2" obj="notation2" interface="Notation"/>
+<systemId var="systemId2Imp" obj="notation2" interface="Notation"/>
+<systemId var="systemId2NewImp" obj="notation2" interface="Notation"/>
+<assertEquals expected="publicId1" actual="publicId1Imp" id="documentimportnode22_N1PID" ignoreCase="false"/>
+<assertEquals expected="publicId1" actual="publicId1NewImp" id="documentimportnode22_N1NPID" ignoreCase="false"/>
+<assertNull actual="systemId1Imp" id="documentimportnode22_N1SID"/>
+<assertNull actual="systemId1NewImp" id="documentimportnode22_N1NSID" />
+<assertEquals expected="systemId2" actual="systemId2Imp" id="documentimportnode22_N2SID" ignoreCase="false"/>
+<assertEquals expected="systemId2" actual="systemId2NewImp" id="documentimportnode22_N2NSID" ignoreCase="false"/>
+<assertNull actual="publicId2Imp" id="documentimportnode22_N2PID"/>
+<assertNull actual="publicId2Imp" id="documentimportnode22_N2NPID"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/documenttypeinternalSubset01.xml b/test/testcases/tests/level2/core/documenttypeinternalSubset01.xml
new file mode 100644
index 0000000..daf291e
--- /dev/null
+++ b/test/testcases/tests/level2/core/documenttypeinternalSubset01.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documenttypeinternalSubset01">
+<metadata>
+<title>documenttypeinternalSubset01</title>
+<creator>IBM</creator>
+<description>
+ The method getInternalSubset() returns the internal subset as a string.
+
+ Create a new DocumentType node with null values for publicId and systemId.
+ Verify that its internal subset is null.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-Core-DocType-internalSubset"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="internal" type="DOMString"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation var="domImpl" obj="doc"/>
+<createDocumentType var="docType" obj="domImpl" qualifiedName='"l2:root"' publicId="nullNS" systemId="nullNS" />
+<internalSubset var="internal" obj="docType"/>
+<assertNull actual="internal" id="internalSubsetNull"/>
+</test>
diff --git a/test/testcases/tests/level2/core/documenttypepublicid01.xml b/test/testcases/tests/level2/core/documenttypepublicid01.xml
new file mode 100644
index 0000000..0c9e511
--- /dev/null
+++ b/test/testcases/tests/level2/core/documenttypepublicid01.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documenttypepublicid01">
+<metadata>
+<title>documenttypepublicid01</title>
+<creator>IBM</creator>
+<description>
+ The method getInternalSubset() returns the public identifier of the external subset.
+
+ Create a new DocumentType node with the value "PUB" for its publicId.
+ Check the value of the publicId attribute using getPublicId().
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-Core-DocType-publicId"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="publicId" type="DOMString"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation var="domImpl" obj="doc"/>
+<createDocumentType var="docType" obj="domImpl" qualifiedName='"l2:root"' publicId='"PUB"' systemId="nullNS" />
+<publicId var="publicId" obj="docType" interface="DocumentType"/>
+<assertEquals actual="publicId" expected='"PUB"' id="documenttypepublicid01" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/documenttypesystemid01.xml b/test/testcases/tests/level2/core/documenttypesystemid01.xml
new file mode 100644
index 0000000..9cad9d8
--- /dev/null
+++ b/test/testcases/tests/level2/core/documenttypesystemid01.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="documenttypesystemid01">
+<metadata>
+<title>documenttypesystemid01</title>
+<creator>IBM</creator>
+<description>
+ The method getInternalSubset() returns the public identifier of the external subset.
+
+ Create a new DocumentType node with the value "SYS" for its systemId and PUB for
+ its publicId. Check the value of the systemId and pbulicId attributes.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-Core-DocType-systemId"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="publicId" type="DOMString"/>
+<var name="systemId" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation var="domImpl" obj="doc"/>
+<createDocumentType var="docType" obj="domImpl" qualifiedName='"l2:root"' publicId='"PUB"' systemId='"SYS"' />
+<publicId var="publicId" obj="docType" interface="DocumentType"/>
+<systemId var="systemId" obj="docType" interface="DocumentType"/>
+<assertEquals actual="publicId" expected='"PUB"' id="documenttypepublicid01" ignoreCase="false"/>
+<assertEquals actual="systemId" expected='"SYS"' id="documenttypesystemid01" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/domimplementationcreatedocument03.xml b/test/testcases/tests/level2/core/domimplementationcreatedocument03.xml
new file mode 100644
index 0000000..201d71a
--- /dev/null
+++ b/test/testcases/tests/level2/core/domimplementationcreatedocument03.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="domimplementationcreatedocument03">
+<metadata>
+<title>domimplementationcreatedocument03</title>
+<creator>IBM</creator>
+<description>
+ The createDocument method with valid arguments, should create a DOM Document of
+ the specified type.
+
+ Call the createDocument on this DOMImplementation with
+ createDocument ("http://www.w3.org/DOMTest/L2",see the array below for valid QNames,null).
+ Check if the returned Document object is is empty with no Document Element.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-24</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="newDoc" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.w3.org/DOMTest/L2&quot;"/>
+<var name="qualifiedName" type="DOMString"/>
+<var name="qualifiedNames" type="List">
+<member>&quot;_:_&quot;</member>
+<member>&quot;_:h0&quot;</member>
+<member>&quot;_:test&quot;</member>
+<member>&quot;l_:_&quot;</member>
+<member>&quot;ns:_0&quot;</member>
+<member>&quot;ns:a0&quot;</member>
+<member>&quot;ns0:test&quot;</member>
+<member>&quot;a.b:c&quot;</member>
+<member>&quot;a-b:c&quot;</member>
+<member>&quot;a-b:c&quot;</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<for-each collection="qualifiedNames" member="qualifiedName">
+<createDocument obj="domImpl" var="newDoc" namespaceURI="namespaceURI" qualifiedName="qualifiedName" doctype="docType"/>
+<assertNotNull actual="newDoc" id="domimplementationcreatedocument03"/>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/domimplementationcreatedocument04.xml b/test/testcases/tests/level2/core/domimplementationcreatedocument04.xml
new file mode 100644
index 0000000..ee02789
--- /dev/null
+++ b/test/testcases/tests/level2/core/domimplementationcreatedocument04.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="domimplementationcreatedocument04">
+<metadata>
+<title>domimplementationcreatedocument04</title>
+<creator>IBM</creator>
+<description>
+ The createDocument method should throw a NAMESPACE_ERR if the qualifiedName has
+ a prefix and the namespaceURI is null.
+
+ Call the createDocument on this DOMImplementation with null namespaceURI and a
+ qualifiedName that has a namespace prefix using this DOMImplementation.
+ Check if the NAMESPACE_ERR is thrown.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-24</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="newDoc" type="Document"/>
+<var name="namespaceURI" type="DOMString" isNull="true"/>
+<var name="qualifiedName" type="DOMString" value="&quot;dom:root&quot;"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<assertDOMException id="domimplementationcreatedocument04">
+<NAMESPACE_ERR>
+<createDocument obj="domImpl" var="newDoc" namespaceURI="namespaceURI" qualifiedName="qualifiedName" doctype="docType"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/domimplementationcreatedocument05.xml b/test/testcases/tests/level2/core/domimplementationcreatedocument05.xml
new file mode 100644
index 0000000..2be6ad4
--- /dev/null
+++ b/test/testcases/tests/level2/core/domimplementationcreatedocument05.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="domimplementationcreatedocument05">
+<metadata>
+<title>domimplementationcreatedocument05</title>
+<creator>IBM</creator>
+<description>
+ The createDocument method should throw a NAMESPACE_ERR if the qualifiedName has
+ a prefix that is xml and the namespaceURI is different from
+ http://www..w3.org/XML/1998/namespace.
+
+ Call the createDocument on this DOMImplementation with namespaceURI that is
+ http://www.w3.org/xml/1998/namespace and a qualifiedName that has the prefix xml
+ Check if the NAMESPACE_ERR is thrown.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-24</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="newDoc" type="Document"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.w3.org/xml/1998/namespace&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;xml:root&quot;"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<assertDOMException id="domimplementationcreatedocument05">
+<NAMESPACE_ERR>
+<createDocument obj="domImpl" var="newDoc" namespaceURI="namespaceURI" qualifiedName="qualifiedName" doctype="docType"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/domimplementationcreatedocument07.xml b/test/testcases/tests/level2/core/domimplementationcreatedocument07.xml
new file mode 100644
index 0000000..926285a
--- /dev/null
+++ b/test/testcases/tests/level2/core/domimplementationcreatedocument07.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="domimplementationcreatedocument07">
+<metadata>
+<title>domimplementationcreatedocument07</title>
+<creator>IBM</creator>
+<description>
+ The createDocument method should raise a NAMESPACE_ERR if the qualifiedName is malformed
+
+ Invoke the createDocument method on this DOMImplementation object with null values
+ for namespaceURI and docType and a malformed qualifiedName.
+ The NAMESPACE_ERR should be raised.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-24</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="newDoc" type="Document"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.w3.org/DOMTest/level2&quot;"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<assertDOMException id="domimplementationcreatedocument07">
+<NAMESPACE_ERR>
+<createDocument obj="domImpl" var="newDoc" namespaceURI="namespaceURI" qualifiedName='":"' doctype="docType"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/domimplementationcreatedocumenttype01.xml b/test/testcases/tests/level2/core/domimplementationcreatedocumenttype01.xml
new file mode 100644
index 0000000..14a3ce8
--- /dev/null
+++ b/test/testcases/tests/level2/core/domimplementationcreatedocumenttype01.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="domimplementationcreatedocumenttype01">
+<metadata>
+<title>domimplementationcreatedocumenttype01</title>
+<creator>IBM</creator>
+<description>
+ The method createDocumentType with valid values for qualifiedName, publicId and
+ systemId should create an empty DocumentType node.
+
+ Invoke createDocument on this DOMImplementation with a valid qualifiedName and different
+ publicIds and systemIds. Check if the the DocumentType node was created with its
+ ownerDocument attribute set to null.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-24</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocument"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="newDocType" type="DocumentType"/>
+<var name="ownerDocument" type="Document"/>
+<var name="qualifiedName" type="DOMString" value="&quot;test:root&quot;"/>
+<var name="publicId" type="DOMString"/>
+<var name="systemId" type="DOMString"/>
+<var name="publicIds" type="List">
+<member>&quot;1234&quot;</member>
+<member>&quot;test&quot;</member>
+</var>
+<var name="systemIds" type="List">
+<member>&quot;&quot;</member>
+<member>&quot;test&quot;</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<for-each collection="publicIds" member="publicId">
+<for-each collection="systemIds" member="systemId">
+<createDocumentType obj="domImpl" var="newDocType" qualifiedName="qualifiedName" publicId="publicId" systemId="systemId"/>
+<assertNotNull actual="newDocType" id="domimplementationcreatedocumenttype01_newDocType"/>
+<ownerDocument obj="newDocType" var="ownerDocument"/>
+<assertNull actual="ownerDocument" id="domimplementationcreatedocumenttype01_ownerDocument"/>
+</for-each>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/domimplementationcreatedocumenttype02.xml b/test/testcases/tests/level2/core/domimplementationcreatedocumenttype02.xml
new file mode 100644
index 0000000..e534b13
--- /dev/null
+++ b/test/testcases/tests/level2/core/domimplementationcreatedocumenttype02.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="domimplementationcreatedocumenttype02">
+<metadata>
+<title>domimplementationcreatedocumenttype02</title>
+<creator>IBM</creator>
+<description>
+ The method createDocumentType with valid values for qualifiedName, publicId and
+ systemId should create an empty DocumentType node.
+
+ Invoke createDocument on this DOMImplementation with a different valid qualifiedNames
+ and a valid publicId and systemId. Check if the the DocumentType node was created
+ with its ownerDocument attribute set to null.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-24</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocType"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="newDocType" type="DocumentType"/>
+<var name="ownerDocument" type="Document"/>
+<var name="publicId" type="DOMString" value="&quot;http://www.w3.org/DOM/Test/dom2.dtd&quot;"/>
+<var name="systemId" type="DOMString" value="&quot;dom2.dtd&quot;"/>
+<var name="qualifiedName" type="DOMString"/>
+<var name="qualifiedNames" type="List">
+<member>&quot;_:_&quot;</member>
+<member>&quot;_:h0&quot;</member>
+<member>&quot;_:test&quot;</member>
+<member>&quot;_:_.&quot;</member>
+<member>&quot;_:a-&quot;</member>
+<member>&quot;l_:_&quot;</member>
+<member>&quot;ns:_0&quot;</member>
+<member>&quot;ns:a0&quot;</member>
+<member>&quot;ns0:test&quot;</member>
+<member>&quot;ns:EEE.&quot;</member>
+<member>&quot;ns:_-&quot;</member>
+<member>&quot;a.b:c&quot;</member>
+<member>&quot;a-b:c.j&quot;</member>
+<member>&quot;a-b:c&quot;</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<for-each collection="qualifiedNames" member="qualifiedName">
+<createDocumentType obj="domImpl" var="newDocType" qualifiedName="qualifiedName" publicId="publicId" systemId="systemId"/>
+<assertNotNull actual="newDocType" id="domimplementationcreatedocumenttype02_newDocType"/>
+<ownerDocument obj="newDocType" var="ownerDocument"/>
+<assertNull actual="ownerDocument" id="domimplementationcreatedocumenttype02_ownerDocument"/>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/domimplementationcreatedocumenttype04.xml b/test/testcases/tests/level2/core/domimplementationcreatedocumenttype04.xml
new file mode 100644
index 0000000..c65414a
--- /dev/null
+++ b/test/testcases/tests/level2/core/domimplementationcreatedocumenttype04.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="domimplementationcreatedocumenttype04">
+<metadata>
+<title>domimplementationcreatedocumenttype04</title>
+<creator>IBM</creator>
+<description>
+ The method createDocumentType should raise a INVALID_CHARACTER_ERR if the qualifiedName
+ contains an illegal characters.
+
+ Invoke createDocument on this DOMImplementation with qualifiedNames having illegal characters.
+ Check if an INVALID_CHARACTER_ERR is raised in each case.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-24</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocType"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="newDocType" type="DocumentType"/>
+<var name="publicId" type="DOMString" value="&quot;http://www.w3.org/DOM/Test/dom2.dtd&quot;"/>
+<var name="systemId" type="DOMString" value="&quot;dom2.dtd&quot;"/>
+<var name="qualifiedName" type="DOMString"/>
+<var name="qualifiedNames" type="List">
+<member>&quot;{&quot;</member>
+<member>&quot;}&quot;</member>
+<member>&quot;'&quot;</member>
+<member>&quot;~&quot;</member>
+<member>&quot;`&quot;</member>
+<member>&quot;@&quot;</member>
+<member>&quot;#&quot;</member>
+<member>&quot;$&quot;</member>
+<member>&quot;%&quot;</member>
+<member>&quot;^&quot;</member>
+<member>&quot;&amp;&quot;</member>
+<member>&quot;*&quot;</member>
+<member>&quot;(&quot;</member>
+<member>&quot;)&quot;</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<for-each collection="qualifiedNames" member="qualifiedName">
+<assertDOMException id="domimplementationcreatedocumenttype04">
+<INVALID_CHARACTER_ERR>
+<createDocumentType obj="domImpl" var="newDocType" qualifiedName="qualifiedName" publicId="publicId" systemId="systemId"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/domimplementationfeaturecore.xml b/test/testcases/tests/level2/core/domimplementationfeaturecore.xml
new file mode 100644
index 0000000..360ad4f
--- /dev/null
+++ b/test/testcases/tests/level2/core/domimplementationfeaturecore.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="domimplementationfeaturecore">
+ <metadata>
+ <title>domimplementationFeaturecore</title>
+ <creator>NIST</creator>
+ <description>
+ The "feature" parameter in the
+ "hasFeature(feature,version)" method is the package name
+ of the feature. Legal values are XML and HTML and CORE.
+ (Test for feature core, lower case)
+
+ Retrieve the entire DOM document and invoke its
+ "getImplementation()" method. This should create a
+ DOMImplementation object whose "hasFeature(feature,
+ version)" method is invoked with feature equal to "core".
+ The method should return a boolean "true".
+</description>
+ <contributor>Mary Brady</contributor>
+ <date qualifier="created">2001-08-17</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-5CED94D7"/>
+ </metadata>
+ <var name="doc" type="Document"/>
+ <var name="domImpl" type="DOMImplementation"/>
+ <var name="state" type="boolean"/>
+ <load var="doc" href="staff" willBeModified="false"/>
+ <implementation obj="doc" var="domImpl"/>
+ <hasFeature obj="domImpl" var="state" feature='"core"' version='"2.0"'/>
+ <assertTrue actual="state" id="domimplementationFeaturecoreAssert"/>
+</test>
diff --git a/test/testcases/tests/level2/core/domimplementationfeaturexmlversion2.xml b/test/testcases/tests/level2/core/domimplementationfeaturexmlversion2.xml
new file mode 100644
index 0000000..4f817e2
--- /dev/null
+++ b/test/testcases/tests/level2/core/domimplementationfeaturexmlversion2.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="domimplementationfeaturexmlversion2">
+<metadata>
+<title>domimplementationFeaturexmlVersion2</title>
+<creator>NIST</creator>
+<description>
+ The "feature" parameter in the
+ "hasFeature(feature,version)" method is the package name
+ of the feature. Legal values are XML and HTML.
+ (Test for feature "xml" and version "2.0")
+
+ Retrieve the entire DOM document and invoke its
+ "getImplementation()" method. This should create a
+ DOMImplementation object whose "hasFeature(feature,
+ version)" method is invoked with "feature" equal to "xml".
+ The method should return a boolean "true".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-5CED94D7"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<hasFeature obj="domImpl" var="state" feature="&quot;xml&quot;" version="&quot;2.0&quot;"/>
+<assertTrue actual="state" id="domimplementationFeaturexmlVersion2Assert"/>
+</test>
diff --git a/test/testcases/tests/level2/core/domimplementationhasfeature01.xml b/test/testcases/tests/level2/core/domimplementationhasfeature01.xml
new file mode 100644
index 0000000..476c4fc
--- /dev/null
+++ b/test/testcases/tests/level2/core/domimplementationhasfeature01.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="domimplementationhasfeature01">
+<metadata>
+<title>domimplementationhasfeature01</title>
+<creator>IBM</creator>
+<description>
+ The method "hasFeature(feature,version)" tests if the DOMImplementation implements
+ a specific feature and if so returns true.
+
+ Call the hasFeature method on this DOMImplementation with a combination of features
+ versions as below. Valid feature names are case insensitive and versions "2.0",
+ "1.0" and if the version is not specified, supporting any version of the feature
+ should return true. Check if the value returned value was true.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-24</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-5CED94D7"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="version" type="DOMString" value="&quot;&quot;"/>
+<var name="version1" type="DOMString" value="&quot;1.0&quot;"/>
+<var name="version2" type="DOMString" value="&quot;2.0&quot;"/>
+<var name="featureCore" type="DOMString"/>
+<var name="featureXML" type="DOMString"/>
+<var name="success" type="boolean"/>
+<var name="featuresXML" type="List">
+<member>&quot;XML&quot;</member>
+<member>&quot;xmL&quot;</member>
+</var>
+<var name="featuresCore" type="List">
+<member>&quot;Core&quot;</member>
+<member>&quot;CORE&quot;</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<for-each collection="featuresXML" member="featureXML">
+<hasFeature obj="domImpl" var="success" feature="featureXML" version="version"/>
+<assertTrue actual="success" id="domimplementationhasfeature01_XML_1"/>
+<hasFeature obj="domImpl" var="success" feature="featureXML" version="version1"/>
+<assertTrue actual="success" id="domimplementationhasfeature01_XML_2"/>
+</for-each>
+<for-each collection="featuresCore" member="featureCore">
+<hasFeature obj="domImpl" var="success" feature="featureCore" version="version"/>
+<assertTrue actual="success" id="domimplementationhasfeature01_Core_1"/>
+
+<!-- result is indeterminant since Core was not defined in DOM L1 -->
+<hasFeature obj="domImpl" var="success" feature="featureCore" version="version1"/>
+
+<hasFeature obj="domImpl" var="success" feature="featureCore" version="version2"/>
+<assertTrue actual="success" id="domimplementationhasfeature01_Core_3"/>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/domimplementationhasfeature02.xml b/test/testcases/tests/level2/core/domimplementationhasfeature02.xml
new file mode 100644
index 0000000..5ab08a3
--- /dev/null
+++ b/test/testcases/tests/level2/core/domimplementationhasfeature02.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="domimplementationhasfeature02">
+<metadata>
+<title>domimplementationhasfeature02</title>
+<creator>IBM</creator>
+<description>
+ The method "hasFeature(feature,version)" tests if the DOMImplementation implements
+ a specific feature and if not returns false.
+
+ Call the hasFeature method on this DOMImplementation with a unfimiliar values for
+ feature and version. Check if the value returned was false.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-24</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-5CED94D7"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="success" type="boolean"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<hasFeature obj="domImpl" var="success" feature="&quot;Blah Blah&quot;" version="&quot;&quot;"/>
+<assertFalse actual="success" id="domimplementationhasfeature02"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementgetattributenodens01.xml b/test/testcases/tests/level2/core/elementgetattributenodens01.xml
new file mode 100644
index 0000000..8700a69
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementgetattributenodens01.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementgetattributenodens01">
+ <metadata>
+ <title>elementgetattributenodens01</title>
+ <creator>IBM</creator>
+ <description>
+ The method getAttributeNodeNS retrieves an Attr node by local name and namespace URI.
+ Create a new element node and add 2 new attribute nodes to it that have the same
+ local name but different namespaceURIs and prefixes.
+ Retrieve an attribute using namespace and localname and check its value, name and
+ namespaceURI.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAtNodeNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="attribute1" type="Attr"/>
+ <var name="attribute2" type="Attr"/>
+ <var name="newAttribute1" type="Attr"/>
+ <var name="newAttribute2" type="Attr"/>
+ <var name="attribute" type="Attr"/>
+ <var name="attrValue" type="DOMString"/>
+ <var name="attrName" type="DOMString"/>
+ <var name="attNodeName" type="DOMString"/>
+ <var name="attrLocalName" type="DOMString"/>
+ <var name="attrNS" type="DOMString"/>
+ <load var="doc" href="staffNS" willBeModified="false"/>
+ <createElementNS var="element" obj="doc" namespaceURI='"namespaceURI"'
+ qualifiedName='"root"'/>
+ <createAttributeNS var="attribute1" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM/Level2"' qualifiedName='"l2:att"'/>
+ <setAttributeNodeNS var="newAttribute1" obj="element" newAttr="attribute1"/>
+ <createAttributeNS var="attribute2" obj="doc" namespaceURI='"http://www.w3.org/DOM/Level1"'
+ qualifiedName='"att"'/>
+ <setAttributeNodeNS var="newAttribute2" obj="element" newAttr="attribute2"/>
+ <getAttributeNodeNS var="attribute" obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Level2"' localName='"att"'/>
+ <nodeValue var="attrValue" obj="attribute"/>
+ <name var="attrName" obj="attribute" interface="Attr"/>
+ <nodeName var="attNodeName" obj="attribute"/>
+ <localName var="attrLocalName" obj="attribute"/>
+ <namespaceURI var="attrNS" obj="attribute"/>
+ <assertEquals actual="attrValue" expected='""' id="elementgetattributenodens01_attrValue" ignoreCase="false"/>
+ <assertEquals actual="attrName" expected='"l2:att"' id="elementgetattributenodens01_attrName" ignoreCase="false"/>
+ <assertEquals actual="attNodeName" expected='"l2:att"' id="elementgetattributenodens01_attrNodeName" ignoreCase="false"/>
+ <assertEquals actual="attrLocalName" expected='"att"' id="elementgetattributenodens01_attrLocalName" ignoreCase="false"/>
+ <assertEquals actual="attrNS" expected='"http://www.w3.org/DOM/Level2"' id="elementgetattributenodens01_attrNs" ignoreCase="false"/>
+</test>
+
diff --git a/test/testcases/tests/level2/core/elementgetattributenodens02.xml b/test/testcases/tests/level2/core/elementgetattributenodens02.xml
new file mode 100644
index 0000000..a360258
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementgetattributenodens02.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementgetattributenodens02">
+ <metadata>
+ <title>elementgetattributenodens02</title>
+ <creator>IBM</creator>
+ <description>
+ The method getAttributeNodeNS retrieves an Attr node by local name and namespace URI.
+ Create a new element node and add a new attribute node to it. Using the getAttributeNodeNS,
+ retrieve the newly added attribute node and check its value.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAtNodeNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="attribute" type="Attr"/>
+ <var name="newAttribute1" type="Attr"/>
+ <var name="attrValue" type="DOMString"/>
+ <load var="doc" href="staffNS" willBeModified="false"/>
+ <createElementNS var="element" obj="doc" namespaceURI='"namespaceURI"'
+ qualifiedName='"root"'/>
+ <createAttributeNS var="attribute" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM/Level2"' qualifiedName='"l2:att"'/>
+ <setAttributeNodeNS var="newAttribute1" obj="element" newAttr="attribute"/>
+ <getAttributeNodeNS var="attribute" obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Level2"' localName='"att"'/>
+ <nodeValue var="attrValue" obj="attribute"/>
+ <assertEquals actual="attrValue" expected='""' id="elementgetattributenodens02" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementgetattributenodens03.xml b/test/testcases/tests/level2/core/elementgetattributenodens03.xml
new file mode 100644
index 0000000..6e87ae0
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementgetattributenodens03.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementgetattributenodens03">
+ <metadata>
+ <title>elementgetattributenodens03</title>
+ <creator>IBM</creator>
+ <description>
+ The method getAttributeNodeNS retrieves an Attr node by local name and namespace URI.
+ Using the getAttributeNodeNS, retrieve and verify the value of the default
+ attribute node.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAtNodeNS"/>
+ <subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <implementationAttribute name="validating" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="attribute" type="Attr"/>
+ <var name="attrValue" type="DOMString"/>
+ <var name="childList" type="NodeList"/>
+ <var name="nullNS" type="DOMString" isNull="true"/>
+ <load var="doc" href="staffNS" willBeModified="false"/>
+ <getElementsByTagNameNS var="childList" obj="doc" localName='"employee"'
+ namespaceURI='"http://www.nist.gov"' interface="Document"/>
+ <item var="element" obj="childList" index="1" interface="NodeList"/>
+ <getAttributeNodeNS var="attribute" obj="element" localName='"defaultAttr"'
+ namespaceURI="nullNS"/>
+ <nodeValue var="attrValue" obj="attribute"/>
+ <assertEquals actual="attrValue" expected='"defaultVal"' id="elementgetattributenodens03" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementgetattributens02.xml b/test/testcases/tests/level2/core/elementgetattributens02.xml
new file mode 100644
index 0000000..23a00d2
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementgetattributens02.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementgetattributens02">
+ <metadata>
+ <title>elementgetattributens02</title>
+ <creator>IBM</creator>
+ <description>
+ The method getAttributeNS retrieves an attribute value by local name and namespace URI.
+ Using the getAttributeNodeNS, retreive and verify the value of the default
+ attribute node.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAttrNS"/>
+ <subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <implementationAttribute name="validating" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="attrValue" type="DOMString"/>
+ <var name="childList" type="NodeList"/>
+ <var name="nullNS" type="DOMString" isNull="true"/>
+ <load var="doc" href="staffNS" willBeModified="false"/>
+ <getElementsByTagNameNS var="childList" obj="doc" localName='"employee"'
+ namespaceURI='"http://www.nist.gov"' interface="Document"/>
+ <item var="element" obj="childList" index="1" interface="NodeList"/>
+ <getAttributeNS var="attrValue" obj="element" localName='"defaultAttr"' namespaceURI="nullNS"/>
+ <assertEquals actual="attrValue" expected='"defaultVal"' id="elementgetattributens02" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementgetelementsbytagnamens02.xml b/test/testcases/tests/level2/core/elementgetelementsbytagnamens02.xml
new file mode 100644
index 0000000..c070334
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementgetelementsbytagnamens02.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementgetelementsbytagnamens02">
+ <metadata>
+ <title>elementgetelementsbytagnamens02</title>
+ <creator>IBM</creator>
+ <description>
+ The method getElementsByTagNameNS returns a NodeList of all the Elements with a given local
+ name and namespace URI in the order in which they are encountered in a preorder traversal
+ of the Document tree.
+ Invoke getElementsByTagNameNS on the documentElement with values for namespaceURI '*' and
+ localName '*'. Verify if this returns a nodeList of 0 elements.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="elementList" type="NodeList"/>
+ <load var="doc" href="staffNS" willBeModified="false"/>
+ <documentElement var="element" obj="doc"/>
+ <getElementsByTagNameNS var="elementList" obj="element"
+ namespaceURI='"**"' localName='"*"' interface="Element" />
+ <assertSize size="0" collection="elementList" id="elementgetelementsbytagnamens02"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementgetelementsbytagnamens04.xml b/test/testcases/tests/level2/core/elementgetelementsbytagnamens04.xml
new file mode 100644
index 0000000..6e3add6
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementgetelementsbytagnamens04.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementgetelementsbytagnamens04">
+ <metadata>
+ <title>elementgetelementsbytagnamens04</title>
+ <creator>IBM</creator>
+ <description>
+ Returns a NodeList of all the Elements with a given local name and namespace URI in the
+ order in which they are encountered in a preorder traversal of the Document tree.
+ Create a new element node ('root') and append three newly created child nodes (all have
+ local name 'child' and defined in different namespaces).
+ Test 1: invoke getElementsByTagNameNS to retrieve one of the children.
+ Test 2: invoke getElementsByTagNameNS with the value of namespace equals to '*', and
+ verify that the node list has length of 3.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+ <subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="child1" type="Element"/>
+ <var name="child2" type="Element"/>
+ <var name="child3" type="Element"/>
+ <var name="appendedChild" type="Node"/>
+ <var name="elementList" type="NodeList"/>
+ <var name="nullNS" type="DOMString" isNull="true"/>
+ <load var="doc" href="staffNS" willBeModified="false"/>
+ <createElementNS var="element" obj="doc" namespaceURI='"http://www.w3.org/DOM"'
+ qualifiedName='"root"'/>
+ <createElementNS var="child1" obj="doc" namespaceURI='"http://www.w3.org/DOM/Level1"'
+ qualifiedName='"dom:child"'/>
+ <createElementNS var="child2" obj="doc" namespaceURI="nullNS"
+ qualifiedName='"child"'/>
+ <createElementNS var="child3" obj="doc" namespaceURI='"http://www.w3.org/DOM/Level2"'
+ qualifiedName='"dom:child"'/>
+ <appendChild var="appendedChild" obj="element" newChild="child1"/>
+ <appendChild var="appendedChild" obj="element" newChild="child2"/>
+ <appendChild var="appendedChild" obj="element" newChild="child3"/>
+ <getElementsByTagNameNS var="elementList" obj="element" namespaceURI="nullNS"
+ localName='"child"' interface="Element" />
+ <assertSize size="1" collection="elementList" id="elementgetelementsbytagnamens04_1"/>
+ <getElementsByTagNameNS var="elementList" obj="element" namespaceURI='"*"'
+ localName='"child"' interface="Element" />
+ <assertSize size="3" collection="elementList" id="elementgetelementsbytagnamens04_2"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementgetelementsbytagnamens05.xml b/test/testcases/tests/level2/core/elementgetelementsbytagnamens05.xml
new file mode 100644
index 0000000..ff3abc5
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementgetelementsbytagnamens05.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementgetelementsbytagnamens05">
+ <metadata>
+ <title>elementgetelementsbytagnamens05</title>
+ <creator>IBM</creator>
+ <description>
+ Returns a NodeList of all the Elements with a given local name and namespace URI in the
+ order in which they are encountered in a preorder traversal of the Document tree.
+ Invoke getElementsByTagNameNS on the documentElement with the following values:
+ namespaceURI: 'http://www.altavista.com'
+ localName: '*'.
+ Verify if this returns a nodeList of 1 elements.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="elementList" type="NodeList"/>
+ <load var="doc" href="staffNS" willBeModified="false"/>
+ <documentElement var="element" obj="doc"/>
+ <getElementsByTagNameNS var="elementList" obj="element"
+ namespaceURI='"http://www.altavista.com"' localName='"*"' interface="Element" />
+ <assertSize size="1" collection="elementList" id="elementgetelementsbytagnamens05"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementhasattribute01.xml b/test/testcases/tests/level2/core/elementhasattribute01.xml
new file mode 100644
index 0000000..a56ab42
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementhasattribute01.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementhasattribute01">
+ <metadata>
+ <title>elementhasattribute01</title>
+ <creator>IBM</creator>
+ <description>
+ The method hasAttribute returns true when an attribute with a given name is specified
+ on this element or has a default value, false otherwise
+ Invoke the hasAttribute method to check if the documentElement has attributres.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeHasAttrs"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="false"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="state" type="boolean"/>
+ <load var="doc" href="staff" willBeModified="false"/>
+ <documentElement var="element" obj="doc"/>
+ <hasAttribute var="state" obj="element" name='""'/>
+ <assertFalse actual="state" id="elementhasattribute01"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementhasattribute02.xml b/test/testcases/tests/level2/core/elementhasattribute02.xml
new file mode 100644
index 0000000..559458c
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementhasattribute02.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementhasattribute02">
+ <metadata>
+ <title>elementhasattribute02</title>
+ <creator>IBM</creator>
+ <description>
+ The method hasAttribute returns true when an attribute with a given name is specified
+ on this element or has a default value, false otherwise
+ Invoke the hasAttribute method to on an element with default attributes and verify if it
+ returns true.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeHasAttrs"/>
+ </metadata>
+ <implementationAttribute name="validating" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="state" type="boolean"/>
+ <var name="elementList" type="NodeList"/>
+ <load var="doc" href="staffNS" willBeModified="false"/>
+ <getElementsByTagName interface="Document" obj="doc" tagname='"emp:employee"'
+ var="elementList"/>
+ <item var="element" obj="elementList" index="0" interface="NodeList"/>
+ <assertNotNull actual="element" id="empEmployeeNotNull"/>
+ <hasAttribute var="state" obj="element" name='"defaultAttr"'/>
+ <assertTrue actual="state" id="elementhasattribute02"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementhasattribute03.xml b/test/testcases/tests/level2/core/elementhasattribute03.xml
new file mode 100644
index 0000000..c86d2ab
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementhasattribute03.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementhasattribute03">
+ <metadata>
+ <title>elementhasattribute03</title>
+ <creator>IBM</creator>
+ <description>
+ The method hasAttribute returns true when an attribute with a given name is specified
+ on this element or has a default value, false otherwise.
+
+ Create an element Node and an attribute Node. Invoke hasAttribute method
+ to verify that there is no attribute. Append the attribute node to the element node.
+ Invoke the hasAttribute method on the element and verify if it returns true.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeHasAttrs"/>
+ </metadata>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="state" type="boolean"/>
+ <var name="attribute" type="Attr"/>
+ <var name="newAttribute" type="Attr"/>
+ <load var="doc" href="staff" willBeModified="false"/>
+ <createElement var="element" obj="doc" tagName='"address"'/>
+ <createAttribute var="attribute" obj="doc" name='"domestic"'/>
+ <hasAttribute var="state" obj="element" name='"domestic"'/>
+ <assertFalse actual="state" id="elementhasattribute03_False"/>
+ <setAttributeNode var="newAttribute" obj="element" newAttr="attribute"/>
+ <hasAttribute var="state" obj="element" name='"domestic"'/>
+ <assertTrue actual="state" id="elementhasattribute03_True"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementhasattribute04.xml b/test/testcases/tests/level2/core/elementhasattribute04.xml
new file mode 100644
index 0000000..d0dd75d
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementhasattribute04.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementhasattribute04">
+ <metadata>
+ <title>elementhasattribute04</title>
+ <creator>IBM</creator>
+ <description>
+ The method hasAttribute returns true when an attribute with a given name is specified
+ on this element or has a default value, false otherwise.
+
+ Create an element Node and an attribute Node and add the attribute node to the element.
+ Invoke the hasAttribute method on the element and verify if the method returns true.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeHasAttrs"/>
+ </metadata>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="state" type="boolean"/>
+ <var name="attribute" type="Attr"/>
+ <var name="newAttribute" type="Attr"/>
+ <load var="doc" href="staff" willBeModified="false"/>
+ <createElement var="element" obj="doc" tagName='"address"'/>
+ <createAttribute var="attribute" obj="doc" name='"domestic"'/>
+ <setAttributeNode var="newAttribute" obj="element" newAttr="attribute"/>
+ <hasAttribute var="state" obj="element" name='"domestic"'/>
+ <assertTrue actual="state" id="elementhasattribute04"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementhasattributens01.xml b/test/testcases/tests/level2/core/elementhasattributens01.xml
new file mode 100644
index 0000000..14d33f6
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementhasattributens01.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementhasattributens01">
+ <metadata>
+ <title>elementhasattributens01</title>
+ <creator>IBM</creator>
+ <description>
+ The method hasAttributeNS returns true when an attribute with a given local name
+ and namespace
+ URI is specified on this element or has a default value, false otherwise.
+
+ Retreive the first employee element node. Invoke the hasAttributeNS method to check if it
+ has the xmlns attribute that belongs to the namespace http://www.w3.org/2000/xmlns/.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttrNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="state" type="boolean"/>
+ <var name="elementList" type="NodeList"/>
+ <load var="doc" href="staffNS" willBeModified="false"/>
+ <getElementsByTagNameNS var="elementList" obj="doc" namespaceURI='"*"' localName='"employee"' interface="Document"/>
+ <item var="element" obj="elementList" index="0" interface="NodeList"/>
+ <hasAttributeNS var="state" obj="element"
+ namespaceURI='"http://www.w3.org/2000/xmlns/"' localName='"xmlns"'/>
+ <assertTrue actual="state" id="elementhasattributens01"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementhasattributens02.xml b/test/testcases/tests/level2/core/elementhasattributens02.xml
new file mode 100644
index 0000000..e75c142
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementhasattributens02.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementhasattributens02">
+ <metadata>
+ <title>elementhasattributens02</title>
+ <creator>IBM</creator>
+ <description>
+ The method hasAttributeNS returns true when an attribute with a given local
+ name and namespace URI is specified on this element or has a default value,
+ false otherwise.
+
+ Create a new element and attribute node that belong to the same namespace.
+ Add the attribute node to the element node. Check if the newly created element
+ node has an attribute by invoking the hasAttributeNS method with appropriate
+ values for the namespaceURI and localName parameters.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttrNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="state" type="boolean"/>
+ <var name="attribute" type="Attr"/>
+ <var name="newAttribute" type="Attr"/>
+ <load var="doc" href="staff" willBeModified="false"/>
+ <createElementNS var="element" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM"' qualifiedName='"address"'/>
+ <createAttributeNS var="attribute" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM"' qualifiedName='"domestic"'/>
+ <setAttributeNode var="newAttribute" obj="element" newAttr="attribute"/>
+ <hasAttributeNS var="state" obj="element"
+ namespaceURI='"http://www.w3.org/DOM"' localName='"domestic"'/>
+ <assertTrue actual="state" id="hasDomesticAttr"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementhasattributens03.xml b/test/testcases/tests/level2/core/elementhasattributens03.xml
new file mode 100644
index 0000000..4579ae6
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementhasattributens03.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementhasattributens03">
+ <metadata>
+ <title>elementhasattributens03</title>
+ <creator>IBM</creator>
+ <description>
+ The method hasAttributeNS returns true when an attribute with a given local name
+ and namespace URI is specified on this element or has a default value,
+ false otherwise.
+
+ Create a new element and an attribute node that has an empty namespace.
+ Add the attribute node to the element node. Check if the newly created element
+ node has an attribute by invoking the hasAttributeNS method with appropriate
+ values for the namespaceURI and localName parameters.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttrNS"/>
+ <subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="state" type="boolean"/>
+ <var name="attribute" type="Attr"/>
+ <var name="newAttribute" type="Attr"/>
+ <var name="nullNS" type="DOMString" isNull="true"/>
+ <load var="doc" href="staff" willBeModified="false"/>
+ <createElementNS var="element" obj="doc" namespaceURI='"http://www.w3.org/DOM"'
+ qualifiedName='"address"'/>
+ <assertNotNull actual="element" id="createElementNotNull"/>
+ <createAttributeNS var="attribute" obj="doc" namespaceURI='nullNS' qualifiedName='"domestic"'/>
+ <setAttributeNode var="newAttribute" obj="element" newAttr="attribute"/>
+ <hasAttributeNS var="state" obj="element" namespaceURI="nullNS" localName='"domestic"'/>
+ <assertTrue actual="state" id="elementhasattributens03"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementremoveattributens01.xml b/test/testcases/tests/level2/core/elementremoveattributens01.xml
new file mode 100644
index 0000000..ce40dfc
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementremoveattributens01.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementremoveattributens01">
+ <metadata>
+ <title>elementremoveattributens01</title>
+ <creator>IBM</creator>
+ <description>
+ The method removeAttributeNS removes an attribute by local name and namespace URI.
+ Create a new element and add a new attribute node to it.
+ Remove the attribute node using the removeAttributeNodeNS method.
+ Check if the attribute was remove by invoking the hasAttributeNS
+ method on the element and check if it returns false.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElRemAtNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="state" type="boolean"/>
+ <var name="attribute" type="Attr"/>
+ <var name="newAttribute" type="Attr"/>
+ <load var="doc" href="staff" willBeModified="false"/>
+ <createElementNS var="element" obj="doc" namespaceURI='"http://www.w3.org/DOM"'
+ qualifiedName='"elem"'/>
+ <createAttributeNS var="attribute" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM/Test/createAttributeNS"' qualifiedName='"attr"'/>
+ <setAttributeNodeNS var="newAttribute" obj="element" newAttr="attribute"/>
+ <removeAttributeNS obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Test/createAttributeNS"' localName='"attr"'/>
+ <hasAttributeNS var="state" obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Test/createAttributeNS"' localName='"attr"'/>
+ <assertFalse actual="state" id="elementremoveattributens01"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributenodens01.xml b/test/testcases/tests/level2/core/elementsetattributenodens01.xml
new file mode 100644
index 0000000..ef953a4
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributenodens01.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributenodens01">
+ <metadata>
+ <title>elementsetattributenodens01</title>
+ <creator>IBM</creator>
+ <description>
+ Testing Element.setAttributeNodeNS: If an attribute with that local name
+ and that namespace URI is already present in the element, it is replaced
+ by the new one.
+
+ Create a new element and two new attribute nodes (in the same namespace
+ and same localNames).
+ Add the two new attribute nodes to the element node using the
+ setAttributeNodeNS method. Check that only one attribute is added, check
+ the value of this attribute.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAtNodeNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="attribute1" type="Attr"/>
+ <var name="attribute2" type="Attr"/>
+ <var name="attrNode" type="Attr"/>
+ <var name="attrName" type="DOMString"/>
+ <var name="attrNS" type="DOMString"/>
+ <var name="attrValue" type="DOMString"/>
+ <var name="attributes" type="NamedNodeMap"/>
+ <var name="newAttribute" type="Attr"/>
+ <var name="length" type="int"/>
+ <load var="doc" href="staff" willBeModified="true"/>
+ <createElementNS var="element" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM/Test/Level2"'
+ qualifiedName='"new:element"'/>
+ <createAttributeNS var="attribute1" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM/Test/att1"'
+ qualifiedName='"p1:att"'/>
+ <createAttributeNS var="attribute2" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM/Test/att1"'
+ qualifiedName='"p2:att"'/>
+
+ <value obj="attribute2" value='"value2"' interface="Attr"/>
+
+ <setAttributeNodeNS var="newAttribute" obj="element" newAttr="attribute1"/>
+
+ <setAttributeNodeNS var="newAttribute" obj="element" newAttr="attribute2"/>
+ <getAttributeNodeNS var="attrNode" obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Test/att1"'
+ localName='"att"'/>
+
+ <nodeName var="attrName" obj="attrNode"/>
+ <namespaceURI var="attrNS" obj="attrNode"/>
+ <assertEquals actual="attrName" expected='"p2:att"' id="elementsetattributenodens01_attrName" ignoreCase="false"/>
+ <assertEquals actual="attrNS" expected='"http://www.w3.org/DOM/Test/att1"'
+ id="elementsetattributenodens01_attrNS" ignoreCase="false"/>
+
+ <attributes var="attributes" obj="element"/>
+ <length var="length" obj="attributes" interface="NamedNodeMap"/>
+ <assertEquals actual="length" expected="1" id="length" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributenodens02.xml b/test/testcases/tests/level2/core/elementsetattributenodens02.xml
new file mode 100644
index 0000000..d4c9711
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributenodens02.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributenodens02">
+ <metadata>
+ <title>elementsetattributenodens02</title>
+ <creator>IBM</creator>
+ <description>
+ Test the setAttributeNodeNS method.
+ Retreive the street attribute from the second address element node.
+ Clone it and add it to the first address node. The INUSE_ATTRIBUTE_ERR exception
+ should not be thrown. Check the name and value of the newly added node.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAtNodeNS"/>
+ <subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="element2" type="Element"/>
+ <var name="attribute" type="Attr"/>
+ <var name="attributeCloned" type="Attr"/>
+ <var name="newAttr" type="Attr"/>
+ <var name="elementList" type="NodeList"/>
+ <var name="attrName" type="DOMString"/>
+ <var name="attrValue" type="DOMString"/>
+ <var name="nullNS" type="DOMString" isNull="true"/>
+ <load var="doc" href="staffNS" willBeModified="true"/>
+
+ <getElementsByTagNameNS var="elementList" obj="doc"
+ namespaceURI='"http://www.nist.gov"'
+ localName='"address"' interface="Document"/>
+
+ <item var="element" obj="elementList" index="1" interface="NodeList"/>
+
+ <getAttributeNodeNS var="attribute" obj="element"
+ namespaceURI="nullNS" localName='"street"'/>
+
+ <cloneNode var="attributeCloned" obj="attribute" deep="true"/>
+
+ <item var="element2" obj="elementList" index="2" interface="NodeList"/>
+ <setAttributeNodeNS var="newAttr" obj="element2" newAttr="attributeCloned"/>
+ <nodeName var="attrName" obj="newAttr"/>
+ <nodeValue var="attrValue" obj="newAttr"/>
+ <assertEquals actual="attrName" expected='"street"' id="elementsetattributenodens02_attrName" ignoreCase="false"/>
+ <assertEquals actual="attrValue" expected='"Yes"' id="elementsetattributenodens02_attrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributenodens03.xml b/test/testcases/tests/level2/core/elementsetattributenodens03.xml
new file mode 100644
index 0000000..a3fe92d
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributenodens03.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributenodens03">
+ <metadata>
+ <title>elementsetattributenodens03</title>
+ <creator>IBM</creator>
+ <description>
+ The method setAttributeNodeNS adds a new attribute and raises the
+ INUSE_ATTRIBUTE_ERR exception if the newAttr is already an attribute of
+ another Element object.
+
+ Retreive an attribute node of an existing element node. Attempt to add it to an another
+ element node. Check if the INUSE_ATTRIBUTE_ERR exception is thrown.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAtNodeNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element1" type="Element"/>
+ <var name="element2" type="Element"/>
+ <var name="attribute" type="Attr"/>
+ <var name="newAttribute" type="Attr"/>
+ <var name="elementList" type="NodeList"/>
+ <var name="nullNS" type="DOMString" isNull="true"/>
+ <load var="doc" href="staffNS" willBeModified="true"/>
+ <getElementsByTagNameNS var="elementList" obj="doc"
+ namespaceURI='"http://www.nist.gov"'
+ localName='"address"' interface="Document"/>
+ <item var="element1" obj="elementList" index="1" interface="NodeList"/>
+ <getAttributeNodeNS var="attribute" obj="element1"
+ namespaceURI="nullNS" localName='"street"'/>
+
+ <item var="element2" obj="elementList" index="2" interface="NodeList"/>
+ <assertDOMException id="elementsetattributenodens03">
+ <INUSE_ATTRIBUTE_ERR>
+ <setAttributeNodeNS var="newAttribute" obj="element2" newAttr="attribute"/>
+ </INUSE_ATTRIBUTE_ERR>
+ </assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributenodens04.xml b/test/testcases/tests/level2/core/elementsetattributenodens04.xml
new file mode 100644
index 0000000..43fafe6
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributenodens04.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributenodens04">
+ <metadata>
+ <title>elementsetattributenodens04</title>
+ <creator>IBM</creator>
+ <description>
+ The method setAttributeNodeNS Adds a new attribute and raises an INUSE_ATTRIBUTE_ERR
+ if newAttr is already an attribute of another Element object.
+
+ Create two new element nodes and a new attribute node. Attempt to add the same attribute
+ node to the same two element nodes.
+ Check if an INUSE_ATTRIBUTE_ERR is thrown.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAtNodeNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element1" type="Element"/>
+ <var name="element2" type="Element"/>
+ <var name="attribute" type="Attr"/>
+ <var name="newAttribute" type="Attr"/>
+ <load var="doc" href="staffNS" willBeModified="true"/>
+ <createElementNS var="element1" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"elem1"'/>
+ <createElementNS var="element2" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"elem2"'/>
+ <createAttributeNS var="attribute" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"attr"'/>
+ <setAttributeNodeNS var="newAttribute" obj="element1" newAttr="attribute"/>
+ <assertDOMException id="elementsetattributenodens04">
+ <INUSE_ATTRIBUTE_ERR>
+ <setAttributeNodeNS var="newAttribute" obj="element2" newAttr="attribute"/>
+ </INUSE_ATTRIBUTE_ERR>
+ </assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributenodens05.xml b/test/testcases/tests/level2/core/elementsetattributenodens05.xml
new file mode 100644
index 0000000..7ab0f7a
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributenodens05.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributenodens05">
+ <metadata>
+ <title>elementsetattributenodens05</title>
+ <creator>IBM</creator>
+ <description>
+ The method setAttributeNodeNS Adds a new attribute and raises
+ an WRONG_DOCUMENT_ERR if newAttr was created from a different document
+ than the one that created the element.
+ Create new element and attribute nodes in different documents.
+ Attempt to add the attribute node to the element node.
+ Check if an WRONG_DOCUMENT_ERR is thrown.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAtNodeNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="docAlt" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="attribute" type="Attr"/>
+ <var name="newAttribute" type="Attr"/>
+ <load var="doc" href="staffNS" willBeModified="true"/>
+ <load var="docAlt" href="staffNS" willBeModified="true"/>
+ <createElementNS var="element" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM/Test"'
+ qualifiedName='"elem1"'/>
+ <createAttributeNS var="attribute" obj="docAlt"
+ namespaceURI='"http://www.w3.org/DOM/Test"'
+ qualifiedName='"attr"'/>
+ <assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+ <WRONG_DOCUMENT_ERR>
+ <setAttributeNodeNS var="newAttribute" obj="element" newAttr="attribute"/>
+ </WRONG_DOCUMENT_ERR>
+ </assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributenodens06.xml b/test/testcases/tests/level2/core/elementsetattributenodens06.xml
new file mode 100644
index 0000000..186fcf2
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributenodens06.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributenodens06">
+<metadata>
+<title>elementsetattributenodens06</title>
+<creator>IBM</creator>
+<description>
+ The method setAttributeNodeNS Adds a new attribute and raises an WRONG_DOCUMENT_ERR if this node
+ is readonly.
+
+ Attempt to add an attribute node to an element node which is part of the replacement text of
+ a read-only EntityReference node.
+ Check if a NO_MODIFICATION_ALLOWED_ERR is thrown.
+</description>
+<contributor>Neil Delima</contributor>
+<date qualifier="created">2002-04-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAtNodeNS"/>
+</metadata>
+<implementationAttribute name="expandEntityReferences" value="false"/>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="attribute" type="Attr"/>
+<var name="attribute2" type="Attr"/>
+<var name="entRef" type="EntityReference"/>
+<var name="elementList" type="NodeList"/>
+<var name="newAttribute" type="Node"/>
+<var name="newChild" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<createElementNS var="element" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"elem1"'/>
+<createAttributeNS var="attribute" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"attr"'/>
+<createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+<appendChild var="newChild" obj="attribute" newChild="entRef"/>
+<setAttributeNodeNS var="newAttribute" obj="element" newAttr="attribute"/>
+<childNodes var="elementList" obj="entRef"/>
+<item var="element" obj="elementList" index="0" interface="NodeList"/>
+<createAttributeNS var="attribute2" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"attr2"'/>
+<assertDOMException id="elementsetattributenodens06">
+<NO_MODIFICATION_ALLOWED_ERR>
+<setAttributeNodeNS var="newAttribute" obj="element" newAttr="attribute2"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributens01.xml b/test/testcases/tests/level2/core/elementsetattributens01.xml
new file mode 100644
index 0000000..ab8e3c2
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributens01.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributens01">
+ <metadata>
+ <title>elementsetattributens01</title>
+ <creator>IBM</creator>
+ <description>
+ The method setAttributeNS adds a new attribute.
+ Create a new element and add a new attribute node to it using the setAttributeNS method.
+ Check if the attribute was correctly set by invoking the getAttributeNodeNS method
+ and checking the nodeName and nodeValue of the returned nodes.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAttrNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="attribute" type="Attr"/>
+ <var name="attrName" type="DOMString"/>
+ <var name="attrValue" type="DOMString"/>
+ <load var="doc" href="staff" willBeModified="true"/>
+ <createElementNS var="element" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM"' qualifiedName='"dom:elem"'/>
+ <setAttributeNS obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Test/setAttributeNS"'
+ qualifiedName ='"attr"' value='"value"'/>
+ <getAttributeNodeNS var="attribute" obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Test/setAttributeNS"'
+ localName='"attr"'/>
+ <nodeName var="attrName" obj="attribute"/>
+ <nodeValue var="attrValue" obj="attribute"/>
+ <assertEquals actual="attrName" expected='"attr"' id="elementsetattributens01_attrName" ignoreCase="false"/>
+ <assertEquals actual="attrValue" expected='"value"' id="elementsetattributens01_attrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributens02.xml b/test/testcases/tests/level2/core/elementsetattributens02.xml
new file mode 100644
index 0000000..b7105f6
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributens02.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributens02">
+ <metadata>
+ <title>elementsetattributens02</title>
+ <creator>IBM</creator>
+ <description>
+ The method setAttributeNS adds a new attribute.
+
+ Retrieve an existing element node with attributes and add a new attribute node to it using
+ the setAttributeNS method. Check if the attribute was correctly set by invoking the
+ getAttributeNodeNS method and checking the nodeName and nodeValue of the returned nodes.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAttrNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="attribute" type="Attr"/>
+ <var name="elementList" type="NodeList"/>
+ <var name="attrName" type="DOMString"/>
+ <var name="attrValue" type="DOMString"/>
+ <load var="doc" href="staff" willBeModified="true"/>
+ <getElementsByTagNameNS var="elementList" obj="doc"
+ namespaceURI='"*"' localName='"address"' interface="Document"/>
+ <item var="element" obj="elementList" index="0" interface="NodeList"/>
+ <setAttributeNS obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Test/setAttributeNS"'
+ qualifiedName ='"this:street"' value='"Silver Street"'/>
+ <getAttributeNodeNS var="attribute" obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Test/setAttributeNS"' localName='"street"'/>
+ <nodeName var="attrName" obj="attribute"/>
+ <nodeValue var="attrValue" obj="attribute"/>
+ <assertEquals actual="attrName" expected='"this:street"' id="elementsetattributens02_attrName" ignoreCase="false"/>
+ <assertEquals actual="attrValue" expected='"Silver Street"' id="elementsetattributens02_attrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributens03.xml b/test/testcases/tests/level2/core/elementsetattributens03.xml
new file mode 100644
index 0000000..968500c
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributens03.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributens03">
+ <metadata>
+ <title>elementsetattributens03</title>
+ <creator>IBM</creator>
+ <description>
+ The method setAttributeNS adds a new attribute.
+ Retreive an existing element node with a default attribute node and
+ add two new attribute nodes that have the same local name as the
+ default attribute but different namespaceURI to it using the setAttributeNS method.
+ Check if the attribute was correctly set by invoking the getAttributeNodeNS method
+ and checking the nodeName and nodeValue of the returned nodes.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAttrNS"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="attribute" type="Attr"/>
+ <var name="elementList" type="NodeList"/>
+ <var name="attrName" type="DOMString"/>
+ <var name="attrValue" type="DOMString"/>
+ <load var="doc" href="staffNS" willBeModified="true"/>
+ <getElementsByTagName var="elementList" obj="doc" tagname='"emp:employee"' interface="Document"/>
+ <item var="element" obj="elementList" index="0" interface="NodeList"/>
+ <assertNotNull actual="element" id="empEmployeeNotNull"/>
+ <setAttributeNS obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Test/1"'
+ qualifiedName ='"defaultAttr"' value='"default1"'/>
+ <setAttributeNS obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Test/2"'
+ qualifiedName ='"defaultAttr"' value='"default2"'/>
+ <getAttributeNodeNS var="attribute" obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Test/1"' localName='"defaultAttr"'/>
+ <nodeName var="attrName" obj="attribute"/>
+ <nodeValue var="attrValue" obj="attribute"/>
+ <assertEquals actual="attrName" expected='"defaultAttr"' id="elementsetattributens03_attrName" ignoreCase="false"/>
+ <assertEquals actual="attrValue" expected='"default1"' id="elementsetattributens03_attrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributens04.xml b/test/testcases/tests/level2/core/elementsetattributens04.xml
new file mode 100644
index 0000000..1c31860
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributens04.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributens04">
+ <metadata>
+ <title>elementsetattributens04</title>
+ <creator>IBM</creator>
+ <description>
+ The method setAttributeNS adds a new attribute and raises a INVALID_CHARACTER_ERR if
+ the specified qualified name contains an illegal character.
+ Invoke the setAttributeNS method on this Element object with a valid value for
+ namespaceURI, and qualifiedNames that contain illegal characters. Check if the an
+ INVALID_CHARACTER_ERR was thrown.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAttrNS"/>
+ </metadata>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="qualifiedName" type="DOMString"/>
+ <var name="qualifiedNames" type="List">
+ <member>&quot;/&quot;</member>
+ <member>&quot;//&quot;</member>
+ <member>&quot;\\&quot;</member>
+ <member>&quot;;&quot;</member>
+ <member>&quot;&amp;&quot;</member>
+ <member>&quot;*&quot;</member>
+ <member>&quot;]]&quot;</member>
+ <member>&quot;>&quot;</member>
+ <member>&quot;&lt;&quot;</member>
+ </var>
+ <load var="doc" href="staffNS" willBeModified="true"/>
+ <createElementNS var="element" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM/Test/L2"'
+ qualifiedName='"dom:elem"'/>
+ <for-each collection="qualifiedNames" member="qualifiedName">
+ <assertDOMException id="elementsetattributens04">
+ <INVALID_CHARACTER_ERR>
+ <setAttributeNS obj="element"
+ namespaceURI='"http://www.w3.org/DOM/Test/L2"'
+ qualifiedName ="qualifiedName" value='"test"'/>
+ </INVALID_CHARACTER_ERR>
+ </assertDOMException>
+ </for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributens05.xml b/test/testcases/tests/level2/core/elementsetattributens05.xml
new file mode 100644
index 0000000..0f32689
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributens05.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributens05">
+ <metadata>
+ <title>elementsetattributens05</title>
+ <creator>IBM</creator>
+ <description>
+ The method setAttributeNS adds a new attribute and raises a NAMESPACE_ERR if the
+ qualifiedName has a prefix and the namespaceURI is null.
+ Invoke the setAttributeNS method on a new Element object with null namespaceURI and a
+ qualifiedName that has a namespace prefix. Check if the NAMESPACE_ERR was thrown.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAttrNS"/>
+ <subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+ </metadata>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <var name="nullNS" type="DOMString" isNull="true"/>
+ <load var="doc" href="staffNS" willBeModified="true"/>
+ <createElementNS var="element" obj="doc"
+ namespaceURI='"http://www.w3.org/DOM/Test/L2"'
+ qualifiedName='"dom:elem"'/>
+ <assertDOMException id="elementsetattributens05">
+ <NAMESPACE_ERR>
+ <setAttributeNS obj="element" namespaceURI="nullNS"
+ qualifiedName='"dom:root"' value='"test"'/>
+ </NAMESPACE_ERR>
+ </assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributens08.xml b/test/testcases/tests/level2/core/elementsetattributens08.xml
new file mode 100644
index 0000000..17fcccb
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributens08.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributens08">
+ <metadata>
+ <title>elementsetattributens08</title>
+ <creator>IBM</creator>
+ <description>
+ The method setAttributeNS adds a new attribute and raises a NAMESPACE_ERR
+ if the qualifiedName, or its prefix, is "xmlns" and the namespaceURI is
+ different from "http://www.w3.org/2000/xmlns/".
+
+ Invoke the setAttributeNS method on a new Element object with namespaceURI that is
+ http://www.w3.org/DOMTest/level2 and a qualifiedName that has the prefix xmlns and once
+ again with a qualifiedName that is xmlns.
+ Check if the NAMESPACE_ERR was thrown.
+ </description>
+ <contributor>Neil Delima</contributor>
+ <date qualifier="created">2002-04-28</date>
+ <subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAttrNS"/>
+ </metadata>
+ <var name="doc" type="Document"/>
+ <var name="element" type="Element"/>
+ <load var="doc" href="staffNS" willBeModified="true"/>
+ <createElementNS var="element" obj="doc"
+ namespaceURI='"http://www.w3.org/DOMTest/level2"'
+ qualifiedName='"dom:elem"'/>
+ <assertDOMException id="elementsetattributens08_Err1">
+ <NAMESPACE_ERR>
+ <setAttributeNS obj="element"
+ namespaceURI='"http://www.w3.org/DOMTest/level2"'
+ qualifiedName='"xmlns"' value='"test"'/>
+ </NAMESPACE_ERR>
+ </assertDOMException>
+ <assertDOMException id="elementsetattributens08_Err2">
+ <NAMESPACE_ERR>
+ <setAttributeNS obj="element"
+ namespaceURI='"http://www.w3.org/DOMTest/level2"'
+ qualifiedName='"xmlns:root"' value='"test"'/>
+ </NAMESPACE_ERR>
+ </assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/elementsetattributensurinull.xml b/test/testcases/tests/level2/core/elementsetattributensurinull.xml
new file mode 100644
index 0000000..e7568fe
--- /dev/null
+++ b/test/testcases/tests/level2/core/elementsetattributensurinull.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="elementsetattributensurinull">
+<metadata>
+<title>elementSetAttributeNSURINull</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNS(namespaceURI,qualifiedName,value)" method raises a
+ NAMESPACE_ERR DOMException if the specified
+ qualifiedName has a prefix and the namespaceURI is null.
+
+ Attempt to add a new attribute on the first employee node.
+ An exception should be raised since the "qualifiedName" has a
+ prefix and the namespaceURI is null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAttrNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-ElSetAttrNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" isNull="true"/>
+<var name="qualifiedName" type="DOMString" value='"emp:qualifiedName"'/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"employee"'/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<setAttributeNS obj="testAddr" namespaceURI="namespaceURI" qualifiedName="qualifiedName" value='"newValue"'/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/files/.cvsignore b/test/testcases/tests/level2/core/files/.cvsignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/.cvsignore
diff --git a/test/testcases/tests/level2/core/files/CVS/Entries b/test/testcases/tests/level2/core/files/CVS/Entries
new file mode 100644
index 0000000..891b62c
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/CVS/Entries
@@ -0,0 +1,21 @@
+/.cvsignore/1.2/Fri Apr 3 02:47:56 2009//
+/hc_staff.html/1.6/Fri Apr 3 02:47:56 2009//
+/hc_staff.svg/1.4/Fri Apr 3 02:47:56 2009//
+/hc_staff.xhtml/1.6/Fri Apr 3 02:47:56 2009//
+/hc_staff.xml/1.6/Fri Apr 3 02:47:56 2009//
+/internalSubset01.js/1.1/Fri Apr 3 02:47:56 2009/-kb/
+/nodtdstaff.svg/1.2/Fri Apr 3 02:47:56 2009//
+/nodtdstaff.xml/1.1/Fri Apr 3 02:47:56 2009//
+/staff.dtd/1.1/Fri Apr 3 02:47:56 2009//
+/staff.svg/1.2/Fri Apr 3 02:47:56 2009//
+/staff.xml/1.1/Fri Apr 3 02:47:56 2009//
+/staff2.dtd/1.2/Fri Apr 3 02:47:56 2009//
+/staff2.svg/1.1/Fri Apr 3 02:47:56 2009/-kb/
+/staff2.xml/1.1/Fri Apr 3 02:47:56 2009//
+/staffNS.dtd/1.1/Fri Apr 3 02:47:56 2009//
+/staffNS.svg/1.3/Fri Apr 3 02:47:56 2009//
+/staffNS.xml/1.2/Fri Apr 3 02:47:56 2009//
+/svgtest.js/1.2/Fri Apr 3 02:47:56 2009/-kb/
+/svgunit.js/1.2/Fri Apr 3 02:47:56 2009/-kb/
+/xhtml1-strict.dtd/1.5/Fri Apr 3 02:47:56 2009/-kb/
+D
diff --git a/test/testcases/tests/level2/core/files/CVS/Repository b/test/testcases/tests/level2/core/files/CVS/Repository
new file mode 100644
index 0000000..f7019ed
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/CVS/Repository
@@ -0,0 +1 @@
+2001/DOM-Test-Suite/tests/level2/core/files
diff --git a/test/testcases/tests/level2/core/files/CVS/Root b/test/testcases/tests/level2/core/files/CVS/Root
new file mode 100644
index 0000000..3c7177e
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/test/testcases/tests/level2/core/files/CVS/Template b/test/testcases/tests/level2/core/files/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/CVS/Template
diff --git a/test/testcases/tests/level2/core/files/hc_staff.html b/test/testcases/tests/level2/core/files/hc_staff.html
new file mode 100644
index 0000000..9acf750
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/hc_staff.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd" >
+<!-- This is comment number 1.-->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>hc_staff</title><script type="text/javascript" src="svgunit.js"></script><script charset="UTF-8" type="text/javascript" src="svgtest.js"></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="parent.loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/test/testcases/tests/level2/core/files/hc_staff.svg b/test/testcases/tests/level2/core/files/hc_staff.svg
new file mode 100644
index 0000000..cd0cc47
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/hc_staff.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE svg
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+ <!ATTLIST head xmlns CDATA #IMPLIED>
+ <!ATTLIST body xmlns CDATA #IMPLIED>
+ <!ELEMENT svg (rect, script, head, body)>
+ <!ATTLIST svg xmlns CDATA #IMPLIED>
+ <!ELEMENT rect EMPTY>
+ <!ATTLIST rect
+ x CDATA #IMPLIED
+ y CDATA #IMPLIED
+ width CDATA #IMPLIED
+ height CDATA #IMPLIED>
+ <!ENTITY svgunit SYSTEM "svgunit.js">
+ <!ENTITY svgtest SYSTEM "svgtest.js">
+]>
+<!-- This is comment number 1.-->
+<svg xmlns='http://www.w3.org/2000/svg'><rect x="0" y="0" width="100" height="100"/><script type="text/ecmascript">&svgtest;&svgunit;</script><head xmlns='http://www.w3.org/1999/xhtml'><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title></head><body xmlns='http://www.w3.org/1999/xhtml'>
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></svg>
diff --git a/test/testcases/tests/level2/core/files/hc_staff.xhtml b/test/testcases/tests/level2/core/files/hc_staff.xhtml
new file mode 100644
index 0000000..2df9a74
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/hc_staff.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="svgunit.js"/><script charset="UTF-8" type="text/javascript" src="svgtest.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="parent.loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/test/testcases/tests/level2/core/files/hc_staff.xml b/test/testcases/tests/level2/core/files/hc_staff.xml
new file mode 100644
index 0000000..2df9a74
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/hc_staff.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="svgunit.js"/><script charset="UTF-8" type="text/javascript" src="svgtest.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="parent.loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/test/testcases/tests/level2/core/files/internalSubset01.js b/test/testcases/tests/level2/core/files/internalSubset01.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/internalSubset01.js
diff --git a/test/testcases/tests/level2/core/files/nodtdstaff.svg b/test/testcases/tests/level2/core/files/nodtdstaff.svg
new file mode 100644
index 0000000..01aa823
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/nodtdstaff.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg"><rect x="0" y="0" width="100" height="100"/>
+ <employee xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1/Files">
+ <employeeId>EMP0001</employeeId>
+ <name>Margaret Martin</name>
+ <position>Accountant</position>
+ <salary>56,000</salary>
+ <gender>Female</gender>
+ <address domestic="Yes">1230 North Ave. Dallas, Texas 98551</address>
+ </employee>
+</svg>
diff --git a/test/testcases/tests/level2/core/files/nodtdstaff.xml b/test/testcases/tests/level2/core/files/nodtdstaff.xml
new file mode 100644
index 0000000..054a5e1
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/nodtdstaff.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<staff>
+ <employee>
+ <employeeId>EMP0001</employeeId>
+ <name>Margaret Martin</name>
+ <position>Accountant</position>
+ <salary>56,000</salary>
+ <gender>Female</gender>
+ <address domestic="Yes">1230 North Ave. Dallas, Texas 98551</address>
+ </employee>
+</staff>
diff --git a/test/testcases/tests/level2/core/files/staff.dtd b/test/testcases/tests/level2/core/files/staff.dtd
new file mode 100644
index 0000000..02a994d
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/staff.dtd
@@ -0,0 +1,17 @@
+<!ELEMENT employeeId (#PCDATA)>
+<!ELEMENT name (#PCDATA)>
+<!ELEMENT position (#PCDATA)>
+<!ELEMENT salary (#PCDATA)>
+<!ELEMENT address (#PCDATA)>
+<!ELEMENT entElement ( #PCDATA ) >
+<!ELEMENT gender ( #PCDATA | entElement )* >
+<!ELEMENT employee (employeeId, name, position, salary, gender, address) >
+<!ELEMENT staff (employee)+>
+<!ATTLIST entElement
+ attr1 CDATA "Attr">
+<!ATTLIST address
+ domestic CDATA #IMPLIED
+ street CDATA "Yes">
+<!ATTLIST entElement
+ domestic CDATA "MALE" >
+
diff --git a/test/testcases/tests/level2/core/files/staff.svg b/test/testcases/tests/level2/core/files/staff.svg
new file mode 100644
index 0000000..fd67323
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/staff.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE svg SYSTEM "staff.dtd" [
+ <!ENTITY ent1 "es">
+ <!ENTITY ent2 "1900 Dallas Road">
+ <!ENTITY ent3 "Texas">
+ <!ENTITY ent4 "<entElement domestic='Yes'>Element data</entElement><?PItarget PIdata?>">
+ <!ENTITY ent5 PUBLIC "entityURI" "entityFile" NDATA notation1>
+ <!ENTITY ent1 "This entity should be discarded">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST employee xmlns CDATA #IMPLIED>
+ <!ELEMENT svg (rect, script, employee+)>
+ <!ATTLIST svg
+ xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
+ name CDATA #IMPLIED>
+ <!ELEMENT rect EMPTY>
+ <!ATTLIST rect
+ x CDATA #REQUIRED
+ y CDATA #REQUIRED
+ width CDATA #REQUIRED
+ height CDATA #REQUIRED>
+ <!ELEMENT script (#PCDATA)>
+ <!ATTLIST script type CDATA #IMPLIED>
+ <!ENTITY svgunit SYSTEM "svgunit.js">
+ <!ENTITY svgtest SYSTEM "svgtest.js">
+]>
+<!-- This is comment number 1.-->
+<svg xmlns="http://www.w3.org/2000/svg"><rect x="0" y="0" width="100" height="100"/><script type="text/ecmascript">&svgtest;&svgunit;</script>
+ <employee xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1/Files">
+ <employeeId>EMP0001</employeeId>
+ <name>Margaret Martin</name>
+ <position>Accountant</position>
+ <salary>56,000</salary>
+ <gender>Female</gender>
+ <address domestic="Yes">1230 North Ave. Dallas, Texas 98551</address>
+ </employee>
+ <employee xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1/Files">
+ <employeeId>EMP0002</employeeId>
+ <name>Martha Raynolds<![CDATA[This is a CDATASection with EntityReference number 2 &ent2;]]>
+<![CDATA[This is an adjacent CDATASection with a reference to a tab &tab;]]></name>
+ <position>Secretary</position>
+ <salary>35,000</salary>
+ <gender>Female</gender>
+ <address domestic="Yes" street="Yes">&ent2; Dallas, &ent3;
+ 98554</address>
+ </employee>
+ <employee xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1/Files">
+ <employeeId>EMP0003</employeeId>
+ <name>Roger
+ Jones</name>
+ <position>Department Manager</position>
+ <salary>100,000</salary>
+ <gender>&ent4;</gender>
+ <address domestic="Yes" street="No">PO Box 27 Irving, texas 98553</address>
+ </employee>
+ <employee xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1/Files">
+ <employeeId>EMP0004</employeeId>
+ <name>Jeny Oconnor</name>
+ <position>Personnel Director</position>
+ <salary>95,000</salary>
+ <gender>Female</gender>
+ <address domestic="Yes" street="Y&ent1;">27 South Road. Dallas, Texas 98556</address>
+ </employee>
+ <employee xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1/Files">
+ <employeeId>EMP0005</employeeId>
+ <name>Robert Myers</name>
+ <position>Computer Specialist</position>
+ <salary>90,000</salary>
+ <gender>male</gender>
+ <address street="Yes">1821 Nordic. Road, Irving Texas 98558</address>
+ </employee>
+ </svg>
diff --git a/test/testcases/tests/level2/core/files/staff.xml b/test/testcases/tests/level2/core/files/staff.xml
new file mode 100644
index 0000000..f89c510
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/staff.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE staff SYSTEM "staff.dtd" [
+ <!ENTITY ent1 "es">
+ <!ENTITY ent2 "1900 Dallas Road">
+ <!ENTITY ent3 "Texas">
+ <!ENTITY ent4 "<entElement domestic='Yes'>Element data</entElement><?PItarget PIdata?>">
+ <!ENTITY ent5 PUBLIC "entityURI" "entityFile" NDATA notation1>
+ <!ENTITY ent1 "This entity should be discarded">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+]>
+<!-- This is comment number 1.-->
+<staff>
+ <employee>
+ <employeeId>EMP0001</employeeId>
+ <name>Margaret Martin</name>
+ <position>Accountant</position>
+ <salary>56,000</salary>
+ <gender>Female</gender>
+ <address domestic="Yes">1230 North Ave. Dallas, Texas 98551</address>
+ </employee>
+ <employee>
+ <employeeId>EMP0002</employeeId>
+ <name>Martha Raynolds<![CDATA[This is a CDATASection with EntityReference number 2 &ent2;]]>
+<![CDATA[This is an adjacent CDATASection with a reference to a tab &tab;]]></name>
+ <position>Secretary</position>
+ <salary>35,000</salary>
+ <gender>Female</gender>
+ <address domestic="Yes" street="Yes">&ent2; Dallas, &ent3;
+ 98554</address>
+ </employee>
+ <employee>
+ <employeeId>EMP0003</employeeId>
+ <name>Roger
+ Jones</name>
+ <position>Department Manager</position>
+ <salary>100,000</salary>
+ <gender>&ent4;</gender>
+ <address domestic="Yes" street="No">PO Box 27 Irving, texas 98553</address>
+ </employee>
+ <employee>
+ <employeeId>EMP0004</employeeId>
+ <name>Jeny Oconnor</name>
+ <position>Personnel Director</position>
+ <salary>95,000</salary>
+ <gender>Female</gender>
+ <address domestic="Yes" street="Y&ent1;">27 South Road. Dallas, Texas 98556</address>
+ </employee>
+ <employee>
+ <employeeId>EMP0005</employeeId>
+ <name>Robert Myers</name>
+ <position>Computer Specialist</position>
+ <salary>90,000</salary>
+ <gender>male</gender>
+ <address street="Yes">1821 Nordic. Road, Irving Texas 98558</address>
+ </employee>
+ </staff>
diff --git a/test/testcases/tests/level2/core/files/staff2.dtd b/test/testcases/tests/level2/core/files/staff2.dtd
new file mode 100644
index 0000000..0bac8f2
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/staff2.dtd
@@ -0,0 +1,24 @@
+<!ELEMENT employeeId (#PCDATA)>
+<!ELEMENT name (#PCDATA)>
+<!ELEMENT position (#PCDATA)>
+<!ELEMENT salary (#PCDATA)>
+<!ELEMENT address (#PCDATA)>
+<!ELEMENT gender ( #PCDATA)>
+<!ELEMENT employee (employeeId, name, position, salary, gender, address) >
+<!ATTLIST employee xmlns CDATA #IMPLIED>
+<!ELEMENT staff (employee)+>
+<!ELEMENT svg (rect, script, employee+)>
+<!ATTLIST svg
+ xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
+ name CDATA #IMPLIED>
+<!ELEMENT rect EMPTY>
+<!ATTLIST rect
+ x CDATA #REQUIRED
+ y CDATA #REQUIRED
+ width CDATA #REQUIRED
+ height CDATA #REQUIRED>
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script type CDATA #IMPLIED>
+<!ENTITY svgunit SYSTEM "svgunit.js">
+<!ENTITY svgtest SYSTEM "internalSubset01.js">
+
diff --git a/test/testcases/tests/level2/core/files/staff2.svg b/test/testcases/tests/level2/core/files/staff2.svg
new file mode 100644
index 0000000..6f89dad
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/staff2.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE svg SYSTEM "staff2.dtd" []>
+<!-- This is comment number 1.-->
+<svg xmlns="http://www.w3.org/2000/svg"><rect x="0" y="0" width="100" height="100"/><script type="text/ecmascript">&svgtest;&svgunit;</script>
+ <employee xmlns="http://www.example.com">
+ <employeeId>EMP0001</employeeId>
+ <name>Margaret Martin</name>
+ <position>Accountant</position>
+ <salary>56,000</salary>
+ <gender>Female</gender>
+ <address>1230 North Ave. Dallas, Texas 98551</address>
+ </employee>
+ </svg>
diff --git a/test/testcases/tests/level2/core/files/staff2.xml b/test/testcases/tests/level2/core/files/staff2.xml
new file mode 100644
index 0000000..d3d9a13
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/staff2.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE staff SYSTEM "staff2.dtd" []>
+<!-- This is comment number 1.-->
+<staff>
+ <employee>
+ <employeeId>EMP0001</employeeId>
+ <name>Margaret Martin</name>
+ <position>Accountant</position>
+ <salary>56,000</salary>
+ <gender>Female</gender>
+ <address>1230 North Ave. Dallas, Texas 98551</address>
+ </employee>
+ </staff>
diff --git a/test/testcases/tests/level2/core/files/staffNS.dtd b/test/testcases/tests/level2/core/files/staffNS.dtd
new file mode 100644
index 0000000..7643773
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/staffNS.dtd
@@ -0,0 +1,45 @@
+<!ELEMENT staff (employee+,emp:employee,employee) >
+<!ELEMENT employee (employeeId,name,position,salary,gender,address) >
+<!ATTLIST employee xmlns CDATA #IMPLIED>
+<!ATTLIST employee xmlns:dmstc CDATA #IMPLIED>
+<!ATTLIST employee xmlns:emp2 CDATA #IMPLIED>
+
+<!ELEMENT employeeId (#PCDATA) >
+
+<!ELEMENT name (#PCDATA) >
+
+<!ELEMENT position (#PCDATA) >
+
+<!ELEMENT salary (#PCDATA) >
+
+<!ELEMENT entElement1 (#PCDATA) >
+<!ELEMENT gender (#PCDATA | entElement1)* >
+<!ATTLIST entElement1 xmlns:local1 CDATA #IMPLIED >
+
+<!ELEMENT address (#PCDATA) >
+<!ATTLIST address dmstc:domestic CDATA #IMPLIED>
+<!ATTLIST address street CDATA #IMPLIED>
+<!ATTLIST address domestic CDATA #IMPLIED>
+<!ATTLIST address xmlns CDATA #IMPLIED>
+
+<!ELEMENT emp:employee (emp:employeeId,nm:name,emp:position,emp:salary,emp:gender,emp:address) >
+<!ATTLIST emp:employee xmlns:emp CDATA #IMPLIED>
+<!ATTLIST emp:employee xmlns:nm CDATA #IMPLIED>
+<!ATTLIST emp:employee defaultAttr CDATA 'defaultVal'>
+
+<!ELEMENT emp:employeeId (#PCDATA) >
+
+<!ELEMENT nm:name (#PCDATA) >
+
+<!ELEMENT emp:position (#PCDATA) >
+
+<!ELEMENT emp:salary (#PCDATA) >
+
+<!ELEMENT emp:gender (#PCDATA) >
+
+<!ELEMENT emp:address (#PCDATA) >
+<!ATTLIST emp:address emp:domestic CDATA #IMPLIED>
+<!ATTLIST emp:address street CDATA #IMPLIED>
+<!ATTLIST emp:address emp:zone ID #IMPLIED>
+<!ATTLIST emp:address emp:district CDATA 'DISTRICT'>
+<!ATTLIST emp:address emp:local1 CDATA 'FALSE'>
diff --git a/test/testcases/tests/level2/core/files/staffNS.svg b/test/testcases/tests/level2/core/files/staffNS.svg
new file mode 100644
index 0000000..7a7c26e
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/staffNS.svg
@@ -0,0 +1,73 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE svg PUBLIC "STAFF" "staffNS.dtd"
+[
+ <!ENTITY ent1 "es">
+ <!ENTITY ent2 "1900 Dallas Road">
+ <!ENTITY ent3 "Texas">
+ <!ENTITY ent4 "<entElement1 xmlns:local1='www.xyz.com'>Element data</entElement1><?PItarget PIdata?>">
+ <!ENTITY ent5 PUBLIC "entityURI" "entityFile" NDATA notation1>
+ <!ENTITY ent6 PUBLIC "uri" "file" NDATA notation2>
+ <!ENTITY ent1 "This entity should be discarded">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ELEMENT svg (rect, script, employee+, emp:employee, employee*)>
+ <!ATTLIST svg
+ xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
+ name CDATA #IMPLIED>
+ <!ELEMENT rect EMPTY>
+ <!ATTLIST rect
+ x CDATA #REQUIRED
+ y CDATA #REQUIRED
+ width CDATA #REQUIRED
+ height CDATA #REQUIRED>
+ <!ELEMENT script (#PCDATA)>
+ <!ATTLIST script type CDATA #IMPLIED>
+ <!ENTITY svgunit SYSTEM "svgunit.js">
+ <!ENTITY svgtest SYSTEM "svgtest.js">
+]>
+<!-- This is comment number 1.-->
+<svg xmlns="http://www.w3.org/2000/svg"><rect x="0" y="0" width="100" height="100"/><script type="text/ecmascript">&svgtest;&svgunit;</script>
+ <employee xmlns="http://www.nist.gov" xmlns:dmstc="http://www.usa.com">
+ <employeeId>EMP0001</employeeId>
+ <name>Margaret Martin</name>
+ <position>Accountant</position>
+ <salary>56,000</salary>
+ <gender>Female</gender>
+ <address dmstc:domestic="Yes">1230 North Ave. Dallas, Texas 98551</address>
+ </employee>
+ <employee xmlns:dmstc="http://www.usa.com" xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2/Files">
+ <employeeId>EMP0002</employeeId>
+ <name>Martha Raynolds
+<![CDATA[This is a CDATASection with EntityReference number 2 &ent2;]]>
+<![CDATA[This is an adjacent CDATASection with a reference to a tab &tab;]]></name>
+ <position>Secretary</position>
+ <salary>35,000</salary>
+ <gender>Female</gender>
+ <address dmstc:domestic="Yes" street="Yes">&ent2; Dallas, &ent3;
+ 98554</address>
+ </employee>
+ <employee xmlns:dmstc="http://www.netzero.com" xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2/Files">
+ <employeeId>EMP0003</employeeId>
+ <name>Roger
+ Jones</name>
+ <position>Department Manager</position>
+ <salary>100,000</salary>
+ <gender>&ent4;</gender>
+ <address dmstc:domestic="Yes" street="No">PO Box 27 Irving, texas 98553</address>
+ </employee>
+ <emp:employee xmlns:emp="http://www.nist.gov" xmlns:nm="http://www.altavista.com" > <emp:employeeId>EMP0004</emp:employeeId>
+ <nm:name>Jeny Oconnor</nm:name>
+ <emp:position>Personnel Director</emp:position>
+ <emp:salary>95,000</emp:salary>
+ <emp:gender>Female</emp:gender>
+ <emp:address emp:domestic="Yes" street="Y&ent1;" emp:zone="CANADA" emp:local1="TRUE">27 South Road. Dallas, texas 98556</emp:address>
+ </emp:employee>
+ <employee xmlns:emp2="http://www.nist.gov" xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2/Files">
+ <employeeId>EMP0005</employeeId>
+ <name>Robert Myers</name>
+ <position>Computer Specialist</position>
+ <salary>90,000</salary>
+ <gender>male</gender>
+ <address street="Yes" xmlns="http://www.nist.gov">1821 Nordic. Road, Irving Texas 98558</address>
+ </employee>
+ </svg>
diff --git a/test/testcases/tests/level2/core/files/staffNS.xml b/test/testcases/tests/level2/core/files/staffNS.xml
new file mode 100644
index 0000000..1cb1459
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/staffNS.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE staff PUBLIC "STAFF" "staffNS.dtd"
+[
+ <!ENTITY ent1 "es">
+ <!ENTITY ent2 "1900 Dallas Road">
+ <!ENTITY ent3 "Texas">
+ <!ENTITY ent4 "<entElement1 xmlns:local1='www.xyz.com'>Element data</entElement1><?PItarget PIdata?>">
+ <!ENTITY ent5 PUBLIC "entityURI" "entityFile" NDATA notation1>
+ <!ENTITY ent6 PUBLIC "uri" "file" NDATA notation2>
+ <!ENTITY ent1 "This entity should be discarded">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+]>
+<!-- This is comment number 1.-->
+<staff>
+ <employee xmlns="http://www.nist.gov" xmlns:dmstc="http://www.usa.com">
+ <employeeId>EMP0001</employeeId>
+ <name>Margaret Martin</name>
+ <position>Accountant</position>
+ <salary>56,000</salary>
+ <gender>Female</gender>
+ <address dmstc:domestic="Yes">1230 North Ave. Dallas, Texas 98551</address>
+ </employee>
+ <employee xmlns:dmstc="http://www.usa.com">
+ <employeeId>EMP0002</employeeId>
+ <name>Martha Raynolds
+<![CDATA[This is a CDATASection with EntityReference number 2 &ent2;]]>
+<![CDATA[This is an adjacent CDATASection with a reference to a tab &tab;]]></name>
+ <position>Secretary</position>
+ <salary>35,000</salary>
+ <gender>Female</gender>
+ <address dmstc:domestic="Yes" street="Yes">&ent2; Dallas, &ent3;
+ 98554</address>
+ </employee>
+ <employee xmlns:dmstc="http://www.netzero.com">
+ <employeeId>EMP0003</employeeId>
+ <name>Roger
+ Jones</name>
+ <position>Department Manager</position>
+ <salary>100,000</salary>
+ <gender>&ent4;</gender>
+ <address dmstc:domestic="Yes" street="No">PO Box 27 Irving, texas 98553</address>
+ </employee>
+ <emp:employee xmlns:emp="http://www.nist.gov" xmlns:nm="http://www.altavista.com" > <emp:employeeId>EMP0004</emp:employeeId>
+ <nm:name>Jeny Oconnor</nm:name>
+ <emp:position>Personnel Director</emp:position>
+ <emp:salary>95,000</emp:salary>
+ <emp:gender>Female</emp:gender>
+ <emp:address emp:domestic="Yes" street="Y&ent1;" emp:zone="CANADA" emp:local1="TRUE">27 South Road. Dallas, texas 98556</emp:address>
+ </emp:employee>
+ <employee xmlns:emp2="http://www.nist.gov">
+ <employeeId>EMP0005</employeeId>
+ <name>Robert Myers</name>
+ <position>Computer Specialist</position>
+ <salary>90,000</salary>
+ <gender>male</gender>
+ <address street="Yes" xmlns="http://www.nist.gov">1821 Nordic. Road, Irving Texas 98558</address>
+ </employee>
+ </staff>
diff --git a/test/testcases/tests/level2/core/files/svgtest.js b/test/testcases/tests/level2/core/files/svgtest.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/svgtest.js
diff --git a/test/testcases/tests/level2/core/files/svgunit.js b/test/testcases/tests/level2/core/files/svgunit.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/svgunit.js
diff --git a/test/testcases/tests/level2/core/files/xhtml1-strict.dtd b/test/testcases/tests/level2/core/files/xhtml1-strict.dtd
new file mode 100644
index 0000000..fefb77f
--- /dev/null
+++ b/test/testcases/tests/level2/core/files/xhtml1-strict.dtd
@@ -0,0 +1,65 @@
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!--
+
+This is a radically simplified DTD for use in the DOM Test Suites
+due to a XML non-conformance of one implementation in processing
+parameter entities. When that non-conformance is resolved,
+this DTD can be replaced by the normal DTD for XHTML.
+
+-->
+
+
+<!ELEMENT html (head, body)>
+<!ATTLIST html xmlns CDATA #IMPLIED>
+<!ELEMENT head (meta,title,script*)>
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+ http-equiv CDATA #IMPLIED
+ content CDATA #IMPLIED>
+<!ELEMENT title (#PCDATA)>
+<!ELEMENT body (p*)>
+<!ATTLIST body onload CDATA #IMPLIED>
+<!ELEMENT p (#PCDATA|em|strong|code|sup|var|acronym|abbr)*>
+<!ATTLIST p
+ xmlns:dmstc CDATA #IMPLIED
+ xmlns:nm CDATA #IMPLIED
+ xmlns:emp2 CDATA #IMPLIED
+ id ID #IMPLIED
+>
+<!ELEMENT em (#PCDATA)>
+<!ELEMENT span (#PCDATA)>
+<!ELEMENT strong (#PCDATA)>
+<!ELEMENT code (#PCDATA)>
+<!ELEMENT sup (#PCDATA)>
+<!ELEMENT var (#PCDATA|span)*>
+<!ELEMENT acronym (#PCDATA)>
+<!ATTLIST acronym
+ title CDATA #IMPLIED
+ class CDATA #IMPLIED
+ id ID #IMPLIED
+>
+<!ELEMENT abbr (#PCDATA)>
+<!ATTLIST abbr
+ title CDATA #IMPLIED
+ class CDATA #IMPLIED
+ id ID #IMPLIED
+>
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+ type CDATA #IMPLIED
+ src CDATA #IMPLIED
+ charset CDATA #IMPLIED>
diff --git a/test/testcases/tests/level2/core/getAttributeNS01.xml b/test/testcases/tests/level2/core/getAttributeNS01.xml
new file mode 100644
index 0000000..347f967
--- /dev/null
+++ b/test/testcases/tests/level2/core/getAttributeNS01.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getAttributeNS01">
+<metadata>
+<title>getAttributeNS01</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributeNS(namespaceURI,localName)" method retrieves an
+ attribute value by local name and NamespaceURI.
+
+ Retrieve the first "emp:address" element.
+ The value returned by the "getAttributeNS()" method should be the
+ value "DISTRICT" since the attribute has a default value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAttrNS"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=238"/>
+</metadata>
+<!-- test requires namespace awareness and validation -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<implementationAttribute name="validating" value="true"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.nist.gov&quot;"/>
+<var name="localName" type="DOMString" value="&quot;district&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;emp:district&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;emp:address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<getAttributeNS obj="testAddr" var="attrValue" namespaceURI="namespaceURI" localName="localName"/>
+<assertEquals actual="attrValue" expected='"DISTRICT"' id="attrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getAttributeNS02.xml b/test/testcases/tests/level2/core/getAttributeNS02.xml
new file mode 100644
index 0000000..bc7c65f
--- /dev/null
+++ b/test/testcases/tests/level2/core/getAttributeNS02.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getAttributeNS02">
+<metadata>
+<title>getAttributeNS02</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributeNS(namespaceURI,localName)" method retrieves an
+ attribute value by local name and NamespaceURI.
+
+ Retrieve the first "emp:address" element.
+ Create a new attribute with the "createAttributeNS()" method.
+ Add the new attribute with the "setAttributeNS()" method.
+ The value returned by the "getAttributeNS()" method should be the
+ empty string since the attribute does not have a default value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAttrNS"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.nist.gov&quot;"/>
+<var name="localName" type="DOMString" value="&quot;district&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;emp:district&quot;"/>
+<var name="doc" type="Document"/>
+<var name="newAttribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="districtAttr" type="Attr"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<createAttributeNS obj="doc" var="newAttribute" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;emp:address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<assertNotNull actual="testAddr" id="empAddrNotNull"/>
+<setAttributeNodeNS obj="testAddr" var="districtAttr" newAttr="newAttribute"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;emp:address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<getAttributeNS obj="testAddr" var="attrValue" namespaceURI="namespaceURI" localName="localName"/>
+<assertEquals actual="attrValue" expected="&quot;&quot;" id="throw_Equals" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getAttributeNS03.xml b/test/testcases/tests/level2/core/getAttributeNS03.xml
new file mode 100644
index 0000000..4e24f22
--- /dev/null
+++ b/test/testcases/tests/level2/core/getAttributeNS03.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getAttributeNS03">
+<metadata>
+<title>getAttributeNS03</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributeNS(namespaceURI,localName)" method retrieves an
+ attribute value by local name and NamespaceURI.
+
+ Retrieve the first "emp:address" element.
+ The value returned by the "getAttributeNS()" method for the emp:domestic attribute
+ should be the empty string since the attribute does not have a specified value
+ because it was removed by the "removeAttributeNS()" method.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAttrNS"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.nist.gov&quot;"/>
+<var name="localName" type="DOMString" value="&quot;domestic&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;emp:address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<assertNotNull actual="testAddr" id="empAddrNotNull"/>
+<removeAttributeNS obj="testAddr" namespaceURI="namespaceURI" localName="localName"/>
+<getAttributeNS obj="testAddr" var="attrValue" namespaceURI="namespaceURI" localName="localName"/>
+<assertEquals actual="attrValue" expected="&quot;&quot;" id="throw_Equals" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getAttributeNS04.xml b/test/testcases/tests/level2/core/getAttributeNS04.xml
new file mode 100644
index 0000000..8d6c7ad
--- /dev/null
+++ b/test/testcases/tests/level2/core/getAttributeNS04.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getAttributeNS04">
+<metadata>
+<title>getAttributeNS04</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributeNS(namespaceURI,localName)" method retrieves an
+ attribute value by local name and NamespaceURI.
+
+ Retrieve the first "emp:address" element.
+ Create a new attribute with the "createAttributeNS()" method.
+ Add the new attribute and value with the "setAttributeNS()" method.
+ The value returned by the "getAttributeNS()" method should be
+ the string "NewValue" since the attribute had a specified value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAttrNS"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.nist.gov&quot;"/>
+<var name="localName" type="DOMString" value="&quot;blank&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;emp:blank&quot;"/>
+<var name="doc" type="Document"/>
+<var name="newAttribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="districtAttr" type="Attr"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<createAttributeNS obj="doc" var="newAttribute" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;emp:address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<assertNotNull actual="testAddr" id="empAddrNotNull"/>
+<setAttributeNS obj="testAddr" namespaceURI="namespaceURI" qualifiedName="qualifiedName" value="&quot;NewValue&quot;"/>
+<getAttributeNS obj="testAddr" var="attrValue" namespaceURI="namespaceURI" localName="localName"/>
+<assertEquals actual="attrValue" expected="&quot;NewValue&quot;" id="throw_Equals" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getAttributeNS05.xml b/test/testcases/tests/level2/core/getAttributeNS05.xml
new file mode 100644
index 0000000..54265fc
--- /dev/null
+++ b/test/testcases/tests/level2/core/getAttributeNS05.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getAttributeNS05">
+<metadata>
+<title>getAttributeNS05</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributeNS(namespaceURI,localName)" method retrieves an
+ attribute value by local name and NamespaceURI.
+
+ Retrieve the first emp:address element node
+ and retrieve the emp:domestic attribute. The method returns an
+ Attr value as a string, the "value" can be examined to ensure the
+ proper attribute value was retrieved.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAttrNS"/>
+</metadata>
+<!-- test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"emp:address"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<assertNotNull actual="testAddr" id="empAddrNotNull"/>
+<getAttributeNS obj="testAddr" var="attrValue" namespaceURI='"http://www.nist.gov"' localName='"domestic"'/>
+<assertEquals actual="attrValue" expected='"Yes"' id="attrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getAttributeNodeNS01.xml b/test/testcases/tests/level2/core/getAttributeNodeNS01.xml
new file mode 100644
index 0000000..9ab3e7a
--- /dev/null
+++ b/test/testcases/tests/level2/core/getAttributeNodeNS01.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getAttributeNodeNS01">
+<metadata>
+<title>getAttributeNodeNS01</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributeNodeNS(namespaceURI,localName)" method retrieves an
+ attribute node by local name and NamespaceURI.
+
+ Retrieve the first emp:address element node.
+ The getAttributeNodeNS method returns an
+ Attr node, the "value" can be examined to ensure the
+ proper attribute node was retrieved. This attribute
+ value should be null since there is no such attribute.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElGetAtNodeNS"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.nist.gov&quot;"/>
+<var name="localName" type="DOMString" value="&quot;invalidlocalname&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="attribute" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;emp:address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<assertNotNull actual="testAddr" id="empAddrNotNull"/>
+<getAttributeNodeNS obj="testAddr" var="attribute" namespaceURI="namespaceURI" localName="localName"/>
+<assertNull actual="attribute" id="throw_Null"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getAttributeNodeNS02.xml b/test/testcases/tests/level2/core/getAttributeNodeNS02.xml
new file mode 100644
index 0000000..86dfb38
--- /dev/null
+++ b/test/testcases/tests/level2/core/getAttributeNodeNS02.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getAttributeNodeNS02">
+<metadata>
+<title>getAttributeNodeNS02</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributeNodeNS(namespaceURI,localName)" method retrieves an
+ attribute node by local name and NamespaceURI.
+
+ Retrieve the first emp:address element node.
+ The getAttributeNodeNS method returns an
+ Attr node, the "value" can be examined to ensure the
+ proper attribute node was retrieved.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-F68D095"/>
+</metadata>
+<!-- this test requires a namespace aware processor -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="attribute" type="Attr"/>
+<var name="attrName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"emp:address"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<assertNotNull actual="testAddr" id="empAddrNotNull"/>
+<getAttributeNodeNS obj="testAddr" var="attribute" namespaceURI='"http://www.nist.gov"' localName='"domestic"'/>
+<nodeName obj="attribute" var="attrName"/>
+<assertEquals actual="attrName" expected='"emp:domestic"' id="attrName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementById01.xml b/test/testcases/tests/level2/core/getElementById01.xml
new file mode 100644
index 0000000..8992311
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementById01.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementById01">
+<metadata>
+<title>getElementById01</title>
+<creator>NIST</creator>
+<description>
+ The "getElementById(elementId)" method for a
+ Document should return an element whose ID matches elementId.
+
+ Invoke method getElementById(elementId) on this document
+ with elementId equals "CANADA". Method should return an element
+ whose tag name is "emp:address".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-104682815"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=383"/>
+</metadata>
+<!-- unless validating, parser is not assured of knowing what attributes
+are of type ID -->
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="tagname" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementById interface="Document" obj="doc" var="element" elementId="&quot;CANADA&quot;"/>
+<tagName obj="element" var="tagname"/>
+<assertEquals actual="tagname" expected="&quot;emp:address&quot;" id="throw_Equals" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementById02.xml b/test/testcases/tests/level2/core/getElementById02.xml
new file mode 100644
index 0000000..8fe1eb2
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementById02.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementById02">
+<metadata>
+<title>getElementById02</title>
+<creator>NIST</creator>
+<description>
+
+ The "getElementById(elementId)" method for a
+ Document should return null if elementId does not identify any
+ elements in this document.
+
+ Invoke method getElementById(elementId) on this document
+ with elementId equals "Cancun". Method should return null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBId"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementById interface="Document" obj="doc" var="element" elementId="&quot;Cancun&quot;"/>
+<assertNull actual="element" id="throw_Null"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS01.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS01.xml
new file mode 100644
index 0000000..68e93ac
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS01.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS01">
+<metadata>
+<title>getElementsByTagNameNS01</title>
+<creator>NIST</creator>
+<description>
+ Invoke method getElementsByTagNameNS(namespaceURI,localName) on this document
+ with namespaceURI and localName as "*" and check size of returned node list.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;*&quot;"/>
+<var name="localName" type="DOMString" value="&quot;*&quot;"/>
+<var name="doc" type="Document"/>
+<var name="newList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS interface="Document" obj="doc" var="newList" namespaceURI="namespaceURI" localName="localName"/>
+<if><contentType type="image/svg+xml"/>
+<assertSize collection="newList" size="39" id="listLength_svg"/>
+<else>
+<assertSize collection="newList" size="37" id="listLength"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS02.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS02.xml
new file mode 100644
index 0000000..31aee93
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS02.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS02">
+<metadata>
+<title>getElementsByTagNameNS02</title>
+<creator>NIST</creator>
+<description>
+ The "getElementsByTagNameNS(namespaceURI,localName)" method for a
+ Document should return a new NodeList of all Elements with a given
+ localName and namespaceURI in the order they were encountered in a preorder
+ traversal of the document tree.
+
+ Invoke method getElementsByTagNameNS(namespaceURI,localName) on this document
+ with namespaceURI being " " and localName is "employee".
+ Method should return a new NodeList containing five Elements.
+ Retrieve the FOURTH element whose name should be "emp:employee".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+</metadata>
+<!-- this test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="newList" type="NodeList"/>
+<var name="newElement" type="Element"/>
+<var name="prefix" type="DOMString"/>
+<var name="lname" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS interface="Document" obj="doc" var="newList" namespaceURI='"*"' localName='"employee"'/>
+<assertSize collection="newList" size="5" id="employeeCount"/>
+<item interface="NodeList" obj="newList" var="newElement" index="3"/>
+<prefix obj="newElement" var="prefix"/>
+<assertEquals actual="prefix" expected='"emp"' id="prefix" ignoreCase="false"/>
+<localName obj="newElement" var="lname"/>
+<assertEquals actual="lname" expected='"employee"' id="lname" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS03.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS03.xml
new file mode 100644
index 0000000..0040ddc
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS03.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS03">
+<metadata>
+<title>getElementsByTagNameNS03</title>
+<creator>NIST</creator>
+<description>
+ The "getElementsByTagNameNS(namespaceURI,localName)" method returns a NodeList
+ of all descendant Elements with a given local name and namespace URI in the
+ order in which they are encountered in a preorder traversal of this Element tree.
+
+ Create a NodeList of all the descendant elements
+ using the "http://www.nist.gov" as the namespaceURI and the special value " " as the
+ localName.
+ The method should return a NodeList of elements that have "http://www.nist.gov
+ as a namespace URI.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+</metadata>
+<!-- test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="result" type="List"/>
+<var name="expectedResult" type="List">
+<member>"employee"</member>
+<member>"employeeId"</member>
+<member>"name"</member>
+<member>"position"</member>
+<member>"salary"</member>
+<member>"gender"</member>
+<member>"address"</member>
+<member>"emp:employee"</member>
+<member>"emp:employeeId"</member>
+<member>"emp:position"</member>
+<member>"emp:salary"</member>
+<member>"emp:gender"</member>
+<member>"emp:address"</member>
+<member>"address"</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS interface="Document" obj="doc" namespaceURI='"http://www.nist.gov"' localName='"*"' var="elementList"/>
+<for-each collection="elementList" member="child">
+<nodeName obj="child" var="childName"/>
+<append collection="result" item="childName"/>
+</for-each>
+<assertEquals actual="result" expected="expectedResult" id="nodeNames" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS04.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS04.xml
new file mode 100644
index 0000000..1c440d5
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS04.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS04">
+<metadata>
+<title>getElementsByTagNameNS04</title>
+<creator>NIST</creator>
+<description>
+ The "getElementsByTagNameNS(namespaceURI,localName)" method returns a NodeList
+ of all descendant Elements with a given local name and namespace URI in the
+ order in which they are encountered in a preorder traversal of this Element tree.
+
+ Create a NodeList of all the descendant elements
+ using the special value " " as the namespaceURI and "address" as the
+ localName.
+ The method should return a NodeList of Elements that have
+ "address" as the local name.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="result" type="List"/>
+<var name="expectedResult" type="List">
+<member>"address"</member>
+<member>"address"</member>
+<member>"address"</member>
+<member>"emp:address"</member>
+<member>"address"</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS interface="Document" obj="doc" namespaceURI='"*"' localName='"address"' var="elementList"/>
+<for-each collection="elementList" member="child">
+<nodeName obj="child" var="childName"/>
+<append collection="result" item="childName"/>
+</for-each>
+<assertEquals actual="result" expected="expectedResult" id="nodeNames" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS05.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS05.xml
new file mode 100644
index 0000000..db45514
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS05.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS05">
+<metadata>
+<title>getElementsByTagNameNS05</title>
+<creator>NIST</creator>
+<description>
+ The "getElementsByTagNameNS(namespaceURI,localName)" method returns a NodeList
+ of all descendant Elements with a given local name and namespace URI in the
+ order in which they are encountered in a preorder traversal of this Element tree.
+
+ Create a NodeList of all the descendant elements
+ using the "http://www.nist.gov" as the namespaceURI and "nomatch" as the
+ localName.
+ The method should return a NodeList whose length is
+ "0".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.nist.gov&quot;"/>
+<var name="localName" type="DOMString" value="&quot;nomatch&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS interface="Document" obj="doc" namespaceURI="namespaceURI" localName="localName" var="elementList"/>
+<assertSize collection="elementList" size="0" id="throw_Size"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS06.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS06.xml
new file mode 100644
index 0000000..3d72c88
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS06.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS06">
+<metadata>
+<title>getElementsByTagNameNS06</title>
+<creator>NIST</creator>
+<description>
+ The "getElementsByTagNameNS(namespaceURI,localName)" method returns a NodeList
+ of all descendant Elements with a given local name and namespace URI in the
+ order in which they are encountered in a preorder traversal of this Element tree.
+
+ Create a NodeList of all the descendant elements
+ using the "http://www.nomatch.com" as the namespaceURI and "address" as the
+ localName.
+ The method should return a NodeList whose length is
+ "0".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+</metadata>
+<!-- test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS interface="Document" obj="doc" namespaceURI='"http://www.nomatch.com"' localName='"address"' var="elementList"/>
+<assertSize collection="elementList" size="0" id="matchSize"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS07.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS07.xml
new file mode 100644
index 0000000..28e5323
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS07.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS07">
+<metadata>
+<title>getElementsByTagNameNS07</title>
+<creator>NIST</creator>
+<description>
+ The "getElementsByTagNameNS(namespaceURI,localName)" method returns a NodeList
+ of all descendant Elements with a given local name and namespace URI in the
+ order in which they are encountered in a preorder traversal of this Element tree.
+
+ Create a NodeList of all the descendant elements
+ using the string "http://www.nist.gov" as the namespaceURI and "address" as the
+ localName.
+ The method should return a NodeList whose length is
+ "3".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBTNNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS interface="Document" obj="doc" namespaceURI='"http://www.nist.gov"' localName='"address"' var="elementList"/>
+<assertSize collection="elementList" size="3" id="addresses"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS08.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS08.xml
new file mode 100644
index 0000000..0b42bb4
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS08.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS08">
+<metadata>
+<title>getElementsByTagNameNS08</title>
+<creator>Curt Arnold</creator>
+<description>
+ Element.getElementsByTagNameNS('*','*') should return all child
+ elements. There is some contention on whether this should match
+ unqualified elements, this test reflects the interpretation that
+ '*' should match elements in all namespaces and unqualified elements.
+
+ Derived from getElementsByTagNameNS01 which tests similar functionality
+ on the Document interface.
+</description>
+<date qualifier="created">2001-02-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-1938918D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="newList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<documentElement var="docElem" obj="doc"/>
+<getElementsByTagNameNS interface="Element" obj="docElem" var="newList" namespaceURI='"*"' localName='"*"'/>
+<if><contentType type="image/svg+xml"/>
+<assertSize collection="newList" size="38" id="listSize_svg"/>
+<else>
+<assertSize collection="newList" size="36" id="listSize"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS09.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS09.xml
new file mode 100644
index 0000000..7fcee81
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS09.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS09">
+<metadata>
+<title>getElementsByTagNameNS09</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getElementsByTagNameNS(namespaceURI,localName)" method for a
+ Element should return a new NodeList of all descendant Elements with a given
+ localName and namespaceURI in the order they were encountered in a preorder
+ traversal of the document tree.
+
+ Invoke method getElementsByTagNameNS(namespaceURI,localName) on the document
+ element with namespaceURI being "*" and localName is "employee".
+ Method should return a new NodeList containing five Elements.
+ Retrieve the FOURTH element whose name should be "emp:employee".
+
+ Derived from getElementsByTagNameNS02 and reflects its interpretation
+ that namespace="*" matches namespace unqualified tagnames.
+</description>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2001-02-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-1938918D"/>
+</metadata>
+<!-- this test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="newList" type="NodeList"/>
+<var name="newElement" type="Element"/>
+<var name="prefix" type="DOMString"/>
+<var name="lname" type="DOMString"/>
+<var name="docElem" type="Element"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<documentElement var="docElem" obj="doc"/>
+<getElementsByTagNameNS interface="Element" obj="docElem" var="newList" namespaceURI='"*"' localName='"employee"'/>
+<assertSize collection="newList" size="5" id="employeeCount"/>
+<item interface="NodeList" obj="newList" var="newElement" index="3"/>
+<prefix obj="newElement" var="prefix"/>
+<assertEquals actual="prefix" expected='"emp"' id="prefix" ignoreCase="false"/>
+<localName obj="newElement" var="lname"/>
+<assertEquals actual="lname" expected='"employee"' id="lname" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS10.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS10.xml
new file mode 100644
index 0000000..956e965
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS10.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS10">
+<metadata>
+<title>getElementsByTagNameNS10</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getElementsByTagNameNS(namespaceURI,localName)" method returns a NodeList
+ of all descendant Elements with a given local name and namespace URI in the
+ order in which they are encountered in a preorder traversal of this Element tree.
+
+ Create a NodeList of all the descendant elements of the document element
+ using the "http://www.nist.gov" as the namespaceURI and the special value "*" as the
+ localName.
+ The method should return a NodeList of elements that have "http://www.nist.gov
+ as a namespace URI.
+
+ Derived from getElementsByTagNameNS03
+</description>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2002-02-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-1938918D"/>
+</metadata>
+<!-- test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="result" type="List"/>
+<var name="expectedResult" type="List">
+<member>"employee"</member>
+<member>"employeeId"</member>
+<member>"name"</member>
+<member>"position"</member>
+<member>"salary"</member>
+<member>"gender"</member>
+<member>"address"</member>
+<member>"emp:employee"</member>
+<member>"emp:employeeId"</member>
+<member>"emp:position"</member>
+<member>"emp:salary"</member>
+<member>"emp:gender"</member>
+<member>"emp:address"</member>
+<member>"address"</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<documentElement var="docElem" obj="doc"/>
+<getElementsByTagNameNS interface="Element" obj="docElem" namespaceURI='"http://www.nist.gov"' localName='"*"' var="elementList"/>
+<for-each collection="elementList" member="child">
+<nodeName obj="child" var="childName"/>
+<append collection="result" item="childName"/>
+</for-each>
+<assertEquals actual="result" expected="expectedResult" id="nodeNames" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS11.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS11.xml
new file mode 100644
index 0000000..3dd2c36
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS11.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS11">
+<metadata>
+<title>getElementsByTagNameNS11</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getElementsByTagNameNS(namespaceURI,localName)" method returns a NodeList
+ of all descendant Elements with a given local name and namespace URI in the
+ order in which they are encountered in a preorder traversal of this Element tree.
+
+ Create a NodeList of all the descendant elements
+ using the special value "*" as the namespaceURI and "address" as the
+ localName.
+ The method should return a NodeList of Elements that have
+ "address" as the local name.
+
+ This test is derived from getElementsByTagNameNS04
+</description>
+<date qualifier="created">2002-02-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-1938918D"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="result" type="List"/>
+<var name="expectedResult" type="List">
+<member>"address"</member>
+<member>"address"</member>
+<member>"address"</member>
+<member>"emp:address"</member>
+<member>"address"</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<documentElement var="docElem" obj="doc"/>
+<getElementsByTagNameNS interface="Element" obj="docElem" namespaceURI='"*"' localName='"address"' var="elementList"/>
+<for-each collection="elementList" member="child">
+<nodeName obj="child" var="childName"/>
+<append collection="result" item="childName"/>
+</for-each>
+<assertEquals actual="result" expected="expectedResult" id="nodeNames" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS12.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS12.xml
new file mode 100644
index 0000000..705ee6f
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS12.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS12">
+<metadata>
+<title>getElementsByTagNameNS12</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getElementsByTagNameNS(namespaceURI,localName)" method returns a NodeList
+ of all descendant Elements with a given local name and namespace URI in the
+ order in which they are encountered in a preorder traversal of this Element tree.
+
+ Create a NodeList of all the descendant elements
+ using the "http://www.nist.gov" as the namespaceURI and "nomatch" as the
+ localName.
+ The method should return a NodeList whose length is "0".
+
+ This test is a modification of getElementsByTagName05
+</description>
+<date qualifier="created">2001-02-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-1938918D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<documentElement var="docElem" obj="doc"/>
+<getElementsByTagNameNS interface="Element" obj="docElem" namespaceURI='"http://www.nist.gov"' localName='"nomatch"' var="elementList"/>
+<assertSize collection="elementList" size="0" id="size"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS13.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS13.xml
new file mode 100644
index 0000000..f806876
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS13.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS13">
+<metadata>
+<title>getElementsByTagNameNS13</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getElementsByTagNameNS(namespaceURI,localName)" method returns a NodeList
+ of all descendant Elements with a given local name and namespace URI in the
+ order in which they are encountered in a preorder traversal of this Element tree.
+
+ Create a NodeList of all the descendant elements
+ using the "http://www.nomatch.com" as the namespaceURI and "address" as the
+ localName.
+ The method should return a NodeList whose length is
+ "0".
+</description>
+<date qualifier="created">2001-02-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-1938918D"/>
+</metadata>
+<!-- test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<documentElement var="docElem" obj="doc"/>
+<getElementsByTagNameNS interface="Element" obj="docElem" namespaceURI='"http://www.nomatch.com"' localName='"address"' var="elementList"/>
+<assertSize collection="elementList" size="0" id="matchSize"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getElementsByTagNameNS14.xml b/test/testcases/tests/level2/core/getElementsByTagNameNS14.xml
new file mode 100644
index 0000000..bd6ed47
--- /dev/null
+++ b/test/testcases/tests/level2/core/getElementsByTagNameNS14.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getElementsByTagNameNS14">
+<metadata>
+<title>getElementsByTagNameNS14</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getElementsByTagNameNS(namespaceURI,localName)" method returns a NodeList
+ of all descendant Elements with a given local name and namespace URI in the
+ order in which they are encountered in a preorder traversal of this Element tree.
+
+ Create a NodeList of all the descendant elements
+ using the string "http://www.nist.gov" as the namespaceURI and "address" as the
+ localName.
+ The method should return a NodeList whose length is
+ "3".
+</description>
+<date qualifier="created">2002-02-28</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-1938918D"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<documentElement var="docElem" obj="doc"/>
+<getElementsByTagNameNS interface="Element" obj="docElem" namespaceURI='"http://www.nist.gov"' localName='"address"' var="elementList"/>
+<assertSize collection="elementList" size="3" id="addresses"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getNamedItemNS01.xml b/test/testcases/tests/level2/core/getNamedItemNS01.xml
new file mode 100644
index 0000000..aaecc27
--- /dev/null
+++ b/test/testcases/tests/level2/core/getNamedItemNS01.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getNamedItemNS01">
+<metadata>
+<title>getNamedItemNS01</title>
+<creator>NIST</creator>
+<description>
+ The "getNamedItemNS(namespaceURI,localName)" method for a
+ NamedNodeMap should return a node specified by localName and namespaceURI
+
+ Retrieve a list of elements with tag name "address".
+ Access the second element from the list and get its attributes.
+ Try to retrieve the attribute node with local name "domestic"
+ and namespace uri "http://www.usa.com" with
+ method getNamedItemNS(namespaceURI,localName).
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-F68D095"/>
+</metadata>
+<!-- this test requires the parser to be namespace aware -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="domesticAttr" type="Attr"/>
+<var name="attrName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"address"'/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="1"/>
+<attributes obj="testEmployee" var="attributes"/>
+<getNamedItemNS obj="attributes" var="domesticAttr" namespaceURI='"http://www.usa.com"' localName='"domestic"'/>
+<nodeName obj="domesticAttr" var="attrName"/>
+<assertEquals actual="attrName" expected='"dmstc:domestic"' id="attrName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getNamedItemNS02.xml b/test/testcases/tests/level2/core/getNamedItemNS02.xml
new file mode 100644
index 0000000..33347d4
--- /dev/null
+++ b/test/testcases/tests/level2/core/getNamedItemNS02.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getNamedItemNS02">
+<metadata>
+<title>getNamedItemNS02</title>
+<creator>NIST</creator>
+<description>
+ The "getNamedItemNS(namespaceURI,localName)" method for a
+ NamedNodeMap should return null
+ if parameters do not identify any node in this map.
+
+ Retrieve a list of elements with tag name "address".
+ Access the second element from the list and get its attributes.
+ Try to retrieve an attribute node with local name "domest"
+ and namespace uri "http://www.usa.com" with
+ method getNamedItemNS(namespaceURI,localName).
+ This should return null because "domest" does not match any local names in this map.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getNamedItemNS"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.usa.com&quot;"/>
+<var name="localName" type="DOMString" value="&quot;domest&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="newAttr" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="1"/>
+<attributes obj="testEmployee" var="attributes"/>
+<getNamedItemNS obj="attributes" var="newAttr" namespaceURI="namespaceURI" localName="localName"/>
+<assertNull actual="newAttr" id="throw_Null"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getNamedItemNS03.xml b/test/testcases/tests/level2/core/getNamedItemNS03.xml
new file mode 100644
index 0000000..e3a993a
--- /dev/null
+++ b/test/testcases/tests/level2/core/getNamedItemNS03.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2003-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getNamedItemNS03">
+<metadata>
+<title>getNamedItemNS03</title>
+<creator>Curt Arnold</creator>
+<description>
+Entity nodes are not namespaced and should not be retrievable using
+getNamedItemNS.
+</description>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2003-11-26</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getNamedItemNS"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="entity" type="Entity"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<doctype var="docType" obj="doc"/>
+<entities var="entities" obj="docType"/>
+<assertNotNull actual="entities" id="entitiesNotNull"/>
+<getNamedItemNS var="entity" obj="entities" namespaceURI="nullNS" localName='"ent1"'/>
+<assertNull actual="entity" id="entityNull"/>
+</test>
diff --git a/test/testcases/tests/level2/core/getNamedItemNS04.xml b/test/testcases/tests/level2/core/getNamedItemNS04.xml
new file mode 100644
index 0000000..cf38dba
--- /dev/null
+++ b/test/testcases/tests/level2/core/getNamedItemNS04.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="getNamedItemNS04">
+<metadata>
+<title>getNamedItemNS04</title>
+<creator>Curt Arnold</creator>
+<description>
+Notation nodes are not namespaced and should not be retrievable using
+getNamedItemNS.
+</description>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2003-11-26</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getNamedItemNS"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="notation" type="Notation"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<doctype var="docType" obj="doc"/>
+<notations var="notations" obj="docType"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItemNS var="notation" obj="notations" namespaceURI="nullNS" localName='"notation1"'/>
+<assertNull actual="notation" id="notationNull"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hasAttribute01.xml b/test/testcases/tests/level2/core/hasAttribute01.xml
new file mode 100644
index 0000000..1a2e35e
--- /dev/null
+++ b/test/testcases/tests/level2/core/hasAttribute01.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hasAttribute01">
+<metadata>
+<title>hasAttribute01</title>
+<creator>NIST</creator>
+<description>
+ The "hasAttribute()" method for an Element should
+ return true if the element has an attribute with the given name.
+
+ Retrieve the first "address" element and the "hasAttribute()" method
+ should return false since the element does not have a default value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttr"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testNode" type="Element"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testNode" index="4"/>
+<hasAttribute obj="testNode" var="state" name="&quot;domestic&quot;"/>
+<assertFalse actual="state" id="throw_False"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hasAttribute02.xml b/test/testcases/tests/level2/core/hasAttribute02.xml
new file mode 100644
index 0000000..431a898
--- /dev/null
+++ b/test/testcases/tests/level2/core/hasAttribute02.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hasAttribute02">
+<metadata>
+<title>hasAttribute02</title>
+<creator>NIST</creator>
+<description>
+ The "hasAttribute()" method for an Element should
+ return true if the element has an attribute with the given name.
+
+ Retrieve the first "address" element and the "hasAttribute()" method
+ should return true since the attribute "street" has a default value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttr"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=238"/>
+</metadata>
+<!-- only mandatory for validating parsers -->
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testNode" type="Element"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testNode" index="0"/>
+<hasAttribute obj="testNode" var="state" name="&quot;street&quot;"/>
+<assertTrue actual="state" id="throw_True"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hasAttribute03.xml b/test/testcases/tests/level2/core/hasAttribute03.xml
new file mode 100644
index 0000000..44f39c1
--- /dev/null
+++ b/test/testcases/tests/level2/core/hasAttribute03.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hasAttribute03">
+<metadata>
+<title>hasAttribute03</title>
+<creator>NIST</creator>
+<description>
+ The "hasAttribute()" method for an Element should
+ return false if the element does not have an attribute with the given name.
+
+ Retrieve the first "address" element and the "hasAttribute()" method
+ should return false since the element does not have "nomatch" as an attribute.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttr"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testNode" type="Element"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testNode" index="0"/>
+<hasAttribute obj="testNode" var="state" name="&quot;nomatch&quot;"/>
+<assertFalse actual="state" id="throw_False"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hasAttribute04.xml b/test/testcases/tests/level2/core/hasAttribute04.xml
new file mode 100644
index 0000000..df58285
--- /dev/null
+++ b/test/testcases/tests/level2/core/hasAttribute04.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hasAttribute04">
+<metadata>
+<title>hasAttribute04</title>
+<creator>NIST</creator>
+<description>
+ The "hasAttribute()" method for an Element should
+ return true if the element has an attribute with the given name.
+
+ Retrieve the first "address" element and the "hasAttribute()" method
+ should return true since the element has "domestic" as an attribute.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttr"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=238"/>
+</metadata>
+<!-- only mandatory for validating parsers -->
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testNode" type="Element"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"address"'/>
+<item interface="NodeList" obj="elementList" var="testNode" index="0"/>
+<hasAttribute obj="testNode" var="state" name='"dmstc:domestic"'/>
+<assertTrue actual="state" id="hasDomesticAttr"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hasAttributeNS01.xml b/test/testcases/tests/level2/core/hasAttributeNS01.xml
new file mode 100644
index 0000000..bbf2a74
--- /dev/null
+++ b/test/testcases/tests/level2/core/hasAttributeNS01.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hasAttributeNS01">
+<metadata>
+<title>hasAttributeNS01</title>
+<creator>NIST</creator>
+<description>
+
+ The "hasAttributeNS()" method for an Element should
+ return false if the element does not have an attribute with the given local name
+ and/or a namespace URI specified on this element or does not have a default value.
+
+ Retrieve the first "address" element and the "hasAttributeNS()" method
+ should return false since the element has "nomatch" as the local name
+ and "http://www.usa.com" as the namespace URI.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttrNS"/>
+</metadata>
+<var name="localName" type="DOMString" value="&quot;nomatch&quot;"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.usa.com&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testNode" type="Element"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testNode" index="0"/>
+<hasAttributeNS obj="testNode" var="state" namespaceURI="namespaceURI" localName="localName"/>
+<assertFalse actual="state" id="throw_False"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hasAttributeNS02.xml b/test/testcases/tests/level2/core/hasAttributeNS02.xml
new file mode 100644
index 0000000..7eee70b
--- /dev/null
+++ b/test/testcases/tests/level2/core/hasAttributeNS02.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hasAttributeNS02">
+<metadata>
+<title>hasAttributeNS02</title>
+<creator>NIST</creator>
+<description>
+ The "hasAttributeNS()" method for an Element should
+ return false if the element does not have an attribute with the given local name
+ and/or namespace URI specified on this element or does not have a default value.
+
+ Retrieve the first "address" element and the "hasAttributeNS()" method
+ should return false since the element has "domestic" as the local name
+ and "http://www.nomatch.com" as the namespace URI.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttrNS"/>
+</metadata>
+<var name="localName" type="DOMString" value="&quot;domestic&quot;"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.nomatch.com&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testNode" type="Element"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testNode" index="0"/>
+<hasAttributeNS obj="testNode" var="state" namespaceURI="namespaceURI" localName="localName"/>
+<assertFalse actual="state" id="throw_False"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hasAttributeNS03.xml b/test/testcases/tests/level2/core/hasAttributeNS03.xml
new file mode 100644
index 0000000..a7ea952
--- /dev/null
+++ b/test/testcases/tests/level2/core/hasAttributeNS03.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hasAttributeNS03">
+<metadata>
+<title>hasAttributeNS03</title>
+<creator>NIST</creator>
+<description>
+ The "hasAttributeNS()" method for an Element should
+ return false if the element does not have an attribute with the given local name
+ and/or namespace URI specified on this element or does not have a default value.
+
+ Retrieve the first "emp:address" element.
+ The boolean value returned by the "hasAttributeNS()" should be false
+ since the attribute does not have a default value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttrNS"/>
+</metadata>
+<var name="localName" type="DOMString" value="&quot;blank&quot;"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.nist.gov&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testNode" type="Element"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;emp:address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testNode" index="0"/>
+<assertNotNull actual="testNode" id="empAddrNotNull"/>
+<hasAttributeNS obj="testNode" var="state" namespaceURI="namespaceURI" localName="localName"/>
+<assertFalse actual="state" id="throw_False"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hasAttributeNS04.xml b/test/testcases/tests/level2/core/hasAttributeNS04.xml
new file mode 100644
index 0000000..dd3362f
--- /dev/null
+++ b/test/testcases/tests/level2/core/hasAttributeNS04.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hasAttributeNS04">
+<metadata>
+<title>hasAttributeNS04</title>
+<creator>NIST</creator>
+<description>
+ The "hasAttributeNS()" method for an Element should
+ return true if the attribute with the given local name
+ and namespace URI has a default value.
+
+ Retrieve the first "emp:address" element.
+ The boolean value returned by the "hasAttributeNS()" should be true
+ since the attribute has a default value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttrNS"/>
+</metadata>
+<!-- test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<implementationAttribute name="validating" value="true"/>
+<var name="localName" type="DOMString" value="&quot;district&quot;"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.nist.gov&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testNode" type="Element"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;emp:address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testNode" index="0"/>
+<assertNotNull actual="testNode" id="empAddressNotNull"/>
+<hasAttributeNS obj="testNode" var="state" namespaceURI="namespaceURI" localName="localName"/>
+<assertTrue actual="state" id="hasAttribute"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hasAttributeNS05.xml b/test/testcases/tests/level2/core/hasAttributeNS05.xml
new file mode 100644
index 0000000..b94bae7
--- /dev/null
+++ b/test/testcases/tests/level2/core/hasAttributeNS05.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hasAttributeNS05">
+<metadata>
+<title>hasAttributeNS05</title>
+<creator>NIST</creator>
+<description>
+ The "hasAttributeNS()" method for an Element should
+ return true if the element has an attribute with the given local name
+ and the namespace URI is specified on this element or has a default value.
+
+ Retrieve the first "address" element and the "hasAttributeNS()" method
+ should return true since the element has "domestic" as the local name
+ and "http://www.usa.com" as the namespace URI.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElHasAttrNS"/>
+</metadata>
+<!-- test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="localName" type="DOMString" value="&quot;domestic&quot;"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.usa.com&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testNode" type="Element"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testNode" index="0"/>
+<hasAttributeNS obj="testNode" var="state" namespaceURI="namespaceURI" localName="localName"/>
+<assertTrue actual="state" id="hasAttribute"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hasAttributes01.xml b/test/testcases/tests/level2/core/hasAttributes01.xml
new file mode 100644
index 0000000..c653e89
--- /dev/null
+++ b/test/testcases/tests/level2/core/hasAttributes01.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hasAttributes01">
+<metadata>
+<title>hasAttributes01</title>
+<creator>NIST</creator>
+<description>
+ The "hasAttributes()" method for a node should
+ return false if the node does not have an attribute.
+
+ Retrieve the first "name" node and invoke the "hasAttributes()" method.
+ The method should return false since the node does not have an attribute.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeHasAttrs"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addrList" type="NodeList"/>
+<var name="addrNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;name&quot;" var="addrList"/>
+<item interface="NodeList" obj="addrList" index="0" var="addrNode"/>
+<hasAttributes obj="addrNode" var="state"/>
+<assertFalse actual="state" id="throw_False"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hasAttributes02.xml b/test/testcases/tests/level2/core/hasAttributes02.xml
new file mode 100644
index 0000000..86c647e
--- /dev/null
+++ b/test/testcases/tests/level2/core/hasAttributes02.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hasAttributes02">
+<metadata>
+<title>hasAttributes02</title>
+<creator>NIST</creator>
+<description>
+ The "hasAttributes()" method for a node should
+ return true if the node has attributes.
+
+ Retrieve the first address node and the "hasAttributes()" method
+ should return true since the node has "domestic" as an attribute.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeHasAttrs"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addrList" type="NodeList"/>
+<var name="addrNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="addrList"/>
+<item interface="NodeList" obj="addrList" index="0" var="addrNode"/>
+<hasAttributes obj="addrNode" var="state"/>
+<assertTrue actual="state" id="throw_True"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hc_entitiesremovenameditemns1.xml b/test/testcases/tests/level2/core/hc_entitiesremovenameditemns1.xml
new file mode 100644
index 0000000..0a7a944
--- /dev/null
+++ b/test/testcases/tests/level2/core/hc_entitiesremovenameditemns1.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+--><!DOCTYPE test SYSTEM "dom2.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hc_entitiesremovenameditemns1">
+<metadata>
+<title>hc_entitiesremovenameditemns1</title>
+<creator>Curt Arnold</creator>
+<description>
+An attempt to add remove an entity using removeNamedItemNS should result in
+a NO_MODIFICATION_ERR or a NOT_FOUND_ERR.
+</description>
+<date qualifier="created">2004-01-11</date>
+<!-- DocumentType.entities -->
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-1788794630"/>
+<!-- NamedNodeMap.removeNamedItemNS -->
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-removeNamedItemNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="docType" type="DocumentType"/>
+<var name="retval" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<doctype var="docType" obj="doc"/>
+<if><not><contentType type="text/html"/></not>
+ <assertNotNull actual="docType" id="docTypeNotNull"/>
+ <entities var="entities" obj="docType"/>
+ <assertNotNull actual="entities" id="entitiesNotNull"/>
+ <try>
+ <removeNamedItemNS var="retval" obj="entities" namespaceURI='"http://www.w3.org/1999/xhtml"' localName='"alpha"'/>
+ <fail id="throw_NO_MOD_OR_NOT_FOUND_ERR"/>
+ <catch>
+ <DOMException code="NO_MODIFICATION_ALLOWED_ERR"/>
+ <DOMException code="NOT_FOUND_ERR"/>
+ </catch>
+ </try>
+</if>
+</test>
diff --git a/test/testcases/tests/level2/core/hc_entitiessetnameditemns1.xml b/test/testcases/tests/level2/core/hc_entitiessetnameditemns1.xml
new file mode 100644
index 0000000..9a446d7
--- /dev/null
+++ b/test/testcases/tests/level2/core/hc_entitiessetnameditemns1.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+--><!DOCTYPE test SYSTEM "dom2.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hc_entitiessetnameditemns1">
+<metadata>
+<title>hc_entitiessetnameditemns1</title>
+<creator>Curt Arnold</creator>
+<description>
+An attempt to add an element to the named node map returned by entities should
+result in a NO_MODIFICATION_ERR or HIERARCHY_REQUEST_ERR.
+</description>
+<date qualifier="created">2004-01-11</date>
+<!-- DocumentType.entities -->
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-1788794630"/>
+<!-- NamedNodeMap.setNamedItemNS -->
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-setNamedItemNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="docType" type="DocumentType"/>
+<var name="retval" type="Node"/>
+<var name="elem" type="Element"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<doctype var="docType" obj="doc"/>
+<if><not><contentType type="text/html"/></not>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities var="entities" obj="docType"/>
+<assertNotNull actual="entities" id="entitiesNotNull"/>
+<createElementNS var="elem" obj="doc" namespaceURI='"http://www.w3.org/1999/xhtml"' qualifiedName='"br"'/>
+<try>
+ <setNamedItemNS var="retval" obj="entities" arg="elem"/>
+ <fail id="throw_HIER_OR_NO_MOD_ERR"/>
+ <catch>
+ <DOMException code="HIERARCHY_REQUEST_ERR"/>
+ <DOMException code="NO_MODIFICATION_ALLOWED_ERR"/>
+ </catch>
+</try>
+</if>
+</test>
diff --git a/test/testcases/tests/level2/core/hc_namednodemapinvalidtype1.xml b/test/testcases/tests/level2/core/hc_namednodemapinvalidtype1.xml
new file mode 100644
index 0000000..d7f33df
--- /dev/null
+++ b/test/testcases/tests/level2/core/hc_namednodemapinvalidtype1.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+--><!DOCTYPE test SYSTEM "dom2.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hc_namednodemapinvalidtype1">
+<metadata>
+<title>hc_namednodemapinvalidtype1</title>
+<creator>Curt Arnold</creator>
+<description>
+Attempt to insert an element into an attribute list,
+should raise a HIERARCHY_REQUEST_ERR.
+</description>
+
+<date qualifier="created">2004-01-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788"/>
+<subject resource="http://www.w3.org/2000/11/DOM-Level-2-errata#core-4"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="docElem" type="Element"/>
+<var name="newElem" type="Element"/>
+<var name="retval" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<documentElement var="docElem" obj="doc"/>
+<attributes var="attributes" obj="docElem"/>
+<createElement var="newElem" obj="doc" tagName='"html"'/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+ <HIERARCHY_REQUEST_ERR>
+ <setNamedItem var="retval" obj="attributes" arg="newElem"/>
+ </HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/hc_nodedocumentfragmentnormalize1.xml b/test/testcases/tests/level2/core/hc_nodedocumentfragmentnormalize1.xml
new file mode 100644
index 0000000..af0a505
--- /dev/null
+++ b/test/testcases/tests/level2/core/hc_nodedocumentfragmentnormalize1.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+--><!DOCTYPE test SYSTEM "dom2.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hc_nodedocumentfragmentnormalize1">
+<metadata>
+<title>hc_nodedocumentfragmentnormalize1</title>
+<creator>Curt Arnold</creator>
+<description>
+Create a document fragment with two adjacent text nodes, normalize and see if the text nodes
+were combined.
+</description>
+
+<date qualifier="created">2004-01-10</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-B63ED1A3"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docFragment" type="DocumentFragment"/>
+<var name="nodeValue" type="DOMString"/>
+<var name="txtNode" type="Text"/>
+<var name="retval" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="docFragment"/>
+<createTextNode var="txtNode" obj="doc" data='"foo"'/>
+<appendChild var="retval" obj="docFragment" newChild="txtNode"/>
+<createTextNode var="txtNode" obj="doc" data='"bar"'/>
+<appendChild var="retval" obj="docFragment" newChild="txtNode"/>
+<normalize obj="docFragment"/>
+<firstChild var="txtNode" obj="docFragment" interface="Node"/>
+<nodeValue obj="txtNode" var="nodeValue"/>
+<assertEquals actual="nodeValue" expected='"foobar"' id="normalizedNodeValue" ignoreCase="false"/>
+<nextSibling var="retval" obj="txtNode" interface="Node"/>
+<assertNull actual="retval" id="singleChild"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hc_nodedocumentfragmentnormalize2.xml b/test/testcases/tests/level2/core/hc_nodedocumentfragmentnormalize2.xml
new file mode 100644
index 0000000..12dbfb5
--- /dev/null
+++ b/test/testcases/tests/level2/core/hc_nodedocumentfragmentnormalize2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+--><!DOCTYPE test SYSTEM "dom2.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hc_nodedocumentfragmentnormalize2">
+<metadata>
+<title>hc_nodedocumentfragmentnormalize1</title>
+<creator>Curt Arnold</creator>
+<description>
+Create a document fragment with an empty text node, after normalization there should be no child nodes.
+were combined.
+</description>
+
+<date qualifier="created">2004-01-10</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-B63ED1A3"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docFragment" type="DocumentFragment"/>
+<var name="nodeValue" type="DOMString"/>
+<var name="txtNode" type="Text"/>
+<var name="retval" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="docFragment"/>
+<createTextNode var="txtNode" obj="doc" data='""'/>
+<appendChild var="retval" obj="docFragment" newChild="txtNode"/>
+<normalize obj="docFragment"/>
+<firstChild var="txtNode" obj="docFragment" interface="Node"/>
+<assertNull actual="txtNode" id="noChild"/>
+</test>
diff --git a/test/testcases/tests/level2/core/hc_notationsremovenameditemns1.xml b/test/testcases/tests/level2/core/hc_notationsremovenameditemns1.xml
new file mode 100644
index 0000000..3268481
--- /dev/null
+++ b/test/testcases/tests/level2/core/hc_notationsremovenameditemns1.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+--><!DOCTYPE test SYSTEM "dom2.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hc_notationsremovenameditemns1">
+<metadata>
+<title>hc_notationsremovenameditemns1</title>
+<creator>Curt Arnold</creator>
+<description>
+An attempt to add remove an notation using removeNamedItemNS should result in
+a NO_MODIFICATION_ERR or a NOT_FOUND_ERR.
+</description>
+<date qualifier="created">2004-01-11</date>
+<!-- DocumentType.notations -->
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-D46829EF"/>
+<!-- NamedNodeMap.removeNamedItemNS -->
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-removeNamedItemNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="docType" type="DocumentType"/>
+<var name="retval" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<doctype var="docType" obj="doc"/>
+<if><not><contentType type="text/html"/></not>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations var="notations" obj="docType"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<try>
+ <removeNamedItemNS var="retval" obj="notations" namespaceURI='"http://www.w3.org/1999/xhtml"' localName='"alpha"'/>
+ <fail id="throw_NO_MOD_OR_NOT_FOUND_ERR"/>
+ <catch>
+ <DOMException code="NO_MODIFICATION_ALLOWED_ERR"/>
+ <DOMException code="NOT_FOUND_ERR"/>
+ </catch>
+</try>
+</if>
+</test>
diff --git a/test/testcases/tests/level2/core/hc_notationssetnameditemns1.xml b/test/testcases/tests/level2/core/hc_notationssetnameditemns1.xml
new file mode 100644
index 0000000..354401b
--- /dev/null
+++ b/test/testcases/tests/level2/core/hc_notationssetnameditemns1.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+--><!DOCTYPE test SYSTEM "dom2.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="hc_notationssetnameditemns1">
+<metadata>
+<title>hc_notationssetnameditemns1</title>
+<creator>Curt Arnold</creator>
+<description>
+An attempt to add an element to the named node map returned by notations should
+result in a NO_MODIFICATION_ERR or HIERARCHY_REQUEST_ERR.
+</description>
+<date qualifier="created">2004-01-11</date>
+<!-- DocumentType.notations -->
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-D46829EF"/>
+<!-- NamedNodeMap.setNamedItemNS -->
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-setNamedItemNS"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="docType" type="DocumentType"/>
+<var name="retval" type="Node"/>
+<var name="elem" type="Element"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<doctype var="docType" obj="doc"/>
+<if><not><contentType type="text/html"/></not>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations var="notations" obj="docType"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<createElementNS var="elem" obj="doc" namespaceURI='"http://www.w3.org/1999/xhtml"' qualifiedName='"br"'/>
+<try>
+ <setNamedItemNS var="retval" obj="notations" arg="elem"/>
+ <fail id="throw_HIER_OR_NO_MOD_ERR"/>
+ <catch>
+ <DOMException code="HIERARCHY_REQUEST_ERR"/>
+ <DOMException code="NO_MODIFICATION_ALLOWED_ERR"/>
+ </catch>
+</try>
+</if>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode01.xml b/test/testcases/tests/level2/core/importNode01.xml
new file mode 100644
index 0000000..007170d
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode01.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="importNode01">
+<metadata>
+<title>importNode01</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should import the given importedNode into that Document.
+ The importedNode is of type Attr.
+ The ownerElement is set to null. Specified flag is set to true.
+ Children is imported.
+
+ Create a new attribute whose name is "elem:attr1" in a different document.
+ Create a child Text node with value "importedText" for the attribute node above.
+ Invoke method importNode(importedNode,deep) on this document with
+ importedNode being the newly created attribute.
+ Method should return a node whose name matches "elem:attr1" and a child node
+ whose value equals "importedText".
+ The returned node should belong to this document whose systemId is "staff.dtd"
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="aNewDoc" type="Document"/>
+<var name="newAttr" type="Attr"/>
+<var name="importedChild" type="Text"/>
+<var name="aNode" type="Node"/>
+<var name="ownerDocument" type="Document"/>
+<var name="attrOwnerElement" type="Element"/>
+<var name="docType" type="DocumentType"/>
+<var name="system" type="DOMString"/>
+<var name="specified" type="boolean"/>
+<var name="childList" type="NodeList"/>
+<var name="nodeName" type="DOMString"/>
+<var name="child" type="Node"/>
+<var name="childValue" type="DOMString"/>
+<var name="result" type="List"/>
+<var name="expectedResult" type="List">
+<member>"elem:attr1"</member>
+<member>"importedText"</member>
+</var>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="aNewDoc" href="staffNS" willBeModified="true"/>
+<createAttribute obj="aNewDoc" var="newAttr" name='"elem:attr1"'/>
+<createTextNode obj="aNewDoc" var="importedChild" data='"importedText"'/>
+<appendChild obj="newAttr" var="aNode" newChild="importedChild"/>
+<importNode obj="doc" var="aNode" importedNode="newAttr" deep="false"/>
+<ownerDocument obj="aNode" var="ownerDocument"/>
+<doctype obj="ownerDocument" var="docType"/>
+<systemId interface="DocumentType" obj="docType" var="system"/>
+<assertNotNull actual="aNode" id="aNode"/>
+<assertURIEquals actual="system" file='"staffNS.dtd"' id="systemId"/>
+<ownerElement obj="aNode" var="attrOwnerElement"/>
+<assertNull actual="attrOwnerElement" id="ownerElement"/>
+<specified obj="aNode" var="specified"/>
+<assertTrue actual="specified" id="specified"/>
+<childNodes obj="aNode" var="childList"/>
+<assertSize collection="childList" size="1" id="childList"/>
+<nodeName obj="aNode" var="nodeName"/>
+<assertEquals actual="nodeName" id="nodeName" ignoreCase="false" expected='"elem:attr1"'/>
+<firstChild interface="Node" obj="aNode" var="child"/>
+<nodeValue obj="child" var="childValue"/>
+<assertEquals actual="childValue" id="childValue" ignoreCase="false" expected='"importedText"'/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode02.xml b/test/testcases/tests/level2/core/importNode02.xml
new file mode 100644
index 0000000..7ec1b19
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode02.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="importNode02">
+<metadata>
+<title>importNode02</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should import the given importedNode into that Document.
+ The importedNode is of type CData_Section.
+
+ Create a CDATASection node with value being the string "this is CDATASection data" in
+ a different document. Invoke method importNode(importedNode,deep) on
+ this document. Method should return a CDATASection node whose value matches
+ the above string. The returned node should belong to this document whose systemId is "staff.dtd"
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="aNewDoc" type="Document"/>
+<var name="cDataSec" type="CDATASection"/>
+<var name="aNode" type="Node"/>
+<var name="ownerDocument" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="system" type="DOMString"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="aNewDoc" href="staffNS" willBeModified="true"/>
+<createCDATASection obj="aNewDoc" var="cDataSec" data='"this is CDATASection data"'/>
+<importNode obj="doc" var="aNode" importedNode="cDataSec" deep="false"/>
+<ownerDocument obj="aNode" var="ownerDocument"/>
+<assertNotNull actual="ownerDocument" id="ownerDocumentNotNull"/>
+<doctype obj="ownerDocument" var="docType"/>
+<systemId interface="DocumentType" obj="docType" var="system"/>
+<assertURIEquals actual="system" file='"staffNS.dtd"' id="dtdSystemId"/>
+<nodeValue obj="aNode" var="value"/>
+<assertEquals actual="value" expected='"this is CDATASection data"' id="nodeValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode03.xml b/test/testcases/tests/level2/core/importNode03.xml
new file mode 100644
index 0000000..630e3ff
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode03.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="importNode03">
+<metadata>
+<title>importNode03</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should import the given importedNode into that Document.
+ The importedNode is of type Comment.
+
+ Create a comment node with value being the string "this is a comment" in
+ a different document. Invoke method importNode(importedNode,deep) on
+ this document. Method should return a comment node whose value matches
+ the above string. The returned node should belong to this document whose
+ systemId is "staff.dtd"
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="aNewDoc" type="Document"/>
+<var name="comment" type="Comment"/>
+<var name="aNode" type="Node"/>
+<var name="ownerDocument" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="system" type="DOMString"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="aNewDoc" href="staffNS" willBeModified="true"/>
+<createComment obj="aNewDoc" var="comment" data='"this is a comment"'/>
+<importNode obj="doc" var="aNode" importedNode="comment" deep="false"/>
+<ownerDocument obj="aNode" var="ownerDocument"/>
+<assertNotNull actual="ownerDocument" id="ownerDocumentNotNull"/>
+<doctype obj="ownerDocument" var="docType"/>
+<systemId interface="DocumentType" obj="docType" var="system"/>
+<assertURIEquals actual="system" file='"staffNS.dtd"' id="systemId"/>
+<nodeValue obj="aNode" var="value"/>
+<assertEquals actual="value" expected='"this is a comment"' id="nodeValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode04.xml b/test/testcases/tests/level2/core/importNode04.xml
new file mode 100644
index 0000000..69e12e9
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode04.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="importNode04">
+<metadata>
+<title>importNode04</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should import the given importedNode into that Document.
+ The importedNode is of type Document_Fragment.
+
+ Create a DocumentFragment in a different document.
+ Create a Comment child node for the Document Fragment.
+ Invoke method importNode(importedNode,deep) on this document
+ with importedNode being the newly created DocumentFragment.
+ Method should return a node of type DocumentFragment whose child has
+ comment value "descendant1".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="aNewDoc" type="Document"/>
+<var name="docFrag" type="DocumentFragment"/>
+<var name="comment" type="Comment"/>
+<var name="aNode" type="Node"/>
+<var name="children" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<load var="aNewDoc" href="staff" willBeModified="true"/>
+<createDocumentFragment obj="aNewDoc" var="docFrag"/>
+<createComment obj="aNewDoc" var="comment" data='"descendant1"'/>
+<appendChild obj="docFrag" var="aNode" newChild="comment"/>
+<importNode obj="doc" var="aNode" importedNode="docFrag" deep="true"/>
+<childNodes obj="aNode" var="children"/>
+<assertSize collection="children" size="1" id="throw_Size"/>
+<firstChild interface="Node" obj="aNode" var="child"/>
+<nodeValue obj="child" var="childValue"/>
+<assertEquals actual="childValue" expected='"descendant1"' id="descendant1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode05.xml b/test/testcases/tests/level2/core/importNode05.xml
new file mode 100644
index 0000000..2cd83de
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode05.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="importNode05">
+<metadata>
+<title>importNode05</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should import the given importedNode into that Document.
+ The importedNode is of type Element.
+
+ Retrieve element "emp:address" from staffNS.xml document.
+ Invoke method importNode(importedNode,deep) on this document
+ with importedNode being the element from above and deep is false.
+ Method should return an element node whose name matches "emp:address"
+ and whose children are not imported. The returned node should
+ belong to this document whose systemId is "staff.dtd"
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="aNewDoc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="aNode" type="Node"/>
+<var name="hasChild" type="boolean"/>
+<var name="ownerDocument" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="system" type="DOMString"/>
+<var name="name" type="DOMString"/>
+<var name="addresses" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="aNewDoc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName var="addresses" obj="aNewDoc" interface="Document" tagname='"emp:address"'/>
+<item var="element" obj="addresses" interface="NodeList" index="0"/>
+<assertNotNull actual="element" id="empAddressNotNull"/>
+<importNode obj="doc" var="aNode" importedNode="element" deep="false"/>
+<hasChildNodes obj="aNode" var="hasChild"/>
+<assertFalse actual="hasChild" id="hasChild"/>
+<ownerDocument obj="aNode" var="ownerDocument"/>
+<doctype obj="ownerDocument" var="docType"/>
+<systemId interface="DocumentType" obj="docType" var="system"/>
+<assertURIEquals actual="system" file='"staffNS.dtd"' id="dtdSystemId"/>
+<nodeName obj="aNode" var="name"/>
+<assertEquals actual="name" expected='"emp:address"' id="nodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode06.xml b/test/testcases/tests/level2/core/importNode06.xml
new file mode 100644
index 0000000..c7999ad
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode06.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="importNode06">
+<metadata>
+<title>importNode06</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should import the given importedNode into that Document.
+ The importedNode is of type Element.
+
+ Retrieve element "emp:address" from staffNS.xml document.
+ Invoke method importNode(importedNode,deep) on this document
+ with importedNode being the element from above and deep is true.
+ Method should return an element node whose name matches "emp:address" and
+ whose descendant is imported.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="aNewDoc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="aNode" type="Node"/>
+<var name="hasChild" type="boolean"/>
+<var name="name" type="DOMString"/>
+<var name="child" type="Node"/>
+<var name="value" type="DOMString"/>
+<var name="addresses" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="aNewDoc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName var="addresses" obj="aNewDoc" interface="Document" tagname='"emp:address"'/>
+<item var="element" obj="addresses" interface="NodeList" index="0"/>
+<assertNotNull actual="element" id="empAddressNotNull"/>
+<importNode obj="doc" var="aNode" importedNode="element" deep="true"/>
+<hasChildNodes obj="aNode" var="hasChild"/>
+<assertTrue actual="hasChild" id="throw_True"/>
+<nodeName obj="aNode" var="name"/>
+<assertEquals actual="name" expected='"emp:address"' id="nodeName" ignoreCase="false"/>
+<firstChild interface="Node" obj="aNode" var="child"/>
+<nodeValue obj="child" var="value"/>
+<assertEquals actual="value" expected='"27 South Road. Dallas, texas 98556"' id="nodeValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode07.xml b/test/testcases/tests/level2/core/importNode07.xml
new file mode 100644
index 0000000..fb2e562
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode07.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="importNode07">
+<metadata>
+<title>importNode07</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should import the given importedNode into that Document.
+ The importedNode is of type Element.
+ If this document defines default attributes for this element name (importedNode),
+ those default attributes are assigned.
+
+ Create an element whose name is "emp:employee" in a different document.
+ Invoke method importNode(importedNode,deep) on this document which
+ defines default attribute for the element name "emp:employee".
+ Method should return an the imported element with an assigned default attribute.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=238"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="aNewDoc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="aNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="name" type="DOMString"/>
+<var name="attr" type="Node"/>
+<var name="lname" type="DOMString"/>
+<var name="namespaceURI" type="DOMString" value='"http://www.nist.gov"'/>
+<var name="qualifiedName" type="DOMString" value='"emp:employee"'/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="aNewDoc" href="staff" willBeModified="true"/>
+<createElementNS obj="aNewDoc" var="element" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<importNode obj="doc" var="aNode" importedNode="element" deep="false"/>
+<attributes obj="aNode" var="attributes"/>
+<assertSize collection="attributes" size="1" id="throw_Size"/>
+<nodeName obj="aNode" var="name"/>
+<assertEquals actual="name" expected='"emp:employee"' ignoreCase="false" id="nodeName"/>
+<item interface="NamedNodeMap" obj="attributes" var="attr" index="0"/>
+<localName obj="attr" var="lname"/>
+<assertEquals actual="lname" expected='"defaultAttr"' ignoreCase="false" id="lname"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode08.xml b/test/testcases/tests/level2/core/importNode08.xml
new file mode 100644
index 0000000..626de46
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode08.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="importNode08">
+<metadata>
+<title>importNode08</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should import the given importedNode into that Document.
+ The importedNode is of type Document_Fragment.
+
+ Create a DocumentFragment in a different document.
+ Invoke method importNode(importedNode,deep) on this document
+ with importedNode being the newly created DocumentFragment.
+ Method should return an empty DocumentFragment that belongs
+ to this document whose systemId is "staff.dtd"
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-Core-DocType-systemId"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="aNewDoc" type="Document"/>
+<var name="docFrag" type="DocumentFragment"/>
+<var name="aNode" type="Node"/>
+<var name="hasChild" type="boolean"/>
+<var name="ownerDocument" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="system" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="aNewDoc" href="staffNS" willBeModified="true"/>
+<createDocumentFragment obj="aNewDoc" var="docFrag"/>
+<importNode obj="doc" var="aNode" importedNode="docFrag" deep="false"/>
+<hasChildNodes obj="aNode" var="hasChild"/>
+<assertFalse actual="hasChild" id="hasChild"/>
+<ownerDocument obj="aNode" var="ownerDocument"/>
+<doctype obj="ownerDocument" var="docType"/>
+<systemId interface="DocumentType" obj="docType" var="system"/>
+<assertURIEquals actual="system" file='"staffNS.dtd"' id="system"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode09.xml b/test/testcases/tests/level2/core/importNode09.xml
new file mode 100644
index 0000000..5d07022
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode09.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="importNode09">
+<metadata>
+<title>importNode09</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should import the given importedNode into that Document.
+ The importedNode is of type Entity.
+
+ Retrieve entity "ent6" from staffNS.xml document.
+ Invoke method importNode(importedNode,deep) on this document.
+ Method should return a node of type Entity whose publicId, systemId and
+ notationName attributes are copied.
+ The returned node should belong to this document whose systemId is "staff.dtd"
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="aNewDoc" type="Document"/>
+<var name="doc1Type" type="DocumentType"/>
+<var name="entityList" type="NamedNodeMap"/>
+<var name="entity2" type="Entity"/>
+<var name="entity1" type="Entity"/>
+<var name="ownerDocument" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="system" type="DOMString"/>
+<var name="entityName" type="DOMString"/>
+<var name="publicVal" type="DOMString"/>
+<var name="notationName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="aNewDoc" href="staffNS" willBeModified="true"/>
+<doctype obj="aNewDoc" var="docType"/>
+<entities obj="docType" var="entityList"/>
+<assertNotNull actual="entityList" id="entitiesNotNull"/>
+<getNamedItem obj="entityList" var="entity2" name='"ent6"'/>
+<importNode obj="doc" var="entity1" importedNode="entity2" deep="false"/>
+<ownerDocument obj="entity1" var="ownerDocument"/>
+<doctype obj="ownerDocument" var="docType"/>
+<systemId interface="DocumentType" obj="docType" var="system"/>
+<assertURIEquals actual="system" file='"staffNS.dtd"' id="dtdSystemId"/>
+<nodeName obj="entity1" var="entityName"/>
+<assertEquals actual="entityName" expected='"ent6"' ignoreCase="false" id="entityName"/>
+<publicId interface="Entity" obj="entity1" var="publicVal"/>
+<assertEquals actual="publicVal" expected='"uri"' ignoreCase="false" id="entityPublicId"/>
+<systemId interface="Entity" obj="entity1" var="system"/>
+<assertURIEquals actual="system" file='"file"' id="entitySystemId"/>
+<notationName obj="entity1" var="notationName"/>
+<assertEquals actual="notationName" expected='"notation2"' ignoreCase="false" id="notationName"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode10.xml b/test/testcases/tests/level2/core/importNode10.xml
new file mode 100644
index 0000000..1e5de0f
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode10.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="importNode10">
+<metadata>
+<title>importNode10</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should import the given importedNode into that Document.
+ The importedNode is of type Entity_Reference.
+ Only the EntityReference is copied, regardless of deep's value.
+
+ Create an entity reference whose name is "entRef1" in a different document.
+ Give it value "entRef1Value".
+ Invoke method importNode(importedNode,deep) on this document with importedNode
+ being "entRef1".
+ Method should return a node of type Entity_Reference (whose value is null) that
+ belongs to this document whose systemId is "staff.dtd".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="aNewDoc" type="Document"/>
+<var name="entRef" type="EntityReference"/>
+<var name="aNode" type="Node"/>
+<var name="ownerDocument" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="system" type="DOMString"/>
+<var name="name" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="aNewDoc" href="staffNS" willBeModified="true"/>
+<createEntityReference obj="aNewDoc" var="entRef" name='"entRef1"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<nodeValue obj="entRef" value='"entRef1Value"'/>
+<importNode obj="doc" var="aNode" importedNode="entRef" deep="false"/>
+<ownerDocument obj="aNode" var="ownerDocument"/>
+<doctype obj="ownerDocument" var="docType"/>
+<systemId interface="DocumentType" obj="docType" var="system"/>
+<assertURIEquals actual="system" file='"staffNS.dtd"' id="systemId"/>
+<nodeName obj="aNode" var="name"/>
+<assertEquals actual="name" expected='"entRef1"' id="nodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode11.xml b/test/testcases/tests/level2/core/importNode11.xml
new file mode 100644
index 0000000..68ea4fb
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode11.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="importNode11">
+<metadata>
+<title>importNode11</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should import the given importedNode into that Document.
+ The importedNode is of type Entity_Reference.
+ Only the EntityReference is copied, regardless of deep's value.
+ If the Document provides a definition for the entity name, its value is assigned.
+
+ Create an entity reference whose name is "ent3" in a different document.
+ Invoke method importNode(importedNode,deep) on this document with importedNode
+ being "ent3".
+ Method should return a node of type Entity_Reference whose first child's value is "Texas" as defined
+ in this document.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="aNewDoc" type="Document"/>
+<var name="entRef" type="EntityReference"/>
+<var name="aNode" type="Node"/>
+<var name="name" type="DOMString"/>
+<var name="child" type="Node"/>
+<var name="childValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<load var="aNewDoc" href="staff" willBeModified="true"/>
+<createEntityReference obj="aNewDoc" var="entRef" name='"ent3"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<importNode obj="doc" var="aNode" importedNode="entRef" deep="true"/>
+<nodeName obj="aNode" var="name"/>
+<assertEquals actual="name" id="entityName" expected='"ent3"' ignoreCase="false"/>
+<firstChild interface="Node" obj="aNode" var="child"/>
+<assertNotNull id="child" actual="child"/>
+<nodeValue obj="child" var="childValue"/>
+<assertEquals actual="childValue" id="childValue" expected='"Texas"' ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode12.xml b/test/testcases/tests/level2/core/importNode12.xml
new file mode 100644
index 0000000..b5522b1
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode12.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program 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 W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom2.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="importNode12">
+<metadata>
+<title>importNode12</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should import the given importedNode into that Document.
+ The importedNode is of type Entity.
+
+ Retrieve entity "ent4" from staffNS.xml document.
+ Invoke method importNode(importedNode,deep) on this document with deep as false.
+ Method should return a node of type Entity whose descendant is copied.
+ The returned node should belong to this document whose systemId is "staffNS.dtd"
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Core-Document-importNode"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="aNewDoc" type="Document"/>
+<var name="doc1Type" type="DocumentType"/>
+<var name="entityList" type="NamedNodeMap"/>
+<var name="entity2" type="Entity"/>
+<var name="entity1" type="Entity"/>
+<var name="ownerDocument" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="system" type="DOMString"/>
+<var name="entityName" type="DOMString"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="aNewDoc" href="staffNS" willBeModified="true"/>
+<doctype obj="aNewDoc" var="doc1Type"/>
+<entities obj="doc1Type" var="entityList"/>