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"/>
+<assertNotNull actual="entityList" id="entitiesNotNull"/>
+<getNamedItem obj="entityList" var="entity2" name='"ent4"'/>
+<importNode obj="doc" var="entity1" importedNode="entity2" deep="true"/>
+<ownerDocument obj="entity1" var="ownerDocument"/>
+<doctype obj="ownerDocument" var="docType"/>
+<systemId interface="DocumentType" obj="docType" var="system"/>
+<assertURIEquals actual="system" file='"staffNS.dtd"' id="systemId"/>
+<nodeName obj="entity1" var="entityName"/>
+<assertEquals actual="entityName" expected='"ent4"' id="entityName" ignoreCase="false"/>
+<firstChild interface="Node" obj="entity1" var="child"/>
+<assertNotNull actual="child" id="notnull"/>
+<nodeName obj="child" var="childName"/>
+<assertEquals actual="childName" expected='"entElement1"' id="childName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode13.xml b/test/testcases/tests/level2/core/importNode13.xml
new file mode 100644
index 0000000..e60e4e4
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode13.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="importNode13">
+<metadata>
+<title>importNode13</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 Notation.
+
+ Retrieve notation named "notation1" from document staffNS.xml.
+ Invoke method importNode(importedNode,deep) where importedNode
+ contains the retrieved notation and deep is false. Method should
+ return a node of type notation whose name is "notation1".
+ 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="notationList" type="NamedNodeMap"/>
+<var name="notation" type="Notation"/>
+<var name="aNode" type="Notation"/>
+<var name="ownerDocument" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="system" type="DOMString"/>
+<var name="publicVal" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="aNewDoc" href="staffNS" willBeModified="true"/>
+<doctype obj="aNewDoc" var="doc1Type"/>
+<notations obj="doc1Type" var="notationList"/>
+<assertNotNull actual="notationList" id="notationsNotNull"/>
+<getNamedItem obj="notationList" var="notation" name='"notation1"'/>
+<importNode obj="doc" var="aNode" importedNode="notation" 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"/>
+<publicId interface="Notation" obj="aNode" var="publicVal"/>
+<assertEquals actual="publicVal" expected='"notation1File"' id="publicId" ignoreCase="false"/>
+<systemId interface="Notation" obj="aNode" var="system"/>
+<assertNull actual="system" id="notationSystemId"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode14.xml b/test/testcases/tests/level2/core/importNode14.xml
new file mode 100644
index 0000000..995d107
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode14.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="importNode14">
+<metadata>
+<title>importNode14</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 Processing Instruction.
+
+ Create a processing instruction with target as "target1" and data as "data1"
+ in a different document. Invoke method importNode(importedNode,deep) on this document.
+ Method should return a processing instruction whose target and data match the given
+ parameters. The returned PI 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="pi" type="ProcessingInstruction"/>
+<var name="aNode" type="ProcessingInstruction"/>
+<var name="ownerDocument" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="system" type="DOMString"/>
+<var name="target" type="DOMString"/>
+<var name="data" type="DOMString"/>
+<var name="result" type="List"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="aNewDoc" href="staffNS" willBeModified="true"/>
+<createProcessingInstruction obj="aNewDoc" var="pi" target='"target1"' data='"data1"'/>
+<importNode obj="doc" var="aNode" importedNode="pi" 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"/>
+<target interface="ProcessingInstruction" obj="aNode" var="target"/>
+<assertEquals actual="target" expected='"target1"' id="piTarget" ignoreCase="false"/>
+<data interface="ProcessingInstruction" obj="aNode" var="data"/>
+<assertEquals actual="data" expected='"data1"' id="piData" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode15.xml b/test/testcases/tests/level2/core/importNode15.xml
new file mode 100644
index 0000000..fd157aa
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode15.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="importNode15">
+<metadata>
+<title>importNode15</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 Text.
+
+ Create a text node with value being the string "this is text data" in
+ a different document. Invoke method importNode(importedNode,deep) on
+ this document. Method should return a text 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="text" type="Text"/>
+<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"/>
+<createTextNode obj="aNewDoc" var="text" data='"this is text data"'/>
+<importNode obj="doc" var="aNode" importedNode="text" 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 text data"' id="nodeValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode16.xml b/test/testcases/tests/level2/core/importNode16.xml
new file mode 100644
index 0000000..b0522c4
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode16.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="importNode16">
+<metadata>
+<title>importNode16</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should raise NOT_SUPPORTED_ERR DOMException if
+ the type of node being imported is DocumentType.
+
+ Retrieve document staff.xml and get its type.
+ Invoke method importNode(importedNode,deep) where importedNode
+ contains the document type of the staff.xml.
+ Method should raise NOT_SUPPORT_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='NOT_SUPPORTED_ERR'])"/>
+<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#xpointer(id('Core-Document-importNode')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_SUPPORTED_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="anotherDoc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="node" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="anotherDoc" href="staffNS" willBeModified="true"/>
+<doctype obj="anotherDoc" var="docType"/>
+<assertDOMException id="throw_NOT_SUPPORTED_ERR">
+<NOT_SUPPORTED_ERR>
+<importNode obj="doc" var="node" importedNode="docType" deep="false"/>
+</NOT_SUPPORTED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/importNode17.xml b/test/testcases/tests/level2/core/importNode17.xml
new file mode 100644
index 0000000..954735f
--- /dev/null
+++ b/test/testcases/tests/level2/core/importNode17.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="importNode17">
+<metadata>
+<title>importNode17</title>
+<creator>NIST</creator>
+<description>
+ The "importNode(importedNode,deep)" method for a
+ Document should raise NOT_SUPPORTED_ERR DOMException if
+ the type of node being imported is Document.
+
+ Retrieve staff.xml document.
+ Invoke method importNode(importedNode,deep) where importedNode
+ contains staff.xml and deep is true.
+ Method should raise NOT_SUPPORTED_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='NOT_SUPPORTED_ERR'])"/>
+<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#xpointer(id('Core-Document-importNode')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_SUPPORTED_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="anotherDoc" type="Document"/>
+<var name="node" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="anotherDoc" href="staffNS" willBeModified="true"/>
+<assertDOMException id="throw_NOT_SUPPORTED_ERR">
+<NOT_SUPPORTED_ERR>
+<importNode obj="doc" var="node" importedNode="anotherDoc" deep="false"/>
+</NOT_SUPPORTED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/internalSubset01.xml b/test/testcases/tests/level2/core/internalSubset01.xml
new file mode 100644
index 0000000..59902c5
--- /dev/null
+++ b/test/testcases/tests/level2/core/internalSubset01.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="internalSubset01">
+<metadata>
+<title>internalSubset01</title>
+<creator>NIST</creator>
+<description>
+ The "getInternalSubset()" method returns
+ the internal subset as a string or null if there is none.
+ This does not contain the delimiting brackets.
+
+ Retrieve the documenttype.
+ Apply the "getInternalSubset()" method. Null is returned since there
+ is not an internal subset.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-07-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-Core-DocType-internalSubset"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="internal" type="DOMString"/>
+<load var="doc" href="staff2" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<internalSubset obj="docType" var="internal"/>
+<assertNull actual="internal" id="internalSubsetNull"/>
+</test>
diff --git a/test/testcases/tests/level2/core/isSupported01.xml b/test/testcases/tests/level2/core/isSupported01.xml
new file mode 100644
index 0000000..9d31d1f
--- /dev/null
+++ b/test/testcases/tests/level2/core/isSupported01.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="isSupported01">
+<metadata>
+<title>isSupported01</title>
+<creator>NIST</creator>
+<description>
+ The "feature" parameter in the
+ isSupported(feature,version)" method is the name
+ of the feature and the version is the version number of the
+ feature to test. XXX is NOT a legal value for the feature parameter.
+ The method should return "false" since XXX is not a valid feature.
+
+ Retrieve the root node of the DOM document by invoking
+ the "getDocumentElement()" method. This should create a
+ node object on which the "isSupported(feature,version)"
+ method is invoked with "feature" equal to "XXX" and version to "1.0".
+ The method should return a boolean "false" since XXX is not a valid feature.
+</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-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<isSupported obj="rootNode" feature="&quot;XXX&quot;" version="&quot;1.0&quot;" var="state"/>
+<assertFalse actual="state" id="throw_False"/>
+</test>
diff --git a/test/testcases/tests/level2/core/isSupported02.xml b/test/testcases/tests/level2/core/isSupported02.xml
new file mode 100644
index 0000000..3d7444d
--- /dev/null
+++ b/test/testcases/tests/level2/core/isSupported02.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="isSupported02">
+<metadata>
+<title>isSupported02</title>
+<creator>NIST</creator>
+<description>
+ The "feature" parameter in the
+ isSupported(feature,version)" method is the name
+ of the feature and the version is the version number of the
+ feature to test. XML is a legal value for the feature parameter.
+ The method should return "false" since 9.0 is not a valid version.
+
+ Retrieve the root node of the DOM document by invoking
+ the "getDocumentElement()" method. This should create a
+ node object on which the "isSupported(feature,version)"
+ method is invoked with "feature" equal to "XML" and version to "9.0".
+ The method should return a boolean "false" since 9.0 is not a valid version.
+</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-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<isSupported obj="rootNode" feature="&quot;XML&quot;" version="&quot;9.0&quot;" var="state"/>
+<assertFalse actual="state" id="throw_False"/>
+</test>
diff --git a/test/testcases/tests/level2/core/isSupported04.xml b/test/testcases/tests/level2/core/isSupported04.xml
new file mode 100644
index 0000000..18dfd28
--- /dev/null
+++ b/test/testcases/tests/level2/core/isSupported04.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="isSupported04">
+<metadata>
+<title>isSupported04</title>
+<creator>NIST</creator>
+<description>
+ The "feature" parameter in the
+ isSupported(feature,version)" method is the name
+ of the feature and the version is the version number of the
+ feature to test. XML is a legal value for the feature parameter
+ (Test for xml, lower case).
+ Legal values for the version parameter are 1.0 and 2.0
+ (Test for 1.0).
+
+ Retrieve the root node of the DOM document by invoking
+ the "getDocumentElement()" method. This should create a
+ node object on which the "isSupported(feature,version)"
+ method is invoked with "feature" equal to "xml" and the version equal to 1.0.
+ 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<isSupported obj="rootNode" feature="&quot;xml&quot;" version="&quot;1.0&quot;" var="state"/>
+<assertTrue actual="state" id="throw_True"/>
+</test>
diff --git a/test/testcases/tests/level2/core/isSupported05.xml b/test/testcases/tests/level2/core/isSupported05.xml
new file mode 100644
index 0000000..0339f8f
--- /dev/null
+++ b/test/testcases/tests/level2/core/isSupported05.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="isSupported05">
+<metadata>
+<title>isSupported05</title>
+<creator>NIST</creator>
+<description>
+ The "feature" parameter in the
+ isSupported(feature,version)" method is the name
+ of the feature and the version is the version number of the
+ feature to test. Core is a legal value for the feature parameter
+ (Test for core, lower case).
+ Legal values for the version parameter are 1.0 and 2.0
+ (Test for 2.0).
+
+ Retrieve the root node of the DOM document by invoking
+ the "getDocumentElement()" method. This should create a
+ node object on which the "isSupported(feature,version)"
+ method is invoked with "feature" equal to "core" and the version equal to 2.0.
+ 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<isSupported obj="rootNode" feature="&quot;core&quot;" version="&quot;2.0&quot;" var="state"/>
+<assertTrue actual="state" id="throw_True"/>
+</test>
diff --git a/test/testcases/tests/level2/core/isSupported06.xml b/test/testcases/tests/level2/core/isSupported06.xml
new file mode 100644
index 0000000..23a2063
--- /dev/null
+++ b/test/testcases/tests/level2/core/isSupported06.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="isSupported06">
+<metadata>
+<title>isSupported06</title>
+<creator>NIST</creator>
+<description>
+ The "feature" parameter in the
+ isSupported(feature,version)" method is the name
+ of the feature and the version is the version number of the
+ feature to test. XML is a legal value for the feature parameter
+ (Test for xml, lower case).
+ Legal values for the version parameter are 1.0 and 2.0
+ (Test for 2.0).
+
+ Retrieve the root node of the DOM document by invoking
+ the "getDocumentElement()" method. This should create a
+ node object on which the "isSupported(feature,version)"
+ method is invoked with "feature" equal to "xml" and the version equal to 2.0.
+ 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<isSupported obj="rootNode" feature="&quot;xml&quot;" version="&quot;2.0&quot;" var="state"/>
+<assertTrue actual="state" id="throw_True"/>
+</test>
diff --git a/test/testcases/tests/level2/core/isSupported07.xml b/test/testcases/tests/level2/core/isSupported07.xml
new file mode 100644
index 0000000..21f8ccb
--- /dev/null
+++ b/test/testcases/tests/level2/core/isSupported07.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="isSupported07">
+<metadata>
+<title>isSupported07</title>
+<creator>NIST</creator>
+<description>
+ The "feature" parameter in the
+ isSupported(feature,version)" method is the name
+ of the feature and the version is the version number of the
+ feature to test. XML is a legal value for the feature parameter
+ (Test for XML).
+ If the version is not specified, supporting any version of the
+ method to return true.
+
+ Retrieve the root node of the DOM document by invoking
+ the "getDocumentElement()" method. This should create a
+ node object on which the "isSupported(feature,version)"
+ method is invoked with "feature" equal to "XML" and the version equal blank.
+ 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<isSupported obj="rootNode" feature="&quot;XML&quot;" version="&quot;&quot;" var="state"/>
+<assertTrue actual="state" id="throw_True"/>
+</test>
diff --git a/test/testcases/tests/level2/core/isSupported09.xml b/test/testcases/tests/level2/core/isSupported09.xml
new file mode 100644
index 0000000..f7c4685
--- /dev/null
+++ b/test/testcases/tests/level2/core/isSupported09.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="isSupported09">
+<metadata>
+<title>isSupported09</title>
+<creator>NIST</creator>
+<description>
+ The "feature" parameter in the
+ isSupported(feature,version)" method is the name
+ of the feature and the version is the version number of the
+ feature to test. XML is a legal value for the feature parameter
+ (Test for XML, upper case).
+ Legal values for the version parameter are 1.0 and 2.0
+ (Test for 1.0).
+
+ Retrieve the root node of the DOM document by invoking
+ the "getDocumentElement()" method. This should create a
+ node object on which the "isSupported(feature,version)"
+ method is invoked with "feature" equal to "XML" and the version equal to 1.0.
+ 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<isSupported obj="rootNode" feature="&quot;XML&quot;" version="&quot;1.0&quot;" var="state"/>
+<assertTrue actual="state" id="throw_True"/>
+</test>
diff --git a/test/testcases/tests/level2/core/isSupported10.xml b/test/testcases/tests/level2/core/isSupported10.xml
new file mode 100644
index 0000000..8cfc69d
--- /dev/null
+++ b/test/testcases/tests/level2/core/isSupported10.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="isSupported10">
+<metadata>
+<title>isSupported10</title>
+<creator>NIST</creator>
+<description>
+ The "feature" parameter in the
+ isSupported(feature,version)" method is the name
+ of the feature and the version is the version number of the
+ feature to test. CORE is a legal value for the feature parameter
+ (Test for CORE, upper case).
+ Legal values for the version parameter are 1.0 and 2.0
+ (Test for 2.0).
+
+ Retrieve the root node of the DOM document by invoking
+ the "getDocumentElement()" method. This should create a
+ node object on which the "isSupported(feature,version)"
+ method is invoked with "feature" equal to "CORE" and the version equal to 2.0.
+ 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<isSupported obj="rootNode" feature="&quot;CORE&quot;" version="&quot;2.0&quot;" var="state"/>
+<assertTrue actual="state" id="throw_True"/>
+</test>
diff --git a/test/testcases/tests/level2/core/isSupported11.xml b/test/testcases/tests/level2/core/isSupported11.xml
new file mode 100644
index 0000000..fb9f90c
--- /dev/null
+++ b/test/testcases/tests/level2/core/isSupported11.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="isSupported11">
+<metadata>
+<title>isSupported11</title>
+<creator>NIST</creator>
+<description>
+ The "feature" parameter in the
+ isSupported(feature,version)" method is the name
+ of the feature and the version is the version number of the
+ feature to test. XML is a legal value for the feature parameter
+ (Test for XML, upper case).
+ Legal values for the version parameter are 1.0 and 2.0
+ (Test for 2.0).
+
+ Retrieve the root node of the DOM document by invoking
+ the "getDocumentElement()" method. This should create a
+ node object on which the "isSupported(feature,version)"
+ method is invoked with "feature" equal to "XML" and the version equal to 2.0.
+ 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<isSupported obj="rootNode" feature="&quot;XML&quot;" version="&quot;2.0&quot;" var="state"/>
+<assertTrue actual="state" id="throw_True"/>
+</test>
diff --git a/test/testcases/tests/level2/core/isSupported12.xml b/test/testcases/tests/level2/core/isSupported12.xml
new file mode 100644
index 0000000..11d737e
--- /dev/null
+++ b/test/testcases/tests/level2/core/isSupported12.xml
@@ -0,0 +1,73 @@
+<?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="isSupported12">
+<metadata>
+<title>isSupported12</title>
+<creator>NIST</creator>
+<description>
+ The "feature" parameter in the
+ isSupported(feature,version)" method is the name
+ of the feature and the version is the version number of the
+ feature to test. CORE is a legal value for the feature parameter
+ (Test for CORE, upper case).
+ Legal values for the version parameter are 1.0 and 2.0
+ (Test for 1.0).
+
+ Retrieve the root node of the DOM document by invoking
+ the "getDocumentElement()" method. This should create a
+ node object on which the "isSupported(feature,version)"
+ method is invoked with "feature" equal to "CORE" and the version equal to 1.0.
+ 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="features" type="List">
+<member>"Core"</member>
+<member>"XML"</member>
+<member>"HTML"</member>
+<member>"Views"</member>
+<member>"StyleSheets"</member>
+<member>"CSS"</member>
+<member>"CSS2"</member>
+<member>"Events"</member>
+<member>"UIEvents"</member>
+<member>"MouseEvents"</member>
+<member>"MutationEvents"</member>
+<member>"HTMLEvents"</member>
+<member>"Range"</member>
+<member>"Traversal"</member>
+<member>"bogus.bogus.bogus"</member>
+</var>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Node"/>
+<var name="featureElement" type="DOMString"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<!--- All XML implementations must support core -->
+<isSupported obj="rootNode" feature='"Core"' version='"2.0"' var="state"/>
+<assertTrue actual="state" id="Core2"/>
+<for-each collection="features" member="featureElement">
+<isSupported obj="rootNode" feature="featureElement" version='"1.0"' var="state"/>
+</for-each>
+<for-each collection="features" member="featureElement">
+<isSupported obj="rootNode" feature="featureElement" version='"2.0"' var="state"/>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/isSupported13.xml b/test/testcases/tests/level2/core/isSupported13.xml
new file mode 100644
index 0000000..6327f17
--- /dev/null
+++ b/test/testcases/tests/level2/core/isSupported13.xml
@@ -0,0 +1,36 @@
+<?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="isSupported13">
+<metadata>
+<title>isSupported13</title>
+<creator>Curt Arnold</creator>
+<description>
+Calls isSupported("Core","") should return true for all implementations (by extension of core-14).
+</description>
+<date qualifier="created">2001-11-27</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/2000/11/DOM-Level-2-errata#core-14"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<isSupported obj="rootNode" feature='"Core"' version='""' var="state"/>
+<assertTrue actual="state" id="Core"/>
+</test>
diff --git a/test/testcases/tests/level2/core/isSupported14.xml b/test/testcases/tests/level2/core/isSupported14.xml
new file mode 100644
index 0000000..eef6601
--- /dev/null
+++ b/test/testcases/tests/level2/core/isSupported14.xml
@@ -0,0 +1,37 @@
+<?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="isSupported14">
+<metadata>
+<title>isSupported14</title>
+<creator>Curt Arnold</creator>
+<description>
+Calls isSupported("Core",null) should return true for all implementations (by extension of core-14).
+</description>
+<date qualifier="created">2001-11-27</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/2000/11/DOM-Level-2-errata#core-14"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Node"/>
+<var name="state" type="boolean"/>
+<var name="nullString" type="DOMString" isNull="true"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<isSupported obj="rootNode" feature='"Core"' version="nullString" var="state"/>
+<assertTrue actual="state" id="Core"/>
+</test>
diff --git a/test/testcases/tests/level2/core/localName01.xml b/test/testcases/tests/level2/core/localName01.xml
new file mode 100644
index 0000000..053feb4
--- /dev/null
+++ b/test/testcases/tests/level2/core/localName01.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="localName01">
+<metadata>
+<title>localName01</title>
+<creator>NIST</creator>
+<description>
+ The "getLocalName()" method for a Node
+ returns the local part of the qualified name of this node,
+ and for nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE
+ and nodes created with a DOM Level 1 method, this is null.
+
+ Retrieve the first emp:address node and get the attributes of this node."
+ Then apply the getLocalName() method to the emp:domestic attribute.
+ The method should return "domestic".
+</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-NodeNSLocalN"/>
+</metadata>
+<!-- this 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="addrAttr" type="Attr"/>
+<var name="localName" 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"/>
+<getAttributeNode obj="testAddr" name='"emp:domestic"' var="addrAttr"/>
+<localName obj="addrAttr" var="localName"/>
+<assertEquals actual="localName" expected='"domestic"' id="localName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/localName02.xml b/test/testcases/tests/level2/core/localName02.xml
new file mode 100644
index 0000000..8eba945
--- /dev/null
+++ b/test/testcases/tests/level2/core/localName02.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="localName02">
+<metadata>
+<title>localName02</title>
+<creator>NIST</creator>
+<description>
+ The "getLocalName()" method for a Node
+ returns the local part of the qualified name of this node,
+ and for nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE
+ and nodes created with a DOM Level 1 method, this is null.
+
+ Create an new Element with the createElement() method.
+ Invoke the "getLocalName()" method on the newly created element
+ node will cause "null" to be returned.
+</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-NodeNSLocalN"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="createdNode" type="Node"/>
+<var name="localName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<createElement obj="doc" tagName="&quot;test:employee&quot;" var="createdNode"/>
+<localName obj="createdNode" var="localName"/>
+<assertNull actual="localName" id="localNameNull"/>
+</test>
diff --git a/test/testcases/tests/level2/core/localName03.xml b/test/testcases/tests/level2/core/localName03.xml
new file mode 100644
index 0000000..42fcebe
--- /dev/null
+++ b/test/testcases/tests/level2/core/localName03.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="localName03">
+<metadata>
+<title>localName03</title>
+<creator>NIST</creator>
+<description>
+ The "getLocalName()" method for a Node
+ returns the local part of the qualified name of this node,
+ and for nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE
+ and nodes created with a DOM Level 1 method, this is null.
+
+ Retrieve the first employeeId node and get the first child of this node.
+ Since the first child is Text node invoking the "getLocalName()"
+ method will cause "null" to be returned.
+</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-NodeNSLocalN"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="textNode" type="Node"/>
+<var name="localName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employeeId"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testEmployee"/>
+<firstChild interface="Node" obj="testEmployee" var="textNode"/>
+<localName obj="textNode" var="localName"/>
+<assertNull actual="localName" id="textNodeLocalName"/>
+</test>
diff --git a/test/testcases/tests/level2/core/localName04.xml b/test/testcases/tests/level2/core/localName04.xml
new file mode 100644
index 0000000..a0016ee
--- /dev/null
+++ b/test/testcases/tests/level2/core/localName04.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="localName04">
+<metadata>
+<title>localName04</title>
+<creator>NIST</creator>
+<description>
+ The "getLocalName()" method for a Node
+ returns the local part of the qualified name of this node,
+ and for nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE
+ and nodes created with a DOM Level 1 method, this is null.
+
+ Retrieve the first employee node and invoke the "getLocalName()"
+ method. The method should return "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-NodeNSLocalN"/>
+</metadata>
+<!-- this test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="employeeLocalName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testEmployee"/>
+<localName obj="testEmployee" var="employeeLocalName"/>
+<assertEquals actual="employeeLocalName" expected='"employee"' id="lname" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/metadata.xml b/test/testcases/tests/level2/core/metadata.xml
new file mode 100644
index 0000000..63bac43
--- /dev/null
+++ b/test/testcases/tests/level2/core/metadata.xml
@@ -0,0 +1,18 @@
+<?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 metadata SYSTEM "dom2.dtd">
+
+<!-- This file contains additional metadata about DOM L2 Core tests.
+ Allowing additional documentation without modifying the tests themselves. -->
+<metadata xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2">
+</metadata>
diff --git a/test/testcases/tests/level2/core/namednodemapgetnameditemns01.xml b/test/testcases/tests/level2/core/namednodemapgetnameditemns01.xml
new file mode 100644
index 0000000..8cd23ff
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapgetnameditemns01.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-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="namednodemapgetnameditemns01">
+<metadata>
+<title>namednodemapgetnameditemns01</title>
+<creator>IBM</creator>
+<description>
+ Using the method getNamedItemNS, retreive the entity "ent1" and notation "notation1"
+ from a NamedNodeMap of this DocumentTypes entities and notations.
+ Both should be null since entities and notations are not namespaced.
+</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-getNamedItemNS"/>
+<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=407"/>
+<subject resource="http://lists.w3.org/Archives/Member/w3c-dom-ig/2003Nov/0016.html"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="entity" type="Entity"/>
+<var name="notation" type="Notation"/>
+<var name="entityName" type="DOMString"/>
+<var name="notationName" type="DOMString"/>
+<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"/>
+<notations var="notations" obj="docType"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItemNS var="entity" obj="entities" namespaceURI="nullNS" localName='"ent1"'/>
+<assertNull actual="entity" id="entityNull"/>
+<getNamedItemNS var="notation" obj="notations" namespaceURI="nullNS" localName='"notation1"'/>
+<assertNull actual="notation" id="notationNull"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapgetnameditemns02.xml b/test/testcases/tests/level2/core/namednodemapgetnameditemns02.xml
new file mode 100644
index 0000000..3c778d3
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapgetnameditemns02.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="namednodemapgetnameditemns02">
+<metadata>
+<title>namednodemapgetnameditemns02</title>
+<creator>IBM</creator>
+<description>
+ The method getNamedItemNS retrieves a node specified by local name and namespace URI.
+
+ Using the method getNamedItemNS, retreive an attribute node having namespaceURI=http://www.nist.gov
+ and localName=domestic, from a NamedNodeMap of attribute nodes, for the second element
+ whose namespaceURI=http://www.nist.gov and localName=address. Verify if the attr node
+ has been retreived successfully by checking its nodeName atttribute.
+</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-getNamedItemNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="element" type="Node"/>
+<var name="attribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<var name="attrName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS var="elementList" obj="doc" namespaceURI='"http://www.nist.gov"' localName='"address"' interface="Document"/>
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<getNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.nist.gov"' localName='"domestic"'/>
+<nodeName var="attrName" obj="attribute"/>
+<assertEquals actual="attrName" expected='"emp:domestic"' id="namednodemapgetnameditemns02" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapgetnameditemns03.xml b/test/testcases/tests/level2/core/namednodemapgetnameditemns03.xml
new file mode 100644
index 0000000..6dd138b
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapgetnameditemns03.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="namednodemapgetnameditemns03">
+<metadata>
+<title>namednodemapgetnameditemns03</title>
+<creator>IBM</creator>
+<description>
+ The method getNamedItemNS retrieves a node specified by local name and namespace URI.
+
+ Create a new Element node and add 2 new attribute nodes having the same local name but different
+ namespace names and namespace prefixes to it. Using the getNamedItemNS retreive the second attribute node.
+ Verify if the attr node has been retreived successfully by checking its nodeName atttribute.
+</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-getNamedItemNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="element" type="Node"/>
+<var name="attribute" type="Attr"/>
+<var name="newAttr1" type="Attr"/>
+<var name="newAttr2" type="Attr"/>
+<var name="newAttribute" type="Attr"/>
+<var name="attrName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<createElementNS var="element" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"root"'/>
+<createAttributeNS var="newAttr1" obj="doc" namespaceURI='"http://www.w3.org/DOM/L1"' qualifiedName='"L1:att"'/>
+<setAttributeNodeNS var="newAttribute" obj="element" newAttr="newAttr1"/>
+<createAttributeNS var="newAttr2" obj="doc" namespaceURI='"http://www.w3.org/DOM/L2"' qualifiedName='"L2:att"'/>
+<setAttributeNodeNS var="newAttribute" obj="element" newAttr="newAttr2"/>
+<attributes var="attributes" obj="element"/>
+<getNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.w3.org/DOM/L2"' localName='"att"'/>
+<nodeName var="attrName" obj="attribute"/>
+<assertEquals actual="attrName" expected='"L2:att"' id="namednodemapgetnameditemns03" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapgetnameditemns04.xml b/test/testcases/tests/level2/core/namednodemapgetnameditemns04.xml
new file mode 100644
index 0000000..16eac08
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapgetnameditemns04.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="namednodemapgetnameditemns04">
+<metadata>
+<title>namednodemapgetnameditemns04</title>
+<creator>IBM</creator>
+<description>
+ The method getNamedItemNS retrieves a node specified by local name and namespace URI.
+
+ Retreive the second address element node having localName=adrress.
+ Create a new attribute node having the same name as an existing node but different namespaceURI
+ and add it to this element. Using the getNamedItemNS retreive the newly created attribute
+ node from a nodemap of attributes of the retreive element node.
+ Verify if the attr node has been retreived successfully by checking its nodeName atttribute.
+</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-getNamedItemNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="element" type="Element"/>
+<var name="attribute" type="Attr"/>
+<var name="newAttr1" type="Attr"/>
+<var name="newAttribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<var name="attrName" type="DOMString"/>
+<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"/>
+<createAttributeNS var="newAttr1" obj="doc" namespaceURI='"http://www.w3.org/DOM/L1"' qualifiedName='"street"'/>
+<setAttributeNodeNS var="newAttribute" obj="element" newAttr="newAttr1"/>
+<attributes var="attributes" obj="element"/>
+<getNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.w3.org/DOM/L1"' localName='"street"'/>
+<nodeName var="attrName" obj="attribute"/>
+<assertEquals actual="attrName" expected='"street"' id="namednodemapgetnameditemns04" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapgetnameditemns05.xml b/test/testcases/tests/level2/core/namednodemapgetnameditemns05.xml
new file mode 100644
index 0000000..402f464
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapgetnameditemns05.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-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="namednodemapgetnameditemns05">
+<metadata>
+<title>namednodemapgetnameditemns05</title>
+<creator>IBM</creator>
+<description>
+ The method getNamedItemNS retrieves a node specified by local name and namespace URI.
+
+ Retreieve the second address element and its attribute into a named node map.
+ Try retreiving the street attribute from the namednodemap using the
+ default namespace uri and the street attribute name. Since the default
+ namespace doesnot apply to attributes this should return 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-getNamedItemNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="element" type="Node"/>
+<var name="attribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagNameNS var="elementList" obj="doc" namespaceURI='"*"' localName='"address"' interface="Document"/>
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<getNamedItemNS var="attribute" obj="attributes" namespaceURI='"*"' localName='"street"'/>
+<assertNull actual="attribute" id="namednodemapgetnameditemns05"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapgetnameditemns06.xml b/test/testcases/tests/level2/core/namednodemapgetnameditemns06.xml
new file mode 100644
index 0000000..d72ffef
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapgetnameditemns06.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="namednodemapgetnameditemns06">
+<metadata>
+<title>namednodemapgetnameditemns06</title>
+<creator>IBM</creator>
+<description>
+ Retreive the second address element node having localName=adrress. Retreive the attributes
+ of this element into 2 nodemaps. Create a new attribute node and add it to this element.
+ Since NamedNodeMaps are live each one should get updated, using the getNamedItemNS retreive
+ the newly created attribute from each node map.
+ Verify if the attr node has been retreived successfully by checking its nodeName atttribute.
+</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-getNamedItemNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributesMap1" type="NamedNodeMap"/>
+<var name="attributesMap2" type="NamedNodeMap"/>
+<var name="element" type="Element"/>
+<var name="attribute" type="Attr"/>
+<var name="newAttr1" type="Attr"/>
+<var name="newAttribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<var name="attrName" type="DOMString"/>
+<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"/>
+<attributes var="attributesMap1" obj="element"/>
+<attributes var="attributesMap2" obj="element"/>
+<createAttributeNS var="newAttr1" obj="doc" namespaceURI='"http://www.w3.org/DOM/L1"' qualifiedName='"street"'/>
+<setAttributeNodeNS var="newAttribute" obj="element" newAttr="newAttr1"/>
+<getNamedItemNS var="attribute" obj="attributesMap1" namespaceURI='"http://www.w3.org/DOM/L1"' localName='"street"'/>
+<nodeName var="attrName" obj="attribute"/>
+<assertEquals actual="attrName" expected='"street"' id="namednodemapgetnameditemnsMap106" ignoreCase="false"/>
+<getNamedItemNS var="attribute" obj="attributesMap2" namespaceURI='"http://www.w3.org/DOM/L1"' localName='"street"'/>
+<nodeName var="attrName" obj="attribute"/>
+<assertEquals actual="attrName" expected='"street"' id="namednodemapgetnameditemnsMap206" ignoreCase="false"/>
+</test> \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/namednodemapremovenameditemns01.xml b/test/testcases/tests/level2/core/namednodemapremovenameditemns01.xml
new file mode 100644
index 0000000..c16ccf4
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapremovenameditemns01.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="namednodemapremovenameditemns01">
+<metadata>
+<title>namednodemapremovenameditemns01</title>
+<creator>IBM</creator>
+<description>
+ The method removeNamedItemNS removes a node specified by local name and namespace
+
+ Retreive an attribute node and then remove from the NamedNodeMap. Verify if the attribute
+ node was actually remove from the node map.
+</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-D58B193"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="element" type="Node"/>
+<var name="attribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<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"/>
+<attributes var="attributes" obj="element"/>
+<removeNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.nist.gov"' localName='"domestic"'/>
+<getNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.nist.gov"' localName='"domestic"'/>
+<assertNull actual="attribute" id="namednodemapremovenameditemns01"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapremovenameditemns02.xml b/test/testcases/tests/level2/core/namednodemapremovenameditemns02.xml
new file mode 100644
index 0000000..3ba6e08
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapremovenameditemns02.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="namednodemapremovenameditemns02">
+<metadata>
+<title>namednodemapremovenameditemns02</title>
+<creator>IBM</creator>
+<description>
+ The method removeNamedItemNS removes a node specified by local name and namespace
+ A removed attribute may be known to have a default value when this map contains the
+ attributes attached to an element, as returned by the attributes attribute of the Node
+ interface. If so, an attribute immediately appears containing the default value as well
+ as the corresponding namespace URI, local name, and prefix when applicable.
+
+ Retreive a default attribute node. Remove it from the NodeMap. Check if a new one immediately
+ appears containing the default 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-D58B193"/>
+<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="attributes" type="NamedNodeMap"/>
+<var name="element" type="Node"/>
+<var name="attribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<var name="attrValue" type="DOMString"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="elementList" obj="doc" localName='"employee"' namespaceURI='"http://www.nist.gov"' interface="Document"/>
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<removeNamedItemNS var="attribute" obj="attributes" namespaceURI="nullNS" localName='"defaultAttr"'/>
+<getNamedItemNS var="attribute" obj="attributes" namespaceURI="nullNS" localName='"defaultAttr"'/>
+<nodeValue var="attrValue" obj="attribute"/>
+<assertNotNull actual="attribute" id="namednodemapremovenameditemns02"/>
+<assertEquals actual="attrValue" expected='"defaultVal"' id="namednodemapremovenameditemns02_attrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapremovenameditemns03.xml b/test/testcases/tests/level2/core/namednodemapremovenameditemns03.xml
new file mode 100644
index 0000000..0eae40f
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapremovenameditemns03.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="namednodemapremovenameditemns03">
+<metadata>
+<title>namednodemapremovenameditemns03</title>
+<creator>IBM</creator>
+<description>
+ The method removeNamedItemNS removes a node specified by local name and namespace
+
+ Create a new element node and add 2 new attribute nodes to it that have the same localName
+ but different namespaceURI's. Remove the first attribute node from the namedNodeMap of the
+ new element node and check to see that the second attribute still exists.
+</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-D58B193"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="element" type="Node"/>
+<var name="attribute" type="Attr"/>
+<var name="newAttribute" type="Attr"/>
+<var name="attribute1" type="Attr"/>
+<var name="attribute2" type="Attr"/>
+<var name="nodeName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<createElementNS var="element" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"root"'/>
+<createAttributeNS var="attribute1" obj="doc" namespaceURI='"http://www.w3.org/DOM/L1"' qualifiedName='"L1:att"'/>
+<setAttributeNodeNS var="newAttribute" obj="element" newAttr="attribute1"/>
+<createAttributeNS var="attribute2" obj="doc" namespaceURI='"http://www.w3.org/DOM/L2"' qualifiedName='"L2:att"'/>
+<setAttributeNodeNS var="newAttribute" obj="element" newAttr="attribute2"/>
+<attributes var="attributes" obj="element"/>
+<removeNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.w3.org/DOM/L1"' localName='"att"'/>
+<getNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.w3.org/DOM/L2"' localName='"att"'/>
+<nodeName var="nodeName" obj="attribute"/>
+<assertEquals actual="nodeName" expected='"L2:att"' id="namednodemapremovenameditemns02" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapremovenameditemns04.xml b/test/testcases/tests/level2/core/namednodemapremovenameditemns04.xml
new file mode 100644
index 0000000..c1c3fc8
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapremovenameditemns04.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="namednodemapremovenameditemns04">
+<metadata>
+<title>namednodemapremovenameditemns04</title>
+<creator>IBM</creator>
+<description>
+ The method removeNamedItemNS removes a node specified by local name and namespace
+
+ Attempt to remove the xmlns and dmstc attributes of the first element node with the localName
+ employee. Verify if the 2 attributes were successfully removed.
+</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-D58B193"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="element" type="Node"/>
+<var name="attribute" type="Attr"/>
+<var name="attributeRemoved" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="elementList" obj="doc" namespaceURI='"*"' localName='"employee"' interface="Document"/>
+<item var="element" obj="elementList" index="0" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<removeNamedItemNS var="attributeRemoved" obj="attributes" namespaceURI='"http://www.w3.org/2000/xmlns/"' localName='"xmlns"'/>
+<getNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.w3.org/2000/xmlns/"' localName='"xmlns"'/>
+<assertNull actual="attribute" id="namednodemapremovenameditemns04_1"/>
+<removeNamedItemNS var="attributeRemoved" obj="attributes" namespaceURI='"http://www.w3.org/2000/xmlns/"' localName='"dmstc"'/>
+<getNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.w3.org/2000/xmlns/"' localName='"dmstc"'/>
+<assertNull actual="attribute" id="namednodemapremovenameditemns04_2"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapremovenameditemns05.xml b/test/testcases/tests/level2/core/namednodemapremovenameditemns05.xml
new file mode 100644
index 0000000..70ac0e4
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapremovenameditemns05.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-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="namednodemapremovenameditemns05">
+<metadata>
+<title>namednodemapremovenameditemns05</title>
+<creator>IBM</creator>
+<description>
+ Retreive an entity and notation node and remove the first notation from the
+ entity node map and first entity node from the notation map. Since both these
+ maps are readonly, a NO_MODIFICATION_ALLOWED_ERR should be raised.
+</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-setNamedItemNS"/>
+<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=407"/>
+<subject resource="http://lists.w3.org/Archives/Member/w3c-dom-ig/2003Nov/0016.html"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="removedNode" type="Node"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<doctype var="docType" obj="doc"/>
+<entities var="entities" obj="docType"/>
+<assertNotNull actual="entities" id="entitiesNotNull"/>
+<notations var="notations" obj="docType"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<try>
+ <removeNamedItemNS var="removedNode" obj="entities" namespaceURI="nullNS" localName='"ent1"'/>
+ <fail id="entity_throw_DOMException"/>
+ <catch>
+ <DOMException code="NOT_FOUND_ERR"/>
+ <DOMException code="NO_MODIFICATION_ALLOWED_ERR"/>
+ </catch>
+</try>
+<try>
+ <removeNamedItemNS var="removedNode" obj="notations" namespaceURI="nullNS" localName='"notation1"'/>
+ <fail id="notation_throw_DOMException"/>
+ <catch>
+ <DOMException code="NOT_FOUND_ERR"/>
+ <DOMException code="NO_MODIFICATION_ALLOWED_ERR"/>
+ </catch>
+</try>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapremovenameditemns06.xml b/test/testcases/tests/level2/core/namednodemapremovenameditemns06.xml
new file mode 100644
index 0000000..1333e6d
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapremovenameditemns06.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="namednodemapremovenameditemns06">
+<metadata>
+<title>namednodemapremovenameditemns06</title>
+<creator>IBM</creator>
+<description>
+ The method removeNamedItemNS removes a node using its namespaceURI and localName and
+ raises a NOT_FOUND_ERR if there is no node with the specified namespaceURI and
+ localName in this map
+
+ Retreive an attribute node into a namednodemap. While removing it from the map specify
+ an incorrect namespaceURI. This should raise a NOT_FOUND_ERR.
+</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-D58B193"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="element" type="Node"/>
+<var name="attribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="elementList" obj="doc" localName='"employee"' namespaceURI='"http://www.nist.gov"' interface="Document"/>
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<removeNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.Nist.gov"' localName='"domestic"'/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapremovenameditemns07.xml b/test/testcases/tests/level2/core/namednodemapremovenameditemns07.xml
new file mode 100644
index 0000000..267c2c9
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapremovenameditemns07.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="namednodemapremovenameditemns07">
+<metadata>
+<title>namednodemapremovenameditemns07</title>
+<creator>IBM</creator>
+<description>
+ The method removeNamedItemNS removes a node using its namespaceURI and localName and
+ raises a NOT_FOUND_ERR if there is no node with the specified namespaceURI and
+ localName in this map
+
+ Retreive an attribute node from a namednodemap. While removing it from the map specify
+ an incorrect localName. This should raise a NOT_FOUND_ERR.
+</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-D58B193"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="element" type="Node"/>
+<var name="attribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="elementList" obj="doc" localName='"employee"' namespaceURI='"http://www.nist.gov"' interface="Document"/>
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<removeNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.nist.gov"' localName='"domestic"'/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapremovenameditemns08.xml b/test/testcases/tests/level2/core/namednodemapremovenameditemns08.xml
new file mode 100644
index 0000000..2fc5041
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapremovenameditemns08.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="namednodemapremovenameditemns08">
+<metadata>
+<title>namednodemapremovenameditemns08</title>
+<creator>IBM</creator>
+<description>
+ The method removeNamedItemNS removes a node using its namespaceURI and localName and
+ raises a NOT_FOUND_ERR if there is no node with the specified namespaceURI and
+ localName in this map
+
+ Retreive an attribute node from a namednodemap. Remove the attribute node from the document
+ object. Since NamedNodeMaps are live it should also automatically get removed from
+ the node map. And so if an attempt is made to remove it using removeAttributeNS, this should
+ raise a NOT_FOUND_ERR.
+</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-D58B193"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="element" type="Element"/>
+<var name="attribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="elementList" obj="doc" localName='"address"' namespaceURI='"http://www.nist.gov"' interface="Document"/>
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<removeAttributeNS obj="element" namespaceURI='"http://www.nist.gov"' localName='"domestic"'/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<removeNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.nist.gov"' localName='"domestic"'/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapremovenameditemns09.xml b/test/testcases/tests/level2/core/namednodemapremovenameditemns09.xml
new file mode 100644
index 0000000..b903957
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapremovenameditemns09.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="namednodemapremovenameditemns09">
+<metadata>
+<title>namednodemapremovenameditemns09</title>
+<creator>IBM</creator>
+<description>
+ The method removeNamedItemNS removes a node using its namespaceURI and localName and
+ raises a NOT_FOUND_ERR if there is no node with the specified namespaceURI and
+ localName in this map
+
+ Retreive an attribute node. Remove the attribute node from the node map.
+ Check the element object to ensure that the attribute node has been removed from it.
+</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-D58B193"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="newAttributes" type="NamedNodeMap"/>
+<var name="element" type="Element"/>
+<var name="attribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="elementList" obj="doc" localName='"address"' namespaceURI='"http://www.nist.gov"' interface="Document"/>
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<removeNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.nist.gov"' localName='"domestic"'/>
+<attributes var="newAttributes" obj="element"/>
+<getNamedItemNS var="attribute" obj="newAttributes" namespaceURI='"http://www.nist.gov"' localName='"domestic"'/>
+<assertNull actual="attribute" id="namednodemapremovenameditemns09"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapsetnameditemns01.xml b/test/testcases/tests/level2/core/namednodemapsetnameditemns01.xml
new file mode 100644
index 0000000..421d99e
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapsetnameditemns01.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="namednodemapsetnameditemns01">
+<metadata>
+<title>namednodemapsetnameditemns01</title>
+<creator>IBM</creator>
+<description>
+ The method setNamedItemNS adds a node using its namespaceURI and localName. If a node with
+ that namespace URI and that local name is already present in this map, it is replaced
+ by the new one.
+
+ Retreive the first element whose localName is address and namespaceURI http://www.nist.gov",
+ and put its attributes into a named node map. Create a new attribute node and add it to this map.
+ Verify if the attr node was successfully added by checking the nodeName of the retreived atttribute.
+</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-getNamedItemNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="element" type="Node"/>
+<var name="attribute" type="Attr"/>
+<var name="newAttribute" type="Attr"/>
+<var name="newAttr1" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<var name="attrName" type="DOMString"/>
+<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="0" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<createAttributeNS var="newAttr1" obj="doc" namespaceURI='"http://www.w3.org/DOM/L1"' qualifiedName='"streets"'/>
+<setAttributeNodeNS var="newAttribute" obj="element" newAttr="newAttr1"/>
+<getNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.w3.org/DOM/L1"' localName='"streets"'/>
+<nodeName var="attrName" obj="attribute"/>
+<assertEquals actual="attrName" expected='"streets"' id="namednodemapsetnameditemns01" ignoreCase="false"/>
+</test>
+ \ No newline at end of file
diff --git a/test/testcases/tests/level2/core/namednodemapsetnameditemns02.xml b/test/testcases/tests/level2/core/namednodemapsetnameditemns02.xml
new file mode 100644
index 0000000..95198f5
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapsetnameditemns02.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="namednodemapsetnameditemns02">
+<metadata>
+<title>namednodemapsetnameditemns02</title>
+<creator>IBM</creator>
+<description>
+ The method setNamedItemNS adds a node using its namespaceURI and localName. If a node with
+ that namespace URI and that local name is already present in this map, it is replaced
+ by the new one.
+
+ Create a new element and attribute Node and add the newly created attribute node to the elements
+ NamedNodeMap. Verify if the new attr node has been successfully added to the map by checking
+ the nodeName of the retreived atttribute from the list of attribute nodes in this map.
+
+</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-setNamedItemNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="element" type="Element"/>
+<var name="attribute" type="Attr"/>
+<var name="attribute1" type="Attr"/>
+<var name="newNode" type="Node"/>
+<var name="attrName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<createElementNS var="element" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"root"'/>
+<createAttributeNS var="attribute1" obj="doc" namespaceURI='"http://www.w3.org/DOM/L1"' qualifiedName='"L1:att"'/>
+<attributes var="attributes" obj="element"/>
+<setNamedItemNS var="newNode" obj="attributes" arg="attribute1"/>
+<getNamedItemNS var="attribute" obj="attributes" namespaceURI='"http://www.w3.org/DOM/L1"' localName='"att"'/>
+<nodeName var="attrName" obj="attribute"/>
+<assertEquals actual="attrName" expected='"L1:att"' id="namednodemapsetnameditemns02" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapsetnameditemns03.xml b/test/testcases/tests/level2/core/namednodemapsetnameditemns03.xml
new file mode 100644
index 0000000..c2dbf8d
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapsetnameditemns03.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="namednodemapsetnameditemns03">
+<metadata>
+<title>namednodemapsetnameditemns03</title>
+<creator>IBM</creator>
+<description>
+ The method setNamedItemNS adds a node using its namespaceURI and localName and
+ raises a WRONG_DOCUMENT_ERR if arg was created from a different document than the
+ one that created this map.
+
+ Retreieve the second element whose local name is address and its attribute into a named node map.
+ Do the same for another document and retreive its street attribute. Call the setNamedItemNS
+ using the first namedNodeMap and the retreive street attribute of the second. This should
+ raise a WRONG_DOCUMENT_ERR.
+</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-setNamedItemNS"/>
+<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=408"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docAlt" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="attributesAlt" type="NamedNodeMap"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementListAlt" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="elementAlt" type="Element"/>
+<var name="attr" type="Attr"/>
+<var name="newNode" type="Node"/>
+<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"/>
+<attributes var="attributes" obj="element"/>
+<load var="docAlt" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="elementListAlt" obj="docAlt" namespaceURI='"*"' localName='"address"' interface="Document"/>
+<item var="elementAlt" obj="elementListAlt" index="1" interface="NodeList"/>
+<attributes var="attributesAlt" obj="elementAlt"/>
+<getNamedItemNS var="attr" obj="attributesAlt" namespaceURI="nullNS" localName='"street"'/>
+<removeNamedItemNS var="newNode" obj="attributesAlt" namespaceURI="nullNS" localName='"street"'/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<setNamedItemNS var="newNode" obj="attributes" arg="attr"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapsetnameditemns04.xml b/test/testcases/tests/level2/core/namednodemapsetnameditemns04.xml
new file mode 100644
index 0000000..fce15ba
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapsetnameditemns04.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-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="namednodemapsetnameditemns04">
+<metadata>
+<title>namednodemapsetnameditemns04</title>
+<creator>IBM</creator>
+<description>
+ The method setNamedItemNS adds a node using its namespaceURI and localName and
+ raises a WRONG_DOCUMENT_ERR if arg was created from a different document than the
+ one that created this map.
+
+ Retreieve the second element whose local name is address and its attribute into a named node map.
+ Create a new document and a new attribute node in it. Call the setNamedItemNS using the first
+ namedNodeMap and the new attribute node attribute of the new document. This should
+ raise a WRONG_DOCUMENT_ERR.
+</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-setNamedItemNS"/>
+<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="domImpl" type="DOMImplementation"/>
+<var name="docAlt" type="Document"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="elementList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="attrAlt" type="Attr"/>
+<var name="newNode" type="Node"/>
+<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"/>
+<attributes var="attributes" obj="element"/>
+<implementation var="domImpl" obj="doc"/>
+<createDocument var="docAlt" obj="domImpl" namespaceURI="nullNS" qualifiedName='"newDoc"' doctype="docType"/>
+<createAttributeNS var="attrAlt" obj="docAlt" namespaceURI="nullNS" qualifiedName='"street"'/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<setNamedItemNS var="newNode" obj="attributes" arg="attrAlt"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapsetnameditemns05.xml b/test/testcases/tests/level2/core/namednodemapsetnameditemns05.xml
new file mode 100644
index 0000000..287e525
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapsetnameditemns05.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-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="namednodemapsetnameditemns05">
+<metadata>
+<title>namednodemapsetnameditemns05</title>
+<creator>IBM</creator>
+<description>
+ Retreive an entity and notation node and add the first notation to the
+ notation node map and first entity node to the entity map. Since both these
+ maps are for readonly node, a NO_MODIFICATION_ALLOWED_ERR should be raised.
+</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-setNamedItemNS"/>
+<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=407"/>
+<subject resource="http://lists.w3.org/Archives/Member/w3c-dom-ig/2003Nov/0016.html"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="entity" type="Entity"/>
+<var name="notation" type="Notation"/>
+<var name="newNode" type="Node"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<doctype var="docType" obj="doc"/>
+<entities var="entities" obj="docType"/>
+<assertNotNull actual="entities" id="entitiesNotNull"/>
+<notations var="notations" obj="docType"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItem var="entity" obj="entities" name='"ent1"'/>
+<getNamedItem var="notation" obj="notations" name='"notation1"'/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR_entities">
+<NO_MODIFICATION_ALLOWED_ERR>
+<setNamedItemNS var="newNode" obj="entities" arg="entity"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR_notations">
+<NO_MODIFICATION_ALLOWED_ERR>
+<setNamedItemNS var="newNode" obj="notations" arg="notation"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapsetnameditemns06.xml b/test/testcases/tests/level2/core/namednodemapsetnameditemns06.xml
new file mode 100644
index 0000000..ddfb0c1
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapsetnameditemns06.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="namednodemapsetnameditemns06">
+<metadata>
+<title>namednodemapsetnameditemns06</title>
+<creator>IBM</creator>
+<description>
+ Retreieve the first element whose localName is address and its attributes into a named node map.
+ Retreiving the domestic attribute from the namednodemap.
+ Retreieve the second element whose localName is address and its attributes into a named node map.
+ Invoke setNamedItemNS on the second NamedNodeMap specifying the first domestic attribute from
+ the first map. This should raise an INUSE_ATTRIBIUTE_ERR.
+</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-setNamedItemNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="elementList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="attr" type="Attr"/>
+<var name="newNode" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="elementList" obj="doc" namespaceURI='"*"' localName='"address"' interface="Document"/>
+<item var="element" obj="elementList" index="0" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<getNamedItemNS var="attr" obj="attributes" namespaceURI='"http://www.usa.com"' localName='"domestic"'/>
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<assertDOMException id="namednodemapsetnameditemns06">
+<INUSE_ATTRIBUTE_ERR>
+<setNamedItemNS var="newNode" obj="attributes" arg="attr"/>
+</INUSE_ATTRIBUTE_ERR>
+</assertDOMException>
+</test>
+
diff --git a/test/testcases/tests/level2/core/namednodemapsetnameditemns07.xml b/test/testcases/tests/level2/core/namednodemapsetnameditemns07.xml
new file mode 100644
index 0000000..bfa41ac
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapsetnameditemns07.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="namednodemapsetnameditemns07">
+<metadata>
+<title>namednodemapsetnameditemns07</title>
+<creator>IBM</creator>
+<description>
+ The method setNamedItemNS adds a node using its namespaceURI and localName and
+ raises a INUSE_ATTRIBUTE_ERR Raised if arg is an Attr that is already an
+ attribute of another Element object.
+
+ Retreieve the attributes of first element whose localName is address into a named node map.
+ Retreive the attribute whose namespaceURI=http://www.usa.com and localName=domestic
+ from the NamedNodeMap. Retreieve the attributes of second element whose localName is address
+ into a named node map. Call the setNamedItemNS method on the second nodemap with the domestic
+ attribute that was retreived and removed from the first nodeMap as an argument.
+ Assuming that when an attribute is removed from a nodemap, it still remains in the domtree
+ his should raise an INUSE_ATTRIBIUTE_ERR.
+</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-setNamedItemNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="elementList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="attr" type="Attr"/>
+<var name="newNode" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="elementList" obj="doc" namespaceURI='"*"' localName='"address"' interface="Document"/>
+<item var="element" obj="elementList" index="0" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<getNamedItemNS var="attr" obj="attributes" namespaceURI='"http://www.usa.com"' localName='"domestic"'/>
+<!--
+<removeNamedItemNS obj="attributes" namespaceURI='"http://www.usa.com"' localName='"domestic"'/>;
+-->
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<assertDOMException id="namednodemapsetnameditemns07">
+<INUSE_ATTRIBUTE_ERR>
+<setNamedItemNS var="newNode" obj="attributes" arg="attr"/>
+</INUSE_ATTRIBUTE_ERR>
+</assertDOMException>
+</test>
+
diff --git a/test/testcases/tests/level2/core/namednodemapsetnameditemns08.xml b/test/testcases/tests/level2/core/namednodemapsetnameditemns08.xml
new file mode 100644
index 0000000..d0b0026
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapsetnameditemns08.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="namednodemapsetnameditemns08">
+<metadata>
+<title>namednodemapsetnameditemns08</title>
+<creator>IBM</creator>
+<description>
+ raises a INUSE_ATTRIBUTE_ERR Raised if arg is an Attr that is already an
+ attribute of another Element object.
+
+ Retreieve the first element whose localName is address and its attributes into a named node map.
+ Retreiving the domestic attribute from the namednodemap. Retreieve the second element whose
+ localName is address and its attributes into a named node map. Invoke setNamedItemNS on the
+ second NamedNodeMap specifying the attribute from the first map.
+ This should raise an INUSE_ATTRIBIUTE_ERR.
+</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-setNamedItemNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="elementList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="attr" type="Attr"/>
+<var name="newNode" type="Node"/>
+<!--
+<var name="attrCloned" type="Attr"/>
+-->
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagNameNS var="elementList" obj="doc" namespaceURI='"*"' localName='"address"' interface="Document"/>
+<item var="element" obj="elementList" index="0" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<getNamedItemNS var="attr" obj="attributes" namespaceURI='"http://www.usa.com"' localName='"domestic"'/>
+<!--
+<cloneNode var="attrCloned" obj="attr" deep="true"/>
+-->
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<assertDOMException id="namednodemapsetnameditemns08">
+<INUSE_ATTRIBUTE_ERR>
+<setNamedItemNS var="newNode" obj="attributes" arg="attr"/>
+</INUSE_ATTRIBUTE_ERR>
+</assertDOMException>
+</test>
+
diff --git a/test/testcases/tests/level2/core/namednodemapsetnameditemns09.xml b/test/testcases/tests/level2/core/namednodemapsetnameditemns09.xml
new file mode 100644
index 0000000..6c1c445
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapsetnameditemns09.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="namednodemapsetnameditemns09">
+<metadata>
+<title>namednodemapsetnameditemns09</title>
+<creator>IBM</creator>
+<description>
+ The method setNamedItemNS adds a node using its namespaceURI and localName and
+ raises a NO_MODIFICATION_ALLOWED_ERR if this map is readonly.
+
+ Create a new attribute node and attempt to add it to the nodemap of entities and notations
+ for this documenttype. This should reaise a NO_MODIFICATION_ALLOWED_ERR.
+</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-setNamedItemNS"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="attr" type="Attr"/>
+<var name="newNode" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<doctype var="docType" obj="doc"/>
+<entities var="entities" obj="docType"/>
+<notations var="notations" obj="docType"/>
+<createAttributeNS var="attr" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"test"'/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR_entities">
+<NO_MODIFICATION_ALLOWED_ERR>
+<setNamedItemNS var="newNode" obj="entities" arg="attr"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR_notations">
+<NO_MODIFICATION_ALLOWED_ERR>
+<setNamedItemNS var="newNode" obj="notations" arg="attr"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapsetnameditemns10.xml b/test/testcases/tests/level2/core/namednodemapsetnameditemns10.xml
new file mode 100644
index 0000000..328cb79
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapsetnameditemns10.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="namednodemapsetnameditemns10">
+<metadata>
+<title>namednodemapsetnameditemns10</title>
+<creator>IBM</creator>
+<description>
+ The method setNamedItemNS adds a node using its namespaceURI and localName and
+ raises a HIERARCHY_REQUEST_ERR if an attempt is made to add a node doesn't belong
+ in this NamedNodeMap.
+
+ Attempt to add an entity to a NamedNodeMap of attribute nodes,
+ Since nodes of this type cannot be added to the attribute node map a HIERARCHY_REQUEST_ERR
+ should be raised.
+</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-setNamedItemNS"/>
+<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="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="entity" type="Entity"/>
+<var name="notation" type="Notation"/>
+<var name="element" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<var name="newNode" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<doctype var="docType" obj="doc"/>
+<entities var="entities" obj="docType"/>
+<assertNotNull actual="entities" id="entitiesNotNull"/>
+<getNamedItem var="entity" obj="entities" name='"ent1"'/>
+<getElementsByTagNameNS var="elementList" obj="doc" namespaceURI='"http://www.nist.gov"' localName='"address"' interface="Document"/>
+<item var="element" obj="elementList" index="0" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<setNamedItemNS var="newNode" obj="attributes" arg="entity"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/namednodemapsetnameditemns11.xml b/test/testcases/tests/level2/core/namednodemapsetnameditemns11.xml
new file mode 100644
index 0000000..63b994a
--- /dev/null
+++ b/test/testcases/tests/level2/core/namednodemapsetnameditemns11.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="namednodemapsetnameditemns11">
+<metadata>
+<title>namednodemapsetnameditemns11</title>
+<creator>IBM</creator>
+<description>
+ The method setNamedItemNS adds a node using its namespaceURI and localName and
+ raises a HIERARCHY_REQUEST_ERR if an attempt is made to add a node doesn't belong
+ in this NamedNodeMap.
+
+ Attempt to add a notation node to a NamedNodeMap of attribute nodes,
+ Since notations nodes do not belong in the attribute node map a HIERARCHY_REQUEST_ERR
+ should be raised.
+</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-setNamedItemNS"/>
+<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="docType" type="DocumentType"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="notation" type="Notation"/>
+<var name="element" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<var name="newNode" type="Node"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<doctype var="docType" obj="doc"/>
+<notations var="notations" obj="docType"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItem var="notation" obj="notations" name='"notation1"'/>
+<getElementsByTagNameNS var="elementList" obj="doc" namespaceURI='"http://www.nist.gov"' localName='"address"' interface="Document"/>
+<item var="element" obj="elementList" index="0" interface="NodeList"/>
+<attributes var="attributes" obj="element"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<setNamedItemNS var="newNode" obj="attributes" arg="notation"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/namespaceURI01.xml b/test/testcases/tests/level2/core/namespaceURI01.xml
new file mode 100644
index 0000000..e31ed6c
--- /dev/null
+++ b/test/testcases/tests/level2/core/namespaceURI01.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="namespaceURI01">
+<metadata>
+<title>namespaceURI01</title>
+<creator>NIST</creator>
+<description>
+ The "getNamespaceURI()" method for an Attribute
+ returns the namespace URI of this node, or null if unspecified.
+
+ Retrieve the first "emp:address" node which has an attribute of "emp:district"
+ that is specified in the DTD.
+ Invoke the "getNamespaceURI()" method on the attribute.
+ The method should return "http://www.nist.gov".
+</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-NodeNSname"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=238"/>
+</metadata>
+<!-- this test requires namespace awareness and validation -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="addrAttr" type="Attr"/>
+<var name="attrNamespaceURI" 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"/>
+<getAttributeNodeNS obj="testAddr" namespaceURI='"http://www.nist.gov"' localName='"district"' var="addrAttr"/>
+<namespaceURI obj="addrAttr" var="attrNamespaceURI"/>
+<assertEquals actual="attrNamespaceURI" expected='"http://www.nist.gov"' id="namespaceURI" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namespaceURI02.xml b/test/testcases/tests/level2/core/namespaceURI02.xml
new file mode 100644
index 0000000..1a87501
--- /dev/null
+++ b/test/testcases/tests/level2/core/namespaceURI02.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="namespaceURI02">
+<metadata>
+<title>namespaceURI02</title>
+<creator>NIST</creator>
+<description>
+ The "getNamespaceURI()" method for an Attribute
+ returns the namespace URI of this node, or null if unspecified.
+
+ Retrieve the first emp:address node and get the emp:domestic attribute.
+ Invoke the "getNamespaceURI()" method on the attribute.
+ The method should return "http://www.nist.gov".
+</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-NodeNSname"/>
+</metadata>
+<!-- this 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="addrAttr" type="Attr"/>
+<var name="attrNamespaceURI" 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="empAddressNotNull"/>
+<getAttributeNodeNS obj="testAddr" localName='"domestic"' namespaceURI='"http://www.nist.gov"' var="addrAttr"/>
+<namespaceURI obj="addrAttr" var="attrNamespaceURI"/>
+<assertEquals actual="attrNamespaceURI" expected='"http://www.nist.gov"' id="namespaceURI" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namespaceURI03.xml b/test/testcases/tests/level2/core/namespaceURI03.xml
new file mode 100644
index 0000000..ac058ab
--- /dev/null
+++ b/test/testcases/tests/level2/core/namespaceURI03.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="namespaceURI03">
+<metadata>
+<title>namespaceURI03</title>
+<creator>NIST</creator>
+<description>
+ The "getNamespaceURI()" method for a Node
+ returns the namespace URI of this node, or null if unspecified.
+
+ Retrieve the first employee node and invoke the "getNamespaceURI()"
+ method. The method should return "http://www.nist.gov".
+</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-NodeNSname"/>
+</metadata>
+<!-- this test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="employeeNamespace" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testEmployee"/>
+<assertNotNull actual="testEmployee" id="employeeNotNull"/>
+<namespaceURI obj="testEmployee" var="employeeNamespace"/>
+<assertEquals actual="employeeNamespace" expected='"http://www.nist.gov"' id="namespaceURI" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/namespaceURI04.xml b/test/testcases/tests/level2/core/namespaceURI04.xml
new file mode 100644
index 0000000..52a824b
--- /dev/null
+++ b/test/testcases/tests/level2/core/namespaceURI04.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-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="namespaceURI04">
+<metadata>
+<title>namespaceURI04</title>
+<creator>NIST</creator>
+<description>
+ Retrieve the second employee node and invoke the "getNamespaceURI()"
+ method. The 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-NodeNSname"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="employeeNamespace" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="testEmployee"/>
+<namespaceURI obj="testEmployee" var="employeeNamespace"/>
+<if><contentType type="image/svg+xml"/>
+<!-- the element is staffNS.svg has a non-null namespace
+ but since namespace awareness is not asserted,
+ the namespaceURI may be null -->
+<assertTrue id="employeeNS_svg">
+ <or>
+ <isNull obj="employeeNamespace"/>
+ <equals actual="employeeNamespace"
+ expected='"http://www.w3.org/2001/DOM-Test-Suite/Level-2/Files"'
+ ignoreCase="false"/>
+ </or>
+</assertTrue>
+<else>
+<assertNull actual="employeeNamespace" id="employeeNS_null"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level2/core/nodegetlocalname03.xml b/test/testcases/tests/level2/core/nodegetlocalname03.xml
new file mode 100644
index 0000000..76d8ad7
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodegetlocalname03.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="nodegetlocalname03">
+<metadata>
+<title>nodegetlocalname03</title>
+<creator>IBM</creator>
+<description>
+ The method getLocalName returns the local part of the qualified name of this node.
+
+ Ceate two new element nodes and atribute nodes, with and without namespace prefixes.
+ Retreive the local part of their qualified names using getLocalName and verrify
+ if it is correct.
+</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-NodeNSLocalN"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="qelement" type="Element"/>
+<var name="attr" type="Attr"/>
+<var name="qattr" type="Attr"/>
+<var name="localElemName" type="DOMString"/>
+<var name="localQElemName" type="DOMString"/>
+<var name="localAttrName" type="DOMString"/>
+<var name="localQAttrName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<createElementNS var="element" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test/elem"' qualifiedName='"elem"'/>
+<createElementNS var="qelement" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test/elem"' qualifiedName='"qual:qelem"'/>
+<createAttributeNS var="attr" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test/attr"' qualifiedName='"attr"'/>
+<createAttributeNS var="qattr" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test/attr"' qualifiedName='"qual:qattr"'/>
+<localName var="localElemName" obj="element"/>
+<localName var="localQElemName" obj="qelement"/>
+<localName var="localAttrName" obj="attr"/>
+<localName var="localQAttrName" obj="qattr"/>
+<assertEquals actual="localElemName" expected='"elem"' id="nodegetlocalname03_localElemName" ignoreCase="false"/>
+<assertEquals actual="localQElemName" expected='"qelem"' id="nodegetlocalname03_localQElemName" ignoreCase="false"/>
+<assertEquals actual="localAttrName" expected='"attr"' id="nodegetlocalname03_localAttrName" ignoreCase="false"/>
+<assertEquals actual="localQAttrName" expected='"qattr"' id="nodegetlocalname03_localQAttrName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodegetnamespaceuri03.xml b/test/testcases/tests/level2/core/nodegetnamespaceuri03.xml
new file mode 100644
index 0000000..a993d3a
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodegetnamespaceuri03.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-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="nodegetnamespaceuri03">
+<metadata>
+<title>nodegetnamespaceuri03</title>
+<creator>IBM</creator>
+<description>
+ The method getNamespaceURI returns the namespace URI of this node, or null if it is unspecified
+ For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with
+ a DOM Level 1 method, such as createElement from the Document interface, this is always null.
+
+ Ceate two new element nodes and atribute nodes, with and without namespace prefixes.
+ Retreive their namespaceURI's using getNamespaceURI and verrify if it is correct.
+</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-NodeNSname"/>
+<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="elementNS" type="Element"/>
+<var name="attr" type="Attr"/>
+<var name="attrNS" type="Attr"/>
+<var name="elemNSURI" type="DOMString"/>
+<var name="elemNSURINull" type="DOMString"/>
+<var name="attrNSURI" type="DOMString"/>
+<var name="attrNSURINull" type="DOMString"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<createElementNS var="element" obj="doc" namespaceURI="nullNS" qualifiedName='"elem"'/>
+<createElementNS var="elementNS" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test/elem"' qualifiedName='"qual:qelem"'/>
+<createAttributeNS var="attr" obj="doc" namespaceURI="nullNS" qualifiedName='"attr"'/>
+<createAttributeNS var="attrNS" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test/attr"' qualifiedName='"qual:qattr"'/>
+<namespaceURI var="elemNSURI" obj="elementNS"/>
+<namespaceURI var="elemNSURINull" obj="element"/>
+<namespaceURI var="attrNSURI" obj="attrNS"/>
+<namespaceURI var="attrNSURINull" obj="attr"/>
+<assertEquals actual="elemNSURI" expected='"http://www.w3.org/DOM/Test/elem"' id="nodegetnamespaceuri03_elemNSURI" ignoreCase="false"/>
+<assertNull actual="elemNSURINull" id="nodegetnamespaceuri03_1"/>
+<assertEquals actual="attrNSURI" expected='"http://www.w3.org/DOM/Test/attr"' id="nodegetnamespaceuri03_attrNSURI" ignoreCase="false"/>
+<assertNull actual="attrNSURINull" id="nodegetnamespaceuri03_2"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodegetownerdocument01.xml b/test/testcases/tests/level2/core/nodegetownerdocument01.xml
new file mode 100644
index 0000000..51e6f06
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodegetownerdocument01.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="nodegetownerdocument01">
+<metadata>
+<title>nodegetownerdocument01</title>
+<creator>IBM</creator>
+<description>
+ The method getOwnerDocument returns the Document object associated with this node
+
+ Create a new DocumentType node. Since this node is not used with any Document yet
+ verify if the ownerDocument 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#node-ownerDoc"/>
+<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="ownerDoc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="docType" type="DocumentType"/>
+<var name="nullID" type="DOMString" isNull="true"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<implementation var="domImpl" obj="doc"/>
+<createDocumentType var="docType" obj="domImpl" qualifiedName='"mydoc"' publicId="nullID" systemId="nullID"/>
+<ownerDocument var="ownerDoc" obj="docType"/>
+<assertNull actual="ownerDoc" id="nodegetownerdocument01"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodegetownerdocument02.xml b/test/testcases/tests/level2/core/nodegetownerdocument02.xml
new file mode 100644
index 0000000..ef66fdc
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodegetownerdocument02.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="nodegetownerdocument02">
+<metadata>
+<title>nodegetownerdocument02</title>
+<creator>IBM</creator>
+<description>
+ The method getOwnerDocument returns the Document object associated with this node
+
+ Create a new Document node. Since this node is not used with any Document yet
+ verify if the ownerDocument is null. Create a new element Node on the new Document
+ object. Check the ownerDocument of the new element 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#node-ownerDoc"/>
+<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="newDoc" type="Document"/>
+<var name="newElem" type="Element"/>
+<var name="ownerDocDoc" type="Document"/>
+<var name="ownerDocElem" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="docType" type="DocumentType"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<implementation var="domImpl" obj="doc"/>
+<createDocumentType var="docType" obj="domImpl" qualifiedName='"mydoc"' publicId="nullNS" systemId="nullNS"/>
+<createDocument var="newDoc" obj="domImpl" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"mydoc"' doctype="docType"/>
+<ownerDocument var="ownerDocDoc" obj="newDoc"/>
+<assertNull actual="ownerDocDoc" id="nodegetownerdocument02_1"/>
+<createElementNS var="newElem" obj="newDoc" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"myelem"'/>
+<ownerDocument var="ownerDocElem" obj="newElem"/>
+<assertNotNull actual="ownerDocElem" id="nodegetownerdocument02_2"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodegetprefix03.xml b/test/testcases/tests/level2/core/nodegetprefix03.xml
new file mode 100644
index 0000000..3eec6d9
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodegetprefix03.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="nodegetprefix03">
+<metadata>
+<title>nodegetprefix03</title>
+<creator>IBM</creator>
+<description>
+ The method getPrefix returns the namespace prefix of this node, or null if it is unspecified.
+
+ Ceate two new element nodes and atribute nodes, with and without namespace prefixes.
+ Retreive the prefix part of their qualified names using getPrefix and verify
+ if it is correct.
+</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-NodeNSPrefix"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="qelement" type="Element"/>
+<var name="attr" type="Attr"/>
+<var name="qattr" type="Attr"/>
+<var name="elemNoPrefix" type="DOMString"/>
+<var name="elemPrefix" type="DOMString"/>
+<var name="attrNoPrefix" type="DOMString"/>
+<var name="attrPrefix" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<createElementNS var="element" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test/elem"' qualifiedName='"elem"'/>
+<createElementNS var="qelement" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test/elem"' qualifiedName='"qual:qelem"'/>
+<createAttributeNS var="attr" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test/attr"' qualifiedName='"attr"'/>
+<createAttributeNS var="qattr" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test/attr"' qualifiedName='"qual:qattr"'/>
+<prefix var="elemNoPrefix" obj="element"/>
+<prefix var="elemPrefix" obj="qelement"/>
+<prefix var="attrNoPrefix" obj="attr"/>
+<prefix var="attrPrefix" obj="qattr"/>
+<assertNull actual="elemNoPrefix" id="nodegetprefix03_1"/>
+<assertEquals actual="elemPrefix" expected='"qual"' id="nodegetprefix03_2" ignoreCase="false"/>
+<assertNull actual="attrNoPrefix" id="nodegetprefix03_3"/>
+<assertEquals actual="attrPrefix" expected='"qual"' id="nodegetprefix03_4" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodehasattributes01.xml b/test/testcases/tests/level2/core/nodehasattributes01.xml
new file mode 100644
index 0000000..017da0c
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodehasattributes01.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="nodehasattributes01">
+<metadata>
+<title>nodehasattributes01</title>
+<creator>IBM</creator>
+<description>
+ The method hasAttributes returns whether this node (if it is an element) has any attributes.
+
+ Retreive an element node without attributes. Verify if hasAttributes returns false.
+ Retreive another element node with attributes. Verify if hasAttributes 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="elementList" type="NodeList"/>
+<var name="hasAttributes" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName var="elementList" obj="doc" tagname='"employeeId"' interface="Document"/>
+<item var="element" obj="elementList" index="0" interface="NodeList"/>
+<hasAttributes var="hasAttributes" obj="element"/>
+<assertFalse actual="hasAttributes" id="employeeIdHasAttributesFalse"/>
+<getElementsByTagName var="elementList" obj="doc" tagname='"address"' interface="Document"/>
+<item var="element" obj="elementList" index="0" interface="NodeList"/>
+<hasAttributes var="hasAttributes" obj="element"/>
+<assertTrue actual="hasAttributes" id="addressHasAttributesTrue"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodehasattributes02.xml b/test/testcases/tests/level2/core/nodehasattributes02.xml
new file mode 100644
index 0000000..5fb47fa
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodehasattributes02.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="nodehasattributes02">
+<metadata>
+<title>nodehasattributes02</title>
+<creator>IBM</creator>
+<description>
+ The method hasAttributes returns whether this node (if it is an element) has any attributes.
+
+ Retrieve the docType node. Since this is not an element node check if hasAttributes returns
+ 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-NodeHasAttrs"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="hasAttributes" type="boolean"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<doctype var="docType" obj="doc"/>
+<hasAttributes var="hasAttributes" obj="docType"/>
+<assertFalse actual="hasAttributes" id="nodehasattributes02"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodehasattributes03.xml b/test/testcases/tests/level2/core/nodehasattributes03.xml
new file mode 100644
index 0000000..55850bb
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodehasattributes03.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-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="nodehasattributes03">
+<metadata>
+<title>nodehasattributes03</title>
+<creator>IBM</creator>
+<description>
+ The method hasAttributes returns whether this node (if it is an element) has any attributes.
+
+ Retreive an element node with a default attributes. Verify if hasAttributes 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="elementList" type="NodeList"/>
+<var name="hasAttributes" type="boolean"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName var="elementList" obj="doc" tagname='"emp:employee"' interface="Document"/>
+<item var="element" obj="elementList" index="0" interface="NodeList"/>
+<assertNotNull actual="element" id="empEmployeeNotNull"/>
+<hasAttributes var="hasAttributes" obj="element"/>
+<assertTrue actual="hasAttributes" id="hasAttributes"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodehasattributes04.xml b/test/testcases/tests/level2/core/nodehasattributes04.xml
new file mode 100644
index 0000000..00e14ff
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodehasattributes04.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="nodehasattributes04">
+<metadata>
+<title>nodehasattributes04</title>
+<creator>IBM</creator>
+<description>
+ The method hasAttributes returns whether this node (if it is an element) has any attributes.
+
+ Create a new Document, Element and Attr node. Add the Attr to the Element and append the
+ Element to the Document. Retreive the newly created element node from the document and check
+ if it has attributes using hasAttributes.
+</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="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="elementTest" type="Element"/>
+<var name="elementDoc" type="Element"/>
+<var name="attribute" type="Attr"/>
+<var name="setNode" type="Node"/>
+<var name="appendedChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="hasAttributes" type="boolean"/>
+<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='"test"' doctype="docType"/>
+<createElementNS var="element" obj="newDoc" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"dom:elem"'/>
+<createAttribute var="attribute" obj="newDoc" name='"attr"'/>
+<setAttributeNode var="setNode" obj="element" newAttr="attribute"/>
+<documentElement var="elementDoc" obj="newDoc"/>
+<appendChild var="appendedChild" obj="elementDoc" newChild="element"/>
+<getElementsByTagNameNS var="elementList" obj="newDoc" namespaceURI='"http://www.w3.org/DOM/Test"' localName='"elem"' interface="Document"/>
+<item var="elementTest" obj="elementList" index="0" interface="NodeList"/>
+<hasAttributes var="hasAttributes" obj="elementTest"/>
+<assertTrue actual="hasAttributes" id="nodehasattributes04"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodeissupported01.xml b/test/testcases/tests/level2/core/nodeissupported01.xml
new file mode 100644
index 0000000..4d5b406
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodeissupported01.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-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="nodeissupported01">
+<metadata>
+<title>nodeissupported01</title>
+<creator>IBM</creator>
+<description>
+ The method "isSupported(feature,version)" Tests whether the DOM implementation
+ implements a specific feature and that feature is supported by this node.
+
+ Call the isSupported method on the document element node with a combination of features
+ versions and 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<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"/>
+<documentElement obj="doc" var="element"/>
+<for-each collection="featuresXML" member="featureXML">
+<isSupported obj="element" var="success" feature="featureXML" version="version"/>
+<assertTrue actual="success" id="nodeissupported01_XML1"/>
+<isSupported obj="element" var="success" feature="featureXML" version="version1"/>
+<assertTrue actual="success" id="nodeissupported01_XML2"/>
+</for-each>
+<for-each collection="featuresCore" member="featureCore">
+<isSupported obj="element" var="success" feature="featureCore" version="version"/>
+<assertTrue actual="success" id="nodeissupported01_Core1"/>
+
+<!-- isSupported("Core", "1.0") is unspecified since "Core" was not defined in L1 -->
+<isSupported obj="element" var="success" feature="featureCore" version="version1"/>
+
+<isSupported obj="element" var="success" feature="featureCore" version="version2"/>
+<assertTrue actual="success" id="nodeissupported01_Core3"/>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/nodeissupported02.xml b/test/testcases/tests/level2/core/nodeissupported02.xml
new file mode 100644
index 0000000..4634873
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodeissupported02.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-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="nodeissupported02">
+<metadata>
+<title>nodeissupported02</title>
+<creator>IBM</creator>
+<description>
+ The method "isSupported(feature,version)" Tests whether the DOM implementation
+ implements a specific feature and that feature is supported by this node.
+
+ Call the isSupported method on a new attribute node with a combination of features
+ versions and 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="attribute" type="Attr"/>
+<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"/>
+<createAttribute obj="doc" var="attribute" name='"TestAttr"'/>
+<for-each collection="featuresXML" member="featureXML">
+<isSupported obj="attribute" var="success" feature="featureXML" version="version"/>
+<assertTrue actual="success" id="nodeissupported02_XML1"/>
+<isSupported obj="attribute" var="success" feature="featureXML" version="version1"/>
+<assertTrue actual="success" id="nodeissupported02_XML2"/>
+</for-each>
+<for-each collection="featuresCore" member="featureCore">
+<isSupported obj="attribute" var="success" feature="featureCore" version="version"/>
+<assertTrue actual="success" id="nodeissupported02_Core1"/>
+
+<!-- isSupported("Core", "1.0") is unspecified since "Core" was not defined in L1 -->
+<isSupported obj="attribute" var="success" feature="featureCore" version="version1"/>
+
+<isSupported obj="attribute" var="success" feature="featureCore" version="version2"/>
+<assertTrue actual="success" id="nodeissupported02_Core3"/>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level2/core/nodeissupported03.xml b/test/testcases/tests/level2/core/nodeissupported03.xml
new file mode 100644
index 0000000..8437cce
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodeissupported03.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="nodeissupported03">
+<metadata>
+<title>nodeissupported03</title>
+<creator>IBM</creator>
+<description>
+ The method "isSupported(feature,version)" Tests whether the DOM implementation
+ implements a specific feature and that feature is supported by this node.
+
+ Call the isSupported method specifying empty strings for feature and version on a docType
+ Node. Check if the value returned value 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="success" type="boolean"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<doctype var="docType" obj="doc"/>
+<isSupported obj="docType" var="success" feature='""' version='""'/>
+<assertFalse actual="success" id="nodeissupported03"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodeissupported04.xml b/test/testcases/tests/level2/core/nodeissupported04.xml
new file mode 100644
index 0000000..68ee69f
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodeissupported04.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="nodeissupported04">
+<metadata>
+<title>nodeissupported04</title>
+<creator>IBM</creator>
+<description>
+ The method "isSupported(feature,version)" Tests whether the DOM implementation
+ implements a specific feature and that feature is supported by this node.
+
+ Call the isSupported method specifying empty strings for feature and version on a
+ new EntityReference node. Check if the value returned value 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="entRef" type="EntityReference"/>
+<var name="success" type="boolean"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<createEntityReference var="entRef" obj="doc" name='"ent1"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<isSupported obj="entRef" var="success" feature='"XML CORE"' version='""'/>
+<assertFalse actual="success" id="nodeissupported04"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodeissupported05.xml b/test/testcases/tests/level2/core/nodeissupported05.xml
new file mode 100644
index 0000000..56b816f
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodeissupported05.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="nodeissupported05">
+<metadata>
+<title>nodeissupported05</title>
+<creator>IBM</creator>
+<description>
+ The method "isSupported(feature,version)" Tests whether the DOM implementation
+ implements a specific feature and that feature is supported by this node.
+
+ Call the isSupported method specifying bad values for feature and version on a new
+ Processing Instruction node. Check if the value returned from this method value 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#Level-2-Core-Node-supports"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="pi" type="ProcessingInstruction"/>
+<var name="success" type="boolean"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<createProcessingInstruction var="pi" obj="doc" target='"PITarget"' data='"PIData"'/>
+<isSupported obj="pi" var="success" feature='"-"' version='"+"'/>
+<assertFalse actual="success" id="nodeissupported05"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodenormalize01.xml b/test/testcases/tests/level2/core/nodenormalize01.xml
new file mode 100644
index 0000000..94f5b64
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodenormalize01.xml
@@ -0,0 +1,153 @@
+<?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="nodenormalize01">
+<metadata>
+<title>nodenormalize01</title>
+<creator>IBM</creator>
+<description>
+ The method "normalize" puts all Text nodes in the full depth of the sub-tree underneath
+ this Node, including attribute nodes, into a "normal" form where only structure
+ (e.g., elements, comments, processing instructions, CDATA sections, and entity references)
+ separates Text nodes, i.e., there are neither adjacent Text nodes nor empty Text nodes.
+
+ Create a dom tree consisting of elements, comments, processing instructions, CDATA sections,
+ and entity references nodes seperated by text nodes. Check the length of the node list of each
+ before and after normalize has been called.
+</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-normalize"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newDoc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="docType" type="DocumentType"/>
+<var name="docTypeNull" type="DocumentType" isNull="true"/>
+<var name="documentElement" type="Element"/>
+<var name="element1" type="Element"/>
+<var name="element2" type="Element"/>
+<var name="element3" type="Element"/>
+<var name="element4" type="Element"/>
+<var name="element5" type="Element"/>
+<var name="element6" type="Element"/>
+<var name="element7" type="Element"/>
+<var name="text1" type="Text"/>
+<var name="text2" type="Text"/>
+<var name="text3" type="Text"/>
+<var name="pi" type="ProcessingInstruction"/>
+<var name="cData" type="CDATASection"/>
+<var name="comment" type="Comment"/>
+<var name="entRef" type="EntityReference"/>
+<var name="elementList" type="NodeList"/>
+<var name="appendedChild" type="Node"/>
+<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='"dom:root"' doctype="docTypeNull"/>
+<createElement var="element1" obj="newDoc" tagName='"element1"'/>
+<createElement var="element2" obj="newDoc" tagName='"element2"'/>
+<createElement var="element3" obj="newDoc" tagName='"element3"'/>
+<createElement var="element4" obj="newDoc" tagName='"element4"'/>
+<createElement var="element5" obj="newDoc" tagName='"element5"'/>
+<createElement var="element6" obj="newDoc" tagName='"element6"'/>
+<createElement var="element7" obj="newDoc" tagName='"element7"'/>
+<createTextNode var="text1" obj="newDoc" data='"text1"'/>
+<createTextNode var="text2" obj="newDoc" data='"text2"'/>
+<createTextNode var="text3" obj="newDoc" data='"text3"'/>
+<createCDATASection var="cData" obj="newDoc" data='"Cdata"'/>
+<createComment var="comment" obj="newDoc" data='"comment"'/>
+<createProcessingInstruction var="pi" obj="newDoc" target='"PITarget"' data='"PIData"'/>
+<createEntityReference var="entRef" obj="newDoc" name='"EntRef"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<documentElement var="documentElement" obj="newDoc"/>
+<appendChild var="appendedChild" obj="documentElement" newChild="element1"/>
+
+<appendChild var="appendedChild" obj="element2" newChild="text1"/>
+<appendChild var="appendedChild" obj="element2" newChild="text2"/>
+<appendChild var="appendedChild" obj="element2" newChild="text3"/>
+<appendChild var="appendedChild" obj="element1" newChild="element2"/>
+
+<cloneNode var="text1" obj="text1" deep="false"/>
+<cloneNode var="text2" obj="text2" deep="false"/>
+<appendChild var="appendedChild" obj="element3" newChild="entRef"/>
+<appendChild var="appendedChild" obj="element3" newChild="text1"/>
+<appendChild var="appendedChild" obj="element3" newChild="text2"/>
+<appendChild var="appendedChild" obj="element1" newChild="element3"/>
+
+<cloneNode var="text1" obj="text1" deep="false"/>
+<cloneNode var="text2" obj="text2" deep="false"/>
+<appendChild var="appendedChild" obj="element4" newChild="cData"/>
+<appendChild var="appendedChild" obj="element4" newChild="text1"/>
+<appendChild var="appendedChild" obj="element4" newChild="text2"/>
+<appendChild var="appendedChild" obj="element1" newChild="element4"/>
+
+<cloneNode var="text2" obj="text2" deep="false"/>
+<cloneNode var="text3" obj="text3" deep="false"/>
+<appendChild var="appendedChild" obj="element5" newChild="comment"/>
+<appendChild var="appendedChild" obj="element5" newChild="text2"/>
+<appendChild var="appendedChild" obj="element5" newChild="text3"/>
+<appendChild var="appendedChild" obj="element1" newChild="element5"/>
+
+<cloneNode var="text2" obj="text2" deep="false"/>
+<cloneNode var="text3" obj="text3" deep="false"/>
+<appendChild var="appendedChild" obj="element6" newChild="pi"/>
+<appendChild var="appendedChild" obj="element6" newChild="text2"/>
+<appendChild var="appendedChild" obj="element6" newChild="text3"/>
+<appendChild var="appendedChild" obj="element1" newChild="element6"/>
+
+<cloneNode var="entRef" obj="entRef" deep="false"/>
+<cloneNode var="text1" obj="text1" deep="false"/>
+<cloneNode var="text2" obj="text2" deep="false"/>
+<cloneNode var="text3" obj="text3" deep="false"/>
+<appendChild var="appendedChild" obj="element7" newChild="entRef"/>
+<appendChild var="appendedChild" obj="element7" newChild="text1"/>
+<appendChild var="appendedChild" obj="element7" newChild="text2"/>
+<appendChild var="appendedChild" obj="element7" newChild="text3"/>
+<appendChild var="appendedChild" obj="element1" newChild="element7"/>
+
+<childNodes var="elementList" obj="element1"/>
+<assertSize size="6" collection="elementList" id="nodeNormalize01_1Bef"/>
+<childNodes var="elementList" obj="element2"/>
+<assertSize size="3" collection="elementList" id="nodeNormalize01_2Bef"/>
+<childNodes var="elementList" obj="element3"/>
+<assertSize size="3" collection="elementList" id="nodeNormalize01_3Bef"/>
+<childNodes var="elementList" obj="element4"/>
+<assertSize size="3" collection="elementList" id="nodeNormalize01_4Bef"/>
+<childNodes var="elementList" obj="element5"/>
+<assertSize size="3" collection="elementList" id="nodeNormalize01_5Bef"/>
+<childNodes var="elementList" obj="element6"/>
+<assertSize size="3" collection="elementList" id="nodeNormalize01_6Bef"/>
+<childNodes var="elementList" obj="element7"/>
+<assertSize size="4" collection="elementList" id="nodeNormalize01_7Bef"/>
+<normalize obj="newDoc"/>
+<childNodes var="elementList" obj="element1"/>
+<assertSize size="6" collection="elementList" id="nodeNormalize01_1Aft"/>
+<childNodes var="elementList" obj="element2"/>
+<assertSize size="1" collection="elementList" id="nodeNormalize01_2Aft"/>
+<childNodes var="elementList" obj="element3"/>
+<assertSize size="2" collection="elementList" id="nodeNormalize01_3Aft"/>
+<childNodes var="elementList" obj="element4"/>
+<assertSize size="2" collection="elementList" id="nodeNormalize01_4Aft"/>
+<childNodes var="elementList" obj="element5"/>
+<assertSize size="2" collection="elementList" id="nodeNormalize01_5Aft"/>
+<childNodes var="elementList" obj="element6"/>
+<assertSize size="2" collection="elementList" id="nodeNormalize01_6Aft"/>
+<childNodes var="elementList" obj="element7"/>
+<assertSize size="2" collection="elementList" id="nodeNormalize01_7Aft"/>
+</test>
+
diff --git a/test/testcases/tests/level2/core/nodesetprefix01.xml b/test/testcases/tests/level2/core/nodesetprefix01.xml
new file mode 100644
index 0000000..a3817cc
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodesetprefix01.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="nodesetprefix01">
+<metadata>
+<title>nodesetprefix01</title>
+<creator>IBM</creator>
+<description>
+ The method setPrefix sets the namespace prefix of this node. Note that setting this attribute,
+ when permitted, changes the nodeName attribute, which holds the qualified name, as well as the
+ tagName and name attributes of the Element and Attr interfaces, when applicable.
+
+ Create a new element node with a namespace prefix. Add it to a new DocumentFragment Node without
+ a prefix. Call setPrefix on the elemen node. Check if the prefix was set correctly on the element.
+</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-NodeNSPrefix"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="docFragment" type="DocumentFragment"/>
+<var name="element" type="Element"/>
+<var name="elementTagName" type="DOMString"/>
+<var name="elementNodeName" type="DOMString"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createDocumentFragment var="docFragment" obj="doc" />
+<createElementNS var="element" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"emp:address"'/>
+<appendChild var="appendedChild" obj="docFragment" newChild="element"/>
+<prefix obj="element" value='"dmstc"'/>
+<tagName var="elementTagName" obj="element"/>
+<nodeName var="elementNodeName" obj="element"/>
+<assertEquals actual="elementTagName" expected='"dmstc:address"' id="nodesetprefix01_tagname" ignoreCase="false"/>
+<assertEquals actual="elementNodeName" expected='"dmstc:address"' id="nodesetprefix01_nodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodesetprefix02.xml b/test/testcases/tests/level2/core/nodesetprefix02.xml
new file mode 100644
index 0000000..7e86db2
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodesetprefix02.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="nodesetprefix02">
+<metadata>
+<title>nodesetprefix02</title>
+<creator>IBM</creator>
+<description>
+ The method setPrefix sets the namespace prefix of this node. Note that setting this attribute,
+ when permitted, changes the nodeName attribute, which holds the qualified name, as well as the
+ tagName and name attributes of the Element and Attr interfaces, when applicable.
+
+ Create a new attribute node and add it to an element node with an existing attribute having
+ the same localName as this attribute but different namespaceURI. Change the prefix of the
+ newly created attribute using setPrefix. Check if the new attribute nodeName has changed
+ and the existing attribute is the same.
+</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-NodeNSPrefix"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="attribute" type="Attr"/>
+<var name="newAttribute" type="Attr"/>
+<var name="setNode" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="attrName" type="DOMString"/>
+<var name="newAttrName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName var="elementList" obj="doc" tagname='"address"' interface="Document"/>
+<item var="element" obj="elementList" index="1" interface="NodeList"/>
+<createAttributeNS var="newAttribute" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test"' qualifiedName='"test:address"'/>
+<setAttributeNodeNS var="setNode" obj="element" newAttr="newAttribute"/>
+<prefix obj="newAttribute" value='"dom"'/>
+<getAttributeNodeNS var="attribute" obj="element" namespaceURI='"http://www.usa.com"' localName='"domestic"'/>
+<nodeName var="attrName" obj="attribute"/>
+<nodeName var="newAttrName" obj="newAttribute"/>
+<assertEquals actual="attrName" expected='"dmstc:domestic"' id="nodesetprefix02_attrName" ignoreCase="false"/>
+<assertEquals actual="newAttrName" expected='"dom:address"' id="nodesetprefix02_newAttrName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/nodesetprefix03.xml b/test/testcases/tests/level2/core/nodesetprefix03.xml
new file mode 100644
index 0000000..eaa0739
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodesetprefix03.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="nodesetprefix03">
+<metadata>
+<title>nodesetprefix03</title>
+<creator>IBM</creator>
+<description>
+ The method setPrefix raises a NAMESPACE_ERR if the namespaceURI of this node is null.
+
+ Create a new element node without a namespace prefix. Call setPrefix on the newly created elemenent node.
+ Check if a NAMESPACE_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-NodeNSPrefix"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<createElement var="element" obj="doc" tagName='"address"'/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<prefix obj="element" value='"test"'/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/nodesetprefix04.xml b/test/testcases/tests/level2/core/nodesetprefix04.xml
new file mode 100644
index 0000000..f81523d
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodesetprefix04.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="nodesetprefix04">
+<metadata>
+<title>nodesetprefix04</title>
+<creator>IBM</creator>
+<description>
+ The method setPrefix raises a NAMESPACE_ERR if the namespaceURI of this node is null.
+
+ Retreive the a default Attribute node which does not have a namespace prefix. Call the setPrefix
+ method on it. Check if a NAMESPACE_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-NodeNSPrefix"/>
+<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="elementList" type="NodeList"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<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"/>
+<getAttributeNodeNS var="attribute" obj="element" namespaceURI="nullNS" localName='"defaultAttr"'/>
+<assertDOMException id="nodesetprefix04">
+<NAMESPACE_ERR>
+<prefix obj="attribute" value='"test"'/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
+
diff --git a/test/testcases/tests/level2/core/nodesetprefix05.xml b/test/testcases/tests/level2/core/nodesetprefix05.xml
new file mode 100644
index 0000000..7e8fd89
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodesetprefix05.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="nodesetprefix05">
+<metadata>
+<title>nodesetprefix05</title>
+<creator>IBM</creator>
+<description>
+ The method setPrefix raises a NAMESPACE_ERR if the specified prefix is malformed.
+
+ Create a new namespace aware element node and call the setPrefix method on it with several malformed
+ prefix values. Check if a NAMESPACE_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-NodeNSPrefix"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="prefixValue" type="DOMString"/>
+<var name="prefixValues" type="List">
+<member>&quot;_:&quot;</member>
+<member>&quot;:0&quot;</member>
+<member>&quot;:&quot;</member>
+<member>&quot;_::&quot;</member>
+<member>&quot;a:0:c&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="prefixValues" member="prefixValue">
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<prefix obj="element" value="prefixValue"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</for-each>
+</test>
+
diff --git a/test/testcases/tests/level2/core/nodesetprefix06.xml b/test/testcases/tests/level2/core/nodesetprefix06.xml
new file mode 100644
index 0000000..ac4fcf4
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodesetprefix06.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="nodesetprefix06">
+<metadata>
+<title>nodesetprefix06</title>
+<creator>IBM</creator>
+<description>
+ The method setPrefix raises a NAMESPACE_ERR if the specified prefix is "xml" and the namespaceURI
+ of this node is different from "http://www.w3.org/XML/1998/namespace".
+
+ Invoke the setPrefix method on this Element object with namespaceURI that is different from
+ http://www..w3.org/xml/1998/namespace and a prefix whose values is xml.
+ 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-NodeNSPrefix"/>
+</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/DOM/Test/L2"' qualifiedName='"dom:elem"'/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<prefix obj="element" value='"xml"'/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/nodesetprefix07.xml b/test/testcases/tests/level2/core/nodesetprefix07.xml
new file mode 100644
index 0000000..f8e2b47
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodesetprefix07.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="nodesetprefix07">
+<metadata>
+<title>nodesetprefix07</title>
+<creator>IBM</creator>
+<description>
+ The method setPrefix raises a NAMESPACE_ERR if this node is an attribute and the specified
+ prefix is "xmlns" and the namespaceURI of this node is different from
+ "http://www.w3.org/2000/xmlns/".
+
+ Create a new attribute node whose namespaceURI is different form "http://www.w3.org/2000/xmlns/"
+ and node prefix 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-NodeNSPrefix"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="attribute" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<createAttributeNS var="attribute" obj="doc" namespaceURI='"http://www.w3.org/DOM/Test/L2"' qualifiedName='"abc:elem"'/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<prefix obj="attribute" value='"xmlns"'/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/nodesetprefix08.xml b/test/testcases/tests/level2/core/nodesetprefix08.xml
new file mode 100644
index 0000000..bec9ebb
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodesetprefix08.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-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="nodesetprefix08">
+<metadata>
+<title>nodesetprefix08</title>
+<creator>IBM</creator>
+<description>
+ The method setPrefix raises a NAMESPACE_ERR if this node is an attribute and the qualifiedName
+ of this node is "xmlns
+
+ Retreive an attribute node whose qualifiedName is xmlns. Try setting a prefix on this node.
+ 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-NodeNSPrefix"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="element" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<var name="attribute" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName var="elementList" obj="doc" tagname='"employee"' interface="Document"/>
+<item var="element" obj="elementList" index="0" interface="NodeList"/>
+<getAttributeNode var="attribute" obj="element" name='"xmlns"'/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<prefix obj="attribute" value='"xml"'/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/nodesetprefix09.xml b/test/testcases/tests/level2/core/nodesetprefix09.xml
new file mode 100644
index 0000000..1c61f3b
--- /dev/null
+++ b/test/testcases/tests/level2/core/nodesetprefix09.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="nodesetprefix09">
+<metadata>
+<title>nodesetprefix09</title>
+<creator>IBM</creator>
+<description>
+ The method setPrefix raises a INVALID_CHARACTER_ERR if the specified prefix contains an illegal character.
+
+ Create a new namespace aware element node and call the setPrefix method on it with a prefix having
+ an invalid character. Check if a NAMESPACE_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-NodeNSPrefix"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="value" type="DOMString" value='"#$%&amp;&apos;()@"' />
+<var name="element" type="Element"/>
+<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="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<prefix obj="element" value="value" />
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/normalize01.xml b/test/testcases/tests/level2/core/normalize01.xml
new file mode 100644
index 0000000..7cf5c7d
--- /dev/null
+++ b/test/testcases/tests/level2/core/normalize01.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="normalize01">
+<metadata>
+<title>normalize01</title>
+<creator>NIST</creator>
+<description>
+ The "normalize()" method puts all the nodes in the full
+ depth of the sub-tree underneath this element into a
+ "normal" form.
+
+ Retrieve the third employee and access its second child.
+ This child contains a block of text that is spread
+ across multiple lines. The content of the "name" child
+ should be parsed and treated as a single Text node.
+
+ This appears to be a duplicate of elementnormalize.xml in DOM L1 Test Suite
+</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-normalize"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-72AB8359"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="root" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<var name="firstChild" type="Node"/>
+<var name="textList" type="NodeList"/>
+<var name="textNode" type="CharacterData"/>
+<var name="data" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="root"/>
+<normalize obj="root"/>
+<getElementsByTagName interface="Element" obj="root" tagname='"name"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="firstChild"/>
+<childNodes obj="firstChild" var="textList"/>
+<item interface="NodeList" obj="textList" index="0" var="textNode"/>
+<data interface="CharacterData" obj="textNode" var="data"/>
+<assertEquals actual="data" expected='"Roger\n Jones"' id="data" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/ownerDocument01.xml b/test/testcases/tests/level2/core/ownerDocument01.xml
new file mode 100644
index 0000000..03c054a
--- /dev/null
+++ b/test/testcases/tests/level2/core/ownerDocument01.xml
@@ -0,0 +1,38 @@
+<?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="ownerDocument01">
+<metadata>
+<title>ownerDocument01</title>
+<creator>NIST</creator>
+<description>
+ The "getOwnerDocument()" method returns null if the target
+ node itself is a DocumentType which is not used with any document yet.
+
+ Invoke the "getOwnerDocument()" method on the master
+ document. The DocumentType returned should be 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#node-ownerDoc"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="ownerDocument" type="DocumentType"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<ownerDocument obj="doc" var="ownerDocument"/>
+<assertNull actual="ownerDocument" id="throw_Null"/>
+</test>
diff --git a/test/testcases/tests/level2/core/ownerElement01.xml b/test/testcases/tests/level2/core/ownerElement01.xml
new file mode 100644
index 0000000..78cb0c3
--- /dev/null
+++ b/test/testcases/tests/level2/core/ownerElement01.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="ownerElement01">
+<metadata>
+<title>ownerElement01</title>
+<creator>NIST</creator>
+<description>
+ The "getOwnerElement()" will return the Element node this attribute
+ is attached to or null if this attribute is not in use.
+ Get the "domestic" attribute from the first "address" node.
+ Apply the "getOwnerElement()" method to get the Element associated
+ with the attribute. The value returned should be "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-F68D095"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="domesticAttr" type="Attr"/>
+<var name="elementNode" type="Element"/>
+<var name="name" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="addressList" var="testNode" index="0"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="domesticAttr" name="&quot;domestic&quot;"/>
+<ownerElement obj="domesticAttr" var="elementNode"/>
+<nodeName obj="elementNode" var="name"/>
+<assertEquals actual="name" expected="&quot;address&quot;" id="throw_Equals" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/ownerElement02.xml b/test/testcases/tests/level2/core/ownerElement02.xml
new file mode 100644
index 0000000..7a600c2
--- /dev/null
+++ b/test/testcases/tests/level2/core/ownerElement02.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="ownerElement02">
+<metadata>
+<title>ownerElement02</title>
+<creator>NIST</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.
+ Apply the "getOwnerElement()" method to get the Element associated
+ with the attribute. The value returned should be "null" since this
+ attribute is not in use.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Attr-ownerElement"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newAttr" type="Attr"/>
+<var name="elementNode" type="Element"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<createAttribute obj="doc" var="newAttr" name="&quot;newAttribute&quot;"/>
+<ownerElement obj="newAttr" var="elementNode"/>
+<assertNull actual="elementNode" id="throw_Null"/>
+</test>
diff --git a/test/testcases/tests/level2/core/prefix01.xml b/test/testcases/tests/level2/core/prefix01.xml
new file mode 100644
index 0000000..dd85d18
--- /dev/null
+++ b/test/testcases/tests/level2/core/prefix01.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="prefix01">
+<metadata>
+<title>prefix01</title>
+<creator>NIST</creator>
+<description>
+ The "getPrefix()" method for a Node
+ returns the namespace prefix of the node,
+ and for nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE
+ and nodes created with a DOM Level 1 method, this is null.
+
+ Create an new Element with the createElement() method.
+ Invoke the "getPrefix()" method on the newly created element
+ node will cause "null" to be returned.
+</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-NodeNSPrefix"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="createdNode" type="Node"/>
+<var name="prefix" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<createElement obj="doc" tagName="&quot;test:employee&quot;" var="createdNode"/>
+<prefix obj="createdNode" var="prefix"/>
+<assertNull actual="prefix" id="throw_Null"/>
+</test>
diff --git a/test/testcases/tests/level2/core/prefix02.xml b/test/testcases/tests/level2/core/prefix02.xml
new file mode 100644
index 0000000..68744e4
--- /dev/null
+++ b/test/testcases/tests/level2/core/prefix02.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="prefix02">
+<metadata>
+<title>prefix02</title>
+<creator>NIST</creator>
+<description>
+ The "getPrefix()" method
+ returns the namespace prefix of this node, or null if unspecified.
+ For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE,
+ this is always null.
+
+ Retrieve the first emp:employeeId node and get the first child of this node.
+ Since the first child is Text node invoking the "getPrefix()"
+ method will cause "null" to be returned.
+</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-NodeNSPrefix"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="textNode" type="Node"/>
+<var name="prefix" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"emp:employeeId"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testEmployee"/>
+<assertNotNull actual="testEmployee" id="empEmployeeNotNull"/>
+<firstChild interface="Node" obj="testEmployee" var="textNode"/>
+<prefix obj="textNode" var="prefix"/>
+<assertNull actual="prefix" id="textNodePrefix"/>
+</test>
diff --git a/test/testcases/tests/level2/core/prefix03.xml b/test/testcases/tests/level2/core/prefix03.xml
new file mode 100644
index 0000000..b467034
--- /dev/null
+++ b/test/testcases/tests/level2/core/prefix03.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="prefix03">
+<metadata>
+<title>prefix03</title>
+<creator>NIST</creator>
+<description>
+ The "getPrefix()" method for a node
+ returns the namespace prefix of this node, or null if it is unspecified.
+
+ Retrieve the first emp:employee node and invoke the getPrefix() method."
+ The method should return "emp".
+</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-NodeNSPrefix"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="prefix" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"emp:employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testEmployee"/>
+<assertNotNull actual="testEmployee" id="empEmployeeNotNull"/>
+<prefix obj="testEmployee" var="prefix"/>
+<assertEquals actual="prefix" expected='"emp"' id="prefix" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/prefix04.xml b/test/testcases/tests/level2/core/prefix04.xml
new file mode 100644
index 0000000..6e1ed3f
--- /dev/null
+++ b/test/testcases/tests/level2/core/prefix04.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="prefix04">
+<metadata>
+<title>prefix04</title>
+<creator>NIST</creator>
+<description>
+ The "getPrefix()" method for a node
+ returns the namespace prefix of this node, or null if it is unspecified.
+
+ Retrieve the first employee node and invoke the getPrefix() method."
+ The 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-NodeNSPrefix"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="prefix" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testEmployee"/>
+<prefix obj="testEmployee" var="prefix"/>
+<assertNull actual="prefix" id="throw_Null"/>
+</test>
diff --git a/test/testcases/tests/level2/core/prefix05.xml b/test/testcases/tests/level2/core/prefix05.xml
new file mode 100644
index 0000000..ca5c48a
--- /dev/null
+++ b/test/testcases/tests/level2/core/prefix05.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="prefix05">
+<metadata>
+<title>prefix05</title>
+<creator>NIST</creator>
+<description>
+ The "setPrefix(prefix)" method raises a
+ NAMESPACE_ERR DOMException if the specified node is an attribute
+ and the specified prefix is xmlns and the namespaceURI is different from
+ http://www.w3.org/2000/xmlns.
+
+ Attempt to insert "xmlns" as the new namespace prefix on the emp:domestic
+ attribute within the emp:address node.
+ An exception should be raised since the namespaceURI of this node is not
+ http://www.w3.org/2000/xmlns.
+</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-NodeNSPrefix"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-NodeNSPrefix')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="addrNode" type="Element"/>
+<var name="addrAttr" type="Attr"/>
+<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="addrNode"/>
+<assertNotNull actual="addrNode" id="empAddrNotNull"/>
+<getAttributeNode obj="addrNode" name="&quot;emp:domestic&quot;" var="addrAttr"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<prefix obj="addrAttr" value="&quot;xmlns&quot;"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/prefix06.xml b/test/testcases/tests/level2/core/prefix06.xml
new file mode 100644
index 0000000..8a725d9
--- /dev/null
+++ b/test/testcases/tests/level2/core/prefix06.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="prefix06">
+<metadata>
+<title>prefix06</title>
+<creator>NIST</creator>
+<description>
+ The "setPrefix(prefix)" method raises a
+ INVALID_CHARACTER_ERR DOMException if the specified
+ prefix contains an illegal character.
+
+ Attempt to insert a new namespace prefix on the first employee node.
+ An exception should be raised since the namespace prefix has an invalid
+ character.
+</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='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-NodeNSPrefix')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="employeeNode"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<prefix obj="employeeNode" value="&quot;pre^fix xmlns='http//www.nist.gov'&quot;"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/prefix07.xml b/test/testcases/tests/level2/core/prefix07.xml
new file mode 100644
index 0000000..c498b33
--- /dev/null
+++ b/test/testcases/tests/level2/core/prefix07.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="prefix07">
+<metadata>
+<title>prefix07</title>
+<creator>NIST</creator>
+<description>
+ The "setPrefix(prefix)" method raises a
+ NAMESPACE_ERR DOMException if the specified
+ prefix if malformed.
+
+ Attempt to insert a new namespace prefix on the second employee node.
+ An exception should be raised since the namespace prefix is malformed.
+</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-NodeNSPrefix"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-NodeNSPrefix')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="employeeNode"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<prefix obj="employeeNode" value="&quot;emp::&quot;"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/prefix08.xml b/test/testcases/tests/level2/core/prefix08.xml
new file mode 100644
index 0000000..69a1481
--- /dev/null
+++ b/test/testcases/tests/level2/core/prefix08.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-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="prefix08">
+<metadata>
+<title>prefix08</title>
+<creator>NIST</creator>
+<description>
+ The "setPrefix(prefix)" method causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Obtain the children of the THIRD "gender" element. The elements
+ content is an entity reference. Get the FIRST item
+ from the entity reference and execute the "setPrefix(prefix)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</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='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-NodeNSPrefix')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="genderNode" type="Node"/>
+<var name="entRef" type="Node"/>
+<var name="entElement" type="Node"/>
+<var name="createdNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"gender"' var="genderList"/>
+<item interface="NodeList" obj="genderList" index="2" var="genderNode"/>
+<firstChild interface="Node" obj="genderNode" var="entRef"/>
+<nodeType var="nodeType" obj="entRef"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entRef" name='"ent4"' obj="doc"/>
+ <assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+</if>
+<firstChild interface="Node" obj="entRef" var="entElement"/>
+<assertNotNull actual="entElement" id="entElement"/>
+<createElement obj="doc" tagName='"text3"' var="createdNode"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<prefix obj="entElement" value='"newPrefix"'/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/prefix09.xml b/test/testcases/tests/level2/core/prefix09.xml
new file mode 100644
index 0000000..f4d671f
--- /dev/null
+++ b/test/testcases/tests/level2/core/prefix09.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="prefix09">
+<metadata>
+<title>prefix09</title>
+<creator>NIST</creator>
+<description>
+ The "setPrefix(prefix)" method raises a
+ NAMESPACE_ERR DOMException if the specified node is an attribute
+ and the qualifiedName of this node is xmlns.
+
+ Attempt to set the prefix on the xmlns attribute within the fourth address
+ element.
+ An exception should be raised since the qualifiedName of this attribute
+ is "xmlns".
+</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-NodeNSPrefix"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-NodeNSPrefix')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<!-- this test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="addrNode" type="Element"/>
+<var name="addrAttr" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"address"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="3" var="addrNode"/>
+<getAttributeNode obj="addrNode" name='"xmlns"' var="addrAttr"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<prefix obj="addrAttr" value='"xxx"'/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/prefix10.xml b/test/testcases/tests/level2/core/prefix10.xml
new file mode 100644
index 0000000..b9c3154
--- /dev/null
+++ b/test/testcases/tests/level2/core/prefix10.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="prefix10">
+<metadata>
+<title>prefix10</title>
+<creator>NIST</creator>
+<description>
+ The "setPrefix(prefix)" method raises a
+ NAMESPACE_ERR DOMException if the specified
+ prefix is xml and the namespaceURI is different from
+ http://www.w3.org/XML/1998/namespace.
+
+ Attempt to insert "xml" as the new namespace prefix on the first employee node.
+ An exception should be raised since the namespaceURI of this node is not
+ http://www.w3.org/XML/1998/namespace.
+</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-NodeNSPrefix"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-NodeNSPrefix')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<prefix obj="employeeNode" value="&quot;xml&quot;"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/prefix11.xml b/test/testcases/tests/level2/core/prefix11.xml
new file mode 100644
index 0000000..187f9bc
--- /dev/null
+++ b/test/testcases/tests/level2/core/prefix11.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="prefix11">
+<metadata>
+<title>prefix11</title>
+<creator>NIST</creator>
+<description>
+ The "setPrefix(prefix)" method raises a
+ NAMESPACE_ERR DOMException if the specified
+ prefix is set on a node with a namespaceURI that is null.
+
+ Attempt to insert a new namespace prefix on the second employee node.
+ An exception should be raised since the namespace prefix is set
+ on a node whose 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#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="namespaceURI" type="DOMString"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<!-- element has a NS in staffNS.svg, create an null NS'd element -->
+<if><contentType type="image/svg+xml"/>
+<createElementNS var="employeeNode" obj="doc"
+ namespaceURI="nullNS" qualifiedName='"employee"'/>
+</if>
+<namespaceURI obj="employeeNode" var="namespaceURI"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<prefix obj="employeeNode" value='"employee1"'/>
+</NAMESPACE_ERR>
+</assertDOMException>
+<assertNull actual="namespaceURI" id="employeeNS"/>
+</test>
diff --git a/test/testcases/tests/level2/core/publicId01.xml b/test/testcases/tests/level2/core/publicId01.xml
new file mode 100644
index 0000000..4e70f3c
--- /dev/null
+++ b/test/testcases/tests/level2/core/publicId01.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="publicId01">
+<metadata>
+<title>publicId01</title>
+<creator>NIST</creator>
+<description>
+ The "getPublicId()" method of a documenttype node contains
+ the public identifier associated with the external subset.
+
+ Retrieve the documenttype.
+ Apply the "getPublicId()" method. The string "STAFF" should be
+ returned.
+</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-Core-DocType-publicId"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="publicId" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<publicId interface="DocumentType" obj="docType" var="publicId"/>
+<assertEquals actual="publicId" expected="&quot;STAFF&quot;" id="throw_Equals" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/removeAttributeNS01.xml b/test/testcases/tests/level2/core/removeAttributeNS01.xml
new file mode 100644
index 0000000..e054ccb
--- /dev/null
+++ b/test/testcases/tests/level2/core/removeAttributeNS01.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-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="removeAttributeNS01">
+<metadata>
+<title>removeAttributeNS01</title>
+<creator>NIST</creator>
+<description>
+ The "removeAttributeNS(namespaceURI,localName)" method for an attribute causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Obtain the children of the THIRD "gender" element. The elements
+ content is an entity reference. Try to remove an attribute
+ from the entity reference by executing the
+ "removeAttributeNS(namespaceURI,localName)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</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='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElRemAtNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-ElRemAtNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="gender" type="Node"/>
+<var name="gen" type="Node"/>
+<var name="gList" type="NodeList"/>
+<var name="genElement" type="Element"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<firstChild var="gen" obj="gender" interface="Node"/>
+<nodeType var="nodeType" obj="gen"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference name='"ent4"' obj="doc" var="gen"/>
+ <assertNotNull actual="gen" id="createdEntRefNotNull"/>
+</if>
+<childNodes obj="gen" var="gList"/>
+<item interface="NodeList" obj="gList" var="genElement" index="0"/>
+<assertNotNull actual="genElement" id="notnull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<removeAttributeNS obj="genElement" namespaceURI='"www.xyz.com"' localName='"local1"'/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/removeAttributeNS02.xml b/test/testcases/tests/level2/core/removeAttributeNS02.xml
new file mode 100644
index 0000000..880e7da
--- /dev/null
+++ b/test/testcases/tests/level2/core/removeAttributeNS02.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-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="removeAttributeNS02">
+<metadata>
+<title>removeAttributeNS02</title>
+<creator>NIST</creator>
+<description>
+ The "removeAttributeNS(namespaceURI,localName)" removes an attribute by
+ local name and namespace URI. If the removed attribute has a
+ default value it is immediately replaced. The replacing attribute has the same
+ namespace URI and local name, as well as the original prefix.
+
+ Retrieve the attribute named "emp:local" from emp:address
+ node, then remove the "emp:local"
+ attribute by invoking the "removeAttributeNS(namespaceURI,localName)" method.
+ The "emp:local" attribute has a default value defined in the
+ DTD file, that value should immediately replace the old
+ 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-ElRemAtNS"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=238"/>
+</metadata>
+<!-- this test requires namespace awareness and validation -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<var name="addrAttr" type="Attr"/>
+<var name="attr" type="DOMString"/>
+<var name="namespaceURI" type="DOMString"/>
+<var name="localName" type="DOMString"/>
+<var name="prefix" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;emp:address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<removeAttributeNS obj="testAddr" namespaceURI='"http://www.nist.gov"' localName='"local1"'/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;emp:address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<getAttributeNodeNS obj="testAddr" var="addrAttr" namespaceURI='"http://www.nist.gov"' localName='"local1"'/>
+<getAttributeNS obj="testAddr" var="attr" namespaceURI='"http://www.nist.gov"' localName='"local1"'/>
+<namespaceURI obj="addrAttr" var="namespaceURI"/>
+<localName obj="addrAttr" var="localName"/>
+<prefix obj="testAddr" var="prefix"/>
+<assertEquals actual="attr" expected='"FALSE"' ignoreCase="false" id="attr"/>
+<assertEquals actual="namespaceURI" expected='"http://www.nist.gov"' ignoreCase="false" id="uri"/>
+<assertEquals actual="localName" expected='"local1"' ignoreCase="false" id="lname"/>
+<assertEquals actual="prefix" expected='"emp"' ignoreCase="false" id="prefix"/>
+</test>
diff --git a/test/testcases/tests/level2/core/removeNamedItemNS01.xml b/test/testcases/tests/level2/core/removeNamedItemNS01.xml
new file mode 100644
index 0000000..6ac9efe
--- /dev/null
+++ b/test/testcases/tests/level2/core/removeNamedItemNS01.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="removeNamedItemNS01">
+<metadata>
+<title>removeNamedItemNS01</title>
+<creator>NIST</creator>
+<description>
+ The "removeNamedItemNS(namespaceURI,localName)" method for a
+ NamedNodeMap should remove 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 remove the attribute node with local name "domestic"
+ and namespace uri "http://www.usa.com" with
+ method removeNamedItemNS(namespaceURI,localName).
+ Check to see if the node has been removed.
+</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-1074577549"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="newAttr" type="Attr"/>
+<var name="removedNode" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"address"'/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="1"/>
+<attributes obj="testAddress" var="attributes"/>
+<removeNamedItemNS var="removedNode" interface="NamedNodeMap" obj="attributes" namespaceURI='"http://www.usa.com"' localName='"domestic"'/>
+<assertNotNull actual="removedNode" id="retval"/>
+<getNamedItem obj="attributes" var="newAttr" name='"dmstc:domestic"'/>
+<assertNull actual="newAttr" id="nodeRemoved"/>
+</test>
diff --git a/test/testcases/tests/level2/core/removeNamedItemNS02.xml b/test/testcases/tests/level2/core/removeNamedItemNS02.xml
new file mode 100644
index 0000000..35915fb
--- /dev/null
+++ b/test/testcases/tests/level2/core/removeNamedItemNS02.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="removeNamedItemNS02">
+<metadata>
+<title>removeNamedItemNS02</title>
+<creator>NIST</creator>
+<description>
+ The "removeNamedItemNS(namespaceURI,localName)" method for a
+ NamedNodeMap should raise NOT_FOUND_ERR DOMException if
+ there is no node with the specified namespaceURI and localName 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 remove an attribute node with local name "domest"
+ and namespace uri "http://www.usa.com" with
+ method removeNamedItemNS(namespaceURI,localName).
+ This should raise NOT_FOUND_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='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-removeNamedItemNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-removeNamedItemNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR'])"/>
+</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="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="removedNode" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="1"/>
+<attributes obj="testAddress" var="attributes"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<removeNamedItemNS var="removedNode" interface="NamedNodeMap" obj="attributes" namespaceURI="namespaceURI" localName="localName"/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/removeNamedItemNS03.xml b/test/testcases/tests/level2/core/removeNamedItemNS03.xml
new file mode 100644
index 0000000..43bc0c0
--- /dev/null
+++ b/test/testcases/tests/level2/core/removeNamedItemNS03.xml
@@ -0,0 +1,71 @@
+<?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="removeNamedItemNS03">
+<metadata>
+<title>removeNamedItemNS03</title>
+<creator>NIST</creator>
+<description>
+ The "removeNamedItemNS(namespaceURI,localName)" method for a
+ NamedNodeMap should raise NO_MODIFICATION_ALLOWED_ERR DOMException if
+ this map is readonly.
+
+ Retrieve a list of "gender" elements. Get access to the THIRD element
+ which contains an ENTITY_REFERENCE child node. Try to remove the attribute
+ in the node's map with method removeNamedItemNS(namespaceURI,localName).
+ This should result in NO_MODIFICATION_ALLOWED_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='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-removeNamedItemNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-removeNamedItemNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="namespaceURI" type="DOMString" value='"http://www.w3.org/2000/xmlns/"'/>
+<var name="localName" type="DOMString" value="&quot;local1&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="nList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="n2List" type="NodeList"/>
+<var name="child2" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="removedNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="2"/>
+<childNodes obj="testAddress" var="nList"/>
+<item interface="NodeList" obj="nList" var="child" index="0"/>
+<nodeType var="nodeType" obj="child"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="child" name='"ent4"' obj="doc"/>
+ <assertNotNull actual="child" id="createdEntRefNotNull"/>
+</if>
+<childNodes obj="child" var="n2List"/>
+<item interface="NodeList" obj="n2List" var="child2" index="0"/>
+<assertNotNull actual="child2" id="notnull"/>
+<attributes obj="child2" var="attributes"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<removeNamedItemNS var="removedNode" interface="NamedNodeMap" obj="attributes" namespaceURI="namespaceURI" localName="localName"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNS01.xml b/test/testcases/tests/level2/core/setAttributeNS01.xml
new file mode 100644
index 0000000..7892549
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNS01.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="setAttributeNS01">
+<metadata>
+<title>setAttributeNS01</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNS(namespaceURI,qualifiedName,Value)" method raises a
+ INVALID_CHARACTER_ERR DOMException if the specified
+ prefix contains an illegal character.
+
+ Attempt to add a new attribute on the first employee node.
+ An exception should be raised since the "qualifiedName" has an invalid
+ character.
+</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='INVALID_CHARACTER_ERR'])"/>
+<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(.,':')='INVALID_CHARACTER_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.nist.gov&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;emp:qual?name&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;employee&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<setAttributeNS obj="testAddr" namespaceURI="namespaceURI" qualifiedName="qualifiedName" value="&quot;newValue&quot;"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNS02.xml b/test/testcases/tests/level2/core/setAttributeNS02.xml
new file mode 100644
index 0000000..8eca054
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNS02.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="setAttributeNS02">
+<metadata>
+<title>setAttributeNS02</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNS(namespaceURI,qualifiedName,value)" method raises a
+ NAMESPACE_ERR DOMException if the specified
+ qualifiedName if malformed.
+
+ Attempt to add a new attribute on the second employee node.
+ An exception should be raised since the "qualifiedName" is malformed.
+</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-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" value="&quot;http://www.nist.gov&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;emp:&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;emp:employee&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<setAttributeNS obj="testAddr" namespaceURI="namespaceURI" qualifiedName="qualifiedName" value="&quot;newValue&quot;"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNS03.xml b/test/testcases/tests/level2/core/setAttributeNS03.xml
new file mode 100644
index 0000000..e63e35b
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNS03.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="setAttributeNS03">
+<metadata>
+<title>setAttributeNS03</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNS(namespaceURI,qualifiedName,value)" method for an attribute causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Obtain the children of the THIRD "gender" element. The elements
+ content is an entity reference. Try to set an attribute
+ in the entity reference by executing the
+ "setAttributeNS(namespaceURI,qualifiedName,value)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</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='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<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(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;www.xyz.com&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;emp:local1&quot;"/>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="gender" type="Node"/>
+<var name="genList" type="NodeList"/>
+<var name="gen" type="Node"/>
+<var name="gList" type="NodeList"/>
+<var name="genElement" type="Element"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<childNodes obj="gender" var="genList"/>
+<item interface="NodeList" obj="genList" var="gen" index="0"/>
+<nodeType var="nodeType" obj="gen"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="gen" name='"ent4"' obj="doc"/>
+ <assertNotNull actual="gen" id="createdEntRefNotNull"/>
+</if>
+<childNodes obj="gen" var="gList"/>
+<item interface="NodeList" obj="gList" var="genElement" index="0"/>
+<assertNotNull actual="genElement" id="notnull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<setAttributeNS obj="genElement" namespaceURI="namespaceURI" qualifiedName="qualifiedName" value="&quot;newValue&quot;"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNS04.xml b/test/testcases/tests/level2/core/setAttributeNS04.xml
new file mode 100644
index 0000000..0544e46
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNS04.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-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="setAttributeNS04">
+<metadata>
+<title>setAttributeNS04</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNS(namespaceURI,qualifiedName,value)" method adds a new attribute.
+ If an attribute with the same local name and namespace URI is already present
+ on the element, its prefix is changed to be the prefix part of the "qualifiedName",
+ and its vale is changed to be the "value" paramter.
+ null value if no previously existing Attr node with the
+ same name was replaced.
+
+ Add a new attribute to the "emp:address" element.
+ Check to see if the new attribute has been successfully added to the document
+ by getting the attributes value, namespace URI, local Name and prefix.
+ The prefix will be changed to the prefix part of the "qualifiedName"
+ and its value changed to the "value" parameter.
+</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>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<var name="addrAttr" type="Attr"/>
+<var name="resultAttr" type="DOMString"/>
+<var name="resultNamespaceURI" type="DOMString"/>
+<var name="resultLocalName" type="DOMString"/>
+<var name="resultPrefix" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;emp:address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertNotNull actual="testAddr" id="empAddrNotNull"/>
+<setAttributeNS obj="testAddr" namespaceURI='"http://www.nist.gov"' qualifiedName='"newprefix:zone"' value='"newValue"'/>
+<getAttributeNodeNS obj="testAddr" var="addrAttr" namespaceURI='"http://www.nist.gov"' localName='"zone"'/>
+<getAttributeNS obj="testAddr" var="resultAttr" namespaceURI='"http://www.nist.gov"' localName='"zone"'/>
+<assertEquals actual="resultAttr" expected='"newValue"' id="attrValue" ignoreCase="false"/>
+<namespaceURI obj="addrAttr" var="resultNamespaceURI"/>
+<assertEquals actual="resultNamespaceURI" expected='"http://www.nist.gov"' id="nsuri" ignoreCase="false"/>
+<localName obj="addrAttr" var="resultLocalName"/>
+<assertEquals actual="resultLocalName" expected='"zone"' id="lname" ignoreCase="false"/>
+<prefix obj="addrAttr" var="resultPrefix"/>
+<assertEquals actual="resultPrefix" expected='"newprefix"' id="prefix" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNS05.xml b/test/testcases/tests/level2/core/setAttributeNS05.xml
new file mode 100644
index 0000000..3d1174f
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNS05.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-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="setAttributeNS05">
+<metadata>
+<title>setAttributeNS05</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNS(namespaceURI,qualifiedName,value)" method adds a new attribute.
+ If an attribute with the same local name and namespace URI is already present
+ on the element, its prefix is changed to be the prefix part of the "qualifiedName",
+ and its vale is changed to be the "value" paramter.
+ null value if no previously existing Attr node with the
+ same name was replaced.
+
+ Add a new attribute to the "emp:address" element.
+ Check to see if the new attribute has been successfully added to the document.
+ The new attribute "&lt;newValue&gt;" contains markup and therefore is escaped
+ by the implementation.
+</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="localName" type="DOMString" value="&quot;newAttr&quot;"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.newattr.com&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;emp:newAttr&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<var name="addrAttr" type="Attr"/>
+<var name="resultAttr" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;emp:address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertNotNull actual="testAddr" id="empAddrNotNull"/>
+<setAttributeNS obj="testAddr" namespaceURI="namespaceURI" qualifiedName="qualifiedName" value="&quot;&lt;newValue&gt;&quot;"/>
+<getAttributeNS obj="testAddr" var="resultAttr" namespaceURI="namespaceURI" localName="localName"/>
+<assertEquals actual="resultAttr" expected="&quot;&lt;newValue&gt;&quot;" id="throw_Equals" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNS06.xml b/test/testcases/tests/level2/core/setAttributeNS06.xml
new file mode 100644
index 0000000..3d42470
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNS06.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="setAttributeNS06">
+<metadata>
+<title>setAttributeNS06</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNS(namespaceURI,localName,value)" method raises a
+ NAMESPACE_ERR DOMException if the "qualifiedName" has a
+ prefix of "xml" and the namespaceURI is different from
+ http://www.w3.org/XML/1998/namespace.
+
+ Attempt to add an attribute with a prefix of "xml" as the on the first employee node.
+ An exception should be raised since the namespaceURI of this node is not
+ http://www.w3.org/XML/1998/namespace.
+</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-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" value="&quot;http://www.nist.gov&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;xml:qualifiedName&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;employee&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<setAttributeNS obj="testAddr" namespaceURI="namespaceURI" qualifiedName="qualifiedName" value="&quot;newValue&quot;"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNS07.xml b/test/testcases/tests/level2/core/setAttributeNS07.xml
new file mode 100644
index 0000000..8a2e5b7
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNS07.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="setAttributeNS07">
+<metadata>
+<title>setAttributeNS07</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNS(namespaceURI,localName,value)" method raises a
+ NAMESPACE_ERR DOMException if the "qualifiedName" has a
+ value of "xmlns" and the namespaceURI is different from
+ http://www.w3.org/2000/xmlns.
+
+ Attempt to add an attribute with a "qualifiedName" of "xmlns" as the
+ on the first employee node.
+ An exception should be raised since the namespaceURI of this node is not
+ http://www.w3.org/2000/xmlns.
+</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-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" value="&quot;http://www.nist.gov&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;xmlns&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;employee&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertDOMException id="throw_NAMESPACE_ERR">
+<NAMESPACE_ERR>
+<setAttributeNS obj="testAddr" namespaceURI="namespaceURI" qualifiedName="qualifiedName" value="&quot;newValue&quot;"/>
+</NAMESPACE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNS09.xml b/test/testcases/tests/level2/core/setAttributeNS09.xml
new file mode 100644
index 0000000..a1205ea
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNS09.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-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="setAttributeNS09">
+<metadata>
+<title>setAttributeNS09</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNS(namespaceURI,qualifiedName,value)" method adds a new attribute.
+ If an attribute with the same local name and namespace URI is already present
+ on the element, its prefix is changed to be the prefix part of the "qualifiedName",
+ and its vale is changed to be the "value" paramter.
+ null value if no previously existing Attr node with the
+ same name was replaced.
+
+ Add a new attribute to the "emp:address" element.
+ Check to see if the new attribute has been successfully added to the document
+ by getting the attributes value, namespace URI, local Name and prefix.
+</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"/>
+</metadata>
+<var name="localName" type="DOMString" value="&quot;newAttr&quot;"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.newattr.com&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;emp:newAttr&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<var name="addrAttr" type="Attr"/>
+<var name="resultAttr" type="DOMString"/>
+<var name="resultNamespaceURI" type="DOMString"/>
+<var name="resultLocalName" type="DOMString"/>
+<var name="resultPrefix" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;emp:address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertNotNull actual="testAddr" id="empAddrNotNull"/>
+<setAttributeNS obj="testAddr" namespaceURI="namespaceURI" qualifiedName="qualifiedName" value="&quot;newValue&quot;"/>
+<getAttributeNodeNS obj="testAddr" var="addrAttr" namespaceURI="namespaceURI" localName="localName"/>
+<getAttributeNS obj="testAddr" var="resultAttr" namespaceURI="namespaceURI" localName="localName"/>
+<assertEquals actual="resultAttr" expected='"newValue"' id="attrValue" ignoreCase="false"/>
+<namespaceURI obj="addrAttr" var="resultNamespaceURI"/>
+<assertEquals actual="resultNamespaceURI" expected='"http://www.newattr.com"' id="nsuri" ignoreCase="false"/>
+<localName obj="addrAttr" var="resultLocalName"/>
+<assertEquals actual="resultLocalName" expected='"newAttr"' id="lname" ignoreCase="false"/>
+<prefix obj="addrAttr" var="resultPrefix"/>
+<assertEquals actual="resultPrefix" expected='"emp"' id="prefix" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNS10.xml b/test/testcases/tests/level2/core/setAttributeNS10.xml
new file mode 100644
index 0000000..6c27217
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNS10.xml
@@ -0,0 +1,43 @@
+<?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="setAttributeNS10">
+<metadata>
+<title>setAttributeNS10</title>
+<creator>Curt Arnold</creator>
+<description>
+Element.setAttributeNS 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#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<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(.,':')='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.gov"'/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"em"'/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<setAttributeNS obj="testAddr" namespaceURI="namespaceURI" qualifiedName='""' value='"newValue"'/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNodeNS01.xml b/test/testcases/tests/level2/core/setAttributeNodeNS01.xml
new file mode 100644
index 0000000..8239fab
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNodeNS01.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="setAttributeNodeNS01">
+<metadata>
+<title>setAttributeNodeNS01</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNode(newAttr)" method raises an
+ "INUSE_ATTRIBUTE_ERR DOMException if the "newAttr"
+ is already an attribute of another element.
+
+ Retrieve the first emp:address and append
+ a newly created element. The "createAttributeNS(namespaceURI,qualifiedName)"
+ and "setAttributeNodeNS(newAttr)" methods are invoked
+ to create and add a new attribute to the newly created
+ Element. The "setAttributeNodeNS(newAttr)" method is
+ once again called to add the new attribute causing an
+ exception to be raised since the attribute is already
+ an attribute of another element.
+</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='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAtNodeNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-ElSetAtNodeNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.newattr.com&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;emp:newAttr&quot;"/>
+<var name="doc" type="Document"/>
+<var name="newElement" type="Element"/>
+<var name="newAttr" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<var name="appendedChild" type="Node"/>
+<var name="setAttr1" type="Attr"/>
+<var name="setAttr2" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;emp:address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertNotNull actual="testAddr" id="empAddrNotNull"/>
+<createElement obj="doc" var="newElement" tagName="&quot;newElement&quot;"/>
+<appendChild var="appendedChild" obj="testAddr" newChild="newElement"/>
+<createAttributeNS obj="doc" var="newAttr" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<setAttributeNodeNS var="setAttr1" obj="newElement" newAttr="newAttr"/>
+<assertDOMException id="throw_INUSE_ATTRIBUTE_ERR">
+<INUSE_ATTRIBUTE_ERR>
+<setAttributeNodeNS var="setAttr2" obj="testAddr" newAttr="newAttr"/>
+</INUSE_ATTRIBUTE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNodeNS02.xml b/test/testcases/tests/level2/core/setAttributeNodeNS02.xml
new file mode 100644
index 0000000..3b70fb9
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNodeNS02.xml
@@ -0,0 +1,69 @@
+<?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="setAttributeNodeNS02">
+<metadata>
+<title>setAttributeNodeNS01</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNodeNS(namespaceURI,qualifiedName,value)" method for an attribute causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Obtain the children of the THIRD "gender" element. The elements
+ content is an entity reference. Try to set an attribute
+ in the entity reference by executing the
+ "setAttributeNodeNS(newAttr)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</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='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAtNodeNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-ElSetAtNodeNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="false"/>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="gender" type="Node"/>
+<var name="genList" type="NodeList"/>
+<var name="gen" type="Node"/>
+<var name="gList" type="NodeList"/>
+<var name="genElement" type="Element"/>
+<var name="newAttr" type="Attr"/>
+<var name="setAttr1" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<if>
+<implementationAttribute name="expandEntityReferences" value="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<childNodes obj="gender" var="genList"/>
+<item interface="NodeList" obj="genList" var="gen" index="0"/>
+<else>
+<createEntityReference var="gen" name='"ent4"' obj="doc"/>
+</else>
+</if>
+<childNodes obj="gen" var="gList"/>
+<item interface="NodeList" obj="gList" var="genElement" index="0"/>
+<assertNotNull actual="genElement" id="notnull"/>
+<createAttributeNS obj="doc" var="newAttr" namespaceURI='"www.xyz.com"' qualifiedName='"emp:local1"'/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<setAttributeNodeNS var="setAttr1" obj="genElement" newAttr="newAttr"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNodeNS03.xml b/test/testcases/tests/level2/core/setAttributeNodeNS03.xml
new file mode 100644
index 0000000..0b4f368
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNodeNS03.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="setAttributeNodeNS03">
+<metadata>
+<title>setAttributeNodeNS03</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNodeNS(newAttr)" adds a new attribute.
+ If an attribute with that local name and that namespaceURI is already
+ present in the element, it is replaced by the new one.
+
+ Retrieve the first emp:address element and add a new attribute
+ to the element. Since an attribute with the same local name
+ and namespaceURI as the newly created attribute does not exist
+ the value "null" is returned.
+ This test uses the "createAttributeNS(namespaceURI,localName)
+ method from the Document interface to create the new attribute to add.
+</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-ElSetAtNodeNS"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.newattr.com&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;emp:newAttr&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<var name="newAttr" type="Attr"/>
+<var name="newAddrAttr" type="Attr"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;emp:address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertNotNull actual="testAddr" id="empAddrNotNull"/>
+<createAttributeNS obj="doc" var="newAttr" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<setAttributeNodeNS obj="testAddr" newAttr="newAttr" var="newAddrAttr"/>
+<assertNull actual="newAddrAttr" id="throw_Null"/>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNodeNS04.xml b/test/testcases/tests/level2/core/setAttributeNodeNS04.xml
new file mode 100644
index 0000000..86ccd12
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNodeNS04.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-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="setAttributeNodeNS04">
+<metadata>
+<title>setAttributeNodeNS04</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNodeNS(newAttr)" adds a new attribute.
+ If an attribute with that local name and that namespaceURI is already
+ present in the element, it is replaced by the new one.
+
+ Retrieve the first emp:address element and add a new attribute
+ to the element. Since an attribute with the same local name
+ and namespaceURI already exists, it is replaced by the new one and
+ returns the replaced "Attr" node.
+ This test uses the "createAttributeNS(namespaceURI,localName)
+ method from the Document interface to create the new attribute to add.
+</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>
+<!-- test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<var name="newAttr" type="Attr"/>
+<var name="newAddrAttr" type="Attr"/>
+<var name="newName" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"emp:address"'/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertNotNull actual="testAddr" id="empAddrNotNull"/>
+<createAttributeNS obj="doc" var="newAttr" namespaceURI='"http://www.nist.gov"' qualifiedName='"xxx:domestic"'/>
+<setAttributeNodeNS obj="testAddr" newAttr="newAttr" var="newAddrAttr"/>
+<nodeName obj="newAddrAttr" var="newName"/>
+<assertEquals actual="newName" expected='"emp:domestic"' id="nodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/setAttributeNodeNS05.xml b/test/testcases/tests/level2/core/setAttributeNodeNS05.xml
new file mode 100644
index 0000000..f00fc54
--- /dev/null
+++ b/test/testcases/tests/level2/core/setAttributeNodeNS05.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="setAttributeNodeNS05">
+<metadata>
+<title>setAttributeNodeNS05</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNodeNS(newAttr)" method raises an
+ "WRONG_DOCUMENT_ERR DOMException if the "newAttr"
+ was created from a different document than the one that
+ created this document.
+
+ Retrieve the first emp:address and attempt to set a new
+ attribute node. The new
+ attribute was created from a document other than the
+ one that created this element, therefore a
+ WRONG_DOCUMENT_ERR DOMException should be raised.
+ This test uses the "createAttributeNS(newAttr)" method
+ from the Document interface.
+</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#ID-ElSetAtNodeNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-ElSetAtNodeNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.newattr.com&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;emp:newAttr&quot;"/>
+<var name="doc1" type="Document"/>
+<var name="doc2" type="Document"/>
+<var name="newAttr" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<var name="setAttr1" type="Attr"/>
+<load var="doc1" href="staffNS" willBeModified="true"/>
+<load var="doc2" href="staffNS" willBeModified="true"/>
+<createAttributeNS obj="doc2" var="newAttr" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<getElementsByTagName interface="Document" obj="doc1" var="elementList" tagname="&quot;emp:address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddr" index="0"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<setAttributeNodeNS var="setAttr1" obj="testAddr" newAttr="newAttr"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setNamedItemNS01.xml b/test/testcases/tests/level2/core/setNamedItemNS01.xml
new file mode 100644
index 0000000..cbd98b9
--- /dev/null
+++ b/test/testcases/tests/level2/core/setNamedItemNS01.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="setNamedItemNS01">
+<metadata>
+<title>setNamedItemNS01</title>
+<creator>NIST</creator>
+<description>
+ The "setNamedItemNS(arg)" method for a
+ NamedNodeMap should raise INUSE_ATTRIBUTE_ERR DOMException if
+ arg is an Attr that is already an attribute of another Element object.
+
+ Retrieve an attr node from the third "address" element whose local name
+ is "domestic" and namespaceURI is "http://www.netzero.com".
+ Invoke method setNamedItemNS(arg) on the map of the first "address" element with
+ arg being the attr node from above. Method should raise
+ INUSE_ATTRIBUTE_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='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-setNamedItemNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-setNamedItemNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR'])"/>
+</metadata>
+<!-- this test requires namespace awareness -->
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="anotherElement" type="Node"/>
+<var name="anotherMap" type="NamedNodeMap"/>
+<var name="arg" type="Node"/>
+<var name="testAddress" type="Node"/>
+<var name="map" type="NamedNodeMap"/>
+<var name="setNode" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"address"'/>
+<item interface="NodeList" obj="elementList" var="anotherElement" index="2"/>
+<attributes obj="anotherElement" var="anotherMap"/>
+<getNamedItemNS obj="anotherMap" var="arg" namespaceURI='"http://www.netzero.com"' localName='"domestic"'/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="0"/>
+<attributes obj="testAddress" var="map"/>
+<assertDOMException id="throw_INUSE_ATTRIBUTE_ERR">
+<INUSE_ATTRIBUTE_ERR>
+<setNamedItemNS var="setNode" interface="NamedNodeMap" obj="map" arg="arg"/>
+</INUSE_ATTRIBUTE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setNamedItemNS02.xml b/test/testcases/tests/level2/core/setNamedItemNS02.xml
new file mode 100644
index 0000000..a1761bb
--- /dev/null
+++ b/test/testcases/tests/level2/core/setNamedItemNS02.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="setNamedItemNS02">
+<metadata>
+<title>setNamedItemNS02</title>
+<creator>NIST</creator>
+<description>
+ The "setNamedItemNS(arg)" method for a
+ NamedNodeMap should raise WRONG_DOCUMENT_ERR DOMException if arg was
+ created from a different document than the one that created this map.
+
+ Create an attr node in a different document with qualifiedName equals
+ "dmstc:domestic" and namespaceURI is "http://www.usa.com".
+ Access the namednodemap of the first "address" element in this document.
+ Invoke method setNamedItemNS(arg) with arg being the attr node from above.
+ 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#ID-setNamedItemNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-setNamedItemNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.usa.com&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;dmstc:domestic&quot;"/>
+<var name="doc" type="Document"/>
+<var name="anotherDoc" type="Document"/>
+<var name="arg" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="setNode" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<load var="anotherDoc" href="staffNS" willBeModified="true"/>
+<createAttributeNS obj="anotherDoc" var="arg" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<nodeValue obj="arg" value="&quot;Maybe&quot;"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="0"/>
+<attributes obj="testAddress" var="attributes"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<setNamedItemNS var="setNode" interface="NamedNodeMap" obj="attributes" arg="arg"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setNamedItemNS03.xml b/test/testcases/tests/level2/core/setNamedItemNS03.xml
new file mode 100644
index 0000000..77e08eb
--- /dev/null
+++ b/test/testcases/tests/level2/core/setNamedItemNS03.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="setNamedItemNS03">
+<metadata>
+<title>setNamedItemNS03</title>
+<creator>NIST</creator>
+<description>
+ The "setNamedItemNS(arg)" method for a
+ NamedNodeMap should add a node using its namespaceURI and localName given that
+ there is no existing node with the same namespaceURI and localName in the map.
+
+ Create an attr node with namespaceURI "http://www.nist.gov",qualifiedName
+ "prefix:newAttr" and value "newValue".
+ Invoke method setNamedItemNS(arg) on the map of the first "address"
+ element where arg is identified by the namespaceURI and qualifiedName
+ from above. Method should return the newly added attr 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#ID-F68D080"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.nist.gov&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;prefix:newAttr&quot;"/>
+<var name="doc" type="Document"/>
+<var name="arg" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="retnode" type="Node"/>
+<var name="value" type="DOMString"/>
+<var name="setNode" type="Node"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<createAttributeNS obj="doc" var="arg" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<nodeValue obj="arg" value="&quot;newValue&quot;"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="0"/>
+<attributes obj="testAddress" var="attributes"/>
+<setNamedItemNS var="setNode" interface="NamedNodeMap" obj="attributes" arg="arg"/>
+<getNamedItemNS obj="attributes" var="retnode" namespaceURI="namespaceURI" localName="&quot;newAttr&quot;"/>
+<nodeValue obj="retnode" var="value"/>
+<assertEquals actual="value" expected="&quot;newValue&quot;" id="throw_Equals" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/setNamedItemNS04.xml b/test/testcases/tests/level2/core/setNamedItemNS04.xml
new file mode 100644
index 0000000..c6076ce
--- /dev/null
+++ b/test/testcases/tests/level2/core/setNamedItemNS04.xml
@@ -0,0 +1,73 @@
+<?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="setNamedItemNS04">
+<metadata>
+<title>setNamedItemNS04</title>
+<creator>NIST</creator>
+<description>
+ The "setNamedItemNS(arg)" method for a
+ NamedNodeMap should raise NO_MODIFICATION_ALLOWED_ERR DOMException if
+ this map is readonly.
+
+ Retrieve a list of "gender" elements. Get access to the THIRD element
+ which contains an ENTITY_REFERENCE child node. Get access to the node's
+ map. Try to add an attribute node specified by arg with
+ method setNamedItemNS(arg). This should result in NO_MODIFICATION_ALLOWED_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='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-setNamedItemNS"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-setNamedItemNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.w3.org/2000/xmlns/&quot;"/>
+<var name="localName" type="DOMString" value="&quot;local1&quot;"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="nList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="n2List" type="NodeList"/>
+<var name="child2" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="arg" type="Node"/>
+<var name="setNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="2"/>
+<childNodes obj="testAddress" var="nList"/>
+<item interface="NodeList" obj="nList" var="child" index="0"/>
+<nodeType var="nodeType" obj="child"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="child" name='"ent4"' obj="doc"/>
+ <assertNotNull actual="child" id="createdEntRefNotNull"/>
+</if>
+<childNodes obj="child" var="n2List"/>
+<item interface="NodeList" obj="n2List" var="child2" index="0"/>
+<assertNotNull actual="child2" id="notnull"/>
+<attributes obj="child2" var="attributes"/>
+<getNamedItemNS obj="attributes" var="arg" namespaceURI="namespaceURI" localName="localName"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<setNamedItemNS var="setNode" interface="NamedNodeMap" obj="attributes" arg="arg"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/core/setNamedItemNS05.xml b/test/testcases/tests/level2/core/setNamedItemNS05.xml
new file mode 100644
index 0000000..5d1ccfc
--- /dev/null
+++ b/test/testcases/tests/level2/core/setNamedItemNS05.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="setNamedItemNS05">
+<metadata>
+<title>setNamedItemNS05</title>
+<creator>NIST</creator>
+<description>
+ The "setNamedItemNS(arg)" method for a
+ NamedNodeMap should replace an existing node n1 found in the map with arg if n1
+ has the same namespaceURI and localName as arg and return n1.
+
+ Create an attribute node in with namespaceURI "http://www.usa.com"
+ and qualifiedName "dmstc:domestic" whose value is "newVal".
+ Invoke method setNamedItemNS(arg) on the map of the first "address"
+ element. Method should return the old attribute node identified
+ by namespaceURI and qualifiedName from above,whose value is "Yes".
+</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-ElSetAtNodeNS"/>
+</metadata>
+<var name="namespaceURI" type="DOMString" value="&quot;http://www.usa.com&quot;"/>
+<var name="qualifiedName" type="DOMString" value="&quot;dmstc:domestic&quot;"/>
+<var name="doc" type="Document"/>
+<var name="arg" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="retnode" type="Node"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staffNS" willBeModified="true"/>
+<createAttributeNS obj="doc" var="arg" namespaceURI="namespaceURI" qualifiedName="qualifiedName"/>
+<nodeValue obj="arg" value="&quot;newValue&quot;"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="0"/>
+<attributes obj="testAddress" var="attributes"/>
+<setNamedItemNS interface="NamedNodeMap" obj="attributes" var="retnode" arg="arg"/>
+<nodeValue obj="retnode" var="value"/>
+<assertEquals actual="value" expected="&quot;Yes&quot;" id="throw_Equals" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/core/systemId01.xml b/test/testcases/tests/level2/core/systemId01.xml
new file mode 100644
index 0000000..96d9c65
--- /dev/null
+++ b/test/testcases/tests/level2/core/systemId01.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="systemId01">
+<metadata>
+<title>systemId01</title>
+<creator>NIST</creator>
+<description>
+ The "getSystemId()" method of a documenttype node contains
+ the system identifier associated with the external subset.
+
+ Retrieve the documenttype.
+ Apply the "getSystemId()" method. The string "staffNS.dtd" should be
+ returned.
+</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-Core-DocType-systemId"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="systemId" type="DOMString"/>
+<var name="index" type="int"/>
+<load var="doc" href="staffNS" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<systemId interface="DocumentType" obj="docType" var="systemId"/>
+<assertURIEquals actual="systemId" file='"staffNS.dtd"' id="systemId"/>
+</test>
diff --git a/test/testcases/tests/level2/events/.cvsignore b/test/testcases/tests/level2/events/.cvsignore
new file mode 100644
index 0000000..cc87140
--- /dev/null
+++ b/test/testcases/tests/level2/events/.cvsignore
@@ -0,0 +1,2 @@
+dom2.dtd
+dom2.xsd
diff --git a/test/testcases/tests/level2/events/CVS/Entries b/test/testcases/tests/level2/events/CVS/Entries
new file mode 100644
index 0000000..278f226
--- /dev/null
+++ b/test/testcases/tests/level2/events/CVS/Entries
@@ -0,0 +1,30 @@
+D/files////
+/.cvsignore/1.2/Fri Apr 3 02:47:56 2009//
+/DocumentEventCast01.xml/1.2/Fri Apr 3 02:47:56 2009//
+/EventTargetCast01.xml/1.1/Fri Apr 3 02:47:56 2009//
+/alltests.xml/1.5/Fri Apr 3 02:47:56 2009//
+/createEvent01.xml/1.2/Fri Apr 3 02:47:56 2009//
+/createEvent02.xml/1.2/Fri Apr 3 02:47:56 2009//
+/createEvent03.xml/1.2/Fri Apr 3 02:47:56 2009//
+/createEvent04.xml/1.2/Fri Apr 3 02:47:56 2009//
+/createEvent05.xml/1.2/Fri Apr 3 02:47:56 2009//
+/dispatchEvent01.xml/1.2/Fri Apr 3 02:47:56 2009//
+/dispatchEvent02.xml/1.2/Fri Apr 3 02:47:56 2009//
+/dispatchEvent03.xml/1.2/Fri Apr 3 02:47:56 2009//
+/dispatchEvent04.xml/1.2/Fri Apr 3 02:47:56 2009//
+/dispatchEvent05.xml/1.2/Fri Apr 3 02:47:56 2009//
+/dispatchEvent06.xml/1.2/Fri Apr 3 02:47:56 2009//
+/dispatchEvent07.xml/1.2/Fri Apr 3 02:47:56 2009//
+/dispatchEvent08.xml/1.2/Fri Apr 3 02:47:56 2009//
+/dispatchEvent09.xml/1.2/Fri Apr 3 02:47:56 2009//
+/dispatchEvent10.xml/1.2/Fri Apr 3 02:47:56 2009//
+/dispatchEvent11.xml/1.2/Fri Apr 3 02:47:56 2009//
+/dispatchEvent12.xml/1.3/Fri Apr 3 02:47:56 2009//
+/dispatchEvent13.xml/1.3/Fri Apr 3 02:47:56 2009//
+/initEvent01.xml/1.2/Fri Apr 3 02:47:56 2009//
+/initEvent02.xml/1.2/Fri Apr 3 02:47:56 2009//
+/initEvent03.xml/1.2/Fri Apr 3 02:47:56 2009//
+/initEvent04.xml/1.2/Fri Apr 3 02:47:56 2009//
+/initEvent05.xml/1.2/Fri Apr 3 02:47:56 2009//
+/initEvent06.xml/1.2/Fri Apr 3 02:47:56 2009//
+/metadata.xml/1.1/Fri Apr 3 02:47:56 2009//
diff --git a/test/testcases/tests/level2/events/CVS/Repository b/test/testcases/tests/level2/events/CVS/Repository
new file mode 100644
index 0000000..bb9fbb7
--- /dev/null
+++ b/test/testcases/tests/level2/events/CVS/Repository
@@ -0,0 +1 @@
+2001/DOM-Test-Suite/tests/level2/events
diff --git a/test/testcases/tests/level2/events/CVS/Root b/test/testcases/tests/level2/events/CVS/Root
new file mode 100644
index 0000000..3c7177e
--- /dev/null
+++ b/test/testcases/tests/level2/events/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/test/testcases/tests/level2/events/CVS/Template b/test/testcases/tests/level2/events/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/events/CVS/Template
diff --git a/test/testcases/tests/level2/events/DocumentEventCast01.xml b/test/testcases/tests/level2/events/DocumentEventCast01.xml
new file mode 100644
index 0000000..9071c55
--- /dev/null
+++ b/test/testcases/tests/level2/events/DocumentEventCast01.xml
@@ -0,0 +1,33 @@
+<?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="DocumentEventCast01">
+<metadata>
+<title>DocumentEventCast01</title>
+<creator>Curt Arnold</creator>
+<description>
+A document is created using implementation.createDocument and
+cast to a DocumentEvent interface.
+</description>
+<date qualifier="created">2002-04-21</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-DocumentEvent"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docEvent" type="DocumentEvent"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<assign var="docEvent" value="doc"/>
+</test>
diff --git a/test/testcases/tests/level2/events/EventTargetCast01.xml b/test/testcases/tests/level2/events/EventTargetCast01.xml
new file mode 100644
index 0000000..3361b1a
--- /dev/null
+++ b/test/testcases/tests/level2/events/EventTargetCast01.xml
@@ -0,0 +1,33 @@
+<?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="EventTargetCast01">
+<metadata>
+<title>EventTargetCast01</title>
+<creator>Curt Arnold</creator>
+<description>
+A document is created using implementation.createDocument and
+cast to a EventTarget interface.
+</description>
+<date qualifier="created">2002-04-21</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<assign var="target" value="doc"/>
+</test>
diff --git a/test/testcases/tests/level2/events/alltests.xml b/test/testcases/tests/level2/events/alltests.xml
new file mode 100644
index 0000000..ede05f3
--- /dev/null
+++ b/test/testcases/tests/level2/events/alltests.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-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 Events Test Suite</title>
+<creator>DOM Test Suite Project</creator>
+</metadata>
+ <suite.member href="DocumentEventCast01.xml"/>
+ <suite.member href="EventTargetCast01.xml"/>
+ <suite.member href="createEvent01.xml"/>
+ <suite.member href="createEvent02.xml"/>
+ <suite.member href="createEvent03.xml"/>
+ <suite.member href="createEvent04.xml"/>
+ <suite.member href="createEvent05.xml"/>
+ <suite.member href="dispatchEvent01.xml"/>
+ <suite.member href="dispatchEvent02.xml"/>
+ <suite.member href="dispatchEvent03.xml"/>
+ <suite.member href="dispatchEvent04.xml"/>
+ <suite.member href="dispatchEvent05.xml"/>
+ <suite.member href="dispatchEvent06.xml"/>
+ <suite.member href="dispatchEvent07.xml"/>
+ <suite.member href="dispatchEvent08.xml"/>
+ <suite.member href="dispatchEvent09.xml"/>
+ <suite.member href="dispatchEvent10.xml"/>
+ <suite.member href="dispatchEvent11.xml"/>
+ <suite.member href="dispatchEvent12.xml"/>
+ <suite.member href="dispatchEvent13.xml"/>
+ <suite.member href="initEvent01.xml"/>
+ <suite.member href="initEvent02.xml"/>
+ <suite.member href="initEvent03.xml"/>
+ <suite.member href="initEvent04.xml"/>
+ <suite.member href="initEvent05.xml"/>
+ <suite.member href="initEvent06.xml"/>
+</suite>
diff --git a/test/testcases/tests/level2/events/createEvent01.xml b/test/testcases/tests/level2/events/createEvent01.xml
new file mode 100644
index 0000000..c22986a
--- /dev/null
+++ b/test/testcases/tests/level2/events/createEvent01.xml
@@ -0,0 +1,34 @@
+<?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="createEvent01">
+<metadata>
+<title>createEvent01</title>
+<creator>Curt Arnold</creator>
+<description>
+An object implementing the Event interface is created by using
+DocumentEvent.createEvent method with eventType equals "Events".
+</description>
+<date qualifier="created">2002-04-21</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-DocumentEvent-createEvent"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="event" type="Event"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="event" obj="doc" eventType='"Events"'/>
+<assertNotNull actual="event" id="notnull"/>
+</test>
diff --git a/test/testcases/tests/level2/events/createEvent02.xml b/test/testcases/tests/level2/events/createEvent02.xml
new file mode 100644
index 0000000..59a3bd4
--- /dev/null
+++ b/test/testcases/tests/level2/events/createEvent02.xml
@@ -0,0 +1,36 @@
+<?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="createEvent02">
+<metadata>
+<title>createEvent02</title>
+<creator>Curt Arnold</creator>
+<description>
+An object implementing the Event interface is created by using
+DocumentEvent.createEvent method with eventType equals "MutationEvents".
+Only applicable if implementation supports MutationEvents.
+</description>
+<date qualifier="created">2002-04-21</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-DocumentEvent-createEvent"/>
+</metadata>
+<hasFeature feature='"MutationEvents"' version='"2.0"'/>
+<var name="doc" type="Document"/>
+<var name="event" type="MutationEvent"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="event" obj="doc" eventType='"MutationEvents"'/>
+<assertNotNull actual="event" id="notnull"/>
+</test>
diff --git a/test/testcases/tests/level2/events/createEvent03.xml b/test/testcases/tests/level2/events/createEvent03.xml
new file mode 100644
index 0000000..e1fb15f
--- /dev/null
+++ b/test/testcases/tests/level2/events/createEvent03.xml
@@ -0,0 +1,36 @@
+<?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="createEvent03">
+<metadata>
+<title>createEvent03</title>
+<creator>Curt Arnold</creator>
+<description>
+An object implementing the Event interface is created by using
+DocumentEvent.createEvent method with eventType equals "UIEvents".
+Only applicable if implementation supports the "UIEvents" feature.
+</description>
+<date qualifier="created">2002-04-21</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-DocumentEvent-createEvent"/>
+</metadata>
+<hasFeature feature='"UIEvents"' version='"2.0"'/>
+<var name="doc" type="Document"/>
+<var name="event" type="UIEvent"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="event" obj="doc" eventType='"UIEvents"'/>
+<assertNotNull actual="event" id="notnull"/>
+</test>
diff --git a/test/testcases/tests/level2/events/createEvent04.xml b/test/testcases/tests/level2/events/createEvent04.xml
new file mode 100644
index 0000000..a5fd90c
--- /dev/null
+++ b/test/testcases/tests/level2/events/createEvent04.xml
@@ -0,0 +1,36 @@
+<?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="createEvent04">
+<metadata>
+<title>createEvent04</title>
+<creator>Curt Arnold</creator>
+<description>
+An object implementing the Event interface is created by using
+DocumentEvent.createEvent method with eventType equals "UIEvents".
+Only applicable if implementation supports the "UIEvents" feature.
+</description>
+<date qualifier="created">2002-04-21</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-DocumentEvent-createEvent"/>
+</metadata>
+<hasFeature feature='"MouseEvents"' version='"2.0"'/>
+<var name="doc" type="Document"/>
+<var name="event" type="MouseEvent"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="event" obj="doc" eventType='"MouseEvents"'/>
+<assertNotNull actual="event" id="notnull"/>
+</test>
diff --git a/test/testcases/tests/level2/events/createEvent05.xml b/test/testcases/tests/level2/events/createEvent05.xml
new file mode 100644
index 0000000..b76c592
--- /dev/null
+++ b/test/testcases/tests/level2/events/createEvent05.xml
@@ -0,0 +1,36 @@
+<?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="createEvent05">
+<metadata>
+<title>createEvent05</title>
+<creator>Curt Arnold</creator>
+<description>
+An object implementing the Event interface is created by using
+DocumentEvent.createEvent method with eventType equals "HTMLEvents".
+Only applicable if implementation supports the "HTMLEvents" feature.
+</description>
+<date qualifier="created">2002-04-21</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-DocumentEvent-createEvent"/>
+</metadata>
+<hasFeature feature='"HTMLEvents"' version='"2.0"'/>
+<var name="doc" type="Document"/>
+<var name="event" type="Event"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="event" obj="doc" eventType='"HTMLEvents"'/>
+<assertNotNull actual="event" id="notnull"/>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent01.xml b/test/testcases/tests/level2/events/dispatchEvent01.xml
new file mode 100644
index 0000000..d4d5704
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent01.xml
@@ -0,0 +1,38 @@
+<?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="dispatchEvent01">
+<metadata>
+<title>dispatchEvent01</title>
+<creator>Curt Arnold</creator>
+<description>
+A null reference is passed to EventTarget.dispatchEvent(), should raise implementation
+or platform exception.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event" isNull="true"/>
+<var name="preventDefault" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<assertImplementationException id="throw_ImplException">
+ <dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+</assertImplementationException>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent02.xml b/test/testcases/tests/level2/events/dispatchEvent02.xml
new file mode 100644
index 0000000..57af4fd
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent02.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-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="dispatchEvent02">
+<metadata>
+<title>dispatchEvent02</title>
+<creator>Curt Arnold</creator>
+<description>
+An created but not initialized event is passed to EventTarget.dispatchEvent(). Should raise
+UNSPECIFIED_EVENT_TYPE_ERR EventException.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event"/>
+<var name="preventDefault" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="evt" obj="doc" eventType='"Events"'/>
+<assertEventException id="throw_UNSPECIFIED_EVENT_TYPE_ERR">
+ <UNSPECIFIED_EVENT_TYPE_ERR>
+ <dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+ </UNSPECIFIED_EVENT_TYPE_ERR>
+</assertEventException>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent03.xml b/test/testcases/tests/level2/events/dispatchEvent03.xml
new file mode 100644
index 0000000..4009609
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent03.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="dispatchEvent03">
+<metadata>
+<title>dispatchEvent03</title>
+<creator>Curt Arnold</creator>
+<description>
+An created but not initialized event is passed to EventTarget.dispatchEvent(). Should raise
+UNSPECIFIED_EVENT_TYPE_ERR EventException.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])"/>
+</metadata>
+<hasFeature feature='"MutationEvents"' version='"2.0"'/>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event"/>
+<var name="preventDefault" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="evt" obj="doc" eventType='"MutationEvents"'/>
+<assertEventException id="throw_UNSPECIFIED_EVENT_TYPE_ERR">
+ <UNSPECIFIED_EVENT_TYPE_ERR>
+ <dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+ </UNSPECIFIED_EVENT_TYPE_ERR>
+</assertEventException>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent04.xml b/test/testcases/tests/level2/events/dispatchEvent04.xml
new file mode 100644
index 0000000..4c5eacf
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent04.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="dispatchEvent04">
+<metadata>
+<title>dispatchEvent04</title>
+<creator>Curt Arnold</creator>
+<description>
+An created but not initialized event is passed to EventTarget.dispatchEvent(). Should raise
+UNSPECIFIED_EVENT_TYPE_ERR EventException.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])"/>
+</metadata>
+<hasFeature feature='"UIEvents"' version='"2.0"'/>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event"/>
+<var name="preventDefault" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="evt" obj="doc" eventType='"UIEvents"'/>
+<assertEventException id="throw_UNSPECIFIED_EVENT_TYPE_ERR">
+ <UNSPECIFIED_EVENT_TYPE_ERR>
+ <dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+ </UNSPECIFIED_EVENT_TYPE_ERR>
+</assertEventException>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent05.xml b/test/testcases/tests/level2/events/dispatchEvent05.xml
new file mode 100644
index 0000000..918e9fa
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent05.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="dispatchEvent05">
+<metadata>
+<title>dispatchEvent05</title>
+<creator>Curt Arnold</creator>
+<description>
+An created but not initialized event is passed to EventTarget.dispatchEvent(). Should raise
+UNSPECIFIED_EVENT_TYPE_ERR EventException.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])"/>
+</metadata>
+<hasFeature feature='"MouseEvents"' version='"2.0"'/>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event"/>
+<var name="preventDefault" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="evt" obj="doc" eventType='"MouseEvents"'/>
+<assertEventException id="throw_UNSPECIFIED_EVENT_TYPE_ERR">
+ <UNSPECIFIED_EVENT_TYPE_ERR>
+ <dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+ </UNSPECIFIED_EVENT_TYPE_ERR>
+</assertEventException>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent06.xml b/test/testcases/tests/level2/events/dispatchEvent06.xml
new file mode 100644
index 0000000..074dd7b
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent06.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="dispatchEvent06">
+<metadata>
+<title>dispatchEvent06</title>
+<creator>Curt Arnold</creator>
+<description>
+An created but not initialized event is passed to EventTarget.dispatchEvent(). Should raise
+UNSPECIFIED_EVENT_TYPE_ERR EventException.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])"/>
+</metadata>
+<hasFeature feature='"HTMLEvents"' version='"2.0"'/>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event"/>
+<var name="preventDefault" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="evt" obj="doc" eventType='"HTMLEvents"'/>
+<assertEventException id="throw_UNSPECIFIED_EVENT_TYPE_ERR">
+ <UNSPECIFIED_EVENT_TYPE_ERR>
+ <dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+ </UNSPECIFIED_EVENT_TYPE_ERR>
+</assertEventException>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent07.xml b/test/testcases/tests/level2/events/dispatchEvent07.xml
new file mode 100644
index 0000000..7710e06
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent07.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="dispatchEvent07">
+<metadata>
+<title>dispatchEvent07</title>
+<creator>Curt Arnold</creator>
+<description>
+An Event initialized with a empty name is passed to EventTarget.dispatchEvent(). Should raise
+UNSPECIFIED_EVENT_TYPE_ERR EventException.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event"/>
+<var name="preventDefault" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="evt" obj="doc" eventType='"Events"'/>
+<initEvent obj="evt" eventTypeArg='""' canBubbleArg="false" cancelableArg="false"/>
+<assertEventException id="throw_UNSPECIFIED_EVENT_TYPE_ERR">
+ <UNSPECIFIED_EVENT_TYPE_ERR>
+ <dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+ </UNSPECIFIED_EVENT_TYPE_ERR>
+</assertEventException>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent08.xml b/test/testcases/tests/level2/events/dispatchEvent08.xml
new file mode 100644
index 0000000..708dbf6
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent08.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="dispatchEvent08">
+<metadata>
+<title>dispatchEvent08</title>
+<creator>Curt Arnold</creator>
+<description>
+An EventListener registered on the target node with capture false, should
+recieve any event fired on that node.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event"/>
+<var name="preventDefault" type="boolean"/>
+<var name="monitor" type="EventMonitor"/>
+<var name="atEvents" type="List"/>
+<var name="bubbledEvents" type="List"/>
+<var name="capturedEvents" type="List"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<addEventListener obj="doc" type='"foo"' listener="monitor" useCapture="false"/>
+<createEvent var="evt" obj="doc" eventType='"Events"'/>
+<initEvent obj="evt" eventTypeArg='"foo"' canBubbleArg="true" cancelableArg="false"/>
+<dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+<atEvents obj="monitor" var="atEvents"/>
+<assertSize id="atCount" collection="atEvents" size="1"/>
+<bubbledEvents obj="monitor" var="bubbledEvents"/>
+<assertSize id="bubbleCount" collection="bubbledEvents" size="0"/>
+<capturedEvents obj="monitor" var="capturedEvents"/>
+<assertSize id="captureCount" collection="capturedEvents" size="0"/>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent09.xml b/test/testcases/tests/level2/events/dispatchEvent09.xml
new file mode 100644
index 0000000..62c69c0
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent09.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="dispatchEvent09">
+<metadata>
+<title>dispatchEvent09</title>
+<creator>Curt Arnold</creator>
+<description>
+An event is dispatched to the document with a capture listener attached.
+A capturing EventListener will not be triggered by events dispatched directly to the EventTarget upon which it is registered.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event"/>
+<var name="preventDefault" type="boolean"/>
+<var name="monitor" type="EventMonitor"/>
+<var name="atEvents" type="List"/>
+<var name="bubbledEvents" type="List"/>
+<var name="capturedEvents" type="List"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<addEventListener obj="doc" type='"foo"' listener="monitor" useCapture="true"/>
+<createEvent var="evt" obj="doc" eventType='"Events"'/>
+<initEvent obj="evt" eventTypeArg='"foo"' canBubbleArg="true" cancelableArg="false"/>
+<dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+<atEvents obj="monitor" var="atEvents"/>
+<assertSize id="atCount" collection="atEvents" size="0"/>
+<bubbledEvents obj="monitor" var="bubbledEvents"/>
+<assertSize id="bubbleCount" collection="bubbledEvents" size="0"/>
+<capturedEvents obj="monitor" var="capturedEvents"/>
+<assertSize id="captureCount" collection="capturedEvents" size="0"/>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent10.xml b/test/testcases/tests/level2/events/dispatchEvent10.xml
new file mode 100644
index 0000000..879a3bd
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent10.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="dispatchEvent10">
+<metadata>
+<title>dispatchEvent10</title>
+<creator>Curt Arnold</creator>
+<description>
+The same monitor is registered twice and an event is dispatched. The monitor should
+recieve only one handleEvent call.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event"/>
+<var name="preventDefault" type="boolean"/>
+<var name="monitor" type="EventMonitor"/>
+<var name="atEvents" type="List"/>
+<var name="bubbledEvents" type="List"/>
+<var name="capturedEvents" type="List"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<addEventListener obj="doc" type='"foo"' listener="monitor" useCapture="false"/>
+<addEventListener obj="doc" type='"foo"' listener="monitor" useCapture="false"/>
+<createEvent var="evt" obj="doc" eventType='"Events"'/>
+<initEvent obj="evt" eventTypeArg='"foo"' canBubbleArg="true" cancelableArg="false"/>
+<dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+<atEvents obj="monitor" var="atEvents"/>
+<assertSize id="atCount" collection="atEvents" size="1"/>
+<bubbledEvents obj="monitor" var="bubbledEvents"/>
+<assertSize id="bubbleCount" collection="bubbledEvents" size="0"/>
+<capturedEvents obj="monitor" var="capturedEvents"/>
+<assertSize id="captureCount" collection="capturedEvents" size="0"/>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent11.xml b/test/testcases/tests/level2/events/dispatchEvent11.xml
new file mode 100644
index 0000000..e3086f7
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent11.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="dispatchEvent11">
+<metadata>
+<title>dispatchEvent11</title>
+<creator>Curt Arnold</creator>
+<description>
+The same monitor is registered twice, removed once, and an event is dispatched.
+The monitor should recieve only no handleEvent calls.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event"/>
+<var name="preventDefault" type="boolean"/>
+<var name="monitor" type="EventMonitor"/>
+<var name="events" type="List"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<addEventListener obj="doc" type='"foo"' listener="monitor" useCapture="false"/>
+<addEventListener obj="doc" type='"foo"' listener="monitor" useCapture="false"/>
+<removeEventListener obj="doc" type='"foo"' listener="monitor" useCapture="false"/>
+<createEvent var="evt" obj="doc" eventType='"Events"'/>
+<initEvent obj="evt" eventTypeArg='"foo"' canBubbleArg="true" cancelableArg="false"/>
+<dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+<allEvents obj="monitor" var="events"/>
+<assertSize id="eventCount" collection="events" size="0"/>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent12.xml b/test/testcases/tests/level2/events/dispatchEvent12.xml
new file mode 100644
index 0000000..c266030
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent12.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-2005 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="dispatchEvent12">
+<metadata>
+<title>dispatchEvent12</title>
+<creator>Curt Arnold</creator>
+<description>
+A monitor is added, multiple calls to removeEventListener
+are mde with similar but not identical arguments, and an event is dispatched.
+The monitor should recieve handleEvent calls.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event"/>
+<var name="preventDefault" type="boolean"/>
+<var name="monitor" type="EventMonitor"/>
+<var name="other" type="EventListener">
+ <handleEvent/>
+</var>
+<var name="events" type="List"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<addEventListener obj="doc" type='"foo"' listener="monitor" useCapture="false"/>
+<removeEventListener obj="doc" type='"foo"' listener="monitor" useCapture="true"/>
+<removeEventListener obj="doc" type='"food"' listener="monitor" useCapture="false"/>
+<removeEventListener obj="doc" type='"foo"' listener="other" useCapture="false"/>
+<createEvent var="evt" obj="doc" eventType='"Events"'/>
+<initEvent obj="evt" eventTypeArg='"foo"' canBubbleArg="true" cancelableArg="false"/>
+<dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+<allEvents obj="monitor" var="events"/>
+<assertSize id="eventCount" collection="events" size="1"/>
+</test>
diff --git a/test/testcases/tests/level2/events/dispatchEvent13.xml b/test/testcases/tests/level2/events/dispatchEvent13.xml
new file mode 100644
index 0000000..f1b2d84
--- /dev/null
+++ b/test/testcases/tests/level2/events/dispatchEvent13.xml
@@ -0,0 +1,84 @@
+<?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="dispatchEvent13">
+<metadata>
+<title>dispatchEvent13</title>
+<creator>Curt Arnold</creator>
+<description>
+Two listeners are registered on the same target, each of which will remove both itself and
+the other on the first event. Only one should see the event since event listeners
+can never be invoked after being removed.
+</description>
+<date qualifier="created">2002-05-30</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="target" type="EventTarget"/>
+<var name="evt" type="Event"/>
+<var name="preventDefault" type="boolean"/>
+<var name="listeners" type="List"/>
+<var name="events" type="List"/>
+<!-- definition of private class instance that implements EventListener -->
+<var name="listener1" type="EventListener">
+ <!-- instance scope variables,
+ value attributes are passed via constructor -->
+ <var name="events" type="List" value="events"/>
+ <var name="listeners" type="List" value="listeners"/>
+ <!-- implementation of handleEvent method
+ any parameters (in this case 'evt') are
+ predefined -->
+ <handleEvent>
+ <!-- method scope variables -->
+ <var name="target" type="EventTarget"/>
+ <var name="listener" type="EventListener"/>
+ <!-- add event to the collection -->
+ <append collection="events" item="evt"/>
+ <!-- remove this and the other listener -->
+ <currentTarget var="target" obj="evt"/>
+ <for-each collection="listeners" member="listener">
+ <removeEventListener obj="target" type='"foo"' listener="listener" useCapture="false"/>
+ </for-each>
+ </handleEvent>
+</var>
+<!-- identical implementation of EventListener -->
+<var name="listener2" type="EventListener">
+ <var name="events" type="List" value="events"/>
+ <var name="listeners" type="List" value="listeners"/>
+ <handleEvent>
+ <var name="target" type="EventTarget"/>
+ <var name="listener" type="EventListener"/>
+ <!-- add event to the collection -->
+ <append collection="events" item="evt"/>
+ <!-- remove this and the other listener -->
+ <currentTarget var="target" obj="evt"/>
+ <for-each collection="listeners" member="listener">
+ <removeEventListener obj="target" type='"foo"' listener="listener" useCapture="false"/>
+ </for-each>
+ </handleEvent>
+</var>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<append collection="listeners" item="listener1"/>
+<append collection="listeners" item="listener2"/>
+<addEventListener obj="doc" type='"foo"' listener="listener1" useCapture="false"/>
+<addEventListener obj="doc" type='"foo"' listener="listener2" useCapture="false"/>
+<createEvent var="evt" obj="doc" eventType='"Events"'/>
+<initEvent obj="evt" eventTypeArg='"foo"' canBubbleArg="true" cancelableArg="false"/>
+<dispatchEvent var="preventDefault" obj="doc" evt="evt"/>
+<assertSize id="eventCount" collection="events" size="1"/>
+</test>
diff --git a/test/testcases/tests/level2/events/files/.cvsignore b/test/testcases/tests/level2/events/files/.cvsignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/events/files/.cvsignore
diff --git a/test/testcases/tests/level2/events/files/CVS/Entries b/test/testcases/tests/level2/events/files/CVS/Entries
new file mode 100644
index 0000000..471089a
--- /dev/null
+++ b/test/testcases/tests/level2/events/files/CVS/Entries
@@ -0,0 +1,10 @@
+/.cvsignore/1.2/Fri Apr 3 02:47:56 2009//
+/hc_staff.html/1.5/Fri Apr 3 02:47:56 2009//
+/hc_staff.svg/1.2/Fri Apr 3 02:47:56 2009/-kb/
+/hc_staff.xhtml/1.5/Fri Apr 3 02:47:56 2009/-kb/
+/hc_staff.xml/1.6/Fri Apr 3 02:47:56 2009//
+/staff.dtd/1.1/Fri Apr 3 02:47:56 2009//
+/svgtest.js/1.1/Fri Apr 3 02:47:56 2009/-kb/
+/svgunit.js/1.1/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/events/files/CVS/Repository b/test/testcases/tests/level2/events/files/CVS/Repository
new file mode 100644
index 0000000..1bc2aa7
--- /dev/null
+++ b/test/testcases/tests/level2/events/files/CVS/Repository
@@ -0,0 +1 @@
+2001/DOM-Test-Suite/tests/level2/events/files
diff --git a/test/testcases/tests/level2/events/files/CVS/Root b/test/testcases/tests/level2/events/files/CVS/Root
new file mode 100644
index 0000000..3c7177e
--- /dev/null
+++ b/test/testcases/tests/level2/events/files/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/test/testcases/tests/level2/events/files/CVS/Template b/test/testcases/tests/level2/events/files/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/events/files/CVS/Template
diff --git a/test/testcases/tests/level2/events/files/hc_staff.html b/test/testcases/tests/level2/events/files/hc_staff.html
new file mode 100644
index 0000000..33ccec5
--- /dev/null
+++ b/test/testcases/tests/level2/events/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/events/files/hc_staff.svg b/test/testcases/tests/level2/events/files/hc_staff.svg
new file mode 100644
index 0000000..5efa959
--- /dev/null
+++ b/test/testcases/tests/level2/events/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/events/files/hc_staff.xhtml b/test/testcases/tests/level2/events/files/hc_staff.xhtml
new file mode 100644
index 0000000..32f8af9
--- /dev/null
+++ b/test/testcases/tests/level2/events/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/events/files/hc_staff.xml b/test/testcases/tests/level2/events/files/hc_staff.xml
new file mode 100644
index 0000000..923fd0d
--- /dev/null
+++ b/test/testcases/tests/level2/events/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/events/files/staff.dtd b/test/testcases/tests/level2/events/files/staff.dtd
new file mode 100644
index 0000000..02a994d
--- /dev/null
+++ b/test/testcases/tests/level2/events/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/events/files/svgtest.js b/test/testcases/tests/level2/events/files/svgtest.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/events/files/svgtest.js
diff --git a/test/testcases/tests/level2/events/files/svgunit.js b/test/testcases/tests/level2/events/files/svgunit.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/events/files/svgunit.js
diff --git a/test/testcases/tests/level2/events/files/xhtml1-strict.dtd b/test/testcases/tests/level2/events/files/xhtml1-strict.dtd
new file mode 100644
index 0000000..7ba5dd7
--- /dev/null
+++ b/test/testcases/tests/level2/events/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/events/initEvent01.xml b/test/testcases/tests/level2/events/initEvent01.xml
new file mode 100644
index 0000000..5e21a36
--- /dev/null
+++ b/test/testcases/tests/level2/events/initEvent01.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="initEvent01">
+<metadata>
+<title>initEvent01</title>
+<creator>Curt Arnold</creator>
+<description>
+The Event.initEvent method is called for event returned by DocumentEvent.createEvent("events")
+and the state is checked to see if it reflects the parameters.
+</description>
+<date qualifier="created">2002-04-22</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-Event-initEvent"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="event" type="Event"/>
+<var name="expectedEventType" type="DOMString" value='"rotate"'/>
+<var name="actualEventType" type="DOMString"/>
+<var name="expectedCanBubble" type="boolean" value='true'/>
+<var name="actualCanBubble" type="boolean"/>
+<var name="expectedCancelable" type="boolean" value='false'/>
+<var name="actualCancelable" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="event" obj="doc" eventType='"Events"'/>
+<assertNotNull actual="event" id="notnull"/>
+<initEvent obj="event" eventTypeArg="expectedEventType"
+ canBubbleArg="expectedCanBubble" cancelableArg="expectedCancelable"/>
+<type var="actualEventType" obj="event" interface="Event"/>
+<assertEquals actual="actualEventType" expected="expectedEventType" id="type" ignoreCase="false"/>
+<cancelable var="actualCancelable" obj="event"/>
+<assertEquals actual="actualCancelable" expected="expectedCancelable" id="cancelable" ignoreCase="false"/>
+<bubbles var="actualCanBubble" obj="event"/>
+<assertEquals actual="actualCanBubble" expected="expectedCanBubble" id="canBubble" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/events/initEvent02.xml b/test/testcases/tests/level2/events/initEvent02.xml
new file mode 100644
index 0000000..79576fd
--- /dev/null
+++ b/test/testcases/tests/level2/events/initEvent02.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="initEvent02">
+<metadata>
+<title>initEvent02</title>
+<creator>Curt Arnold</creator>
+<description>
+The Event.initEvent method is called for event returned by DocumentEvent.createEvent("events")
+and the state is checked to see if it reflects the parameters.
+</description>
+<date qualifier="created">2002-04-22</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-Event-initEvent"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="event" type="Event"/>
+<var name="expectedEventType" type="DOMString" value='"rotate"'/>
+<var name="actualEventType" type="DOMString"/>
+<var name="expectedCanBubble" type="boolean" value='false'/>
+<var name="actualCanBubble" type="boolean"/>
+<var name="expectedCancelable" type="boolean" value='true'/>
+<var name="actualCancelable" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="event" obj="doc" eventType='"Events"'/>
+<assertNotNull actual="event" id="notnull"/>
+<initEvent obj="event" eventTypeArg="expectedEventType"
+ canBubbleArg="expectedCanBubble" cancelableArg="expectedCancelable"/>
+<type var="actualEventType" obj="event" interface="Event"/>
+<assertEquals actual="actualEventType" expected="expectedEventType" id="type" ignoreCase="false"/>
+<cancelable var="actualCancelable" obj="event"/>
+<assertEquals actual="actualCancelable" expected="expectedCancelable" id="cancelable" ignoreCase="false"/>
+<bubbles var="actualCanBubble" obj="event"/>
+<assertEquals actual="actualCanBubble" expected="expectedCanBubble" id="canBubble" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/events/initEvent03.xml b/test/testcases/tests/level2/events/initEvent03.xml
new file mode 100644
index 0000000..91a3025
--- /dev/null
+++ b/test/testcases/tests/level2/events/initEvent03.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="initEvent03">
+<metadata>
+<title>initEvent03</title>
+<creator>Curt Arnold</creator>
+<description>
+The Event.initEvent method is called for event returned by DocumentEvent.createEvent("events")
+and the state is checked to see if it reflects the parameters. initEvent may be
+called multiple times and the last time is definitive.
+</description>
+<date qualifier="created">2002-04-22</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-Event-initEvent"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="event" type="Event"/>
+<var name="expectedEventType" type="DOMString" value='"rotate"'/>
+<var name="actualEventType" type="DOMString"/>
+<var name="actualCanBubble" type="boolean"/>
+<var name="actualCancelable" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="event" obj="doc" eventType='"Events"'/>
+<assertNotNull actual="event" id="notnull"/>
+<initEvent obj="event" eventTypeArg='"rotate"'
+ canBubbleArg="true" cancelableArg="true"/>
+<type var="actualEventType" obj="event" interface="Event"/>
+<assertEquals actual="actualEventType" expected='"rotate"' id="type" ignoreCase="false"/>
+<cancelable var="actualCancelable" obj="event"/>
+<assertEquals actual="actualCancelable" expected="true" id="cancelable" ignoreCase="false"/>
+<bubbles var="actualCanBubble" obj="event"/>
+<assertEquals actual="actualCanBubble" expected="true" id="canBubble" ignoreCase="false"/>
+<initEvent obj="event" eventTypeArg='"shear"'
+ canBubbleArg="false" cancelableArg="false"/>
+<type var="actualEventType" obj="event" interface="Event"/>
+<assertEquals actual="actualEventType" expected='"shear"' id="type2" ignoreCase="false"/>
+<cancelable var="actualCancelable" obj="event"/>
+<assertEquals actual="actualCancelable" expected="false" id="cancelable2" ignoreCase="false"/>
+<bubbles var="actualCanBubble" obj="event"/>
+<assertEquals actual="actualCanBubble" expected="false" id="canBubble2" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/events/initEvent04.xml b/test/testcases/tests/level2/events/initEvent04.xml
new file mode 100644
index 0000000..705e0fb
--- /dev/null
+++ b/test/testcases/tests/level2/events/initEvent04.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="initEvent04">
+<metadata>
+<title>initEvent04</title>
+<creator>Curt Arnold</creator>
+<description>
+The Event.initEvent method is called for event returned by
+DocumentEvent.createEvent("MutationEvents")
+and the state is checked to see if it reflects the parameters.
+</description>
+<date qualifier="created">2002-04-22</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-Event-initEvent"/>
+</metadata>
+<hasFeature feature='"MutationEvents"' version='"2.0"'/>
+<var name="doc" type="Document"/>
+<var name="event" type="Event"/>
+<var name="expectedEventType" type="DOMString" value='"rotate"'/>
+<var name="actualEventType" type="DOMString"/>
+<var name="expectedCanBubble" type="boolean" value='true'/>
+<var name="actualCanBubble" type="boolean"/>
+<var name="expectedCancelable" type="boolean" value='false'/>
+<var name="actualCancelable" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="event" obj="doc" eventType='"MutationEvents"'/>
+<assertNotNull actual="event" id="notnull"/>
+<initEvent obj="event" eventTypeArg="expectedEventType"
+ canBubbleArg="expectedCanBubble" cancelableArg="expectedCancelable"/>
+<type var="actualEventType" obj="event" interface="Event"/>
+<assertEquals actual="actualEventType" expected="expectedEventType" id="type" ignoreCase="false"/>
+<cancelable var="actualCancelable" obj="event"/>
+<assertEquals actual="actualCancelable" expected="expectedCancelable" id="cancelable" ignoreCase="false"/>
+<bubbles var="actualCanBubble" obj="event"/>
+<assertEquals actual="actualCanBubble" expected="expectedCanBubble" id="canBubble" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/events/initEvent05.xml b/test/testcases/tests/level2/events/initEvent05.xml
new file mode 100644
index 0000000..5d039a9
--- /dev/null
+++ b/test/testcases/tests/level2/events/initEvent05.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="initEvent05">
+<metadata>
+<title>initEvent05</title>
+<creator>Curt Arnold</creator>
+<description>
+The Event.initEvent method is called for event returned by
+DocumentEvent.createEvent("MutationEvents")
+and the state is checked to see if it reflects the parameters.
+</description>
+<date qualifier="created">2002-04-22</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-Event-initEvent"/>
+</metadata>
+<hasFeature feature='"MutationEvents"' version='"2.0"'/>
+<var name="doc" type="Document"/>
+<var name="event" type="Event"/>
+<var name="expectedEventType" type="DOMString" value='"rotate"'/>
+<var name="actualEventType" type="DOMString"/>
+<var name="expectedCanBubble" type="boolean" value='false'/>
+<var name="actualCanBubble" type="boolean"/>
+<var name="expectedCancelable" type="boolean" value='true'/>
+<var name="actualCancelable" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="event" obj="doc" eventType='"MutationEvents"'/>
+<assertNotNull actual="event" id="notnull"/>
+<initEvent obj="event" eventTypeArg="expectedEventType"
+ canBubbleArg="expectedCanBubble" cancelableArg="expectedCancelable"/>
+<type var="actualEventType" obj="event" interface="Event"/>
+<assertEquals actual="actualEventType" expected="expectedEventType" id="type" ignoreCase="false"/>
+<cancelable var="actualCancelable" obj="event"/>
+<assertEquals actual="actualCancelable" expected="expectedCancelable" id="cancelable" ignoreCase="false"/>
+<bubbles var="actualCanBubble" obj="event"/>
+<assertEquals actual="actualCanBubble" expected="expectedCanBubble" id="canBubble" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/events/initEvent06.xml b/test/testcases/tests/level2/events/initEvent06.xml
new file mode 100644
index 0000000..b6b550c
--- /dev/null
+++ b/test/testcases/tests/level2/events/initEvent06.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="initEvent06">
+<metadata>
+<title>initEvent06</title>
+<creator>Curt Arnold</creator>
+<description>
+The Event.initEvent method is called for event returned by
+DocumentEvent.createEvent("MutationEvents")
+and the state is checked to see if it reflects the parameters. initEvent may be
+called multiple times and the last time is definitive.
+</description>
+<date qualifier="created">2002-04-22</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Events/events#Events-Event-initEvent"/>
+</metadata>
+<hasFeature feature='"MutationEvents"' version='"2.0"'/>
+<var name="doc" type="Document"/>
+<var name="event" type="Event"/>
+<var name="expectedEventType" type="DOMString" value='"rotate"'/>
+<var name="actualEventType" type="DOMString"/>
+<var name="actualCanBubble" type="boolean"/>
+<var name="actualCancelable" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createEvent var="event" obj="doc" eventType='"MutationEvents"'/>
+<assertNotNull actual="event" id="notnull"/>
+<initEvent obj="event" eventTypeArg='"rotate"'
+ canBubbleArg="true" cancelableArg="true"/>
+<type var="actualEventType" obj="event" interface="Event"/>
+<assertEquals actual="actualEventType" expected='"rotate"' id="type" ignoreCase="false"/>
+<cancelable var="actualCancelable" obj="event"/>
+<assertEquals actual="actualCancelable" expected="true" id="cancelable" ignoreCase="false"/>
+<bubbles var="actualCanBubble" obj="event"/>
+<assertEquals actual="actualCanBubble" expected="true" id="canBubble" ignoreCase="false"/>
+<initEvent obj="event" eventTypeArg='"shear"'
+ canBubbleArg="false" cancelableArg="false"/>
+<type var="actualEventType" obj="event" interface="Event"/>
+<assertEquals actual="actualEventType" expected='"shear"' id="type2" ignoreCase="false"/>
+<cancelable var="actualCancelable" obj="event"/>
+<assertEquals actual="actualCancelable" expected="false" id="cancelable2" ignoreCase="false"/>
+<bubbles var="actualCanBubble" obj="event"/>
+<assertEquals actual="actualCanBubble" expected="false" id="canBubble2" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/events/metadata.xml b/test/testcases/tests/level2/events/metadata.xml
new file mode 100644
index 0000000..f52c030
--- /dev/null
+++ b/test/testcases/tests/level2/events/metadata.xml
@@ -0,0 +1,20 @@
+<?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 metadata SYSTEM "dom2.dtd">
+<!-- This file contains additional metadata about DOM L2 Events tests.
+ Allowing additional documentation without modifying the tests themselves. -->
+<metadata xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2">
+</metadata>
+
diff --git a/test/testcases/tests/level2/html/.cvsignore b/test/testcases/tests/level2/html/.cvsignore
new file mode 100644
index 0000000..cc87140
--- /dev/null
+++ b/test/testcases/tests/level2/html/.cvsignore
@@ -0,0 +1,2 @@
+dom2.dtd
+dom2.xsd
diff --git a/test/testcases/tests/level2/html/CVS/Entries b/test/testcases/tests/level2/html/CVS/Entries
new file mode 100644
index 0000000..2a070d9
--- /dev/null
+++ b/test/testcases/tests/level2/html/CVS/Entries
@@ -0,0 +1,65 @@
+D/files////
+/.cvsignore/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLAppletElement07.xml/1.4/Fri Apr 3 02:47:56 2009//
+/HTMLAppletElement09.xml/1.5/Fri Apr 3 02:47:56 2009//
+/HTMLBaseFontElement03.xml/1.6/Fri Apr 3 02:47:56 2009//
+/HTMLBodyElement07.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLBodyElement08.xml/1.2/Fri Apr 3 02:47:55 2009//
+/HTMLBodyElement09.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLBodyElement10.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLBodyElement11.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLBodyElement12.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLDocument22.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLDocument23.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLDocument24.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLDocument25.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLDocument26.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLDocument27.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLFrameElement09.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLIFrameElement11.xml/1.3/Fri Apr 3 02:47:56 2009//
+/HTMLImageElement05.xml/1.3/Fri Apr 3 02:47:56 2009//
+/HTMLImageElement06.xml/1.3/Fri Apr 3 02:47:56 2009//
+/HTMLImageElement11.xml/1.3/Fri Apr 3 02:47:56 2009//
+/HTMLImageElement12.xml/1.3/Fri Apr 3 02:47:55 2009//
+/HTMLInputElement13.xml/1.4/Fri Apr 3 02:47:56 2009//
+/HTMLObjectElement11.xml/1.4/Fri Apr 3 02:47:56 2009//
+/HTMLObjectElement16.xml/1.4/Fri Apr 3 02:47:56 2009//
+/HTMLObjectElement20.xml/1.1/Fri Apr 3 02:47:55 2009//
+/HTMLOptionsCollection01.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLOptionsCollection02.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLOptionsCollection03.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLOptionsCollection04.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLOptionsCollection05.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLOptionsCollection06.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLOptionsCollection07.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLSelectElement20.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableElement34.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableElement35.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableElement36.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableElement37.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableElement38.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableElement39.xml/1.1/Fri Apr 3 02:47:55 2009//
+/HTMLTableElement40.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableRowElement15.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableRowElement16.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLTableRowElement17.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLTableRowElement18.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLTableRowElement19.xml/1.2/Fri Apr 3 02:47:56 2009//
+/HTMLTableRowElement20.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableRowElement21.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableSectionElement25.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableSectionElement26.xml/1.1/Fri Apr 3 02:47:55 2009//
+/HTMLTableSectionElement27.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableSectionElement28.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableSectionElement29.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableSectionElement30.xml/1.1/Fri Apr 3 02:47:56 2009//
+/HTMLTableSectionElement31.xml/1.1/Fri Apr 3 02:47:56 2009//
+/alltests.xml/1.19/Fri Apr 3 02:47:56 2009//
+/hasFeature02.xml/1.1/Fri Apr 3 02:47:56 2009//
+/hasFeature03.xml/1.1/Fri Apr 3 02:47:56 2009//
+/hasFeature04.xml/1.1/Fri Apr 3 02:47:56 2009//
+/hasFeature05.xml/1.1/Fri Apr 3 02:47:56 2009//
+/hasFeature06.xml/1.1/Fri Apr 3 02:47:56 2009//
+/metadata.xml/1.1/Fri Apr 3 02:47:55 2009//
+/object08.xml/1.2/Fri Apr 3 02:47:56 2009//
+/object13.xml/1.2/Fri Apr 3 02:47:56 2009//
diff --git a/test/testcases/tests/level2/html/CVS/Repository b/test/testcases/tests/level2/html/CVS/Repository
new file mode 100644
index 0000000..8bf1363
--- /dev/null
+++ b/test/testcases/tests/level2/html/CVS/Repository
@@ -0,0 +1 @@
+2001/DOM-Test-Suite/tests/level2/html
diff --git a/test/testcases/tests/level2/html/CVS/Root b/test/testcases/tests/level2/html/CVS/Root
new file mode 100644
index 0000000..3c7177e
--- /dev/null
+++ b/test/testcases/tests/level2/html/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/test/testcases/tests/level2/html/CVS/Template b/test/testcases/tests/level2/html/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/html/CVS/Template
diff --git a/test/testcases/tests/level2/html/HTMLAppletElement07.xml b/test/testcases/tests/level2/html/HTMLAppletElement07.xml
new file mode 100644
index 0000000..07a6c0d
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLAppletElement07.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLAppletElement07">
+<metadata>
+<title>HTMLAppletElement07</title>
+<creator>NIST</creator>
+<description>
+ The hspace attribute specifies the horizontal space to the left
+ and right of this image, applet, or object.
+
+ Retrieve the hspace attribute and examine it's value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-12-03</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-1567197"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="vhspace" type="int"/>
+<var name="doc" type="Node"/>
+<load var="doc" href="applet" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;applet&quot;"/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<hspace interface="HTMLAppletElement" obj="testNode" var="vhspace"/>
+<assertEquals actual="vhspace" expected="0" id="hspaceLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLAppletElement09.xml b/test/testcases/tests/level2/html/HTMLAppletElement09.xml
new file mode 100644
index 0000000..b602397
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLAppletElement09.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLAppletElement09">
+<metadata>
+<title>HTMLAppletElement09</title>
+<creator>NIST</creator>
+<description>
+ The vspace attribute specifies the vertical space above and below
+ this image, applet or object.
+
+ Retrieve the vspace attribute and examine it's value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-12-03</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-22637173"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="vvspace" type="int"/>
+<var name="doc" type="Node"/>
+<load var="doc" href="applet" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;applet&quot;"/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<vspace interface="HTMLAppletElement" obj="testNode" var="vvspace"/>
+<assertEquals actual="vvspace" expected="0" id="vspaceLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLBaseFontElement03.xml b/test/testcases/tests/level2/html/HTMLBaseFontElement03.xml
new file mode 100644
index 0000000..b743fb0
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLBaseFontElement03.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLBaseFontElement03">
+<metadata>
+<title>HTMLBaseFontElement03</title>
+<creator>NIST</creator>
+<description>
+ The size attribute specifies the base font's size.
+
+ Retrieve the size attribute and examine it's value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-12-03</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-38930424"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="vsize" type="int"/>
+<var name="doc" type="Node"/>
+<load var="doc" href="basefont" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;basefont&quot;"/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<size interface="HTMLBaseFontElement" obj="testNode" var="vsize"/>
+<assertEquals actual="vsize" expected="4" id="sizeLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLBodyElement07.xml b/test/testcases/tests/level2/html/HTMLBodyElement07.xml
new file mode 100644
index 0000000..2c759f8
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLBodyElement07.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xml" 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="HTMLBodyElement07">
+<metadata>
+<title>HTMLBodyElement07</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.isSupported("hTmL", null) returns true.
+</description>
+<date qualifier="created">2002-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-62018039"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="body" type="Element"/>
+<var name="state" type="boolean"/>
+<var name="version" type="DOMString" isNull="true"/>
+<load var="doc" href="document" willBeModified="false"/>
+<body var="body" obj="doc"/>
+<isSupported var="state" obj="body" feature='"hTmL"' version="version"/>
+<assertTrue actual="state" id="isSupportedHTML"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLBodyElement08.xml b/test/testcases/tests/level2/html/HTMLBodyElement08.xml
new file mode 100644
index 0000000..50b411d
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLBodyElement08.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xml" 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="HTMLBodyElement08">
+<metadata>
+<title>HTMLBodyElement08</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.isSupported("hTmL", "2.0") returns true.
+</description>
+<date qualifier="created">2002-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-62018039"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="body" type="Element"/>
+<var name="state" type="boolean"/>
+<var name="version" type="DOMString" value='"2.0"'/>
+<load var="doc" href="document" willBeModified="false"/>
+<body var="body" obj="doc"/>
+<isSupported var="state" obj="body" feature='"hTmL"' version="version"/>
+<assertTrue actual="state" id="isSupportedHTML"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLBodyElement09.xml b/test/testcases/tests/level2/html/HTMLBodyElement09.xml
new file mode 100644
index 0000000..150b4a8
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLBodyElement09.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xml" 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="HTMLBodyElement09">
+<metadata>
+<title>HTMLBodyElement09</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.isSupported("xhTmL", null) returns true if hasFeature("XML", null) is true.
+</description>
+<date qualifier="created">2002-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-62018039"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="body" type="Element"/>
+<var name="state" type="boolean"/>
+<var name="hasXML" type="boolean"/>
+<var name="version" type="DOMString" isNull="true"/>
+<load var="doc" href="document" willBeModified="false"/>
+<body var="body" obj="doc"/>
+<isSupported var="hasXML" obj="body" feature='"XML"' version="version"/>
+<isSupported var="state" obj="body" feature='"xhTmL"' version="version"/>
+<assertEquals actual="state" expected="hasXML" id="isSupportedXHTML" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLBodyElement10.xml b/test/testcases/tests/level2/html/HTMLBodyElement10.xml
new file mode 100644
index 0000000..691739e
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLBodyElement10.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xml" 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="HTMLBodyElement10">
+<metadata>
+<title>HTMLBodyElement10</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.isSupported("xhTmL", "2.0") returns true if hasFeature("XML", "2.0") is true.
+</description>
+<date qualifier="created">2002-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-62018039"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="body" type="Element"/>
+<var name="state" type="boolean"/>
+<var name="hasXML" type="boolean"/>
+<var name="version" type="DOMString" value='"2.0"'/>
+<load var="doc" href="document" willBeModified="false"/>
+<body var="body" obj="doc"/>
+<isSupported var="hasXML" obj="body" feature='"XML"' version="version"/>
+<isSupported var="state" obj="body" feature='"xhTmL"' version="version"/>
+<assertEquals actual="state" expected="hasXML" id="isSupportedXHTML" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLBodyElement11.xml b/test/testcases/tests/level2/html/HTMLBodyElement11.xml
new file mode 100644
index 0000000..3c83437
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLBodyElement11.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xml" 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="HTMLBodyElement11">
+<metadata>
+<title>HTMLBodyElement11</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.isSupported("cOrE", null) returns true.
+</description>
+<date qualifier="created">2002-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-62018039"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="body" type="Element"/>
+<var name="state" type="boolean"/>
+<var name="version" type="DOMString" isNull="true"/>
+<load var="doc" href="document" willBeModified="false"/>
+<body var="body" obj="doc"/>
+<isSupported var="state" obj="body" feature='"cOrE"' version="version"/>
+<assertTrue actual="state" id="isSupportedCore"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLBodyElement12.xml b/test/testcases/tests/level2/html/HTMLBodyElement12.xml
new file mode 100644
index 0000000..6255dbb
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLBodyElement12.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xml" 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="HTMLBodyElement12">
+<metadata>
+<title>HTMLBodyElement12</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.isSupported("cOrE", "2.0") returns true.
+</description>
+<date qualifier="created">2002-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-62018039"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="body" type="Element"/>
+<var name="state" type="boolean"/>
+<var name="version" type="DOMString" value='"2.0"'/>
+<load var="doc" href="document" willBeModified="false"/>
+<body var="body" obj="doc"/>
+<isSupported var="state" obj="body" feature='"cOrE"' version="version"/>
+<assertTrue actual="state" id="isSupportedCore"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLDocument22.xml b/test/testcases/tests/level2/html/HTMLDocument22.xml
new file mode 100644
index 0000000..414f065
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLDocument22.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xml" 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="HTMLDocument22">
+<metadata>
+<title>HTMLDocument22</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.isSupported("hTmL", null) returns true.
+</description>
+<date qualifier="created">2002-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="state" type="boolean"/>
+<var name="version" type="DOMString" isNull="true"/>
+<load var="doc" href="document" willBeModified="true"/>
+<isSupported var="state" obj="doc" feature='"hTmL"' version="version"/>
+<assertTrue actual="state" id="isSupportedHTML"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLDocument23.xml b/test/testcases/tests/level2/html/HTMLDocument23.xml
new file mode 100644
index 0000000..7896dbd
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLDocument23.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xml" 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="HTMLDocument23">
+<metadata>
+<title>HTMLDocument23</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.isSupported("hTmL", "2.0") returns true.
+</description>
+<date qualifier="created">2002-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="state" type="boolean"/>
+<var name="version" type="DOMString" value='"2.0"'/>
+<load var="doc" href="document" willBeModified="true"/>
+<isSupported var="state" obj="doc" feature='"hTmL"' version="version"/>
+<assertTrue actual="state" id="isSupportedHTML"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLDocument24.xml b/test/testcases/tests/level2/html/HTMLDocument24.xml
new file mode 100644
index 0000000..186062d
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLDocument24.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xml" 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="HTMLDocument24">
+<metadata>
+<title>HTMLDocument24</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.isSupported("xhTmL", null) returns true if hasFeature("XML", null) is true.
+</description>
+<date qualifier="created">2002-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="state" type="boolean"/>
+<var name="hasXML" type="boolean"/>
+<var name="version" type="DOMString" isNull="true"/>
+<load var="doc" href="document" willBeModified="true"/>
+<isSupported var="hasXML" obj="doc" feature='"XML"' version="version"/>
+<isSupported var="state" obj="doc" feature='"xhTmL"' version="version"/>
+<assertEquals actual="state" expected="hasXML" id="isSupportedXHTML" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLDocument25.xml b/test/testcases/tests/level2/html/HTMLDocument25.xml
new file mode 100644
index 0000000..42a1996
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLDocument25.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xml" 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="HTMLDocument25">
+<metadata>
+<title>HTMLDocument25</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.isSupported("xhTmL", "2.0") returns true if hasFeature("XML", "2.0") is true.
+</description>
+<date qualifier="created">2002-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="state" type="boolean"/>
+<var name="hasXML" type="boolean"/>
+<var name="version" type="DOMString" value='"2.0"'/>
+<load var="doc" href="document" willBeModified="true"/>
+<isSupported var="hasXML" obj="doc" feature='"XML"' version="version"/>
+<isSupported var="state" obj="doc" feature='"xhTmL"' version="version"/>
+<assertEquals actual="state" expected="hasXML" id="isSupportedXHTML" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLDocument26.xml b/test/testcases/tests/level2/html/HTMLDocument26.xml
new file mode 100644
index 0000000..032cead
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLDocument26.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xml" 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="HTMLDocument26">
+<metadata>
+<title>HTMLDocument26</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.isSupported("cOrE", null) returns true.
+</description>
+<date qualifier="created">2002-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="state" type="boolean"/>
+<var name="version" type="DOMString" isNull="true"/>
+<load var="doc" href="document" willBeModified="true"/>
+<isSupported var="state" obj="doc" feature='"cOrE"' version="version"/>
+<assertTrue actual="state" id="isSupportedCore"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLDocument27.xml b/test/testcases/tests/level2/html/HTMLDocument27.xml
new file mode 100644
index 0000000..fa2b184
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLDocument27.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xml" 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="HTMLDocument27">
+<metadata>
+<title>HTMLDocument27</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.isSupported("cOrE", "2.0") returns true.
+</description>
+<date qualifier="created">2002-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="state" type="boolean"/>
+<var name="version" type="DOMString" value='"2.0"'/>
+<load var="doc" href="document" willBeModified="true"/>
+<isSupported var="state" obj="doc" feature='"cOrE"' version="version"/>
+<assertTrue actual="state" id="isSupportedCore"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLFrameElement09.xml b/test/testcases/tests/level2/html/HTMLFrameElement09.xml
new file mode 100644
index 0000000..d6fc5cc
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLFrameElement09.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="HTMLFrameElement09">
+<metadata>
+<title>HTMLFrameElement09</title>
+<creator>NIST</creator>
+<description>
+ The contentDocument attribute specifies the document this frame contains,
+ if there is any and it is available, or null otherwise.
+
+ Retrieve the contentDocument attribute of the first FRAME element
+ and examine its TITLE value.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-07-03</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-78799536"/>
+</metadata>
+<var name="testNode" type="Element"/>
+<var name="cd" type="Document" />
+<var name="vtitle" type="DOMString"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="frame2" willBeModified="false"/>
+<getElementById interface="Document" obj="doc" var="testNode" elementId='"Frame1"'/>
+<contentDocument interface="HTMLFrameElement" obj="testNode" var="cd"/>
+<title interface="HTMLDocument" obj="cd" var="vtitle"/>
+<assertEquals actual="vtitle" expected='"NIST DOM HTML Test - FRAMESET"' id="titleLink" ignoreCase="false" />
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLIFrameElement11.xml b/test/testcases/tests/level2/html/HTMLIFrameElement11.xml
new file mode 100644
index 0000000..c77d2f4
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLIFrameElement11.xml
@@ -0,0 +1,39 @@
+<?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="HTMLIFrameElement11">
+<metadata>
+<title>HTMLIFrameElement11</title>
+<creator>NIST</creator>
+<description>
+ Retrieve the contentDocument attribute of the second IFRAME element
+ and examine its title.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-07-03</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-67133006"/>
+</metadata>
+<var name="testNode" type="Element"/>
+<var name="cd" type="Document" />
+<var name="vtitle" type="DOMString"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="iframe2" willBeModified="false"/>
+<getElementById interface="Document" obj="doc" var="testNode" elementId='"Iframe2"'/>
+<contentDocument interface="HTMLIFrameElement" obj="testNode" var="cd"/>
+<title interface="HTMLDocument" obj="cd" var="vtitle"/>
+<assertEquals actual="vtitle" expected='"NIST DOM HTML Test - FRAME"' id="titleLink" ignoreCase="false" />
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLImageElement05.xml b/test/testcases/tests/level2/html/HTMLImageElement05.xml
new file mode 100644
index 0000000..92e536b
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLImageElement05.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLImageElement05">
+<metadata>
+<title>HTMLImageElement05</title>
+<creator>NIST</creator>
+<description>
+ The height attribute overrides the natural "height" of the image.
+
+ Retrieve the height attribute and examine it's value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-12-26</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-91561496"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="vheight" type="int"/>
+<var name="doc" type="Node"/>
+<load var="doc" href="img" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;img&quot;"/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<height interface="HTMLImageElement" obj="testNode" var="vheight"/>
+<assertEquals actual="vheight" expected="47" id="heightLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLImageElement06.xml b/test/testcases/tests/level2/html/HTMLImageElement06.xml
new file mode 100644
index 0000000..19fb7b0
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLImageElement06.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLImageElement06">
+<metadata>
+<title>HTMLImageElement06</title>
+<creator>NIST</creator>
+<description>
+ The hspace attribute specifies the horizontal space to the left and
+ right of this image.
+
+ Retrieve the hspace attribute and examine it's value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-12-26</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-53675471"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="vhspace" type="int"/>
+<var name="doc" type="Node"/>
+<load var="doc" href="img" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;img&quot;"/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<hspace interface="HTMLImageElement" obj="testNode" var="vhspace"/>
+<assertEquals actual="vhspace" expected="4" id="hspaceLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLImageElement11.xml b/test/testcases/tests/level2/html/HTMLImageElement11.xml
new file mode 100644
index 0000000..10f3608
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLImageElement11.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLImageElement11">
+<metadata>
+<title>HTMLImageElement11</title>
+<creator>NIST</creator>
+<description>
+ The vspace attribute specifies the vertical space above and below this
+ image.
+
+ Retrieve the vspace attribute and examine it's value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-12-26</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-85374897"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="vvspace" type="int"/>
+<var name="doc" type="Node"/>
+<load var="doc" href="img" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;img&quot;"/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<vspace interface="HTMLImageElement" obj="testNode" var="vvspace"/>
+<assertEquals actual="vvspace" expected="10" id="vspaceLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLImageElement12.xml b/test/testcases/tests/level2/html/HTMLImageElement12.xml
new file mode 100644
index 0000000..738f1c3
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLImageElement12.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLImageElement12">
+<metadata>
+<title>HTMLImageElement12</title>
+<creator>NIST</creator>
+<description>
+ The width attribute overrides the natural "width" of the image.
+
+ Retrieve the width attribute and examine it's value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-12-07</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-13839076"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="vwidth" type="int"/>
+<var name="doc" type="Node"/>
+<load var="doc" href="img" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;img&quot;"/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<width interface="HTMLImageElement" obj="testNode" var="vwidth"/>
+<assertEquals actual="vwidth" expected="115" id="widthLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLInputElement13.xml b/test/testcases/tests/level2/html/HTMLInputElement13.xml
new file mode 100644
index 0000000..e243035
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLInputElement13.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLInputElement13">
+<metadata>
+<title>HTMLInputElement13</title>
+<creator>NIST</creator>
+<description>
+ The size attribute contains the size information. Its precise meaning
+ is specific to each type of field.
+
+ Retrieve the size attribute of the 1st INPUT element and examine
+ its value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-12-26</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-79659438"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="vsize" type="int"/>
+<var name="doc" type="Node"/>
+<load var="doc" href="input" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"input"'/>
+<assertSize collection="nodeList" size="9" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<size interface="HTMLInputElement" obj="testNode" var="vsize"/>
+<assertEquals actual="vsize" expected="25" id="size" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLObjectElement11.xml b/test/testcases/tests/level2/html/HTMLObjectElement11.xml
new file mode 100644
index 0000000..b4f172b
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLObjectElement11.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLObjectElement11">
+<metadata>
+<title>HTMLObjectElement11</title>
+<creator>NIST</creator>
+<description>
+ The hspace attribute specifies the horizontal space to the left and right
+ of this image, applet or object.
+
+ Retrieve the hspace attribute of the first OBJECT element and examine
+ it's value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2002-01-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-17085376"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="vhspace" type="int"/>
+<var name="doc" type="Node"/>
+<load var="doc" href="object" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;object&quot;"/>
+<assertSize collection="nodeList" size="2" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<hspace interface="HTMLObjectElement" obj="testNode" var="vhspace"/>
+<assertEquals actual="vhspace" expected="0" id="hspaceLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLObjectElement16.xml b/test/testcases/tests/level2/html/HTMLObjectElement16.xml
new file mode 100644
index 0000000..e849620
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLObjectElement16.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLObjectElement16">
+<metadata>
+<title>HTMLObjectElement16</title>
+<creator>NIST</creator>
+<description>
+ The vspace attribute specifies the vertical space above or below this
+ image, applet or object.
+
+ Retrieve the vspace attribute of the first OBJECT element and examine
+ it's value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2002-01-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-8682483"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="vvspace" type="int"/>
+<var name="doc" type="Node"/>
+<load var="doc" href="object" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;object&quot;"/>
+<assertSize collection="nodeList" size="2" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<vspace interface="HTMLObjectElement" obj="testNode" var="vvspace"/>
+<assertEquals actual="vvspace" expected="0" id="vspaceLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLObjectElement20.xml b/test/testcases/tests/level2/html/HTMLObjectElement20.xml
new file mode 100644
index 0000000..5694760
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLObjectElement20.xml
@@ -0,0 +1,40 @@
+<?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="HTMLObjectElement20">
+<metadata>
+<title>HTMLObjectElement20</title>
+<creator>NIST</creator>
+<description>
+ The contentDocument attribute specifies the document this object contains,
+ if there is any and it is available, or null otherwise.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-07-03</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-38538621"/>
+</metadata>
+<var name="testNode" type="Element"/>
+<var name="cd" type="Document" />
+<var name="vtitle" type="DOMString"/>
+<var name="doc" type="Document"/>
+<var name="nodeList" type="NodeList"/>
+<load var="doc" href="object2" willBeModified="false"/>
+<getElementsByTagName var="nodeList" obj="doc" interface="Document" tagname='"object"'/>
+<item var="testNode" obj="nodeList" index="1" interface="NodeList"/>
+<contentDocument interface="HTMLObjectElement" obj="testNode" var="cd"/>
+<assertNull actual="cd" id="noContentDocument"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLOptionsCollection01.xml b/test/testcases/tests/level2/html/HTMLOptionsCollection01.xml
new file mode 100644
index 0000000..80df1a3
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLOptionsCollection01.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLOptionsCollection01">
+<metadata>
+<title>HTMLOptionsCollection01</title>
+<creator>NIST</creator>
+<description>
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ The length attribute specifies the length or size of the list.
+
+ Retrieve the first SELECT element and create a HTMLOptionsCollection
+ of the OPTION elements. Check the size of the length of OPTION elements.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-08-01</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-length"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="optionsList" type="HTMLOptionsCollection"/>
+<var name="vlength" type="int"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="optionscollection" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"select"'/>
+<assertSize collection="nodeList" size="2" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<options interface="HTMLSelectElement" obj="testNode" var="optionsList"/>
+<length interface="HTMLOptionsCollection" obj="optionsList" var="vlength"/>
+<assertEquals actual="vlength" expected="5" id="lengthLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLOptionsCollection02.xml b/test/testcases/tests/level2/html/HTMLOptionsCollection02.xml
new file mode 100644
index 0000000..44b5431
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLOptionsCollection02.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLOptionsCollection02">
+<metadata>
+<title>HTMLOptionsCollection02</title>
+<creator>NIST</creator>
+<description>
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ An individual node may be accessed by either ordinal index, the node's
+ name or id attributes. (Test ordinal index=3).
+ The item() method retrieves a node specified by ordinal index.
+ Nodes are numbered in tree order. The index origin is 0.
+
+ Retrieve the first SELECT element. Create a HTMLOptionsCollection.
+ Retrieve the fourth item in the list and examine its firstChild's
+ nodeValue.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-08-01</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-item"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="optionsNode" type="Node"/>
+<var name="optionsValueNode" type="Node"/>
+<var name="optionsList" type="HTMLOptionsCollection"/>
+<var name="vvalue" type="DOMString"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="optionscollection" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"select"'/>
+<assertSize collection="nodeList" size="2" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<options interface="HTMLSelectElement" obj="testNode" var="optionsList"/>
+<item interface="HTMLOptionsCollection" obj="optionsList" var="optionsNode" index="3"/>
+<firstChild interface="Node" obj="optionsNode" var="optionsValueNode"/>
+<nodeValue obj="optionsValueNode" var="vvalue"/>
+<assertEquals actual="vvalue" expected='"EMP10004"' id="valueIndexLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLOptionsCollection03.xml b/test/testcases/tests/level2/html/HTMLOptionsCollection03.xml
new file mode 100644
index 0000000..280b2bf
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLOptionsCollection03.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLOptionsCollection03">
+<metadata>
+<title>HTMLOptionsCollection03</title>
+<creator>NIST</creator>
+<description>
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ An individual node may be accessed by either ordinal index, the node's
+ name or id attributes. (Test node name).
+ The namedItem method retrieves a Node using a name. It first searches
+ for a node with a matching id attribute. If it doesn't find one, it
+ then searches for a Node with a matching name attribute, but only
+ those elements that are allowed a name attribute.
+
+ Retrieve the first FORM element. Create a HTMLCollection of the elements.
+ Search for an element that has select1 as the value for the name attribute.
+ Get the nodeName of that element.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-08-01</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-namedItem"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="optionsNode" type="Node"/>
+<var name="formsnodeList" type="HTMLCollection"/>
+<var name="vname" type="DOMString"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="optionscollection" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"form"'/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<elements interface="HTMLFormElement" obj="testNode" var="formsnodeList"/>
+<namedItem interface="HTMLOptionsCollection" obj="formsnodeList" var="optionsNode" name='"select1"'/>
+<nodeName obj="optionsNode" var="vname"/>
+<assertEquals actual="vname" expected='"select"' id="nameIndexLink" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLOptionsCollection04.xml b/test/testcases/tests/level2/html/HTMLOptionsCollection04.xml
new file mode 100644
index 0000000..83e59d3
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLOptionsCollection04.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLOptionsCollection04">
+<metadata>
+<title>HTMLOptionsCollection04</title>
+<creator>NIST</creator>
+<description>
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ An individual node may be accessed by either ordinal index, the node's
+ name or id attributes. (Test node name).
+ The namedItem method retrieves a Node using a name. It first searches
+ for a node with a matching id attribute. If it doesn't find one, it
+ then searches for a Node with a matching name attribute, but only
+ those elements that are allowed a name attribute.
+
+ Retrieve the first FORM element. Create a HTMLCollection of the elements.
+ Search for an element that has selectId as the value for the id attribute.
+ Get the nodeName of that element.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-08-01</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-namedItem"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="optionsNode" type="Node"/>
+<var name="formsnodeList" type="HTMLCollection"/>
+<var name="vname" type="DOMString"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="optionscollection" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"form"'/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<elements interface="HTMLFormElement" obj="testNode" var="formsnodeList"/>
+<namedItem interface="HTMLOptionsCollection" obj="formsnodeList" var="optionsNode" name='"selectId"'/>
+<nodeName obj="optionsNode" var="vname"/>
+<assertEquals actual="vname" expected='"select"' id="nameIndexLink" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLOptionsCollection05.xml b/test/testcases/tests/level2/html/HTMLOptionsCollection05.xml
new file mode 100644
index 0000000..d2f44d7
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLOptionsCollection05.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLOptionsCollection05">
+<metadata>
+<title>HTMLOptionsCollection05</title>
+<creator>NIST</creator>
+<description>
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ An individual node may be accessed by either ordinal index, the node's
+ name or id attributes. (Test node name).
+ The namedItem method retrieves a Node using a name. It first searches
+ for a node with a matching id attribute. If it doesn't find one, it
+ then searches for a Node with a matching name attribute, but only
+ those elements that are allowed a name attribute. Upon failure(e.q., no
+ node with this name exists), returns null.
+
+ Retrieve the first FORM element. Create a HTMLCollection of the elements.
+ Search for an element that has select9 as the value for the name attribute.
+ Null should be returned since there is not any name or id attribute with
+ select9 as a value.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-08-01</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-namedItem"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="optionsNode" type="Node"/>
+<var name="formsnodeList" type="HTMLCollection"/>
+<var name="vname" type="DOMString"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="optionscollection" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"form"'/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<elements interface="HTMLFormElement" obj="testNode" var="formsnodeList"/>
+<namedItem interface="HTMLOptionsCollection" obj="formsnodeList" var="optionsNode" name='"select9"'/>
+<assertNull actual="optionsNode" id="nameIndexLink"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLOptionsCollection06.xml b/test/testcases/tests/level2/html/HTMLOptionsCollection06.xml
new file mode 100644
index 0000000..fbde429
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLOptionsCollection06.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLOptionsCollection06">
+<metadata>
+<title>HTMLOptionsCollection06</title>
+<creator>NIST</creator>
+<description>
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ An individual node may be accessed by either ordinal index, the node's
+ name or id attributes. (Test ordinal index).
+ The item() method retrieves a node specified by ordinal index.
+ A value of null is returned if the index is out of range.
+
+ Retrieve the first SELECT element. Create a HTMLOptionsCollection.
+ Retrieve the tenth item in the list - null should be returned since
+ there are not 10 items in the list.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-08-01</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-item"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="optionsNode" type="Node"/>
+<var name="optionsValueNode" type="Node"/>
+<var name="optionsList" type="HTMLOptionsCollection"/>
+<var name="vvalue" type="DOMString"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="optionscollection" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"select"'/>
+<assertSize collection="nodeList" size="2" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<options interface="HTMLSelectElement" obj="testNode" var="optionsList"/>
+<item interface="HTMLOptionsCollection" obj="optionsList" var="optionsNode" index="10"/>
+<assertNull actual="optionsNode" id="optionsIndexLink"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLOptionsCollection07.xml b/test/testcases/tests/level2/html/HTMLOptionsCollection07.xml
new file mode 100644
index 0000000..a2731e5
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLOptionsCollection07.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLOptionsCollection07">
+<metadata>
+<title>HTMLOptionsCollection07</title>
+<creator>NIST</creator>
+<description>
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ An individual node may be accessed by either ordinal index, the node's
+ name or id attributes. (Test ordinal index=0).
+ The item() method retrieves a node specified by ordinal index. Nodes
+ are numbered in tree order. The index origin is 0.
+
+ Retrieve the first SELECT element. Create a HTMLOptionsCollection.
+ Retrieve the first item in the list and examine its firstChild's
+ nodeValue.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-08-01</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-item"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="optionsNode" type="Node"/>
+<var name="optionsValueNode" type="Node"/>
+<var name="optionsList" type="HTMLOptionsCollection"/>
+<var name="vvalue" type="DOMString"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="optionscollection" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"select"'/>
+<assertSize collection="nodeList" size="2" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<options interface="HTMLSelectElement" obj="testNode" var="optionsList"/>
+<item interface="HTMLOptionsCollection" obj="optionsList" var="optionsNode" index="0"/>
+<firstChild interface="Node" obj="optionsNode" var="optionsValueNode"/>
+<nodeValue obj="optionsValueNode" var="vvalue"/>
+<assertEquals actual="vvalue" expected='"EMP10001"' id="valueIndexLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLSelectElement20.xml b/test/testcases/tests/level2/html/HTMLSelectElement20.xml
new file mode 100644
index 0000000..ddbe2f7
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLSelectElement20.xml
@@ -0,0 +1,56 @@
+<?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="HTMLSelectElement20">
+<metadata>
+<title>HTMLSelectElement20</title>
+<creator>Curt Arnold</creator>
+<description>
+Attempting to add an new option using HTMLSelectElement.add before a node that is not a child of the select
+element should raise a NOT_FOUND_ERR.
+</description>
+<date qualifier="created">2004-03-18</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-14493106"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="doc" type="Document"/>
+<var name="optLength" type="int"/>
+<var name="selected" type="int"/>
+<var name="newOpt" type="Element"/>
+<var name="newOptText" type="Text"/>
+<var name="retNode" type="Node"/>
+<var name="options" type="HTMLCollection"/>
+<var name="otherSelect" type="Element"/>
+<var name="selectedNode" type="Node"/>
+<load var="doc" href="select" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"select"'/>
+<assertSize collection="nodeList" size="3" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<item interface="NodeList" obj="nodeList" var="otherSelect" index="1"/>
+<createElement var="newOpt" obj="doc" tagName='"option"'/>
+<createTextNode var="newOptText" obj="doc" data='"EMP31415"'/>
+<appendChild var="retNode" obj="newOpt" newChild="newOptText"/>
+<options var="options" obj="otherSelect"/>
+<item var="selectedNode" obj="options" index="0" interface="HTMLCollection"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+ <NOT_FOUND_ERR>
+ <add interface="HTMLSelectElement" obj="testNode" element="newOpt" before="selectedNode"/>
+ </NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableElement34.xml b/test/testcases/tests/level2/html/HTMLTableElement34.xml
new file mode 100644
index 0000000..d774498
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableElement34.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableElement34">
+<metadata>
+<title>HTMLTableElement34</title>
+<creator>NIST</creator>
+<description>
+ The insertRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is greater than the number of rows.
+
+ Retrieve the second TABLE element which has four rows. Try
+ to insert a new row using an index of five. This should throw
+ a INDEX_SIZE_ERR DOMException since there are only four rows.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-39872903"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-39872903')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="newRow" type="HTMLElement"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="table" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"table"'/>
+<assertSize collection="nodeList" size="3" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="1"/>
+<assertDOMException id="HTMLTableElement34">
+<INDEX_SIZE_ERR>
+<insertRow interface="HTMLTableElement" obj="testNode" var="newRow" index="5"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableElement35.xml b/test/testcases/tests/level2/html/HTMLTableElement35.xml
new file mode 100644
index 0000000..6410e89
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableElement35.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableElement35">
+<metadata>
+<title>HTMLTableElement35</title>
+<creator>NIST</creator>
+<description>
+ The insertRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is negative.
+
+ Retrieve the second TABLE element which has four rows. Try
+ to insert a new row using an index of negative five. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is negative.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-39872903"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-39872903')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="newRow" type="HTMLElement"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="table" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"table"'/>
+<assertSize collection="nodeList" size="3" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="1"/>
+<assertDOMException id="HTMLTableElement35">
+<INDEX_SIZE_ERR>
+<insertRow interface="HTMLTableElement" obj="testNode" var="newRow" index="-5"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableElement36.xml b/test/testcases/tests/level2/html/HTMLTableElement36.xml
new file mode 100644
index 0000000..7a514e5
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableElement36.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableElement36">
+<metadata>
+<title>HTMLTableElement36</title>
+<creator>NIST</creator>
+<description>
+ The deleteRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is greater than the number of rows.
+
+ Retrieve the second TABLE element which has four rows. Try
+ to delete a new row using an index of five. This should throw
+ a INDEX_SIZE_ERR DOMException since there are only four rows.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-13114938"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-13114938')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="table" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"table"'/>
+<assertSize collection="nodeList" size="3" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="1"/>
+<assertDOMException id="HTMLTableElement36">
+<INDEX_SIZE_ERR>
+<deleteRow interface="HTMLTableElement" obj="testNode" index="5"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableElement37.xml b/test/testcases/tests/level2/html/HTMLTableElement37.xml
new file mode 100644
index 0000000..097deb1
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableElement37.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableElement37">
+<metadata>
+<title>HTMLTableElement37</title>
+<creator>NIST</creator>
+<description>
+ The deleteRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is equal the number of rows.
+
+ Retrieve the second TABLE element which has four rows. Try
+ to delete a new row using an index of four. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is equal to the
+ number of rows.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-13114938"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-13114938')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="table" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"table"'/>
+<assertSize collection="nodeList" size="3" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="1"/>
+<assertDOMException id="HTMLTableElement37">
+<INDEX_SIZE_ERR>
+<deleteRow interface="HTMLTableElement" obj="testNode" index="4"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableElement38.xml b/test/testcases/tests/level2/html/HTMLTableElement38.xml
new file mode 100644
index 0000000..0f5bccd
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableElement38.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableElement38">
+<metadata>
+<title>HTMLTableElement38</title>
+<creator>NIST</creator>
+<description>
+ The deleteRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is negative.
+
+ Retrieve the second TABLE element which has four rows. Try
+ to delete a new row using an index of negative five. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is negative.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-13114938"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-13114938')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="table" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"table"'/>
+<assertSize collection="nodeList" size="3" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="1"/>
+<assertDOMException id="HTMLTableElement38">
+<INDEX_SIZE_ERR>
+<deleteRow interface="HTMLTableElement" obj="testNode" index="-5"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableElement39.xml b/test/testcases/tests/level2/html/HTMLTableElement39.xml
new file mode 100644
index 0000000..6631584
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableElement39.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableElement39">
+<metadata>
+<title>HTMLTableElement39</title>
+<creator>NIST</creator>
+<description>
+ The insertRow() method inserts a new empty table row.
+ If index is -1 or equal to the number of rows, the new row
+ is appended.
+
+ Retrieve the second TABLE element and invoke the insertRow() method
+ with an index of negative one.
+ The number of rows in the TBODY section before insertion with an index
+ of negative one is two. After the new row is inserted the number
+ of rows in the TBODY section is three.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-11-07</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-39872903"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="tbodiesnodeList" type="HTMLCollection"/>
+<var name="testNode" type="Node"/>
+<var name="bodyNode" type="Node"/>
+<var name="newRow" type="HTMLElement"/>
+<var name="rowsnodeList" type="HTMLCollection"/>
+<var name="vsection1" type="HTMLTableSectionElement"/>
+<var name="vsection2" type="HTMLTableSectionElement"/>
+<var name="vrows" type="int"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="table" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;table&quot;"/>
+<assertSize collection="nodeList" size="3" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="1"/>
+<tBodies interface="HTMLTableElement" obj="testNode" var="tbodiesnodeList"/>
+<item interface="HTMLCollection" obj="tbodiesnodeList" var="bodyNode" index="0"/>
+<rows interface="HTMLTableSectionElement" obj="bodyNode" var="rowsnodeList"/>
+<length interface="HTMLCollection" obj="rowsnodeList" var="vrows"/>
+<assertEquals actual="vrows" expected="2" id="rowsLink1" ignoreCase="false"/>
+<insertRow interface="HTMLTableElement" obj="testNode" var="newRow" index="-1"/>
+<tBodies interface="HTMLTableElement" obj="testNode" var="tbodiesnodeList"/>
+<item interface="HTMLCollection" obj="tbodiesnodeList" var="bodyNode" index="0"/>
+<rows interface="HTMLTableSectionElement" obj="bodyNode" var="rowsnodeList"/>
+<length interface="HTMLCollection" obj="rowsnodeList" var="vrows"/>
+<assertEquals actual="vrows" expected="3" id="rowsLink2" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableElement40.xml b/test/testcases/tests/level2/html/HTMLTableElement40.xml
new file mode 100644
index 0000000..154b348
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableElement40.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableElement40">
+<metadata>
+<title>HTMLTableElement40</title>
+<creator>NIST</creator>
+<description>
+ The deleteRow() method deletes a table row. If the index is -1
+ the last row of the table is deleted.
+
+ Retrieve the second TABLE element and invoke the deleteRow() method
+ with an index of negative one. Currently there are four rows in the
+ table. The deleteRow() method is called and now there should be three.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-11-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-13114938"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="rowsnodeList" type="HTMLCollection"/>
+<var name="vrows" type="int"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="table" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;table&quot;"/>
+<assertSize collection="nodeList" size="3" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="1"/>
+<rows interface="HTMLTableSectionElement" obj="testNode" var="rowsnodeList"/>
+<length interface="HTMLCollection" obj="rowsnodeList" var="vrows"/>
+<assertEquals actual="vrows" expected="4" id="rowsLink1" ignoreCase="false"/>
+<deleteRow interface="HTMLTableElement" obj="testNode" index="-1"/>
+<rows interface="HTMLTableSectionElement" obj="testNode" var="rowsnodeList"/>
+<length interface="HTMLCollection" obj="rowsnodeList" var="vrows"/>
+<assertEquals actual="vrows" expected="3" id="rowsLink2" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement15.xml b/test/testcases/tests/level2/html/HTMLTableRowElement15.xml
new file mode 100644
index 0000000..9e89674
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableRowElement15.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableRowElement15">
+<metadata>
+<title>HTMLTableRowElement15</title>
+<creator>NIST</creator>
+<description>
+ The insertCell() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is greater than the number of cells.
+
+ Retrieve the fourth TR element which has six cells. Try
+ to insert a cell using an index of seven. This should throw
+ a INDEX_SIZE_ERR DOMException since there are only six cells.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-68927016"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-68927016')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="newCell" type="HTMLElement"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablerow" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"tr"'/>
+<assertSize collection="nodeList" size="5" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="3"/>
+<assertDOMException id="HTMLTableRowElement15">
+<INDEX_SIZE_ERR>
+<insertCell interface="HTMLTableRowElement" obj="testNode" var="newCell" index="7"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement16.xml b/test/testcases/tests/level2/html/HTMLTableRowElement16.xml
new file mode 100644
index 0000000..8471a2b
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableRowElement16.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableRowElement16">
+<metadata>
+<title>HTMLTableRowElement16</title>
+<creator>NIST</creator>
+<description>
+ The insertCell() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is negative.
+
+ Retrieve the fourth TR element which has six cells. Try
+ to insert a cell using an index of negative seven. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is negative.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-68927016"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-68927016')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="newCell" type="HTMLElement"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablerow" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"tr"'/>
+<assertSize collection="nodeList" size="5" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="3"/>
+<assertDOMException id="HTMLTableRowElement16">
+<INDEX_SIZE_ERR>
+<insertCell interface="HTMLTableRowElement" obj="testNode" var="newCell" index="-7"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement17.xml b/test/testcases/tests/level2/html/HTMLTableRowElement17.xml
new file mode 100644
index 0000000..b469470
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableRowElement17.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableRowElement17">
+<metadata>
+<title>HTMLTableRowElement17</title>
+<creator>NIST</creator>
+<description>
+ The deleteCell() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is greater than the number of cells.
+
+ Retrieve the fourth TR element which has six cells. Try
+ to delete a cell using an index of seven. This should throw
+ a INDEX_SIZE_ERR DOMException since there are only six cells.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-11738598"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-11738598')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablerow" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"tr"'/>
+<assertSize collection="nodeList" size="5" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="3"/>
+<assertDOMException id="HTMLTableRowElement17">
+<INDEX_SIZE_ERR>
+<deleteCell interface="HTMLTableRowElement" obj="testNode" index="7"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement18.xml b/test/testcases/tests/level2/html/HTMLTableRowElement18.xml
new file mode 100644
index 0000000..f296086
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableRowElement18.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableRowElement18">
+<metadata>
+<title>HTMLTableRowElement18</title>
+<creator>NIST</creator>
+<description>
+ The deleteCell() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is equal to the number of cells.
+
+ Retrieve the fourth TR element which has six cells. Try
+ to delete a cell using an index of six. This should throw
+ a INDEX_SIZE_ERR DOMException since there are only six cells.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-11738598"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-11738598')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablerow" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"tr"'/>
+<assertSize collection="nodeList" size="5" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="3"/>
+<assertDOMException id="HTMLTableRowElement18">
+<INDEX_SIZE_ERR>
+<deleteCell interface="HTMLTableRowElement" obj="testNode" index="6"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement19.xml b/test/testcases/tests/level2/html/HTMLTableRowElement19.xml
new file mode 100644
index 0000000..9a111f3
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableRowElement19.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableRowElement19">
+<metadata>
+<title>HTMLTableRowElement19</title>
+<creator>NIST</creator>
+<description>
+ The deleteCell() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is negative.
+
+ Retrieve the fourth TR element which has six cells. Try
+ to delete a cell using an index of negative six. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is negative.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-11738598"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-11738598')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablerow" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"tr"'/>
+<assertSize collection="nodeList" size="5" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="3"/>
+<assertDOMException id="HTMLTableRowElement19">
+<INDEX_SIZE_ERR>
+<deleteCell interface="HTMLTableRowElement" obj="testNode" index="-6"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement20.xml b/test/testcases/tests/level2/html/HTMLTableRowElement20.xml
new file mode 100644
index 0000000..a879e13
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableRowElement20.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableRowElement20">
+<metadata>
+<title>HTMLTableRowElement20</title>
+<creator>NIST</creator>
+<description>
+ The insertCell() method inserts an empty TD cell into this row.
+ If index is -1 or equal to the number of cells, the new cell is
+ appended.
+
+
+ Retrieve the fourth TR element and examine the value of
+ the cells length attribute which should be set to six.
+ Check the value of the last TD element. Invoke the
+ insertCell() with an index of negative one
+ which will append the empty cell to the end of the list.
+ Check the value of the newly created cell and make sure it is null
+ and also the numbers of cells should now be seven.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-11-07</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-68927016"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="cellsnodeList" type="HTMLCollection"/>
+<var name="testNode" type="Node"/>
+<var name="trNode" type="Node"/>
+<var name="cellNode" type="Node"/>
+<var name="value" type="DOMString"/>
+<var name="newCell" type="HTMLElement"/>
+<var name="vcells" type="int"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablerow" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;tr&quot;"/>
+<assertSize collection="nodeList" size="5" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="3"/>
+<cells interface="HTMLTableRowElement" obj="testNode" var="cellsnodeList"/>
+<length interface="HTMLCollection" obj="cellsnodeList" var="vcells"/>
+<assertEquals actual="vcells" expected="6" id="cellsLink1" ignoreCase="false"/>
+<item interface="HTMLCollection" obj="cellsnodeList" var="trNode" index="5"/>
+<firstChild interface="Node" obj="trNode" var="cellNode"/>
+<nodeValue obj="cellNode" var="value"/>
+<assertEquals actual="value" expected="&quot;1230 North Ave. Dallas, Texas 98551&quot;" id="value1Link" ignoreCase="false"/>
+<insertCell interface="HTMLTableRowElement" obj="testNode" var="newCell" index="-1"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="3"/>
+<cells interface="HTMLTableRowElement" obj="testNode" var="cellsnodeList"/>
+<length interface="HTMLCollection" obj="cellsnodeList" var="vcells"/>
+<assertEquals actual="vcells" expected="7" id="cellsLink2" ignoreCase="false"/>
+<item interface="HTMLCollection" obj="cellsnodeList" var="trNode" index="6"/>
+<firstChild interface="Node" obj="trNode" var="cellNode"/>
+<assertNull actual="cellNode" id="value2Link"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement21.xml b/test/testcases/tests/level2/html/HTMLTableRowElement21.xml
new file mode 100644
index 0000000..9d5a598
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableRowElement21.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableRowElement21">
+<metadata>
+<title>HTMLTableRowElement21</title>
+<creator>NIST</creator>
+<description>
+ The deleteCell() method deletes a cell from the currtent row. If
+ the index is -1 the last cell in the row is deleted.
+
+
+ Retrieve the fourth TR element and examine the value of
+ the cells length attribute which should be set to six.
+ Check the value of the last TD element. Invoke the
+ deleteCell() with an index of negative one
+ which will delete the last cell in the row.
+ Check the value of the of the last cell
+ and also the numbers of cells should now be five.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-11-07</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-11738598"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="cellsnodeList" type="HTMLCollection"/>
+<var name="testNode" type="Node"/>
+<var name="trNode" type="Node"/>
+<var name="cellNode" type="Node"/>
+<var name="value" type="DOMString"/>
+<var name="vcells" type="int"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablerow" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;tr&quot;"/>
+<assertSize collection="nodeList" size="5" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="3"/>
+<cells interface="HTMLTableRowElement" obj="testNode" var="cellsnodeList"/>
+<length interface="HTMLCollection" obj="cellsnodeList" var="vcells"/>
+<assertEquals actual="vcells" expected="6" id="cellsLink1" ignoreCase="false"/>
+<item interface="HTMLCollection" obj="cellsnodeList" var="trNode" index="5"/>
+<firstChild interface="Node" obj="trNode" var="cellNode"/>
+<nodeValue obj="cellNode" var="value"/>
+<assertEquals actual="value" expected="&quot;1230 North Ave. Dallas, Texas 98551&quot;" id="value1Link" ignoreCase="false"/>
+<deleteCell interface="HTMLTableRowElement" obj="testNode" index="-1"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="3"/>
+<cells interface="HTMLTableRowElement" obj="testNode" var="cellsnodeList"/>
+<length interface="HTMLCollection" obj="cellsnodeList" var="vcells"/>
+<assertEquals actual="vcells" expected="5" id="cellsLink2" ignoreCase="false"/>
+<item interface="HTMLCollection" obj="cellsnodeList" var="trNode" index="4"/>
+<firstChild interface="Node" obj="trNode" var="cellNode"/>
+<nodeValue obj="cellNode" var="value"/>
+<assertEquals actual="value" expected='"Female"' id="value2Link" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement25.xml b/test/testcases/tests/level2/html/HTMLTableSectionElement25.xml
new file mode 100644
index 0000000..8fbd1c2
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableSectionElement25.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableSectionElement25">
+<metadata>
+<title>HTMLTableSectionElement25</title>
+<creator>NIST</creator>
+<description>
+ The insertRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is greater than the number of rows.
+
+ Retrieve the first THEAD element which has one row. Try
+ to insert a new row using an index of two. This should throw
+ a INDEX_SIZE_ERR DOMException since there is only one row.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-93995626"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-93995626')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="newRow" type="HTMLElement"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablesection" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"thead"'/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<assertDOMException id="HTMLTableSectionElement25">
+<INDEX_SIZE_ERR>
+<insertRow interface="HTMLTableSectionElement" obj="testNode" var="newRow" index="2"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement26.xml b/test/testcases/tests/level2/html/HTMLTableSectionElement26.xml
new file mode 100644
index 0000000..206d91f
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableSectionElement26.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableSectionElement26">
+<metadata>
+<title>HTMLTableSectionElement26</title>
+<creator>NIST</creator>
+<description>
+ The insertRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is negative.
+
+ Retrieve the first THEAD element which has one row. Try
+ to insert a new row using an index of negative two. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is negative.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-93995626"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-93995626')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="newRow" type="HTMLElement"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablesection" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"thead"'/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<assertDOMException id="HTMLTableSectionElement26">
+<INDEX_SIZE_ERR>
+<insertRow interface="HTMLTableSectionElement" obj="testNode" var="newRow" index="-2"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement27.xml b/test/testcases/tests/level2/html/HTMLTableSectionElement27.xml
new file mode 100644
index 0000000..3ab35a5
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableSectionElement27.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableSectionElement27">
+<metadata>
+<title>HTMLTableSectionElement27</title>
+<creator>NIST</creator>
+<description>
+ The deleteRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is greater than the number of rows.
+
+ Retrieve the first THEAD element which has one row. Try
+ to delete a row using an index of two. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is greater than the
+ number of rows.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-5625626"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-5625626')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablesection" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"thead"'/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<assertDOMException id="HTMLTableSectionElement27">
+<INDEX_SIZE_ERR>
+<deleteRow interface="HTMLTableSectionElement" obj="testNode" index="2"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement28.xml b/test/testcases/tests/level2/html/HTMLTableSectionElement28.xml
new file mode 100644
index 0000000..5578ba5
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableSectionElement28.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableSectionElement28">
+<metadata>
+<title>HTMLTableSectionElement28</title>
+<creator>NIST</creator>
+<description>
+ The deleteRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is equal to the number of rows.
+
+ Retrieve the first THEAD element which has one row. Try
+ to delete a row using an index of 1. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is equal to the
+ number of rows.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-5625626"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-5625626')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablesection" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"thead"'/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<assertDOMException id="HTMLTableSectionElement28">
+<INDEX_SIZE_ERR>
+<deleteRow interface="HTMLTableSectionElement" obj="testNode" index="1"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement29.xml b/test/testcases/tests/level2/html/HTMLTableSectionElement29.xml
new file mode 100644
index 0000000..0ddd852
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableSectionElement29.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableSectionElement29">
+<metadata>
+<title>HTMLTableSectionElement29</title>
+<creator>NIST</creator>
+<description>
+ The deleteRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is negative.
+
+ Retrieve the first THEAD element which has one row. Try
+ to delete a row using an index of negative two. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is negative.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-05-02</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-5625626"/>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-5625626')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablesection" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"thead"'/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<assertDOMException id="HTMLTableSectionElement29">
+<INDEX_SIZE_ERR>
+<deleteRow interface="HTMLTableSectionElement" obj="testNode" index="-2"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement30.xml b/test/testcases/tests/level2/html/HTMLTableSectionElement30.xml
new file mode 100644
index 0000000..8fd17c2
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableSectionElement30.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableSectionElement30">
+<metadata>
+<title>HTMLTableSectionElement30</title>
+<creator>NIST</creator>
+<description>
+ The insertRow() method inserts a new empty table row. The new
+ row is inserted immediately before the current indexth row in this
+ section. If index is -1 or equal to the number of rows in this section,
+ the new row is appended.
+
+ Retrieve the first THEAD element and invoke the insertRow() method
+ with an index of negative one. Since the index is negative one the
+ new row is appended.
+ After the new row is appended the number of rows in the THEAD
+ section is two.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-11-07</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-93995626"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="newRow" type="HTMLElement"/>
+<var name="rowsnodeList" type="HTMLCollection"/>
+<var name="vrows" type="int"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablesection" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;thead&quot;"/>
+<assertSize collection="nodeList" size="1" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<rows interface="HTMLTableSectionElement" obj="testNode" var="rowsnodeList"/>
+<length interface="HTMLCollection" obj="rowsnodeList" var="vrows"/>
+<assertEquals actual="vrows" expected="1" id="rowsLink1" ignoreCase="false"/>
+<insertRow interface="HTMLTableSectionElement" obj="testNode" var="newRow" index="-1"/>
+<rows interface="HTMLTableSectionElement" obj="testNode" var="rowsnodeList"/>
+<length interface="HTMLCollection" obj="rowsnodeList" var="vrows"/>
+<assertEquals actual="vrows" expected="2" id="rowsLink2" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement31.xml b/test/testcases/tests/level2/html/HTMLTableSectionElement31.xml
new file mode 100644
index 0000000..55464e2
--- /dev/null
+++ b/test/testcases/tests/level2/html/HTMLTableSectionElement31.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="HTMLTableSectionElement31">
+<metadata>
+<title>HTMLTableSectionElement31</title>
+<creator>NIST</creator>
+<description>
+ The deleteRow() method deletes a row from this section. The index
+ starts from 0 and is relative only to the rows contained inside
+ this section, not all the rows in the table. If the index is -1
+ the last row will be deleted.
+
+ Retrieve the second TBODY element and invoke the deleteRow() method
+ with an index of -1. The nuber of rows in the THEAD section before
+ the deletion of the row is two. After the row is deleted the number
+ of rows in the TBODY section is one.
+</description>
+<contributor>Rick Rivello</contributor>
+<date qualifier="created">2002-11-07</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-5625626"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="rowsnodeList" type="HTMLCollection"/>
+<var name="vrows" type="int"/>
+<var name="doc" type="Document"/>
+<load var="doc" href="tablesection" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname="&quot;tbody&quot;"/>
+<assertSize collection="nodeList" size="2" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="1"/>
+<rows interface="HTMLTableSectionElement" obj="testNode" var="rowsnodeList"/>
+<length interface="HTMLCollection" obj="rowsnodeList" var="vrows"/>
+<assertEquals actual="vrows" expected="2" id="rowsLink1" ignoreCase="false"/>
+<deleteRow interface="HTMLTableSectionElement" obj="testNode" index="-1"/>
+<rows interface="HTMLTableSectionElement" obj="testNode" var="rowsnodeList"/>
+<length interface="HTMLCollection" obj="rowsnodeList" var="vrows"/>
+<assertEquals actual="vrows" expected="1" id="rowsLink2" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/alltests.xml b/test/testcases/tests/level2/html/alltests.xml
new file mode 100644
index 0000000..db40cd4
--- /dev/null
+++ b/test/testcases/tests/level2/html/alltests.xml
@@ -0,0 +1,707 @@
+<?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 suite SYSTEM "dom2.dtd">
+
+<suite xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2" name="alltests">
+<metadata>
+<title>DOM Level 2 HTML Test Suite</title>
+<creator>DOM Test Suite Project</creator>
+</metadata>
+<suite.member href="../../level1/html/HTMLAnchorElement01.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement02.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement03.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement04.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement05.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement06.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement07.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement08.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement09.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement10.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement11.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement12.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement13.xml"/>
+<suite.member href="../../level1/html/HTMLAnchorElement14.xml"/>
+<suite.member href="../../level1/html/HTMLAppletElement01.xml"/>
+<suite.member href="../../level1/html/HTMLAppletElement02.xml"/>
+<suite.member href="../../level1/html/HTMLAppletElement03.xml"/>
+<suite.member href="../../level1/html/HTMLAppletElement04.xml"/>
+<suite.member href="../../level1/html/HTMLAppletElement05.xml"/>
+<suite.member href="../../level1/html/HTMLAppletElement06.xml"/>
+<suite.member href="HTMLAppletElement07.xml"/>
+<suite.member href="../../level1/html/HTMLAppletElement08.xml"/>
+<suite.member href="HTMLAppletElement09.xml"/>
+<suite.member href="../../level1/html/HTMLAppletElement10.xml"/>
+<suite.member href="../../level1/html/HTMLAppletElement11.xml"/>
+<suite.member href="../../level1/html/HTMLAreaElement01.xml"/>
+<suite.member href="../../level1/html/HTMLAreaElement02.xml"/>
+<suite.member href="../../level1/html/HTMLAreaElement03.xml"/>
+<suite.member href="../../level1/html/HTMLAreaElement04.xml"/>
+<suite.member href="../../level1/html/HTMLAreaElement05.xml"/>
+<suite.member href="../../level1/html/HTMLAreaElement06.xml"/>
+<suite.member href="../../level1/html/HTMLAreaElement07.xml"/>
+<suite.member href="../../level1/html/HTMLAreaElement08.xml"/>
+<suite.member href="../../level1/html/HTMLBRElement01.xml"/>
+<suite.member href="../../level1/html/HTMLBaseElement01.xml"/>
+<suite.member href="../../level1/html/HTMLBaseElement02.xml"/>
+<suite.member href="../../level1/html/HTMLBaseFontElement01.xml"/>
+<suite.member href="../../level1/html/HTMLBaseFontElement02.xml"/>
+<suite.member href="HTMLBaseFontElement03.xml"/>
+<suite.member href="../../level1/html/HTMLBodyElement01.xml"/>
+<suite.member href="../../level1/html/HTMLBodyElement02.xml"/>
+<suite.member href="../../level1/html/HTMLBodyElement03.xml"/>
+<suite.member href="../../level1/html/HTMLBodyElement04.xml"/>
+<suite.member href="../../level1/html/HTMLBodyElement05.xml"/>
+<suite.member href="../../level1/html/HTMLBodyElement06.xml"/>
+<suite.member href="HTMLBodyElement07.xml"/>
+<suite.member href="HTMLBodyElement08.xml"/>
+<suite.member href="HTMLBodyElement09.xml"/>
+<suite.member href="HTMLBodyElement10.xml"/>
+<suite.member href="HTMLBodyElement11.xml"/>
+<suite.member href="HTMLBodyElement12.xml"/>
+<suite.member href="../../level1/html/HTMLButtonElement01.xml"/>
+<suite.member href="../../level1/html/HTMLButtonElement02.xml"/>
+<suite.member href="../../level1/html/HTMLButtonElement03.xml"/>
+<suite.member href="../../level1/html/HTMLButtonElement04.xml"/>
+<suite.member href="../../level1/html/HTMLButtonElement05.xml"/>
+<suite.member href="../../level1/html/HTMLButtonElement06.xml"/>
+<suite.member href="../../level1/html/HTMLButtonElement07.xml"/>
+<suite.member href="../../level1/html/HTMLButtonElement08.xml"/>
+<suite.member href="../../level1/html/HTMLCollection01.xml"/>
+<suite.member href="../../level1/html/HTMLCollection02.xml"/>
+<suite.member href="../../level1/html/HTMLCollection03.xml"/>
+<suite.member href="../../level1/html/HTMLCollection04.xml"/>
+<suite.member href="../../level1/html/HTMLCollection05.xml"/>
+<suite.member href="../../level1/html/HTMLCollection06.xml"/>
+<suite.member href="../../level1/html/HTMLCollection07.xml"/>
+<suite.member href="../../level1/html/HTMLCollection08.xml"/>
+<suite.member href="../../level1/html/HTMLCollection09.xml"/>
+<suite.member href="../../level1/html/HTMLCollection10.xml"/>
+<suite.member href="../../level1/html/HTMLCollection11.xml"/>
+<suite.member href="../../level1/html/HTMLCollection12.xml"/>
+<suite.member href="../../level1/html/HTMLDirectoryElement01.xml"/>
+<suite.member href="../../level1/html/HTMLDivElement01.xml"/>
+<suite.member href="../../level1/html/HTMLDlistElement01.xml"/>
+<suite.member href="../../level1/html/HTMLDocument01.xml"/>
+<suite.member href="../../level1/html/HTMLDocument02.xml"/>
+<suite.member href="../../level1/html/HTMLDocument03.xml"/>
+<suite.member href="../../level1/html/HTMLDocument04.xml"/>
+<suite.member href="../../level1/html/HTMLDocument05.xml"/>
+<suite.member href="../../level1/html/HTMLDocument07.xml"/>
+<suite.member href="../../level1/html/HTMLDocument08.xml"/>
+<suite.member href="../../level1/html/HTMLDocument09.xml"/>
+<suite.member href="../../level1/html/HTMLDocument10.xml"/>
+<suite.member href="../../level1/html/HTMLDocument11.xml"/>
+<suite.member href="../../level1/html/HTMLDocument12.xml"/>
+<suite.member href="../../level1/html/HTMLDocument13.xml"/>
+<suite.member href="../../level1/html/HTMLDocument14.xml"/>
+<suite.member href="../../level1/html/HTMLDocument15.xml"/>
+<suite.member href="../../level1/html/HTMLDocument16.xml"/>
+ <suite.member href="../../level1/html/HTMLDocument17.xml"/>
+ <suite.member href="../../level1/html/HTMLDocument18.xml"/>
+ <suite.member href="../../level1/html/HTMLDocument19.xml"/>
+ <suite.member href="../../level1/html/HTMLDocument20.xml"/>
+ <suite.member href="../../level1/html/HTMLDocument21.xml"/>
+ <suite.member href="HTMLDocument22.xml"/>
+ <suite.member href="HTMLDocument23.xml"/>
+ <suite.member href="HTMLDocument24.xml"/>
+ <suite.member href="HTMLDocument25.xml"/>
+ <suite.member href="HTMLDocument26.xml"/>
+ <suite.member href="HTMLDocument27.xml"/>
+<suite.member href="../../level1/html/HTMLElement01.xml"/>
+<suite.member href="../../level1/html/HTMLElement02.xml"/>
+<suite.member href="../../level1/html/HTMLElement03.xml"/>
+<suite.member href="../../level1/html/HTMLElement04.xml"/>
+<suite.member href="../../level1/html/HTMLElement05.xml"/>
+<suite.member href="../../level1/html/HTMLElement06.xml"/>
+<suite.member href="../../level1/html/HTMLElement07.xml"/>
+<suite.member href="../../level1/html/HTMLElement08.xml"/>
+<suite.member href="../../level1/html/HTMLElement09.xml"/>
+<suite.member href="../../level1/html/HTMLElement10.xml"/>
+<suite.member href="../../level1/html/HTMLElement100.xml"/>
+<suite.member href="../../level1/html/HTMLElement101.xml"/>
+<suite.member href="../../level1/html/HTMLElement102.xml"/>
+<suite.member href="../../level1/html/HTMLElement103.xml"/>
+<suite.member href="../../level1/html/HTMLElement104.xml"/>
+<suite.member href="../../level1/html/HTMLElement105.xml"/>
+<suite.member href="../../level1/html/HTMLElement106.xml"/>
+<suite.member href="../../level1/html/HTMLElement107.xml"/>
+<suite.member href="../../level1/html/HTMLElement108.xml"/>
+<suite.member href="../../level1/html/HTMLElement109.xml"/>
+<suite.member href="../../level1/html/HTMLElement11.xml"/>
+<suite.member href="../../level1/html/HTMLElement110.xml"/>
+<suite.member href="../../level1/html/HTMLElement111.xml"/>
+<suite.member href="../../level1/html/HTMLElement112.xml"/>
+<suite.member href="../../level1/html/HTMLElement113.xml"/>
+<suite.member href="../../level1/html/HTMLElement114.xml"/>
+<suite.member href="../../level1/html/HTMLElement115.xml"/>
+<suite.member href="../../level1/html/HTMLElement116.xml"/>
+<suite.member href="../../level1/html/HTMLElement117.xml"/>
+<suite.member href="../../level1/html/HTMLElement118.xml"/>
+<suite.member href="../../level1/html/HTMLElement119.xml"/>
+<suite.member href="../../level1/html/HTMLElement12.xml"/>
+<suite.member href="../../level1/html/HTMLElement120.xml"/>
+<suite.member href="../../level1/html/HTMLElement121.xml"/>
+<suite.member href="../../level1/html/HTMLElement122.xml"/>
+<suite.member href="../../level1/html/HTMLElement123.xml"/>
+<suite.member href="../../level1/html/HTMLElement124.xml"/>
+<suite.member href="../../level1/html/HTMLElement125.xml"/>
+<suite.member href="../../level1/html/HTMLElement126.xml"/>
+<suite.member href="../../level1/html/HTMLElement127.xml"/>
+<suite.member href="../../level1/html/HTMLElement128.xml"/>
+<suite.member href="../../level1/html/HTMLElement129.xml"/>
+<suite.member href="../../level1/html/HTMLElement13.xml"/>
+<suite.member href="../../level1/html/HTMLElement130.xml"/>
+<suite.member href="../../level1/html/HTMLElement131.xml"/>
+<suite.member href="../../level1/html/HTMLElement132.xml"/>
+<suite.member href="../../level1/html/HTMLElement133.xml"/>
+<suite.member href="../../level1/html/HTMLElement134.xml"/>
+<suite.member href="../../level1/html/HTMLElement135.xml"/>
+<suite.member href="../../level1/html/HTMLElement136.xml"/>
+<suite.member href="../../level1/html/HTMLElement137.xml"/>
+<suite.member href="../../level1/html/HTMLElement138.xml"/>
+<suite.member href="../../level1/html/HTMLElement139.xml"/>
+<suite.member href="../../level1/html/HTMLElement14.xml"/>
+<suite.member href="../../level1/html/HTMLElement140.xml"/>
+<suite.member href="../../level1/html/HTMLElement141.xml"/>
+<suite.member href="../../level1/html/HTMLElement142.xml"/>
+<suite.member href="../../level1/html/HTMLElement143.xml"/>
+<suite.member href="../../level1/html/HTMLElement144.xml"/>
+<suite.member href="../../level1/html/HTMLElement145.xml"/>
+<suite.member href="../../level1/html/HTMLElement15.xml"/>
+<suite.member href="../../level1/html/HTMLElement16.xml"/>
+<suite.member href="../../level1/html/HTMLElement17.xml"/>
+<suite.member href="../../level1/html/HTMLElement18.xml"/>
+<suite.member href="../../level1/html/HTMLElement19.xml"/>
+<suite.member href="../../level1/html/HTMLElement20.xml"/>
+<suite.member href="../../level1/html/HTMLElement21.xml"/>
+<suite.member href="../../level1/html/HTMLElement22.xml"/>
+<suite.member href="../../level1/html/HTMLElement23.xml"/>
+<suite.member href="../../level1/html/HTMLElement24.xml"/>
+<suite.member href="../../level1/html/HTMLElement25.xml"/>
+<suite.member href="../../level1/html/HTMLElement26.xml"/>
+<suite.member href="../../level1/html/HTMLElement27.xml"/>
+<suite.member href="../../level1/html/HTMLElement28.xml"/>
+<suite.member href="../../level1/html/HTMLElement29.xml"/>
+<suite.member href="../../level1/html/HTMLElement30.xml"/>
+<suite.member href="../../level1/html/HTMLElement31.xml"/>
+<suite.member href="../../level1/html/HTMLElement32.xml"/>
+<suite.member href="../../level1/html/HTMLElement33.xml"/>
+<suite.member href="../../level1/html/HTMLElement34.xml"/>
+<suite.member href="../../level1/html/HTMLElement35.xml"/>
+<suite.member href="../../level1/html/HTMLElement36.xml"/>
+<suite.member href="../../level1/html/HTMLElement37.xml"/>
+<suite.member href="../../level1/html/HTMLElement38.xml"/>
+<suite.member href="../../level1/html/HTMLElement39.xml"/>
+<suite.member href="../../level1/html/HTMLElement40.xml"/>
+<suite.member href="../../level1/html/HTMLElement41.xml"/>
+<suite.member href="../../level1/html/HTMLElement42.xml"/>
+<suite.member href="../../level1/html/HTMLElement43.xml"/>
+<suite.member href="../../level1/html/HTMLElement44.xml"/>
+<suite.member href="../../level1/html/HTMLElement45.xml"/>
+<suite.member href="../../level1/html/HTMLElement46.xml"/>
+<suite.member href="../../level1/html/HTMLElement47.xml"/>
+<suite.member href="../../level1/html/HTMLElement48.xml"/>
+<suite.member href="../../level1/html/HTMLElement49.xml"/>
+<suite.member href="../../level1/html/HTMLElement50.xml"/>
+<suite.member href="../../level1/html/HTMLElement51.xml"/>
+<suite.member href="../../level1/html/HTMLElement52.xml"/>
+<suite.member href="../../level1/html/HTMLElement53.xml"/>
+<suite.member href="../../level1/html/HTMLElement54.xml"/>
+<suite.member href="../../level1/html/HTMLElement55.xml"/>
+<suite.member href="../../level1/html/HTMLElement56.xml"/>
+<suite.member href="../../level1/html/HTMLElement57.xml"/>
+<suite.member href="../../level1/html/HTMLElement58.xml"/>
+<suite.member href="../../level1/html/HTMLElement59.xml"/>
+<suite.member href="../../level1/html/HTMLElement60.xml"/>
+<suite.member href="../../level1/html/HTMLElement61.xml"/>
+<suite.member href="../../level1/html/HTMLElement62.xml"/>
+<suite.member href="../../level1/html/HTMLElement63.xml"/>
+<suite.member href="../../level1/html/HTMLElement64.xml"/>
+<suite.member href="../../level1/html/HTMLElement65.xml"/>
+<suite.member href="../../level1/html/HTMLElement66.xml"/>
+<suite.member href="../../level1/html/HTMLElement67.xml"/>
+<suite.member href="../../level1/html/HTMLElement68.xml"/>
+<suite.member href="../../level1/html/HTMLElement69.xml"/>
+<suite.member href="../../level1/html/HTMLElement70.xml"/>
+<suite.member href="../../level1/html/HTMLElement71.xml"/>
+<suite.member href="../../level1/html/HTMLElement72.xml"/>
+<suite.member href="../../level1/html/HTMLElement73.xml"/>
+<suite.member href="../../level1/html/HTMLElement74.xml"/>
+<suite.member href="../../level1/html/HTMLElement75.xml"/>
+<suite.member href="../../level1/html/HTMLElement76.xml"/>
+<suite.member href="../../level1/html/HTMLElement77.xml"/>
+<suite.member href="../../level1/html/HTMLElement78.xml"/>
+<suite.member href="../../level1/html/HTMLElement79.xml"/>
+<suite.member href="../../level1/html/HTMLElement80.xml"/>
+<suite.member href="../../level1/html/HTMLElement81.xml"/>
+<suite.member href="../../level1/html/HTMLElement82.xml"/>
+<suite.member href="../../level1/html/HTMLElement83.xml"/>
+<suite.member href="../../level1/html/HTMLElement84.xml"/>
+<suite.member href="../../level1/html/HTMLElement85.xml"/>
+<suite.member href="../../level1/html/HTMLElement86.xml"/>
+<suite.member href="../../level1/html/HTMLElement87.xml"/>
+<suite.member href="../../level1/html/HTMLElement88.xml"/>
+<suite.member href="../../level1/html/HTMLElement89.xml"/>
+<suite.member href="../../level1/html/HTMLElement90.xml"/>
+<suite.member href="../../level1/html/HTMLElement91.xml"/>
+<suite.member href="../../level1/html/HTMLElement92.xml"/>
+<suite.member href="../../level1/html/HTMLElement93.xml"/>
+<suite.member href="../../level1/html/HTMLElement94.xml"/>
+<suite.member href="../../level1/html/HTMLElement95.xml"/>
+<suite.member href="../../level1/html/HTMLElement96.xml"/>
+<suite.member href="../../level1/html/HTMLElement97.xml"/>
+<suite.member href="../../level1/html/HTMLElement98.xml"/>
+<suite.member href="../../level1/html/HTMLElement99.xml"/>
+<suite.member href="../../level1/html/HTMLFieldSetElement01.xml"/>
+<suite.member href="../../level1/html/HTMLFieldSetElement02.xml"/>
+<suite.member href="../../level1/html/HTMLFontElement01.xml"/>
+<suite.member href="../../level1/html/HTMLFontElement02.xml"/>
+<suite.member href="../../level1/html/HTMLFontElement03.xml"/>
+<suite.member href="../../level1/html/HTMLFormElement01.xml"/>
+<suite.member href="../../level1/html/HTMLFormElement02.xml"/>
+<suite.member href="../../level1/html/HTMLFormElement03.xml"/>
+<suite.member href="../../level1/html/HTMLFormElement04.xml"/>
+<suite.member href="../../level1/html/HTMLFormElement05.xml"/>
+<suite.member href="../../level1/html/HTMLFormElement06.xml"/>
+<suite.member href="../../level1/html/HTMLFormElement07.xml"/>
+<suite.member href="../../level1/html/HTMLFormElement08.xml"/>
+<suite.member href="../../level1/html/HTMLFormElement09.xml"/>
+<suite.member href="../../level1/html/HTMLFormElement10.xml"/>
+<suite.member href="../../level1/html/HTMLFrameElement01.xml"/>
+<suite.member href="../../level1/html/HTMLFrameElement02.xml"/>
+<suite.member href="../../level1/html/HTMLFrameElement03.xml"/>
+<suite.member href="../../level1/html/HTMLFrameElement04.xml"/>
+<suite.member href="../../level1/html/HTMLFrameElement05.xml"/>
+<suite.member href="../../level1/html/HTMLFrameElement06.xml"/>
+<suite.member href="../../level1/html/HTMLFrameElement07.xml"/>
+<suite.member href="../../level1/html/HTMLFrameElement08.xml"/>
+<suite.member href="HTMLFrameElement09.xml"/>
+<suite.member href="../../level1/html/HTMLFrameSetElement01.xml"/>
+<suite.member href="../../level1/html/HTMLFrameSetElement02.xml"/>
+<suite.member href="../../level1/html/HTMLHRElement01.xml"/>
+<suite.member href="../../level1/html/HTMLHRElement02.xml"/>
+<suite.member href="../../level1/html/HTMLHRElement03.xml"/>
+<suite.member href="../../level1/html/HTMLHRElement04.xml"/>
+<suite.member href="../../level1/html/HTMLHeadElement01.xml"/>
+<suite.member href="../../level1/html/HTMLHeadingElement01.xml"/>
+<suite.member href="../../level1/html/HTMLHeadingElement02.xml"/>
+<suite.member href="../../level1/html/HTMLHeadingElement03.xml"/>
+<suite.member href="../../level1/html/HTMLHeadingElement04.xml"/>
+<suite.member href="../../level1/html/HTMLHeadingElement05.xml"/>
+<suite.member href="../../level1/html/HTMLHeadingElement06.xml"/>
+<suite.member href="../../level1/html/HTMLHtmlElement01.xml"/>
+<suite.member href="../../level1/html/HTMLIFrameElement01.xml"/>
+<suite.member href="../../level1/html/HTMLIFrameElement02.xml"/>
+<suite.member href="../../level1/html/HTMLIFrameElement03.xml"/>
+<suite.member href="../../level1/html/HTMLIFrameElement04.xml"/>
+<suite.member href="../../level1/html/HTMLIFrameElement05.xml"/>
+<suite.member href="../../level1/html/HTMLIFrameElement06.xml"/>
+<suite.member href="../../level1/html/HTMLIFrameElement07.xml"/>
+<suite.member href="../../level1/html/HTMLIFrameElement08.xml"/>
+<suite.member href="../../level1/html/HTMLIFrameElement09.xml"/>
+<suite.member href="../../level1/html/HTMLIFrameElement10.xml"/>
+<suite.member href="HTMLIFrameElement11.xml"/>
+<suite.member href="../../level1/html/HTMLImageElement01.xml"/>
+<suite.member href="../../level1/html/HTMLImageElement02.xml"/>
+<suite.member href="../../level1/html/HTMLImageElement03.xml"/>
+<suite.member href="../../level1/html/HTMLImageElement04.xml"/>
+<suite.member href="HTMLImageElement05.xml"/>
+<suite.member href="HTMLImageElement06.xml"/>
+<suite.member href="../../level1/html/HTMLImageElement07.xml"/>
+<suite.member href="../../level1/html/HTMLImageElement08.xml"/>
+<suite.member href="../../level1/html/HTMLImageElement09.xml"/>
+<suite.member href="../../level1/html/HTMLImageElement10.xml"/>
+<suite.member href="HTMLImageElement11.xml"/>
+<suite.member href="HTMLImageElement12.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement01.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement02.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement03.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement04.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement05.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement06.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement07.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement08.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement09.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement10.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement11.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement12.xml"/>
+<suite.member href="HTMLInputElement13.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement14.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement15.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement16.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement17.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement18.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement19.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement20.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement21.xml"/>
+<suite.member href="../../level1/html/HTMLInputElement22.xml"/>
+<suite.member href="../../level1/html/HTMLIsIndexElement01.xml"/>
+<suite.member href="../../level1/html/HTMLIsIndexElement02.xml"/>
+<suite.member href="../../level1/html/HTMLIsIndexElement03.xml"/>
+<suite.member href="../../level1/html/HTMLLIElement01.xml"/>
+<suite.member href="../../level1/html/HTMLLIElement02.xml"/>
+<suite.member href="../../level1/html/HTMLLabelElement01.xml"/>
+<suite.member href="../../level1/html/HTMLLabelElement02.xml"/>
+<suite.member href="../../level1/html/HTMLLabelElement03.xml"/>
+<suite.member href="../../level1/html/HTMLLabelElement04.xml"/>
+<suite.member href="../../level1/html/HTMLLegendElement01.xml"/>
+<suite.member href="../../level1/html/HTMLLegendElement02.xml"/>
+<suite.member href="../../level1/html/HTMLLegendElement03.xml"/>
+<suite.member href="../../level1/html/HTMLLegendElement04.xml"/>
+<suite.member href="../../level1/html/HTMLLinkElement01.xml"/>
+<suite.member href="../../level1/html/HTMLLinkElement02.xml"/>
+<suite.member href="../../level1/html/HTMLLinkElement03.xml"/>
+<suite.member href="../../level1/html/HTMLLinkElement04.xml"/>
+<suite.member href="../../level1/html/HTMLLinkElement05.xml"/>
+<suite.member href="../../level1/html/HTMLLinkElement06.xml"/>
+<suite.member href="../../level1/html/HTMLLinkElement07.xml"/>
+<suite.member href="../../level1/html/HTMLLinkElement08.xml"/>
+<suite.member href="../../level1/html/HTMLLinkElement09.xml"/>
+<suite.member href="../../level1/html/HTMLMapElement01.xml"/>
+<suite.member href="../../level1/html/HTMLMapElement02.xml"/>
+<suite.member href="../../level1/html/HTMLMenuElement01.xml"/>
+<suite.member href="../../level1/html/HTMLMetaElement01.xml"/>
+<suite.member href="../../level1/html/HTMLMetaElement02.xml"/>
+<suite.member href="../../level1/html/HTMLMetaElement03.xml"/>
+<suite.member href="../../level1/html/HTMLMetaElement04.xml"/>
+<suite.member href="../../level1/html/HTMLModElement01.xml"/>
+<suite.member href="../../level1/html/HTMLModElement02.xml"/>
+<suite.member href="../../level1/html/HTMLModElement03.xml"/>
+<suite.member href="../../level1/html/HTMLModElement04.xml"/>
+<suite.member href="../../level1/html/HTMLOListElement01.xml"/>
+<suite.member href="../../level1/html/HTMLOListElement02.xml"/>
+<suite.member href="../../level1/html/HTMLOListElement03.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement01.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement02.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement03.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement04.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement05.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement06.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement07.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement08.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement09.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement10.xml"/>
+<suite.member href="HTMLObjectElement11.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement12.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement13.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement14.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement15.xml"/>
+<suite.member href="HTMLObjectElement16.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement17.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement18.xml"/>
+<suite.member href="../../level1/html/HTMLObjectElement19.xml"/>
+<suite.member href="HTMLObjectElement20.xml"/>
+<suite.member href="../../level1/html/HTMLOptGroupElement01.xml"/>
+<suite.member href="../../level1/html/HTMLOptGroupElement02.xml"/>
+<suite.member href="../../level1/html/HTMLOptionElement01.xml"/>
+<suite.member href="../../level1/html/HTMLOptionElement02.xml"/>
+<suite.member href="../../level1/html/HTMLOptionElement03.xml"/>
+<suite.member href="../../level1/html/HTMLOptionElement04.xml"/>
+<suite.member href="../../level1/html/HTMLOptionElement05.xml"/>
+<suite.member href="../../level1/html/HTMLOptionElement06.xml"/>
+<suite.member href="../../level1/html/HTMLOptionElement07.xml"/>
+<suite.member href="../../level1/html/HTMLOptionElement08.xml"/>
+<suite.member href="../../level1/html/HTMLOptionElement09.xml"/>
+<suite.member href="HTMLOptionsCollection01.xml"/>
+<suite.member href="HTMLOptionsCollection02.xml"/>
+<suite.member href="HTMLOptionsCollection03.xml"/>
+<suite.member href="HTMLOptionsCollection04.xml"/>
+<suite.member href="HTMLOptionsCollection05.xml"/>
+<suite.member href="HTMLOptionsCollection06.xml"/>
+<suite.member href="HTMLOptionsCollection07.xml"/>
+<suite.member href="../../level1/html/HTMLParagraphElement01.xml"/>
+<suite.member href="../../level1/html/HTMLParamElement01.xml"/>
+<suite.member href="../../level1/html/HTMLParamElement02.xml"/>
+<suite.member href="../../level1/html/HTMLParamElement03.xml"/>
+<suite.member href="../../level1/html/HTMLParamElement04.xml"/>
+<suite.member href="../../level1/html/HTMLPreElement01.xml"/>
+<suite.member href="../../level1/html/HTMLQuoteElement01.xml"/>
+<suite.member href="../../level1/html/HTMLQuoteElement02.xml"/>
+<suite.member href="../../level1/html/HTMLScriptElement01.xml"/>
+<suite.member href="../../level1/html/HTMLScriptElement02.xml"/>
+<suite.member href="../../level1/html/HTMLScriptElement03.xml"/>
+<suite.member href="../../level1/html/HTMLScriptElement04.xml"/>
+<suite.member href="../../level1/html/HTMLScriptElement05.xml"/>
+<suite.member href="../../level1/html/HTMLScriptElement06.xml"/>
+<suite.member href="../../level1/html/HTMLScriptElement07.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement01.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement02.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement03.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement04.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement05.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement06.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement07.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement08.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement09.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement10.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement11.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement12.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement13.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement14.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement15.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement16.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement17.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement18.xml"/>
+<suite.member href="../../level1/html/HTMLSelectElement19.xml"/>
+<suite.member href="HTMLSelectElement20.xml"/>
+<suite.member href="../../level1/html/HTMLStyleElement01.xml"/>
+<suite.member href="../../level1/html/HTMLStyleElement02.xml"/>
+<suite.member href="../../level1/html/HTMLStyleElement03.xml"/>
+<suite.member href="../../level1/html/HTMLTableCaptionElement01.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement01.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement02.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement03.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement04.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement05.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement06.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement07.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement08.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement09.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement10.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement11.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement12.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement13.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement14.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement15.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement16.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement17.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement18.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement19.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement20.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement21.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement22.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement23.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement24.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement25.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement26.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement27.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement28.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement29.xml"/>
+<suite.member href="../../level1/html/HTMLTableCellElement30.xml"/>
+<suite.member href="../../level1/html/HTMLTableColElement01.xml"/>
+<suite.member href="../../level1/html/HTMLTableColElement02.xml"/>
+<suite.member href="../../level1/html/HTMLTableColElement03.xml"/>
+<suite.member href="../../level1/html/HTMLTableColElement04.xml"/>
+<suite.member href="../../level1/html/HTMLTableColElement05.xml"/>
+<suite.member href="../../level1/html/HTMLTableColElement06.xml"/>
+<suite.member href="../../level1/html/HTMLTableColElement07.xml"/>
+<suite.member href="../../level1/html/HTMLTableColElement08.xml"/>
+<suite.member href="../../level1/html/HTMLTableColElement09.xml"/>
+<suite.member href="../../level1/html/HTMLTableColElement10.xml"/>
+<suite.member href="../../level1/html/HTMLTableColElement11.xml"/>
+<suite.member href="../../level1/html/HTMLTableColElement12.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement01.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement02.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement03.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement04.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement05.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement06.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement07.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement08.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement09.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement10.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement11.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement12.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement13.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement14.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement15.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement16.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement17.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement18.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement19.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement20.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement21.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement22.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement23.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement24.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement25.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement26.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement27.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement28.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement29.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement30.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement31.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement32.xml"/>
+<suite.member href="../../level1/html/HTMLTableElement33.xml"/>
+<suite.member href="HTMLTableElement34.xml"/>
+<suite.member href="HTMLTableElement35.xml"/>
+<suite.member href="HTMLTableElement36.xml"/>
+<suite.member href="HTMLTableElement37.xml"/>
+<suite.member href="HTMLTableElement38.xml"/>
+<suite.member href="HTMLTableElement39.xml"/>
+<suite.member href="HTMLTableElement40.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement01.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement02.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement03.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement04.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement05.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement06.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement07.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement08.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement09.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement10.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement11.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement12.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement13.xml"/>
+<suite.member href="../../level1/html/HTMLTableRowElement14.xml"/>
+<suite.member href="HTMLTableRowElement15.xml"/>
+<suite.member href="HTMLTableRowElement16.xml"/>
+<suite.member href="HTMLTableRowElement17.xml"/>
+<suite.member href="HTMLTableRowElement18.xml"/>
+<suite.member href="HTMLTableRowElement19.xml"/>
+<suite.member href="HTMLTableRowElement20.xml"/>
+<suite.member href="HTMLTableRowElement21.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement01.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement02.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement03.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement04.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement05.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement06.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement07.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement08.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement09.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement10.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement11.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement12.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement13.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement14.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement15.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement16.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement17.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement18.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement19.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement20.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement21.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement22.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement23.xml"/>
+<suite.member href="../../level1/html/HTMLTableSectionElement24.xml"/>
+<suite.member href="HTMLTableSectionElement25.xml"/>
+<suite.member href="HTMLTableSectionElement26.xml"/>
+<suite.member href="HTMLTableSectionElement27.xml"/>
+<suite.member href="HTMLTableSectionElement28.xml"/>
+<suite.member href="HTMLTableSectionElement29.xml"/>
+<suite.member href="HTMLTableSectionElement30.xml"/>
+<suite.member href="HTMLTableSectionElement31.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement01.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement02.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement03.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement04.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement05.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement06.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement07.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement08.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement09.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement10.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement11.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement12.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement13.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement14.xml"/>
+<suite.member href="../../level1/html/HTMLTextAreaElement15.xml"/>
+<suite.member href="../../level1/html/HTMLTitleElement01.xml"/>
+<suite.member href="../../level1/html/HTMLUListElement01.xml"/>
+<suite.member href="../../level1/html/HTMLUListElement02.xml"/>
+
+
+ <suite.member href="../../level1/html/anchor01.xml"/>
+ <suite.member href="../../level1/html/anchor02.xml"/>
+ <suite.member href="../../level1/html/anchor03.xml"/>
+ <suite.member href="../../level1/html/anchor04.xml"/>
+ <suite.member href="../../level1/html/anchor05.xml"/>
+ <suite.member href="../../level1/html/anchor06.xml"/>
+ <suite.member href="../../level1/html/area01.xml"/>
+ <suite.member href="../../level1/html/area02.xml"/>
+ <suite.member href="../../level1/html/area03.xml"/>
+ <suite.member href="../../level1/html/area04.xml"/>
+ <suite.member href="../../level1/html/basefont01.xml"/>
+ <suite.member href="../../level1/html/body01.xml"/>
+ <suite.member href="../../level1/html/button01.xml"/>
+ <suite.member href="../../level1/html/button02.xml"/>
+ <suite.member href="../../level1/html/button03.xml"/>
+ <suite.member href="../../level1/html/button04.xml"/>
+ <suite.member href="../../level1/html/button05.xml"/>
+ <suite.member href="../../level1/html/button06.xml"/>
+ <suite.member href="../../level1/html/button07.xml"/>
+ <suite.member href="../../level1/html/button08.xml"/>
+ <suite.member href="../../level1/html/button09.xml"/>
+ <suite.member href="../../level1/html/dlist01.xml"/>
+ <suite.member href="../../level1/html/doc01.xml"/>
+ <suite.member href="../../level1/html/hasFeature01.xml"/>
+ <suite.member href="hasFeature02.xml"/>
+ <suite.member href="hasFeature03.xml"/>
+ <suite.member href="hasFeature04.xml"/>
+ <suite.member href="hasFeature05.xml"/>
+ <suite.member href="hasFeature06.xml"/>
+ <suite.member href="../../level1/html/object01.xml"/>
+ <suite.member href="../../level1/html/object02.xml"/>
+ <suite.member href="../../level1/html/object03.xml"/>
+ <suite.member href="../../level1/html/object04.xml"/>
+ <suite.member href="../../level1/html/object05.xml"/>
+ <suite.member href="../../level1/html/object06.xml"/>
+ <suite.member href="../../level1/html/object07.xml"/>
+ <suite.member href="object08.xml"/>
+ <suite.member href="../../level1/html/object09.xml"/>
+ <suite.member href="../../level1/html/object10.xml"/>
+ <suite.member href="../../level1/html/object11.xml"/>
+ <suite.member href="../../level1/html/object12.xml"/>
+ <suite.member href="object13.xml"/>
+ <suite.member href="../../level1/html/object14.xml"/>
+ <suite.member href="../../level1/html/object15.xml"/>
+ <suite.member href="../../level1/html/table01.xml"/>
+ <suite.member href="../../level1/html/table02.xml"/>
+ <suite.member href="../../level1/html/table03.xml"/>
+ <suite.member href="../../level1/html/table04.xml"/>
+ <suite.member href="../../level1/html/table06.xml"/>
+ <suite.member href="../../level1/html/table07.xml"/>
+ <suite.member href="../../level1/html/table08.xml"/>
+ <suite.member href="../../level1/html/table09.xml"/>
+ <suite.member href="../../level1/html/table10.xml"/>
+ <suite.member href="../../level1/html/table12.xml"/>
+ <suite.member href="../../level1/html/table15.xml"/>
+ <suite.member href="../../level1/html/table17.xml"/>
+ <suite.member href="../../level1/html/table18.xml"/>
+ <suite.member href="../../level1/html/table19.xml"/>
+ <suite.member href="../../level1/html/table20.xml"/>
+ <suite.member href="../../level1/html/table21.xml"/>
+ <suite.member href="../../level1/html/table22.xml"/>
+ <suite.member href="../../level1/html/table23.xml"/>
+ <suite.member href="../../level1/html/table24.xml"/>
+ <suite.member href="../../level1/html/table25.xml"/>
+ <suite.member href="../../level1/html/table26.xml"/>
+ <suite.member href="../../level1/html/table27.xml"/>
+ <suite.member href="../../level1/html/table28.xml"/>
+ <suite.member href="../../level1/html/table29.xml"/>
+ <suite.member href="../../level1/html/table30.xml"/>
+ <suite.member href="../../level1/html/table31.xml"/>
+ <suite.member href="../../level1/html/table32.xml"/>
+ <suite.member href="../../level1/html/table33.xml"/>
+ <suite.member href="../../level1/html/table34.xml"/>
+ <suite.member href="../../level1/html/table35.xml"/>
+ <suite.member href="../../level1/html/table36.xml"/>
+ <suite.member href="../../level1/html/table37.xml"/>
+ <suite.member href="../../level1/html/table38.xml"/>
+ <suite.member href="../../level1/html/table39.xml"/>
+ <suite.member href="../../level1/html/table40.xml"/>
+ <suite.member href="../../level1/html/table41.xml"/>
+ <suite.member href="../../level1/html/table42.xml"/>
+ <suite.member href="../../level1/html/table43.xml"/>
+ <suite.member href="../../level1/html/table44.xml"/>
+ <suite.member href="../../level1/html/table45.xml"/>
+ <suite.member href="../../level1/html/table46.xml"/>
+ <suite.member href="../../level1/html/table47.xml"/>
+ <suite.member href="../../level1/html/table48.xml"/>
+ <suite.member href="../../level1/html/table49.xml"/>
+ <suite.member href="../../level1/html/table50.xml"/>
+ <suite.member href="../../level1/html/table51.xml"/>
+ <suite.member href="../../level1/html/table52.xml"/>
+ <suite.member href="../../level1/html/table53.xml"/>
+
+</suite>
diff --git a/test/testcases/tests/level2/html/files/.cvsignore b/test/testcases/tests/level2/html/files/.cvsignore
new file mode 100644
index 0000000..30d6772
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/.cvsignore
@@ -0,0 +1,6 @@
+xhtml1-frameset.dtd
+xhtml1-strict.dtd
+xhtml1-transitional.dtd
+xhtml-lat1.ent
+xhtml-special.ent
+xhtml-symbol.ent
diff --git a/test/testcases/tests/level2/html/files/CVS/Entries b/test/testcases/tests/level2/html/files/CVS/Entries
new file mode 100644
index 0000000..b5780ce
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/CVS/Entries
@@ -0,0 +1,11 @@
+/.cvsignore/1.1/Fri Apr 3 02:47:56 2009//
+/frame2.html/1.3/Fri Apr 3 02:47:56 2009//
+/frame2.xhtml/1.4/Fri Apr 3 02:47:56 2009/-kb/
+/frame2.xml/1.4/Fri Apr 3 02:47:55 2009//
+/iframe2.html/1.4/Fri Apr 3 02:47:56 2009//
+/iframe2.xhtml/1.4/Fri Apr 3 02:47:56 2009/-kb/
+/iframe2.xml/1.4/Fri Apr 3 02:47:56 2009//
+/optionscollection.html/1.2/Fri Apr 3 02:47:56 2009//
+/optionscollection.xhtml/1.2/Fri Apr 3 02:47:56 2009/-kb/
+/optionscollection.xml/1.2/Fri Apr 3 02:47:56 2009//
+D
diff --git a/test/testcases/tests/level2/html/files/CVS/Repository b/test/testcases/tests/level2/html/files/CVS/Repository
new file mode 100644
index 0000000..f200009
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/CVS/Repository
@@ -0,0 +1 @@
+2001/DOM-Test-Suite/tests/level2/html/files
diff --git a/test/testcases/tests/level2/html/files/CVS/Root b/test/testcases/tests/level2/html/files/CVS/Root
new file mode 100644
index 0000000..3c7177e
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/test/testcases/tests/level2/html/files/CVS/Template b/test/testcases/tests/level2/html/files/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/CVS/Template
diff --git a/test/testcases/tests/level2/html/files/frame2.html b/test/testcases/tests/level2/html/files/frame2.html
new file mode 100644
index 0000000..6030ec5
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/frame2.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
+"http://www.w3.org/TR/html4/frameset.dtd">
+<HTML>
+<HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8">
+<TITLE>NIST DOM HTML Test - FRAME2</TITLE>
+<!-- required by frame contents -->
+<SCRIPT type="text/javascript">function loadComplete() { }</SCRIPT>
+</HEAD>
+<FRAMESET COLS="20, 80" onload="parent.loadComplete()">
+<FRAMESET ROWS="100, 200">
+<FRAME ID="Frame1" NAME="Frame1" SRC="frame.html">
+</FRAMESET>
+<FRAME ID="Frame2" NAME="Frame2" SRC="iframe.html">
+</FRAMESET>
+</HTML>
diff --git a/test/testcases/tests/level2/html/files/frame2.xhtml b/test/testcases/tests/level2/html/files/frame2.xhtml
new file mode 100644
index 0000000..09008eb
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/frame2.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAME2</title>
+<!-- required by frame contents -->
+<script type="text/javascript">function loadComplete() { }</script>
+</head>
+<frameset cols="20, 80" onload="parent.loadComplete()">
+<frameset rows="100, 200">
+<frame id="Frame1" name="Frame1" src="frame.xhtml"/>
+</frameset>
+<frame id="Frame2" name="Frame2" src="iframe.xhtml"/>
+</frameset>
+</html>
diff --git a/test/testcases/tests/level2/html/files/frame2.xml b/test/testcases/tests/level2/html/files/frame2.xml
new file mode 100644
index 0000000..615f234
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/frame2.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAME2</title>
+<script type="text/javascript">function loadComplete() { }</script>
+</head>
+<frameset cols="20, 80" onload="parent.loadComplete()">
+<frameset rows="100, 200">
+<frame id="Frame1" name="Frame1" src="frame.html"/>
+</frameset>
+<frame id="Frame2" name="Frame2" src="iframe.html"/>
+</frameset>
+</html>
diff --git a/test/testcases/tests/level2/html/files/iframe2.html b/test/testcases/tests/level2/html/files/iframe2.html
new file mode 100644
index 0000000..7f302b8
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/iframe2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+<HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8">
+<TITLE>NIST DOM HTML Test - IFRAME2</TITLE>
+<!-- required by frame contents -->
+<SCRIPT type="text/javascript">function loadComplete() { }</SCRIPT>
+</HEAD>
+<BODY onload="parent.loadComplete()">
+<IFRAME ID="Iframe1" NAME="Iframe1" SRC="iframe.html">IFRAME1</IFRAME>
+<IFRAME ID="Iframe2" SRC="frame.html" NAME="Iframe2">IFRAME2</IFRAME>
+</BODY>
+</HTML>
diff --git a/test/testcases/tests/level2/html/files/iframe2.xhtml b/test/testcases/tests/level2/html/files/iframe2.xhtml
new file mode 100644
index 0000000..a1b1011
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/iframe2.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME2</title>
+<!-- required by frame contents -->
+<script type="text/javascript">function loadComplete() { }</script>
+</head>
+<body onload="parent.loadComplete()">
+<iframe id="Iframe1" name="Iframe1" src="iframe.html">IFRAME1</iframe>
+<iframe id="Iframe2" src="frame.html" name="Iframe2">IFRAME2</iframe>
+</body>
+</html>
diff --git a/test/testcases/tests/level2/html/files/iframe2.xml b/test/testcases/tests/level2/html/files/iframe2.xml
new file mode 100644
index 0000000..a1b1011
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/iframe2.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME2</title>
+<!-- required by frame contents -->
+<script type="text/javascript">function loadComplete() { }</script>
+</head>
+<body onload="parent.loadComplete()">
+<iframe id="Iframe1" name="Iframe1" src="iframe.html">IFRAME1</iframe>
+<iframe id="Iframe2" src="frame.html" name="Iframe2">IFRAME2</iframe>
+</body>
+</html>
diff --git a/test/testcases/tests/level2/html/files/optionscollection.html b/test/testcases/tests/level2/html/files/optionscollection.html
new file mode 100644
index 0000000..d1e8743
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/optionscollection.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+<HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8">
+<TITLE>NIST DOM HTML Test - OPTIONSCOLLECTION</TITLE>
+</HEAD>
+<BODY onload="parent.loadComplete()">
+<FORM ID="form1" NAME="form1" ACTION="./files/getData.pl" METHOD="post">
+<P>
+<SELECT ID="selectId" DIR="ltr" TABINDEX="7" NAME="select1" MULTIPLE="multiple" SIZE="1">
+<OPTION SELECTED="selected" value="10001">EMP10001</OPTION>
+<OPTION LABEL="l1">EMP10002</OPTION>
+<OPTION>EMP10003</OPTION>
+<OPTION>EMP10004</OPTION>
+<OPTION>EMP10005</OPTION>
+</SELECT>
+</P>
+</FORM>
+<P>
+<SELECT NAME="select2" disabled="disabled">
+<OPTION>EMP20001</OPTION>
+<OPTION>EMP20002</OPTION>
+<OPTION>EMP20003</OPTION>
+<OPTION>EMP20004</OPTION>
+<OPTION DISABLED="disabled">EMP20005</OPTION>
+</SELECT>
+</P>
+</BODY>
+</HTML>
+
+
+
+
+
+
+
diff --git a/test/testcases/tests/level2/html/files/optionscollection.xhtml b/test/testcases/tests/level2/html/files/optionscollection.xhtml
new file mode 100644
index 0000000..3f04194
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/optionscollection.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTIONSCOLLECTION</title>
+</head>
+<body onload="parent.loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/test/testcases/tests/level2/html/files/optionscollection.xml b/test/testcases/tests/level2/html/files/optionscollection.xml
new file mode 100644
index 0000000..3f04194
--- /dev/null
+++ b/test/testcases/tests/level2/html/files/optionscollection.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTIONSCOLLECTION</title>
+</head>
+<body onload="parent.loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/test/testcases/tests/level2/html/hasFeature02.xml b/test/testcases/tests/level2/html/hasFeature02.xml
new file mode 100644
index 0000000..560a60c
--- /dev/null
+++ b/test/testcases/tests/level2/html/hasFeature02.xml
@@ -0,0 +1,31 @@
+<?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="hasFeature02">
+<metadata>
+<title>hasFeature02</title>
+<creator>Curt Arnold</creator>
+<description>
+hasFeature("hTmL", "2.0") should return true.
+</description>
+<date qualifier="created">2004-03-18</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='"2.0"'/>
+<var name="state" type="boolean"/>
+<implementation var="domImpl"/>
+<hasFeature obj="domImpl" var="state" feature='"hTmL"' version="version"/>
+<assertTrue actual="state" id="hasHTML2"/>
+</test>
diff --git a/test/testcases/tests/level2/html/hasFeature03.xml b/test/testcases/tests/level2/html/hasFeature03.xml
new file mode 100644
index 0000000..49fb3b5
--- /dev/null
+++ b/test/testcases/tests/level2/html/hasFeature03.xml
@@ -0,0 +1,33 @@
+<?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="hasFeature03">
+<metadata>
+<title>hasFeature03</title>
+<creator>Curt Arnold</creator>
+<description>
+hasFeature("xhTmL", null) should return true if hasFeature("XML", null) returns true.
+</description>
+<date qualifier="created">2004-03-18</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" isNull="true"/>
+<var name="state" type="boolean"/>
+<var name="hasXML" type="boolean"/>
+<implementation var="domImpl"/>
+<hasFeature obj="domImpl" var="hasXML" feature='"XML"' version="version"/>
+<hasFeature obj="domImpl" var="state" feature='"xhTmL"' version="version"/>
+<assertEquals actual="state" expected="hasXML" ignoreCase="false" id="hasXHTML"/>
+</test>
diff --git a/test/testcases/tests/level2/html/hasFeature04.xml b/test/testcases/tests/level2/html/hasFeature04.xml
new file mode 100644
index 0000000..077b913
--- /dev/null
+++ b/test/testcases/tests/level2/html/hasFeature04.xml
@@ -0,0 +1,33 @@
+<?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="hasFeature04">
+<metadata>
+<title>hasFeature04</title>
+<creator>Curt Arnold</creator>
+<description>
+hasFeature("xhTmL", "2.0") should return true if hasFeature("XML", "2.0") returns true.
+</description>
+<date qualifier="created">2004-03-18</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='"2.0"'/>
+<var name="state" type="boolean"/>
+<var name="hasXML" type="boolean"/>
+<implementation var="domImpl"/>
+<hasFeature obj="domImpl" var="hasXML" feature='"XML"' version="version"/>
+<hasFeature obj="domImpl" var="state" feature='"xhTmL"' version="version"/>
+<assertEquals actual="state" expected="hasXML" ignoreCase="false" id="hasXHTML"/>
+</test>
diff --git a/test/testcases/tests/level2/html/hasFeature05.xml b/test/testcases/tests/level2/html/hasFeature05.xml
new file mode 100644
index 0000000..c79f90b
--- /dev/null
+++ b/test/testcases/tests/level2/html/hasFeature05.xml
@@ -0,0 +1,31 @@
+<?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="hasFeature05">
+<metadata>
+<title>hasFeature05</title>
+<creator>Curt Arnold</creator>
+<description>
+hasFeature("cOrE", null) should return true.
+</description>
+<date qualifier="created">2004-03-18</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" isNull="true"/>
+<var name="state" type="boolean"/>
+<implementation var="domImpl"/>
+<hasFeature obj="domImpl" var="state" feature='"cOrE"' version="version"/>
+<assertTrue actual="state" id="hasCore"/>
+</test>
diff --git a/test/testcases/tests/level2/html/hasFeature06.xml b/test/testcases/tests/level2/html/hasFeature06.xml
new file mode 100644
index 0000000..162e5cf
--- /dev/null
+++ b/test/testcases/tests/level2/html/hasFeature06.xml
@@ -0,0 +1,31 @@
+<?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="hasFeature06">
+<metadata>
+<title>hasFeature06</title>
+<creator>Curt Arnold</creator>
+<description>
+hasFeature("cOrE", "2.0") should return true.
+</description>
+<date qualifier="created">2004-03-18</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='"2.0"'/>
+<var name="state" type="boolean"/>
+<implementation var="domImpl"/>
+<hasFeature obj="domImpl" var="state" feature='"cOrE"' version="version"/>
+<assertTrue actual="state" id="hasCore"/>
+</test>
diff --git a/test/testcases/tests/level2/html/metadata.xml b/test/testcases/tests/level2/html/metadata.xml
new file mode 100644
index 0000000..be6715a
--- /dev/null
+++ b/test/testcases/tests/level2/html/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 metadata SYSTEM "dom2.dtd">
+
+<metadata xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-2">
+</metadata>
diff --git a/test/testcases/tests/level2/html/object08.xml b/test/testcases/tests/level2/html/object08.xml
new file mode 100644
index 0000000..32d32cf
--- /dev/null
+++ b/test/testcases/tests/level2/html/object08.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="object08">
+<metadata>
+<title>object08</title>
+<creator>Netscape</creator>
+<description>
+Horizontal space to the left and right of this image, applet, or object.
+The value of attribute hspace of the object element is read and checked against the expected value.
+</description>
+<contributor>Sivakiran Tummala</contributor>
+<date qualifier="created">2002-02-15</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-17085376"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="vhspace" type="int" />
+<var name="doc" type="Node"/>
+<load var="doc" href="object" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"object"'/>
+<assertSize collection="nodeList" size="2" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<hspace interface="HTMLObjectElement" obj="testNode" var="vhspace"/>
+<assertEquals actual="vhspace" expected='0' id="hspaceLink" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level2/html/object13.xml b/test/testcases/tests/level2/html/object13.xml
new file mode 100644
index 0000000..a3a603a
--- /dev/null
+++ b/test/testcases/tests/level2/html/object13.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+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="object13">
+<metadata>
+<title>object13</title>
+<creator>Netscape</creator>
+<description>
+Vertical space above and below this image, applet, or object.
+The value of attribute vspace of the object element is read and checked against the expected value.
+</description>
+<contributor>Sivakiran Tummala</contributor>
+<date qualifier="created">2002-02-15</date>
+<subject resource="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-8682483"/>
+</metadata>
+<var name="nodeList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="vvspace" type="int" />
+<var name="doc" type="Node"/>
+<load var="doc" href="object" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"object"'/>
+<assertSize collection="nodeList" size="2" id="Asize"/>
+<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
+<vspace interface="HTMLObjectElement" obj="testNode" var="vvspace"/>
+<assertEquals actual="vvspace" expected='0' id="vspaceLink" ignoreCase="false"/>
+</test>