summaryrefslogtreecommitdiff
path: root/test/testcases/tests/level1/core
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
commitbb0bf3763647fbdc63509f065db473fe7bd8a60c (patch)
tree0ba575c11b1875b638324194e16ebda4586baec8 /test/testcases/tests/level1/core
parent3000cbd4a8096292eb56edce79e5f55cb127e405 (diff)
downloadlibdom-bb0bf3763647fbdc63509f065db473fe7bd8a60c.tar.gz
libdom-bb0bf3763647fbdc63509f065db473fe7bd8a60c.tar.bz2
Merge DOMTS tests -- they're causing havoc with review diffs.
svn path=/trunk/dom/; revision=8910
Diffstat (limited to 'test/testcases/tests/level1/core')
-rw-r--r--test/testcases/tests/level1/core/.cvsignore2
-rw-r--r--test/testcases/tests/level1/core/.nodeappendchild.xml.swpbin0 -> 12288 bytes
-rw-r--r--test/testcases/tests/level1/core/CVS/Entries531
-rw-r--r--test/testcases/tests/level1/core/CVS/Repository1
-rw-r--r--test/testcases/tests/level1/core/CVS/Root1
-rw-r--r--test/testcases/tests/level1/core/CVS/Template0
-rw-r--r--test/testcases/tests/level1/core/alltests.xml550
-rw-r--r--test/testcases/tests/level1/core/attrcreatedocumentfragment.xml51
-rw-r--r--test/testcases/tests/level1/core/attrcreatetextnode.xml51
-rw-r--r--test/testcases/tests/level1/core/attrcreatetextnode2.xml50
-rw-r--r--test/testcases/tests/level1/core/attrdefaultvalue.xml53
-rw-r--r--test/testcases/tests/level1/core/attreffectivevalue.xml44
-rw-r--r--test/testcases/tests/level1/core/attrentityreplacement.xml48
-rw-r--r--test/testcases/tests/level1/core/attrname.xml47
-rw-r--r--test/testcases/tests/level1/core/attrnextsiblingnull.xml44
-rw-r--r--test/testcases/tests/level1/core/attrnotspecifiedvalue.xml48
-rw-r--r--test/testcases/tests/level1/core/attrparentnodenull.xml44
-rw-r--r--test/testcases/tests/level1/core/attrprevioussiblingnull.xml44
-rw-r--r--test/testcases/tests/level1/core/attrremovechild1.xml45
-rw-r--r--test/testcases/tests/level1/core/attrreplacechild1.xml47
-rw-r--r--test/testcases/tests/level1/core/attrsetvaluenomodificationallowederr.xml69
-rw-r--r--test/testcases/tests/level1/core/attrsetvaluenomodificationallowederrEE.xml65
-rw-r--r--test/testcases/tests/level1/core/attrspecifiedvalue.xml45
-rw-r--r--test/testcases/tests/level1/core/attrspecifiedvaluechanged.xml47
-rw-r--r--test/testcases/tests/level1/core/attrspecifiedvalueremove.xml55
-rw-r--r--test/testcases/tests/level1/core/cdatasectiongetdata.xml45
-rw-r--r--test/testcases/tests/level1/core/cdatasectionnormalize.xml49
-rw-r--r--test/testcases/tests/level1/core/characterdataappenddata.xml48
-rw-r--r--test/testcases/tests/level1/core/characterdataappenddatagetdata.xml47
-rw-r--r--test/testcases/tests/level1/core/characterdataappenddatanomodificationallowederr.xml59
-rw-r--r--test/testcases/tests/level1/core/characterdataappenddatanomodificationallowederrEE.xml47
-rw-r--r--test/testcases/tests/level1/core/characterdatadeletedatabegining.xml45
-rw-r--r--test/testcases/tests/level1/core/characterdatadeletedataend.xml47
-rw-r--r--test/testcases/tests/level1/core/characterdatadeletedataexceedslength.xml49
-rw-r--r--test/testcases/tests/level1/core/characterdatadeletedatagetlengthanddata.xml54
-rw-r--r--test/testcases/tests/level1/core/characterdatadeletedatamiddle.xml47
-rw-r--r--test/testcases/tests/level1/core/characterdatadeletedatanomodificationallowederr.xml59
-rw-r--r--test/testcases/tests/level1/core/characterdatadeletedatanomodificationallowederrEE.xml47
-rw-r--r--test/testcases/tests/level1/core/characterdatagetdata.xml48
-rw-r--r--test/testcases/tests/level1/core/characterdatagetlength.xml43
-rw-r--r--test/testcases/tests/level1/core/characterdataindexsizeerrdeletedatacountnegative.xml48
-rw-r--r--test/testcases/tests/level1/core/characterdataindexsizeerrdeletedataoffsetgreater.xml50
-rw-r--r--test/testcases/tests/level1/core/characterdataindexsizeerrdeletedataoffsetnegative.xml49
-rw-r--r--test/testcases/tests/level1/core/characterdataindexsizeerrinsertdataoffsetgreater.xml49
-rw-r--r--test/testcases/tests/level1/core/characterdataindexsizeerrinsertdataoffsetnegative.xml48
-rw-r--r--test/testcases/tests/level1/core/characterdataindexsizeerrreplacedatacountnegative.xml49
-rw-r--r--test/testcases/tests/level1/core/characterdataindexsizeerrreplacedataoffsetgreater.xml50
-rw-r--r--test/testcases/tests/level1/core/characterdataindexsizeerrreplacedataoffsetnegative.xml50
-rw-r--r--test/testcases/tests/level1/core/characterdataindexsizeerrsubstringcountnegative.xml49
-rw-r--r--test/testcases/tests/level1/core/characterdataindexsizeerrsubstringnegativeoffset.xml49
-rw-r--r--test/testcases/tests/level1/core/characterdataindexsizeerrsubstringoffsetgreater.xml50
-rw-r--r--test/testcases/tests/level1/core/characterdatainsertdatabeginning.xml46
-rw-r--r--test/testcases/tests/level1/core/characterdatainsertdataend.xml47
-rw-r--r--test/testcases/tests/level1/core/characterdatainsertdatamiddle.xml47
-rw-r--r--test/testcases/tests/level1/core/characterdatainsertdatanomodificationallowederr.xml59
-rw-r--r--test/testcases/tests/level1/core/characterdatainsertdatanomodificationallowederrEE.xml45
-rw-r--r--test/testcases/tests/level1/core/characterdatareplacedatabegining.xml46
-rw-r--r--test/testcases/tests/level1/core/characterdatareplacedataend.xml47
-rw-r--r--test/testcases/tests/level1/core/characterdatareplacedataexceedslengthofarg.xml48
-rw-r--r--test/testcases/tests/level1/core/characterdatareplacedataexceedslengthofdata.xml46
-rw-r--r--test/testcases/tests/level1/core/characterdatareplacedatamiddle.xml47
-rw-r--r--test/testcases/tests/level1/core/characterdatareplacedatanomodificationallowederr.xml60
-rw-r--r--test/testcases/tests/level1/core/characterdatareplacedatanomodificationallowederrEE.xml47
-rw-r--r--test/testcases/tests/level1/core/characterdatasetdatanomodificationallowederr.xml59
-rw-r--r--test/testcases/tests/level1/core/characterdatasetdatanomodificationallowederrEE.xml44
-rw-r--r--test/testcases/tests/level1/core/characterdatasetnodevalue.xml43
-rw-r--r--test/testcases/tests/level1/core/characterdatasubstringexceedsvalue.xml46
-rw-r--r--test/testcases/tests/level1/core/characterdatasubstringvalue.xml45
-rw-r--r--test/testcases/tests/level1/core/commentgetcomment.xml56
-rw-r--r--test/testcases/tests/level1/core/documentcreateattribute.xml45
-rw-r--r--test/testcases/tests/level1/core/documentcreatecdatasection.xml44
-rw-r--r--test/testcases/tests/level1/core/documentcreatecomment.xml43
-rw-r--r--test/testcases/tests/level1/core/documentcreatedocumentfragment.xml47
-rw-r--r--test/testcases/tests/level1/core/documentcreateelement.xml44
-rw-r--r--test/testcases/tests/level1/core/documentcreateelementcasesensitive.xml46
-rw-r--r--test/testcases/tests/level1/core/documentcreateelementdefaultattr.xml53
-rw-r--r--test/testcases/tests/level1/core/documentcreateentityreference.xml48
-rw-r--r--test/testcases/tests/level1/core/documentcreateentityreferenceknown.xml51
-rw-r--r--test/testcases/tests/level1/core/documentcreateprocessinginstruction.xml51
-rw-r--r--test/testcases/tests/level1/core/documentcreatetextnode.xml43
-rw-r--r--test/testcases/tests/level1/core/documentgetdoctype.xml49
-rw-r--r--test/testcases/tests/level1/core/documentgetdoctypenodtd.xml34
-rw-r--r--test/testcases/tests/level1/core/documentgetelementsbytagnamelength.xml36
-rw-r--r--test/testcases/tests/level1/core/documentgetelementsbytagnametotallength.xml36
-rw-r--r--test/testcases/tests/level1/core/documentgetelementsbytagnamevalue.xml44
-rw-r--r--test/testcases/tests/level1/core/documentgetimplementation.xml37
-rw-r--r--test/testcases/tests/level1/core/documentgetrootnode.xml43
-rw-r--r--test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateattribute.xml44
-rw-r--r--test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateelement.xml44
-rw-r--r--test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateentref.xml48
-rw-r--r--test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateentref1.xml45
-rw-r--r--test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreatepi.xml48
-rw-r--r--test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreatepi1.xml45
-rw-r--r--test/testcases/tests/level1/core/documenttypegetdoctype.xml44
-rw-r--r--test/testcases/tests/level1/core/documenttypegetentities.xml68
-rw-r--r--test/testcases/tests/level1/core/documenttypegetentitieslength.xml43
-rw-r--r--test/testcases/tests/level1/core/documenttypegetentitiestype.xml45
-rw-r--r--test/testcases/tests/level1/core/documenttypegetnotations.xml51
-rw-r--r--test/testcases/tests/level1/core/documenttypegetnotationstype.xml44
-rw-r--r--test/testcases/tests/level1/core/domimplementationfeaturenoversion.xml33
-rw-r--r--test/testcases/tests/level1/core/domimplementationfeaturenull.xml35
-rw-r--r--test/testcases/tests/level1/core/domimplementationfeaturexml.xml32
-rw-r--r--test/testcases/tests/level1/core/elementaddnewattribute.xml43
-rw-r--r--test/testcases/tests/level1/core/elementassociatedattribute.xml46
-rw-r--r--test/testcases/tests/level1/core/elementchangeattributevalue.xml46
-rw-r--r--test/testcases/tests/level1/core/elementcreatenewattribute.xml50
-rw-r--r--test/testcases/tests/level1/core/elementgetattributenode.xml42
-rw-r--r--test/testcases/tests/level1/core/elementgetattributenodenull.xml41
-rw-r--r--test/testcases/tests/level1/core/elementgetelementempty.xml49
-rw-r--r--test/testcases/tests/level1/core/elementgetelementsbytagname.xml39
-rw-r--r--test/testcases/tests/level1/core/elementgetelementsbytagnameaccessnodelist.xml48
-rw-r--r--test/testcases/tests/level1/core/elementgetelementsbytagnamenomatch.xml37
-rw-r--r--test/testcases/tests/level1/core/elementgetelementsbytagnamespecialvalue.xml56
-rw-r--r--test/testcases/tests/level1/core/elementgettagname.xml48
-rw-r--r--test/testcases/tests/level1/core/elementinuseattributeerr.xml58
-rw-r--r--test/testcases/tests/level1/core/elementinvalidcharacterexception.xml53
-rw-r--r--test/testcases/tests/level1/core/elementnormalize.xml46
-rw-r--r--test/testcases/tests/level1/core/elementnotfounderr.xml50
-rw-r--r--test/testcases/tests/level1/core/elementremoveattribute.xml47
-rw-r--r--test/testcases/tests/level1/core/elementremoveattributeaftercreate.xml49
-rw-r--r--test/testcases/tests/level1/core/elementremoveattributenode.xml43
-rw-r--r--test/testcases/tests/level1/core/elementremoveattributenodenomodificationallowederr.xml67
-rw-r--r--test/testcases/tests/level1/core/elementremoveattributenodenomodificationallowederrEE.xml61
-rw-r--r--test/testcases/tests/level1/core/elementremoveattributenomodificationallowederr.xml62
-rw-r--r--test/testcases/tests/level1/core/elementremoveattributenomodificationallowederrEE.xml53
-rw-r--r--test/testcases/tests/level1/core/elementremoveattributerestoredefaultvalue.xml48
-rw-r--r--test/testcases/tests/level1/core/elementreplaceattributewithself.xml42
-rw-r--r--test/testcases/tests/level1/core/elementreplaceexistingattribute.xml48
-rw-r--r--test/testcases/tests/level1/core/elementreplaceexistingattributegevalue.xml48
-rw-r--r--test/testcases/tests/level1/core/elementretrieveallattributes.xml46
-rw-r--r--test/testcases/tests/level1/core/elementretrieveattrvalue.xml40
-rw-r--r--test/testcases/tests/level1/core/elementretrievetagname.xml44
-rw-r--r--test/testcases/tests/level1/core/elementsetattributenodenomodificationallowederr.xml61
-rw-r--r--test/testcases/tests/level1/core/elementsetattributenodenomodificationallowederrEE.xml58
-rw-r--r--test/testcases/tests/level1/core/elementsetattributenodenull.xml45
-rw-r--r--test/testcases/tests/level1/core/elementsetattributenomodificationallowederr.xml53
-rw-r--r--test/testcases/tests/level1/core/elementsetattributenomodificationallowederrEE.xml53
-rw-r--r--test/testcases/tests/level1/core/elementwrongdocumenterr.xml68
-rw-r--r--test/testcases/tests/level1/core/entitygetentityname.xml46
-rw-r--r--test/testcases/tests/level1/core/entitygetpublicid.xml55
-rw-r--r--test/testcases/tests/level1/core/entitygetpublicidnull.xml45
-rw-r--r--test/testcases/tests/level1/core/files/.cvsignore0
-rw-r--r--test/testcases/tests/level1/core/files/CVS/Entries16
-rw-r--r--test/testcases/tests/level1/core/files/CVS/Repository1
-rw-r--r--test/testcases/tests/level1/core/files/CVS/Root1
-rw-r--r--test/testcases/tests/level1/core/files/CVS/Template0
-rw-r--r--test/testcases/tests/level1/core/files/hc_nodtdstaff.html10
-rw-r--r--test/testcases/tests/level1/core/files/hc_nodtdstaff.svg10
-rw-r--r--test/testcases/tests/level1/core/files/hc_nodtdstaff.xhtml10
-rw-r--r--test/testcases/tests/level1/core/files/hc_nodtdstaff.xml10
-rw-r--r--test/testcases/tests/level1/core/files/hc_staff.html48
-rw-r--r--test/testcases/tests/level1/core/files/hc_staff.svg72
-rw-r--r--test/testcases/tests/level1/core/files/hc_staff.xhtml60
-rw-r--r--test/testcases/tests/level1/core/files/hc_staff.xml60
-rw-r--r--test/testcases/tests/level1/core/files/staff.dtd17
-rw-r--r--test/testcases/tests/level1/core/files/staff.svg72
-rw-r--r--test/testcases/tests/level1/core/files/staff.xml57
-rw-r--r--test/testcases/tests/level1/core/files/svgtest.js0
-rw-r--r--test/testcases/tests/level1/core/files/svgunit.js0
-rw-r--r--test/testcases/tests/level1/core/files/xhtml1-strict.dtd65
-rw-r--r--test/testcases/tests/level1/core/hc_attrappendchild1.xml63
-rw-r--r--test/testcases/tests/level1/core/hc_attrappendchild2.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_attrappendchild3.xml72
-rw-r--r--test/testcases/tests/level1/core/hc_attrappendchild4.xml59
-rw-r--r--test/testcases/tests/level1/core/hc_attrappendchild5.xml54
-rw-r--r--test/testcases/tests/level1/core/hc_attrappendchild6.xml59
-rw-r--r--test/testcases/tests/level1/core/hc_attrchildnodes1.xml51
-rw-r--r--test/testcases/tests/level1/core/hc_attrchildnodes2.xml59
-rw-r--r--test/testcases/tests/level1/core/hc_attrclonenode1.xml63
-rw-r--r--test/testcases/tests/level1/core/hc_attrcreatedocumentfragment.xml58
-rw-r--r--test/testcases/tests/level1/core/hc_attrcreatetextnode.xml51
-rw-r--r--test/testcases/tests/level1/core/hc_attrcreatetextnode2.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_attreffectivevalue.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_attrfirstchild.xml52
-rw-r--r--test/testcases/tests/level1/core/hc_attrgetvalue1.xml45
-rw-r--r--test/testcases/tests/level1/core/hc_attrgetvalue2.xml61
-rw-r--r--test/testcases/tests/level1/core/hc_attrhaschildnodes.xml43
-rw-r--r--test/testcases/tests/level1/core/hc_attrinsertbefore1.xml72
-rw-r--r--test/testcases/tests/level1/core/hc_attrinsertbefore2.xml71
-rw-r--r--test/testcases/tests/level1/core/hc_attrinsertbefore3.xml79
-rw-r--r--test/testcases/tests/level1/core/hc_attrinsertbefore4.xml81
-rw-r--r--test/testcases/tests/level1/core/hc_attrinsertbefore5.xml60
-rw-r--r--test/testcases/tests/level1/core/hc_attrinsertbefore6.xml53
-rw-r--r--test/testcases/tests/level1/core/hc_attrinsertbefore7.xml69
-rw-r--r--test/testcases/tests/level1/core/hc_attrlastchild.xml52
-rw-r--r--test/testcases/tests/level1/core/hc_attrname.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_attrnextsiblingnull.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_attrnormalize.xml65
-rw-r--r--test/testcases/tests/level1/core/hc_attrparentnodenull.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_attrprevioussiblingnull.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_attrremovechild1.xml62
-rw-r--r--test/testcases/tests/level1/core/hc_attrremovechild2.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_attrreplacechild1.xml65
-rw-r--r--test/testcases/tests/level1/core/hc_attrreplacechild2.xml74
-rw-r--r--test/testcases/tests/level1/core/hc_attrsetvalue1.xml68
-rw-r--r--test/testcases/tests/level1/core/hc_attrsetvalue2.xml71
-rw-r--r--test/testcases/tests/level1/core/hc_attrspecifiedvalue.xml45
-rw-r--r--test/testcases/tests/level1/core/hc_attrspecifiedvaluechanged.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataappenddata.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataappenddatagetdata.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatadeletedatabegining.xml45
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatadeletedataend.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatadeletedataexceedslength.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatadeletedatagetlengthanddata.xml54
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatadeletedatamiddle.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatagetdata.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatagetlength.xml43
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatainsertdatabeginning.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatainsertdataend.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatainsertdatamiddle.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatareplacedatabegining.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatareplacedataend.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatareplacedataexceedslengthofarg.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatareplacedataexceedslengthofdata.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatareplacedatamiddle.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatasetnodevalue.xml43
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatasubstringexceedsvalue.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_characterdatasubstringvalue.xml45
-rw-r--r--test/testcases/tests/level1/core/hc_commentgetcomment.xml61
-rw-r--r--test/testcases/tests/level1/core/hc_documentcreateattribute.xml45
-rw-r--r--test/testcases/tests/level1/core/hc_documentcreatecomment.xml43
-rw-r--r--test/testcases/tests/level1/core/hc_documentcreatedocumentfragment.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_documentcreateelement.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_documentcreateelementcasesensitive.xml56
-rw-r--r--test/testcases/tests/level1/core/hc_documentcreatetextnode.xml43
-rw-r--r--test/testcases/tests/level1/core/hc_documentgetdoctype.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_documentgetelementsbytagnamelength.xml36
-rw-r--r--test/testcases/tests/level1/core/hc_documentgetelementsbytagnametotallength.xml135
-rw-r--r--test/testcases/tests/level1/core/hc_documentgetelementsbytagnamevalue.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_documentgetimplementation.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_documentgetrootnode.xml40
-rw-r--r--test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateattribute.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateattribute1.xml36
-rw-r--r--test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateelement.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.xml36
-rw-r--r--test/testcases/tests/level1/core/hc_domimplementationfeaturenoversion.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_domimplementationfeaturenull.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_domimplementationfeaturexml.xml43
-rw-r--r--test/testcases/tests/level1/core/hc_elementaddnewattribute.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_elementassociatedattribute.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_elementchangeattributevalue.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_elementcreatenewattribute.xml51
-rw-r--r--test/testcases/tests/level1/core/hc_elementgetattributenode.xml39
-rw-r--r--test/testcases/tests/level1/core/hc_elementgetattributenodenull.xml41
-rw-r--r--test/testcases/tests/level1/core/hc_elementgetelementempty.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_elementgetelementsbytagname.xml39
-rw-r--r--test/testcases/tests/level1/core/hc_elementgetelementsbytagnameaccessnodelist.xml61
-rw-r--r--test/testcases/tests/level1/core/hc_elementgetelementsbytagnamenomatch.xml37
-rw-r--r--test/testcases/tests/level1/core/hc_elementgetelementsbytagnamespecialvalue.xml56
-rw-r--r--test/testcases/tests/level1/core/hc_elementgettagname.xml39
-rw-r--r--test/testcases/tests/level1/core/hc_elementinuseattributeerr.xml51
-rw-r--r--test/testcases/tests/level1/core/hc_elementinvalidcharacterexception.xml45
-rw-r--r--test/testcases/tests/level1/core/hc_elementinvalidcharacterexception1.xml38
-rw-r--r--test/testcases/tests/level1/core/hc_elementnormalize.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_elementnormalize2.xml51
-rw-r--r--test/testcases/tests/level1/core/hc_elementnotfounderr.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_elementremoveattribute.xml40
-rw-r--r--test/testcases/tests/level1/core/hc_elementremoveattributeaftercreate.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_elementremoveattributenode.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_elementreplaceattributewithself.xml43
-rw-r--r--test/testcases/tests/level1/core/hc_elementreplaceexistingattribute.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_elementreplaceexistingattributegevalue.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_elementretrieveallattributes.xml59
-rw-r--r--test/testcases/tests/level1/core/hc_elementretrieveattrvalue.xml40
-rw-r--r--test/testcases/tests/level1/core/hc_elementretrievetagname.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_elementsetattributenodenull.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_elementwrongdocumenterr.xml56
-rw-r--r--test/testcases/tests/level1/core/hc_entitiesremovenameditem1.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_entitiessetnameditem1.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapchildnoderange.xml60
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapgetnameditem.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapinuseattributeerr.xml57
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapnotfounderr.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapnumberofnodes.xml45
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapremovenameditem.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapreturnattrnode.xml53
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapreturnfirstitem.xml63
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapreturnlastitem.xml65
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapreturnnull.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapsetnameditem.xml56
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapsetnameditemreturnvalue.xml56
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapsetnameditemthatexists.xml58
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapsetnameditemwithnewvalue.xml51
-rw-r--r--test/testcases/tests/level1/core/hc_namednodemapwrongdocumenterr.xml57
-rw-r--r--test/testcases/tests/level1/core/hc_nodeappendchild.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_nodeappendchildchildexists.xml72
-rw-r--r--test/testcases/tests/level1/core/hc_nodeappendchilddocfragment.xml74
-rw-r--r--test/testcases/tests/level1/core/hc_nodeappendchildgetnodename.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_nodeappendchildinvalidnodetype.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_nodeappendchildnewchilddiffdocument.xml53
-rw-r--r--test/testcases/tests/level1/core/hc_nodeappendchildnodeancestor.xml51
-rw-r--r--test/testcases/tests/level1/core/hc_nodeattributenodeattribute.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_nodeattributenodename.xml41
-rw-r--r--test/testcases/tests/level1/core/hc_nodeattributenodetype.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_nodeattributenodevalue.xml43
-rw-r--r--test/testcases/tests/level1/core/hc_nodechildnodes.xml63
-rw-r--r--test/testcases/tests/level1/core/hc_nodechildnodesappendchild.xml73
-rw-r--r--test/testcases/tests/level1/core/hc_nodechildnodesempty.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_nodecloneattributescopied.xml62
-rw-r--r--test/testcases/tests/level1/core/hc_nodeclonefalsenocopytext.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_nodeclonegetparentnull.xml42
-rw-r--r--test/testcases/tests/level1/core/hc_nodeclonenodefalse.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_nodeclonenodetrue.xml61
-rw-r--r--test/testcases/tests/level1/core/hc_nodeclonetruecopytext.xml45
-rw-r--r--test/testcases/tests/level1/core/hc_nodecommentnodeattributes.xml52
-rw-r--r--test/testcases/tests/level1/core/hc_nodecommentnodename.xml51
-rw-r--r--test/testcases/tests/level1/core/hc_nodecommentnodetype.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_nodecommentnodevalue.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_nodedocumentfragmentnodename.xml39
-rw-r--r--test/testcases/tests/level1/core/hc_nodedocumentfragmentnodetype.xml39
-rw-r--r--test/testcases/tests/level1/core/hc_nodedocumentfragmentnodevalue.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_nodedocumentnodeattribute.xml38
-rw-r--r--test/testcases/tests/level1/core/hc_nodedocumentnodename.xml37
-rw-r--r--test/testcases/tests/level1/core/hc_nodedocumentnodetype.xml36
-rw-r--r--test/testcases/tests/level1/core/hc_nodedocumentnodevalue.xml38
-rw-r--r--test/testcases/tests/level1/core/hc_nodeelementnodeattributes.xml59
-rw-r--r--test/testcases/tests/level1/core/hc_nodeelementnodename.xml41
-rw-r--r--test/testcases/tests/level1/core/hc_nodeelementnodetype.xml36
-rw-r--r--test/testcases/tests/level1/core/hc_nodeelementnodevalue.xml33
-rw-r--r--test/testcases/tests/level1/core/hc_nodegetfirstchild.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_nodegetfirstchildnull.xml41
-rw-r--r--test/testcases/tests/level1/core/hc_nodegetlastchild.xml41
-rw-r--r--test/testcases/tests/level1/core/hc_nodegetlastchildnull.xml42
-rw-r--r--test/testcases/tests/level1/core/hc_nodegetnextsibling.xml41
-rw-r--r--test/testcases/tests/level1/core/hc_nodegetnextsiblingnull.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_nodegetownerdocument.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_nodegetownerdocumentnull.xml40
-rw-r--r--test/testcases/tests/level1/core/hc_nodegetprevioussibling.xml41
-rw-r--r--test/testcases/tests/level1/core/hc_nodegetprevioussiblingnull.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_nodehaschildnodes.xml39
-rw-r--r--test/testcases/tests/level1/core/hc_nodehaschildnodesfalse.xml42
-rw-r--r--test/testcases/tests/level1/core/hc_nodeinsertbefore.xml68
-rw-r--r--test/testcases/tests/level1/core/hc_nodeinsertbeforedocfragment.xml64
-rw-r--r--test/testcases/tests/level1/core/hc_nodeinsertbeforeinvalidnodetype.xml55
-rw-r--r--test/testcases/tests/level1/core/hc_nodeinsertbeforenewchilddiffdocument.xml55
-rw-r--r--test/testcases/tests/level1/core/hc_nodeinsertbeforenewchildexists.xml68
-rw-r--r--test/testcases/tests/level1/core/hc_nodeinsertbeforenodeancestor.xml53
-rw-r--r--test/testcases/tests/level1/core/hc_nodeinsertbeforenodename.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_nodeinsertbeforerefchildnonexistent.xml53
-rw-r--r--test/testcases/tests/level1/core/hc_nodeinsertbeforerefchildnull.xml53
-rw-r--r--test/testcases/tests/level1/core/hc_nodelistindexequalzero.xml53
-rw-r--r--test/testcases/tests/level1/core/hc_nodelistindexgetlength.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_nodelistindexgetlengthofemptylist.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_nodelistindexnotzero.xml52
-rw-r--r--test/testcases/tests/level1/core/hc_nodelistreturnfirstitem.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_nodelistreturnlastitem.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_nodelisttraverselist.xml65
-rw-r--r--test/testcases/tests/level1/core/hc_nodeparentnode.xml41
-rw-r--r--test/testcases/tests/level1/core/hc_nodeparentnodenull.xml38
-rw-r--r--test/testcases/tests/level1/core/hc_noderemovechild.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_noderemovechildgetnodename.xml51
-rw-r--r--test/testcases/tests/level1/core/hc_noderemovechildnode.xml73
-rw-r--r--test/testcases/tests/level1/core/hc_noderemovechildoldchildnonexistent.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_nodereplacechild.xml51
-rw-r--r--test/testcases/tests/level1/core/hc_nodereplacechildinvalidnodetype.xml55
-rw-r--r--test/testcases/tests/level1/core/hc_nodereplacechildnewchilddiffdocument.xml55
-rw-r--r--test/testcases/tests/level1/core/hc_nodereplacechildnewchildexists.xml67
-rw-r--r--test/testcases/tests/level1/core/hc_nodereplacechildnodeancestor.xml53
-rw-r--r--test/testcases/tests/level1/core/hc_nodereplacechildnodename.xml51
-rw-r--r--test/testcases/tests/level1/core/hc_nodereplacechildoldchildnonexistent.xml51
-rw-r--r--test/testcases/tests/level1/core/hc_nodetextnodeattribute.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_nodetextnodename.xml37
-rw-r--r--test/testcases/tests/level1/core/hc_nodetextnodetype.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_nodetextnodevalue.xml43
-rw-r--r--test/testcases/tests/level1/core/hc_nodevalue01.xml37
-rw-r--r--test/testcases/tests/level1/core/hc_nodevalue02.xml38
-rw-r--r--test/testcases/tests/level1/core/hc_nodevalue03.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_nodevalue04.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_nodevalue05.xml37
-rw-r--r--test/testcases/tests/level1/core/hc_nodevalue06.xml35
-rw-r--r--test/testcases/tests/level1/core/hc_nodevalue07.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_nodevalue08.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_notationsremovenameditem1.xml44
-rw-r--r--test/testcases/tests/level1/core/hc_notationssetnameditem1.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_textindexsizeerrnegativeoffset.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_textindexsizeerroffsetoutofbounds.xml50
-rw-r--r--test/testcases/tests/level1/core/hc_textparseintolistofelements.xml75
-rw-r--r--test/testcases/tests/level1/core/hc_textsplittextfour.xml46
-rw-r--r--test/testcases/tests/level1/core/hc_textsplittextone.xml49
-rw-r--r--test/testcases/tests/level1/core/hc_textsplittextthree.xml48
-rw-r--r--test/testcases/tests/level1/core/hc_textsplittexttwo.xml47
-rw-r--r--test/testcases/tests/level1/core/hc_textwithnomarkup.xml47
-rw-r--r--test/testcases/tests/level1/core/metadata.xml15
-rw-r--r--test/testcases/tests/level1/core/namednodemapchildnoderange.xml49
-rw-r--r--test/testcases/tests/level1/core/namednodemapgetnameditem.xml46
-rw-r--r--test/testcases/tests/level1/core/namednodemapinuseattributeerr.xml57
-rw-r--r--test/testcases/tests/level1/core/namednodemapnotfounderr.xml49
-rw-r--r--test/testcases/tests/level1/core/namednodemapnumberofnodes.xml45
-rw-r--r--test/testcases/tests/level1/core/namednodemapremovenameditem.xml54
-rw-r--r--test/testcases/tests/level1/core/namednodemapremovenameditemgetvalue.xml56
-rw-r--r--test/testcases/tests/level1/core/namednodemapremovenameditemreturnnodevalue.xml47
-rw-r--r--test/testcases/tests/level1/core/namednodemapreturnattrnode.xml55
-rw-r--r--test/testcases/tests/level1/core/namednodemapreturnfirstitem.xml51
-rw-r--r--test/testcases/tests/level1/core/namednodemapreturnlastitem.xml51
-rw-r--r--test/testcases/tests/level1/core/namednodemapreturnnull.xml45
-rw-r--r--test/testcases/tests/level1/core/namednodemapsetnameditem.xml56
-rw-r--r--test/testcases/tests/level1/core/namednodemapsetnameditemreturnvalue.xml56
-rw-r--r--test/testcases/tests/level1/core/namednodemapsetnameditemthatexists.xml59
-rw-r--r--test/testcases/tests/level1/core/namednodemapsetnameditemwithnewvalue.xml50
-rw-r--r--test/testcases/tests/level1/core/namednodemapwrongdocumenterr.xml56
-rw-r--r--test/testcases/tests/level1/core/nodeappendchild.xml49
-rw-r--r--test/testcases/tests/level1/core/nodeappendchildchildexists.xml60
-rw-r--r--test/testcases/tests/level1/core/nodeappendchilddocfragment.xml70
-rw-r--r--test/testcases/tests/level1/core/nodeappendchildgetnodename.xml46
-rw-r--r--test/testcases/tests/level1/core/nodeappendchildinvalidnodetype.xml49
-rw-r--r--test/testcases/tests/level1/core/nodeappendchildnewchilddiffdocument.xml53
-rw-r--r--test/testcases/tests/level1/core/nodeappendchildnodeancestor.xml50
-rw-r--r--test/testcases/tests/level1/core/nodeappendchildnomodificationallowederr.xml61
-rw-r--r--test/testcases/tests/level1/core/nodeappendchildnomodificationallowederrEE.xml46
-rw-r--r--test/testcases/tests/level1/core/nodeattributenodeattribute.xml46
-rw-r--r--test/testcases/tests/level1/core/nodeattributenodename.xml50
-rw-r--r--test/testcases/tests/level1/core/nodeattributenodetype.xml48
-rw-r--r--test/testcases/tests/level1/core/nodeattributenodevalue.xml50
-rw-r--r--test/testcases/tests/level1/core/nodecdatasectionnodeattribute.xml50
-rw-r--r--test/testcases/tests/level1/core/nodecdatasectionnodename.xml48
-rw-r--r--test/testcases/tests/level1/core/nodecdatasectionnodetype.xml47
-rw-r--r--test/testcases/tests/level1/core/nodecdatasectionnodevalue.xml51
-rw-r--r--test/testcases/tests/level1/core/nodechildnodes.xml53
-rw-r--r--test/testcases/tests/level1/core/nodechildnodesappendchild.xml44
-rw-r--r--test/testcases/tests/level1/core/nodechildnodesempty.xml47
-rw-r--r--test/testcases/tests/level1/core/nodecloneattributescopied.xml54
-rw-r--r--test/testcases/tests/level1/core/nodeclonefalsenocopytext.xml46
-rw-r--r--test/testcases/tests/level1/core/nodeclonegetparentnull.xml42
-rw-r--r--test/testcases/tests/level1/core/nodeclonenodefalse.xml49
-rw-r--r--test/testcases/tests/level1/core/nodeclonenodetrue.xml83
-rw-r--r--test/testcases/tests/level1/core/nodeclonetruecopytext.xml42
-rw-r--r--test/testcases/tests/level1/core/nodecommentnodeattributes.xml50
-rw-r--r--test/testcases/tests/level1/core/nodecommentnodename.xml47
-rw-r--r--test/testcases/tests/level1/core/nodecommentnodetype.xml46
-rw-r--r--test/testcases/tests/level1/core/nodecommentnodevalue.xml46
-rw-r--r--test/testcases/tests/level1/core/nodedocumentfragmentnodename.xml39
-rw-r--r--test/testcases/tests/level1/core/nodedocumentfragmentnodetype.xml39
-rw-r--r--test/testcases/tests/level1/core/nodedocumentfragmentnodevalue.xml48
-rw-r--r--test/testcases/tests/level1/core/nodedocumentnodeattribute.xml34
-rw-r--r--test/testcases/tests/level1/core/nodedocumentnodename.xml38
-rw-r--r--test/testcases/tests/level1/core/nodedocumentnodetype.xml36
-rw-r--r--test/testcases/tests/level1/core/nodedocumentnodevalue.xml38
-rw-r--r--test/testcases/tests/level1/core/nodedocumenttypenodename.xml40
-rw-r--r--test/testcases/tests/level1/core/nodedocumenttypenodetype.xml34
-rw-r--r--test/testcases/tests/level1/core/nodedocumenttypenodevalue.xml33
-rw-r--r--test/testcases/tests/level1/core/nodeelementnodeattributes.xml52
-rw-r--r--test/testcases/tests/level1/core/nodeelementnodename.xml52
-rw-r--r--test/testcases/tests/level1/core/nodeelementnodetype.xml36
-rw-r--r--test/testcases/tests/level1/core/nodeelementnodevalue.xml33
-rw-r--r--test/testcases/tests/level1/core/nodeentitynodeattributes.xml40
-rw-r--r--test/testcases/tests/level1/core/nodeentitynodename.xml39
-rw-r--r--test/testcases/tests/level1/core/nodeentitynodetype.xml40
-rw-r--r--test/testcases/tests/level1/core/nodeentitynodevalue.xml40
-rw-r--r--test/testcases/tests/level1/core/nodeentityreferencenodeattributes.xml43
-rw-r--r--test/testcases/tests/level1/core/nodeentityreferencenodename.xml49
-rw-r--r--test/testcases/tests/level1/core/nodeentityreferencenodetype.xml47
-rw-r--r--test/testcases/tests/level1/core/nodeentityreferencenodevalue.xml49
-rw-r--r--test/testcases/tests/level1/core/nodeentitysetnodevalue.xml43
-rw-r--r--test/testcases/tests/level1/core/nodegetfirstchild.xml41
-rw-r--r--test/testcases/tests/level1/core/nodegetfirstchildnull.xml52
-rw-r--r--test/testcases/tests/level1/core/nodegetlastchild.xml41
-rw-r--r--test/testcases/tests/level1/core/nodegetlastchildnull.xml52
-rw-r--r--test/testcases/tests/level1/core/nodegetnextsibling.xml41
-rw-r--r--test/testcases/tests/level1/core/nodegetnextsiblingnull.xml48
-rw-r--r--test/testcases/tests/level1/core/nodegetownerdocument.xml50
-rw-r--r--test/testcases/tests/level1/core/nodegetownerdocumentnull.xml31
-rw-r--r--test/testcases/tests/level1/core/nodegetprevioussibling.xml41
-rw-r--r--test/testcases/tests/level1/core/nodegetprevioussiblingnull.xml48
-rw-r--r--test/testcases/tests/level1/core/nodehaschildnodes.xml39
-rw-r--r--test/testcases/tests/level1/core/nodehaschildnodesfalse.xml46
-rw-r--r--test/testcases/tests/level1/core/nodeinsertbefore.xml87
-rw-r--r--test/testcases/tests/level1/core/nodeinsertbeforedocfragment.xml63
-rw-r--r--test/testcases/tests/level1/core/nodeinsertbeforeinvalidnodetype.xml53
-rw-r--r--test/testcases/tests/level1/core/nodeinsertbeforenewchilddiffdocument.xml54
-rw-r--r--test/testcases/tests/level1/core/nodeinsertbeforenewchildexists.xml89
-rw-r--r--test/testcases/tests/level1/core/nodeinsertbeforenodeancestor.xml54
-rw-r--r--test/testcases/tests/level1/core/nodeinsertbeforenodename.xml49
-rw-r--r--test/testcases/tests/level1/core/nodeinsertbeforenomodificationallowederr.xml62
-rw-r--r--test/testcases/tests/level1/core/nodeinsertbeforenomodificationallowederrEE.xml47
-rw-r--r--test/testcases/tests/level1/core/nodeinsertbeforerefchildnonexistent.xml52
-rw-r--r--test/testcases/tests/level1/core/nodeinsertbeforerefchildnull.xml52
-rw-r--r--test/testcases/tests/level1/core/nodelistindexequalzero.xml43
-rw-r--r--test/testcases/tests/level1/core/nodelistindexgetlength.xml44
-rw-r--r--test/testcases/tests/level1/core/nodelistindexgetlengthofemptylist.xml47
-rw-r--r--test/testcases/tests/level1/core/nodelistindexnotzero.xml52
-rw-r--r--test/testcases/tests/level1/core/nodelistreturnfirstitem.xml46
-rw-r--r--test/testcases/tests/level1/core/nodelistreturnlastitem.xml48
-rw-r--r--test/testcases/tests/level1/core/nodelisttraverselist.xml78
-rw-r--r--test/testcases/tests/level1/core/nodenotationnodeattributes.xml44
-rw-r--r--test/testcases/tests/level1/core/nodenotationnodename.xml45
-rw-r--r--test/testcases/tests/level1/core/nodenotationnodetype.xml44
-rw-r--r--test/testcases/tests/level1/core/nodenotationnodevalue.xml45
-rw-r--r--test/testcases/tests/level1/core/nodeparentnode.xml47
-rw-r--r--test/testcases/tests/level1/core/nodeparentnodenull.xml37
-rw-r--r--test/testcases/tests/level1/core/nodeprocessinginstructionnodeattributes.xml44
-rw-r--r--test/testcases/tests/level1/core/nodeprocessinginstructionnodename.xml46
-rw-r--r--test/testcases/tests/level1/core/nodeprocessinginstructionnodetype.xml46
-rw-r--r--test/testcases/tests/level1/core/nodeprocessinginstructionnodevalue.xml40
-rw-r--r--test/testcases/tests/level1/core/nodeprocessinginstructionsetnodevalue.xml43
-rw-r--r--test/testcases/tests/level1/core/noderemovechild.xml45
-rw-r--r--test/testcases/tests/level1/core/noderemovechildgetnodename.xml51
-rw-r--r--test/testcases/tests/level1/core/noderemovechildnode.xml57
-rw-r--r--test/testcases/tests/level1/core/noderemovechildnomodificationallowederr.xml59
-rw-r--r--test/testcases/tests/level1/core/noderemovechildnomodificationallowederrEE.xml47
-rw-r--r--test/testcases/tests/level1/core/noderemovechildoldchildnonexistent.xml49
-rw-r--r--test/testcases/tests/level1/core/nodereplacechild.xml50
-rw-r--r--test/testcases/tests/level1/core/nodereplacechildinvalidnodetype.xml53
-rw-r--r--test/testcases/tests/level1/core/nodereplacechildnewchilddiffdocument.xml54
-rw-r--r--test/testcases/tests/level1/core/nodereplacechildnewchildexists.xml84
-rw-r--r--test/testcases/tests/level1/core/nodereplacechildnodeancestor.xml54
-rw-r--r--test/testcases/tests/level1/core/nodereplacechildnodename.xml54
-rw-r--r--test/testcases/tests/level1/core/nodereplacechildnomodificationallowederr.xml60
-rw-r--r--test/testcases/tests/level1/core/nodereplacechildnomodificationallowederrEE.xml48
-rw-r--r--test/testcases/tests/level1/core/nodereplacechildoldchildnonexistent.xml51
-rw-r--r--test/testcases/tests/level1/core/nodesetnodevaluenomodificationallowederr.xml62
-rw-r--r--test/testcases/tests/level1/core/nodesetnodevaluenomodificationallowederrEE.xml42
-rw-r--r--test/testcases/tests/level1/core/nodetextnodeattribute.xml44
-rw-r--r--test/testcases/tests/level1/core/nodetextnodename.xml50
-rw-r--r--test/testcases/tests/level1/core/nodetextnodetype.xml48
-rw-r--r--test/testcases/tests/level1/core/nodetextnodevalue.xml42
-rw-r--r--test/testcases/tests/level1/core/nodevalue01.xml37
-rw-r--r--test/testcases/tests/level1/core/nodevalue02.xml38
-rw-r--r--test/testcases/tests/level1/core/nodevalue03.xml38
-rw-r--r--test/testcases/tests/level1/core/nodevalue04.xml38
-rw-r--r--test/testcases/tests/level1/core/nodevalue05.xml37
-rw-r--r--test/testcases/tests/level1/core/nodevalue06.xml35
-rw-r--r--test/testcases/tests/level1/core/nodevalue07.xml44
-rw-r--r--test/testcases/tests/level1/core/nodevalue08.xml44
-rw-r--r--test/testcases/tests/level1/core/nodevalue09.xml36
-rw-r--r--test/testcases/tests/level1/core/notationgetnotationname.xml43
-rw-r--r--test/testcases/tests/level1/core/notationgetpublicid.xml40
-rw-r--r--test/testcases/tests/level1/core/notationgetpublicidnull.xml45
-rw-r--r--test/testcases/tests/level1/core/notationgetsystemid.xml45
-rw-r--r--test/testcases/tests/level1/core/notationgetsystemidnull.xml41
-rw-r--r--test/testcases/tests/level1/core/processinginstructiongetdata.xml43
-rw-r--r--test/testcases/tests/level1/core/processinginstructiongettarget.xml42
-rw-r--r--test/testcases/tests/level1/core/processinginstructionsetdatanomodificationallowederr.xml53
-rw-r--r--test/testcases/tests/level1/core/processinginstructionsetdatanomodificationallowederrEE.xml57
-rw-r--r--test/testcases/tests/level1/core/textindexsizeerrnegativeoffset.xml49
-rw-r--r--test/testcases/tests/level1/core/textindexsizeerroffsetoutofbounds.xml50
-rw-r--r--test/testcases/tests/level1/core/textparseintolistofelements.xml74
-rw-r--r--test/testcases/tests/level1/core/textsplittextfour.xml46
-rw-r--r--test/testcases/tests/level1/core/textsplittextnomodificationallowederr.xml62
-rw-r--r--test/testcases/tests/level1/core/textsplittextnomodificationallowederrEE.xml43
-rw-r--r--test/testcases/tests/level1/core/textsplittextone.xml49
-rw-r--r--test/testcases/tests/level1/core/textsplittextthree.xml48
-rw-r--r--test/testcases/tests/level1/core/textsplittexttwo.xml47
-rw-r--r--test/testcases/tests/level1/core/textwithnomarkup.xml47
554 files changed, 27514 insertions, 0 deletions
diff --git a/test/testcases/tests/level1/core/.cvsignore b/test/testcases/tests/level1/core/.cvsignore
new file mode 100644
index 0000000..46fbb92
--- /dev/null
+++ b/test/testcases/tests/level1/core/.cvsignore
@@ -0,0 +1,2 @@
+dom1.dtd
+dom1.xsd
diff --git a/test/testcases/tests/level1/core/.nodeappendchild.xml.swp b/test/testcases/tests/level1/core/.nodeappendchild.xml.swp
new file mode 100644
index 0000000..1611a6e
--- /dev/null
+++ b/test/testcases/tests/level1/core/.nodeappendchild.xml.swp
Binary files differ
diff --git a/test/testcases/tests/level1/core/CVS/Entries b/test/testcases/tests/level1/core/CVS/Entries
new file mode 100644
index 0000000..7b3371c
--- /dev/null
+++ b/test/testcases/tests/level1/core/CVS/Entries
@@ -0,0 +1,531 @@
+D/files////
+/.cvsignore/1.1/Fri Apr 3 02:48:04 2009//
+/alltests.xml/1.22/Fri Apr 3 02:48:03 2009//
+/attrcreatedocumentfragment.xml/1.9/Fri Apr 3 02:48:04 2009//
+/attrcreatetextnode.xml/1.9/Fri Apr 3 02:48:03 2009//
+/attrcreatetextnode2.xml/1.5/Fri Apr 3 02:48:03 2009//
+/attrdefaultvalue.xml/1.7/Fri Apr 3 02:48:03 2009//
+/attreffectivevalue.xml/1.6/Fri Apr 3 02:48:03 2009//
+/attrentityreplacement.xml/1.7/Fri Apr 3 02:48:04 2009//
+/attrname.xml/1.6/Fri Apr 3 02:48:04 2009//
+/attrnextsiblingnull.xml/1.7/Fri Apr 3 02:48:04 2009//
+/attrnotspecifiedvalue.xml/1.8/Fri Apr 3 02:48:03 2009//
+/attrparentnodenull.xml/1.7/Fri Apr 3 02:48:04 2009//
+/attrprevioussiblingnull.xml/1.7/Fri Apr 3 02:48:04 2009//
+/attrremovechild1.xml/1.3/Fri Apr 3 02:48:04 2009//
+/attrreplacechild1.xml/1.3/Fri Apr 3 02:48:04 2009//
+/attrsetvaluenomodificationallowederr.xml/1.9/Fri Apr 3 02:48:04 2009//
+/attrsetvaluenomodificationallowederrEE.xml/1.9/Fri Apr 3 02:48:03 2009//
+/attrspecifiedvalue.xml/1.6/Fri Apr 3 02:48:03 2009//
+/attrspecifiedvaluechanged.xml/1.6/Fri Apr 3 02:48:04 2009//
+/attrspecifiedvalueremove.xml/1.8/Fri Apr 3 02:48:04 2009//
+/cdatasectiongetdata.xml/1.13/Fri Apr 3 02:48:03 2009//
+/cdatasectionnormalize.xml/1.11/Fri Apr 3 02:48:03 2009//
+/characterdataappenddata.xml/1.6/Fri Apr 3 02:48:03 2009//
+/characterdataappenddatagetdata.xml/1.7/Fri Apr 3 02:48:04 2009//
+/characterdataappenddatanomodificationallowederr.xml/1.12/Fri Apr 3 02:48:04 2009//
+/characterdataappenddatanomodificationallowederrEE.xml/1.8/Fri Apr 3 02:48:04 2009//
+/characterdatadeletedatabegining.xml/1.8/Fri Apr 3 02:48:04 2009//
+/characterdatadeletedataend.xml/1.7/Fri Apr 3 02:48:04 2009//
+/characterdatadeletedataexceedslength.xml/1.7/Fri Apr 3 02:48:04 2009//
+/characterdatadeletedatagetlengthanddata.xml/1.8/Fri Apr 3 02:48:03 2009//
+/characterdatadeletedatamiddle.xml/1.7/Fri Apr 3 02:48:04 2009//
+/characterdatadeletedatanomodificationallowederr.xml/1.12/Fri Apr 3 02:48:04 2009//
+/characterdatadeletedatanomodificationallowederrEE.xml/1.8/Fri Apr 3 02:48:04 2009//
+/characterdatagetdata.xml/1.7/Fri Apr 3 02:48:03 2009//
+/characterdatagetlength.xml/1.6/Fri Apr 3 02:48:03 2009//
+/characterdataindexsizeerrdeletedatacountnegative.xml/1.9/Fri Apr 3 02:48:03 2009//
+/characterdataindexsizeerrdeletedataoffsetgreater.xml/1.7/Fri Apr 3 02:48:03 2009//
+/characterdataindexsizeerrdeletedataoffsetnegative.xml/1.7/Fri Apr 3 02:48:04 2009//
+/characterdataindexsizeerrinsertdataoffsetgreater.xml/1.9/Fri Apr 3 02:48:04 2009//
+/characterdataindexsizeerrinsertdataoffsetnegative.xml/1.9/Fri Apr 3 02:48:04 2009//
+/characterdataindexsizeerrreplacedatacountnegative.xml/1.9/Fri Apr 3 02:48:03 2009//
+/characterdataindexsizeerrreplacedataoffsetgreater.xml/1.9/Fri Apr 3 02:48:04 2009//
+/characterdataindexsizeerrreplacedataoffsetnegative.xml/1.7/Fri Apr 3 02:48:04 2009//
+/characterdataindexsizeerrsubstringcountnegative.xml/1.8/Fri Apr 3 02:48:03 2009//
+/characterdataindexsizeerrsubstringnegativeoffset.xml/1.8/Fri Apr 3 02:48:03 2009//
+/characterdataindexsizeerrsubstringoffsetgreater.xml/1.8/Fri Apr 3 02:48:03 2009//
+/characterdatainsertdatabeginning.xml/1.8/Fri Apr 3 02:48:03 2009//
+/characterdatainsertdataend.xml/1.7/Fri Apr 3 02:48:04 2009//
+/characterdatainsertdatamiddle.xml/1.7/Fri Apr 3 02:48:04 2009//
+/characterdatainsertdatanomodificationallowederr.xml/1.12/Fri Apr 3 02:48:04 2009//
+/characterdatainsertdatanomodificationallowederrEE.xml/1.8/Fri Apr 3 02:48:04 2009//
+/characterdatareplacedatabegining.xml/1.8/Fri Apr 3 02:48:04 2009//
+/characterdatareplacedataend.xml/1.7/Fri Apr 3 02:48:04 2009//
+/characterdatareplacedataexceedslengthofarg.xml/1.7/Fri Apr 3 02:48:03 2009//
+/characterdatareplacedataexceedslengthofdata.xml/1.7/Fri Apr 3 02:48:03 2009//
+/characterdatareplacedatamiddle.xml/1.7/Fri Apr 3 02:48:04 2009//
+/characterdatareplacedatanomodificationallowederr.xml/1.13/Fri Apr 3 02:48:03 2009//
+/characterdatareplacedatanomodificationallowederrEE.xml/1.8/Fri Apr 3 02:48:04 2009//
+/characterdatasetdatanomodificationallowederr.xml/1.11/Fri Apr 3 02:48:04 2009//
+/characterdatasetdatanomodificationallowederrEE.xml/1.8/Fri Apr 3 02:48:04 2009//
+/characterdatasetnodevalue.xml/1.4/Fri Apr 3 02:48:03 2009//
+/characterdatasubstringexceedsvalue.xml/1.7/Fri Apr 3 02:48:03 2009//
+/characterdatasubstringvalue.xml/1.7/Fri Apr 3 02:48:04 2009//
+/commentgetcomment.xml/1.6/Fri Apr 3 02:48:04 2009//
+/documentcreateattribute.xml/1.8/Fri Apr 3 02:48:03 2009//
+/documentcreatecdatasection.xml/1.12/Fri Apr 3 02:48:04 2009//
+/documentcreatecomment.xml/1.8/Fri Apr 3 02:48:04 2009//
+/documentcreatedocumentfragment.xml/1.8/Fri Apr 3 02:48:04 2009//
+/documentcreateelement.xml/1.10/Fri Apr 3 02:48:03 2009//
+/documentcreateelementcasesensitive.xml/1.7/Fri Apr 3 02:48:04 2009//
+/documentcreateelementdefaultattr.xml/1.10/Fri Apr 3 02:48:03 2009//
+/documentcreateentityreference.xml/1.15/Fri Apr 3 02:48:04 2009//
+/documentcreateentityreferenceknown.xml/1.14/Fri Apr 3 02:48:04 2009//
+/documentcreateprocessinginstruction.xml/1.12/Fri Apr 3 02:48:03 2009//
+/documentcreatetextnode.xml/1.8/Fri Apr 3 02:48:03 2009//
+/documentgetdoctype.xml/1.13/Fri Apr 3 02:48:04 2009//
+/documentgetdoctypenodtd.xml/1.10/Fri Apr 3 02:48:04 2009//
+/documentgetelementsbytagnamelength.xml/1.6/Fri Apr 3 02:48:04 2009//
+/documentgetelementsbytagnametotallength.xml/1.7/Fri Apr 3 02:48:04 2009//
+/documentgetelementsbytagnamevalue.xml/1.7/Fri Apr 3 02:48:03 2009//
+/documentgetimplementation.xml/1.6/Fri Apr 3 02:48:04 2009//
+/documentgetrootnode.xml/1.8/Fri Apr 3 02:48:04 2009//
+/documentinvalidcharacterexceptioncreateattribute.xml/1.8/Fri Apr 3 02:48:04 2009//
+/documentinvalidcharacterexceptioncreateelement.xml/1.8/Fri Apr 3 02:48:03 2009//
+/documentinvalidcharacterexceptioncreateentref.xml/1.13/Fri Apr 3 02:48:04 2009//
+/documentinvalidcharacterexceptioncreateentref1.xml/1.3/Fri Apr 3 02:48:04 2009//
+/documentinvalidcharacterexceptioncreatepi.xml/1.13/Fri Apr 3 02:48:03 2009//
+/documentinvalidcharacterexceptioncreatepi1.xml/1.3/Fri Apr 3 02:48:03 2009//
+/documenttypegetdoctype.xml/1.10/Fri Apr 3 02:48:03 2009//
+/documenttypegetentities.xml/1.13/Fri Apr 3 02:48:03 2009//
+/documenttypegetentitieslength.xml/1.9/Fri Apr 3 02:48:03 2009//
+/documenttypegetentitiestype.xml/1.9/Fri Apr 3 02:48:04 2009//
+/documenttypegetnotations.xml/1.10/Fri Apr 3 02:48:04 2009//
+/documenttypegetnotationstype.xml/1.8/Fri Apr 3 02:48:03 2009//
+/domimplementationfeaturenoversion.xml/1.7/Fri Apr 3 02:48:04 2009//
+/domimplementationfeaturenull.xml/1.5/Fri Apr 3 02:48:03 2009//
+/domimplementationfeaturexml.xml/1.7/Fri Apr 3 02:48:04 2009//
+/elementaddnewattribute.xml/1.6/Fri Apr 3 02:48:04 2009//
+/elementassociatedattribute.xml/1.6/Fri Apr 3 02:48:04 2009//
+/elementchangeattributevalue.xml/1.6/Fri Apr 3 02:48:03 2009//
+/elementcreatenewattribute.xml/1.7/Fri Apr 3 02:48:03 2009//
+/elementgetattributenode.xml/1.6/Fri Apr 3 02:48:04 2009//
+/elementgetattributenodenull.xml/1.5/Fri Apr 3 02:48:04 2009//
+/elementgetelementempty.xml/1.6/Fri Apr 3 02:48:04 2009//
+/elementgetelementsbytagname.xml/1.6/Fri Apr 3 02:48:03 2009//
+/elementgetelementsbytagnameaccessnodelist.xml/1.10/Fri Apr 3 02:48:03 2009//
+/elementgetelementsbytagnamenomatch.xml/1.6/Fri Apr 3 02:48:03 2009//
+/elementgetelementsbytagnamespecialvalue.xml/1.8/Fri Apr 3 02:48:04 2009//
+/elementgettagname.xml/1.8/Fri Apr 3 02:48:04 2009//
+/elementinuseattributeerr.xml/1.9/Fri Apr 3 02:48:04 2009//
+/elementinvalidcharacterexception.xml/1.6/Fri Apr 3 02:48:04 2009//
+/elementnormalize.xml/1.7/Fri Apr 3 02:48:04 2009//
+/elementnotfounderr.xml/1.7/Fri Apr 3 02:48:04 2009//
+/elementremoveattribute.xml/1.8/Fri Apr 3 02:48:04 2009//
+/elementremoveattributeaftercreate.xml/1.6/Fri Apr 3 02:48:03 2009//
+/elementremoveattributenode.xml/1.6/Fri Apr 3 02:48:03 2009//
+/elementremoveattributenodenomodificationallowederr.xml/1.9/Fri Apr 3 02:48:04 2009//
+/elementremoveattributenodenomodificationallowederrEE.xml/1.10/Fri Apr 3 02:48:03 2009//
+/elementremoveattributenomodificationallowederr.xml/1.8/Fri Apr 3 02:48:04 2009//
+/elementremoveattributenomodificationallowederrEE.xml/1.10/Fri Apr 3 02:48:03 2009//
+/elementremoveattributerestoredefaultvalue.xml/1.9/Fri Apr 3 02:48:04 2009//
+/elementreplaceattributewithself.xml/1.3/Fri Apr 3 02:48:04 2009//
+/elementreplaceexistingattribute.xml/1.6/Fri Apr 3 02:48:04 2009//
+/elementreplaceexistingattributegevalue.xml/1.8/Fri Apr 3 02:48:04 2009//
+/elementretrieveallattributes.xml/1.7/Fri Apr 3 02:48:04 2009//
+/elementretrieveattrvalue.xml/1.7/Fri Apr 3 02:48:03 2009//
+/elementretrievetagname.xml/1.6/Fri Apr 3 02:48:04 2009//
+/elementsetattributenodenomodificationallowederr.xml/1.12/Fri Apr 3 02:48:03 2009//
+/elementsetattributenodenomodificationallowederrEE.xml/1.9/Fri Apr 3 02:48:03 2009//
+/elementsetattributenodenull.xml/1.5/Fri Apr 3 02:48:04 2009//
+/elementsetattributenomodificationallowederr.xml/1.10/Fri Apr 3 02:48:03 2009//
+/elementsetattributenomodificationallowederrEE.xml/1.8/Fri Apr 3 02:48:03 2009//
+/elementwrongdocumenterr.xml/1.6/Fri Apr 3 02:48:03 2009//
+/entitygetentityname.xml/1.10/Fri Apr 3 02:48:03 2009//
+/entitygetpublicid.xml/1.12/Fri Apr 3 02:48:03 2009//
+/entitygetpublicidnull.xml/1.10/Fri Apr 3 02:48:03 2009//
+/hc_attrappendchild1.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_attrappendchild2.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_attrappendchild3.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_attrappendchild4.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_attrappendchild5.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_attrappendchild6.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_attrchildnodes1.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_attrchildnodes2.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_attrclonenode1.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_attrcreatedocumentfragment.xml/1.5/Fri Apr 3 02:48:03 2009//
+/hc_attrcreatetextnode.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_attrcreatetextnode2.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_attreffectivevalue.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_attrfirstchild.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_attrgetvalue1.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_attrgetvalue2.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_attrhaschildnodes.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_attrinsertbefore1.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_attrinsertbefore2.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_attrinsertbefore3.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_attrinsertbefore4.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_attrinsertbefore5.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_attrinsertbefore6.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_attrinsertbefore7.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_attrlastchild.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_attrname.xml/1.5/Fri Apr 3 02:48:04 2009//
+/hc_attrnextsiblingnull.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_attrnormalize.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_attrparentnodenull.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_attrprevioussiblingnull.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_attrremovechild1.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_attrremovechild2.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_attrreplacechild1.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_attrreplacechild2.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_attrsetvalue1.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_attrsetvalue2.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_attrspecifiedvalue.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_attrspecifiedvaluechanged.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_characterdataappenddata.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_characterdataappenddatagetdata.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_characterdatadeletedatabegining.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_characterdatadeletedataend.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_characterdatadeletedataexceedslength.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_characterdatadeletedatagetlengthanddata.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_characterdatadeletedatamiddle.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_characterdatagetdata.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_characterdatagetlength.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_characterdataindexsizeerrdeletedatacountnegative.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_characterdataindexsizeerrdeletedataoffsetgreater.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_characterdataindexsizeerrdeletedataoffsetnegative.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_characterdataindexsizeerrinsertdataoffsetgreater.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_characterdataindexsizeerrinsertdataoffsetnegative.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_characterdataindexsizeerrreplacedatacountnegative.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_characterdataindexsizeerrreplacedataoffsetgreater.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_characterdataindexsizeerrreplacedataoffsetnegative.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_characterdataindexsizeerrsubstringcountnegative.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_characterdataindexsizeerrsubstringnegativeoffset.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_characterdataindexsizeerrsubstringoffsetgreater.xml/1.4/Fri Apr 3 02:48:04 2009//
+/hc_characterdatainsertdatabeginning.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_characterdatainsertdataend.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_characterdatainsertdatamiddle.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_characterdatareplacedatabegining.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_characterdatareplacedataend.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_characterdatareplacedataexceedslengthofarg.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_characterdatareplacedataexceedslengthofdata.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_characterdatareplacedatamiddle.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_characterdatasetnodevalue.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_characterdatasubstringexceedsvalue.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_characterdatasubstringvalue.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_commentgetcomment.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_documentcreateattribute.xml/1.5/Fri Apr 3 02:48:03 2009//
+/hc_documentcreatecomment.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_documentcreatedocumentfragment.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_documentcreateelement.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_documentcreateelementcasesensitive.xml/1.5/Fri Apr 3 02:48:04 2009//
+/hc_documentcreatetextnode.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_documentgetdoctype.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_documentgetelementsbytagnamelength.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_documentgetelementsbytagnametotallength.xml/1.8/Fri Apr 3 02:48:03 2009//
+/hc_documentgetelementsbytagnamevalue.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_documentgetimplementation.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_documentgetrootnode.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_documentinvalidcharacterexceptioncreateattribute.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_documentinvalidcharacterexceptioncreateattribute1.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_documentinvalidcharacterexceptioncreateelement.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_documentinvalidcharacterexceptioncreateelement1.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_domimplementationfeaturenoversion.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_domimplementationfeaturenull.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_domimplementationfeaturexml.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_elementaddnewattribute.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_elementassociatedattribute.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_elementchangeattributevalue.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_elementcreatenewattribute.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_elementgetattributenode.xml/1.4/Fri Apr 3 02:48:04 2009//
+/hc_elementgetattributenodenull.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_elementgetelementempty.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_elementgetelementsbytagname.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_elementgetelementsbytagnameaccessnodelist.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_elementgetelementsbytagnamenomatch.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_elementgetelementsbytagnamespecialvalue.xml/1.5/Fri Apr 3 02:48:03 2009//
+/hc_elementgettagname.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_elementinuseattributeerr.xml/1.4/Fri Apr 3 02:48:03 2009//
+/hc_elementinvalidcharacterexception.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_elementinvalidcharacterexception1.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_elementnormalize.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_elementnormalize2.xml/1.4/Fri Apr 3 02:48:04 2009//
+/hc_elementnotfounderr.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_elementremoveattribute.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_elementremoveattributeaftercreate.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_elementremoveattributenode.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_elementreplaceattributewithself.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_elementreplaceexistingattribute.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_elementreplaceexistingattributegevalue.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_elementretrieveallattributes.xml/1.6/Fri Apr 3 02:48:03 2009//
+/hc_elementretrieveattrvalue.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_elementretrievetagname.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_elementsetattributenodenull.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_elementwrongdocumenterr.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_entitiesremovenameditem1.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_entitiessetnameditem1.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_namednodemapchildnoderange.xml/1.5/Fri Apr 3 02:48:04 2009//
+/hc_namednodemapgetnameditem.xml/1.4/Fri Apr 3 02:48:04 2009//
+/hc_namednodemapinuseattributeerr.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_namednodemapnotfounderr.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_namednodemapnumberofnodes.xml/1.5/Fri Apr 3 02:48:03 2009//
+/hc_namednodemapremovenameditem.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_namednodemapreturnattrnode.xml/1.5/Fri Apr 3 02:48:04 2009//
+/hc_namednodemapreturnfirstitem.xml/1.5/Fri Apr 3 02:48:03 2009//
+/hc_namednodemapreturnlastitem.xml/1.5/Fri Apr 3 02:48:04 2009//
+/hc_namednodemapreturnnull.xml/1.4/Fri Apr 3 02:48:04 2009//
+/hc_namednodemapsetnameditem.xml/1.4/Fri Apr 3 02:48:03 2009//
+/hc_namednodemapsetnameditemreturnvalue.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_namednodemapsetnameditemthatexists.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_namednodemapsetnameditemwithnewvalue.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_namednodemapwrongdocumenterr.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_nodeappendchild.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_nodeappendchildchildexists.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_nodeappendchilddocfragment.xml/1.5/Fri Apr 3 02:48:03 2009//
+/hc_nodeappendchildgetnodename.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_nodeappendchildinvalidnodetype.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodeappendchildnewchilddiffdocument.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodeappendchildnodeancestor.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_nodeattributenodeattribute.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodeattributenodename.xml/1.4/Fri Apr 3 02:48:03 2009//
+/hc_nodeattributenodetype.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodeattributenodevalue.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodechildnodes.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_nodechildnodesappendchild.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_nodechildnodesempty.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodecloneattributescopied.xml/1.7/Fri Apr 3 02:48:03 2009//
+/hc_nodeclonefalsenocopytext.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_nodeclonegetparentnull.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_nodeclonenodefalse.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodeclonenodetrue.xml/1.5/Fri Apr 3 02:48:03 2009//
+/hc_nodeclonetruecopytext.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodecommentnodeattributes.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_nodecommentnodename.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodecommentnodetype.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodecommentnodevalue.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodedocumentfragmentnodename.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_nodedocumentfragmentnodetype.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_nodedocumentfragmentnodevalue.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_nodedocumentnodeattribute.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_nodedocumentnodename.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodedocumentnodetype.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_nodedocumentnodevalue.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodeelementnodeattributes.xml/1.6/Fri Apr 3 02:48:03 2009//
+/hc_nodeelementnodename.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_nodeelementnodetype.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_nodeelementnodevalue.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodegetfirstchild.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodegetfirstchildnull.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodegetlastchild.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_nodegetlastchildnull.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodegetnextsibling.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_nodegetnextsiblingnull.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_nodegetownerdocument.xml/1.4/Fri Apr 3 02:48:04 2009//
+/hc_nodegetownerdocumentnull.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_nodegetprevioussibling.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_nodegetprevioussiblingnull.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_nodehaschildnodes.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_nodehaschildnodesfalse.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodeinsertbefore.xml/1.6/Fri Apr 3 02:48:04 2009//
+/hc_nodeinsertbeforedocfragment.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_nodeinsertbeforeinvalidnodetype.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_nodeinsertbeforenewchilddiffdocument.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodeinsertbeforenewchildexists.xml/1.4/Fri Apr 3 02:48:04 2009//
+/hc_nodeinsertbeforenodeancestor.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_nodeinsertbeforenodename.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_nodeinsertbeforerefchildnonexistent.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodeinsertbeforerefchildnull.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_nodelistindexequalzero.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_nodelistindexgetlength.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodelistindexgetlengthofemptylist.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodelistindexnotzero.xml/1.4/Fri Apr 3 02:48:03 2009//
+/hc_nodelistreturnfirstitem.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodelistreturnlastitem.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodelisttraverselist.xml/1.4/Fri Apr 3 02:48:04 2009//
+/hc_nodeparentnode.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_nodeparentnodenull.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_noderemovechild.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_noderemovechildgetnodename.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_noderemovechildnode.xml/1.5/Fri Apr 3 02:48:04 2009//
+/hc_noderemovechildoldchildnonexistent.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodereplacechild.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_nodereplacechildinvalidnodetype.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_nodereplacechildnewchilddiffdocument.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodereplacechildnewchildexists.xml/1.4/Fri Apr 3 02:48:03 2009//
+/hc_nodereplacechildnodeancestor.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_nodereplacechildnodename.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodereplacechildoldchildnonexistent.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodetextnodeattribute.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodetextnodename.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_nodetextnodetype.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodetextnodevalue.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_nodevalue01.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodevalue02.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_nodevalue03.xml/1.5/Fri Apr 3 02:48:03 2009//
+/hc_nodevalue04.xml/1.5/Fri Apr 3 02:48:03 2009//
+/hc_nodevalue05.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_nodevalue06.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_nodevalue07.xml/1.5/Fri Apr 3 02:48:04 2009//
+/hc_nodevalue08.xml/1.5/Fri Apr 3 02:48:04 2009//
+/hc_notationsremovenameditem1.xml/1.3/Fri Apr 3 02:48:04 2009//
+/hc_notationssetnameditem1.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_textindexsizeerrnegativeoffset.xml/1.1/Fri Apr 3 02:48:04 2009//
+/hc_textindexsizeerroffsetoutofbounds.xml/1.2/Fri Apr 3 02:48:04 2009//
+/hc_textparseintolistofelements.xml/1.4/Fri Apr 3 02:48:03 2009//
+/hc_textsplittextfour.xml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_textsplittextone.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_textsplittextthree.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_textsplittexttwo.xml/1.1/Fri Apr 3 02:48:03 2009//
+/hc_textwithnomarkup.xml/1.1/Fri Apr 3 02:48:04 2009//
+/metadata.xml/1.2/Fri Apr 3 02:48:03 2009//
+/namednodemapchildnoderange.xml/1.7/Fri Apr 3 02:48:03 2009//
+/namednodemapgetnameditem.xml/1.6/Fri Apr 3 02:48:04 2009//
+/namednodemapinuseattributeerr.xml/1.8/Fri Apr 3 02:48:03 2009//
+/namednodemapnotfounderr.xml/1.8/Fri Apr 3 02:48:04 2009//
+/namednodemapnumberofnodes.xml/1.6/Fri Apr 3 02:48:03 2009//
+/namednodemapremovenameditem.xml/1.9/Fri Apr 3 02:48:04 2009//
+/namednodemapremovenameditemgetvalue.xml/1.8/Fri Apr 3 02:48:03 2009//
+/namednodemapremovenameditemreturnnodevalue.xml/1.6/Fri Apr 3 02:48:03 2009//
+/namednodemapreturnattrnode.xml/1.6/Fri Apr 3 02:48:04 2009//
+/namednodemapreturnfirstitem.xml/1.6/Fri Apr 3 02:48:04 2009//
+/namednodemapreturnlastitem.xml/1.6/Fri Apr 3 02:48:04 2009//
+/namednodemapreturnnull.xml/1.5/Fri Apr 3 02:48:04 2009//
+/namednodemapsetnameditem.xml/1.6/Fri Apr 3 02:48:04 2009//
+/namednodemapsetnameditemreturnvalue.xml/1.8/Fri Apr 3 02:48:04 2009//
+/namednodemapsetnameditemthatexists.xml/1.7/Fri Apr 3 02:48:04 2009//
+/namednodemapsetnameditemwithnewvalue.xml/1.6/Fri Apr 3 02:48:03 2009//
+/namednodemapwrongdocumenterr.xml/1.8/Fri Apr 3 02:48:03 2009//
+/nodeappendchild.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodeappendchildchildexists.xml/1.10/Fri Apr 3 02:48:04 2009//
+/nodeappendchilddocfragment.xml/1.9/Fri Apr 3 02:48:03 2009//
+/nodeappendchildgetnodename.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodeappendchildinvalidnodetype.xml/1.7/Fri Apr 3 02:48:03 2009//
+/nodeappendchildnewchilddiffdocument.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodeappendchildnodeancestor.xml/1.8/Fri Apr 3 02:48:04 2009//
+/nodeappendchildnomodificationallowederr.xml/1.10/Fri Apr 3 02:48:04 2009//
+/nodeappendchildnomodificationallowederrEE.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodeattributenodeattribute.xml/1.7/Fri Apr 3 02:48:03 2009//
+/nodeattributenodename.xml/1.6/Fri Apr 3 02:48:03 2009//
+/nodeattributenodetype.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodeattributenodevalue.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodecdatasectionnodeattribute.xml/1.8/Fri Apr 3 02:48:04 2009//
+/nodecdatasectionnodename.xml/1.9/Fri Apr 3 02:48:03 2009//
+/nodecdatasectionnodetype.xml/1.8/Fri Apr 3 02:48:04 2009//
+/nodecdatasectionnodevalue.xml/1.9/Fri Apr 3 02:48:03 2009//
+/nodechildnodes.xml/1.8/Fri Apr 3 02:48:03 2009//
+/nodechildnodesappendchild.xml/1.9/Fri Apr 3 02:48:03 2009//
+/nodechildnodesempty.xml/1.8/Fri Apr 3 02:48:03 2009//
+/nodecloneattributescopied.xml/1.9/Fri Apr 3 02:48:03 2009//
+/nodeclonefalsenocopytext.xml/1.8/Fri Apr 3 02:48:04 2009//
+/nodeclonegetparentnull.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodeclonenodefalse.xml/1.8/Fri Apr 3 02:48:04 2009//
+/nodeclonenodetrue.xml/1.10/Fri Apr 3 02:48:04 2009//
+/nodeclonetruecopytext.xml/1.10/Fri Apr 3 02:48:03 2009//
+/nodecommentnodeattributes.xml/1.5/Fri Apr 3 02:48:04 2009//
+/nodecommentnodename.xml/1.9/Fri Apr 3 02:48:04 2009//
+/nodecommentnodetype.xml/1.6/Fri Apr 3 02:48:03 2009//
+/nodecommentnodevalue.xml/1.8/Fri Apr 3 02:48:03 2009//
+/nodedocumentfragmentnodename.xml/1.7/Fri Apr 3 02:48:03 2009//
+/nodedocumentfragmentnodetype.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodedocumentfragmentnodevalue.xml/1.8/Fri Apr 3 02:48:03 2009//
+/nodedocumentnodeattribute.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodedocumentnodename.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodedocumentnodetype.xml/1.5/Fri Apr 3 02:48:04 2009//
+/nodedocumentnodevalue.xml/1.7/Fri Apr 3 02:48:03 2009//
+/nodedocumenttypenodename.xml/1.10/Fri Apr 3 02:48:04 2009//
+/nodedocumenttypenodetype.xml/1.8/Fri Apr 3 02:48:03 2009//
+/nodedocumenttypenodevalue.xml/1.8/Fri Apr 3 02:48:03 2009//
+/nodeelementnodeattributes.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodeelementnodename.xml/1.8/Fri Apr 3 02:48:03 2009//
+/nodeelementnodetype.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodeelementnodevalue.xml/1.7/Fri Apr 3 02:48:03 2009//
+/nodeentitynodeattributes.xml/1.9/Fri Apr 3 02:48:03 2009//
+/nodeentitynodename.xml/1.11/Fri Apr 3 02:48:04 2009//
+/nodeentitynodetype.xml/1.9/Fri Apr 3 02:48:04 2009//
+/nodeentitynodevalue.xml/1.10/Fri Apr 3 02:48:03 2009//
+/nodeentityreferencenodeattributes.xml/1.12/Fri Apr 3 02:48:04 2009//
+/nodeentityreferencenodename.xml/1.12/Fri Apr 3 02:48:03 2009//
+/nodeentityreferencenodetype.xml/1.12/Fri Apr 3 02:48:04 2009//
+/nodeentityreferencenodevalue.xml/1.12/Fri Apr 3 02:48:04 2009//
+/nodeentitysetnodevalue.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodegetfirstchild.xml/1.9/Fri Apr 3 02:48:03 2009//
+/nodegetfirstchildnull.xml/1.6/Fri Apr 3 02:48:03 2009//
+/nodegetlastchild.xml/1.9/Fri Apr 3 02:48:04 2009//
+/nodegetlastchildnull.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodegetnextsibling.xml/1.10/Fri Apr 3 02:48:04 2009//
+/nodegetnextsiblingnull.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodegetownerdocument.xml/1.8/Fri Apr 3 02:48:04 2009//
+/nodegetownerdocumentnull.xml/1.6/Fri Apr 3 02:48:03 2009//
+/nodegetprevioussibling.xml/1.9/Fri Apr 3 02:48:03 2009//
+/nodegetprevioussiblingnull.xml/1.6/Fri Apr 3 02:48:03 2009//
+/nodehaschildnodes.xml/1.5/Fri Apr 3 02:48:03 2009//
+/nodehaschildnodesfalse.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodeinsertbefore.xml/1.10/Fri Apr 3 02:48:04 2009//
+/nodeinsertbeforedocfragment.xml/1.7/Fri Apr 3 02:48:03 2009//
+/nodeinsertbeforeinvalidnodetype.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodeinsertbeforenewchilddiffdocument.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodeinsertbeforenewchildexists.xml/1.10/Fri Apr 3 02:48:04 2009//
+/nodeinsertbeforenodeancestor.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodeinsertbeforenodename.xml/1.6/Fri Apr 3 02:48:03 2009//
+/nodeinsertbeforenomodificationallowederr.xml/1.11/Fri Apr 3 02:48:03 2009//
+/nodeinsertbeforenomodificationallowederrEE.xml/1.6/Fri Apr 3 02:48:03 2009//
+/nodeinsertbeforerefchildnonexistent.xml/1.7/Fri Apr 3 02:48:03 2009//
+/nodeinsertbeforerefchildnull.xml/1.7/Fri Apr 3 02:48:03 2009//
+/nodelistindexequalzero.xml/1.8/Fri Apr 3 02:48:04 2009//
+/nodelistindexgetlength.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodelistindexgetlengthofemptylist.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodelistindexnotzero.xml/1.8/Fri Apr 3 02:48:03 2009//
+/nodelistreturnfirstitem.xml/1.8/Fri Apr 3 02:48:03 2009//
+/nodelistreturnlastitem.xml/1.8/Fri Apr 3 02:48:03 2009//
+/nodelisttraverselist.xml/1.9/Fri Apr 3 02:48:04 2009//
+/nodenotationnodeattributes.xml/1.8/Fri Apr 3 02:48:04 2009//
+/nodenotationnodename.xml/1.9/Fri Apr 3 02:48:03 2009//
+/nodenotationnodetype.xml/1.8/Fri Apr 3 02:48:04 2009//
+/nodenotationnodevalue.xml/1.10/Fri Apr 3 02:48:03 2009//
+/nodeparentnode.xml/1.9/Fri Apr 3 02:48:03 2009//
+/nodeparentnodenull.xml/1.7/Fri Apr 3 02:48:03 2009//
+/nodeprocessinginstructionnodeattributes.xml/1.5/Fri Apr 3 02:48:03 2009//
+/nodeprocessinginstructionnodename.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodeprocessinginstructionnodetype.xml/1.5/Fri Apr 3 02:48:04 2009//
+/nodeprocessinginstructionnodevalue.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodeprocessinginstructionsetnodevalue.xml/1.3/Fri Apr 3 02:48:03 2009//
+/noderemovechild.xml/1.6/Fri Apr 3 02:48:03 2009//
+/noderemovechildgetnodename.xml/1.10/Fri Apr 3 02:48:03 2009//
+/noderemovechildnode.xml/1.8/Fri Apr 3 02:48:04 2009//
+/noderemovechildnomodificationallowederr.xml/1.11/Fri Apr 3 02:48:04 2009//
+/noderemovechildnomodificationallowederrEE.xml/1.9/Fri Apr 3 02:48:04 2009//
+/noderemovechildoldchildnonexistent.xml/1.7/Fri Apr 3 02:48:03 2009//
+/nodereplacechild.xml/1.7/Fri Apr 3 02:48:03 2009//
+/nodereplacechildinvalidnodetype.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodereplacechildnewchilddiffdocument.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodereplacechildnewchildexists.xml/1.11/Fri Apr 3 02:48:04 2009//
+/nodereplacechildnodeancestor.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodereplacechildnodename.xml/1.8/Fri Apr 3 02:48:03 2009//
+/nodereplacechildnomodificationallowederr.xml/1.9/Fri Apr 3 02:48:04 2009//
+/nodereplacechildnomodificationallowederrEE.xml/1.9/Fri Apr 3 02:48:03 2009//
+/nodereplacechildoldchildnonexistent.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodesetnodevaluenomodificationallowederr.xml/1.12/Fri Apr 3 02:48:03 2009//
+/nodesetnodevaluenomodificationallowederrEE.xml/1.9/Fri Apr 3 02:48:03 2009//
+/nodetextnodeattribute.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodetextnodename.xml/1.7/Fri Apr 3 02:48:04 2009//
+/nodetextnodetype.xml/1.6/Fri Apr 3 02:48:03 2009//
+/nodetextnodevalue.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodevalue01.xml/1.2/Fri Apr 3 02:48:03 2009//
+/nodevalue02.xml/1.3/Fri Apr 3 02:48:03 2009//
+/nodevalue03.xml/1.6/Fri Apr 3 02:48:04 2009//
+/nodevalue04.xml/1.5/Fri Apr 3 02:48:04 2009//
+/nodevalue05.xml/1.3/Fri Apr 3 02:48:04 2009//
+/nodevalue06.xml/1.2/Fri Apr 3 02:48:03 2009//
+/nodevalue07.xml/1.5/Fri Apr 3 02:48:04 2009//
+/nodevalue08.xml/1.5/Fri Apr 3 02:48:03 2009//
+/nodevalue09.xml/1.2/Fri Apr 3 02:48:03 2009//
+/notationgetnotationname.xml/1.9/Fri Apr 3 02:48:04 2009//
+/notationgetpublicid.xml/1.8/Fri Apr 3 02:48:04 2009//
+/notationgetpublicidnull.xml/1.8/Fri Apr 3 02:48:03 2009//
+/notationgetsystemid.xml/1.11/Fri Apr 3 02:48:03 2009//
+/notationgetsystemidnull.xml/1.8/Fri Apr 3 02:48:03 2009//
+/processinginstructiongetdata.xml/1.8/Fri Apr 3 02:48:04 2009//
+/processinginstructiongettarget.xml/1.9/Fri Apr 3 02:48:04 2009//
+/processinginstructionsetdatanomodificationallowederr.xml/1.12/Fri Apr 3 02:48:04 2009//
+/processinginstructionsetdatanomodificationallowederrEE.xml/1.10/Fri Apr 3 02:48:04 2009//
+/textindexsizeerrnegativeoffset.xml/1.6/Fri Apr 3 02:48:03 2009//
+/textindexsizeerroffsetoutofbounds.xml/1.6/Fri Apr 3 02:48:04 2009//
+/textparseintolistofelements.xml/1.11/Fri Apr 3 02:48:03 2009//
+/textsplittextfour.xml/1.7/Fri Apr 3 02:48:04 2009//
+/textsplittextnomodificationallowederr.xml/1.11/Fri Apr 3 02:48:04 2009//
+/textsplittextnomodificationallowederrEE.xml/1.9/Fri Apr 3 02:48:04 2009//
+/textsplittextone.xml/1.7/Fri Apr 3 02:48:04 2009//
+/textsplittextthree.xml/1.7/Fri Apr 3 02:48:04 2009//
+/textsplittexttwo.xml/1.7/Fri Apr 3 02:48:03 2009//
+/textwithnomarkup.xml/1.8/Fri Apr 3 02:48:03 2009//
diff --git a/test/testcases/tests/level1/core/CVS/Repository b/test/testcases/tests/level1/core/CVS/Repository
new file mode 100644
index 0000000..3ef90d0
--- /dev/null
+++ b/test/testcases/tests/level1/core/CVS/Repository
@@ -0,0 +1 @@
+2001/DOM-Test-Suite/tests/level1/core
diff --git a/test/testcases/tests/level1/core/CVS/Root b/test/testcases/tests/level1/core/CVS/Root
new file mode 100644
index 0000000..3c7177e
--- /dev/null
+++ b/test/testcases/tests/level1/core/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/test/testcases/tests/level1/core/CVS/Template b/test/testcases/tests/level1/core/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level1/core/CVS/Template
diff --git a/test/testcases/tests/level1/core/alltests.xml b/test/testcases/tests/level1/core/alltests.xml
new file mode 100644
index 0000000..5c57a9f
--- /dev/null
+++ b/test/testcases/tests/level1/core/alltests.xml
@@ -0,0 +1,550 @@
+<?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 "dom1.dtd">
+
+<suite xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="alltests">
+<metadata>
+<title>DOM Level 1 Core Test Suite</title>
+<creator>DOM Test Suite Project</creator>
+</metadata>
+<suite.member href="attrcreatedocumentfragment.xml"/>
+<suite.member href="attrcreatetextnode.xml"/>
+<suite.member href="attrcreatetextnode2.xml"/>
+<suite.member href="attrdefaultvalue.xml"/>
+<suite.member href="attreffectivevalue.xml"/>
+<suite.member href="attrentityreplacement.xml"/>
+<suite.member href="attrname.xml"/>
+<suite.member href="attrnextsiblingnull.xml"/>
+<suite.member href="attrnotspecifiedvalue.xml"/>
+<suite.member href="attrparentnodenull.xml"/>
+<suite.member href="attrprevioussiblingnull.xml"/>
+<suite.member href="attrsetvaluenomodificationallowederr.xml"/>
+<suite.member href="attrsetvaluenomodificationallowederrEE.xml"/>
+<suite.member href="attrspecifiedvalue.xml"/>
+<suite.member href="attrspecifiedvaluechanged.xml"/>
+<suite.member href="attrspecifiedvalueremove.xml"/>
+<suite.member href="cdatasectiongetdata.xml"/>
+<suite.member href="cdatasectionnormalize.xml"/>
+<suite.member href="characterdataappenddata.xml"/>
+<suite.member href="characterdataappenddatagetdata.xml"/>
+<suite.member href="characterdataappenddatanomodificationallowederr.xml"/>
+<suite.member href="characterdataappenddatanomodificationallowederrEE.xml"/>
+<suite.member href="characterdatadeletedatabegining.xml"/>
+<suite.member href="characterdatadeletedataend.xml"/>
+<suite.member href="characterdatadeletedataexceedslength.xml"/>
+<suite.member href="characterdatadeletedatagetlengthanddata.xml"/>
+<suite.member href="characterdatadeletedatamiddle.xml"/>
+<suite.member href="characterdatadeletedatanomodificationallowederr.xml"/>
+<suite.member href="characterdatadeletedatanomodificationallowederrEE.xml"/>
+<suite.member href="characterdatagetdata.xml"/>
+<suite.member href="characterdatagetlength.xml"/>
+<suite.member href="characterdataindexsizeerrdeletedatacountnegative.xml"/>
+<suite.member href="characterdataindexsizeerrdeletedataoffsetgreater.xml"/>
+<suite.member href="characterdataindexsizeerrdeletedataoffsetnegative.xml"/>
+<suite.member href="characterdataindexsizeerrinsertdataoffsetgreater.xml"/>
+<suite.member href="characterdataindexsizeerrinsertdataoffsetnegative.xml"/>
+<suite.member href="characterdataindexsizeerrreplacedatacountnegative.xml"/>
+<suite.member href="characterdataindexsizeerrreplacedataoffsetgreater.xml"/>
+<suite.member href="characterdataindexsizeerrreplacedataoffsetnegative.xml"/>
+<suite.member href="characterdataindexsizeerrsubstringcountnegative.xml"/>
+<suite.member href="characterdataindexsizeerrsubstringnegativeoffset.xml"/>
+<suite.member href="characterdataindexsizeerrsubstringoffsetgreater.xml"/>
+<suite.member href="characterdatainsertdatabeginning.xml"/>
+<suite.member href="characterdatainsertdataend.xml"/>
+<suite.member href="characterdatainsertdatamiddle.xml"/>
+<suite.member href="characterdatainsertdatanomodificationallowederr.xml"/>
+<suite.member href="characterdatainsertdatanomodificationallowederrEE.xml"/>
+<suite.member href="characterdatareplacedatabegining.xml"/>
+<suite.member href="characterdatareplacedataend.xml"/>
+<suite.member href="characterdatareplacedataexceedslengthofarg.xml"/>
+<suite.member href="characterdatareplacedataexceedslengthofdata.xml"/>
+<suite.member href="characterdatareplacedatamiddle.xml"/>
+<suite.member href="characterdatareplacedatanomodificationallowederr.xml"/>
+<suite.member href="characterdatareplacedatanomodificationallowederrEE.xml"/>
+<suite.member href="characterdatasetdatanomodificationallowederr.xml"/>
+<suite.member href="characterdatasetdatanomodificationallowederrEE.xml"/>
+<suite.member href="characterdatasetnodevalue.xml"/>
+<suite.member href="characterdatasubstringexceedsvalue.xml"/>
+<suite.member href="characterdatasubstringvalue.xml"/>
+<suite.member href="commentgetcomment.xml"/>
+<suite.member href="documentcreateattribute.xml"/>
+<suite.member href="documentcreatecdatasection.xml"/>
+<suite.member href="documentcreatecomment.xml"/>
+<suite.member href="documentcreatedocumentfragment.xml"/>
+<suite.member href="documentcreateelement.xml"/>
+<suite.member href="documentcreateelementcasesensitive.xml"/>
+<suite.member href="documentcreateelementdefaultattr.xml"/>
+<suite.member href="documentcreateentityreference.xml"/>
+<suite.member href="documentcreateentityreferenceknown.xml"/>
+<suite.member href="documentcreateprocessinginstruction.xml"/>
+<suite.member href="documentcreatetextnode.xml"/>
+<suite.member href="documentgetdoctype.xml"/>
+<suite.member href="documentgetdoctypenodtd.xml"/>
+<suite.member href="documentgetelementsbytagnamelength.xml"/>
+<suite.member href="documentgetelementsbytagnametotallength.xml"/>
+<suite.member href="documentgetelementsbytagnamevalue.xml"/>
+<suite.member href="documentgetimplementation.xml"/>
+<suite.member href="documentgetrootnode.xml"/>
+<suite.member href="documentinvalidcharacterexceptioncreateattribute.xml"/>
+<suite.member href="documentinvalidcharacterexceptioncreateelement.xml"/>
+<suite.member href="documentinvalidcharacterexceptioncreateentref.xml"/>
+<suite.member href="documentinvalidcharacterexceptioncreateentref1.xml"/>
+<suite.member href="documentinvalidcharacterexceptioncreatepi.xml"/>
+<suite.member href="documentinvalidcharacterexceptioncreatepi1.xml"/>
+<suite.member href="documenttypegetdoctype.xml"/>
+<suite.member href="documenttypegetentities.xml"/>
+<suite.member href="documenttypegetentitieslength.xml"/>
+<suite.member href="documenttypegetentitiestype.xml"/>
+<suite.member href="documenttypegetnotations.xml"/>
+<suite.member href="documenttypegetnotationstype.xml"/>
+<suite.member href="domimplementationfeaturenoversion.xml"/>
+<suite.member href="domimplementationfeaturenull.xml"/>
+<suite.member href="domimplementationfeaturexml.xml"/>
+<suite.member href="elementaddnewattribute.xml"/>
+<suite.member href="elementassociatedattribute.xml"/>
+<suite.member href="elementchangeattributevalue.xml"/>
+<suite.member href="elementcreatenewattribute.xml"/>
+<suite.member href="elementgetattributenode.xml"/>
+<suite.member href="elementgetattributenodenull.xml"/>
+<suite.member href="elementgetelementempty.xml"/>
+<suite.member href="elementgetelementsbytagname.xml"/>
+<suite.member href="elementgetelementsbytagnameaccessnodelist.xml"/>
+<suite.member href="elementgetelementsbytagnamenomatch.xml"/>
+<suite.member href="elementgetelementsbytagnamespecialvalue.xml"/>
+<suite.member href="elementgettagname.xml"/>
+<suite.member href="elementinuseattributeerr.xml"/>
+<suite.member href="elementinvalidcharacterexception.xml"/>
+<suite.member href="elementnormalize.xml"/>
+<suite.member href="elementnotfounderr.xml"/>
+<suite.member href="elementremoveattribute.xml"/>
+<suite.member href="elementremoveattributeaftercreate.xml"/>
+<suite.member href="elementremoveattributenode.xml"/>
+<suite.member href="elementremoveattributenodenomodificationallowederr.xml"/>
+<suite.member href="elementremoveattributenodenomodificationallowederrEE.xml"/>
+<suite.member href="elementremoveattributenomodificationallowederr.xml"/>
+<suite.member href="elementremoveattributenomodificationallowederrEE.xml"/>
+<suite.member href="elementremoveattributerestoredefaultvalue.xml"/>
+<suite.member href="elementreplaceattributewithself.xml"/>
+<suite.member href="elementreplaceexistingattribute.xml"/>
+<suite.member href="elementreplaceexistingattributegevalue.xml"/>
+<suite.member href="elementretrieveallattributes.xml"/>
+<suite.member href="elementretrieveattrvalue.xml"/>
+<suite.member href="elementretrievetagname.xml"/>
+<suite.member href="elementsetattributenodenomodificationallowederr.xml"/>
+<suite.member href="elementsetattributenodenomodificationallowederrEE.xml"/>
+<suite.member href="elementsetattributenodenull.xml"/>
+<suite.member href="elementsetattributenomodificationallowederr.xml"/>
+<suite.member href="elementsetattributenomodificationallowederrEE.xml"/>
+<suite.member href="elementwrongdocumenterr.xml"/>
+<suite.member href="entitygetentityname.xml"/>
+<suite.member href="entitygetpublicid.xml"/>
+<suite.member href="entitygetpublicidnull.xml"/>
+<suite.member href="namednodemapchildnoderange.xml"/>
+<suite.member href="namednodemapgetnameditem.xml"/>
+<suite.member href="namednodemapinuseattributeerr.xml"/>
+<suite.member href="namednodemapnotfounderr.xml"/>
+<suite.member href="namednodemapnumberofnodes.xml"/>
+<suite.member href="namednodemapremovenameditem.xml"/>
+<suite.member href="namednodemapremovenameditemgetvalue.xml"/>
+<suite.member href="namednodemapremovenameditemreturnnodevalue.xml"/>
+<suite.member href="namednodemapreturnattrnode.xml"/>
+<suite.member href="namednodemapreturnfirstitem.xml"/>
+<suite.member href="namednodemapreturnlastitem.xml"/>
+<suite.member href="namednodemapreturnnull.xml"/>
+<suite.member href="namednodemapsetnameditem.xml"/>
+<suite.member href="namednodemapsetnameditemreturnvalue.xml"/>
+<suite.member href="namednodemapsetnameditemthatexists.xml"/>
+<suite.member href="namednodemapsetnameditemwithnewvalue.xml"/>
+<suite.member href="namednodemapwrongdocumenterr.xml"/>
+<suite.member href="nodeappendchild.xml"/>
+<suite.member href="nodeappendchildchildexists.xml"/>
+<suite.member href="nodeappendchilddocfragment.xml"/>
+<suite.member href="nodeappendchildgetnodename.xml"/>
+<suite.member href="nodeappendchildinvalidnodetype.xml"/>
+<suite.member href="nodeappendchildnewchilddiffdocument.xml"/>
+<suite.member href="nodeappendchildnodeancestor.xml"/>
+<suite.member href="nodeappendchildnomodificationallowederr.xml"/>
+<suite.member href="nodeappendchildnomodificationallowederrEE.xml"/>
+<suite.member href="nodeattributenodeattribute.xml"/>
+<suite.member href="nodeattributenodename.xml"/>
+<suite.member href="nodeattributenodetype.xml"/>
+<suite.member href="nodeattributenodevalue.xml"/>
+<suite.member href="nodecdatasectionnodeattribute.xml"/>
+<suite.member href="nodecdatasectionnodename.xml"/>
+<suite.member href="nodecdatasectionnodetype.xml"/>
+<suite.member href="nodecdatasectionnodevalue.xml"/>
+<suite.member href="nodechildnodes.xml"/>
+<suite.member href="nodechildnodesappendchild.xml"/>
+<suite.member href="nodechildnodesempty.xml"/>
+<suite.member href="nodecloneattributescopied.xml"/>
+<suite.member href="nodeclonefalsenocopytext.xml"/>
+<suite.member href="nodeclonegetparentnull.xml"/>
+<suite.member href="nodeclonenodefalse.xml"/>
+<suite.member href="nodeclonenodetrue.xml"/>
+<suite.member href="nodeclonetruecopytext.xml"/>
+<suite.member href="nodecommentnodeattributes.xml"/>
+<suite.member href="nodecommentnodename.xml"/>
+<suite.member href="nodecommentnodetype.xml"/>
+<suite.member href="nodecommentnodevalue.xml"/>
+<suite.member href="nodedocumentfragmentnodename.xml"/>
+<suite.member href="nodedocumentfragmentnodetype.xml"/>
+<suite.member href="nodedocumentfragmentnodevalue.xml"/>
+<suite.member href="nodedocumentnodeattribute.xml"/>
+<suite.member href="nodedocumentnodename.xml"/>
+<suite.member href="nodedocumentnodetype.xml"/>
+<suite.member href="nodedocumentnodevalue.xml"/>
+<suite.member href="nodedocumenttypenodename.xml"/>
+<suite.member href="nodedocumenttypenodetype.xml"/>
+<suite.member href="nodedocumenttypenodevalue.xml"/>
+<suite.member href="nodeelementnodeattributes.xml"/>
+<suite.member href="nodeelementnodename.xml"/>
+<suite.member href="nodeelementnodetype.xml"/>
+<suite.member href="nodeelementnodevalue.xml"/>
+<suite.member href="nodeentitynodeattributes.xml"/>
+<suite.member href="nodeentitynodename.xml"/>
+<suite.member href="nodeentitynodetype.xml"/>
+<suite.member href="nodeentitynodevalue.xml"/>
+<suite.member href="nodeentitysetnodevalue.xml"/>
+<suite.member href="nodeentityreferencenodeattributes.xml"/>
+<suite.member href="nodeentityreferencenodename.xml"/>
+<suite.member href="nodeentityreferencenodetype.xml"/>
+<suite.member href="nodeentityreferencenodevalue.xml"/>
+<suite.member href="nodegetfirstchild.xml"/>
+<suite.member href="nodegetfirstchildnull.xml"/>
+<suite.member href="nodegetlastchild.xml"/>
+<suite.member href="nodegetlastchildnull.xml"/>
+<suite.member href="nodegetnextsibling.xml"/>
+<suite.member href="nodegetnextsiblingnull.xml"/>
+<suite.member href="nodegetownerdocument.xml"/>
+<suite.member href="nodegetownerdocumentnull.xml"/>
+<suite.member href="nodegetprevioussibling.xml"/>
+<suite.member href="nodegetprevioussiblingnull.xml"/>
+<suite.member href="nodehaschildnodes.xml"/>
+<suite.member href="nodehaschildnodesfalse.xml"/>
+<suite.member href="nodeinsertbefore.xml"/>
+<suite.member href="nodeinsertbeforedocfragment.xml"/>
+<suite.member href="nodeinsertbeforeinvalidnodetype.xml"/>
+<suite.member href="nodeinsertbeforenewchilddiffdocument.xml"/>
+<suite.member href="nodeinsertbeforenewchildexists.xml"/>
+<suite.member href="nodeinsertbeforenodeancestor.xml"/>
+<suite.member href="nodeinsertbeforenodename.xml"/>
+<suite.member href="nodeinsertbeforenomodificationallowederr.xml"/>
+<suite.member href="nodeinsertbeforenomodificationallowederrEE.xml"/>
+<suite.member href="nodeinsertbeforerefchildnonexistent.xml"/>
+<suite.member href="nodeinsertbeforerefchildnull.xml"/>
+<suite.member href="nodelistindexequalzero.xml"/>
+<suite.member href="nodelistindexgetlength.xml"/>
+<suite.member href="nodelistindexgetlengthofemptylist.xml"/>
+<suite.member href="nodelistindexnotzero.xml"/>
+<suite.member href="nodelistreturnfirstitem.xml"/>
+<suite.member href="nodelistreturnlastitem.xml"/>
+<suite.member href="nodelisttraverselist.xml"/>
+<suite.member href="nodenotationnodeattributes.xml"/>
+<suite.member href="nodenotationnodename.xml"/>
+<suite.member href="nodenotationnodetype.xml"/>
+<suite.member href="nodenotationnodevalue.xml"/>
+<suite.member href="nodeparentnode.xml"/>
+<suite.member href="nodeparentnodenull.xml"/>
+<suite.member href="nodeprocessinginstructionnodeattributes.xml"/>
+<suite.member href="nodeprocessinginstructionnodename.xml"/>
+<suite.member href="nodeprocessinginstructionnodetype.xml"/>
+<suite.member href="nodeprocessinginstructionnodevalue.xml"/>
+<suite.member href="nodeprocessinginstructionsetnodevalue.xml"/>
+<suite.member href="noderemovechild.xml"/>
+<suite.member href="noderemovechildgetnodename.xml"/>
+<suite.member href="noderemovechildnode.xml"/>
+<suite.member href="noderemovechildnomodificationallowederr.xml"/>
+<suite.member href="noderemovechildnomodificationallowederrEE.xml"/>
+<suite.member href="noderemovechildoldchildnonexistent.xml"/>
+<suite.member href="nodereplacechild.xml"/>
+<suite.member href="nodereplacechildinvalidnodetype.xml"/>
+<suite.member href="nodereplacechildnewchilddiffdocument.xml"/>
+<suite.member href="nodereplacechildnewchildexists.xml"/>
+<suite.member href="nodereplacechildnodeancestor.xml"/>
+<suite.member href="nodereplacechildnodename.xml"/>
+<suite.member href="nodereplacechildnomodificationallowederr.xml"/>
+<suite.member href="nodereplacechildnomodificationallowederrEE.xml"/>
+<suite.member href="nodereplacechildoldchildnonexistent.xml"/>
+<suite.member href="nodesetnodevaluenomodificationallowederr.xml"/>
+<suite.member href="nodesetnodevaluenomodificationallowederrEE.xml"/>
+<suite.member href="nodetextnodeattribute.xml"/>
+<suite.member href="nodetextnodename.xml"/>
+<suite.member href="nodetextnodetype.xml"/>
+<suite.member href="nodetextnodevalue.xml"/>
+<suite.member href="notationgetnotationname.xml"/>
+<suite.member href="notationgetpublicid.xml"/>
+<suite.member href="notationgetpublicidnull.xml"/>
+<suite.member href="notationgetsystemid.xml"/>
+<suite.member href="notationgetsystemidnull.xml"/>
+<suite.member href="processinginstructiongetdata.xml"/>
+<suite.member href="processinginstructiongettarget.xml"/>
+<suite.member href="processinginstructionsetdatanomodificationallowederr.xml"/>
+<suite.member href="processinginstructionsetdatanomodificationallowederrEE.xml"/>
+<suite.member href="textindexsizeerrnegativeoffset.xml"/>
+<suite.member href="textindexsizeerroffsetoutofbounds.xml"/>
+<suite.member href="textparseintolistofelements.xml"/>
+<suite.member href="textsplittextfour.xml"/>
+<suite.member href="textsplittextnomodificationallowederr.xml"/>
+<suite.member href="textsplittextnomodificationallowederrEE.xml"/>
+<suite.member href="textsplittextone.xml"/>
+<suite.member href="textsplittextthree.xml"/>
+<suite.member href="textsplittexttwo.xml"/>
+<suite.member href="textwithnomarkup.xml"/>
+<suite.member href="nodevalue01.xml"/>
+<suite.member href="nodevalue02.xml"/>
+<suite.member href="nodevalue03.xml"/>
+<suite.member href="nodevalue04.xml"/>
+<suite.member href="nodevalue05.xml"/>
+<suite.member href="nodevalue06.xml"/>
+<suite.member href="nodevalue07.xml"/>
+<suite.member href="nodevalue08.xml"/>
+<suite.member href="nodevalue09.xml"/>
+<!-- HTML compatible equivalents of the previous tests that
+ only used Fundamental interfaces -->
+<suite.member href="hc_attrcreatedocumentfragment.xml"/>
+<suite.member href="hc_attrcreatetextnode.xml"/>
+<suite.member href="hc_attrcreatetextnode2.xml"/>
+<suite.member href="hc_attreffectivevalue.xml"/>
+<suite.member href="hc_attrname.xml"/>
+<suite.member href="hc_attrnextsiblingnull.xml"/>
+<suite.member href="hc_attrparentnodenull.xml"/>
+<suite.member href="hc_attrprevioussiblingnull.xml"/>
+<suite.member href="hc_attrspecifiedvalue.xml"/>
+<suite.member href="hc_attrspecifiedvaluechanged.xml"/>
+<suite.member href="hc_characterdataappenddata.xml"/>
+<suite.member href="hc_characterdataappenddatagetdata.xml"/>
+<suite.member href="hc_characterdatadeletedatabegining.xml"/>
+<suite.member href="hc_characterdatadeletedataend.xml"/>
+<suite.member href="hc_characterdatadeletedataexceedslength.xml"/>
+<suite.member href="hc_characterdatadeletedatagetlengthanddata.xml"/>
+<suite.member href="hc_characterdatadeletedatamiddle.xml"/>
+<suite.member href="hc_characterdatagetdata.xml"/>
+<suite.member href="hc_characterdatagetlength.xml"/>
+<suite.member href="hc_characterdataindexsizeerrdeletedatacountnegative.xml"/>
+<suite.member href="hc_characterdataindexsizeerrdeletedataoffsetgreater.xml"/>
+<suite.member href="hc_characterdataindexsizeerrdeletedataoffsetnegative.xml"/>
+<suite.member href="hc_characterdataindexsizeerrinsertdataoffsetgreater.xml"/>
+<suite.member href="hc_characterdataindexsizeerrinsertdataoffsetnegative.xml"/>
+<suite.member href="hc_characterdataindexsizeerrreplacedatacountnegative.xml"/>
+<suite.member href="hc_characterdataindexsizeerrreplacedataoffsetgreater.xml"/>
+<suite.member href="hc_characterdataindexsizeerrreplacedataoffsetnegative.xml"/>
+<suite.member href="hc_characterdataindexsizeerrsubstringcountnegative.xml"/>
+<suite.member href="hc_characterdataindexsizeerrsubstringnegativeoffset.xml"/>
+<suite.member href="hc_characterdataindexsizeerrsubstringoffsetgreater.xml"/>
+<suite.member href="hc_characterdatainsertdatabeginning.xml"/>
+<suite.member href="hc_characterdatainsertdataend.xml"/>
+<suite.member href="hc_characterdatainsertdatamiddle.xml"/>
+<suite.member href="hc_characterdatareplacedatabegining.xml"/>
+<suite.member href="hc_characterdatareplacedataend.xml"/>
+<suite.member href="hc_characterdatareplacedataexceedslengthofarg.xml"/>
+<suite.member href="hc_characterdatareplacedataexceedslengthofdata.xml"/>
+<suite.member href="hc_characterdatareplacedatamiddle.xml"/>
+<suite.member href="hc_characterdatasetnodevalue.xml"/>
+<suite.member href="hc_characterdatasubstringexceedsvalue.xml"/>
+<suite.member href="hc_characterdatasubstringvalue.xml"/>
+<suite.member href="hc_commentgetcomment.xml"/>
+<suite.member href="hc_documentcreateattribute.xml"/>
+<suite.member href="hc_documentcreatecomment.xml"/>
+<suite.member href="hc_documentcreatedocumentfragment.xml"/>
+<suite.member href="hc_documentcreateelement.xml"/>
+<suite.member href="hc_documentcreateelementcasesensitive.xml"/>
+<suite.member href="hc_documentcreatetextnode.xml"/>
+<suite.member href="hc_documentgetdoctype.xml"/>
+<suite.member href="hc_documentgetelementsbytagnamelength.xml"/>
+<suite.member href="hc_documentgetelementsbytagnametotallength.xml"/>
+<suite.member href="hc_documentgetelementsbytagnamevalue.xml"/>
+<suite.member href="hc_documentgetimplementation.xml"/>
+<suite.member href="hc_documentgetrootnode.xml"/>
+<suite.member href="hc_documentinvalidcharacterexceptioncreateattribute.xml"/>
+<suite.member href="hc_documentinvalidcharacterexceptioncreateattribute1.xml"/>
+<suite.member href="hc_documentinvalidcharacterexceptioncreateelement.xml"/>
+<suite.member href="hc_documentinvalidcharacterexceptioncreateelement1.xml"/>
+<suite.member href="hc_domimplementationfeaturenoversion.xml"/>
+<suite.member href="hc_domimplementationfeaturenull.xml"/>
+<suite.member href="hc_domimplementationfeaturexml.xml"/>
+<suite.member href="hc_elementaddnewattribute.xml"/>
+<suite.member href="hc_elementassociatedattribute.xml"/>
+<suite.member href="hc_elementchangeattributevalue.xml"/>
+<suite.member href="hc_elementcreatenewattribute.xml"/>
+<suite.member href="hc_elementgetattributenode.xml"/>
+<suite.member href="hc_elementgetattributenodenull.xml"/>
+<suite.member href="hc_elementgetelementempty.xml"/>
+<suite.member href="hc_elementgetelementsbytagname.xml"/>
+<suite.member href="hc_elementgetelementsbytagnameaccessnodelist.xml"/>
+<suite.member href="hc_elementgetelementsbytagnamenomatch.xml"/>
+<suite.member href="hc_elementgetelementsbytagnamespecialvalue.xml"/>
+<suite.member href="hc_elementgettagname.xml"/>
+<suite.member href="hc_elementinuseattributeerr.xml"/>
+<suite.member href="hc_elementinvalidcharacterexception.xml"/>
+<suite.member href="hc_elementinvalidcharacterexception1.xml"/>
+<suite.member href="hc_elementnormalize.xml"/>
+<suite.member href="hc_elementnormalize2.xml"/>
+<suite.member href="hc_elementnotfounderr.xml"/>
+<suite.member href="hc_elementremoveattribute.xml"/>
+<suite.member href="hc_elementremoveattributeaftercreate.xml"/>
+<suite.member href="hc_elementremoveattributenode.xml"/>
+<suite.member href="hc_elementreplaceattributewithself.xml"/>
+<suite.member href="hc_elementreplaceexistingattribute.xml"/>
+<suite.member href="hc_elementreplaceexistingattributegevalue.xml"/>
+<suite.member href="hc_elementretrieveallattributes.xml"/>
+<suite.member href="hc_elementretrieveattrvalue.xml"/>
+<suite.member href="hc_elementretrievetagname.xml"/>
+<suite.member href="hc_elementsetattributenodenull.xml"/>
+<suite.member href="hc_elementwrongdocumenterr.xml"/>
+<suite.member href="hc_entitiesremovenameditem1.xml"/>
+<suite.member href="hc_entitiessetnameditem1.xml"/>
+<suite.member href="hc_namednodemapchildnoderange.xml"/>
+<suite.member href="hc_namednodemapgetnameditem.xml"/>
+<suite.member href="hc_namednodemapinuseattributeerr.xml"/>
+<suite.member href="hc_namednodemapnotfounderr.xml"/>
+<suite.member href="hc_namednodemapnumberofnodes.xml"/>
+<suite.member href="hc_namednodemapremovenameditem.xml"/>
+<suite.member href="hc_namednodemapreturnattrnode.xml"/>
+<suite.member href="hc_namednodemapreturnfirstitem.xml"/>
+<suite.member href="hc_namednodemapreturnlastitem.xml"/>
+<suite.member href="hc_namednodemapreturnnull.xml"/>
+<suite.member href="hc_namednodemapsetnameditem.xml"/>
+<suite.member href="hc_namednodemapsetnameditemreturnvalue.xml"/>
+<suite.member href="hc_namednodemapsetnameditemthatexists.xml"/>
+<suite.member href="hc_namednodemapsetnameditemwithnewvalue.xml"/>
+<suite.member href="hc_namednodemapwrongdocumenterr.xml"/>
+<suite.member href="hc_nodeappendchild.xml"/>
+<suite.member href="hc_nodeappendchildchildexists.xml"/>
+<suite.member href="hc_nodeappendchilddocfragment.xml"/>
+<suite.member href="hc_nodeappendchildgetnodename.xml"/>
+<suite.member href="hc_nodeappendchildinvalidnodetype.xml"/>
+<suite.member href="hc_nodeappendchildnewchilddiffdocument.xml"/>
+<suite.member href="hc_nodeappendchildnodeancestor.xml"/>
+<suite.member href="hc_nodeattributenodeattribute.xml"/>
+<suite.member href="hc_nodeattributenodename.xml"/>
+<suite.member href="hc_nodeattributenodetype.xml"/>
+<suite.member href="hc_nodeattributenodevalue.xml"/>
+<suite.member href="hc_nodechildnodes.xml"/>
+<suite.member href="hc_nodechildnodesappendchild.xml"/>
+<suite.member href="hc_nodechildnodesempty.xml"/>
+<suite.member href="hc_nodecloneattributescopied.xml"/>
+<suite.member href="hc_nodeclonefalsenocopytext.xml"/>
+<suite.member href="hc_nodeclonegetparentnull.xml"/>
+<suite.member href="hc_nodeclonenodefalse.xml"/>
+<suite.member href="hc_nodeclonenodetrue.xml"/>
+<suite.member href="hc_nodeclonetruecopytext.xml"/>
+<suite.member href="hc_nodecommentnodeattributes.xml"/>
+<suite.member href="hc_nodecommentnodename.xml"/>
+<suite.member href="hc_nodecommentnodetype.xml"/>
+<suite.member href="hc_nodecommentnodevalue.xml"/>
+<suite.member href="hc_nodedocumentfragmentnodename.xml"/>
+<suite.member href="hc_nodedocumentfragmentnodetype.xml"/>
+<suite.member href="hc_nodedocumentfragmentnodevalue.xml"/>
+<suite.member href="hc_nodedocumentnodeattribute.xml"/>
+<suite.member href="hc_nodedocumentnodename.xml"/>
+<suite.member href="hc_nodedocumentnodetype.xml"/>
+<suite.member href="hc_nodedocumentnodevalue.xml"/>
+<suite.member href="hc_nodeelementnodeattributes.xml"/>
+<suite.member href="hc_nodeelementnodename.xml"/>
+<suite.member href="hc_nodeelementnodetype.xml"/>
+<suite.member href="hc_nodeelementnodevalue.xml"/>
+<suite.member href="hc_nodegetfirstchild.xml"/>
+<suite.member href="hc_nodegetfirstchildnull.xml"/>
+<suite.member href="hc_nodegetlastchild.xml"/>
+<suite.member href="hc_nodegetlastchildnull.xml"/>
+<suite.member href="hc_nodegetnextsibling.xml"/>
+<suite.member href="hc_nodegetnextsiblingnull.xml"/>
+<suite.member href="hc_nodegetownerdocument.xml"/>
+<suite.member href="hc_nodegetownerdocumentnull.xml"/>
+<suite.member href="hc_nodegetprevioussibling.xml"/>
+<suite.member href="hc_nodegetprevioussiblingnull.xml"/>
+<suite.member href="hc_nodehaschildnodes.xml"/>
+<suite.member href="hc_nodehaschildnodesfalse.xml"/>
+<suite.member href="hc_nodeinsertbefore.xml"/>
+<suite.member href="hc_nodeinsertbeforedocfragment.xml"/>
+<suite.member href="hc_nodeinsertbeforeinvalidnodetype.xml"/>
+<suite.member href="hc_nodeinsertbeforenewchilddiffdocument.xml"/>
+<suite.member href="hc_nodeinsertbeforenewchildexists.xml"/>
+<suite.member href="hc_nodeinsertbeforenodeancestor.xml"/>
+<suite.member href="hc_nodeinsertbeforenodename.xml"/>
+<suite.member href="hc_nodeinsertbeforerefchildnonexistent.xml"/>
+<suite.member href="hc_nodeinsertbeforerefchildnull.xml"/>
+<suite.member href="hc_nodelistindexequalzero.xml"/>
+<suite.member href="hc_nodelistindexgetlength.xml"/>
+<suite.member href="hc_nodelistindexgetlengthofemptylist.xml"/>
+<suite.member href="hc_nodelistindexnotzero.xml"/>
+<suite.member href="hc_nodelistreturnfirstitem.xml"/>
+<suite.member href="hc_nodelistreturnlastitem.xml"/>
+<suite.member href="hc_nodelisttraverselist.xml"/>
+<suite.member href="hc_nodeparentnode.xml"/>
+<suite.member href="hc_nodeparentnodenull.xml"/>
+<suite.member href="hc_noderemovechild.xml"/>
+<suite.member href="hc_noderemovechildgetnodename.xml"/>
+<suite.member href="hc_noderemovechildnode.xml"/>
+<suite.member href="hc_noderemovechildoldchildnonexistent.xml"/>
+<suite.member href="hc_nodereplacechild.xml"/>
+<suite.member href="hc_nodereplacechildinvalidnodetype.xml"/>
+<suite.member href="hc_nodereplacechildnewchilddiffdocument.xml"/>
+<suite.member href="hc_nodereplacechildnewchildexists.xml"/>
+<suite.member href="hc_nodereplacechildnodeancestor.xml"/>
+<suite.member href="hc_nodereplacechildnodename.xml"/>
+<suite.member href="hc_nodereplacechildoldchildnonexistent.xml"/>
+<suite.member href="hc_nodetextnodeattribute.xml"/>
+<suite.member href="hc_nodetextnodename.xml"/>
+<suite.member href="hc_nodetextnodetype.xml"/>
+<suite.member href="hc_nodetextnodevalue.xml"/>
+<suite.member href="hc_nodevalue01.xml"/>
+<suite.member href="hc_nodevalue02.xml"/>
+<suite.member href="hc_nodevalue03.xml"/>
+<suite.member href="hc_nodevalue04.xml"/>
+<suite.member href="hc_nodevalue05.xml"/>
+<suite.member href="hc_nodevalue06.xml"/>
+<suite.member href="hc_nodevalue07.xml"/>
+<suite.member href="hc_nodevalue08.xml"/>
+<suite.member href="hc_notationsremovenameditem1.xml"/>
+<suite.member href="hc_notationssetnameditem1.xml"/>
+<suite.member href="hc_textindexsizeerrnegativeoffset.xml"/>
+<suite.member href="hc_textindexsizeerroffsetoutofbounds.xml"/>
+<suite.member href="hc_textparseintolistofelements.xml"/>
+<suite.member href="hc_textsplittextfour.xml"/>
+<suite.member href="hc_textsplittextone.xml"/>
+<suite.member href="hc_textsplittextthree.xml"/>
+<suite.member href="hc_textsplittexttwo.xml"/>
+<suite.member href="hc_textwithnomarkup.xml"/>
+
+<suite.member href="hc_attrappendchild1.xml"/>
+<suite.member href="hc_attrappendchild2.xml"/>
+<suite.member href="hc_attrappendchild3.xml"/>
+<suite.member href="hc_attrappendchild4.xml"/>
+<suite.member href="hc_attrappendchild5.xml"/>
+<suite.member href="hc_attrappendchild6.xml"/>
+<suite.member href="hc_attrchildnodes1.xml"/>
+<suite.member href="hc_attrchildnodes2.xml"/>
+<suite.member href="hc_attrclonenode1.xml"/>
+<suite.member href="hc_attrfirstchild.xml"/>
+<suite.member href="hc_attrgetvalue1.xml"/>
+<suite.member href="hc_attrgetvalue2.xml"/>
+<suite.member href="hc_attrhaschildnodes.xml"/>
+<suite.member href="hc_attrinsertbefore1.xml"/>
+<suite.member href="hc_attrinsertbefore2.xml"/>
+<suite.member href="hc_attrinsertbefore3.xml"/>
+<suite.member href="hc_attrinsertbefore4.xml"/>
+<suite.member href="hc_attrinsertbefore5.xml"/>
+<suite.member href="hc_attrinsertbefore6.xml"/>
+<suite.member href="hc_attrinsertbefore7.xml"/>
+<suite.member href="hc_attrlastchild.xml"/>
+<suite.member href="hc_attrnormalize.xml"/>
+<suite.member href="hc_attrremovechild1.xml"/>
+<suite.member href="hc_attrremovechild2.xml"/>
+<suite.member href="hc_attrreplacechild1.xml"/>
+<suite.member href="hc_attrreplacechild2.xml"/>
+<suite.member href="hc_attrsetvalue1.xml"/>
+<suite.member href="hc_attrsetvalue2.xml"/>
+<suite.member href="attrremovechild1.xml"/>
+<suite.member href="attrreplacechild1.xml"/>
+
+</suite>
diff --git a/test/testcases/tests/level1/core/attrcreatedocumentfragment.xml b/test/testcases/tests/level1/core/attrcreatedocumentfragment.xml
new file mode 100644
index 0000000..b07b191
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrcreatedocumentfragment.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrcreatedocumentfragment">
+<metadata>
+<title>attrCreateDocumentFragment</title>
+<creator>NIST</creator>
+<description>
+ Attr nodes may be associated with Element nodes contained within a DocumentFragment.
+ Create a new DocumentFragment and add a newly created Element node(with one attribute).
+ Once the element is added, its attribute should be available as an attribute associated
+ with an Element within a DocumentFragment.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!-- createDocumentFragment -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-35CB04B5"/>
+<!-- setAttribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+<!-- DocumentFragment -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docFragment" type="DocumentFragment"/>
+<var name="newOne" type="Element"/>
+<var name="domesticNode" type="Node"/>
+<var name="domesticAttr" type="NamedNodeMap"/>
+<var name="attrs" type="Attr"/>
+<var name="attrName" type="DOMString"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="docFragment"/>
+<createElement obj="doc" var="newOne" tagName="&quot;newElement&quot;"/>
+<setAttribute obj="newOne" name="&quot;newdomestic&quot;" value="&quot;Yes&quot;"/>
+<appendChild var="appendedChild" obj="docFragment" newChild="newOne"/>
+<firstChild interface="Node" obj="docFragment" var="domesticNode"/>
+<attributes obj="domesticNode" var="domesticAttr"/>
+<item interface="NamedNodeMap" obj="domesticAttr" var="attrs" index="0"/>
+<name interface="Attr" obj="attrs" var="attrName"/>
+<assertEquals actual="attrName" expected="&quot;newdomestic&quot;" id="attrCreateDocumentFragmentAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attrcreatetextnode.xml b/test/testcases/tests/level1/core/attrcreatetextnode.xml
new file mode 100644
index 0000000..087d5fc
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrcreatetextnode.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrcreatetextnode">
+<metadata>
+<title>attrCreateTextNode</title>
+<creator>NIST</creator>
+<description>
+ The "setValue()" method for an attribute creates a
+ Text node with the unparsed content of the string.
+ Retrieve the attribute named "street" from the last
+ child of of the fourth employee and assign the "Y&amp;ent1;"
+ string to its value attribute. This value is not yet
+ parsed and therefore should still be the same upon
+ retrieval. This test uses the "getNamedItem(name)" method
+ from the NamedNodeMap interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!-- Attr.value -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474"/>
+<!-- bug report on initial version -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0057.html"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="addressList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="streetAttr" name="&quot;street&quot;"/>
+<value interface="Attr" obj="streetAttr" value='"Y&amp;ent1;"'/>
+<value interface="Attr" obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected='"Y&amp;ent1;"' id="value" ignoreCase="false"/>
+<nodeValue obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected='"Y&amp;ent1;"' id="nodeValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attrcreatetextnode2.xml b/test/testcases/tests/level1/core/attrcreatetextnode2.xml
new file mode 100644
index 0000000..3c46a92
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrcreatetextnode2.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrcreatetextnode2">
+<metadata>
+<title>attrCreateTextNode2</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setNodeValue()" method for an attribute creates a
+ Text node with the unparsed content of the string.
+ Retrieve the attribute named "street" from the last
+ child of of the fourth employee and assign the "Y&amp;ent1;"
+ string to its value attribute. This value is not yet
+ parsed and therefore should still be the same upon
+ retrieval. This test uses the "getNamedItem(name)" method
+ from the NamedNodeMap interface.
+</description>
+<date qualifier="created">2001-10-22</date>
+<!-- Node.nodeValue -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<!-- bug report on initial version -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0057.html"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="addressList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="streetAttr" name="&quot;street&quot;"/>
+<nodeValue obj="streetAttr" value='"Y&amp;ent1;"'/>
+<value interface="Attr" obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected='"Y&amp;ent1;"' id="value" ignoreCase="false"/>
+<nodeValue obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected='"Y&amp;ent1;"' id="nodeValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attrdefaultvalue.xml b/test/testcases/tests/level1/core/attrdefaultvalue.xml
new file mode 100644
index 0000000..3b60d27
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrdefaultvalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrdefaultvalue">
+<metadata>
+<title>attrDefaultValue</title>
+<creator>NIST</creator>
+<description>
+ If there is not an explicit value assigned to an attribute
+ and there is a declaration for this attribute and that
+ declaration includes a default value, then that default
+ value is the attributes default value.
+ Retrieve the attribute named "street" from the last
+ child of of the first employee and examine its
+ value. That value should be the value given the
+ attribute in the DTD file. The test uses the
+ "getNamedItem(name)" method from the NamedNodeMap
+ interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!-- Element.attributes -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- NamedNodeMap.getNamedItem -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549"/>
+<!-- DOM WG opinion on default attributes -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html"/>
+</metadata>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="value" 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="streetAttr" name="&quot;street&quot;"/>
+<nodeValue obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected="&quot;Yes&quot;" id="attrDefaultValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attreffectivevalue.xml b/test/testcases/tests/level1/core/attreffectivevalue.xml
new file mode 100644
index 0000000..dbda4da
--- /dev/null
+++ b/test/testcases/tests/level1/core/attreffectivevalue.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attreffectivevalue">
+<metadata>
+<title>attrEffectiveValue</title>
+<creator>NIST</creator>
+<description>
+ If an Attr is explicitly assigned any value, then that value is the attributes effective value.
+ Retrieve the attribute named "domestic" from the last child of of the first employee
+ and examine its nodeValue attribute. This test uses the "getNamedItem(name)" method
+ from the NamedNodeMap interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!-- Element.attributes -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- NamedNodeMap.getNamedItem -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549"/>
+</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="value" 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;"/>
+<nodeValue obj="domesticAttr" var="value"/>
+<assertEquals actual="value" expected="&quot;Yes&quot;" id="attrEffectiveValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attrentityreplacement.xml b/test/testcases/tests/level1/core/attrentityreplacement.xml
new file mode 100644
index 0000000..d8fd431
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrentityreplacement.xml
@@ -0,0 +1,48 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrentityreplacement">
+<metadata>
+<title>attrEntityReplacement</title>
+<creator>NIST</creator>
+<description>
+ The "getValue()" method will return the value of the
+ attribute as a string. The general entity references
+ are replaced with their values.
+ Retrieve the attribute named "street" from the last
+ child of of the fourth employee and examine the string
+ returned by the "getValue()" method. The value should
+ be set to "Yes" after the EntityReference is
+ replaced with its value. This test uses the
+ "getNamedItem(name)" method from the NamedNodeMap
+ interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!-- Attr.value -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="addressList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="streetAttr" name="&quot;street&quot;"/>
+<value interface="Attr" obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected='"Yes"' id="streetYes" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attrname.xml b/test/testcases/tests/level1/core/attrname.xml
new file mode 100644
index 0000000..9243905
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrname.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrname">
+<metadata>
+<title>attrName</title>
+<creator>NIST</creator>
+<description>
+ The getNodeName() method of an Attribute node.
+ Retrieve the attribute named street from the last
+ child of of the second employee and examine its
+ NodeName. This test uses the getNamedItem(name) method from the NamedNodeMap
+ interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!-- Node.nodeName -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<!-- Attr.name -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1112119403"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<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="1"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="streetAttr" name="&quot;street&quot;"/>
+<nodeName obj="streetAttr" var="name"/>
+<assertEquals actual="name" expected="&quot;street&quot;" id="nodeName" ignoreCase="false"/>
+<name obj="streetAttr" var="name" interface="Attr"/>
+<assertEquals actual="name" expected="&quot;street&quot;" id="name" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attrnextsiblingnull.xml b/test/testcases/tests/level1/core/attrnextsiblingnull.xml
new file mode 100644
index 0000000..d425671
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrnextsiblingnull.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrnextsiblingnull">
+<metadata>
+<title>attrNextSiblingNull</title>
+<creator>NIST</creator>
+<description>
+The "getNextSibling()" method for an Attr node should return null.
+Retrieve the attribute named "domestic" from the last child of of the
+first employee and examine its NextSibling node. This test uses the
+"getNamedItem(name)" method from the NamedNodeMap interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--nextSibling attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F"/>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+</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="s" type="Node"/>
+<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;"/>
+<nextSibling interface="Node" obj="domesticAttr" var="s"/>
+<assertNull actual="s" id="attrNextSiblingNullAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attrnotspecifiedvalue.xml b/test/testcases/tests/level1/core/attrnotspecifiedvalue.xml
new file mode 100644
index 0000000..3d78bd7
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrnotspecifiedvalue.xml
@@ -0,0 +1,48 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrnotspecifiedvalue">
+<metadata>
+<title>attrNotSpecifiedValue</title>
+<creator>NIST</creator>
+<description>
+ The "getSpecified()" method for an Attr node should
+ be set to false if the attribute was not explicitly given
+ a value.
+ Retrieve the attribute named "street" from the last
+ child of of the first employee and examine the value
+ returned by the "getSpecified()" method. This test uses
+ the "getNamedItem(name)" method from the NamedNodeMap
+ interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273"/>
+<!-- DOM WG opinion on default attributes -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html"/>
+</metadata>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="state" type="boolean"/>
+<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="streetAttr" name='"street"'/>
+<specified obj="streetAttr" var="state"/>
+<assertFalse actual="state" id="streetNotSpecified"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attrparentnodenull.xml b/test/testcases/tests/level1/core/attrparentnodenull.xml
new file mode 100644
index 0000000..dd19d20
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrparentnodenull.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrparentnodenull">
+<metadata>
+<title>attrParentNodeNull</title>
+<creator>NIST</creator>
+<description>
+The "getParentNode()" method for an Attr node should return null. Retrieve
+the attribute named "domestic" from the last child of the first employee
+and examine its parentNode attribute. This test also uses the "getNamedItem(name)"
+method from the NamedNodeMap interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--parentNode attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317"/>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+</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="s" type="Node"/>
+<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;"/>
+<parentNode interface="Node" obj="domesticAttr" var="s"/>
+<assertNull actual="s" id="attrParentNodeNullAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attrprevioussiblingnull.xml b/test/testcases/tests/level1/core/attrprevioussiblingnull.xml
new file mode 100644
index 0000000..acad1bf
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrprevioussiblingnull.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrprevioussiblingnull">
+<metadata>
+<title>attrPreviousSiblingNull</title>
+<creator>NIST</creator>
+<description>
+The "getPreviousSibling()" method for an Attr node should return null.
+Retrieve the attribute named "domestic" from the last child of of the
+first employee and examine its PreviousSibling node. This test uses the
+"getNamedItem(name)" method from the NamedNodeMap interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--previousSibling attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8"/>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+</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="s" type="Node"/>
+<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;"/>
+<previousSibling interface="Node" obj="domesticAttr" var="s"/>
+<assertNull actual="s" id="attrPreviousSiblingNullAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attrremovechild1.xml b/test/testcases/tests/level1/core/attrremovechild1.xml
new file mode 100644
index 0000000..b7be293
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrremovechild1.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrremovechild1">
+<metadata>
+<title>attrremovechild1</title>
+<creator>Curt Arnold</creator>
+<description>
+Removing a child node from an attribute in an entity reference
+should result in an NO_MODIFICATION_ALLOWED_ERR DOMException.
+</description>
+<date qualifier="created">2004-01-01</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1734834066')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="entRef" type="EntityReference"/>
+<var name="entElement" type="Element"/>
+<var name="attrNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="removedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createEntityReference obj="doc" var="entRef" name='"ent4"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<firstChild var="entElement" obj="entRef" interface="Node"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<getAttributeNode var="attrNode" obj="entElement" name='"domestic"'/>
+<firstChild var="textNode" obj="attrNode" interface="Node"/>
+<assertNotNull actual="textNode" id="attrChildNotNull"/>
+<assertDOMException id="setValue_throws_NO_MODIFICATION_ERR">
+ <NO_MODIFICATION_ALLOWED_ERR>
+ <removeChild obj="attrNode" oldChild="textNode" var="removedNode"/>
+ </NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/attrreplacechild1.xml b/test/testcases/tests/level1/core/attrreplacechild1.xml
new file mode 100644
index 0000000..e6d5a20
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrreplacechild1.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrreplacechild1">
+<metadata>
+<title>attrreplacechild1</title>
+<creator>Curt Arnold</creator>
+<description>
+Replacing a child node from an attribute in an entity reference
+should result in an NO_MODIFICATION_ALLOWED_ERR DOMException.
+</description>
+<date qualifier="created">2004-01-01</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="entRef" type="EntityReference"/>
+<var name="entElement" type="Element"/>
+<var name="attrNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="removedNode" type="Node"/>
+<var name="newChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createEntityReference obj="doc" var="entRef" name='"ent4"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<firstChild var="entElement" obj="entRef" interface="Node"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<getAttributeNode var="attrNode" obj="entElement" name='"domestic"'/>
+<firstChild var="textNode" obj="attrNode" interface="Node"/>
+<assertNotNull actual="textNode" id="attrChildNotNull"/>
+<createTextNode var="newChild" obj="doc" data='"Yesterday"'/>
+<assertDOMException id="setValue_throws_NO_MODIFICATION_ERR">
+ <NO_MODIFICATION_ALLOWED_ERR>
+ <replaceChild obj="attrNode" oldChild="textNode" var="removedNode" newChild="newChild"/>
+ </NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/attrsetvaluenomodificationallowederr.xml b/test/testcases/tests/level1/core/attrsetvaluenomodificationallowederr.xml
new file mode 100644
index 0000000..a458405
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrsetvaluenomodificationallowederr.xml
@@ -0,0 +1,69 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrsetvaluenomodificationallowederr">
+<metadata>
+<title>attrSetValueNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "setValue()" 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. Get the "domestic" attribute
+ from the entity reference and execute the "setValue()" 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/2000/WD-DOM-Level-1-20000929/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core#ID-221662474"/>
+<subject resource="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core#xpointer(id('ID-221662474')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474"/>
+</metadata>
+<implementationAttribute name="expandEntityReferences" 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="g" type="Node"/>
+<var name="attrList" type="NamedNodeMap"/>
+<var name="attrNode" type="Attr"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<assertNotNull actual="gender" id="genderNotNull"/>
+<childNodes obj="gender" var="genList"/>
+<item interface="NodeList" obj="genList" var="gen" index="0"/>
+<assertNotNull actual="gen" id="genderFirstChildNotNull"/>
+<childNodes obj="gen" var="gList"/>
+<item interface="NodeList" obj="gList" var="g" index="0"/>
+<assertNotNull actual="g" id="genderFirstGrandchildNotNull"/>
+<attributes obj="g" var="attrList"/>
+<assertNotNull actual="attrList" id="attributesNotNull"/>
+<getNamedItem obj="attrList" var="attrNode" name='"domestic"'/>
+<assertNotNull actual="attrNode" id="attrNotNull"/>
+<assertDOMException id="setValue_throws_NO_MODIFICATION">
+ <NO_MODIFICATION_ALLOWED_ERR>
+ <value interface="Attr" obj="attrNode" value='"newvalue"'/>
+ </NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+<assertDOMException id="setNodeValue_throws_NO_MODIFICATION">
+ <NO_MODIFICATION_ALLOWED_ERR>
+ <nodeValue interface="Node" obj="attrNode" value='"newvalue2"'/>
+ </NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/attrsetvaluenomodificationallowederrEE.xml b/test/testcases/tests/level1/core/attrsetvaluenomodificationallowederrEE.xml
new file mode 100644
index 0000000..cdc72b1
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrsetvaluenomodificationallowederrEE.xml
@@ -0,0 +1,65 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrsetvaluenomodificationallowederrEE">
+<metadata>
+<title>attrSetValueNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setValue()" method for an attribute causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Create an entity reference using document.createEntityReference()
+ Get the "domestic" attribute from the entity
+ reference and execute the "setValue()" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<date qualifier="created">2001-08-22</date>
+<subject resource="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core#ID-221662474"/>
+<subject resource="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core#xpointer(id('ID-221662474')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/attrsetvaluenomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="entRef" type="EntityReference"/>
+<var name="entElement" type="Element"/>
+<var name="attrList" type="NamedNodeMap"/>
+<var name="attrNode" type="Node"/>
+<var name="gender" type="Node"/>
+<var name="genderList" type="NodeList"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<assertNotNull actual="gender" id="genderNotNull"/>
+<createEntityReference obj="doc" var="entRef" name='"ent4"'/>
+<assertNotNull actual="entRef" id="entRefNotNull"/>
+<appendChild obj="gender" newChild="entRef" var="appendedChild"/>
+<firstChild obj="entRef" var="entElement" interface="Node"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<attributes obj="entElement" var="attrList"/>
+<getNamedItem obj="attrList" var="attrNode" name="&quot;domestic&quot;"/>
+<assertDOMException id="setValue_throws_NO_MODIFICATION">
+ <NO_MODIFICATION_ALLOWED_ERR>
+ <value interface="Attr" obj="attrNode" value='"newvalue"'/>
+ </NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+<assertDOMException id="setNodeValue_throws_NO_MODIFICATION">
+ <NO_MODIFICATION_ALLOWED_ERR>
+ <nodeValue interface="Node" obj="attrNode" value='"newvalue2"'/>
+ </NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/attrspecifiedvalue.xml b/test/testcases/tests/level1/core/attrspecifiedvalue.xml
new file mode 100644
index 0000000..74be629
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrspecifiedvalue.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrspecifiedvalue">
+<metadata>
+<title>attrSpecifiedValue</title>
+<creator>NIST</creator>
+<description>
+ The "getSpecified()" method for an Attr node should
+ be set to true if the attribute was explicitly given
+ a value.
+ Retrieve the attribute named "domestic" from the last
+ child of of the first employee and examine the value
+ returned by the "getSpecified()" method. This test uses
+ the "getNamedItem(name)" method from the NamedNodeMap
+ interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273"/>
+</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="state" type="boolean"/>
+<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='"domestic"'/>
+<specified obj="domesticAttr" var="state"/>
+<assertTrue actual="state" id="domesticSpecified"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attrspecifiedvaluechanged.xml b/test/testcases/tests/level1/core/attrspecifiedvaluechanged.xml
new file mode 100644
index 0000000..9bd9c10
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrspecifiedvaluechanged.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrspecifiedvaluechanged">
+<metadata>
+<title>attrSpecifiedValueChanged</title>
+<creator>NIST</creator>
+<description>
+ The "getSpecified()" method for an Attr node should return true if the
+ value of the attribute is changed.
+ Retrieve the attribute named "street" from the last
+ child of of the THIRD employee and change its
+ value to "Yes"(which is the default DTD value). This
+ should cause the "getSpecified()" method to be true.
+ This test uses the "setAttribute(name,value)" method
+ from the Element interface and the "getNamedItem(name)"
+ method from the NamedNodeMap interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="addressList" var="testNode" index="2"/>
+<setAttribute obj="testNode" name="&quot;street&quot;" value="&quot;Yes&quot;"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="streetAttr" name="&quot;street&quot;"/>
+<specified obj="streetAttr" var="state"/>
+<assertTrue actual="state" id="streetSpecified"/>
+</test>
diff --git a/test/testcases/tests/level1/core/attrspecifiedvalueremove.xml b/test/testcases/tests/level1/core/attrspecifiedvalueremove.xml
new file mode 100644
index 0000000..c238214
--- /dev/null
+++ b/test/testcases/tests/level1/core/attrspecifiedvalueremove.xml
@@ -0,0 +1,55 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="attrspecifiedvalueremove">
+<metadata>
+<title>attrSpecifiedValueRemove</title>
+<creator>NIST</creator>
+<description>
+To respecify the attribute to its default value from
+the DTD, the attribute must be deleted. This will then
+make a new attribute available with the "getSpecified()"
+method value set to false.
+Retrieve the attribute named "street" from the last
+child of of the THIRD employee and delete it. This
+should then create a new attribute with its default
+value and also cause the "getSpecified()" method to
+return false.
+This test uses the "removeAttribute(name)" method
+from the Element interface and the "getNamedItem(name)"
+method from the NamedNodeMap interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--removeAttribute-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D6AC0F9"/>
+<!-- DOM WG opinion on default attributes -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html"/>
+</metadata>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="addressList" var="testNode" index="2"/>
+<removeAttribute obj="testNode" name="&quot;street&quot;"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="streetAttr" name="&quot;street&quot;"/>
+<assertNotNull actual="streetAttr" id="streetAttrNotNull"/>
+<specified obj="streetAttr" var="state"/>
+<assertFalse actual="state" id="attrSpecifiedValueRemoveAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/cdatasectiongetdata.xml b/test/testcases/tests/level1/core/cdatasectiongetdata.xml
new file mode 100644
index 0000000..7bb6841
--- /dev/null
+++ b/test/testcases/tests/level1/core/cdatasectiongetdata.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="cdatasectiongetdata">
+<metadata>
+<title>cdataSectionGetValue</title>
+<creator>NIST</creator>
+<description>
+Retrieve the last CDATASection node located inside the
+second child of the second employee and examine its
+content. Since the CDATASection interface inherits
+from the CharacterData interface(via the Text node),
+the "getData()" method can be used to access the
+CDATA content.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+</metadata>
+<implementationAttribute name="coalescing" value="false"/>
+<var name="doc" type="Document"/>
+<var name="nameList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="lastChild" type="Node"/>
+<var name="data" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nameList" tagname="&quot;name&quot;"/>
+<item interface="NodeList" obj="nameList" var="child" index="1"/>
+<lastChild interface="Node" obj="child" var="lastChild"/>
+<nodeType var="nodeType" obj="lastChild"/>
+<assertEquals actual="nodeType" expected="4" id="isCDATA" ignoreCase="false"/>
+<data interface="CharacterData" obj="lastChild" var="data"/>
+<assertEquals actual="data" expected='"This is an adjacent CDATASection with a reference to a tab &amp;tab;"' id="data" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/cdatasectionnormalize.xml b/test/testcases/tests/level1/core/cdatasectionnormalize.xml
new file mode 100644
index 0000000..ce654f6
--- /dev/null
+++ b/test/testcases/tests/level1/core/cdatasectionnormalize.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="cdatasectionnormalize">
+<metadata>
+<title>cdataSectionNormalize</title>
+<creator>NIST</creator>
+<description>
+Adjacent CDATASection nodes cannot be merged together by
+use of the "normalize()" method from the Element interface.
+Retrieve second child of the second employee and invoke
+the "normalize()" method. The Element under contains
+two CDATASection nodes that should not be merged together
+by the "normalize()" method.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="nameList" type="NodeList"/>
+<var name="lChild" type="Element"/>
+<var name="childNodes" type="NodeList"/>
+<var name="cdataN" type="CDATASection"/>
+<var name="data" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="nameList" tagname="&quot;name&quot;"/>
+<item interface="NodeList" obj="nameList" var="lChild" index="1"/>
+<normalize obj="lChild"/>
+<childNodes obj="lChild" var="childNodes"/>
+<item interface="NodeList" obj="childNodes" var="cdataN" index="1"/>
+<assertNotNull actual="cdataN" id="firstCDATASection"/>
+<data interface="CharacterData" obj="cdataN" var="data"/>
+<assertEquals actual="data" expected='"This is a CDATASection with EntityReference number 2 &amp;ent2;"' ignoreCase="false" id="data1"/>
+<item interface="NodeList" obj="childNodes" var="cdataN" index="3"/>
+<assertNotNull actual="cdataN" id="secondCDATASection"/>
+<data interface="CharacterData" obj="cdataN" var="data"/>
+<assertEquals actual="data" expected='"This is an adjacent CDATASection with a reference to a tab &amp;tab;"' ignoreCase="false" id="data3"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataappenddata.xml b/test/testcases/tests/level1/core/characterdataappenddata.xml
new file mode 100644
index 0000000..057efb6
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataappenddata.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataappenddata">
+<metadata>
+<title>characterdataAppendData</title>
+<creator>NIST</creator>
+<description>
+ The "appendData(arg)" method appends a string to the end
+ of the character data of the node.
+
+ Retrieve the character data from the second child
+ of the first employee. The appendData(arg) method is
+ called with arg=", Esquire". The method should append
+ the specified data to the already existing character
+ data. The new value return by the "getLength()" method
+ should be 24.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childValue" type="DOMString"/>
+<var name="childLength" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;name&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<appendData obj="child" arg="&quot;, Esquire&quot;"/>
+<data obj="child" var="childValue" interface="CharacterData"/>
+<length obj="childValue" var="childLength" interface="DOMString"/>
+<assertEquals actual="childLength" expected="24" ignoreCase="false" id="characterdataAppendDataAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataappenddatagetdata.xml b/test/testcases/tests/level1/core/characterdataappenddatagetdata.xml
new file mode 100644
index 0000000..3d49021
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataappenddatagetdata.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataappenddatagetdata">
+<metadata>
+<title>characterdataAppendDataGetData</title>
+<creator>NIST</creator>
+<description>
+ On successful invocation of the "appendData(arg)"
+ method the "getData()" method provides access to the
+ concatentation of data and the specified string.
+
+ Retrieve the character data from the second child
+ of the first employee. The appendData(arg) method is
+ called with arg=", Esquire". The method should append
+ the specified data to the already existing character
+ data. The new value return by the "getData()" method
+ should be "Margaret Martin, Esquire".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;name&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<appendData obj="child" arg="&quot;, Esquire&quot;"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;Margaret Martin, Esquire&quot;" id="characterdataAppendDataGetDataAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataappenddatanomodificationallowederr.xml b/test/testcases/tests/level1/core/characterdataappenddatanomodificationallowederr.xml
new file mode 100644
index 0000000..3e556d9
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataappenddatanomodificationallowederr.xml
@@ -0,0 +1,59 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataappenddatanomodificationallowederr">
+<metadata>
+<title>characterdataAppendDataNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "appendData(arg)" method raises a NO_MODIFICATION_ALLOWED_ERR
+ DOMException 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 "appendData(arg)" 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-32791A2F')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="genderNode" type="Node"/>
+<var name="entElement" type="Node"/>
+<var name="entElementContent" type="Node"/>
+<var name="entReference" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item interface="NodeList" obj="genderList" index="2" var="genderNode"/>
+<firstChild var="entReference" obj="genderNode" interface="Node"/>
+<assertNotNull actual="entReference" id="entReferenceNotNull"/>
+<nodeType var="nodeType" obj="entReference"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entReference" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="entReference" id="createdEntRefNotNull"/>
+</if>
+<firstChild var="entElement" obj="entReference" interface="Node"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<firstChild var="entElementContent" obj="entElement" interface="Node"/>
+<assertNotNull actual="entElementContent" id="entElementContentNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<appendData obj="entElementContent" arg="&quot;newString&quot;"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataappenddatanomodificationallowederrEE.xml b/test/testcases/tests/level1/core/characterdataappenddatanomodificationallowederrEE.xml
new file mode 100644
index 0000000..ba69184
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataappenddatanomodificationallowederrEE.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataappenddatanomodificationallowederrEE">
+<metadata>
+<title>characterdataAppendDataNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+Create an ent3 entity reference and call appendData on a text child, should thrown a NO_MODIFICATION_ALLOWED_ERR.
+</description>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-32791A2F')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/characterdataappenddatanomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="genderNode" type="Node"/>
+<var name="entText" type="Node"/>
+<var name="entReference" type="EntityReference"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item interface="NodeList" obj="genderList" index="2" var="genderNode"/>
+<createEntityReference var="entReference" obj="doc" name='"ent3"'/>
+<assertNotNull actual="entReference" id="createdEntRefNotNull"/>
+<appendChild obj="genderNode" newChild="entReference" var="appendedChild"/>
+<firstChild var="entText" obj="entReference" interface="Node"/>
+<assertNotNull actual="entText" id="entTextNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<appendData obj="entText" arg='"newString"'/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatadeletedatabegining.xml b/test/testcases/tests/level1/core/characterdatadeletedatabegining.xml
new file mode 100644
index 0000000..d1cf6a3
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatadeletedatabegining.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatadeletedatabegining">
+<metadata>
+<title>characterdataDeleteDataBeginning</title>
+<creator>NIST</creator>
+<description>
+The "deleteData(offset,count)" method removes a range of
+characters from the node. Delete data at the beginning
+of the character data.
+
+Retrieve the character data from the last child of the
+first employee. The "deleteData(offset,count)"
+method is then called with offset=0 and count=16.
+The method should delete the characters from position
+0 thru position 16. The new value of the character data
+should be "Dallas, Texas 98551".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<deleteData obj="child" offset="0" count="16"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;Dallas, Texas 98551&quot;" id="characterdataDeleteDataBeginingAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatadeletedataend.xml b/test/testcases/tests/level1/core/characterdatadeletedataend.xml
new file mode 100644
index 0000000..052ae11
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatadeletedataend.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatadeletedataend">
+<metadata>
+<title>characterdataDeleteDataEnd</title>
+<creator>NIST</creator>
+<description>
+ The "deleteData(offset,count)" method removes a range of
+ characters from the node. Delete data at the end
+ of the character data.
+
+ Retrieve the character data from the last child of the
+ first employee. The "deleteData(offset,count)"
+ method is then called with offset=30 and count=5.
+ The method should delete the characters from position
+ 30 thru position 35. The new value of the character data
+ should be "1230 North Ave. Dallas, Texas".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<deleteData obj="child" offset="30" count="5"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;1230 North Ave. Dallas, Texas &quot;" id="characterdataDeleteDataEndAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatadeletedataexceedslength.xml b/test/testcases/tests/level1/core/characterdatadeletedataexceedslength.xml
new file mode 100644
index 0000000..fe80a3b
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatadeletedataexceedslength.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatadeletedataexceedslength">
+<metadata>
+<title>characterdataDeleteDataExceedsLength</title>
+<creator>NIST</creator>
+<description>
+ If the sum of the offset and count used in the
+ "deleteData(offset,count) method is greater than the
+ length of the character data then all the characters
+ from the offset to the end of the data are deleted.
+
+ Retrieve the character data from the last child of the
+ first employee. The "deleteData(offset,count)"
+ method is then called with offset=4 and count=50.
+ The method should delete the characters from position 4
+ to the end of the data since the offset+count(50+4)
+ is greater than the length of the character data(35).
+ The new value of the character data should be "1230".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<deleteData obj="child" offset="4" count="50"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;1230&quot;" id="characterdataDeleteDataExceedsLengthAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatadeletedatagetlengthanddata.xml b/test/testcases/tests/level1/core/characterdatadeletedatagetlengthanddata.xml
new file mode 100644
index 0000000..533a19e
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatadeletedatagetlengthanddata.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatadeletedatagetlengthanddata">
+<metadata>
+<title>characterdataDeleteDataGetLengthAndData</title>
+<creator>NIST</creator>
+<description>
+ On successful invocation of the "deleteData(offset,count)"
+ method, the "getData()" and "getLength()" methods reflect
+ the changes.
+
+ Retrieve the character data from the last child of the
+ first employee. The "deleteData(offset,count)"
+ method is then called with offset=30 and count=5.
+ The method should delete the characters from position
+ 30 thru position 35. The new value of the character data
+ should be "1230 North Ave. Dallas, Texas" which is
+ returned by the "getData()" method and "getLength()"
+ method should return 30".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<var name="childLength" type="int"/>
+<var name="result" type="List"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<deleteData obj="child" offset="30" count="5"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;1230 North Ave. Dallas, Texas &quot;" ignoreCase="false" id="data"/>
+<length interface="CharacterData" obj="child" var="childLength"/>
+<assertEquals actual="childLength" expected="30" ignoreCase="false" id="length"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatadeletedatamiddle.xml b/test/testcases/tests/level1/core/characterdatadeletedatamiddle.xml
new file mode 100644
index 0000000..8488008
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatadeletedatamiddle.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatadeletedatamiddle">
+<metadata>
+<title>characterdataDeleteDataMiddle</title>
+<creator>NIST</creator>
+<description>
+ The "deleteData(offset,count)" method removes a range of
+ characters from the node. Delete data in the middle
+ of the character data.
+
+ Retrieve the character data from the last child of the
+ first employee. The "deleteData(offset,count)"
+ method is then called with offset=16 and count=8.
+ The method should delete the characters from position
+ 16 thru position 24. The new value of the character data
+ should be "1230 North Ave. Texas 98551".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<deleteData obj="child" offset="16" count="8"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;1230 North Ave. Texas 98551&quot;" id="characterdataDeleteDataMiddleAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatadeletedatanomodificationallowederr.xml b/test/testcases/tests/level1/core/characterdatadeletedatanomodificationallowederr.xml
new file mode 100644
index 0000000..d11c731
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatadeletedatanomodificationallowederr.xml
@@ -0,0 +1,59 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatadeletedatanomodificationallowederr">
+<metadata>
+<title>characterdataDeleteDataNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "deleteData(offset,count)" method raises a NO_MODIFICATION_ALLOWED_ERR
+ DOMException 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 "deleteData(offset,count)" 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="genderNode" type="Node"/>
+<var name="entElement" type="Node"/>
+<var name="entElementContent" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="entReference" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item interface="NodeList" obj="genderList" index="2" var="genderNode"/>
+<firstChild var="entReference" obj="genderNode" interface="Node"/>
+<assertNotNull actual="entReference" id="entReferenceNotNull"/>
+<nodeType var="nodeType" obj="entReference"/>
+<if><equals actual="nodeType" expected="3"/>
+ <createEntityReference var="entReference" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="entReference" id="createdEntRefNotNull"/>
+</if>
+<firstChild var="entElement" obj="entReference" interface="Node"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<firstChild var="entElementContent" obj="entElement" interface="Node"/>
+<assertNotNull actual="entElementContent" id="entElementContentNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<deleteData obj="entElementContent" offset="1" count="3"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatadeletedatanomodificationallowederrEE.xml b/test/testcases/tests/level1/core/characterdatadeletedatanomodificationallowederrEE.xml
new file mode 100644
index 0000000..566e16f
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatadeletedatanomodificationallowederrEE.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatadeletedatanomodificationallowederrEE">
+<metadata>
+<title>characterdataDeleteDataNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+Create an ent3 entity reference and call deleteData on a text child, should thrown a NO_MODIFICATION_ALLOWED_ERR.
+</description>
+<date qualifier="created">2001-08-20</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/characterdatadeletedatanomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="genderNode" type="Node"/>
+<var name="entText" type="Node"/>
+<var name="entReference" type="EntityReference"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item interface="NodeList" obj="genderList" index="2" var="genderNode"/>
+<createEntityReference obj="doc" var="entReference" name='"ent3"'/>
+<assertNotNull actual="entReference" id="createdEntRefNotNull"/>
+<appendChild obj="genderNode" newChild="entReference" var="appendedChild"/>
+<firstChild var="entText" obj="entReference" interface="Node"/>
+<assertNotNull actual="entText" id="entTextNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<deleteData obj="entText" offset="1" count="3"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatagetdata.xml b/test/testcases/tests/level1/core/characterdatagetdata.xml
new file mode 100644
index 0000000..e253b45
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatagetdata.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatagetdata">
+<metadata>
+<title>characterdataGetData</title>
+<creator>NIST</creator>
+<description>
+
+ The "getData()" method retrieves the character data
+
+ currently stored in the node.
+
+ Retrieve the character data from the second child
+
+ of the first employee and invoke the "getData()"
+
+ method. The method returns the character data
+
+ string.
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;name&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;Margaret Martin&quot;" id="characterdataGetDataAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatagetlength.xml b/test/testcases/tests/level1/core/characterdatagetlength.xml
new file mode 100644
index 0000000..6b87ff6
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatagetlength.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatagetlength">
+<metadata>
+<title>characterdataGetLength</title>
+<creator>NIST</creator>
+<description>
+ The "getLength()" method returns the number of characters
+ stored in this nodes data.
+ Retrieve the character data from the second
+ child of the first employee and examine the
+ value returned by the getLength() method.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childValue" type="DOMString"/>
+<var name="childLength" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;name&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<data var="childValue" obj="child" interface="CharacterData"/>
+<length var="childLength" obj="childValue" interface="DOMString"/>
+<assertEquals actual="childLength" expected="15" ignoreCase="false" id="characterdataGetLengthAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataindexsizeerrdeletedatacountnegative.xml b/test/testcases/tests/level1/core/characterdataindexsizeerrdeletedatacountnegative.xml
new file mode 100644
index 0000000..c745fa2
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataindexsizeerrdeletedatacountnegative.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataindexsizeerrdeletedatacountnegative">
+<metadata>
+<title>characterdataIndexSizeErrDeleteDataCountNegative</title>
+<creator>NIST</creator>
+<description>
+ The "deleteData(offset,count)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified count
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its "deleteData(offset,count)"
+ method with offset=10 and count=-3. It should raise the
+ desired exception since the count is negative.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<deleteData obj="child" offset="10" count="-3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataindexsizeerrdeletedataoffsetgreater.xml b/test/testcases/tests/level1/core/characterdataindexsizeerrdeletedataoffsetgreater.xml
new file mode 100644
index 0000000..807ae51
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataindexsizeerrdeletedataoffsetgreater.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataindexsizeerrdeletedataoffsetgreater">
+<metadata>
+<title>characterdataIndexSizeErrDeleteDataOffsetGreater</title>
+<creator>NIST</creator>
+<description>
+ The "deleteData(offset,count)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is greater that the number of characters in the string.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its "deleteData(offset,count)"
+ method with offset=40 and count=3. It should raise the
+ desired exception since the offset is greater than the
+ number of characters in the string.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throw_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<deleteData obj="child" offset="40" count="3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataindexsizeerrdeletedataoffsetnegative.xml b/test/testcases/tests/level1/core/characterdataindexsizeerrdeletedataoffsetnegative.xml
new file mode 100644
index 0000000..cffc8a1
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataindexsizeerrdeletedataoffsetnegative.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataindexsizeerrdeletedataoffsetnegative">
+<metadata>
+<title>characterdataIndexSizeErrDeleteDataOffsetNegative</title>
+<creator>NIST</creator>
+<description>
+ The "deleteData(offset,count)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its "deleteData(offset,count)"
+ method with offset=-5 and count=3. It should raise the
+ desired exception since the offset is negative.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<deleteData obj="child" offset="-5" count="3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataindexsizeerrinsertdataoffsetgreater.xml b/test/testcases/tests/level1/core/characterdataindexsizeerrinsertdataoffsetgreater.xml
new file mode 100644
index 0000000..54cb2ff
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataindexsizeerrinsertdataoffsetgreater.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataindexsizeerrinsertdataoffsetgreater">
+<metadata>
+<title>characterdataIndexSizeErrInsertDataOffsetGreater</title>
+<creator>NIST</creator>
+<description>
+ The "insertData(offset,arg)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is greater than the number of characters in the string.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its insertData"(offset,arg)"
+ method with offset=40 and arg="ABC". It should raise
+ the desired exception since the offset is greater than
+ the number of characters in the string.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throw_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<insertData obj="child" offset="40" arg="&quot;ABC&quot;"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataindexsizeerrinsertdataoffsetnegative.xml b/test/testcases/tests/level1/core/characterdataindexsizeerrinsertdataoffsetnegative.xml
new file mode 100644
index 0000000..9239e1a
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataindexsizeerrinsertdataoffsetnegative.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataindexsizeerrinsertdataoffsetnegative">
+<metadata>
+<title>characterdataIndexSizeErrInsertDataOffsetNegative</title>
+<creator>NIST</creator>
+<description>
+ The "insertData(offset,arg)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its insertData"(offset,arg)"
+ method with offset=-5 and arg="ABC". It should raise
+ the desired exception since the offset is negative.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<insertData obj="child" offset="-5" arg="&quot;ABC&quot;"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataindexsizeerrreplacedatacountnegative.xml b/test/testcases/tests/level1/core/characterdataindexsizeerrreplacedatacountnegative.xml
new file mode 100644
index 0000000..7e731be
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataindexsizeerrreplacedatacountnegative.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataindexsizeerrreplacedatacountnegative">
+<metadata>
+<title>characterdataIndexSizeErrReplaceDataCountNegative</title>
+<creator>NIST</creator>
+<description>
+ The "replaceData(offset,count,arg)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified count
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its
+ "replaceData(offset,count,arg) method with offset=10
+ and count=-3 and arg="ABC". It should raise the
+ desired exception since the count is negative.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<replaceData obj="child" offset="10" count="-3" arg="&quot;ABC&quot;"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataindexsizeerrreplacedataoffsetgreater.xml b/test/testcases/tests/level1/core/characterdataindexsizeerrreplacedataoffsetgreater.xml
new file mode 100644
index 0000000..40973c7
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataindexsizeerrreplacedataoffsetgreater.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataindexsizeerrreplacedataoffsetgreater">
+<metadata>
+<title>characterdataIndexSizeErrReplaceDataOffsetGreater</title>
+<creator>NIST</creator>
+<description>
+ The "replaceData(offset,count,arg)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is greater than the length of the string.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its
+ "replaceData(offset,count,arg) method with offset=40
+ and count=3 and arg="ABC". It should raise the
+ desired exception since the offset is greater than the
+ length of the string.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throw_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<replaceData obj="child" offset="40" count="3" arg="&quot;ABC&quot;"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataindexsizeerrreplacedataoffsetnegative.xml b/test/testcases/tests/level1/core/characterdataindexsizeerrreplacedataoffsetnegative.xml
new file mode 100644
index 0000000..968087a
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataindexsizeerrreplacedataoffsetnegative.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataindexsizeerrreplacedataoffsetnegative">
+<metadata>
+<title>characterdataIndexSizeErrReplaceDataOffsetNegative</title>
+<creator>NIST</creator>
+<description>
+ The "replaceData(offset,count,arg)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its
+ "replaceData(offset,count,arg) method with offset=-5
+ and count=3 and arg="ABC". It should raise the
+ desired exception since the offset is negative.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<replaceData obj="child" offset="-5" count="3" arg="&quot;ABC&quot;"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataindexsizeerrsubstringcountnegative.xml b/test/testcases/tests/level1/core/characterdataindexsizeerrsubstringcountnegative.xml
new file mode 100644
index 0000000..d178d8d
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataindexsizeerrsubstringcountnegative.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataindexsizeerrsubstringcountnegative">
+<metadata>
+<title>characterdataIndexSizeErrSubstringCountNegative</title>
+<creator>NIST</creator>
+<description>
+ The "substringData(offset,count)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified count
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its "substringData(offset,count)
+ method with offset=10 and count=-3. It should raise the
+ desired exception since the count is negative.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="badSubstring" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<substringData var="badSubstring" obj="child" offset="10" count="-3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataindexsizeerrsubstringnegativeoffset.xml b/test/testcases/tests/level1/core/characterdataindexsizeerrsubstringnegativeoffset.xml
new file mode 100644
index 0000000..55e56d0
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataindexsizeerrsubstringnegativeoffset.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataindexsizeerrsubstringnegativeoffset">
+<metadata>
+<title>characterdataIndexSizeErrSubstringNegativeOffset</title>
+<creator>NIST</creator>
+<description>
+ The "substringData(offset,count)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its "substringData(offset,count)
+ method with offset=-5 and count=3. It should raise the
+ desired exception since the offset is negative.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="badString" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<substringData var="badString" obj="child" offset="-5" count="3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdataindexsizeerrsubstringoffsetgreater.xml b/test/testcases/tests/level1/core/characterdataindexsizeerrsubstringoffsetgreater.xml
new file mode 100644
index 0000000..d33211d
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdataindexsizeerrsubstringoffsetgreater.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdataindexsizeerrsubstringoffsetgreater">
+<metadata>
+<title>characterdataIndexSizeErrSubstringOffsetGreater</title>
+<creator>NIST</creator>
+<description>
+ The "substringData(offset,count)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is greater than the number of characters in the string.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its "substringData(offset,count)
+ method with offset=40 and count=3. It should raise the
+ desired exception since the offsets value is greater
+ than the length.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="badString" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throw_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<substringData var="badString" obj="child" offset="40" count="3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatainsertdatabeginning.xml b/test/testcases/tests/level1/core/characterdatainsertdatabeginning.xml
new file mode 100644
index 0000000..0e0c7d9
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatainsertdatabeginning.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 "dom1.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatainsertdatabeginning">
+<metadata>
+<title>characterdataInsertDataBeginning</title>
+<creator>NIST</creator>
+<description>
+The "insertData(offset,arg)" method will insert a string
+at the specified character offset. Insert the data at
+the beginning of the character data.
+
+Retrieve the character data from the second child of
+the first employee. The "insertData(offset,arg)"
+method is then called with offset=0 and arg="Mss.".
+The method should insert the string "Mss." at position 0.
+The new value of the character data should be
+"Mss. Margaret Martin".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--insertData-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;name&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<insertData obj="child" offset="0" arg="&quot;Mss. &quot;"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;Mss. Margaret Martin&quot;" id="characterdataInsertDataBeginningAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatainsertdataend.xml b/test/testcases/tests/level1/core/characterdatainsertdataend.xml
new file mode 100644
index 0000000..79cbd71
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatainsertdataend.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatainsertdataend">
+<metadata>
+<title>characterdataInsertDataEnd</title>
+<creator>NIST</creator>
+<description>
+ The "insertData(offset,arg)" method will insert a string
+ at the specified character offset. Insert the data at
+ the end of the character data.
+
+ Retrieve the character data from the second child of
+ the first employee. The "insertData(offset,arg)"
+ method is then called with offset=15 and arg=", Esquire".
+ The method should insert the string ", Esquire" at
+ position 15. The new value of the character data should
+ be "Margaret Martin, Esquire".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;name&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<insertData obj="child" offset="15" arg="&quot;, Esquire&quot;"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;Margaret Martin, Esquire&quot;" id="characterdataInsertDataEndAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatainsertdatamiddle.xml b/test/testcases/tests/level1/core/characterdatainsertdatamiddle.xml
new file mode 100644
index 0000000..72b51f8
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatainsertdatamiddle.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatainsertdatamiddle">
+<metadata>
+<title>characterdataInsertDataMiddle</title>
+<creator>NIST</creator>
+<description>
+ The "insertData(offset,arg)" method will insert a string
+ at the specified character offset. Insert the data in
+ the middle of the character data.
+
+ Retrieve the character data from the second child of
+ the first employee. The "insertData(offset,arg)"
+ method is then called with offset=9 and arg="Ann".
+ The method should insert the string "Ann" at position 9.
+ The new value of the character data should be
+ "Margaret Ann Martin".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;name&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<insertData obj="child" offset="9" arg="&quot;Ann &quot;"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;Margaret Ann Martin&quot;" id="characterdataInsertDataMiddleAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatainsertdatanomodificationallowederr.xml b/test/testcases/tests/level1/core/characterdatainsertdatanomodificationallowederr.xml
new file mode 100644
index 0000000..e60956f
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatainsertdatanomodificationallowederr.xml
@@ -0,0 +1,59 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatainsertdatanomodificationallowederr">
+<metadata>
+<title>characterdataInsertDataNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "insertData(offset,arg)" method raises a NO_MODIFICATION_ALLOWED_ERR
+ DOMException 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 "insertData(offset,arg)" 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-3EDB695F')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="genderNode" type="Node"/>
+<var name="entElement" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="entElementContent" type="Node"/>
+<var name="entReference" type="Node"/>
+<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 var="entReference" obj="genderNode" interface="Node"/>
+<assertNotNull actual="entReference" id="entReferenceNotNull"/>
+<nodeType var="nodeType" obj="entReference"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entReference" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="entReference" id="createdEntRefNotNull"/>
+</if>
+<firstChild var="entElement" obj="entReference" interface="Node"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<firstChild var="entElementContent" obj="entElement" interface="Node"/>
+<assertNotNull actual="entElementContent" id="entElementContentNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<insertData obj="entElementContent" offset="1" arg='"newArg"'/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatainsertdatanomodificationallowederrEE.xml b/test/testcases/tests/level1/core/characterdatainsertdatanomodificationallowederrEE.xml
new file mode 100644
index 0000000..42bd1bd
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatainsertdatanomodificationallowederrEE.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatainsertdatanomodificationallowederrEE">
+<metadata>
+<title>characterdataInsertDataNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+Create an ent3 entity reference and call insertData on a text child, should thrown a NO_MODIFICATION_ALLOWED_ERR.
+</description>
+<date qualifier="created">2001-08-20</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-3EDB695F')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/characterdatainsertdatanomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="genderNode" type="Node"/>
+<var name="entText" type="CharacterData"/>
+<var name="entReference" type="EntityReference"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item interface="NodeList" obj="genderList" index="2" var="genderNode"/>
+<createEntityReference var="entReference" obj="doc" name='"ent3"'/>
+<assertNotNull actual="entReference" id="createdEntRefNotNull"/>
+<firstChild var="entText" obj="entReference" interface="Node"/>
+<assertNotNull actual="entText" id="entTextNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<insertData obj="entText" offset="1" arg="&quot;newArg&quot;"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatareplacedatabegining.xml b/test/testcases/tests/level1/core/characterdatareplacedatabegining.xml
new file mode 100644
index 0000000..3103156
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatareplacedatabegining.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 "dom1.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatareplacedatabegining">
+<metadata>
+<title>characterdataReplaceDataBeginning</title>
+<creator>NIST</creator>
+<description>
+The "replaceData(offset,count,arg)" method replaces the
+characters starting at the specified offset with the
+specified string. Test for replacement in the
+middle of the data.
+
+Retrieve the character data from the last child of the
+first employee. The "replaceData(offset,count,arg)"
+method is then called with offset=5 and count=5 and
+arg="South". The method should replace characters five
+thru 9 of the character data with "South".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--replaceData-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<replaceData obj="child" offset="0" count="4" arg="&quot;2500&quot;"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;2500 North Ave. Dallas, Texas 98551&quot;" id="characterdataReplaceDataBeginingAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatareplacedataend.xml b/test/testcases/tests/level1/core/characterdatareplacedataend.xml
new file mode 100644
index 0000000..44ebfdf
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatareplacedataend.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatareplacedataend">
+<metadata>
+<title>characterdataReplaceDataEnd</title>
+<creator>NIST</creator>
+<description>
+ The "replaceData(offset,count,arg)" method replaces the
+ characters starting at the specified offset with the
+ specified string. Test for replacement at the
+ end of the data.
+
+ Retrieve the character data from the last child of the
+ first employee. The "replaceData(offset,count,arg)"
+ method is then called with offset=30 and count=5 and
+ arg="98665". The method should replace characters 30
+ thru 34 of the character data with "98665".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<replaceData obj="child" offset="30" count="5" arg="&quot;98665&quot;"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;1230 North Ave. Dallas, Texas 98665&quot;" id="characterdataReplaceDataEndAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatareplacedataexceedslengthofarg.xml b/test/testcases/tests/level1/core/characterdatareplacedataexceedslengthofarg.xml
new file mode 100644
index 0000000..6cefbfa
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatareplacedataexceedslengthofarg.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatareplacedataexceedslengthofarg">
+<metadata>
+<title>characterdataReplaceDataExceedsLengthOfArg</title>
+<creator>NIST</creator>
+<description>
+ The "replaceData(offset,count,arg)" method replaces the
+ characters starting at the specified offset with the
+ specified string. Test the situation where the length
+ of the arg string is greater than the specified offset.
+
+ Retrieve the character data from the last child of the
+ first employee. The "replaceData(offset,count,arg)"
+ method is then called with offset=0 and count=4 and
+ arg="260030". The method should replace characters one
+ thru four with "260030". Note that the length of the
+ specified string is greater that the specified offset.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<replaceData obj="child" offset="0" count="4" arg="&quot;260030&quot;"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;260030 North Ave. Dallas, Texas 98551&quot;" id="characterdataReplaceDataExceedsLengthOfArgAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatareplacedataexceedslengthofdata.xml b/test/testcases/tests/level1/core/characterdatareplacedataexceedslengthofdata.xml
new file mode 100644
index 0000000..1f99d88
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatareplacedataexceedslengthofdata.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatareplacedataexceedslengthofdata">
+<metadata>
+<title>characterdataReplaceDataExceedsLengthOfData</title>
+<creator>NIST</creator>
+<description>
+ If the sum of the offset and count exceeds the length then
+ all the characters to the end of the data are replaced.
+
+ Retrieve the character data from the last child of the
+ first employee. The "replaceData(offset,count,arg)"
+ method is then called with offset=0 and count=50 and
+ arg="2600". The method should replace all the characters
+ with "2600". This is because the sum of the offset and
+ count exceeds the length of the character data.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<replaceData obj="child" offset="0" count="50" arg="&quot;2600&quot;"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;2600&quot;" id="characterdataReplaceDataExceedsLengthOfDataAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatareplacedatamiddle.xml b/test/testcases/tests/level1/core/characterdatareplacedatamiddle.xml
new file mode 100644
index 0000000..c595b35
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatareplacedatamiddle.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatareplacedatamiddle">
+<metadata>
+<title>characterdataReplaceDataMiddle</title>
+<creator>NIST</creator>
+<description>
+ The "replaceData(offset,count,arg)" method replaces the
+ characters starting at the specified offset with the
+ specified string. Test for replacement in the
+ middle of the data.
+
+ Retrieve the character data from the last child of the
+ first employee. The "replaceData(offset,count,arg)"
+ method is then called with offset=5 and count=5 and
+ arg="South". The method should replace characters five
+ thru 9 of the character data with "South".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<replaceData obj="child" offset="5" count="5" arg="&quot;South&quot;"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;1230 South Ave. Dallas, Texas 98551&quot;" id="characterdataReplaceDataMiddleAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatareplacedatanomodificationallowederr.xml b/test/testcases/tests/level1/core/characterdatareplacedatanomodificationallowederr.xml
new file mode 100644
index 0000000..372a06a
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatareplacedatanomodificationallowederr.xml
@@ -0,0 +1,60 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatareplacedatanomodificationallowederr">
+<metadata>
+<title>characterdataReplaceDataNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "replaceData(offset,count,arg)" method raises a NO_MODIFICATION_ALLOWED_ERR
+ DOMException 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 "replaceData(offset,count,arg)" 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="genderNode" type="Node"/>
+<var name="entElement" type="Node"/>
+<var name="entElementContent" type="Node"/>
+<var name="entReference" 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" var="entReference" obj="genderNode"/>
+<assertNotNull actual="entReference" id="entReferenceNotNull"/>
+<nodeType var="nodeType" obj="entReference"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entReference" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="entReference" id="createdEntRefNotNull"/>
+</if>
+<firstChild var="entElement" obj="entReference" interface="Node"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<firstChild var="entElementContent" obj="entElement" interface="Node"/>
+<assertNotNull actual="entElementContent" id="entElementContentNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<replaceData obj="entElementContent" offset="1" count="3" arg="&quot;newArg&quot;"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatareplacedatanomodificationallowederrEE.xml b/test/testcases/tests/level1/core/characterdatareplacedatanomodificationallowederrEE.xml
new file mode 100644
index 0000000..0a019b7
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatareplacedatanomodificationallowederrEE.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatareplacedatanomodificationallowederrEE">
+<metadata>
+<title>characterdataReplaceDataNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+Create an ent3 entity reference and call replaceData on a text child, should thrown a NO_MODIFICATION_ALLOWED_ERR.
+</description>
+<date qualifier="created">2001-08-21</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/characterdatareplacedatanomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="genderNode" type="Node"/>
+<var name="entText" type="CharacterData"/>
+<var name="entReference" type="EntityReference"/>
+<var name="appendedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item interface="NodeList" obj="genderList" index="2" var="genderNode"/>
+<createEntityReference var="entReference" obj="doc" name='"ent3"'/>
+<assertNotNull actual="entReference" id="createdEntRefNotNull"/>
+<appendChild obj="genderNode" newChild="entReference" var="appendedNode"/>
+<firstChild var="entText" obj="entReference" interface="Node"/>
+<assertNotNull actual="entText" id="entTextNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<replaceData obj="entText" offset="1" count="3" arg='"newArg"'/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatasetdatanomodificationallowederr.xml b/test/testcases/tests/level1/core/characterdatasetdatanomodificationallowederr.xml
new file mode 100644
index 0000000..2a9c690
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatasetdatanomodificationallowederr.xml
@@ -0,0 +1,59 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatasetdatanomodificationallowederr">
+<metadata>
+<title>characterdataSetDataNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "setData(data)" method raises a NO_MODIFICATION_ALLOWED_ERR
+ DOMException 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 "setData(data)" 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-72AB8359')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="genderNode" type="Node"/>
+<var name="entElement" type="Node"/>
+<var name="entElementContent" type="Node"/>
+<var name="entReference" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item interface="NodeList" obj="genderList" index="2" var="genderNode"/>
+<firstChild var="entReference" obj="genderNode" interface="Node"/>
+<assertNotNull actual="entReference" id="entReferenceNotNull"/>
+<nodeType var="nodeType" obj="entReference"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entReference" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="entReference" id="createdEntRefNotNull"/>
+</if>
+<firstChild var="entElement" obj="entReference" interface="Node"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<firstChild var="entElementContent" obj="entElement" interface="Node"/>
+<assertNotNull actual="entElementContent" id="entElementContentNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<data interface="CharacterData" obj="entElementContent" value="&quot;newData&quot;"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatasetdatanomodificationallowederrEE.xml b/test/testcases/tests/level1/core/characterdatasetdatanomodificationallowederrEE.xml
new file mode 100644
index 0000000..4fd993f
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatasetdatanomodificationallowederrEE.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatasetdatanomodificationallowederrEE">
+<metadata>
+<title>characterdataSetDataNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+Create an ent3 entity reference and call setData on a text child, should thrown a NO_MODIFICATION_ALLOWED_ERR.
+</description>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-72AB8359')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/characterdatasetdatanomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="genderNode" type="Node"/>
+<var name="entText" type="Node"/>
+<var name="entReference" type="EntityReference"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item interface="NodeList" obj="genderList" index="4" var="genderNode"/>
+<createEntityReference var="entReference" obj="doc" name='"ent3"'/>
+<assertNotNull actual="entReference" id="createdEntRefNotNull"/>
+<firstChild var="entText" obj="entReference" interface="Node"/>
+<assertNotNull actual="entText" id="entTextNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<data interface="CharacterData" obj="entText" value="&quot;newData&quot;"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatasetnodevalue.xml b/test/testcases/tests/level1/core/characterdatasetnodevalue.xml
new file mode 100644
index 0000000..c03d54c
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatasetnodevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatasetnodevalue">
+<metadata>
+<title>characterdataSetNodeValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setNodeValue()" method changes the character data
+ currently stored in the node.
+ Retrieve the character data from the second child
+ of the first employee and invoke the "setNodeValue()"
+ method, call "getData()" and compare.
+</description>
+<date qualifier="created">2001-08-23</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<var name="childValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;name&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<nodeValue obj="child" value="&quot;Marilyn Martin&quot;"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected="&quot;Marilyn Martin&quot;" id="data" ignoreCase="false"/>
+<nodeValue obj="child" var="childValue"/>
+<assertEquals actual="childValue" expected="&quot;Marilyn Martin&quot;" id="value" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatasubstringexceedsvalue.xml b/test/testcases/tests/level1/core/characterdatasubstringexceedsvalue.xml
new file mode 100644
index 0000000..d045e8c
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatasubstringexceedsvalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatasubstringexceedsvalue">
+<metadata>
+<title>characterdataSubStringExceedsValue</title>
+<creator>NIST</creator>
+<description>
+ If the sum of the "offset" and "count" exceeds the
+ "length" then the "substringData(offset,count)" method
+ returns all the characters to the end of the data.
+
+ Retrieve the character data from the second child
+ of the first employee and access part of the data
+ by using the substringData(offset,count) method
+ with offset=9 and count=10. The method should return
+ the substring "Martin" since offset+count &gt; length
+ (19 &gt; 15).
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--CharacterData.substringData-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="substring" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;name&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<substringData obj="child" var="substring" offset="9" count="10"/>
+<assertEquals actual="substring" expected="&quot;Martin&quot;" id="characterdataSubStringExceedsValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/characterdatasubstringvalue.xml b/test/testcases/tests/level1/core/characterdatasubstringvalue.xml
new file mode 100644
index 0000000..170c186
--- /dev/null
+++ b/test/testcases/tests/level1/core/characterdatasubstringvalue.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="characterdatasubstringvalue">
+<metadata>
+<title>characterdataSubStringValue</title>
+<creator>NIST</creator>
+<description>
+ The "substringData(offset,count)" method returns the
+ specified string.
+
+ Retrieve the character data from the second child
+ of the first employee and access part of the data
+ by using the substringData(offset,count) method. The
+ method should return the specified substring starting
+ at position "offset" and extract "count" characters.
+ The method should return the string "Margaret".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--CharacterData.substringData-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="substring" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;name&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<substringData obj="child" var="substring" offset="0" count="8"/>
+<assertEquals actual="substring" expected="&quot;Margaret&quot;" id="characterdataSubStringValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/commentgetcomment.xml b/test/testcases/tests/level1/core/commentgetcomment.xml
new file mode 100644
index 0000000..6e4720d
--- /dev/null
+++ b/test/testcases/tests/level1/core/commentgetcomment.xml
@@ -0,0 +1,56 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="commentgetcomment">
+<metadata>
+<title>commentGetComment</title>
+<creator>NIST</creator>
+<description>
+ A comment is all the characters between the starting
+ '&lt;!--' and ending '--&gt;'
+ Retrieve the nodes of the DOM document. Search for a
+ comment node and the content is its value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!-- Comment interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1334481328"/>
+<!--Node.nodeName attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<!--Node.nodeValue attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<!--Node.nodeType attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="childValue" type="DOMString"/>
+<var name="commentCount" type="int" value="0"/>
+<var name="childType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<childNodes obj="doc" var="elementList"/>
+<for-each collection="elementList" member="child">
+<nodeType obj="child" var="childType"/>
+<if>
+<equals actual="childType" expected="8" ignoreCase="false"/>
+<nodeName obj="child" var="childName"/>
+<assertEquals actual="childName" expected='"#comment"' ignoreCase="false" id="nodeName"/>
+<nodeValue obj="child" var="childValue"/>
+<assertEquals actual="childValue" expected="&quot; This is comment number 1.&quot;" id="nodeValue" ignoreCase="false"/>
+<plus var="commentCount" op1="commentCount" op2="1"/>
+</if>
+</for-each>
+<assertEquals actual="commentCount" expected="1" ignoreCase="false" id="commentCount"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentcreateattribute.xml b/test/testcases/tests/level1/core/documentcreateattribute.xml
new file mode 100644
index 0000000..d34e97a
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentcreateattribute.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentcreateattribute">
+<metadata>
+<title>documentCreateAttribute</title>
+<creator>NIST</creator>
+<description>
+ The "createAttribute(name)" method creates an Attribute
+ node of the given name.
+
+ Retrieve the entire DOM document and invoke its
+ "createAttribute(name)" method. It should create a
+ new Attribute node with the given name. The name, value
+ and type of the newly created object are retrieved and
+ output.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newAttrNode" type="Attr"/>
+<var name="attrValue" type="DOMString"/>
+<var name="attrName" type="DOMString"/>
+<var name="attrType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createAttribute obj="doc" var="newAttrNode" name="&quot;district&quot;"/>
+<nodeValue obj="newAttrNode" var="attrValue"/>
+<assertEquals actual="attrValue" expected="&quot;&quot;" ignoreCase="false" id="value"/>
+<nodeName obj="newAttrNode" var="attrName"/>
+<assertEquals actual="attrName" expected="&quot;district&quot;" ignoreCase="false" id="name"/>
+<nodeType obj="newAttrNode" var="attrType"/>
+<assertEquals actual="attrType" expected="2" ignoreCase="false" id="type"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentcreatecdatasection.xml b/test/testcases/tests/level1/core/documentcreatecdatasection.xml
new file mode 100644
index 0000000..a7e287f
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentcreatecdatasection.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentcreatecdatasection">
+<metadata>
+<title>documentCreateCDATASection</title>
+<creator>NIST</creator>
+<description>
+ The "createCDATASection(data)" method creates a new
+ CDATASection node whose value is the specified string.
+ Retrieve the entire DOM document and invoke its
+ "createCDATASection(data)" method. It should create a
+ new CDATASection node whose "data" is the specified
+ string. The content, name and type are retrieved and
+ output.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D26C0AF8"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newCDATASectionNode" type="CDATASection"/>
+<var name="newCDATASectionValue" type="DOMString"/>
+<var name="newCDATASectionName" type="DOMString"/>
+<var name="newCDATASectionType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createCDATASection obj="doc" var="newCDATASectionNode" data="&quot;This is a new CDATASection node&quot;"/>
+<nodeValue obj="newCDATASectionNode" var="newCDATASectionValue"/>
+<assertEquals id="nodeValue" actual="newCDATASectionValue" expected="&quot;This is a new CDATASection node&quot;" ignoreCase="false"/>
+<nodeName obj="newCDATASectionNode" var="newCDATASectionName"/>
+<assertEquals id="nodeName" actual="newCDATASectionName" expected="&quot;#cdata-section&quot;" ignoreCase="false"/>
+<nodeType obj="newCDATASectionNode" var="newCDATASectionType"/>
+<assertEquals id="nodeType" actual="newCDATASectionType" expected="4" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentcreatecomment.xml b/test/testcases/tests/level1/core/documentcreatecomment.xml
new file mode 100644
index 0000000..337d311
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentcreatecomment.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentcreatecomment">
+<metadata>
+<title>documentCreateComment</title>
+<creator>NIST</creator>
+<description>
+ The "createComment(data)" method creates a new Comment
+ node given the specified string.
+ Retrieve the entire DOM document and invoke its
+ "createComment(data)" method. It should create a new
+ Comment node whose "data" is the specified string.
+ The content, name and type are retrieved and output.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1334481328"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newCommentNode" type="Comment"/>
+<var name="newCommentValue" type="DOMString"/>
+<var name="newCommentName" type="DOMString"/>
+<var name="newCommentType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createComment obj="doc" var="newCommentNode" data="&quot;This is a new Comment node&quot;"/>
+<nodeValue obj="newCommentNode" var="newCommentValue"/>
+<assertEquals actual="newCommentValue" expected="&quot;This is a new Comment node&quot;" ignoreCase="false" id="value"/>
+<nodeName obj="newCommentNode" var="newCommentName"/>
+<assertEquals actual="newCommentName" expected="&quot;#comment&quot;" ignoreCase="false" id="name"/>
+<nodeType obj="newCommentNode" var="newCommentType"/>
+<assertEquals actual="newCommentType" expected="8" ignoreCase="false" id="type"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentcreatedocumentfragment.xml b/test/testcases/tests/level1/core/documentcreatedocumentfragment.xml
new file mode 100644
index 0000000..8a8ee4a
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentcreatedocumentfragment.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentcreatedocumentfragment">
+<metadata>
+<title>documentCreateDocumentFragment</title>
+<creator>NIST</creator>
+<description>
+ The "createDocumentFragment()" method creates an empty
+ DocumentFragment object.
+ Retrieve the entire DOM document and invoke its
+ "createDocumentFragment()" method. The content, name,
+ type and value of the newly created object are output.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-35CB04B5"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newDocFragment" type="DocumentFragment"/>
+<var name="children" type="NodeList"/>
+<var name="length" type="int"/>
+<var name="newDocFragmentName" type="DOMString"/>
+<var name="newDocFragmentType" type="int"/>
+<var name="newDocFragmentValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="newDocFragment"/>
+<childNodes obj="newDocFragment" var="children"/>
+<length interface="NodeList" obj="children" var="length"/>
+<assertEquals actual="length" expected="0" ignoreCase="false" id="length"/>
+<nodeName obj="newDocFragment" var="newDocFragmentName"/>
+<assertEquals actual="newDocFragmentName" expected="&quot;#document-fragment&quot;" ignoreCase="false" id="name"/>
+<nodeType obj="newDocFragment" var="newDocFragmentType"/>
+<assertEquals actual="newDocFragmentType" expected="11" ignoreCase="false" id="type"/>
+<nodeValue obj="newDocFragment" var="newDocFragmentValue"/>
+<assertNull actual="newDocFragmentValue" id="value"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentcreateelement.xml b/test/testcases/tests/level1/core/documentcreateelement.xml
new file mode 100644
index 0000000..9139ad2
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentcreateelement.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentcreateelement">
+<metadata>
+<title>documentCreateElement</title>
+<creator>NIST</creator>
+<description>
+ The "createElement(tagName)" method creates an Element
+ of the type specified.
+ Retrieve the entire DOM document and invoke its
+ "createElement(tagName)" method with tagName="address".
+ The method should create an instance of an Element node
+ whose tagName is "address". The NodeName, NodeType
+ and NodeValue are returned.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newElement" type="Element"/>
+<var name="newElementName" type="DOMString"/>
+<var name="newElementType" type="int"/>
+<var name="newElementValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createElement obj="doc" var="newElement" tagName="&quot;address&quot;"/>
+<nodeName obj="newElement" var="newElementName"/>
+<assertEquals actual="newElementName" expected="&quot;address&quot;" ignoreCase="false" id="name"/>
+<nodeType obj="newElement" var="newElementType"/>
+<assertEquals actual="newElementType" expected="1" ignoreCase="false" id="type"/>
+<nodeValue obj="newElement" var="newElementValue"/>
+<assertNull actual="newElementValue" id="valueInitiallyNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentcreateelementcasesensitive.xml b/test/testcases/tests/level1/core/documentcreateelementcasesensitive.xml
new file mode 100644
index 0000000..b87e4e9
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentcreateelementcasesensitive.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentcreateelementcasesensitive">
+<metadata>
+<title>documentCreateElementCaseSensitive</title>
+<creator>NIST</creator>
+<description>
+ The tagName parameter in the "createElement(tagName)"
+ method is case-sensitive for XML documents.
+ Retrieve the entire DOM document and invoke its
+ "createElement(tagName)" method twice. Once for tagName
+ equal to "address" and once for tagName equal to "ADDRESS"
+ Each call should create a distinct Element node. The
+ newly created Elements are then assigned attributes
+ that are retrieved.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newElement1" type="Element"/>
+<var name="newElement2" type="Element"/>
+<var name="attribute1" type="DOMString"/>
+<var name="attribute2" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createElement obj="doc" var="newElement1" tagName="&quot;ADDRESS&quot;"/>
+<createElement obj="doc" var="newElement2" tagName="&quot;address&quot;"/>
+<setAttribute obj="newElement1" name="&quot;district&quot;" value="&quot;Fort Worth&quot;"/>
+<setAttribute obj="newElement2" name="&quot;county&quot;" value="&quot;Dallas&quot;"/>
+<getAttribute obj="newElement1" var="attribute1" name="&quot;district&quot;"/>
+<getAttribute obj="newElement2" var="attribute2" name="&quot;county&quot;"/>
+<assertEquals actual="attribute1" expected='"Fort Worth"' ignoreCase="false" id="attrib1"/>
+<assertEquals actual="attribute2" expected='"Dallas"' ignoreCase="false" id="attrib2"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentcreateelementdefaultattr.xml b/test/testcases/tests/level1/core/documentcreateelementdefaultattr.xml
new file mode 100644
index 0000000..e7bdcb0
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentcreateelementdefaultattr.xml
@@ -0,0 +1,53 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentcreateelementdefaultattr">
+<metadata>
+<title>documentCreateElementDefaultAttr</title>
+<creator>NIST</creator>
+<description>
+ The "createElement(tagName)" method creates an Element
+ of the type specified. In addition, if there are known attributes
+ with default values, Attr nodes representing them are automatically
+ created and attached to the element.
+ Retrieve the entire DOM document and invoke its
+ "createElement(tagName)" method with tagName="address".
+ The method should create an instance of an Element node
+ whose tagName is "address". The tagName "address" has an
+ attribute with default values, therefore the newly created element
+ will have them.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547"/>
+<!-- DOM WG opinion on default attributes -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html"/>
+</metadata>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="newElement" type="Element"/>
+<var name="defaultAttr" type="NamedNodeMap"/>
+<var name="child" type="Node"/>
+<var name="name" type="DOMString"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createElement obj="doc" var="newElement" tagName="&quot;address&quot;"/>
+<attributes obj="newElement" var="defaultAttr"/>
+<item obj="defaultAttr" var="child" index="0" interface="NamedNodeMap"/>
+<assertNotNull actual="child" id="defaultAttrNotNull"/>
+<nodeName obj="child" var="name"/>
+<assertEquals actual="name" expected="&quot;street&quot;" id="attrName" ignoreCase="false"/>
+<nodeValue obj="child" var="value"/>
+<assertEquals actual="value" expected="&quot;Yes&quot;" id="attrValue" ignoreCase="false"/>
+<assertSize collection="defaultAttr" size="1" id="attrCount"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentcreateentityreference.xml b/test/testcases/tests/level1/core/documentcreateentityreference.xml
new file mode 100644
index 0000000..2281f07
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentcreateentityreference.xml
@@ -0,0 +1,48 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentcreateentityreference">
+<metadata>
+<title>documentCreateEntityReference</title>
+<creator>NIST</creator>
+<description>
+ The "createEntityReference(name)" method creates an
+ EntityReferrence node.
+
+ Retrieve the entire DOM document and invoke its
+ "createEntityReference(name)" method. It should create
+ a new EntityReference node for the Entity with the
+ given name. The name, value and type are retrieved and
+ output.
+</description>
+<contributor>Mary Brady</contributor>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-392B75AE"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newEntRefNode" type="EntityReference"/>
+<var name="entRefValue" type="DOMString"/>
+<var name="entRefName" type="DOMString"/>
+<var name="entRefType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createEntityReference obj="doc" var="newEntRefNode" name="&quot;ent1&quot;"/>
+<assertNotNull actual="newEntRefNode" id="createdEntRefNotNull"/>
+<nodeValue obj="newEntRefNode" var="entRefValue"/>
+<assertNull actual="entRefValue" id="value"/>
+<nodeName obj="newEntRefNode" var="entRefName"/>
+<assertEquals actual="entRefName" expected="&quot;ent1&quot;" ignoreCase="false" id="name"/>
+<nodeType obj="newEntRefNode" var="entRefType"/>
+<assertEquals actual="entRefType" expected="5" ignoreCase="false" id="type"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentcreateentityreferenceknown.xml b/test/testcases/tests/level1/core/documentcreateentityreferenceknown.xml
new file mode 100644
index 0000000..96af668
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentcreateentityreferenceknown.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentcreateentityreferenceknown">
+<metadata>
+<title>documentCreateEntityReferenceKnown</title>
+<creator>NIST</creator>
+<description>
+ The "createEntityReference(name)" method creates an
+ EntityReference node. In addition, if the referenced entity
+ is known, the child list of the "EntityReference" node
+ is the same as the corresponding "Entity" node.
+
+ Retrieve the entire DOM document and invoke its
+ "createEntityReference(name)" method. It should create
+ a new EntityReference node for the Entity with the
+ given name. The referenced entity is known, therefore the child
+ list of the "EntityReference" node is the same as the corresponding
+ "Entity" node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-392B75AE"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newEntRefNode" type="EntityReference"/>
+<var name="newEntRefList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="name" type="DOMString"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createEntityReference obj="doc" var="newEntRefNode" name="&quot;ent3&quot;"/>
+<assertNotNull actual="newEntRefNode" id="createdEntRefNotNull"/>
+<childNodes obj="newEntRefNode" var="newEntRefList"/>
+<assertSize collection="newEntRefList" size="1" id="size"/>
+<firstChild interface="Node" obj="newEntRefNode" var="child"/>
+<nodeName obj="child" var="name"/>
+<assertEquals actual="name" expected="&quot;#text&quot;" ignoreCase="false" id="name"/>
+<nodeValue obj="child" var="value"/>
+<assertEquals actual="value" expected="&quot;Texas&quot;" ignoreCase="false" id="value"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentcreateprocessinginstruction.xml b/test/testcases/tests/level1/core/documentcreateprocessinginstruction.xml
new file mode 100644
index 0000000..a4d1d88
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentcreateprocessinginstruction.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentcreateprocessinginstruction">
+<metadata>
+<title>documentCreateProcessingInstruction</title>
+<creator>NIST</creator>
+<description>
+ The "createProcessingInstruction(target,data)" method
+ creates a new ProcessingInstruction node with the
+ specified name and data string.
+
+ Retrieve the entire DOM document and invoke its
+ "createProcessingInstruction(target,data)" method.
+ It should create a new PI node with the specified target
+ and data. The target, data and type are retrieved and
+ output.
+</description>
+<contributor>Mary Brady</contributor>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#"/>
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2001Apr/0020.html"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-135944439"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newPINode" type="ProcessingInstruction"/>
+<var name="piValue" type="DOMString"/>
+<var name="piName" type="DOMString"/>
+<var name="piType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createProcessingInstruction obj="doc" var="newPINode" target="&quot;TESTPI&quot;" data="&quot;This is a new PI node&quot;"/>
+<assertNotNull actual="newPINode" id="createdPINotNull"/>
+<nodeName obj="newPINode" var="piName"/>
+<assertEquals actual="piName" expected="&quot;TESTPI&quot;" ignoreCase="false" id="name"/>
+<nodeValue obj="newPINode" var="piValue"/>
+<assertEquals actual="piValue" expected="&quot;This is a new PI node&quot;" ignoreCase="false" id="value"/>
+<nodeType obj="newPINode" var="piType"/>
+<assertEquals actual="piType" expected="7" ignoreCase="false" id="type"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentcreatetextnode.xml b/test/testcases/tests/level1/core/documentcreatetextnode.xml
new file mode 100644
index 0000000..b583e12
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentcreatetextnode.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentcreatetextnode">
+<metadata>
+<title>documentCreateTextNode</title>
+<creator>NIST</creator>
+<description>
+ The "createTextNode(data)" method creates a Text node
+ given the specfied string.
+ Retrieve the entire DOM document and invoke its
+ "createTextNode(data)" method. It should create a
+ new Text node whose "data" is the specified string.
+ The NodeName and NodeType are also checked.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1975348127"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newTextNode" type="Text"/>
+<var name="newTextName" type="DOMString"/>
+<var name="newTextValue" type="DOMString"/>
+<var name="newTextType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createTextNode obj="doc" var="newTextNode" data="&quot;This is a new Text node&quot;"/>
+<nodeValue obj="newTextNode" var="newTextValue"/>
+<assertEquals actual="newTextValue" expected="&quot;This is a new Text node&quot;" ignoreCase="false" id="value"/>
+<nodeName obj="newTextNode" var="newTextName"/>
+<assertEquals actual="newTextName" expected="&quot;#text&quot;" ignoreCase="false" id="name"/>
+<nodeType obj="newTextNode" var="newTextType"/>
+<assertEquals actual="newTextType" expected="3" ignoreCase="false" id="type"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentgetdoctype.xml b/test/testcases/tests/level1/core/documentgetdoctype.xml
new file mode 100644
index 0000000..655d6f1
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentgetdoctype.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentgetdoctype">
+<metadata>
+<title>documentGetDocType</title>
+<creator>NIST</creator>
+<description>
+ The "getDoctype()" method returns the Document
+ Type Declaration associated with this document.
+ Retrieve the entire DOM document and invoke its
+ "getDoctype()" method. The name of the document
+ type should be returned. The "getName()" method
+ should be equal to "staff" or "svg".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31"/>
+<!-- Node.nodeValue -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="docTypeName" type="DOMString"/>
+<var name="nodeValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<name interface="DocumentType" obj="docType" var="docTypeName"/>
+<if><contentType type="image/svg+xml"/>
+ <assertEquals actual="docTypeName" expected='"svg"' id="doctypeNameSVG" ignoreCase="false"/>
+ <else>
+ <assertEquals actual="docTypeName" expected='"staff"' id="doctypeName" ignoreCase="false"/>
+ </else>
+</if>
+<nodeValue obj="docType" var="nodeValue"/>
+<assertNull actual="nodeValue" id="initiallyNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentgetdoctypenodtd.xml b/test/testcases/tests/level1/core/documentgetdoctypenodtd.xml
new file mode 100644
index 0000000..6d1fde4
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentgetdoctypenodtd.xml
@@ -0,0 +1,34 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentgetdoctypenodtd">
+<metadata>
+<title>documentGetDocTypeNoDTD</title>
+<creator>NIST</creator>
+<description>
+ The "getDoctype()" method returns null for XML documents
+ without a document type declaration.
+ Retrieve the XML document without a DTD and invoke the
+ "getDoctype()" method. It should return null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31"/>
+</metadata>
+<implementationAttribute name="validating" value="false"/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<load var="doc" href="hc_nodtdstaff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNull actual="docType" id="documentGetDocTypeNoDTDAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentgetelementsbytagnamelength.xml b/test/testcases/tests/level1/core/documentgetelementsbytagnamelength.xml
new file mode 100644
index 0000000..fdfd7de
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentgetelementsbytagnamelength.xml
@@ -0,0 +1,36 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentgetelementsbytagnamelength">
+<metadata>
+<title>documentGetElementsByTagNameLength</title>
+<creator>NIST</creator>
+<description>
+ The "getElementsByTagName(tagName)" method returns a
+ NodeList of all the Elements with a given tagName.
+
+ Retrieve the entire DOM document and invoke its
+ "getElementsByTagName(tagName)" method with tagName
+ equal to "name". The method should return a NodeList
+ that contains 5 elements.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="nameList" type="NodeList"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nameList" tagname="&quot;name&quot;"/>
+<assertSize collection="nameList" size="5" id="documentGetElementsByTagNameLengthAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentgetelementsbytagnametotallength.xml b/test/testcases/tests/level1/core/documentgetelementsbytagnametotallength.xml
new file mode 100644
index 0000000..593ce22
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentgetelementsbytagnametotallength.xml
@@ -0,0 +1,36 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentgetelementsbytagnametotallength">
+<metadata>
+<title>documentGetElementsByTagNameTotalLength</title>
+<creator>NIST</creator>
+<description>
+ Retrieve the entire DOM document, invoke
+ getElementsByTagName("*") and check the length of the NodeList.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="nameList" type="NodeList"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nameList" tagname='"*"'/>
+<if><contentType type="image/svg+xml"/>
+ <assertSize collection="nameList" size="39" id="elementCountSVG"/>
+<else>
+ <assertSize collection="nameList" size="37" id="documentGetElementsByTagNameTotalLengthAssert"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/documentgetelementsbytagnamevalue.xml b/test/testcases/tests/level1/core/documentgetelementsbytagnamevalue.xml
new file mode 100644
index 0000000..ca1086c
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentgetelementsbytagnamevalue.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentgetelementsbytagnamevalue">
+<metadata>
+<title>documentGetElementsByTagNameValue</title>
+<creator>NIST</creator>
+<description>
+ The "getElementsByTagName(tagName)" method returns a
+ NodeList of all the Elements with a given tagName
+ in a pre-order traversal of the tree.
+
+ Retrieve the entire DOM document and invoke its
+ "getElementsByTagName(tagName)" method with tagName
+ equal to "name". The method should return a NodeList
+ that contains 5 elements. The FOURTH item in the
+ list is retrieved and output.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="nameList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="firstChild" type="Node"/>
+<var name="childValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nameList" tagname="&quot;name&quot;"/>
+<item interface="NodeList" obj="nameList" var="nameNode" index="3"/>
+<firstChild interface="Node" obj="nameNode" var="firstChild"/>
+<nodeValue obj="firstChild" var="childValue"/>
+<assertEquals actual="childValue" expected="&quot;Jeny Oconnor&quot;" id="documentGetElementsByTagNameValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentgetimplementation.xml b/test/testcases/tests/level1/core/documentgetimplementation.xml
new file mode 100644
index 0000000..0797926
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentgetimplementation.xml
@@ -0,0 +1,37 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentgetimplementation">
+<metadata>
+<title>documentGetImplementation</title>
+<creator>NIST</creator>
+<description>
+ The "getImplementation()" method returns the
+ DOMImplementation object that handles this document.
+ Retrieve the entire DOM document and invoke its
+ "getImplementation()" method. It should return a
+ DOMImplementation whose "hasFeature("XML","1.0")
+ method returns the boolean value "true".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1B793EBA"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docImpl" type="DOMImplementation"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<implementation obj="doc" var="docImpl"/>
+<hasFeature obj="docImpl" var="state" feature="&quot;XML&quot;" version="&quot;1.0&quot;"/>
+<assertTrue actual="state" id="documentGetImplementationAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documentgetrootnode.xml b/test/testcases/tests/level1/core/documentgetrootnode.xml
new file mode 100644
index 0000000..959e2ba
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentgetrootnode.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentgetrootnode">
+<metadata>
+<title>documentGetRootNode</title>
+<creator>NIST</creator>
+<description>
+ The "getDocumentElement()" method provides direct access
+ to the child node that is the root element of the document.
+ Retrieve the entire DOM document and invoke its
+ "getDocumentElement()" method. It should return an
+ Element node whose NodeName is "staff" (or "svg").
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--documentElement attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-87CD092"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=251"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="root" type="Element"/>
+<var name="rootName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="root"/>
+<nodeName obj="root" var="rootName"/>
+<if><contentType type="image/svg+xml"/>
+<assertEquals actual="rootName" expected='"svg"' id="svgRootNode" ignoreCase="false"/>
+<else>
+<assertEquals actual="rootName" expected='"staff"' id="documentGetRootNodeAssert" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateattribute.xml b/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateattribute.xml
new file mode 100644
index 0000000..98b66e4
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateattribute.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentinvalidcharacterexceptioncreateattribute">
+<metadata>
+<title>documentInvalidCharacterExceptionCreateAttribute</title>
+<creator>NIST</creator>
+<description>
+ The "createAttribute(tagName)" method raises an
+ INVALID_CHARACTER_ERR DOMException if the specified
+ tagName contains an invalid character.
+
+ Retrieve the entire DOM document and invoke its
+ "createAttribute(tagName)" method with the tagName equal
+ to the string "invalid^Name". Due to the invalid
+ character the desired EXCEPTION should be raised.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1084891198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="createdAttr" type="Attr"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createAttribute var="createdAttr" obj="doc" name="&quot;invalid^Name&quot;"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateelement.xml b/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateelement.xml
new file mode 100644
index 0000000..bb3495a
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateelement.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentinvalidcharacterexceptioncreateelement">
+<metadata>
+<title>documentInvalidCharacterExceptionCreateElement</title>
+<creator>NIST</creator>
+<description>
+ The "createElement(tagName)" method raises an
+ INVALID_CHARACTER_ERR DOMException if the specified
+ tagName contains an invalid character.
+
+ Retrieve the entire DOM document and invoke its
+ "createElement(tagName)" method with the tagName equal
+ to the string "invalid^Name". Due to the invalid
+ character the desired EXCEPTION should be raised.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-2141741547')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="badElement" type="Element"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createElement var="badElement" obj="doc" tagName="&quot;invalid^Name&quot;"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateentref.xml b/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateentref.xml
new file mode 100644
index 0000000..7ed093d
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateentref.xml
@@ -0,0 +1,48 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentinvalidcharacterexceptioncreateentref">
+<metadata>
+<title>documentInvalidCharacterExceptionCreateEntRef</title>
+<creator>NIST</creator>
+<description>
+ The "createEntityReference(tagName)" method raises an
+ INVALID_CHARACTER_ERR DOMException if the specified
+ tagName contains an invalid character.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-392B75AE"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-392B75AE')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<hasFeature feature='"XML"'/>
+<var name="doc" type="Document"/>
+<var name="badEntityRef" type="EntityReference"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<if><contentType type="text/html"/>
+<assertDOMException id="throw_NOT_SUPPORTED_ERR">
+<NOT_SUPPORTED_ERR>
+<createEntityReference var="badEntityRef" obj="doc" name='"foo"'/>
+</NOT_SUPPORTED_ERR>
+</assertDOMException>
+<else>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createEntityReference var="badEntityRef" obj="doc" name="&quot;invalid^Name&quot;"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateentref1.xml b/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateentref1.xml
new file mode 100644
index 0000000..3ad9a20
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreateentref1.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentinvalidcharacterexceptioncreateentref1">
+<metadata>
+<title>documentinvalidcharacterexceptioncreateentref1</title>
+<creator>Curt Arnold</creator>
+<description>
+Creating an entity reference 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-392B75AE"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-392B75AE')/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>
+<hasFeature feature='"XML"'/>
+<var name="doc" type="Document"/>
+<var name="badEntityRef" type="EntityReference"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<if><contentType type="text/html"/>
+<assertDOMException id="throw_NOT_SUPPORTED_ERR">
+<NOT_SUPPORTED_ERR>
+<createEntityReference var="badEntityRef" obj="doc" name='"foo"'/>
+</NOT_SUPPORTED_ERR>
+</assertDOMException>
+<else>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createEntityReference var="badEntityRef" obj="doc" name='""'/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreatepi.xml b/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreatepi.xml
new file mode 100644
index 0000000..970fd91
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreatepi.xml
@@ -0,0 +1,48 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentinvalidcharacterexceptioncreatepi">
+<metadata>
+<title>documentInvalidCharacterExceptionCreatePI</title>
+<creator>NIST</creator>
+<description>
+ The "createProcessingInstruction(target,data) method
+ raises an INVALID_CHARACTER_ERR DOMException if the
+ specified tagName contains an invalid character.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-135944439"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-135944439')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<hasFeature feature='"XML"'/>
+<var name="doc" type="Document"/>
+<var name="badPI" type="ProcessingInstruction"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<if><contentType type="text/html"/>
+<assertDOMException id="throw_NOT_SUPPORTED_ERR">
+<NOT_SUPPORTED_ERR>
+<createProcessingInstruction var="badPI" obj="doc" target='"foo"' data='"data"'/>
+</NOT_SUPPORTED_ERR>
+</assertDOMException>
+<else>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createProcessingInstruction var="badPI" obj="doc" target="&quot;invalid^Name&quot;" data="&quot;data&quot;"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreatepi1.xml b/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreatepi1.xml
new file mode 100644
index 0000000..48bc577
--- /dev/null
+++ b/test/testcases/tests/level1/core/documentinvalidcharacterexceptioncreatepi1.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documentinvalidcharacterexceptioncreatepi1">
+<metadata>
+<title>documentinvalidcharacterexceptioncreatepi1</title>
+<creator>Curt Arnold</creator>
+<description>
+Creating a processing instruction with an empty target should cause an INVALID_CHARACTER_ERR.
+</description>
+<date qualifier="created">2004-03-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-135944439"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-135944439')/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>
+<hasFeature feature='"XML"'/>
+<var name="doc" type="Document"/>
+<var name="badPI" type="ProcessingInstruction"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<if><contentType type="text/html"/>
+<assertDOMException id="throw_NOT_SUPPORTED_ERR">
+<NOT_SUPPORTED_ERR>
+<createProcessingInstruction var="badPI" obj="doc" target='"foo"' data='"data"'/>
+</NOT_SUPPORTED_ERR>
+</assertDOMException>
+<else>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createProcessingInstruction var="badPI" obj="doc" target='""' data="&quot;data&quot;"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/documenttypegetdoctype.xml b/test/testcases/tests/level1/core/documenttypegetdoctype.xml
new file mode 100644
index 0000000..95a3049
--- /dev/null
+++ b/test/testcases/tests/level1/core/documenttypegetdoctype.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documenttypegetdoctype">
+<metadata>
+<title>documenttypeGetDocType</title>
+<creator>NIST</creator>
+<description>
+ The "getName()" method contains the name of the DTD.
+
+ Retrieve the Document Type for this document and examine
+ the string returned by the "getName()" method.
+ It should be set to "staff".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31"/>
+<!--name attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1844763134"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="name" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<name interface="DocumentType" obj="docType" var="name"/>
+<if><contentType type="image/svg+xml"/>
+<assertEquals actual="name" expected='"svg"' id="doctypeName" ignoreCase="false"/>
+<else>
+<assertEquals actual="name" expected='"staff"' id="documenttypeGetDocTypeAssert" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/documenttypegetentities.xml b/test/testcases/tests/level1/core/documenttypegetentities.xml
new file mode 100644
index 0000000..ccc860e
--- /dev/null
+++ b/test/testcases/tests/level1/core/documenttypegetentities.xml
@@ -0,0 +1,68 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documenttypegetentities">
+<metadata>
+<title>documenttypeGetEntities</title>
+<creator>NIST</creator>
+<description>
+ The "getEntities()" method is a NamedNodeMap that contains
+ the general entities for this document.
+
+ Retrieve the Document Type for this document and create
+ a NamedNodeMap of all its entities. The entire map is
+ traversed and the names of the entities are retrieved.
+ There should be 5 entities. Duplicates should be ignored.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entityList" type="NamedNodeMap"/>
+<var name="name" type="DOMString"/>
+<var name="expectedResult" type="Collection">
+<member>"ent1"</member>
+<member>"ent2"</member>
+<member>"ent3"</member>
+<member>"ent4"</member>
+<member>"ent5"</member>
+</var>
+<var name="expectedResultSVG" type="Collection">
+<member>"ent1"</member>
+<member>"ent2"</member>
+<member>"ent3"</member>
+<member>"ent4"</member>
+<member>"ent5"</member>
+<member>"svgunit"</member>
+<member>"svgtest"</member>
+</var>
+<var name="nameList" type="Collection"/>
+<var name="entity" type="Node"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="entityList"/>
+<assertNotNull actual="entityList" id="entitiesNotNull"/>
+<for-each collection="entityList" member="entity">
+ <nodeName obj="entity" var="name"/>
+ <append collection="nameList" item="name"/>
+</for-each>
+<if><contentType type="image/svg+xml"/>
+ <assertEquals actual="nameList" expected="expectedResultSVG" id="entityNamesSVG" ignoreCase="false"/>
+ <else>
+ <assertEquals actual="nameList" expected="expectedResult" id="entityNames" ignoreCase="false"/>
+ </else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/documenttypegetentitieslength.xml b/test/testcases/tests/level1/core/documenttypegetentitieslength.xml
new file mode 100644
index 0000000..04561fa
--- /dev/null
+++ b/test/testcases/tests/level1/core/documenttypegetentitieslength.xml
@@ -0,0 +1,43 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documenttypegetentitieslength">
+<metadata>
+<title>documenttypeGetEntitiesLength</title>
+<creator>NIST</creator>
+<description>
+ Duplicate entities are to be discarded.
+ Retrieve the Document Type for this document and create
+ a NamedNodeMap of all its entities. The entity named
+ "ent1" is defined twice and therefore that last
+ occurrance should be discarded.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entityList" type="NamedNodeMap"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="entityList"/>
+<assertNotNull actual="entityList" id="entitiesNotNull"/>
+<if><contentType type="image/svg+xml"/>
+ <assertSize collection="entityList" size="7" id="entitySizeSVG"/>
+ <else>
+ <assertSize collection="entityList" size="5" id="entitySize"/>
+ </else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/documenttypegetentitiestype.xml b/test/testcases/tests/level1/core/documenttypegetentitiestype.xml
new file mode 100644
index 0000000..62cbc27
--- /dev/null
+++ b/test/testcases/tests/level1/core/documenttypegetentitiestype.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documenttypegetentitiestype">
+<metadata>
+<title>documenttypeGetEntitiesType</title>
+<creator>NIST</creator>
+<description>
+ Every node in the map returned by the "getEntities()"
+ method implements the Entity interface.
+
+ Retrieve the Document Type for this document and create
+ a NamedNodeMap of all its entities. Traverse the
+ entire list and examine the NodeType of each node
+ in the list.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entityList" type="NamedNodeMap"/>
+<var name="entity" type="Node"/>
+<var name="entityType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="entityList"/>
+<assertNotNull actual="entityList" id="entitiesNotNull"/>
+<for-each collection="entityList" member="entity">
+<nodeType obj="entity" var="entityType"/>
+<assertEquals actual="entityType" expected="6" id="documenttypeGetEntitiesTypeAssert" ignoreCase="false"/>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level1/core/documenttypegetnotations.xml b/test/testcases/tests/level1/core/documenttypegetnotations.xml
new file mode 100644
index 0000000..927b8b4
--- /dev/null
+++ b/test/testcases/tests/level1/core/documenttypegetnotations.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documenttypegetnotations">
+<metadata>
+<title>documenttypeGetNotations</title>
+<creator>NIST</creator>
+<description>
+ The "getNotations()" method creates a NamedNodeMap that
+ contains all the notations declared in the DTD.
+
+ Retrieve the Document Type for this document and create
+ a NamedNodeMap object of all the notations. There
+ should be two items in the list (notation1 and notation2).
+</description>
+<contributor>Mary Brady</contributor>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D46829EF"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="notationList" type="NamedNodeMap"/>
+<var name="notation" type="Node"/>
+<var name="notationName" type="DOMString"/>
+<var name="actual" type="Collection"/>
+<var name="expected" type="Collection">
+<member>"notation1"</member>
+<member>"notation2"</member>
+</var>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="notationList"/>
+<assertNotNull actual="notationList" id="notationsNotNull"/>
+<for-each collection="notationList" member="notation">
+<nodeName obj="notation" var="notationName"/>
+<append collection="actual" item="notationName"/>
+</for-each>
+<assertEquals actual="actual" expected="expected" id="names" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/documenttypegetnotationstype.xml b/test/testcases/tests/level1/core/documenttypegetnotationstype.xml
new file mode 100644
index 0000000..cde501f
--- /dev/null
+++ b/test/testcases/tests/level1/core/documenttypegetnotationstype.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="documenttypegetnotationstype">
+<metadata>
+<title>documenttypeGetNotationsType</title>
+<creator>NIST</creator>
+<description>
+ Every node in the map returned by the "getNotations()"
+ method implements the Notation interface.
+
+ Retrieve the Document Type for this document and create
+ a NamedNodeMap object of all the notations. Traverse
+ the entire list and examine the NodeType of each node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D46829EF"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="notationList" type="NamedNodeMap"/>
+<var name="notation" type="Node"/>
+<var name="notationType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="notationList"/>
+<assertNotNull actual="notationList" id="notationsNotNull"/>
+<for-each collection="notationList" member="notation">
+<nodeType obj="notation" var="notationType"/>
+<assertEquals actual="notationType" expected="12" id="documenttypeGetNotationsTypeAssert" ignoreCase="false"/>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level1/core/domimplementationfeaturenoversion.xml b/test/testcases/tests/level1/core/domimplementationfeaturenoversion.xml
new file mode 100644
index 0000000..fe62c52
--- /dev/null
+++ b/test/testcases/tests/level1/core/domimplementationfeaturenoversion.xml
@@ -0,0 +1,33 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="domimplementationfeaturenoversion">
+<metadata>
+<title>domimplementationFeatureNoVersion</title>
+<creator>NIST</creator>
+<description>
+hasFeature("XML", "") should return true for implementations that can read staff files.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7"/>
+<subject resource="http://www.w3.org/2000/11/DOM-Level-2-errata#core-14"/>
+</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='"XML"' version='""'/>
+<assertTrue actual="state" id="hasXMLEmpty"/>
+</test>
diff --git a/test/testcases/tests/level1/core/domimplementationfeaturenull.xml b/test/testcases/tests/level1/core/domimplementationfeaturenull.xml
new file mode 100644
index 0000000..4634680
--- /dev/null
+++ b/test/testcases/tests/level1/core/domimplementationfeaturenull.xml
@@ -0,0 +1,35 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="domimplementationfeaturenull">
+<metadata>
+<title>domimplementationFeatureNull</title>
+<creator>NIST</creator>
+<description>
+hasFeature("XML", null) should return true for implementations that can read staff documents.
+</description>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2001-08-23</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7"/>
+<subject resource="http://www.w3.org/2000/11/DOM-Level-2-errata#core-14"/>
+</metadata>
+<implementationAttribute name="hasNullString" value="true"/>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="state" type="boolean"/>
+<var name="nullVersion" type="DOMString" isNull="true"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<hasFeature obj="domImpl" var="state" feature='"XML"' version="nullVersion"/>
+<assertTrue actual="state" id="hasXMLnull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/domimplementationfeaturexml.xml b/test/testcases/tests/level1/core/domimplementationfeaturexml.xml
new file mode 100644
index 0000000..3eb18bd
--- /dev/null
+++ b/test/testcases/tests/level1/core/domimplementationfeaturexml.xml
@@ -0,0 +1,32 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="domimplementationfeaturexml">
+<metadata>
+<title>domimplementationFeaturexml</title>
+<creator>NIST</creator>
+<description>
+hasFeature("xml", "1.0") should return true for implementations that can read staff documents.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-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='"xml"' version='"1.0"'/>
+<assertTrue actual="state" id="hasXML1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementaddnewattribute.xml b/test/testcases/tests/level1/core/elementaddnewattribute.xml
new file mode 100644
index 0000000..90ee433
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementaddnewattribute.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementaddnewattribute">
+<metadata>
+<title>elementAddNewAttribute</title>
+<creator>NIST</creator>
+<description>
+ The "setAttribute(name,value)" method adds a new attribute
+ to the Element
+
+ Retrieve the last child of the last employee, then
+ add an attribute to it by invoking the
+ "setAttribute(name,value)" method. It should create
+ a "name" attribute with an assigned value equal to
+ "value".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--setAttribute-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="4" var="testEmployee"/>
+<setAttribute obj="testEmployee" name="&quot;district&quot;" value="&quot;dallas&quot;"/>
+<getAttribute obj="testEmployee" var="attrValue" name="&quot;district&quot;"/>
+<assertEquals actual="attrValue" expected="&quot;dallas&quot;" id="elementAddNewAttributeAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementassociatedattribute.xml b/test/testcases/tests/level1/core/elementassociatedattribute.xml
new file mode 100644
index 0000000..583da3c
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementassociatedattribute.xml
@@ -0,0 +1,46 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementassociatedattribute">
+<metadata>
+<title>elementAssociatedAttribute</title>
+<creator>NIST</creator>
+<description>
+ Elements may have attributes associated with them.
+
+ Retrieve the first attribute from the last child of
+ the first employee and invoke the "getSpecified()"
+ method. This test is only intended to show that
+ Elements can actually have attributes. This test uses
+ the "getNamedItem(name)" method from the NamedNodeMap
+ interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+</metadata>
+<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="specified" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"address"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testEmployee"/>
+<attributes obj="testEmployee" var="attributes"/>
+<getNamedItem obj="attributes" var="domesticAttr" name='"domestic"'/>
+<specified obj="domesticAttr" var="specified"/>
+<assertTrue actual="specified" id="domesticSpecified"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementchangeattributevalue.xml b/test/testcases/tests/level1/core/elementchangeattributevalue.xml
new file mode 100644
index 0000000..3bc4b85
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementchangeattributevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementchangeattributevalue">
+<metadata>
+<title>elementChangeAttributeValue</title>
+<creator>NIST</creator>
+<description>
+ The "setAttribute(name,value)" method adds a new attribute
+ to the Element. If the "name" is already present, then
+ its value should be changed to the new one that is in
+ the "value" parameter.
+
+ Retrieve the last child of the fourth employee, then add
+ an attribute to it by invoking the
+ "setAttribute(name,value)" method. Since the name of the
+ used attribute("street") is already present in this
+ element, then its value should be changed to the new one
+ of the "value" parameter.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--setAttribute-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="3" var="testEmployee"/>
+<setAttribute obj="testEmployee" name="&quot;street&quot;" value="&quot;Neither&quot;"/>
+<getAttribute obj="testEmployee" var="attrValue" name="&quot;street&quot;"/>
+<assertEquals actual="attrValue" expected="&quot;Neither&quot;" id="elementChangeAttributeValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementcreatenewattribute.xml b/test/testcases/tests/level1/core/elementcreatenewattribute.xml
new file mode 100644
index 0000000..6b9f510
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementcreatenewattribute.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementcreatenewattribute">
+<metadata>
+<title>elementCreateNewAttribute</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNode(newAttr)" method adds a new
+ attribute to the Element.
+
+ Retrieve first address element and add
+ a new attribute node to it by invoking its
+ "setAttributeNode(newAttr)" method. This test makes use
+ of the "createAttribute(name)" method from the Document
+ interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--setAttributeNode-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<var name="newAttribute" type="Attr"/>
+<var name="oldAttr" type="Attr"/>
+<var name="districtAttr" type="Attr"/>
+<var name="attrVal" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddress"/>
+<createAttribute obj="doc" var="newAttribute" name="&quot;district&quot;"/>
+<setAttributeNode obj="testAddress" var="oldAttr" newAttr="newAttribute"/>
+<assertNull actual="oldAttr" id="old_attr_doesnt_exist"/>
+<getAttributeNode obj="testAddress" var="districtAttr" name="&quot;district&quot;"/>
+<assertNotNull actual="districtAttr" id="new_district_accessible"/>
+<getAttribute var="attrVal" obj="testAddress" name="&quot;district&quot;"/>
+<assertEquals actual="attrVal" expected="&quot;&quot;" id="attr_value" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementgetattributenode.xml b/test/testcases/tests/level1/core/elementgetattributenode.xml
new file mode 100644
index 0000000..930d906
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementgetattributenode.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementgetattributenode">
+<metadata>
+<title>elementGetAttributeNode</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributeNode(name)" method retrieves an
+ attribute node by name.
+
+ Retrieve the attribute "domestic" from the last child
+ of the first employee. Since the method returns an
+ Attr object, the "name" can be examined to ensure the
+ proper attribute was retrieved.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-217A91B8"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="domesticAttr" type="Attr"/>
+<var name="name" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testEmployee"/>
+<getAttributeNode obj="testEmployee" var="domesticAttr" name="&quot;domestic&quot;"/>
+<nodeName obj="domesticAttr" var="name"/>
+<assertEquals actual="name" expected="&quot;domestic&quot;" id="elementGetAttributeNodeAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementgetattributenodenull.xml b/test/testcases/tests/level1/core/elementgetattributenodenull.xml
new file mode 100644
index 0000000..63354a3
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementgetattributenodenull.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementgetattributenodenull">
+<metadata>
+<title>elementGetAttributeNodeNull</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributeNode(name)" method retrieves an
+ attribute node by name. It should return null if the
+ "name" attribute does not exist.
+
+ Retrieve the last child of the first employee and attempt
+ to retrieve a non-existing attribute. The method should
+ return "null". The non-existing attribute to be used
+ is "invalidAttribute".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-217A91B8"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="domesticAttr" type="Attr"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testEmployee"/>
+<getAttributeNode obj="testEmployee" var="domesticAttr" name="&quot;invalidAttribute&quot;"/>
+<assertNull actual="domesticAttr" id="elementGetAttributeNodeNullAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementgetelementempty.xml b/test/testcases/tests/level1/core/elementgetelementempty.xml
new file mode 100644
index 0000000..3e574de
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementgetelementempty.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementgetelementempty">
+<metadata>
+<title>elementGetElementEmpty</title>
+<creator>NIST</creator>
+<description>
+ The "getAttribute(name)" method returns an empty
+ string if no value was assigned to an attribute and
+ no default value was given in the DTD file.
+
+ Retrieve the last child of the last employee, then
+ invoke "getAttribute(name)" method, where "name" is an
+ attribute without a specified or DTD default value.
+ The "getAttribute(name)" method should return the empty
+ string. This method makes use of the
+ "createAttribute(newAttr)" method from the Document
+ interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--getAttribute-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-666EE0F9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newAttribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="domesticAttr" type="Attr"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createAttribute obj="doc" var="newAttribute" name="&quot;district&quot;"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="3" var="testEmployee"/>
+<setAttributeNode obj="testEmployee" var="domesticAttr" newAttr="newAttribute"/>
+<getAttribute obj="testEmployee" var="attrValue" name="&quot;district&quot;"/>
+<assertEquals actual="attrValue" expected="&quot;&quot;" id="elementGetElementEmptyAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementgetelementsbytagname.xml b/test/testcases/tests/level1/core/elementgetelementsbytagname.xml
new file mode 100644
index 0000000..19d0348
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementgetelementsbytagname.xml
@@ -0,0 +1,39 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementgetelementsbytagname">
+<metadata>
+<title>elementGetElementsByTagName</title>
+<creator>NIST</creator>
+<description>
+The "getElementsByTagName(name)" method returns a list
+of all descendant Elements with the given tag name.
+Test for an empty list.
+
+Create a NodeList of all the descendant elements
+using the string "noMatch" as the tagName.
+The method should return a NodeList whose length is
+"0" since there are not any descendant elements
+that match the given tag name.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--getElementsByTagName-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<assertSize collection="elementList" size="5" id="elementGetElementsByTagNameAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementgetelementsbytagnameaccessnodelist.xml b/test/testcases/tests/level1/core/elementgetelementsbytagnameaccessnodelist.xml
new file mode 100644
index 0000000..ec88004
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementgetelementsbytagnameaccessnodelist.xml
@@ -0,0 +1,48 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementgetelementsbytagnameaccessnodelist">
+<metadata>
+<title>elementgetelementsbytagnameaccessnodelist</title>
+<creator>NIST</creator>
+<description>
+Element.getElementsByTagName("employee") should return a NodeList whose length is
+"5" in the order the children were encountered.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--getElementsByTagName-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="childValue" type="DOMString"/>
+<var name="childType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="3" var="testEmployee"/>
+<!-- first element might be text -->
+<firstChild interface="Node" obj="testEmployee" var="child"/>
+<nodeType var="childType" obj="child"/>
+<if><equals actual="childType" expected="3" ignoreCase="false"/>
+<nextSibling var="child" obj="child" interface="Node"/>
+</if>
+<nodeName var="childName" obj="child" interface="Node"/>
+<assertEquals actual="childName" expected='"employeeId"' id="nodename" ignoreCase="false"/>
+<firstChild var="child" obj="child" interface="Node"/>
+<nodeValue var="childValue" obj="child"/>
+<assertEquals actual="childValue" expected='"EMP0004"' ignoreCase="false" id="emp0004"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementgetelementsbytagnamenomatch.xml b/test/testcases/tests/level1/core/elementgetelementsbytagnamenomatch.xml
new file mode 100644
index 0000000..ffc6aa7
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementgetelementsbytagnamenomatch.xml
@@ -0,0 +1,37 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementgetelementsbytagnamenomatch">
+<metadata>
+<title>elementGetElementsByTagName</title>
+<creator>NIST</creator>
+<description>
+The "getElementsByTagName(name)" method returns a list
+of all descendant Elements with the given tag name.
+
+Create a NodeList of all the descendant elements
+using the string "employee" as the tagName.
+The method should return a NodeList whose length is
+"5".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--getElementsByTagName-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;noMatch&quot;" var="elementList"/>
+<assertSize collection="elementList" size="0" id="elementGetElementsByTagNameNoMatchNoMatchAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementgetelementsbytagnamespecialvalue.xml b/test/testcases/tests/level1/core/elementgetelementsbytagnamespecialvalue.xml
new file mode 100644
index 0000000..56930f8
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementgetelementsbytagnamespecialvalue.xml
@@ -0,0 +1,56 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementgetelementsbytagnamespecialvalue">
+<metadata>
+<title>elementGetElementsByTagNamesSpecialValue</title>
+<creator>NIST</creator>
+<description>
+The "getElementsByTagName(name)" method may use the
+special value "*" to match all tags in the element
+tree.
+
+Create a NodeList of all the descendant elements
+of the last employee by using the special value "*".
+The method should return all the descendant children(6)
+in the order the children were encountered.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="lastEmployee" type="Element"/>
+<var name="lastempList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="result" type="List"/>
+<var name="expectedResult" type="List">
+<member>"employeeId"</member>
+<member>"name"</member>
+<member>"position"</member>
+<member>"salary"</member>
+<member>"gender"</member>
+<member>"address"</member>
+</var>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="4" var="lastEmployee"/>
+<getElementsByTagName interface="Element" obj="lastEmployee" var="lastempList" tagname="&quot;*&quot;"/>
+<for-each collection="lastempList" member="child">
+<nodeName obj="child" var="childName"/>
+<append collection="result" item="childName"/>
+</for-each>
+<assertEquals actual="result" expected="expectedResult" id="tagNames" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementgettagname.xml b/test/testcases/tests/level1/core/elementgettagname.xml
new file mode 100644
index 0000000..7b27819
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementgettagname.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementgettagname">
+<metadata>
+<title>elementGetTagName</title>
+<creator>NIST</creator>
+<description>
+
+ The "getTagName()" method returns the
+
+ tagName of an element.
+
+
+
+ Invoke the "getTagName()" method one the
+
+ root node. The value returned should be "staff".
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-104682815"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=251"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="root" type="Element"/>
+<var name="tagname" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="root"/>
+<tagName obj="root" var="tagname"/>
+<if><contentType type="image/svg+xml"/>
+<assertEquals actual="tagname" expected='"svg"' id="svgTagName" ignoreCase="false"/>
+<else>
+<assertEquals actual="tagname" expected='"staff"' id="elementGetTagNameAssert" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/elementinuseattributeerr.xml b/test/testcases/tests/level1/core/elementinuseattributeerr.xml
new file mode 100644
index 0000000..f167279
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementinuseattributeerr.xml
@@ -0,0 +1,58 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementinuseattributeerr">
+<metadata>
+<title>elementInUseAttributeErr</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 last child of the second employee and append
+ a newly created element. The "createAttribute(name)"
+ and "setAttributeNode(newAttr)" methods are invoked
+ to create and add a new attribute to the newly created
+ Element. The "setAttributeNode(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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newAttribute" type="Attr"/>
+<var name="addressElementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<var name="newElement" type="Element"/>
+<var name="appendedChild" type="Node"/>
+<var name="setAttr1" type="Attr"/>
+<var name="setAttr2" type="Attr"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"address"' var="addressElementList"/>
+<item interface="NodeList" obj="addressElementList" index="1" var="testAddress"/>
+<createElement obj="doc" var="newElement" tagName='"newElement"'/>
+<appendChild var="appendedChild" obj="testAddress" newChild="newElement"/>
+<createAttribute obj="doc" var="newAttribute" name='"newAttribute"'/>
+<setAttributeNode var="setAttr1" obj="newElement" newAttr="newAttribute"/>
+<assertDOMException id="throw_INUSE_ATTRIBUTE_ERR">
+ <INUSE_ATTRIBUTE_ERR>
+ <setAttributeNode var="setAttr2" obj="testAddress" newAttr="newAttribute"/>
+ </INUSE_ATTRIBUTE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/elementinvalidcharacterexception.xml b/test/testcases/tests/level1/core/elementinvalidcharacterexception.xml
new file mode 100644
index 0000000..c775c91
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementinvalidcharacterexception.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementinvalidcharacterexception">
+<metadata>
+<title>elementInvalidCharacterException</title>
+<creator>NIST</creator>
+<description>
+
+ The "setAttribute(name,value)" method raises an
+
+ "INVALID_CHARACTER_ERR DOMException if the specified
+
+ name contains an invalid character.
+
+
+
+ Retrieve the last child of the first employee and
+
+ call its "setAttribute(name,value)" method with
+
+ "name" containing an invalid character.
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddress"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<setAttribute obj="testAddress" name="&quot;invalid^Name&quot;" value="&quot;value&quot;"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/elementnormalize.xml b/test/testcases/tests/level1/core/elementnormalize.xml
new file mode 100644
index 0000000..bc85fff
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementnormalize.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementnormalize">
+<metadata>
+<title>elementNormalize</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.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="root" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<var name="testName" type="Element"/>
+<var name="firstChild" type="Node"/>
+<var name="childValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<documentElement obj="doc" var="root"/>
+<normalize obj="root"/>
+<getElementsByTagName interface="Element" obj="root" tagname="&quot;name&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testName"/>
+<firstChild interface="Node" obj="testName" var="firstChild"/>
+<nodeValue obj="firstChild" var="childValue"/>
+<assertEquals actual="childValue" expected="&quot;Roger\n Jones&quot;" id="elementNormalizeAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementnotfounderr.xml b/test/testcases/tests/level1/core/elementnotfounderr.xml
new file mode 100644
index 0000000..792c3f1
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementnotfounderr.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementnotfounderr">
+<metadata>
+<title>elementNotFoundErr</title>
+<creator>NIST</creator>
+<description>
+ The "removeAttributeNode(oldAttr)" method raises a
+ NOT_FOUND_ERR DOMException if the "oldAttr" attribute
+ is not an attribute of the element.
+
+ Retrieve the last employee and attempt to remove
+ a non existing attribute node. This should cause the
+ intended exception to be raised. This test makes use
+ of the "createAttribute(name)" method from the Document
+ interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D589198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="oldAttribute" type="Attr"/>
+<var name="addressElementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<var name="attrAddress" type="Attr"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="addressElementList"/>
+<item interface="NodeList" obj="addressElementList" index="4" var="testAddress"/>
+<createAttribute obj="doc" var="oldAttribute" name="&quot;oldAttribute&quot;"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<removeAttributeNode obj="testAddress" oldAttr="oldAttribute" var="attrAddress"/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/elementremoveattribute.xml b/test/testcases/tests/level1/core/elementremoveattribute.xml
new file mode 100644
index 0000000..b90c23c
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementremoveattribute.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementremoveattribute">
+<metadata>
+<title>elementRemoveAttribute</title>
+<creator>NIST</creator>
+<description>
+ The "removeAttribute(name)" removes an attribute by name.
+ If the attribute has a default value, it is immediately
+ replaced.
+
+ Retrieve the attribute named "street" from the last child
+ of the fourth employee, then remove the "street"
+ attribute by invoking the "removeAttribute(name)" method.
+ The "street" 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/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D6AC0F9"/>
+<!-- DOM WG opinion on default attributes -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html"/>
+</metadata>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"address"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="3" var="testEmployee"/>
+<removeAttribute obj="testEmployee" name='"street"'/>
+<getAttribute obj="testEmployee" var="attrValue" name='"street"'/>
+<assertEquals actual="attrValue" expected='"Yes"' id="streetYes" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementremoveattributeaftercreate.xml b/test/testcases/tests/level1/core/elementremoveattributeaftercreate.xml
new file mode 100644
index 0000000..35b8640
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementremoveattributeaftercreate.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementremoveattributeaftercreate">
+<metadata>
+<title>elementRemoveAttributeAfterCreate</title>
+<creator>NIST</creator>
+<description>
+ The "removeAttributeNode(oldAttr)" method removes the
+ specified attribute.
+
+ Retrieve the last child of the third employee, add a
+ new "district" node to it and then try to remove it.
+ To verify that the node was removed use the
+ "getNamedItem(name)" method from the NamedNodeMap
+ interface. It also uses the "getAttributes()" method
+ from the Node interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--removeAttributeNode-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="newAttribute" type="Attr"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="districtAttr" type="Attr"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<createAttribute obj="doc" var="newAttribute" name="&quot;district&quot;"/>
+<setAttributeNode obj="testEmployee" var="districtAttr" newAttr="newAttribute"/>
+<removeAttributeNode obj="testEmployee" var="districtAttr" oldAttr="newAttribute"/>
+<attributes obj="testEmployee" var="attributes"/>
+<getNamedItem obj="attributes" var="districtAttr" name="&quot;district&quot;"/>
+<assertNull actual="districtAttr" id="elementRemoveAttributeAfterCreateAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementremoveattributenode.xml b/test/testcases/tests/level1/core/elementremoveattributenode.xml
new file mode 100644
index 0000000..30de112
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementremoveattributenode.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementremoveattributenode">
+<metadata>
+<title>elementRemoveAttributeNode</title>
+<creator>NIST</creator>
+<description>
+ The "removeAttributeNode(oldAttr)" method returns the
+ node that was removed.
+
+ Retrieve the last child of the third employee and
+ remove its "street" Attr node. The method should
+ return the old attribute node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="streetAttr" type="Attr"/>
+<var name="removedAttr" type="Attr"/>
+<var name="removedValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<getAttributeNode obj="testEmployee" var="streetAttr" name="&quot;street&quot;"/>
+<removeAttributeNode obj="testEmployee" var="removedAttr" oldAttr="streetAttr"/>
+<value interface="Attr" obj="removedAttr" var="removedValue"/>
+<assertEquals actual="removedValue" expected="&quot;No&quot;" id="elementRemoveAttributeNodeAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementremoveattributenodenomodificationallowederr.xml b/test/testcases/tests/level1/core/elementremoveattributenodenomodificationallowederr.xml
new file mode 100644
index 0000000..b8ed52a
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementremoveattributenodenomodificationallowederr.xml
@@ -0,0 +1,67 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementremoveattributenodenomodificationallowederr">
+<metadata>
+<title>elementRemoveAttributeNodeNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "removeAttributeNode(oldAttr)" 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 the "domestic" attribute
+ from the entity reference by executing the "removeAttributeNode(oldAttr)" 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D589198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198"/>
+</metadata>
+<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="nodeType" type="int"/>
+<var name="gList" type="NodeList"/>
+<var name="genElement" type="Element"/>
+<var name="attrList" type="NamedNodeMap"/>
+<var name="attrNode" type="Attr"/>
+<var name="removedAttr" type="Attr"/>
+<load var="doc" href="staff" 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"/>
+<assertNotNull actual="gen" id="genNotNull"/>
+<nodeType var="nodeType" obj="gen"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="gen" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="gen" id="createdEntRefNotNull"/>
+</if>
+<childNodes obj="gen" var="gList"/>
+<item interface="NodeList" obj="gList" var="genElement" index="0"/>
+<assertNotNull actual="genElement" id="genElementNotNull"/>
+<attributes obj="genElement" var="attrList"/>
+<getNamedItem obj="attrList" var="attrNode" name='"domestic"'/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<removeAttributeNode var="removedAttr" obj="genElement" oldAttr="attrNode"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/elementremoveattributenodenomodificationallowederrEE.xml b/test/testcases/tests/level1/core/elementremoveattributenodenomodificationallowederrEE.xml
new file mode 100644
index 0000000..f8d516e
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementremoveattributenodenomodificationallowederrEE.xml
@@ -0,0 +1,61 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementremoveattributenodenomodificationallowederrEE">
+<metadata>
+<title>elementRemoveAttributeNodeNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeAttributeNode(oldAttr)" method for an attribute causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Create an entity reference and add it to the children of the THIRD "gender" element.
+ Try to remove the "domestic" attribute from the entity
+ reference by executing the "removeAttributeNode(oldAttr)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<date qualifier="created">2001-08-21</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D589198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/elementremoveattributenodenomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="gender" type="Node"/>
+<var name="entRef" type="EntityReference"/>
+<var name="entElement" type="Element"/>
+<var name="attrList" type="NamedNodeMap"/>
+<var name="attrNode" type="Attr"/>
+<var name="nodeType" type="int"/>
+<var name="removedAttr" type="Attr"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<createEntityReference var="entRef" obj="doc" name="&quot;ent4&quot;"/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<appendChild obj="gender" newChild="entRef" var="appendedChild"/>
+<firstChild interface="Node" var="entElement" obj="entRef"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<attributes obj="entElement" var="attrList"/>
+<getNamedItem obj="attrList" var="attrNode" name='"domestic"'/>
+<assertNotNull actual="attrNode" id="attrNodeNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<removeAttributeNode var="removedAttr" obj="entElement" oldAttr="attrNode"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/elementremoveattributenomodificationallowederr.xml b/test/testcases/tests/level1/core/elementremoveattributenomodificationallowederr.xml
new file mode 100644
index 0000000..4aae1ae
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementremoveattributenomodificationallowederr.xml
@@ -0,0 +1,62 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementremoveattributenomodificationallowederr">
+<metadata>
+<title>elementRemoveAttributeNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "removeAttribute(name)" 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 the "domestic" attribute
+ from the entity reference by executing the "removeAttribute(name)" 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D6AC0F9"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6D6AC0F9')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D6AC0F9"/>
+</metadata>
+<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="nodeType" type="int"/>
+<var name="genElement" type="Element"/>
+<load var="doc" href="staff" 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"/>
+<assertNotNull actual="gen" id="genNotNull"/>
+<nodeType var="nodeType" obj="gen"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="gen" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="gen" id="createdEntRefNotNull"/>
+</if>
+<childNodes obj="gen" var="gList"/>
+<item interface="NodeList" obj="gList" var="genElement" index="0"/>
+<assertNotNull actual="genElement" id="genElementNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<removeAttribute obj="genElement" name='"domestic"'/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/elementremoveattributenomodificationallowederrEE.xml b/test/testcases/tests/level1/core/elementremoveattributenomodificationallowederrEE.xml
new file mode 100644
index 0000000..79248df
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementremoveattributenomodificationallowederrEE.xml
@@ -0,0 +1,53 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementremoveattributenomodificationallowederrEE">
+<metadata>
+<title>elementRemoveAttributeNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeAttribute(name)" method for an attribute causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Create an reference the entity ent4 and add it to the THIRD "gender" element.
+ Try to remove the "domestic" attribute from the entity reference by executing the "removeAttribute(name)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<date qualifier="created">2001-08-21</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D6AC0F9"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6D6AC0F9')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D6AC0F9"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/elementremoveattributenomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="gender" type="Node"/>
+<var name="entRef" type="EntityReference"/>
+<var name="entElement" type="Element"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname='"gender"'/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<createEntityReference obj="doc" var="entRef" name='"ent4"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<appendChild obj="gender" newChild="entRef" var="appendedChild"/>
+<firstChild obj="entRef" var="entElement" interface="Node"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<removeAttribute obj="entElement" name='"domestic"'/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/elementremoveattributerestoredefaultvalue.xml b/test/testcases/tests/level1/core/elementremoveattributerestoredefaultvalue.xml
new file mode 100644
index 0000000..b6e096e
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementremoveattributerestoredefaultvalue.xml
@@ -0,0 +1,48 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementremoveattributerestoredefaultvalue">
+<metadata>
+<title>elementRemoveAttributeRestoreDefaultValue</title>
+<creator>NIST</creator>
+<description>
+ The "removeAttributeNode(oldAttr)" method removes the
+ specified attribute node and restores any default values.
+
+ Retrieve the last child of the third employeed and
+ remove its "street" Attr node. Since this node has a
+ default value defined in the DTD file, that default
+ should immediately be the new value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--removeAttributeNode-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198"/>
+<!-- DOM WG opinion on default attributes -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html"/>
+</metadata>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="streetAttr" type="Attr"/>
+<var name="attribute" type="DOMString"/>
+<var name="removedAttr" type="Attr"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<getAttributeNode obj="testEmployee" var="streetAttr" name="&quot;street&quot;"/>
+<removeAttributeNode var="removedAttr" obj="testEmployee" oldAttr="streetAttr"/>
+<getAttribute obj="testEmployee" var="attribute" name="&quot;street&quot;"/>
+<assertEquals actual="attribute" expected="&quot;Yes&quot;" id="streetYes" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementreplaceattributewithself.xml b/test/testcases/tests/level1/core/elementreplaceattributewithself.xml
new file mode 100644
index 0000000..fc4b562
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementreplaceattributewithself.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementreplaceattributewithself">
+<metadata>
+<title>elementReplaceAttributeWithSelf</title>
+<creator>Curt Arnold</creator>
+<description>
+This test calls setAttributeNode to replace an attribute with itself.
+Since the node is not an attribute of another Element, it would
+be inappropriate to throw an INUSE_ATTRIBUTE_ERR.
+
+This test was derived from elementinuserattributeerr which
+inadvertanly made this test.
+</description>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2001-10-31</date>
+<!--setAttributeNode-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="streetAttr" type="Attr"/>
+<var name="replacedAttr" type="Attr"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"address"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<getAttributeNode var="streetAttr" obj="testEmployee" name='"street"'/>
+<setAttributeNode obj="testEmployee" var="replacedAttr" newAttr="streetAttr"/>
+<assertSame actual="replacedAttr" expected="streetAttr" id="replacedAttr"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementreplaceexistingattribute.xml b/test/testcases/tests/level1/core/elementreplaceexistingattribute.xml
new file mode 100644
index 0000000..76aa780
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementreplaceexistingattribute.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementreplaceexistingattribute">
+<metadata>
+<title>elementReplaceExistingAttribute</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNode(newAttr)" method adds a new
+ attribute to the Element. If the "newAttr" Attr node is
+ already present in this element, it should replace the
+ existing one.
+
+ Retrieve the last child of the third employee and add a
+ new attribute node by invoking the "setAttributeNode(new
+ Attr)" method. The new attribute node to be added is
+ "street", which is already present in this element. The
+ method should replace the existing Attr node with the
+ new one. This test uses the "createAttribute(name)"
+ method from the Document interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="newAttribute" type="Attr"/>
+<var name="name" type="DOMString"/>
+<var name="setAttr" type="Attr"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<createAttribute obj="doc" var="newAttribute" name="&quot;street&quot;"/>
+<setAttributeNode var="setAttr" obj="testEmployee" newAttr="newAttribute"/>
+<getAttribute obj="testEmployee" var="name" name="&quot;street&quot;"/>
+<assertEquals actual="name" expected="&quot;&quot;" id="elementReplaceExistingAttributeAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementreplaceexistingattributegevalue.xml b/test/testcases/tests/level1/core/elementreplaceexistingattributegevalue.xml
new file mode 100644
index 0000000..4ce96c1
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementreplaceexistingattributegevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementreplaceexistingattributegevalue">
+<metadata>
+<title>elementReplaceExistingAttributeGeValue</title>
+<creator>NIST</creator>
+<description>
+If the "setAttributeNode(newAttr)" method replaces an
+existing Attr node with the same name, then it should
+return the previously existing Attr node.
+
+Retrieve the last child of the third employee and add a
+new attribute node. The new attribute node is "street",
+which is already present in this Element. The method
+should return the existing Attr node(old "street" Attr).
+This test uses the "createAttribute(name)" method
+from the Document interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--setAttributeNode-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="newAttribute" type="Attr"/>
+<var name="streetAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<createAttribute obj="doc" var="newAttribute" name="&quot;street&quot;"/>
+<setAttributeNode obj="testEmployee" var="streetAttr" newAttr="newAttribute"/>
+<value interface="Attr" obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected="&quot;No&quot;" id="streetNo" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementretrieveallattributes.xml b/test/testcases/tests/level1/core/elementretrieveallattributes.xml
new file mode 100644
index 0000000..ce849d4
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementretrieveallattributes.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementretrieveallattributes">
+<metadata>
+<title>elementRetrieveAllAttributes</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributes()" method(Node Interface) may
+ be used to retrieve the set of all attributes of an
+ element.
+
+ Create a list of all the attributes of the last child
+ of the first employee by using the "getAttributes()"
+ method. Examine the length of the attribute list.
+ This test uses the "getLength()" method from the
+ NameNodeMap interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- DOM WG opinion on default attributes -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html"/>
+</metadata>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="addressList"/>
+<item interface="NodeList" obj="addressList" index="0" var="testAddress"/>
+<attributes obj="testAddress" var="attributes"/>
+<assertSize collection="attributes" size="2" id="elementRetrieveAllAttributesAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementretrieveattrvalue.xml b/test/testcases/tests/level1/core/elementretrieveattrvalue.xml
new file mode 100644
index 0000000..41e62e3
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementretrieveattrvalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementretrieveattrvalue">
+<metadata>
+<title>elementRetrieveAttrValue</title>
+<creator>NIST</creator>
+<description>
+ The "getAttribute(name)" method returns an attribute
+ value by name.
+
+ Retrieve the second address element, then
+ invoke the 'getAttribute("street")' method. This should
+ return the value of the attribute("No").
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--getAttribute-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-666EE0F9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testAddress"/>
+<getAttribute obj="testAddress" var="attrValue" name="&quot;street&quot;"/>
+<assertEquals actual="attrValue" expected="&quot;No&quot;" id="attrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementretrievetagname.xml b/test/testcases/tests/level1/core/elementretrievetagname.xml
new file mode 100644
index 0000000..85bdf1e
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementretrievetagname.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementretrievetagname">
+<metadata>
+<title>elementRetrieveTagName</title>
+<creator>NIST</creator>
+<description>
+ The "getElementsByTagName()" method returns a NodeList
+ of all descendant elements with a given tagName.
+
+ Invoke the "getElementsByTagName()" method and create
+ a NodeList of "position" elements. Retrieve the second
+ "position" element in the list and return the NodeName.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--nodeName attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<!--tagName attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-104682815"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="name" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;position&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="testEmployee"/>
+<nodeName obj="testEmployee" var="name"/>
+<assertEquals actual="name" expected="&quot;position&quot;" id="nodename" ignoreCase="false"/>
+<tagName obj="testEmployee" var="name"/>
+<assertEquals actual="name" expected="&quot;position&quot;" id="tagname" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementsetattributenodenomodificationallowederr.xml b/test/testcases/tests/level1/core/elementsetattributenodenomodificationallowederr.xml
new file mode 100644
index 0000000..198c178
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementsetattributenodenomodificationallowederr.xml
@@ -0,0 +1,61 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementsetattributenodenomodificationallowederr">
+<metadata>
+<title>elementSetAttributeNodeNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNode(newAttr)" 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 the "domestic" attribute
+ from the entity reference by executing the "setAttributeNode(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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="gender" type="Node"/>
+<var name="entRef" type="Node"/>
+<var name="entElement" type="Element"/>
+<var name="newAttr" type="Attr"/>
+<var name="nodeType" type="int"/>
+<var name="badAttr" type="Attr"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<firstChild interface="Node" var="entRef" obj="gender"/>
+<assertNotNull actual="entRef" id="entRefNotNull"/>
+<nodeType var="nodeType" obj="entRef"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+</if>
+<firstChild interface="Node" var="entElement" obj="entRef"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<createAttribute obj="doc" var="newAttr" name='"newAttr"'/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<setAttributeNode var="badAttr" obj="entElement" newAttr="newAttr"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/elementsetattributenodenomodificationallowederrEE.xml b/test/testcases/tests/level1/core/elementsetattributenodenomodificationallowederrEE.xml
new file mode 100644
index 0000000..a540c72
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementsetattributenodenomodificationallowederrEE.xml
@@ -0,0 +1,58 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementsetattributenodenomodificationallowederrEE">
+<metadata>
+<title>elementsetattributenodenomodificationallowederree</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setAttributeNode(newAttr)" method for an attribute causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Create an entity reference and add to the THIRD "gender" element. The elements
+ content is an entity reference. Try to remove the "domestic" attribute
+ from the entity reference by executing the "setAttributeNode(newAttr)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<date qualifier="created">2001-08-21</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/elementsetattributenodenomodificationallowederr.xml"/>
+</metadata>
+<implementationAttribute name="expandEntityReferences" value="false"/>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="gender" type="Node"/>
+<var name="entRef" type="EntityReference"/>
+<var name="entElement" type="Element"/>
+<var name="newAttr" type="Attr"/>
+<var name="badAttr" type="Attr"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<appendChild obj="gender" newChild="entRef" var="appendedChild"/>
+<firstChild interface="Node" var="entElement" obj="entRef"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<createAttribute obj="doc" var="newAttr" name='"newAttr"'/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<setAttributeNode var="badAttr" obj="entElement" newAttr="newAttr"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/elementsetattributenodenull.xml b/test/testcases/tests/level1/core/elementsetattributenodenull.xml
new file mode 100644
index 0000000..7608454
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementsetattributenodenull.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementsetattributenodenull">
+<metadata>
+<title>elementSetAttributeNodeNull</title>
+<creator>NIST</creator>
+<description>
+ The "setAttributeNode(newAttr)" method returns the
+ null value if no previously existing Attr node with the
+ same name was replaced.
+
+ Retrieve the last child of the third employee and add a
+ new attribute to it. The new attribute node added is
+ "district", which is not part of this Element. The
+ method should return the null value.
+ This test uses the "createAttribute(name)"
+ method from the Document interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="newAttribute" type="Attr"/>
+<var name="districtAttr" type="Attr"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<createAttribute obj="doc" var="newAttribute" name="&quot;district&quot;"/>
+<setAttributeNode obj="testEmployee" var="districtAttr" newAttr="newAttribute"/>
+<assertNull actual="districtAttr" id="elementSetAttributeNodeNullAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/elementsetattributenomodificationallowederr.xml b/test/testcases/tests/level1/core/elementsetattributenomodificationallowederr.xml
new file mode 100644
index 0000000..978c2ec
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementsetattributenomodificationallowederr.xml
@@ -0,0 +1,53 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementsetattributenomodificationallowederr">
+<metadata>
+<title>elementSetAttributeNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "setAttribute(name,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 remove the "domestic" attribute
+ from the entity reference by executing the "setAttribute(name,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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+</metadata>
+<implementationAttribute name="expandEntityReferences" value="false"/>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="gender" type="Node"/>
+<var name="entRef" type="EntityReference"/>
+<var name="entElement" type="Element"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<firstChild interface="Node" var="entRef" obj="gender"/>
+<assertNotNull actual="entRef" id="entRefNotNull"/>
+<firstChild interface="Node" var="entElement" obj="entRef"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<setAttribute obj="entElement" name='"newAttr"' value='"newValue"'/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/elementsetattributenomodificationallowederrEE.xml b/test/testcases/tests/level1/core/elementsetattributenomodificationallowederrEE.xml
new file mode 100644
index 0000000..1821d04
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementsetattributenomodificationallowederrEE.xml
@@ -0,0 +1,53 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementsetattributenomodificationallowederrEE">
+<metadata>
+<title>elementSetAttributeNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setAttribute(name,value)" method for an attribute causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Add an ent4 reference to the children of the THIRD "gender" element.
+ Try to remove the "domestic" attribute
+ from the entity reference by executing the "setAttribute(name,value)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<date qualifier="created">2001-08-21</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/elementsetattributenomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="gender" type="Node"/>
+<var name="entRef" type="EntityReference"/>
+<var name="entElement" type="Element"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<createEntityReference var="entRef" obj="doc" name="&quot;ent4&quot;"/>
+<appendChild obj="gender" newChild="entRef" var="appendedChild"/>
+<firstChild interface="Node" var="entElement" obj="entRef"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<setAttribute obj="entElement" name="&quot;newAttr&quot;" value="&quot;newValue&quot;"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/elementwrongdocumenterr.xml b/test/testcases/tests/level1/core/elementwrongdocumenterr.xml
new file mode 100644
index 0000000..531c512
--- /dev/null
+++ b/test/testcases/tests/level1/core/elementwrongdocumenterr.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="elementwrongdocumenterr">
+<metadata>
+<title>elementWrongDocumentErr</title>
+<creator>NIST</creator>
+<description>
+
+ The "setAttributeNode(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 last employee and attempt to set a new
+
+ attribute node for its "employee" element. 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 "createAttribute(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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc1" type="Document"/>
+<var name="doc2" type="Document"/>
+<var name="newAttribute" type="Attr"/>
+<var name="addressElementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<var name="attrAddress" type="Attr"/>
+<load var="doc1" href="staff" willBeModified="true"/>
+<load var="doc2" href="staff" willBeModified="false"/>
+<createAttribute obj="doc2" var="newAttribute" name="&quot;newAttribute&quot;"/>
+<getElementsByTagName interface="Document" obj="doc1" tagname="&quot;address&quot;" var="addressElementList"/>
+<item interface="NodeList" obj="addressElementList" index="4" var="testAddress"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<setAttributeNode obj="testAddress" newAttr="newAttribute" var="attrAddress"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/entitygetentityname.xml b/test/testcases/tests/level1/core/entitygetentityname.xml
new file mode 100644
index 0000000..2aa4be3
--- /dev/null
+++ b/test/testcases/tests/level1/core/entitygetentityname.xml
@@ -0,0 +1,46 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="entitygetentityname">
+<metadata>
+<title>entityGetEntityName</title>
+<creator>NIST</creator>
+<description>
+ The nodeName attribute that is inherited from Node
+ contains the name of the entity.
+
+ Retrieve the entity named "ent1" and access its name by
+ invoking the "getNodeName()" method inherited from
+ the Node interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--Entity interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-527DCFF2"/>
+<!--nodeName attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entityList" type="NamedNodeMap"/>
+<var name="entityNode" type="Entity"/>
+<var name="entityName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="entityList"/>
+<assertNotNull actual="entityList" id="entitiesNotNull"/>
+<getNamedItem obj="entityList" var="entityNode" name="&quot;ent1&quot;"/>
+<nodeName obj="entityNode" var="entityName"/>
+<assertEquals actual="entityName" expected="&quot;ent1&quot;" id="entityGetEntityNameAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/entitygetpublicid.xml b/test/testcases/tests/level1/core/entitygetpublicid.xml
new file mode 100644
index 0000000..645a781
--- /dev/null
+++ b/test/testcases/tests/level1/core/entitygetpublicid.xml
@@ -0,0 +1,55 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="entitygetpublicid">
+<metadata>
+<title>entityGetPublicId</title>
+<creator>NIST</creator>
+<description>
+ The "getPublicId()" method of an Entity node contains
+ the public identifier associated with the entity, if
+ one was specified.
+
+ Retrieve the entity named "ent5" and access its
+ public identifier. The string "entityURI" should be
+ returned.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!-- Entity.publicId -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D7303025"/>
+<!-- Entity.notationName -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6ABAEB38"/>
+<!-- Entity.systemId -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D7C29F3E"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entityList" type="NamedNodeMap"/>
+<var name="entityNode" type="Entity"/>
+<var name="publicId" type="DOMString"/>
+<var name="systemId" type="DOMString"/>
+<var name="notation" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="entityList"/>
+<assertNotNull actual="entityList" id="entitiesNotNull"/>
+<getNamedItem obj="entityList" var="entityNode" name='"ent5"'/>
+<publicId interface="Entity" obj="entityNode" var="publicId"/>
+<assertEquals actual="publicId" expected='"entityURI"' id="publicId" ignoreCase="false"/>
+<systemId interface="Entity" obj="entityNode" var="systemId"/>
+<assertURIEquals actual="systemId" file='"entityFile"' id="systemId"/>
+<notationName interface="Entity" obj="entityNode" var="notation"/>
+<assertEquals actual="notation" expected='"notation1"' id="notation" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/entitygetpublicidnull.xml b/test/testcases/tests/level1/core/entitygetpublicidnull.xml
new file mode 100644
index 0000000..172ba80
--- /dev/null
+++ b/test/testcases/tests/level1/core/entitygetpublicidnull.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="entitygetpublicidnull">
+<metadata>
+<title>entityGetPublicIdNull</title>
+<creator>NIST</creator>
+<description>
+ The "getPublicId()" method of an Entity node contains
+ the public identifier associated with the entity, if
+ one was not specified a null value should be returned.
+
+ Retrieve the entity named "ent1" and access its
+ public identifier. Since a public identifier was not
+ specified for this entity, the "getPublicId()" method
+ should return null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D7303025"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entityList" type="NamedNodeMap"/>
+<var name="entityNode" type="Entity"/>
+<var name="publicId" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="entityList"/>
+<assertNotNull actual="entityList" id="entitiesNotNull"/>
+<getNamedItem obj="entityList" var="entityNode" name='"ent1"'/>
+<publicId interface="Entity" obj="entityNode" var="publicId"/>
+<assertNull actual="publicId" id="entityGetPublicIdNullAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/files/.cvsignore b/test/testcases/tests/level1/core/files/.cvsignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level1/core/files/.cvsignore
diff --git a/test/testcases/tests/level1/core/files/CVS/Entries b/test/testcases/tests/level1/core/files/CVS/Entries
new file mode 100644
index 0000000..4398a4d
--- /dev/null
+++ b/test/testcases/tests/level1/core/files/CVS/Entries
@@ -0,0 +1,16 @@
+/.cvsignore/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodtdstaff.html/1.3/Fri Apr 3 02:48:03 2009//
+/hc_nodtdstaff.svg/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodtdstaff.xhtml/1.2/Fri Apr 3 02:48:03 2009//
+/hc_nodtdstaff.xml/1.3/Fri Apr 3 02:48:03 2009//
+/hc_staff.html/1.8/Fri Apr 3 02:48:03 2009//
+/hc_staff.svg/1.5/Fri Apr 3 02:48:03 2009//
+/hc_staff.xhtml/1.7/Fri Apr 3 02:48:03 2009//
+/hc_staff.xml/1.9/Fri Apr 3 02:48:03 2009//
+/staff.dtd/1.2/Fri Apr 3 02:48:03 2009//
+/staff.svg/1.3/Fri Apr 3 02:48:03 2009//
+/staff.xml/1.2/Fri Apr 3 02:48:03 2009//
+/svgtest.js/1.2/Fri Apr 3 02:48:03 2009/-kb/
+/svgunit.js/1.2/Fri Apr 3 02:48:03 2009/-kb/
+/xhtml1-strict.dtd/1.5/Fri Apr 3 02:48:03 2009/-kb/
+D
diff --git a/test/testcases/tests/level1/core/files/CVS/Repository b/test/testcases/tests/level1/core/files/CVS/Repository
new file mode 100644
index 0000000..e9c06be
--- /dev/null
+++ b/test/testcases/tests/level1/core/files/CVS/Repository
@@ -0,0 +1 @@
+2001/DOM-Test-Suite/tests/level1/core/files
diff --git a/test/testcases/tests/level1/core/files/CVS/Root b/test/testcases/tests/level1/core/files/CVS/Root
new file mode 100644
index 0000000..3c7177e
--- /dev/null
+++ b/test/testcases/tests/level1/core/files/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/test/testcases/tests/level1/core/files/CVS/Template b/test/testcases/tests/level1/core/files/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level1/core/files/CVS/Template
diff --git a/test/testcases/tests/level1/core/files/hc_nodtdstaff.html b/test/testcases/tests/level1/core/files/hc_nodtdstaff.html
new file mode 100644
index 0000000..f98d0be
--- /dev/null
+++ b/test/testcases/tests/level1/core/files/hc_nodtdstaff.html
@@ -0,0 +1,10 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>hc_nodtdstaff</title></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>
+</body></html>
diff --git a/test/testcases/tests/level1/core/files/hc_nodtdstaff.svg b/test/testcases/tests/level1/core/files/hc_nodtdstaff.svg
new file mode 100644
index 0000000..89f26f6
--- /dev/null
+++ b/test/testcases/tests/level1/core/files/hc_nodtdstaff.svg
@@ -0,0 +1,10 @@
+<svg xmlns='http://www.w3.org/2000/svg'><rect x="0" y="0" width="100" height="100"/><head xmlns='http://www.w3.org/1999/xhtml'><title>hc_nodtdstaff</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>
+</body></svg>
diff --git a/test/testcases/tests/level1/core/files/hc_nodtdstaff.xhtml b/test/testcases/tests/level1/core/files/hc_nodtdstaff.xhtml
new file mode 100644
index 0000000..8a5d8a8
--- /dev/null
+++ b/test/testcases/tests/level1/core/files/hc_nodtdstaff.xhtml
@@ -0,0 +1,10 @@
+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>hc_nodtdstaff</title></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>
+</body></html>
diff --git a/test/testcases/tests/level1/core/files/hc_nodtdstaff.xml b/test/testcases/tests/level1/core/files/hc_nodtdstaff.xml
new file mode 100644
index 0000000..85c0693
--- /dev/null
+++ b/test/testcases/tests/level1/core/files/hc_nodtdstaff.xml
@@ -0,0 +1,10 @@
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_nodtdstaff</title></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>
+</body></html>
diff --git a/test/testcases/tests/level1/core/files/hc_staff.html b/test/testcases/tests/level1/core/files/hc_staff.html
new file mode 100644
index 0000000..9acf750
--- /dev/null
+++ b/test/testcases/tests/level1/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/level1/core/files/hc_staff.svg b/test/testcases/tests/level1/core/files/hc_staff.svg
new file mode 100644
index 0000000..cd0cc47
--- /dev/null
+++ b/test/testcases/tests/level1/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/level1/core/files/hc_staff.xhtml b/test/testcases/tests/level1/core/files/hc_staff.xhtml
new file mode 100644
index 0000000..16d4eb0
--- /dev/null
+++ b/test/testcases/tests/level1/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/level1/core/files/hc_staff.xml b/test/testcases/tests/level1/core/files/hc_staff.xml
new file mode 100644
index 0000000..2df9a74
--- /dev/null
+++ b/test/testcases/tests/level1/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/level1/core/files/staff.dtd b/test/testcases/tests/level1/core/files/staff.dtd
new file mode 100644
index 0000000..02a994d
--- /dev/null
+++ b/test/testcases/tests/level1/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/level1/core/files/staff.svg b/test/testcases/tests/level1/core/files/staff.svg
new file mode 100644
index 0000000..77c9b5b
--- /dev/null
+++ b/test/testcases/tests/level1/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">&svgunit;&svgtest;</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/level1/core/files/staff.xml b/test/testcases/tests/level1/core/files/staff.xml
new file mode 100644
index 0000000..f89c510
--- /dev/null
+++ b/test/testcases/tests/level1/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/level1/core/files/svgtest.js b/test/testcases/tests/level1/core/files/svgtest.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level1/core/files/svgtest.js
diff --git a/test/testcases/tests/level1/core/files/svgunit.js b/test/testcases/tests/level1/core/files/svgunit.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level1/core/files/svgunit.js
diff --git a/test/testcases/tests/level1/core/files/xhtml1-strict.dtd b/test/testcases/tests/level1/core/files/xhtml1-strict.dtd
new file mode 100644
index 0000000..f3d0fba
--- /dev/null
+++ b/test/testcases/tests/level1/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/level1/core/hc_attrappendchild1.xml b/test/testcases/tests/level1/core/hc_attrappendchild1.xml
new file mode 100644
index 0000000..e1e669e
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrappendchild1.xml
@@ -0,0 +1,63 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrappendchild1">
+<metadata>
+<title>hc_attrappendchild1</title>
+<creator>Curt Arnold</creator>
+<description>
+Appends a text node to an attribute and checks if the value of
+the attribute is changed.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.appendChild -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retval" type="Node"/>
+<var name="lastChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<createTextNode var="textNode" obj="doc" data='"terday"'/>
+<appendChild var="retval" obj="titleAttr" newChild="textNode"/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that retval is the appended node -->
+<nodeValue obj="retval" var="value"/>
+<assertEquals actual="value" expected='"terday"' id="retvalValue" ignoreCase="false"/>
+
+<!-- check that lastChild is the appended node -->
+<lastChild var="lastChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="lastChild" var="value"/>
+<assertEquals actual="value" expected='"terday"' id="lastChildValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrappendchild2.xml b/test/testcases/tests/level1/core/hc_attrappendchild2.xml
new file mode 100644
index 0000000..793fb8a
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrappendchild2.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrappendchild2">
+<metadata>
+<title>hc_attrappendchild2</title>
+<creator>Curt Arnold</creator>
+<description>
+Attempts to append an element to the child nodes of an attribute.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.appendChild -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="newChild" type="Node"/>
+<var name="retval" type="Node"/>
+<var name="lastChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<createElement var="newChild" obj="doc" tagName='"terday"'/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+ <HIERARCHY_REQUEST_ERR>
+ <appendChild var="retval" obj="titleAttr" newChild="newChild"/>
+ </HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrappendchild3.xml b/test/testcases/tests/level1/core/hc_attrappendchild3.xml
new file mode 100644
index 0000000..89d826e
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrappendchild3.xml
@@ -0,0 +1,72 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrappendchild3">
+<metadata>
+<title>hc_attrappendchild3</title>
+<creator>Curt Arnold</creator>
+<description>
+Appends a document fragment to an attribute and checks if the value of
+the attribute is changed.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.appendChild -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="terNode" type="Text"/>
+<var name="dayNode" type="Text"/>
+<var name="retval" type="Node"/>
+<var name="lastChild" type="Node"/>
+<var name="docFrag" type="DocumentFragment"/>
+
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+
+<createTextNode var="terNode" obj="doc" data='"ter"'/>
+<createTextNode var="dayNode" obj="doc" data='"day"'/>
+<createDocumentFragment var="docFrag" obj="doc"/>
+<appendChild var="retval" obj="docFrag" newChild="terNode"/>
+<appendChild var="retval" obj="docFrag" newChild="dayNode"/>
+
+<appendChild var="retval" obj="titleAttr" newChild="docFrag"/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that retval is the document fragment -->
+<nodeValue obj="retval" var="value"/>
+<assertNull actual="value" id="retvalValue"/>
+
+<!-- check that lastChild is the final node in the doc fragment node -->
+<lastChild var="lastChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="lastChild" var="value"/>
+<assertEquals actual="value" expected='"day"' id="lastChildValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrappendchild4.xml b/test/testcases/tests/level1/core/hc_attrappendchild4.xml
new file mode 100644
index 0000000..f2bed28
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrappendchild4.xml
@@ -0,0 +1,59 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrappendchild4">
+<metadata>
+<title>hc_attrappendchild4</title>
+<creator>Curt Arnold</creator>
+<description>
+Attempt to append a CDATASection to an attribute which should result
+in a HIERARCHY_REQUEST_ERR.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.appendChild -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+<hasFeature feature='"XML"'/>
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Node"/>
+<var name="retval" type="Node"/>
+<var name="lastChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<if><contentType type="text/html"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_ERR">
+ <NOT_SUPPORTED_ERR>
+ <createCDATASection var="textNode" obj="doc" data='"terday"'/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+<else>
+<createCDATASection var="textNode" obj="doc" data='"terday"'/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+ <HIERARCHY_REQUEST_ERR>
+ <appendChild var="retval" obj="titleAttr" newChild="textNode"/>
+ </HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrappendchild5.xml b/test/testcases/tests/level1/core/hc_attrappendchild5.xml
new file mode 100644
index 0000000..1dc2693
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrappendchild5.xml
@@ -0,0 +1,54 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrappendchild5">
+<metadata>
+<title>hc_attrappendchild5</title>
+<creator>Curt Arnold</creator>
+<description>
+Attempt to append a node from another document to an attribute which should result
+in a WRONG_DOCUMENT_ERR.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.appendChild -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Node"/>
+<var name="retval" type="Node"/>
+<var name="lastChild" type="Node"/>
+<var name="otherDoc" type="Document"/>
+
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<load var="otherDoc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<createTextNode var="textNode" obj="otherDoc" data='"terday"'/>
+
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+ <WRONG_DOCUMENT_ERR>
+ <appendChild var="retval" obj="titleAttr" newChild="textNode"/>
+ </WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrappendchild6.xml b/test/testcases/tests/level1/core/hc_attrappendchild6.xml
new file mode 100644
index 0000000..d180bc3
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrappendchild6.xml
@@ -0,0 +1,59 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrappendchild6">
+<metadata>
+<title>hc_attrappendchild6</title>
+<creator>Curt Arnold</creator>
+<description>
+Creates an new attribute node and appends a text node.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.appendChild -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retval" type="Node"/>
+<var name="lastChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createAttribute var="titleAttr" obj="doc" name='"title"'/>
+<createTextNode var="textNode" obj="doc" data='"Yesterday"'/>
+<appendChild var="retval" obj="titleAttr" newChild="textNode"/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that retval is the appended node -->
+<nodeValue obj="retval" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="retvalValue" ignoreCase="false"/>
+
+<!-- check that lastChild is the appended node -->
+<lastChild var="lastChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="lastChild" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="lastChildValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrchildnodes1.xml b/test/testcases/tests/level1/core/hc_attrchildnodes1.xml
new file mode 100644
index 0000000..3a1e911
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrchildnodes1.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrchildnodes1">
+<metadata>
+<title>hc_attrchildnodes1</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.childNodes for an attribute node contains
+the expected text node.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.childNodes -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="childNodes" type="NodeList"/>
+
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<childNodes var="childNodes" obj="titleAttr"/>
+<assertSize size="1" collection="childNodes" id="childNodesSize"/>
+<item var="textNode" obj="childNodes" index="0" interface="NodeList"/>
+<nodeValue var="value" obj="textNode"/>
+<assertEquals actual="value" expected='"Yes"' id="child1IsYes" ignoreCase="false"/>
+<item var="textNode" obj="childNodes" index="1" interface="NodeList"/>
+<assertNull actual="textNode" id="secondItemIsNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrchildnodes2.xml b/test/testcases/tests/level1/core/hc_attrchildnodes2.xml
new file mode 100644
index 0000000..b637567
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrchildnodes2.xml
@@ -0,0 +1,59 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrchildnodes2">
+<metadata>
+<title>hc_attrchildnodes2</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks Node.childNodes for an attribute with multiple child nodes.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.childNodes -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="childNodes" type="NodeList"/>
+<var name="retval" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<childNodes var="childNodes" obj="titleAttr"/>
+
+<createTextNode var="textNode" obj="doc" data='"terday"'/>
+<appendChild var="retval" obj="titleAttr" newChild="textNode"/>
+
+<assertSize size="2" collection="childNodes" id="childNodesSize"/>
+<item var="textNode" obj="childNodes" index="0" interface="NodeList"/>
+<nodeValue var="value" obj="textNode"/>
+<assertEquals actual="value" expected='"Yes"' id="child1IsYes" ignoreCase="false"/>
+
+<item var="textNode" obj="childNodes" index="1" interface="NodeList"/>
+<nodeValue var="value" obj="textNode"/>
+<assertEquals actual="value" expected='"terday"' id="child2IsTerday" ignoreCase="false"/>
+
+<item var="textNode" obj="childNodes" index="2" interface="NodeList"/>
+<assertNull actual="textNode" id="thirdItemIsNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrclonenode1.xml b/test/testcases/tests/level1/core/hc_attrclonenode1.xml
new file mode 100644
index 0000000..ad9654f
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrclonenode1.xml
@@ -0,0 +1,63 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrclonenode1">
+<metadata>
+<title>hc_attrclonenode1</title>
+<creator>Curt Arnold</creator>
+<description>
+Appends a text node to an attribute and clones the node.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.cloneNode -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retval" type="Node"/>
+<var name="lastChild" type="Node"/>
+<var name="clonedTitle" type="Attr"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<createTextNode var="textNode" obj="doc" data='"terday"'/>
+<appendChild var="retval" obj="titleAttr" newChild="textNode"/>
+
+<cloneNode var="clonedTitle" obj="titleAttr" deep="false"/>
+<!-- change the original text node, should not affect the clone -->
+<nodeValue obj="textNode" value='"text_node_not_cloned"'/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="clonedTitle" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="clonedTitle" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that lastChild is the the expected value -->
+<lastChild var="lastChild" obj="clonedTitle" interface="Node"/>
+<nodeValue obj="lastChild" var="value"/>
+<assertEquals actual="value" expected='"terday"' id="lastChildValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrcreatedocumentfragment.xml b/test/testcases/tests/level1/core/hc_attrcreatedocumentfragment.xml
new file mode 100644
index 0000000..a8026f9
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrcreatedocumentfragment.xml
@@ -0,0 +1,58 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrcreatedocumentfragment">
+<metadata>
+<title>hc_attrcreatedocumentfragment</title>
+<creator>Curt Arnold</creator>
+<description>
+ Create a new DocumentFragment and add a newly created Element node(with one attribute).
+ Once the element is added, its attribute should be available as an attribute associated
+ with an Element within a DocumentFragment.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!-- createDocumentFragment -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-35CB04B5"/>
+<!-- setAttribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+<!-- DocumentFragment -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=236"/>
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=184"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docFragment" type="DocumentFragment"/>
+<var name="newOne" type="Element"/>
+<var name="domesticNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="attribute" type="Attr"/>
+<var name="attrName" type="DOMString"/>
+<var name="appendedChild" type="Node"/>
+<var name="langAttrCount" type="int" value="0"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="docFragment"/>
+<createElement obj="doc" var="newOne" tagName='"html"'/>
+<setAttribute obj="newOne" name='"lang"' value='"EN"'/>
+<appendChild var="appendedChild" obj="docFragment" newChild="newOne"/>
+<firstChild interface="Node" obj="docFragment" var="domesticNode"/>
+<attributes obj="domesticNode" var="attributes"/>
+<for-each collection="attributes" member="attribute">
+ <nodeName var="attrName" obj="attribute"/>
+ <if><equals expected='"lang"' actual="attrName" ignoreCase="auto" context="attribute"/>
+ <increment var="langAttrCount" value="1"/>
+ </if>
+</for-each>
+<assertEquals expected="1" actual="langAttrCount" id="hasLangAttr" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrcreatetextnode.xml b/test/testcases/tests/level1/core/hc_attrcreatetextnode.xml
new file mode 100644
index 0000000..86532b3
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrcreatetextnode.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrcreatetextnode">
+<metadata>
+<title>hc_attrCreateTextNode</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setValue()" method for an attribute creates a
+ Text node with the unparsed content of the string.
+ Retrieve the attribute named "class" from the last
+ child of of the fourth employee and assign the "Y&amp;ent1;"
+ string to its value attribute. This value is not yet
+ parsed and therefore should still be the same upon
+ retrieval. This test uses the "getNamedItem(name)" method
+ from the NamedNodeMap interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!-- Attr.value -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474"/>
+<!-- bug report on initial version -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0057.html"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname='"acronym"'/>
+<item interface="NodeList" obj="addressList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="streetAttr" name='"class"'/>
+<value interface="Attr" obj="streetAttr" value='"Y&amp;ent1;"'/>
+<value interface="Attr" obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected='"Y&amp;ent1;"' id="value" ignoreCase="false"/>
+<nodeValue obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected='"Y&amp;ent1;"' id="nodeValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrcreatetextnode2.xml b/test/testcases/tests/level1/core/hc_attrcreatetextnode2.xml
new file mode 100644
index 0000000..474a26b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrcreatetextnode2.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrcreatetextnode2">
+<metadata>
+<title>hc_attrCreateTextNode2</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setNodeValue()" method for an attribute creates a
+ Text node with the unparsed content of the string.
+ Retrieve the attribute named "class" from the last
+ child of of the fourth employee and assign the "Y&amp;ent1;"
+ string to its value attribute. This value is not yet
+ parsed and therefore should still be the same upon
+ retrieval. This test uses the "getNamedItem(name)" method
+ from the NamedNodeMap interface.
+</description>
+<date qualifier="created">2002-06-09</date>
+<!-- Node.nodeValue -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<!-- bug report on initial version -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0057.html"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname='"acronym"'/>
+<item interface="NodeList" obj="addressList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="streetAttr" name='"class"'/>
+<nodeValue obj="streetAttr" value='"Y&amp;ent1;"'/>
+<value interface="Attr" obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected='"Y&amp;ent1;"' id="value" ignoreCase="false"/>
+<nodeValue obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected='"Y&amp;ent1;"' id="nodeValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attreffectivevalue.xml b/test/testcases/tests/level1/core/hc_attreffectivevalue.xml
new file mode 100644
index 0000000..c3dccba
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attreffectivevalue.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attreffectivevalue">
+<metadata>
+<title>hc_attrEffectiveValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ If an Attr is explicitly assigned any value, then that value is the attributes effective value.
+ Retrieve the attribute named "domestic" from the last child of of the first employee
+ and examine its nodeValue attribute. This test uses the "getNamedItem(name)" method
+ from the NamedNodeMap interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!-- Element.attributes -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- NamedNodeMap.getNamedItem -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549"/>
+</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="value" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname='"acronym"'/>
+<item interface="NodeList" obj="addressList" var="testNode" index="0"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="domesticAttr" name='"title"'/>
+<nodeValue obj="domesticAttr" var="value"/>
+<assertEquals actual="value" expected='"Yes"' id="attrEffectiveValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrfirstchild.xml b/test/testcases/tests/level1/core/hc_attrfirstchild.xml
new file mode 100644
index 0000000..0b19f35
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrfirstchild.xml
@@ -0,0 +1,52 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrfirstchild">
+<metadata>
+<title>hc_attrfirstchild</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.firstChild for an attribute node contains
+the expected text node.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.firstChild -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="otherChild" type="Node"/>
+
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<firstChild var="textNode" obj="titleAttr" interface="Node"/>
+<assertNotNull actual="textNode" id="textNodeNotNull"/>
+<nodeValue var="value" obj="textNode"/>
+<assertEquals actual="value" expected='"Yes"' id="child1IsYes" ignoreCase="false"/>
+<nextSibling var="otherChild" obj="textNode" interface="Node"/>
+<assertNull actual="otherChild" id="nextSiblingIsNull"/>
+<previousSibling var="otherChild" obj="textNode" interface="Node"/>
+<assertNull actual="otherChild" id="previousSiblingIsNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrgetvalue1.xml b/test/testcases/tests/level1/core/hc_attrgetvalue1.xml
new file mode 100644
index 0000000..44344db
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrgetvalue1.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrgetvalue1">
+<metadata>
+<title>hc_attrgetvalue1</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks the value of an attribute that contains entity references.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr.value -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retval" type="Node"/>
+<var name="lastChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"class"'/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Y&#945;"' id="attrValue1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrgetvalue2.xml b/test/testcases/tests/level1/core/hc_attrgetvalue2.xml
new file mode 100644
index 0000000..1b05e58
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrgetvalue2.xml
@@ -0,0 +1,61 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrgetvalue2">
+<metadata>
+<title>hc_attrgetvalue2</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks the value of an attribute that contains entity references.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr.value -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474"/>
+</metadata>
+<hasFeature feature='"XML"'/>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retval" type="Node"/>
+<var name="firstChild" type="Node"/>
+<var name="alphaRef" type="EntityReference"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"class"'/>
+
+<if><contentType type="text/html"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_ERR">
+ <NOT_SUPPORTED_ERR>
+ <createEntityReference var="alphaRef" obj="doc" name='"alpha"'/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+<else>
+<!-- create an alpha entity reference and place it first -->
+<createEntityReference var="alphaRef" obj="doc" name='"alpha"'/>
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<insertBefore var="retval" obj="titleAttr" newChild="alphaRef" refChild="firstChild"/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"&#945;Y&#945;"' id="attrValue1" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrhaschildnodes.xml b/test/testcases/tests/level1/core/hc_attrhaschildnodes.xml
new file mode 100644
index 0000000..9be5864
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrhaschildnodes.xml
@@ -0,0 +1,43 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrhaschildnodes">
+<metadata>
+<title>hc_attrhaschildnodes</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.hasChildNodes() is true for an attribute with content.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.hasChildNodes -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="hasChildNodes" type="boolean"/>
+
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<hasChildNodes var="hasChildNodes" obj="titleAttr"/>
+<assertTrue actual="hasChildNodes" id="hasChildrenIsTrue"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrinsertbefore1.xml b/test/testcases/tests/level1/core/hc_attrinsertbefore1.xml
new file mode 100644
index 0000000..f36124e
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrinsertbefore1.xml
@@ -0,0 +1,72 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrinsertbefore1">
+<metadata>
+<title>hc_attrinsertbefore1</title>
+<creator>Curt Arnold</creator>
+<description>
+Appends a text node to an attribute and checks if the value of
+the attribute is changed.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.insertBefore -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retval" type="Node"/>
+<var name="firstChild" type="Node"/>
+<var name="lastChild" type="Node"/>
+<var name="refChild" type="Node" isNull="true"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<createTextNode var="textNode" obj="doc" data='"terday"'/>
+
+<insertBefore var="retval" obj="titleAttr" newChild="textNode" refChild="refChild"/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that retval is the appended node -->
+<nodeValue obj="retval" var="value"/>
+<assertEquals actual="value" expected='"terday"' id="retvalValue" ignoreCase="false"/>
+
+<!-- check that firstChild is the existing node -->
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="firstChild" var="value"/>
+<assertEquals actual="value" expected='"Yes"' id="firstChildValue" ignoreCase="false"/>
+
+
+<!-- check that lastChild is the appended node -->
+<lastChild var="lastChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="lastChild" var="value"/>
+<assertEquals actual="value" expected='"terday"' id="lastChildValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrinsertbefore2.xml b/test/testcases/tests/level1/core/hc_attrinsertbefore2.xml
new file mode 100644
index 0000000..ae51d42
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrinsertbefore2.xml
@@ -0,0 +1,71 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrinsertbefore2">
+<metadata>
+<title>hc_attrinsertbefore2</title>
+<creator>Curt Arnold</creator>
+<description>
+Prepends a text node to an attribute and checks if the value of
+the attribute is changed.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.insertBefore -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retval" type="Node"/>
+<var name="lastChild" type="Node"/>
+<var name="firstChild" type="Node"/>
+<var name="refChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<createTextNode var="textNode" obj="doc" data='"terday"'/>
+<firstChild var="refChild" obj="titleAttr" interface="Node"/>
+<insertBefore var="retval" obj="titleAttr" newChild="textNode" refChild="refChild"/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"terdayYes"' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"terdayYes"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that retval is the appended node -->
+<nodeValue obj="retval" var="value"/>
+<assertEquals actual="value" expected='"terday"' id="retvalValue" ignoreCase="false"/>
+
+<!-- check that firstChild is the prepended node -->
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="firstChild" var="value"/>
+<assertEquals actual="value" expected='"terday"' id="firstChildValue" ignoreCase="false"/>
+
+<!-- check that lastChild is the original node -->
+<lastChild var="lastChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="lastChild" var="value"/>
+<assertEquals actual="value" expected='"Yes"' id="lastChildValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrinsertbefore3.xml b/test/testcases/tests/level1/core/hc_attrinsertbefore3.xml
new file mode 100644
index 0000000..1d3e0ff
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrinsertbefore3.xml
@@ -0,0 +1,79 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrinsertbefore3">
+<metadata>
+<title>hc_attrinsertbefore3</title>
+<creator>Curt Arnold</creator>
+<description>
+Appends a document fragment to an attribute and checks if the value of
+the attribute is changed.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.insertBefore -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="terNode" type="Text"/>
+<var name="dayNode" type="Text"/>
+<var name="docFrag" type="DocumentFragment"/>
+<var name="retval" type="Node"/>
+<var name="firstChild" type="Node"/>
+<var name="lastChild" type="Node"/>
+<var name="refChild" type="Node" isNull="true"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+
+<createTextNode var="terNode" obj="doc" data='"ter"'/>
+<createTextNode var="dayNode" obj="doc" data='"day"'/>
+<createDocumentFragment var="docFrag" obj="doc"/>
+<appendChild var="retval" obj="docFrag" newChild="terNode"/>
+<appendChild var="retval" obj="docFrag" newChild="dayNode"/>
+
+<insertBefore var="retval" obj="titleAttr" newChild="docFrag" refChild="refChild"/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that retval is the appended node -->
+<nodeValue obj="retval" var="value"/>
+<assertNull actual="value" id="retvalValue"/>
+
+<!-- check that firstChild is the existing node -->
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="firstChild" var="value"/>
+<assertEquals actual="value" expected='"Yes"' id="firstChildValue" ignoreCase="false"/>
+
+
+<!-- check that lastChild is the last child of the doc fragment -->
+<lastChild var="lastChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="lastChild" var="value"/>
+<assertEquals actual="value" expected='"day"' id="lastChildValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrinsertbefore4.xml b/test/testcases/tests/level1/core/hc_attrinsertbefore4.xml
new file mode 100644
index 0000000..0640396
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrinsertbefore4.xml
@@ -0,0 +1,81 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrinsertbefore4">
+<metadata>
+<title>hc_attrinsertbefore4</title>
+<creator>Curt Arnold</creator>
+<description>
+Prepends a document fragment to an attribute and checks if the value of
+the attribute is changed.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.insertBefore -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="terNode" type="Text"/>
+<var name="dayNode" type="Text"/>
+<var name="docFrag" type="DocumentFragment"/>
+<var name="retval" type="Node"/>
+<var name="firstChild" type="Node"/>
+<var name="lastChild" type="Node"/>
+<var name="refChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+
+<createTextNode var="terNode" obj="doc" data='"ter"'/>
+<createTextNode var="dayNode" obj="doc" data='"day"'/>
+<createDocumentFragment var="docFrag" obj="doc"/>
+<appendChild var="retval" obj="docFrag" newChild="terNode"/>
+<appendChild var="retval" obj="docFrag" newChild="dayNode"/>
+
+
+<firstChild var="refChild" obj="titleAttr" interface="Node"/>
+<insertBefore var="retval" obj="titleAttr" newChild="docFrag" refChild="refChild"/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"terdayYes"' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"terdayYes"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that retval is the appended node -->
+<nodeValue obj="retval" var="value"/>
+<assertNull actual="value" id="retvalValue"/>
+
+<!-- check that firstChild is the first node in the document fragment -->
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="firstChild" var="value"/>
+<assertEquals actual="value" expected='"ter"' id="firstChildValue" ignoreCase="false"/>
+
+<!-- check that last child is the original node -->
+<lastChild var="lastChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="lastChild" var="value"/>
+<assertEquals actual="value" expected='"Yes"' id="lastChildValue" ignoreCase="false"/>
+
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrinsertbefore5.xml b/test/testcases/tests/level1/core/hc_attrinsertbefore5.xml
new file mode 100644
index 0000000..71a3029
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrinsertbefore5.xml
@@ -0,0 +1,60 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrinsertbefore5">
+<metadata>
+<title>hc_attrinsertbefore5</title>
+<creator>Curt Arnold</creator>
+<description>
+Attempt to append a CDATASection to an attribute which should result
+in a HIERARCHY_REQUEST_ERR.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.insertBefore -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+<hasFeature feature='"XML"'/>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Node"/>
+<var name="retval" type="Node"/>
+<var name="refChild" type="Node" isNull="true"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<if><contentType type="text/html"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_ERR">
+ <NOT_SUPPORTED_ERR>
+ <createCDATASection var="textNode" obj="doc" data='"terday"'/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+<else>
+<createCDATASection var="textNode" obj="doc" data='"terday"'/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+ <HIERARCHY_REQUEST_ERR>
+ <insertBefore var="retval" obj="titleAttr" newChild="textNode" refChild="refChild"/>
+ </HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrinsertbefore6.xml b/test/testcases/tests/level1/core/hc_attrinsertbefore6.xml
new file mode 100644
index 0000000..a6347e6
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrinsertbefore6.xml
@@ -0,0 +1,53 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrinsertbefore6">
+<metadata>
+<title>hc_attrinsertbefore6</title>
+<creator>Curt Arnold</creator>
+<description>
+Attempt to append a text node from another document to an attribute which should result
+in a WRONG_DOCUMENT_ERR.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.insertBefore -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Node"/>
+<var name="retval" type="Node"/>
+<var name="refChild" type="Node" isNull="true"/>
+<var name="otherDoc" type="Document"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<load var="otherDoc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<createTextNode var="textNode" obj="otherDoc" data='"terday"'/>
+
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+ <WRONG_DOCUMENT_ERR>
+ <insertBefore var="retval" obj="titleAttr" newChild="textNode" refChild="refChild"/>
+ </WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrinsertbefore7.xml b/test/testcases/tests/level1/core/hc_attrinsertbefore7.xml
new file mode 100644
index 0000000..e60045f
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrinsertbefore7.xml
@@ -0,0 +1,69 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrinsertbefore7">
+<metadata>
+<title>hc_attrinsertbefore7</title>
+<creator>Curt Arnold</creator>
+<description>
+Appends a document fragment containing a CDATASection to an attribute.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.insertBefore -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+<hasFeature feature='"XML"'/>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="terNode" type="Text"/>
+<var name="dayNode" type="Node"/>
+<var name="docFrag" type="DocumentFragment"/>
+<var name="retval" type="Node"/>
+<var name="firstChild" type="Node"/>
+<var name="lastChild" type="Node"/>
+<var name="refChild" type="Node" isNull="true"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+
+<createTextNode var="terNode" obj="doc" data='"ter"'/>
+<if><contentType type="text/html"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_ERR">
+ <NOT_SUPPORTED_ERR>
+ <createCDATASection var="dayNode" obj="doc" data='"day"'/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+<else>
+<createCDATASection var="dayNode" obj="doc" data='"day"'/>
+<createDocumentFragment var="docFrag" obj="doc"/>
+<appendChild var="retval" obj="docFrag" newChild="terNode"/>
+<appendChild var="retval" obj="docFrag" newChild="dayNode"/>
+
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+ <HIERARCHY_REQUEST_ERR>
+ <insertBefore var="retval" obj="titleAttr" newChild="docFrag" refChild="refChild"/>
+ </HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrlastchild.xml b/test/testcases/tests/level1/core/hc_attrlastchild.xml
new file mode 100644
index 0000000..60319ab
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrlastchild.xml
@@ -0,0 +1,52 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrlastchild">
+<metadata>
+<title>hc_attrlastchild</title>
+<creator>Curt Arnold</creator>
+<description>
+Checks that Node.lastChild for an attribute node contains
+the expected text node.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.lastChild -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="otherChild" type="Node"/>
+
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<firstChild var="textNode" obj="titleAttr" interface="Node"/>
+<assertNotNull actual="textNode" id="textNodeNotNull"/>
+<nodeValue var="value" obj="textNode"/>
+<assertEquals actual="value" expected='"Yes"' id="child1IsYes" ignoreCase="false"/>
+<nextSibling var="otherChild" obj="textNode" interface="Node"/>
+<assertNull actual="otherChild" id="nextSiblingIsNull"/>
+<previousSibling var="otherChild" obj="textNode" interface="Node"/>
+<assertNull actual="otherChild" id="previousSiblingIsNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrname.xml b/test/testcases/tests/level1/core/hc_attrname.xml
new file mode 100644
index 0000000..30de522
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrname.xml
@@ -0,0 +1,48 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrname">
+<metadata>
+<title>hc_attrName</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the attribute named class from the last
+ child of of the second "p" element and examine its
+ NodeName.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!-- Node.nodeName -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<!-- Attr.name -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1112119403"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=236"/>
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="strong1" type="DOMString"/>
+<var name="strong2" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname='"acronym"'/>
+<item interface="NodeList" obj="addressList" var="testNode" index="1"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="streetAttr" name='"class"'/>
+<nodeName obj="streetAttr" var="strong1"/>
+<name obj="streetAttr" var="strong2" interface="Attr"/>
+<assertEquals actual="strong1" expected='"class"' id="nodeName" ignoreCase="auto" context="attribute"/>
+<assertEquals actual="strong2" expected='"class"' id="name" ignoreCase="auto" context="attribute"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrnextsiblingnull.xml b/test/testcases/tests/level1/core/hc_attrnextsiblingnull.xml
new file mode 100644
index 0000000..44e0678
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrnextsiblingnull.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrnextsiblingnull">
+<metadata>
+<title>hc_attrNextSiblingNull</title>
+<creator>Curt Arnold</creator>
+<description>
+The "getNextSibling()" method for an Attr node should return null.
+Retrieve the attribute named "domestic" from the last child of of the
+first employee and examine its NextSibling node. This test uses the
+"getNamedItem(name)" method from the NamedNodeMap interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--nextSibling attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F"/>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+</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="s" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname='"acronym"'/>
+<item interface="NodeList" obj="addressList" var="testNode" index="0"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="domesticAttr" name='"title"'/>
+<nextSibling interface="Node" obj="domesticAttr" var="s"/>
+<assertNull actual="s" id="attrNextSiblingNullAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrnormalize.xml b/test/testcases/tests/level1/core/hc_attrnormalize.xml
new file mode 100644
index 0000000..bc5a892
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrnormalize.xml
@@ -0,0 +1,65 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrnormalize">
+<metadata>
+<title>hc_attrnormalize</title>
+<creator>Curt Arnold</creator>
+<description>
+Appends a text node to an attribute, normalizes the attribute
+and checks for a single child node.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.normalize -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retval" type="Node"/>
+<var name="firstChild" type="Node"/>
+<var name="secondChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<createTextNode var="textNode" obj="doc" data='"terday"'/>
+<appendChild var="retval" obj="titleAttr" newChild="textNode"/>
+<createTextNode var="textNode" obj="doc" data='""'/>
+<appendChild var="retval" obj="titleAttr" newChild="textNode"/>
+
+
+<!-- in level 1, normalize is on element -->
+<normalize obj="testNode"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that first child has all the content -->
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="firstChild" var="value"/>
+<assertEquals actual="value" expected='"Yesterday"' id="firstChildValue" ignoreCase="false"/>
+
+<nextSibling var="secondChild" obj="firstChild" interface="Node"/>
+<assertNull actual="secondChild" id="secondChildIsNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrparentnodenull.xml b/test/testcases/tests/level1/core/hc_attrparentnodenull.xml
new file mode 100644
index 0000000..1ad351d
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrparentnodenull.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrparentnodenull">
+<metadata>
+<title>hc_attrParentNodeNull</title>
+<creator>Curt Arnold</creator>
+<description>
+The "getParentNode()" method for an Attr node should return null. Retrieve
+the attribute named "domestic" from the last child of the first employee
+and examine its parentNode attribute. This test also uses the "getNamedItem(name)"
+method from the NamedNodeMap interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--parentNode attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317"/>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+</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="s" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname='"acronym"'/>
+<item interface="NodeList" obj="addressList" var="testNode" index="0"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="domesticAttr" name='"title"'/>
+<parentNode interface="Node" obj="domesticAttr" var="s"/>
+<assertNull actual="s" id="attrParentNodeNullAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrprevioussiblingnull.xml b/test/testcases/tests/level1/core/hc_attrprevioussiblingnull.xml
new file mode 100644
index 0000000..bd7c262
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrprevioussiblingnull.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrprevioussiblingnull">
+<metadata>
+<title>hc_attrPreviousSiblingNull</title>
+<creator>Curt Arnold</creator>
+<description>
+The "getPreviousSibling()" method for an Attr node should return null.
+Retrieve the attribute named "domestic" from the last child of of the
+first employee and examine its PreviousSibling node. This test uses the
+"getNamedItem(name)" method from the NamedNodeMap interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--previousSibling attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8"/>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+</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="s" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname='"acronym"'/>
+<item interface="NodeList" obj="addressList" var="testNode" index="0"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="domesticAttr" name='"title"'/>
+<previousSibling interface="Node" obj="domesticAttr" var="s"/>
+<assertNull actual="s" id="attrPreviousSiblingNullAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrremovechild1.xml b/test/testcases/tests/level1/core/hc_attrremovechild1.xml
new file mode 100644
index 0000000..748d8e7
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrremovechild1.xml
@@ -0,0 +1,62 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrremovechild1">
+<metadata>
+<title>hc_attrremovechild1</title>
+<creator>Curt Arnold</creator>
+<description>
+Removes the child node of an attribute and checks that the value is empty.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.removeChild -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retval" type="Node"/>
+<var name="firstChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<firstChild var="textNode" obj="titleAttr" interface="Node"/>
+<assertNotNull actual="textNode" id="attrChildNotNull"/>
+<removeChild var="retval" obj="titleAttr" oldChild="textNode"/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='""' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='""' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that retval is the removed node -->
+<nodeValue obj="retval" var="value"/>
+<assertEquals actual="value" expected='"Yes"' id="retvalValue" ignoreCase="false"/>
+
+<!-- check that firstChild is null -->
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<assertNull actual="firstChild" id="firstChildNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrremovechild2.xml b/test/testcases/tests/level1/core/hc_attrremovechild2.xml
new file mode 100644
index 0000000..b47726b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrremovechild2.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrremovechild2">
+<metadata>
+<title>hc_attrremovechild2</title>
+<creator>Curt Arnold</creator>
+<description>
+Attempts to remove a freshly created text node which should result in a NOT_FOUND_ERR exception.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.removeChild -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retval" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+
+<createTextNode var="textNode" obj="doc" data='"Yesterday"'/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+ <NOT_FOUND_ERR>
+ <removeChild var="retval" obj="titleAttr" oldChild="textNode"/>
+ </NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrreplacechild1.xml b/test/testcases/tests/level1/core/hc_attrreplacechild1.xml
new file mode 100644
index 0000000..c648e5d
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrreplacechild1.xml
@@ -0,0 +1,65 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrreplacechild1">
+<metadata>
+<title>hc_attrreplacechild1</title>
+<creator>Curt Arnold</creator>
+<description>
+Replaces a text node of an attribute and checks if the value of
+the attribute is changed.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.replaceChild -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retval" type="Node"/>
+<var name="firstChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<createTextNode var="textNode" obj="doc" data='"terday"'/>
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<assertNotNull actual="firstChild" id="attrChildNotNull"/>
+<replaceChild var="retval" obj="titleAttr" newChild="textNode" oldChild="firstChild"/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"terday"' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"terday"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that retval is the removed node -->
+<nodeValue obj="retval" var="value"/>
+<assertEquals actual="value" expected='"Yes"' id="retvalValue" ignoreCase="false"/>
+
+<!-- check that firstChild is the appended node -->
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="firstChild" var="value"/>
+<assertEquals actual="value" expected='"terday"' id="firstChildValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrreplacechild2.xml b/test/testcases/tests/level1/core/hc_attrreplacechild2.xml
new file mode 100644
index 0000000..b337a3b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrreplacechild2.xml
@@ -0,0 +1,74 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrreplacechild2">
+<metadata>
+<title>hc_attrreplacechild2</title>
+<creator>Curt Arnold</creator>
+<description>
+Replaces a text node of an attribute with a document fragment and checks if the value of
+the attribute is changed.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!-- Node.replaceChild -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="terNode" type="Text"/>
+<var name="dayNode" type="Text"/>
+<var name="docFrag" type="DocumentFragment"/>
+
+<var name="retval" type="Node"/>
+<var name="firstChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+
+<createTextNode var="terNode" obj="doc" data='"ter"'/>
+<createTextNode var="dayNode" obj="doc" data='"day"'/>
+<createDocumentFragment var="docFrag" obj="doc"/>
+<appendChild var="retval" obj="docFrag" newChild="terNode"/>
+<appendChild var="retval" obj="docFrag" newChild="dayNode"/>
+
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<assertNotNull actual="firstChild" id="attrChildNotNull"/>
+<replaceChild var="retval" obj="titleAttr" newChild="docFrag" oldChild="firstChild"/>
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"terday"' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"terday"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that retval is the removed node -->
+<nodeValue obj="retval" var="value"/>
+<assertEquals actual="value" expected='"Yes"' id="retvalValue" ignoreCase="false"/>
+
+<!-- check that firstChild is the first node of the doc fragment -->
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="firstChild" var="value"/>
+<assertEquals actual="value" expected='"ter"' id="firstChildValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrsetvalue1.xml b/test/testcases/tests/level1/core/hc_attrsetvalue1.xml
new file mode 100644
index 0000000..93afe76
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrsetvalue1.xml
@@ -0,0 +1,68 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrsetvalue1">
+<metadata>
+<title>hc_attrsetvalue1</title>
+<creator>Curt Arnold</creator>
+<description>
+Sets Attr.value on an attribute that only has a simple value.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr.value -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="retval" type="Node"/>
+<var name="firstChild" type="Node"/>
+<var name="otherChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<assertNotNull actual="firstChild" id="attrChildNotNull"/>
+
+<!-- set value which should totally replace child node list -->
+<value obj="titleAttr" value='"Tomorrow"' interface="Attr"/>
+
+<!-- setting the previous first child should have not
+ affect on current value -->
+<nodeValue obj="firstChild" value='"impl reused node"'/>
+
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Tomorrow"' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Tomorrow"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that firstChild is an implicitly created node -->
+<lastChild var="firstChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="firstChild" var="value"/>
+<assertEquals actual="value" expected='"Tomorrow"' id="firstChildValue" ignoreCase="false"/>
+
+<nextSibling var="otherChild" obj="firstChild" interface="Node"/>
+<assertNull actual="otherChild" id="nextSiblingIsNull"/>
+
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrsetvalue2.xml b/test/testcases/tests/level1/core/hc_attrsetvalue2.xml
new file mode 100644
index 0000000..d0f9589
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrsetvalue2.xml
@@ -0,0 +1,71 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrsetvalue2">
+<metadata>
+<title>hc_attrsetvalue2</title>
+<creator>Curt Arnold</creator>
+<description>
+Sets Attr.value on an attribute that should contain multiple child nodes.
+</description>
+
+<date qualifier="created">2004-01-01</date>
+<!-- Attr.value -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-221662474"/>
+</metadata>
+
+<var name="doc" type="Document"/>
+<var name="acronymList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="titleAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retval" type="Node"/>
+<var name="firstChild" type="Node"/>
+<var name="otherChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="acronymList" tagname='"acronym"'/>
+<item interface="NodeList" obj="acronymList" var="testNode" index="3"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="titleAttr" name='"title"'/>
+<createTextNode var="textNode" obj="doc" data='"terday"'/>
+<appendChild var="retval" obj="titleAttr" newChild="textNode"/>
+<firstChild var="firstChild" obj="titleAttr" interface="Node"/>
+<assertNotNull actual="firstChild" id="attrChildNotNull"/>
+
+<!-- set value which should totally replace child node list -->
+<value obj="titleAttr" value='"Tomorrow"' interface="Attr"/>
+
+<!-- setting the previous first child should have not
+ affect on current value -->
+<nodeValue obj="firstChild" value='"impl reused node"'/>
+
+
+<!-- check that Attr.value gives expected result -->
+<value interface="Attr" obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Tomorrow"' id="attrValue" ignoreCase="false"/>
+
+<!-- check that Node.value gives expected result -->
+<nodeValue obj="titleAttr" var="value"/>
+<assertEquals actual="value" expected='"Tomorrow"' id="attrNodeValue" ignoreCase="false"/>
+
+<!-- check that firstChild is an implicitly created node -->
+<lastChild var="firstChild" obj="titleAttr" interface="Node"/>
+<nodeValue obj="firstChild" var="value"/>
+<assertEquals actual="value" expected='"Tomorrow"' id="firstChildValue" ignoreCase="false"/>
+
+<nextSibling var="otherChild" obj="firstChild" interface="Node"/>
+<assertNull actual="otherChild" id="nextSiblingIsNull"/>
+
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrspecifiedvalue.xml b/test/testcases/tests/level1/core/hc_attrspecifiedvalue.xml
new file mode 100644
index 0000000..55a9647
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrspecifiedvalue.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrspecifiedvalue">
+<metadata>
+<title>hc_attrSpecifiedValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getSpecified()" method for an Attr node should
+ be set to true if the attribute was explicitly given
+ a value.
+ Retrieve the attribute named "domestic" from the last
+ child of of the first employee and examine the value
+ returned by the "getSpecified()" method. This test uses
+ the "getNamedItem(name)" method from the NamedNodeMap
+ interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273"/>
+</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="state" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname='"acronym"'/>
+<item interface="NodeList" obj="addressList" var="testNode" index="0"/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="domesticAttr" name='"title"'/>
+<specified obj="domesticAttr" var="state"/>
+<assertTrue actual="state" id="acronymTitleSpecified"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_attrspecifiedvaluechanged.xml b/test/testcases/tests/level1/core/hc_attrspecifiedvaluechanged.xml
new file mode 100644
index 0000000..4f0c703
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_attrspecifiedvaluechanged.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_attrspecifiedvaluechanged">
+<metadata>
+<title>hc_attrSpecifiedValueChanged</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getSpecified()" method for an Attr node should return true if the
+ value of the attribute is changed.
+ Retrieve the attribute named "class" from the last
+ child of of the THIRD employee and change its
+ value to "Yes"(which is the default DTD value). This
+ should cause the "getSpecified()" method to be true.
+ This test uses the "setAttribute(name,value)" method
+ from the Element interface and the "getNamedItem(name)"
+ method from the NamedNodeMap interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-862529273"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="addressList" tagname='"acronym"'/>
+<item interface="NodeList" obj="addressList" var="testNode" index="2"/>
+<setAttribute obj="testNode" name='"class"' value='"Y&#945;"'/>
+<attributes obj="testNode" var="attributes"/>
+<getNamedItem obj="attributes" var="streetAttr" name='"class"'/>
+<specified obj="streetAttr" var="state"/>
+<assertTrue actual="state" id="acronymClassSpecified"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataappenddata.xml b/test/testcases/tests/level1/core/hc_characterdataappenddata.xml
new file mode 100644
index 0000000..d1e3a28
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataappenddata.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataappenddata">
+<metadata>
+<title>hc_characterdataAppendData</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "appendData(arg)" method appends a string to the end
+ of the character data of the node.
+
+ Retrieve the character data from the second child
+ of the first employee. The appendData(arg) method is
+ called with arg=", Esquire". The method should append
+ the specified data to the already existing character
+ data. The new value return by the "getLength()" method
+ should be 24.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childValue" type="DOMString"/>
+<var name="childLength" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"strong"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<appendData obj="child" arg='", Esquire"'/>
+<data obj="child" var="childValue" interface="CharacterData"/>
+<length obj="childValue" var="childLength" interface="DOMString"/>
+<assertEquals actual="childLength" expected="24" ignoreCase="false" id="characterdataAppendDataAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataappenddatagetdata.xml b/test/testcases/tests/level1/core/hc_characterdataappenddatagetdata.xml
new file mode 100644
index 0000000..5a861d1
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataappenddatagetdata.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataappenddatagetdata">
+<metadata>
+<title>hc_characterdataAppendDataGetData</title>
+<creator>Curt Arnold</creator>
+<description>
+ On successful invocation of the "appendData(arg)"
+ method the "getData()" method provides access to the
+ concatentation of data and the specified string.
+
+ Retrieve the character data from the second child
+ of the first employee. The appendData(arg) method is
+ called with arg=", Esquire". The method should append
+ the specified data to the already existing character
+ data. The new value return by the "getData()" method
+ should be "Margaret Martin, Esquire".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-32791A2F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"strong"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<appendData obj="child" arg='", Esquire"'/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"Margaret Martin, Esquire"' id="characterdataAppendDataGetDataAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatadeletedatabegining.xml b/test/testcases/tests/level1/core/hc_characterdatadeletedatabegining.xml
new file mode 100644
index 0000000..5fb3027
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatadeletedatabegining.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatadeletedatabegining">
+<metadata>
+<title>hc_characterdataDeleteDataBeginning</title>
+<creator>Curt Arnold</creator>
+<description>
+The "deleteData(offset,count)" method removes a range of
+characters from the node. Delete data at the beginning
+of the character data.
+
+Retrieve the character data from the last child of the
+first employee. The "deleteData(offset,count)"
+method is then called with offset=0 and count=16.
+The method should delete the characters from position
+0 thru position 16. The new value of the character data
+should be "Dallas, Texas 98551".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<deleteData obj="child" offset="0" count="16"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"Dallas, Texas 98551"' id="data" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatadeletedataend.xml b/test/testcases/tests/level1/core/hc_characterdatadeletedataend.xml
new file mode 100644
index 0000000..04dea1b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatadeletedataend.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatadeletedataend">
+<metadata>
+<title>hc_characterdataDeleteDataEnd</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "deleteData(offset,count)" method removes a range of
+ characters from the node. Delete data at the end
+ of the character data.
+
+ Retrieve the character data from the last child of the
+ first employee. The "deleteData(offset,count)"
+ method is then called with offset=30 and count=5.
+ The method should delete the characters from position
+ 30 thru position 35. The new value of the character data
+ should be "1230 North Ave. Dallas, Texas".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<deleteData obj="child" offset="30" count="5"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"1230 North Ave. Dallas, Texas "' id="characterdataDeleteDataEndAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatadeletedataexceedslength.xml b/test/testcases/tests/level1/core/hc_characterdatadeletedataexceedslength.xml
new file mode 100644
index 0000000..a76bb58
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatadeletedataexceedslength.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatadeletedataexceedslength">
+<metadata>
+<title>hc_characterdataDeleteDataExceedsLength</title>
+<creator>Curt Arnold</creator>
+<description>
+ If the sum of the offset and count used in the
+ "deleteData(offset,count) method is greater than the
+ length of the character data then all the characters
+ from the offset to the end of the data are deleted.
+
+ Retrieve the character data from the last child of the
+ first employee. The "deleteData(offset,count)"
+ method is then called with offset=4 and count=50.
+ The method should delete the characters from position 4
+ to the end of the data since the offset+count(50+4)
+ is greater than the length of the character data(35).
+ The new value of the character data should be "1230".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<deleteData obj="child" offset="4" count="50"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"1230"' id="characterdataDeleteDataExceedsLengthAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatadeletedatagetlengthanddata.xml b/test/testcases/tests/level1/core/hc_characterdatadeletedatagetlengthanddata.xml
new file mode 100644
index 0000000..b241f9f
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatadeletedatagetlengthanddata.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatadeletedatagetlengthanddata">
+<metadata>
+<title>hc_characterdataDeleteDataGetLengthAndData</title>
+<creator>Curt Arnold</creator>
+<description>
+ On successful invocation of the "deleteData(offset,count)"
+ method, the "getData()" and "getLength()" methods reflect
+ the changes.
+
+ Retrieve the character data from the last child of the
+ first employee. The "deleteData(offset,count)"
+ method is then called with offset=30 and count=5.
+ The method should delete the characters from position
+ 30 thru position 35. The new value of the character data
+ should be "1230 North Ave. Dallas, Texas" which is
+ returned by the "getData()" method and "getLength()"
+ method should return 30".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<var name="childLength" type="int"/>
+<var name="result" type="List"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<deleteData obj="child" offset="30" count="5"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"1230 North Ave. Dallas, Texas "' ignoreCase="false" id="data"/>
+<length interface="CharacterData" obj="child" var="childLength"/>
+<assertEquals actual="childLength" expected="30" ignoreCase="false" id="length"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatadeletedatamiddle.xml b/test/testcases/tests/level1/core/hc_characterdatadeletedatamiddle.xml
new file mode 100644
index 0000000..a7f55f8
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatadeletedatamiddle.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatadeletedatamiddle">
+<metadata>
+<title>hc_characterdataDeleteDataMiddle</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "deleteData(offset,count)" method removes a range of
+ characters from the node. Delete data in the middle
+ of the character data.
+
+ Retrieve the character data from the last child of the
+ first employee. The "deleteData(offset,count)"
+ method is then called with offset=16 and count=8.
+ The method should delete the characters from position
+ 16 thru position 24. The new value of the character data
+ should be "1230 North Ave. Texas 98551".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<deleteData obj="child" offset="16" count="8"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"1230 North Ave. Texas 98551"' id="characterdataDeleteDataMiddleAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatagetdata.xml b/test/testcases/tests/level1/core/hc_characterdatagetdata.xml
new file mode 100644
index 0000000..6841b7e
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatagetdata.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatagetdata">
+<metadata>
+<title>hc_characterdataGetData</title>
+<creator>Curt Arnold</creator>
+<description>
+
+ The "getData()" method retrieves the character data
+
+ currently stored in the node.
+
+ Retrieve the character data from the second child
+
+ of the first employee and invoke the "getData()"
+
+ method. The method returns the character data
+
+ string.
+
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"strong"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"Margaret Martin"' id="characterdataGetDataAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatagetlength.xml b/test/testcases/tests/level1/core/hc_characterdatagetlength.xml
new file mode 100644
index 0000000..2c15f87
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatagetlength.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatagetlength">
+<metadata>
+<title>hc_characterdataGetLength</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getLength()" method returns the number of characters
+ stored in this nodes data.
+ Retrieve the character data from the second
+ child of the first employee and examine the
+ value returned by the getLength() method.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childValue" type="DOMString"/>
+<var name="childLength" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"strong"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<data var="childValue" obj="child" interface="CharacterData"/>
+<length var="childLength" obj="childValue" interface="DOMString"/>
+<assertEquals actual="childLength" expected="15" ignoreCase="false" id="characterdataGetLengthAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.xml b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.xml
new file mode 100644
index 0000000..f122d15
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataindexsizeerrdeletedatacountnegative">
+<metadata>
+<title>hc_characterdataIndexSizeErrDeleteDataCountNegative</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "deleteData(offset,count)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified count
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its "deleteData(offset,count)"
+ method with offset=10 and count=-3. It should raise the
+ desired exception since the count is negative.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childSubstring" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<substringData var="childSubstring" obj="child" offset="10" count="-3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.xml b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.xml
new file mode 100644
index 0000000..e6b91e3
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataindexsizeerrdeletedataoffsetgreater">
+<metadata>
+<title>hc_characterdataIndexSizeErrDeleteDataOffsetGreater</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "deleteData(offset,count)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is greater that the number of characters in the string.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its "deleteData(offset,count)"
+ method with offset=40 and count=3. It should raise the
+ desired exception since the offset is greater than the
+ number of characters in the string.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throw_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<deleteData obj="child" offset="40" count="3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.xml b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.xml
new file mode 100644
index 0000000..6c0042b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataindexsizeerrdeletedataoffsetnegative">
+<metadata>
+<title>hc_characterdataIndexSizeErrDeleteDataOffsetNegative</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "deleteData(offset,count)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its "deleteData(offset,count)"
+ method with offset=-5 and count=3. It should raise the
+ desired exception since the offset is negative.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<deleteData obj="child" offset="-5" count="3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.xml b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.xml
new file mode 100644
index 0000000..ffc7022
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataindexsizeerrinsertdataoffsetgreater">
+<metadata>
+<title>hc_characterdataIndexSizeErrInsertDataOffsetGreater</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "insertData(offset,arg)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is greater than the number of characters in the string.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its insertData"(offset,arg)"
+ method with offset=40 and arg="ABC". It should raise
+ the desired exception since the offset is greater than
+ the number of characters in the string.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throw_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<deleteData obj="child" offset="40" count="3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.xml b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.xml
new file mode 100644
index 0000000..b182153
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataindexsizeerrinsertdataoffsetnegative">
+<metadata>
+<title>hc_characterdataIndexSizeErrInsertDataOffsetNegative</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "insertData(offset,arg)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its insertData"(offset,arg)"
+ method with offset=-5 and arg="ABC". It should raise
+ the desired exception since the offset is negative.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<replaceData obj="child" offset="-5" arg='"ABC"' count="3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.xml b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.xml
new file mode 100644
index 0000000..28f86ff
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataindexsizeerrreplacedatacountnegative">
+<metadata>
+<title>hc_characterdataIndexSizeErrReplaceDataCountNegative</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceData(offset,count,arg)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified count
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its
+ "replaceData(offset,count,arg) method with offset=10
+ and count=-3 and arg="ABC". It should raise the
+ desired exception since the count is negative.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="badString" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<substringData var="badString" obj="child" offset="10" count="-3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.xml b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.xml
new file mode 100644
index 0000000..7a637d9
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataindexsizeerrreplacedataoffsetgreater">
+<metadata>
+<title>hc_characterdataIndexSizeErrReplaceDataOffsetGreater</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceData(offset,count,arg)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is greater than the length of the string.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its
+ "replaceData(offset,count,arg) method with offset=40
+ and count=3 and arg="ABC". It should raise the
+ desired exception since the offset is greater than the
+ length of the string.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-7C603781')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=242"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throw_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<deleteData obj="child" offset="40" count="3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.xml b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.xml
new file mode 100644
index 0000000..2da064f
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataindexsizeerrreplacedataoffsetnegative">
+<metadata>
+<title>hc_characterdataIndexSizeErrReplaceDataOffsetNegative</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceData(offset,count,arg)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its
+ "replaceData(offset,count,arg) method with offset=-5
+ and count=3 and arg="ABC". It should raise the
+ desired exception since the offset is negative.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-E5CBA7FB')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<replaceData obj="child" offset="-5" count="3" arg='"ABC"'/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.xml b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.xml
new file mode 100644
index 0000000..7400e58
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataindexsizeerrsubstringcountnegative">
+<metadata>
+<title>hc_characterdataIndexSizeErrSubstringCountNegative</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "substringData(offset,count)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified count
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its "substringData(offset,count)
+ method with offset=10 and count=-3. It should raise the
+ desired exception since the count is negative.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="badSubstring" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<substringData var="badSubstring" obj="child" offset="10" count="-3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.xml b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.xml
new file mode 100644
index 0000000..382330b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataindexsizeerrsubstringnegativeoffset">
+<metadata>
+<title>hc_characterdataIndexSizeErrSubstringNegativeOffset</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "substringData(offset,count)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is negative.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its "substringData(offset,count)
+ method with offset=-5 and count=3. It should raise the
+ desired exception since the offset is negative.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="badString" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<substringData var="badString" obj="child" offset="-5" count="3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.xml b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.xml
new file mode 100644
index 0000000..702db8b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdataindexsizeerrsubstringoffsetgreater">
+<metadata>
+<title>hc_characterdataIndexSizeErrSubstringOffsetGreater</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "substringData(offset,count)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset
+ is greater than the number of characters in the string.
+
+ Retrieve the character data of the last child of the
+ first employee and invoke its "substringData(offset,count)
+ method with offset=40 and count=3. It should raise the
+ desired exception since the offsets value is greater
+ than the length.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-6531BCCF')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="badString" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<assertDOMException id="throw_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<substringData var="badString" obj="child" offset="40" count="3"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatainsertdatabeginning.xml b/test/testcases/tests/level1/core/hc_characterdatainsertdatabeginning.xml
new file mode 100644
index 0000000..0df7aaf
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatainsertdatabeginning.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 "dom1.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatainsertdatabeginning">
+<metadata>
+<title>hc_characterdataInsertDataBeginning</title>
+<creator>Curt Arnold</creator>
+<description>
+The "insertData(offset,arg)" method will insert a string
+at the specified character offset. Insert the data at
+the beginning of the character data.
+
+Retrieve the character data from the second child of
+the first employee. The "insertData(offset,arg)"
+method is then called with offset=0 and arg="Mss.".
+The method should insert the string "Mss." at position 0.
+The new value of the character data should be
+"Mss. Margaret Martin".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--insertData-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"strong"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<insertData obj="child" offset="0" arg='"Mss. "'/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"Mss. Margaret Martin"' id="characterdataInsertDataBeginningAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatainsertdataend.xml b/test/testcases/tests/level1/core/hc_characterdatainsertdataend.xml
new file mode 100644
index 0000000..9e0bcc2
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatainsertdataend.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatainsertdataend">
+<metadata>
+<title>hc_characterdataInsertDataEnd</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "insertData(offset,arg)" method will insert a string
+ at the specified character offset. Insert the data at
+ the end of the character data.
+
+ Retrieve the character data from the second child of
+ the first employee. The "insertData(offset,arg)"
+ method is then called with offset=15 and arg=", Esquire".
+ The method should insert the string ", Esquire" at
+ position 15. The new value of the character data should
+ be "Margaret Martin, Esquire".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"strong"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<insertData obj="child" offset="15" arg='", Esquire"'/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"Margaret Martin, Esquire"' id="characterdataInsertDataEndAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatainsertdatamiddle.xml b/test/testcases/tests/level1/core/hc_characterdatainsertdatamiddle.xml
new file mode 100644
index 0000000..9c4d6a5
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatainsertdatamiddle.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatainsertdatamiddle">
+<metadata>
+<title>hc_characterdataInsertDataMiddle</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "insertData(offset,arg)" method will insert a string
+ at the specified character offset. Insert the data in
+ the middle of the character data.
+
+ Retrieve the character data from the second child of
+ the first employee. The "insertData(offset,arg)"
+ method is then called with offset=9 and arg="Ann".
+ The method should insert the string "Ann" at position 9.
+ The new value of the character data should be
+ "Margaret Ann Martin".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3EDB695F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"strong"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<insertData obj="child" offset="9" arg='"Ann "'/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"Margaret Ann Martin"' id="characterdataInsertDataMiddleAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatareplacedatabegining.xml b/test/testcases/tests/level1/core/hc_characterdatareplacedatabegining.xml
new file mode 100644
index 0000000..64e3bad
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatareplacedatabegining.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 "dom1.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatareplacedatabegining">
+<metadata>
+<title>hc_characterdataReplaceDataBeginning</title>
+<creator>Curt Arnold</creator>
+<description>
+The "replaceData(offset,count,arg)" method replaces the
+characters starting at the specified offset with the
+specified string. Test for replacement in the
+middle of the data.
+
+Retrieve the character data from the last child of the
+first employee. The "replaceData(offset,count,arg)"
+method is then called with offset=5 and count=5 and
+arg="South". The method should replace characters five
+thru 9 of the character data with "South".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--replaceData-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<replaceData obj="child" offset="0" count="4" arg='"2500"'/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"2500 North Ave. Dallas, Texas 98551"' id="characterdataReplaceDataBeginingAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatareplacedataend.xml b/test/testcases/tests/level1/core/hc_characterdatareplacedataend.xml
new file mode 100644
index 0000000..23d1163
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatareplacedataend.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatareplacedataend">
+<metadata>
+<title>hc_characterdataReplaceDataEnd</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceData(offset,count,arg)" method replaces the
+ characters starting at the specified offset with the
+ specified string. Test for replacement at the
+ end of the data.
+
+ Retrieve the character data from the last child of the
+ first employee. The "replaceData(offset,count,arg)"
+ method is then called with offset=30 and count=5 and
+ arg="98665". The method should replace characters 30
+ thru 34 of the character data with "98665".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<replaceData obj="child" offset="30" count="5" arg='"98665"'/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"1230 North Ave. Dallas, Texas 98665"' id="characterdataReplaceDataEndAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatareplacedataexceedslengthofarg.xml b/test/testcases/tests/level1/core/hc_characterdatareplacedataexceedslengthofarg.xml
new file mode 100644
index 0000000..36ee700
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatareplacedataexceedslengthofarg.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatareplacedataexceedslengthofarg">
+<metadata>
+<title>hc_characterdataReplaceDataExceedsLengthOfArg</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceData(offset,count,arg)" method replaces the
+ characters starting at the specified offset with the
+ specified string. Test the situation where the length
+ of the arg string is greater than the specified offset.
+
+ Retrieve the character data from the last child of the
+ first employee. The "replaceData(offset,count,arg)"
+ method is then called with offset=0 and count=4 and
+ arg="260030". The method should replace characters one
+ thru four with "260030". Note that the length of the
+ specified string is greater that the specified offset.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<replaceData obj="child" offset="0" count="4" arg='"260030"'/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"260030 North Ave. Dallas, Texas 98551"' id="characterdataReplaceDataExceedsLengthOfArgAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatareplacedataexceedslengthofdata.xml b/test/testcases/tests/level1/core/hc_characterdatareplacedataexceedslengthofdata.xml
new file mode 100644
index 0000000..fa03bd5
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatareplacedataexceedslengthofdata.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatareplacedataexceedslengthofdata">
+<metadata>
+<title>hc_characterdataReplaceDataExceedsLengthOfData</title>
+<creator>Curt Arnold</creator>
+<description>
+ If the sum of the offset and count exceeds the length then
+ all the characters to the end of the data are replaced.
+
+ Retrieve the character data from the last child of the
+ first employee. The "replaceData(offset,count,arg)"
+ method is then called with offset=0 and count=50 and
+ arg="2600". The method should replace all the characters
+ with "2600". This is because the sum of the offset and
+ count exceeds the length of the character data.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<replaceData obj="child" offset="0" count="50" arg='"2600"'/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"2600"' id="characterdataReplaceDataExceedsLengthOfDataAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatareplacedatamiddle.xml b/test/testcases/tests/level1/core/hc_characterdatareplacedatamiddle.xml
new file mode 100644
index 0000000..d93000b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatareplacedatamiddle.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatareplacedatamiddle">
+<metadata>
+<title>hc_characterdataReplaceDataMiddle</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceData(offset,count,arg)" method replaces the
+ characters starting at the specified offset with the
+ specified string. Test for replacement in the
+ middle of the data.
+
+ Retrieve the character data from the last child of the
+ first employee. The "replaceData(offset,count,arg)"
+ method is then called with offset=5 and count=5 and
+ arg="South". The method should replace characters five
+ thru 9 of the character data with "South".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E5CBA7FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<replaceData obj="child" offset="5" count="5" arg='"South"'/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"1230 South Ave. Dallas, Texas 98551"' id="characterdataReplaceDataMiddleAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatasetnodevalue.xml b/test/testcases/tests/level1/core/hc_characterdatasetnodevalue.xml
new file mode 100644
index 0000000..3f0a88f
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatasetnodevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatasetnodevalue">
+<metadata>
+<title>hc_characterdataSetNodeValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setNodeValue()" method changes the character data
+ currently stored in the node.
+ Retrieve the character data from the second child
+ of the first employee and invoke the "setNodeValue()"
+ method, call "getData()" and compare.
+</description>
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="childData" type="DOMString"/>
+<var name="childValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"strong"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<nodeValue obj="child" value='"Marilyn Martin"'/>
+<data interface="CharacterData" obj="child" var="childData"/>
+<assertEquals actual="childData" expected='"Marilyn Martin"' id="data" ignoreCase="false"/>
+<nodeValue obj="child" var="childValue"/>
+<assertEquals actual="childValue" expected='"Marilyn Martin"' id="value" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatasubstringexceedsvalue.xml b/test/testcases/tests/level1/core/hc_characterdatasubstringexceedsvalue.xml
new file mode 100644
index 0000000..0651a6d
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatasubstringexceedsvalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatasubstringexceedsvalue">
+<metadata>
+<title>hc_characterdataSubStringExceedsValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ If the sum of the "offset" and "count" exceeds the
+ "length" then the "substringData(offset,count)" method
+ returns all the characters to the end of the data.
+
+ Retrieve the character data from the second child
+ of the first employee and access part of the data
+ by using the substringData(offset,count) method
+ with offset=9 and count=10. The method should return
+ the substring "Martin" since offset+count &gt; length
+ (19 &gt; 15).
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--CharacterData.substringData-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="substring" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"strong"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<substringData obj="child" var="substring" offset="9" count="10"/>
+<assertEquals actual="substring" expected='"Martin"' id="characterdataSubStringExceedsValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_characterdatasubstringvalue.xml b/test/testcases/tests/level1/core/hc_characterdatasubstringvalue.xml
new file mode 100644
index 0000000..477ac20
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_characterdatasubstringvalue.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_characterdatasubstringvalue">
+<metadata>
+<title>hc_characterdataSubStringValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "substringData(offset,count)" method returns the
+ specified string.
+
+ Retrieve the character data from the second child
+ of the first employee and access part of the data
+ by using the substringData(offset,count) method. The
+ method should return the specified substring starting
+ at position "offset" and extract "count" characters.
+ The method should return the string "Margaret".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--CharacterData.substringData-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6531BCCF"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="child" type="CharacterData"/>
+<var name="substring" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"strong"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="nameNode"/>
+<firstChild interface="Node" obj="nameNode" var="child"/>
+<substringData obj="child" var="substring" offset="0" count="8"/>
+<assertEquals actual="substring" expected='"Margaret"' id="characterdataSubStringValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_commentgetcomment.xml b/test/testcases/tests/level1/core/hc_commentgetcomment.xml
new file mode 100644
index 0000000..b0f3eca
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_commentgetcomment.xml
@@ -0,0 +1,61 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_commentgetcomment">
+<metadata>
+<title>hc_commentgetcomment</title>
+<creator>Curt Arnold</creator>
+<description>
+ A comment is all the characters between the starting
+ '&lt;!--' and ending '--&gt;'
+ Retrieve the nodes of the DOM document. Search for a
+ comment node and the content is its value.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!-- Comment interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1334481328"/>
+<!--Node.nodeName attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<!--Node.nodeValue attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<!--Node.nodeType attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=509"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="childValue" type="DOMString"/>
+<var name="commentCount" type="int" value="0"/>
+<var name="childType" type="int"/>
+<var name="attributes" type="NamedNodeMap"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<childNodes obj="doc" var="elementList"/>
+<for-each collection="elementList" member="child">
+<nodeType obj="child" var="childType"/>
+<if>
+<equals actual="childType" expected="8" ignoreCase="false"/>
+<nodeName obj="child" var="childName"/>
+<assertEquals actual="childName" expected='"#comment"' ignoreCase="false" id="nodeName"/>
+<nodeValue obj="child" var="childValue"/>
+<assertEquals actual="childValue" expected='" This is comment number 1."' id="nodeValue" ignoreCase="false"/>
+<attributes var="attributes" obj="child"/>
+<assertNull actual="attributes" id="attributes"/>
+<increment var="commentCount" value="1"/>
+</if>
+</for-each>
+<assertTrue id="atMostOneComment"><less actual="commentCount" expected="2"/></assertTrue>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentcreateattribute.xml b/test/testcases/tests/level1/core/hc_documentcreateattribute.xml
new file mode 100644
index 0000000..67a2f34
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentcreateattribute.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentcreateattribute">
+<metadata>
+<title>hc_documentcreateattribute</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the entire DOM document and invoke its
+ "createAttribute(name)" method. It should create a
+ new Attribute node with the given name. The name, value
+ and type of the newly created object are retrieved and
+ output.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=236"/>
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=243"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newAttrNode" type="Attr"/>
+<var name="attrValue" type="DOMString"/>
+<var name="attrName" type="DOMString"/>
+<var name="attrType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createAttribute obj="doc" var="newAttrNode" name='"title"'/>
+<nodeValue obj="newAttrNode" var="attrValue"/>
+<assertEquals actual="attrValue" expected='""' ignoreCase="false" id="value"/>
+<nodeName obj="newAttrNode" var="attrName"/>
+<assertEquals actual="attrName" expected='"title"' ignoreCase="auto" context="attribute" id="name"/>
+<nodeType obj="newAttrNode" var="attrType"/>
+<assertEquals actual="attrType" expected="2" ignoreCase="false" id="type"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentcreatecomment.xml b/test/testcases/tests/level1/core/hc_documentcreatecomment.xml
new file mode 100644
index 0000000..106fa06
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentcreatecomment.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentcreatecomment">
+<metadata>
+<title>hc_documentCreateComment</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "createComment(data)" method creates a new Comment
+ node given the specified string.
+ Retrieve the entire DOM document and invoke its
+ "createComment(data)" method. It should create a new
+ Comment node whose "data" is the specified string.
+ The content, name and type are retrieved and output.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1334481328"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newCommentNode" type="Comment"/>
+<var name="newCommentValue" type="DOMString"/>
+<var name="newCommentName" type="DOMString"/>
+<var name="newCommentType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createComment obj="doc" var="newCommentNode" data='"This is a new Comment node"'/>
+<nodeValue obj="newCommentNode" var="newCommentValue"/>
+<assertEquals actual="newCommentValue" expected='"This is a new Comment node"' ignoreCase="false" id="value"/>
+<nodeName obj="newCommentNode" var="newCommentName"/>
+<assertEquals actual="newCommentName" expected='"#comment"' ignoreCase="false" id="strong"/>
+<nodeType obj="newCommentNode" var="newCommentType"/>
+<assertEquals actual="newCommentType" expected="8" ignoreCase="false" id="type"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentcreatedocumentfragment.xml b/test/testcases/tests/level1/core/hc_documentcreatedocumentfragment.xml
new file mode 100644
index 0000000..b4bb21a
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentcreatedocumentfragment.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentcreatedocumentfragment">
+<metadata>
+<title>hc_documentCreateDocumentFragment</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "createDocumentFragment()" method creates an empty
+ DocumentFragment object.
+ Retrieve the entire DOM document and invoke its
+ "createDocumentFragment()" method. The content, name,
+ type and value of the newly created object are output.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-35CB04B5"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newDocFragment" type="DocumentFragment"/>
+<var name="children" type="NodeList"/>
+<var name="length" type="int"/>
+<var name="newDocFragmentName" type="DOMString"/>
+<var name="newDocFragmentType" type="int"/>
+<var name="newDocFragmentValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="newDocFragment"/>
+<childNodes obj="newDocFragment" var="children"/>
+<length interface="NodeList" obj="children" var="length"/>
+<assertEquals actual="length" expected="0" ignoreCase="false" id="length"/>
+<nodeName obj="newDocFragment" var="newDocFragmentName"/>
+<assertEquals actual="newDocFragmentName" expected='"#document-fragment"' ignoreCase="false" id="strong"/>
+<nodeType obj="newDocFragment" var="newDocFragmentType"/>
+<assertEquals actual="newDocFragmentType" expected="11" ignoreCase="false" id="type"/>
+<nodeValue obj="newDocFragment" var="newDocFragmentValue"/>
+<assertNull actual="newDocFragmentValue" id="value"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentcreateelement.xml b/test/testcases/tests/level1/core/hc_documentcreateelement.xml
new file mode 100644
index 0000000..6204b3a
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentcreateelement.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentcreateelement">
+<metadata>
+<title>hc_documentCreateElement</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "createElement(tagName)" method creates an Element
+ of the type specified.
+ Retrieve the entire DOM document and invoke its
+ "createElement(tagName)" method with tagName="acronym".
+ The method should create an instance of an Element node
+ whose tagName is "acronym". The NodeName, NodeType
+ and NodeValue are returned.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newElement" type="Element"/>
+<var name="newElementName" type="DOMString"/>
+<var name="newElementType" type="int"/>
+<var name="newElementValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createElement obj="doc" var="newElement" tagName='"acronym"'/>
+<nodeName obj="newElement" var="newElementName"/>
+<assertEquals actual="newElementName" expected='"acronym"' ignoreCase="auto" id="strong"/>
+<nodeType obj="newElement" var="newElementType"/>
+<assertEquals actual="newElementType" expected="1" ignoreCase="false" id="type"/>
+<nodeValue obj="newElement" var="newElementValue"/>
+<assertNull actual="newElementValue" id="valueInitiallyNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentcreateelementcasesensitive.xml b/test/testcases/tests/level1/core/hc_documentcreateelementcasesensitive.xml
new file mode 100644
index 0000000..62051cf
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentcreateelementcasesensitive.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentcreateelementcasesensitive">
+<metadata>
+<title>hc_documentCreateElementCaseSensitive</title>
+<creator>Curt Arnold</creator>
+<description>
+ The tagName parameter in the "createElement(tagName)"
+ method is case-sensitive for XML documents.
+ Retrieve the entire DOM document and invoke its
+ "createElement(tagName)" method twice. Once for tagName
+ equal to "acronym" and once for tagName equal to "ACRONYM"
+ Each call should create a distinct Element node. The
+ newly created Elements are then assigned attributes
+ that are retrieved.
+
+ Modified on 27 June 2003 to avoid setting an invalid style
+ values and checked the node names to see if they matched expectations.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=243"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newElement1" type="Element"/>
+<var name="newElement2" type="Element"/>
+<var name="attribute1" type="DOMString"/>
+<var name="attribute2" type="DOMString"/>
+<var name="nodeName1" type="DOMString"/>
+<var name="nodeName2" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createElement obj="doc" var="newElement1" tagName='"ACRONYM"'/>
+<createElement obj="doc" var="newElement2" tagName='"acronym"'/>
+<setAttribute obj="newElement1" name='"lang"' value='"EN"'/>
+<setAttribute obj="newElement2" name='"title"' value='"Dallas"'/>
+<getAttribute obj="newElement1" var="attribute1" name='"lang"'/>
+<getAttribute obj="newElement2" var="attribute2" name='"title"'/>
+<assertEquals actual="attribute1" expected='"EN"' ignoreCase="false" id="attrib1"/>
+<assertEquals actual="attribute2" expected='"Dallas"' ignoreCase="false" id="attrib2"/>
+<nodeName var="nodeName1" obj="newElement1"/>
+<nodeName var="nodeName2" obj="newElement2"/>
+<assertEquals actual="nodeName1" expected='"ACRONYM"' ignoreCase="auto" id="nodeName1"/>
+<assertEquals actual="nodeName2" expected='"acronym"' ignoreCase="auto" id="nodeName2"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentcreatetextnode.xml b/test/testcases/tests/level1/core/hc_documentcreatetextnode.xml
new file mode 100644
index 0000000..94bed5c
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentcreatetextnode.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentcreatetextnode">
+<metadata>
+<title>hc_documentCreateTextNode</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "createTextNode(data)" method creates a Text node
+ given the specfied string.
+ Retrieve the entire DOM document and invoke its
+ "createTextNode(data)" method. It should create a
+ new Text node whose "data" is the specified string.
+ The NodeName and NodeType are also checked.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1975348127"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newTextNode" type="Text"/>
+<var name="newTextName" type="DOMString"/>
+<var name="newTextValue" type="DOMString"/>
+<var name="newTextType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createTextNode obj="doc" var="newTextNode" data='"This is a new Text node"'/>
+<nodeValue obj="newTextNode" var="newTextValue"/>
+<assertEquals actual="newTextValue" expected='"This is a new Text node"' ignoreCase="false" id="value"/>
+<nodeName obj="newTextNode" var="newTextName"/>
+<assertEquals actual="newTextName" expected='"#text"' ignoreCase="false" id="strong"/>
+<nodeType obj="newTextNode" var="newTextType"/>
+<assertEquals actual="newTextType" expected="3" ignoreCase="false" id="type"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentgetdoctype.xml b/test/testcases/tests/level1/core/hc_documentgetdoctype.xml
new file mode 100644
index 0000000..34ffaf5
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentgetdoctype.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentgetdoctype">
+<metadata>
+<title>hc_documentgetdoctype</title>
+<creator>Curt Arnold</creator>
+<description>
+Access Document.doctype for hc_staff, if not text/html should return DocumentType node.
+HTML implementations may return null.
+</description>
+<date qualifier="created">2004-01-27</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31"/>
+<!-- TODO: link to errata -->
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="docTypeName" type="DOMString"/>
+<var name="nodeValue" type="DOMString"/>
+<var name="attributes" type="NamedNodeMap"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<if><not><contentType type="text/html"/></not>
+ <assertNotNull actual="docType" id="docTypeNotNull"/>
+</if>
+<if><notNull obj="docType"/>
+ <name interface="DocumentType" obj="docType" var="docTypeName"/>
+ <if><contentType type="image/svg+xml"/>
+ <assertEquals actual="docTypeName" expected='"svg"' id="nodeNameSVG" ignoreCase="false"/>
+ <else>
+ <assertEquals actual="docTypeName" expected='"html"' id="nodeName" ignoreCase="false"/>
+ </else>
+ </if>
+ <nodeValue obj="docType" var="nodeValue"/>
+ <assertNull actual="nodeValue" id="nodeValue"/>
+ <attributes var="attributes" obj="docType"/>
+ <assertNull actual="attributes" id="attributes"/>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentgetelementsbytagnamelength.xml b/test/testcases/tests/level1/core/hc_documentgetelementsbytagnamelength.xml
new file mode 100644
index 0000000..d92ebae
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentgetelementsbytagnamelength.xml
@@ -0,0 +1,36 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentgetelementsbytagnamelength">
+<metadata>
+<title>hc_documentGetElementsByTagNameLength</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getElementsByTagName(tagName)" method returns a
+ NodeList of all the Elements with a given tagName.
+
+ Retrieve the entire DOM document and invoke its
+ "getElementsByTagName(tagName)" method with tagName
+ equal to "strong". The method should return a NodeList
+ that contains 5 elements.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="nameList" type="NodeList"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nameList" tagname='"strong"'/>
+<assertSize collection="nameList" size="5" id="documentGetElementsByTagNameLengthAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentgetelementsbytagnametotallength.xml b/test/testcases/tests/level1/core/hc_documentgetelementsbytagnametotallength.xml
new file mode 100644
index 0000000..7f290be
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentgetelementsbytagnametotallength.xml
@@ -0,0 +1,135 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentgetelementsbytagnametotallength">
+<metadata>
+<title>hc_documentgetelementsbytagnametotallength</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the entire DOM document and invoke its
+ "getElementsByTagName(tagName)" method with tagName
+ equal to "*". The method should return a NodeList
+ that contains all the elements of the document.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=251"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="nameList" type="NodeList"/>
+<var name="expectedNames" type="List">
+ <member>"html"</member>
+ <member>"head"</member>
+ <member>"meta"</member>
+ <member>"title"</member>
+ <member>"script"</member>
+ <member>"script"</member>
+ <member>"script"</member>
+ <member>"body"</member>
+ <member>"p"</member>
+ <member>"em"</member>
+ <member>"strong"</member>
+ <member>"code"</member>
+ <member>"sup"</member>
+ <member>"var"</member>
+ <member>"acronym"</member>
+ <member>"p"</member>
+ <member>"em"</member>
+ <member>"strong"</member>
+ <member>"code"</member>
+ <member>"sup"</member>
+ <member>"var"</member>
+ <member>"acronym"</member>
+ <member>"p"</member>
+ <member>"em"</member>
+ <member>"strong"</member>
+ <member>"code"</member>
+ <member>"sup"</member>
+ <member>"var"</member>
+ <member>"acronym"</member>
+ <member>"p"</member>
+ <member>"em"</member>
+ <member>"strong"</member>
+ <member>"code"</member>
+ <member>"sup"</member>
+ <member>"var"</member>
+ <member>"acronym"</member>
+ <member>"p"</member>
+ <member>"em"</member>
+ <member>"strong"</member>
+ <member>"code"</member>
+ <member>"sup"</member>
+ <member>"var"</member>
+ <member>"acronym"</member>
+</var>
+<var name="svgExpectedNames" type="List">
+ <member>"svg"</member>
+ <member>"rect"</member>
+ <member>"script"</member>
+ <member>"head"</member>
+ <member>"meta"</member>
+ <member>"title"</member>
+ <member>"body"</member>
+ <member>"p"</member>
+ <member>"em"</member>
+ <member>"strong"</member>
+ <member>"code"</member>
+ <member>"sup"</member>
+ <member>"var"</member>
+ <member>"acronym"</member>
+ <member>"p"</member>
+ <member>"em"</member>
+ <member>"strong"</member>
+ <member>"code"</member>
+ <member>"sup"</member>
+ <member>"var"</member>
+ <member>"acronym"</member>
+ <member>"p"</member>
+ <member>"em"</member>
+ <member>"strong"</member>
+ <member>"code"</member>
+ <member>"sup"</member>
+ <member>"var"</member>
+ <member>"acronym"</member>
+ <member>"p"</member>
+ <member>"em"</member>
+ <member>"strong"</member>
+ <member>"code"</member>
+ <member>"sup"</member>
+ <member>"var"</member>
+ <member>"acronym"</member>
+ <member>"p"</member>
+ <member>"em"</member>
+ <member>"strong"</member>
+ <member>"code"</member>
+ <member>"sup"</member>
+ <member>"var"</member>
+ <member>"acronym"</member>
+</var>
+<var name="actualNames" type="List"/>
+<var name="thisElement" type="Element"/>
+<var name="thisTag" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nameList" tagname='"*"'/>
+<for-each collection="nameList" member="thisElement">
+ <tagName var="thisTag" obj="thisElement"/>
+ <append collection="actualNames" item="thisTag"/>
+</for-each>
+<if><contentType type="image/svg+xml"/>
+<assertEquals expected="svgExpectedNames" actual="actualNames" ignoreCase="auto" id="svgTagNames"/>
+<else>
+<assertEquals expected="expectedNames" actual="actualNames" ignoreCase="auto" id="tagNames"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentgetelementsbytagnamevalue.xml b/test/testcases/tests/level1/core/hc_documentgetelementsbytagnamevalue.xml
new file mode 100644
index 0000000..77d7e9d
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentgetelementsbytagnamevalue.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentgetelementsbytagnamevalue">
+<metadata>
+<title>hc_documentGetElementsByTagNameValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getElementsByTagName(tagName)" method returns a
+ NodeList of all the Elements with a given tagName
+ in a pre-order traversal of the tree.
+
+ Retrieve the entire DOM document and invoke its
+ "getElementsByTagName(tagName)" method with tagName
+ equal to "strong". The method should return a NodeList
+ that contains 5 elements. The FOURTH item in the
+ list is retrieved and output.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-A6C9094"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="nameList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="firstChild" type="Node"/>
+<var name="childValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="nameList" tagname='"strong"'/>
+<item interface="NodeList" obj="nameList" var="nameNode" index="3"/>
+<firstChild interface="Node" obj="nameNode" var="firstChild"/>
+<nodeValue obj="firstChild" var="childValue"/>
+<assertEquals actual="childValue" expected='"Jeny Oconnor"' id="documentGetElementsByTagNameValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentgetimplementation.xml b/test/testcases/tests/level1/core/hc_documentgetimplementation.xml
new file mode 100644
index 0000000..bfdf26b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentgetimplementation.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentgetimplementation">
+<metadata>
+<title>hc_documentgetimplementation</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the entire DOM document and invoke its
+ "getImplementation()" method. If contentType="text/html",
+ DOMImplementation.hasFeature("HTML","1.0") should be true.
+ Otherwise, DOMImplementation.hasFeature("XML", "1.0")
+ should be true.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1B793EBA"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=245"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docImpl" type="DOMImplementation"/>
+<var name="xmlstate" type="boolean"/>
+<var name="htmlstate" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<implementation obj="doc" var="docImpl"/>
+<hasFeature obj="docImpl" var="xmlstate" feature='"XML"' version='"1.0"'/>
+<hasFeature obj="docImpl" var="htmlstate" feature='"HTML"' version='"1.0"'/>
+<if><contentType type="text/html"/>
+<assertTrue actual="htmlstate" id="supports_HTML_1.0"/>
+<else>
+<assertTrue actual="xmlstate" id="supports_XML_1.0"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentgetrootnode.xml b/test/testcases/tests/level1/core/hc_documentgetrootnode.xml
new file mode 100644
index 0000000..6e8dec8
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentgetrootnode.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentgetrootnode">
+<metadata>
+<title>hc_documentgetrootnode</title>
+<creator>Curt Arnold</creator>
+<description>
+ Load a document and invoke its
+ "getDocumentElement()" method.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--documentElement attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-87CD092"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=251"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="root" type="Element"/>
+<var name="rootName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<documentElement obj="doc" var="root"/>
+<nodeName obj="root" var="rootName"/>
+<if><contentType type="image/svg+xml"/>
+<assertEquals actual="rootName" expected='"svg"' id="svgTagName" ignoreCase="false"/>
+<else>
+<assertEquals actual="rootName" expected='"html"' id="docElemName" ignoreCase="auto"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateattribute.xml b/test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateattribute.xml
new file mode 100644
index 0000000..0a73b4e
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateattribute.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentinvalidcharacterexceptioncreateattribute">
+<metadata>
+<title>hc_documentInvalidCharacterExceptionCreateAttribute</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "createAttribute(tagName)" method raises an
+ INVALID_CHARACTER_ERR DOMException if the specified
+ tagName contains an invalid character.
+
+ Retrieve the entire DOM document and invoke its
+ "createAttribute(tagName)" method with the tagName equal
+ to the string "invalid^Name". Due to the invalid
+ character the desired EXCEPTION should be raised.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1084891198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="createdAttr" type="Attr"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createAttribute var="createdAttr" obj="doc" name='"invalid^Name"'/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateattribute1.xml b/test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateattribute1.xml
new file mode 100644
index 0000000..e9b70f8
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateattribute1.xml
@@ -0,0 +1,36 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentinvalidcharacterexceptioncreateattribute1">
+<metadata>
+<title>hc_documentinvalidcharacterexceptioncreateattribute1</title>
+<creator>Curt Arnold</creator>
+<description>
+Creating an attribute 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1084891198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1084891198"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=525"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="createdAttr" type="Attr"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createAttribute var="createdAttr" obj="doc" name='""'/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateelement.xml b/test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateelement.xml
new file mode 100644
index 0000000..9adca61
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateelement.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentinvalidcharacterexceptioncreateelement">
+<metadata>
+<title>hc_documentInvalidCharacterExceptionCreateElement</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "createElement(tagName)" method raises an
+ INVALID_CHARACTER_ERR DOMException if the specified
+ tagName contains an invalid character.
+
+ Retrieve the entire DOM document and invoke its
+ "createElement(tagName)" method with the tagName equal
+ to the string "invalid^Name". Due to the invalid
+ character the desired EXCEPTION should be raised.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-2141741547')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="badElement" type="Element"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createElement var="badElement" obj="doc" tagName='"invalid^Name"'/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.xml b/test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.xml
new file mode 100644
index 0000000..3f0bc53
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.xml
@@ -0,0 +1,36 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_documentinvalidcharacterexceptioncreateelement1">
+<metadata>
+<title>hc_documentinvalidcharacterexceptioncreateelement1</title>
+<creator>Curt Arnold</creator>
+<description>
+Creating an element 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-2141741547')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=525"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="badElement" type="Element"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<createElement var="badElement" obj="doc" tagName='""'/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_domimplementationfeaturenoversion.xml b/test/testcases/tests/level1/core/hc_domimplementationfeaturenoversion.xml
new file mode 100644
index 0000000..9fbec5a
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_domimplementationfeaturenoversion.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_domimplementationfeaturenoversion">
+<metadata>
+<title>hc_domimplementationfeaturenoversion</title>
+<creator>Curt Arnold</creator>
+<description>
+ Load a document and invoke its
+ "getImplementation()" method. This should create a
+ DOMImplementation object whose "hasFeature(feature,
+ version)" method is invoked with version equal to "".
+ If the version is not specified, supporting any version
+ feature will cause the method to return "true".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7"/>
+<subject resource="http://www.w3.org/2000/11/DOM-Level-2-errata#core-14"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=245"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<if><contentType type="text/html"/>
+<hasFeature obj="domImpl" var="state" feature='"HTML"' version='""'/>
+<else>
+<hasFeature obj="domImpl" var="state" feature='"XML"' version='""'/>
+</else>
+</if>
+<assertTrue actual="state" id="hasFeatureBlank"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_domimplementationfeaturenull.xml b/test/testcases/tests/level1/core/hc_domimplementationfeaturenull.xml
new file mode 100644
index 0000000..e80d15f
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_domimplementationfeaturenull.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_domimplementationfeaturenull">
+<metadata>
+<title>hc_domimplementationfeaturenull</title>
+<creator>Curt Arnold</creator>
+<description>
+ Load a document and invoke its
+ "getImplementation()" method. This should create a
+ DOMImplementation object whose "hasFeature(feature,
+ version)" method is invoked with version equal to null.
+ If the version is not specified, supporting any version
+ feature will cause the method to return "true".
+</description>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7"/>
+<subject resource="http://www.w3.org/2000/11/DOM-Level-2-errata#core-14"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=245"/>
+</metadata>
+<implementationAttribute name="hasNullString" value="true"/>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<!-- version (omitted) = null -->
+<if><contentType type="text/html"/>
+<hasFeature obj="domImpl" var="state" feature='"HTML"'/>
+<assertTrue actual="state" id="supports_HTML_null"/>
+<else>
+<hasFeature obj="domImpl" var="state" feature='"XML"'/>
+<assertTrue actual="state" id="supports_XML_null"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_domimplementationfeaturexml.xml b/test/testcases/tests/level1/core/hc_domimplementationfeaturexml.xml
new file mode 100644
index 0000000..e9da496
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_domimplementationfeaturexml.xml
@@ -0,0 +1,43 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_domimplementationfeaturexml">
+<metadata>
+<title>hc_domimplementationfeaturexml</title>
+<creator>Curt Arnold</creator>
+<description>
+ 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 "html" or "xml".
+ The method should return a boolean "true".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=245"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domImpl" type="DOMImplementation"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<implementation obj="doc" var="domImpl"/>
+<if><contentType type="text/html"/>
+<hasFeature obj="domImpl" var="state" feature='"html"' version='"1.0"'/>
+<assertTrue actual="state" id="supports_html_1.0"/>
+<else>
+<hasFeature obj="domImpl" var="state" feature='"xml"' version='"1.0"'/>
+<assertTrue actual="state" id="supports_xml_1.0"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementaddnewattribute.xml b/test/testcases/tests/level1/core/hc_elementaddnewattribute.xml
new file mode 100644
index 0000000..e7a494d
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementaddnewattribute.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementaddnewattribute">
+<metadata>
+<title>hc_elementAddNewAttribute</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setAttribute(name,value)" method adds a new attribute
+ to the Element
+
+ Retrieve the last child of the last employee, then
+ add an attribute to it by invoking the
+ "setAttribute(name,value)" method. It should create
+ a "strong" attribute with an assigned value equal to
+ "value".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--setAttribute-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=243"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="4" var="testEmployee"/>
+<setAttribute obj="testEmployee" name='"lang"' value='"EN-us"'/>
+<getAttribute obj="testEmployee" var="attrValue" name='"lang"'/>
+<assertEquals actual="attrValue" expected='"EN-us"' id="attrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementassociatedattribute.xml b/test/testcases/tests/level1/core/hc_elementassociatedattribute.xml
new file mode 100644
index 0000000..c79b153
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementassociatedattribute.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementassociatedattribute">
+<metadata>
+<title>hc_elementAssociatedAttribute</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the first attribute from the last child of
+ the first employee and invoke the "getSpecified()"
+ method. This test is only intended to show that
+ Elements can actually have attributes. This test uses
+ the "getNamedItem(name)" method from the NamedNodeMap
+ interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+</metadata>
+<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="specified" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testEmployee"/>
+<attributes obj="testEmployee" var="attributes"/>
+<getNamedItem obj="attributes" var="domesticAttr" name='"title"'/>
+<specified obj="domesticAttr" var="specified"/>
+<assertTrue actual="specified" id="acronymTitleSpecified"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementchangeattributevalue.xml b/test/testcases/tests/level1/core/hc_elementchangeattributevalue.xml
new file mode 100644
index 0000000..cabca5b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementchangeattributevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementchangeattributevalue">
+<metadata>
+<title>hc_elementChangeAttributeValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setAttribute(name,value)" method adds a new attribute
+ to the Element. If the "strong" is already present, then
+ its value should be changed to the new one that is in
+ the "value" parameter.
+
+ Retrieve the last child of the fourth employee, then add
+ an attribute to it by invoking the
+ "setAttribute(name,value)" method. Since the name of the
+ used attribute("class") is already present in this
+ element, then its value should be changed to the new one
+ of the "value" parameter.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--setAttribute-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="3" var="testEmployee"/>
+<setAttribute obj="testEmployee" name='"class"' value='"Neither"'/>
+<getAttribute obj="testEmployee" var="attrValue" name='"class"'/>
+<assertEquals actual="attrValue" expected='"Neither"' id="elementChangeAttributeValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementcreatenewattribute.xml b/test/testcases/tests/level1/core/hc_elementcreatenewattribute.xml
new file mode 100644
index 0000000..aac3a12
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementcreatenewattribute.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementcreatenewattribute">
+<metadata>
+<title>hc_elementCreateNewAttribute</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setAttributeNode(newAttr)" method adds a new
+ attribute to the Element.
+
+ Retrieve first address element and add
+ a new attribute node to it by invoking its
+ "setAttributeNode(newAttr)" method. This test makes use
+ of the "createAttribute(name)" method from the Document
+ interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--setAttributeNode-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=243"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<var name="newAttribute" type="Attr"/>
+<var name="oldAttr" type="Attr"/>
+<var name="districtAttr" type="Attr"/>
+<var name="attrVal" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddress"/>
+<createAttribute obj="doc" var="newAttribute" name='"lang"'/>
+<setAttributeNode obj="testAddress" var="oldAttr" newAttr="newAttribute"/>
+<assertNull actual="oldAttr" id="old_attr_doesnt_exist"/>
+<getAttributeNode obj="testAddress" var="districtAttr" name='"lang"'/>
+<assertNotNull actual="districtAttr" id="new_district_accessible"/>
+<getAttribute var="attrVal" obj="testAddress" name='"lang"'/>
+<assertEquals actual="attrVal" expected='""' id="attr_value" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementgetattributenode.xml b/test/testcases/tests/level1/core/hc_elementgetattributenode.xml
new file mode 100644
index 0000000..2896efa
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementgetattributenode.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementgetattributenode">
+<metadata>
+<title>hc_elementgetattributenode</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the attribute "title" from the last child
+ of the first "p" element and check its node name.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-217A91B8"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=236"/>
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="domesticAttr" type="Attr"/>
+<var name="nodeName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testEmployee"/>
+<getAttributeNode obj="testEmployee" var="domesticAttr" name='"title"'/>
+<nodeName obj="domesticAttr" var="nodeName"/>
+<assertEquals actual="nodeName" expected='"title"' id="nodeName" ignoreCase="auto" context="attribute"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementgetattributenodenull.xml b/test/testcases/tests/level1/core/hc_elementgetattributenodenull.xml
new file mode 100644
index 0000000..3bab65b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementgetattributenodenull.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementgetattributenodenull">
+<metadata>
+<title>hc_elementGetAttributeNodeNull</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getAttributeNode(name)" method retrieves an
+ attribute node by name. It should return null if the
+ "strong" attribute does not exist.
+
+ Retrieve the last child of the first employee and attempt
+ to retrieve a non-existing attribute. The method should
+ return "null". The non-existing attribute to be used
+ is "invalidAttribute".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-217A91B8"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="domesticAttr" type="Attr"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testEmployee"/>
+<getAttributeNode obj="testEmployee" var="domesticAttr" name='"invalidAttribute"'/>
+<assertNull actual="domesticAttr" id="elementGetAttributeNodeNullAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementgetelementempty.xml b/test/testcases/tests/level1/core/hc_elementgetelementempty.xml
new file mode 100644
index 0000000..90606a2
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementgetelementempty.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementgetelementempty">
+<metadata>
+<title>hc_elementGetElementEmpty</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getAttribute(name)" method returns an empty
+ string if no value was assigned to an attribute and
+ no default value was given in the DTD file.
+
+ Retrieve the last child of the last employee, then
+ invoke "getAttribute(name)" method, where "strong" is an
+ attribute without a specified or DTD default value.
+ The "getAttribute(name)" method should return the empty
+ string. This method makes use of the
+ "createAttribute(newAttr)" method from the Document
+ interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--getAttribute-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-666EE0F9"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=243"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newAttribute" type="Attr"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="domesticAttr" type="Attr"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createAttribute obj="doc" var="newAttribute" name='"lang"'/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="3" var="testEmployee"/>
+<setAttributeNode obj="testEmployee" var="domesticAttr" newAttr="newAttribute"/>
+<getAttribute obj="testEmployee" var="attrValue" name='"lang"'/>
+<assertEquals actual="attrValue" expected='""' id="elementGetElementEmptyAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementgetelementsbytagname.xml b/test/testcases/tests/level1/core/hc_elementgetelementsbytagname.xml
new file mode 100644
index 0000000..9284ce2
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementgetelementsbytagname.xml
@@ -0,0 +1,39 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementgetelementsbytagname">
+<metadata>
+<title>hc_elementGetElementsByTagName</title>
+<creator>Curt Arnold</creator>
+<description>
+The "getElementsByTagName(name)" method returns a list
+of all descendant Elements with the given tag name.
+Test for an empty list.
+
+Create a NodeList of all the descendant elements
+using the string "noMatch" as the tagName.
+The method should return a NodeList whose length is
+"0" since there are not any descendant elements
+that match the given tag name.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--getElementsByTagName-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<assertSize collection="elementList" size="5" id="elementGetElementsByTagNameAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementgetelementsbytagnameaccessnodelist.xml b/test/testcases/tests/level1/core/hc_elementgetelementsbytagnameaccessnodelist.xml
new file mode 100644
index 0000000..d7af247
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementgetelementsbytagnameaccessnodelist.xml
@@ -0,0 +1,61 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementgetelementsbytagnameaccessnodelist">
+<metadata>
+<title>hc_elementGetElementsByTagName</title>
+<creator>Curt Arnold</creator>
+<description>
+The "getElementsByTagName(name)" method returns a list
+of all descendant Elements in the order the children
+were encountered in a pre order traversal of the element
+tree.
+
+Create a NodeList of all the descendant elements
+using the string "p" as the tagName.
+The method should return a NodeList whose length is
+"5" in the order the children were encountered.
+Access the FOURTH element in the NodeList. The FOURTH
+element, the first or second should be an "em" node with
+the content "EMP0004".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--getElementsByTagName-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="firstC" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<var name="employeeIDNode" type="CharacterData"/>
+<var name="employeeID" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="3" var="testEmployee"/>
+<firstChild interface="Node" obj="testEmployee" var="firstC"/>
+<nodeType var="nodeType" obj="firstC"/>
+<!-- if a text node, get the next sibling -->
+<while><equals actual="nodeType" expected="3"/>
+<nextSibling interface="Node" var="firstC" obj="firstC"/>
+<nodeType var="nodeType" obj="firstC"/>
+</while>
+<nodeName obj="firstC" var="childName"/>
+<assertEquals actual="childName" expected='"em"' id="childName" ignoreCase="auto"/>
+<firstChild interface="Node" var="employeeIDNode" obj="firstC"/>
+<nodeValue var="employeeID" obj="employeeIDNode"/>
+<assertEquals actual="employeeID" expected='"EMP0004"' ignoreCase="false" id="employeeID"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementgetelementsbytagnamenomatch.xml b/test/testcases/tests/level1/core/hc_elementgetelementsbytagnamenomatch.xml
new file mode 100644
index 0000000..6576b8c
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementgetelementsbytagnamenomatch.xml
@@ -0,0 +1,37 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementgetelementsbytagnamenomatch">
+<metadata>
+<title>hc_elementGetElementsByTagName</title>
+<creator>Curt Arnold</creator>
+<description>
+The "getElementsByTagName(name)" method returns a list
+of all descendant Elements with the given tag name.
+
+Create a NodeList of all the descendant elements
+using the string "employee" as the tagName.
+The method should return a NodeList whose length is
+"5".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--getElementsByTagName-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"noMatch"' var="elementList"/>
+<assertSize collection="elementList" size="0" id="elementGetElementsByTagNameNoMatchNoMatchAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementgetelementsbytagnamespecialvalue.xml b/test/testcases/tests/level1/core/hc_elementgetelementsbytagnamespecialvalue.xml
new file mode 100644
index 0000000..66a9013
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementgetelementsbytagnamespecialvalue.xml
@@ -0,0 +1,56 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementgetelementsbytagnamespecialvalue">
+<metadata>
+<title>hc_elementGetElementsByTagNamesSpecialValue</title>
+<creator>Curt Arnold</creator>
+<description>
+The "getElementsByTagName(name)" method may use the
+special value "*" to match all tags in the element
+tree.
+
+Create a NodeList of all the descendant elements
+of the last employee by using the special value "*".
+The method should return all the descendant children(6)
+in the order the children were encountered.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1938918D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="lastEmployee" type="Element"/>
+<var name="lastempList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="result" type="List"/>
+<var name="expectedResult" type="List">
+<member>"em"</member>
+<member>"strong"</member>
+<member>"code"</member>
+<member>"sup"</member>
+<member>"var"</member>
+<member>"acronym"</member>
+</var>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="4" var="lastEmployee"/>
+<getElementsByTagName interface="Element" obj="lastEmployee" var="lastempList" tagname='"*"'/>
+<for-each collection="lastempList" member="child">
+<nodeName obj="child" var="childName"/>
+<append collection="result" item="childName"/>
+</for-each>
+<assertEquals actual="result" expected="expectedResult" id="tagNames" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementgettagname.xml b/test/testcases/tests/level1/core/hc_elementgettagname.xml
new file mode 100644
index 0000000..25601a5
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementgettagname.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementgettagname">
+<metadata>
+<title>hc_elementgettagname</title>
+<creator>Curt Arnold</creator>
+<description>
+ Invoke the "getTagName()" method one the
+ root node. The value returned should be "html" or "svg".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-104682815"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=251"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="root" type="Element"/>
+<var name="tagname" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<documentElement obj="doc" var="root"/>
+<tagName obj="root" var="tagname"/>
+<if><contentType type="image/svg+xml"/>
+<assertEquals actual="tagname" expected='"svg"' id="svgTagname" ignoreCase="false"/>
+<else>
+<assertEquals actual="tagname" expected='"html"' id="tagname" ignoreCase="auto"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementinuseattributeerr.xml b/test/testcases/tests/level1/core/hc_elementinuseattributeerr.xml
new file mode 100644
index 0000000..6a5e8df
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementinuseattributeerr.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementinuseattributeerr">
+<metadata>
+<title>hc_elementInUseAttributeErr</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setAttributeNode(newAttr)" method raises an
+ "INUSE_ATTRIBUTE_ERR DOMException if the "newAttr"
+ is already an attribute of another element.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=244"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newAttribute" type="Attr"/>
+<var name="addressElementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<var name="newElement" type="Element"/>
+<var name="attrAddress" type="Attr"/>
+<var name="appendedChild" type="Node"/>
+<var name="setAttr1" type="Attr"/>
+<var name="setAttr2" type="Attr"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"body"' var="addressElementList"/>
+<item interface="NodeList" obj="addressElementList" index="0" var="testAddress"/>
+<createElement obj="doc" var="newElement" tagName='"p"'/>
+<appendChild var="appendedChild" obj="testAddress" newChild="newElement"/>
+<createAttribute obj="doc" var="newAttribute" name='"title"'/>
+<setAttributeNode var="setAttr1" obj="newElement" newAttr="newAttribute"/>
+<assertDOMException id="throw_INUSE_ATTRIBUTE_ERR">
+ <INUSE_ATTRIBUTE_ERR>
+ <setAttributeNode var="setAttr2" obj="testAddress" newAttr="newAttribute"/>
+ </INUSE_ATTRIBUTE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementinvalidcharacterexception.xml b/test/testcases/tests/level1/core/hc_elementinvalidcharacterexception.xml
new file mode 100644
index 0000000..3695b93
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementinvalidcharacterexception.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementinvalidcharacterexception">
+<metadata>
+<title>hc_elementInvalidCharacterException</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setAttribute(name,value)" method raises an
+ "INVALID_CHARACTER_ERR DOMException if the specified
+ name contains an invalid character.
+
+ Retrieve the last child of the first employee and
+ call its "setAttribute(name,value)" method with
+ "strong" containing an invalid character.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddress"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<setAttribute obj="testAddress" name='"invalid^Name"' value='"value"'/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementinvalidcharacterexception1.xml b/test/testcases/tests/level1/core/hc_elementinvalidcharacterexception1.xml
new file mode 100644
index 0000000..2953282
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementinvalidcharacterexception1.xml
@@ -0,0 +1,38 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementinvalidcharacterexception1">
+<metadata>
+<title>hc_elementinvalidcharacterexception1</title>
+<creator>Curt Arnold</creator>
+<description>
+Calling Element.setAttribute with an empty name will cause an INVALID_CHARACTER_ERR.
+</description>
+<date qualifier="created">2004-03-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68F082"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68F082')/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="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;acronym&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddress"/>
+<assertDOMException id="throw_INVALID_CHARACTER_ERR">
+<INVALID_CHARACTER_ERR>
+<setAttribute obj="testAddress" name='""' value="&quot;value&quot;"/>
+</INVALID_CHARACTER_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementnormalize.xml b/test/testcases/tests/level1/core/hc_elementnormalize.xml
new file mode 100644
index 0000000..e1df08f
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementnormalize.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementnormalize">
+<metadata>
+<title>hc_elementnormalize</title>
+<creator>Curt Arnold</creator>
+<description>
+Append a couple of text nodes to the first sup element, normalize the
+document element and check that the element has been normalized.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=546"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="root" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<var name="testName" type="Element"/>
+<var name="firstChild" type="Node"/>
+<var name="childValue" type="DOMString"/>
+<var name="textNode" type="Text"/>
+<var name="retNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"sup"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testName"/>
+<createTextNode var="textNode" obj="doc" data='""'/>
+<appendChild var="retNode" obj="testName" newChild="textNode"/>
+<createTextNode var="textNode" obj="doc" data='",000"'/>
+<appendChild var="retNode" obj="testName" newChild="textNode"/>
+<documentElement obj="doc" var="root"/>
+<normalize obj="root"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"sup"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testName"/>
+<firstChild interface="Node" obj="testName" var="firstChild"/>
+<nodeValue obj="firstChild" var="childValue"/>
+<assertEquals actual="childValue" expected='"56,000,000"' id="elementNormalizeAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementnormalize2.xml b/test/testcases/tests/level1/core/hc_elementnormalize2.xml
new file mode 100644
index 0000000..0adf0d8
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementnormalize2.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementnormalize2">
+<metadata>
+<title>hc_elementnormalize2</title>
+<creator>Curt Arnold</creator>
+<description>
+Add an empty text node to an existing attribute node, normalize the containing element
+and check that the attribute node has eliminated the empty text.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-162CF083"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=482"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="root" type="Element"/>
+<var name="elementList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="firstChild" type="Node"/>
+<var name="secondChild" type="Node"/>
+<var name="childValue" type="DOMString"/>
+<var name="emptyText" type="Text"/>
+<var name="attrNode" type="Attr"/>
+<var name="retval" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<documentElement obj="doc" var="root"/>
+<createTextNode var="emptyText" obj="doc" data='""'/>
+<getElementsByTagName interface="Element" obj="root" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="element"/>
+<getAttributeNode var="attrNode" obj="element" name='"title"'/>
+<appendChild var="retval" obj="attrNode" newChild="emptyText"/>
+<normalize obj="element"/>
+<getAttributeNode var="attrNode" obj="element" name='"title"'/>
+<firstChild interface="Node" obj="attrNode" var="firstChild"/>
+<nodeValue obj="firstChild" var="childValue"/>
+<assertEquals actual="childValue" expected='"Yes"' id="firstChild" ignoreCase="false"/>
+<nextSibling var="secondChild" obj="firstChild" interface="Node"/>
+<assertNull actual="secondChild" id="secondChildNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementnotfounderr.xml b/test/testcases/tests/level1/core/hc_elementnotfounderr.xml
new file mode 100644
index 0000000..73de389
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementnotfounderr.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementnotfounderr">
+<metadata>
+<title>hc_elementNotFoundErr</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeAttributeNode(oldAttr)" method raises a
+ NOT_FOUND_ERR DOMException if the "oldAttr" attribute
+ is not an attribute of the element.
+
+ Retrieve the last employee and attempt to remove
+ a non existing attribute node. This should cause the
+ intended exception to be raised. This test makes use
+ of the "createAttribute(name)" method from the Document
+ interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D589198')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="oldAttribute" type="Attr"/>
+<var name="addressElementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<var name="attrAddress" type="Attr"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="addressElementList"/>
+<item interface="NodeList" obj="addressElementList" index="4" var="testAddress"/>
+<createAttribute obj="doc" var="oldAttribute" name='"title"'/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<removeAttributeNode obj="testAddress" oldAttr="oldAttribute" var="attrAddress"/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementremoveattribute.xml b/test/testcases/tests/level1/core/hc_elementremoveattribute.xml
new file mode 100644
index 0000000..f5d46f2
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementremoveattribute.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementremoveattribute">
+<metadata>
+<title>hc_elementRemoveAttribute</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeAttribute(name)" removes an attribute by name.
+ If the attribute has a default value, it is immediately
+ replaced. However, there is no default values in the HTML
+ compatible tests, so its value is "".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D6AC0F9"/>
+<!-- DOM WG opinion on default attributes -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="3" var="testEmployee"/>
+<removeAttribute obj="testEmployee" name='"class"'/>
+<getAttribute obj="testEmployee" var="attrValue" name='"class"'/>
+<assertEquals actual="attrValue" expected='""' id="attrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementremoveattributeaftercreate.xml b/test/testcases/tests/level1/core/hc_elementremoveattributeaftercreate.xml
new file mode 100644
index 0000000..b3339e7
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementremoveattributeaftercreate.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementremoveattributeaftercreate">
+<metadata>
+<title>hc_elementRemoveAttributeAfterCreate</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeAttributeNode(oldAttr)" method removes the
+ specified attribute.
+
+ Retrieve the last child of the third employee, add a
+ new "lang" attribute to it and then try to remove it.
+ To verify that the node was removed use the
+ "getNamedItem(name)" method from the NamedNodeMap
+ interface. It also uses the "getAttributes()" method
+ from the Node interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--removeAttributeNode-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=243"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="newAttribute" type="Attr"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="districtAttr" type="Attr"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<createAttribute obj="doc" var="newAttribute" name='"lang"'/>
+<setAttributeNode obj="testEmployee" var="districtAttr" newAttr="newAttribute"/>
+<removeAttributeNode obj="testEmployee" var="districtAttr" oldAttr="newAttribute"/>
+<attributes obj="testEmployee" var="attributes"/>
+<getNamedItem obj="attributes" var="districtAttr" name='"lang"'/>
+<assertNull actual="districtAttr" id="removed_item_null"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementremoveattributenode.xml b/test/testcases/tests/level1/core/hc_elementremoveattributenode.xml
new file mode 100644
index 0000000..ccb4ae6
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementremoveattributenode.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementremoveattributenode">
+<metadata>
+<title>hc_elementRemoveAttributeNode</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeAttributeNode(oldAttr)" method returns the
+ node that was removed.
+
+ Retrieve the last child of the third employee and
+ remove its "class" Attr node. The method should
+ return the old attribute node.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D589198"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="streetAttr" type="Attr"/>
+<var name="removedAttr" type="Attr"/>
+<var name="removedValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<getAttributeNode obj="testEmployee" var="streetAttr" name='"class"'/>
+<removeAttributeNode obj="testEmployee" var="removedAttr" oldAttr="streetAttr"/>
+<assertNotNull actual="removedAttr" id="removedAttrNotNull"/>
+<value interface="Attr" obj="removedAttr" var="removedValue"/>
+<assertEquals actual="removedValue" expected='"No"' id="elementRemoveAttributeNodeAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementreplaceattributewithself.xml b/test/testcases/tests/level1/core/hc_elementreplaceattributewithself.xml
new file mode 100644
index 0000000..927b8e5
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementreplaceattributewithself.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementreplaceattributewithself">
+<metadata>
+<title>hc_elementReplaceAttributeWithSelf</title>
+<creator>Curt Arnold</creator>
+<description>
+This test calls setAttributeNode to replace an attribute with itself.
+Since the node is not an attribute of another Element, it would
+be inappropriate to throw an INUSE_ATTRIBUTE_ERR.
+
+This test was derived from elementinuserattributeerr which
+inadvertanly made this test.
+</description>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2002-06-09</date>
+<!--setAttributeNode-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="streetAttr" type="Attr"/>
+<var name="replacedAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<getAttributeNode var="streetAttr" obj="testEmployee" name='"class"'/>
+<setAttributeNode obj="testEmployee" var="replacedAttr" newAttr="streetAttr"/>
+<assertSame actual="replacedAttr" expected="streetAttr" id="replacedAttr"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementreplaceexistingattribute.xml b/test/testcases/tests/level1/core/hc_elementreplaceexistingattribute.xml
new file mode 100644
index 0000000..6af3483
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementreplaceexistingattribute.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementreplaceexistingattribute">
+<metadata>
+<title>hc_elementReplaceExistingAttribute</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setAttributeNode(newAttr)" method adds a new
+ attribute to the Element. If the "newAttr" Attr node is
+ already present in this element, it should replace the
+ existing one.
+
+ Retrieve the last child of the third employee and add a
+ new attribute node by invoking the "setAttributeNode(new
+ Attr)" method. The new attribute node to be added is
+ "class", which is already present in this element. The
+ method should replace the existing Attr node with the
+ new one. This test uses the "createAttribute(name)"
+ method from the Document interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="newAttribute" type="Attr"/>
+<var name="strong" type="DOMString"/>
+<var name="setAttr" type="Attr"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<createAttribute obj="doc" var="newAttribute" name='"class"'/>
+<setAttributeNode var="setAttr" obj="testEmployee" newAttr="newAttribute"/>
+<getAttribute obj="testEmployee" var="strong" name='"class"'/>
+<assertEquals actual="strong" expected='""' id="replacedValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementreplaceexistingattributegevalue.xml b/test/testcases/tests/level1/core/hc_elementreplaceexistingattributegevalue.xml
new file mode 100644
index 0000000..5c04a86
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementreplaceexistingattributegevalue.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementreplaceexistingattributegevalue">
+<metadata>
+<title>hc_elementReplaceExistingAttributeGeValue</title>
+<creator>Curt Arnold</creator>
+<description>
+If the "setAttributeNode(newAttr)" method replaces an
+existing Attr node with the same name, then it should
+return the previously existing Attr node.
+
+Retrieve the last child of the third employee and add a
+new attribute node. The new attribute node is "class",
+which is already present in this Element. The method
+should return the existing Attr node(old "class" Attr).
+This test uses the "createAttribute(name)" method
+from the Document interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--setAttributeNode-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="newAttribute" type="Attr"/>
+<var name="streetAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<createAttribute obj="doc" var="newAttribute" name='"class"'/>
+<setAttributeNode obj="testEmployee" var="streetAttr" newAttr="newAttribute"/>
+<assertNotNull actual="streetAttr" id="previousAttrNotNull"/>
+<value interface="Attr" obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected='"No"' id="previousAttrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementretrieveallattributes.xml b/test/testcases/tests/level1/core/hc_elementretrieveallattributes.xml
new file mode 100644
index 0000000..9b50924
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementretrieveallattributes.xml
@@ -0,0 +1,59 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementretrieveallattributes">
+<metadata>
+<title>hc_elementretrieveallattributes</title>
+<creator>Curt Arnold</creator>
+<description>
+ Create a list of all the attributes of the last child
+ of the first "p" element by using the "getAttributes()"
+ method.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- DOM WG opinion on default attributes -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=184"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="addressList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="attribute" type="Attr"/>
+<var name="attributeName" type="DOMString"/>
+<var name="actual" type="Collection"/>
+<var name="htmlExpected" type="Collection">
+ <member>"title"</member>
+</var>
+<var name="expected" type="Collection">
+ <member>"title"</member>
+ <member>"dir"</member>
+</var>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="addressList"/>
+<item interface="NodeList" obj="addressList" index="0" var="testAddress"/>
+<attributes obj="testAddress" var="attributes"/>
+<for-each collection="attributes" member="attribute">
+ <nodeName var="attributeName" obj="attribute"/>
+ <append collection="actual" item="attributeName"/>
+</for-each>
+<if><contentType type="text/html"/>
+ <assertEquals id="htmlAttributeNames" actual="actual" expected="htmlExpected" ignoreCase="true"/>
+ <else>
+ <assertEquals id="attributeNames" actual="actual" expected="expected" ignoreCase="true"/>
+ </else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementretrieveattrvalue.xml b/test/testcases/tests/level1/core/hc_elementretrieveattrvalue.xml
new file mode 100644
index 0000000..6d5a96e
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementretrieveattrvalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementretrieveattrvalue">
+<metadata>
+<title>hc_elementRetrieveAttrValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getAttribute(name)" method returns an attribute
+ value by name.
+
+ Retrieve the second address element, then
+ invoke the 'getAttribute("class")' method. This should
+ return the value of the attribute("No").
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--getAttribute-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-666EE0F9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testAddress"/>
+<getAttribute obj="testAddress" var="attrValue" name='"class"'/>
+<assertEquals actual="attrValue" expected='"No"' id="attrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementretrievetagname.xml b/test/testcases/tests/level1/core/hc_elementretrievetagname.xml
new file mode 100644
index 0000000..d6f5744
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementretrievetagname.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementretrievetagname">
+<metadata>
+<title>hc_elementRetrieveTagName</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getElementsByTagName()" method returns a NodeList
+ of all descendant elements with a given tagName.
+
+ Invoke the "getElementsByTagName()" method and create
+ a NodeList of "code" elements. Retrieve the second
+ "code" element in the list and return the NodeName.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--nodeName attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<!--tagName attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-104682815"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="strong" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"code"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="testEmployee"/>
+<nodeName obj="testEmployee" var="strong"/>
+<assertEquals actual="strong" expected='"code"' id="nodename" ignoreCase="auto"/>
+<tagName obj="testEmployee" var="strong"/>
+<assertEquals actual="strong" expected='"code"' id="tagname" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementsetattributenodenull.xml b/test/testcases/tests/level1/core/hc_elementsetattributenodenull.xml
new file mode 100644
index 0000000..49e6df9
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementsetattributenodenull.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementsetattributenodenull">
+<metadata>
+<title>hc_elementSetAttributeNodeNull</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setAttributeNode(newAttr)" method returns the
+ null value if no previously existing Attr node with the
+ same name was replaced.
+
+ Retrieve the last child of the third employee and add a
+ new attribute to it. The new attribute node added is
+ "lang", which is not part of this Element. The
+ method should return the null value.
+ This test uses the "createAttribute(name)"
+ method from the Document interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=243"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="newAttribute" type="Attr"/>
+<var name="districtAttr" type="Attr"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testEmployee"/>
+<createAttribute obj="doc" var="newAttribute" name='"lang"'/>
+<setAttributeNode obj="testEmployee" var="districtAttr" newAttr="newAttribute"/>
+<assertNull actual="districtAttr" id="elementSetAttributeNodeNullAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_elementwrongdocumenterr.xml b/test/testcases/tests/level1/core/hc_elementwrongdocumenterr.xml
new file mode 100644
index 0000000..8d36120
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_elementwrongdocumenterr.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_elementwrongdocumenterr">
+<metadata>
+<title>hc_elementWrongDocumentErr</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setAttributeNode(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 last employee and attempt to set a new
+ attribute node for its "employee" element. 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 "createAttribute(newAttr)" method
+ from the Document interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-887236154"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-887236154')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc1" type="Document"/>
+<var name="doc2" type="Document"/>
+<var name="newAttribute" type="Attr"/>
+<var name="addressElementList" type="NodeList"/>
+<var name="testAddress" type="Element"/>
+<var name="attrAddress" type="Attr"/>
+<load var="doc1" href="hc_staff" willBeModified="true"/>
+<load var="doc2" href="hc_staff" willBeModified="false"/>
+<createAttribute obj="doc2" var="newAttribute" name='"newAttribute"'/>
+<getElementsByTagName interface="Document" obj="doc1" tagname='"acronym"' var="addressElementList"/>
+<item interface="NodeList" obj="addressElementList" index="4" var="testAddress"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<setAttributeNode obj="testAddress" newAttr="newAttribute" var="attrAddress"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_entitiesremovenameditem1.xml b/test/testcases/tests/level1/core/hc_entitiesremovenameditem1.xml
new file mode 100644
index 0000000..0bd5d38
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_entitiesremovenameditem1.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_entitiesremovenameditem1">
+<metadata>
+<title>hc_entitiesremovenameditem1</title>
+<creator>Curt Arnold</creator>
+<description>
+An attempt to add remove an entity should result in a NO_MODIFICATION_ERR.
+</description>
+<date qualifier="created">2004-01-11</date>
+<!-- DocumentType.entities -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630"/>
+<!-- NamedNodeMap.removeNamedItem -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193"/>
+</metadata>
+<hasFeature feature='"XML"'/>
+<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"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+ <NO_MODIFICATION_ALLOWED_ERR>
+ <removeNamedItem var="retval" obj="entities" name='"alpha"'/>
+ </NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_entitiessetnameditem1.xml b/test/testcases/tests/level1/core/hc_entitiessetnameditem1.xml
new file mode 100644
index 0000000..301bdf1
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_entitiessetnameditem1.xml
@@ -0,0 +1,50 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_entitiessetnameditem1">
+<metadata>
+<title>hc_entitiessetnameditem1</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/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1788794630"/>
+<!-- NamedNodeMap.setNamedItem -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788"/>
+</metadata>
+<hasFeature feature='"XML"'/>
+<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"/>
+<createElement var="elem" obj="doc" tagName='"br"'/>
+<try>
+ <setNamedItem 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/level1/core/hc_namednodemapchildnoderange.xml b/test/testcases/tests/level1/core/hc_namednodemapchildnoderange.xml
new file mode 100644
index 0000000..d7c8b7d
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapchildnoderange.xml
@@ -0,0 +1,60 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapchildnoderange">
+<metadata>
+<title>hc_namednodemapchildnoderange</title>
+<creator>Curt Arnold</creator>
+<description>
+ Create a NamedNodeMap object from the attributes of the
+ last child of the third "p" element and traverse the
+ list from index 0 thru length -1. All indices should
+ be valid.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!--item-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+<!--length attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D0FB19E"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=250"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="child" type="Node"/>
+<var name="strong" type="DOMString"/>
+<var name="length" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="2"/>
+<attributes obj="testEmployee" var="attributes"/>
+<length var="length" obj="attributes" interface="NamedNodeMap"/>
+<if><contentType type="text/html"/>
+<assertEquals actual="length" expected="2" id="htmlLength" ignoreCase="false"/>
+<else>
+<assertEquals actual="length" expected="3" id="length" ignoreCase="false"/>
+<item var="child" index="2" obj="attributes" interface="NamedNodeMap"/>
+<assertNotNull actual="child" id="attr2"/>
+</else>
+</if>
+<item var="child" index="0" obj="attributes" interface="NamedNodeMap"/>
+<assertNotNull actual="child" id="attr0"/>
+<item var="child" index="1" obj="attributes" interface="NamedNodeMap"/>
+<assertNotNull actual="child" id="attr1"/>
+<item var="child" index="3" obj="attributes" interface="NamedNodeMap"/>
+<assertNull actual="child" id="attr3"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapgetnameditem.xml b/test/testcases/tests/level1/core/hc_namednodemapgetnameditem.xml
new file mode 100644
index 0000000..a8802ab
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapgetnameditem.xml
@@ -0,0 +1,46 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapgetnameditem">
+<metadata>
+<title>hc_namednodemapgetnameditem</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the second "p" element and create a NamedNodeMap
+ listing of the attributes of the last child. Once the
+ list is created an invocation of the "getNamedItem(name)"
+ method is done with name="title". This should result
+ in the title Attr node being returned.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=236"/>
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html"/>
+</metadata>
+<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="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="1"/>
+<attributes obj="testEmployee" var="attributes"/>
+<getNamedItem obj="attributes" var="domesticAttr" name='"title"'/>
+<nodeName obj="domesticAttr" var="attrName"/>
+<assertEquals actual="attrName" expected='"title"'
+ id="nodeName" ignoreCase="auto" context="attribute"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapinuseattributeerr.xml b/test/testcases/tests/level1/core/hc_namednodemapinuseattributeerr.xml
new file mode 100644
index 0000000..0220da5
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapinuseattributeerr.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapinuseattributeerr">
+<metadata>
+<title>hc_namedNodeMapInUseAttributeErr</title>
+<creator>Curt Arnold</creator>
+<description>
+The "setNamedItem(arg)" method raises a
+INUSE_ATTRIBUTE_ERR DOMException if "arg" is an
+Attr that is already in an attribute of another Element.
+
+Create a NamedNodeMap object from the attributes of the
+last child of the third employee and attempt to add
+an attribute that is already being used by the first
+employee. This should raise the desired exception.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_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/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="firstNode" type="Element"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="domesticAttr" type="Attr"/>
+<var name="setAttr" type="Attr"/>
+<var name="setNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="firstNode" index="0"/>
+<createAttribute obj="doc" var="domesticAttr" name='"title"'/>
+<value interface="Attr" obj="domesticAttr" value='"Y&#945;"'/>
+<setAttributeNode var="setAttr" obj="firstNode" newAttr="domesticAttr"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testNode" index="2"/>
+<attributes obj="testNode" var="attributes"/>
+<assertDOMException id="throw_INUSE_ATTRIBUTE_ERR">
+<INUSE_ATTRIBUTE_ERR>
+<setNamedItem var="setNode" interface="NamedNodeMap" obj="attributes" arg="domesticAttr"/>
+</INUSE_ATTRIBUTE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapnotfounderr.xml b/test/testcases/tests/level1/core/hc_namednodemapnotfounderr.xml
new file mode 100644
index 0000000..d3d2c64
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapnotfounderr.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapnotfounderr">
+<metadata>
+<title>hc_namednodemapNotFoundErr</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeNamedItem(name)" method raises a
+ NOT_FOUND_ERR DOMException if there is not a node
+ named "strong" in the map.
+
+ Create a NamedNodeMap object from the attributes of the
+ last child of the third employee and attempt to remove
+ the "lang" attribute. There is not a node named
+ "lang" in the list and therefore the desired
+ exception should be raised.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D58B193')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=243"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="removedNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="2"/>
+<attributes obj="testEmployee" var="attributes"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<removeNamedItem var="removedNode" interface="NamedNodeMap" obj="attributes" name='"lang"'/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapnumberofnodes.xml b/test/testcases/tests/level1/core/hc_namednodemapnumberofnodes.xml
new file mode 100644
index 0000000..488b258
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapnumberofnodes.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapnumberofnodes">
+<metadata>
+<title>hc_namednodemapnumberofnodes</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the second "p" element and evaluate Node.attributes.length.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!--length attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D0FB19E"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=250"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="length" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="2"/>
+<attributes obj="testEmployee" var="attributes"/>
+<length var="length" obj="attributes" interface="NamedNodeMap"/>
+<if><contentType type="text/html"/>
+<assertEquals actual="length" expected="2" id="htmlLength" ignoreCase="false"/>
+<else>
+<assertEquals actual="length" expected="3" id="length" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapremovenameditem.xml b/test/testcases/tests/level1/core/hc_namednodemapremovenameditem.xml
new file mode 100644
index 0000000..b686f9a
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapremovenameditem.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapremovenameditem">
+<metadata>
+<title>hc_namednodemapRemoveNamedItem</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeNamedItem(name)" method removes a node
+ specified by name.
+
+ Retrieve the third employee and create a NamedNodeMap
+ object of the attributes of the last child. Once the
+ list is created invoke the "removeNamedItem(name)"
+ method with name="class". This should result
+ in the removal of the specified attribute.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+<!-- DOM WG opinion on default attributes -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="newAttribute" type="Attr"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="specified" type="boolean"/>
+<var name="removedNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="2"/>
+<attributes obj="testAddress" var="attributes"/>
+<removeNamedItem var="removedNode" interface="NamedNodeMap" obj="attributes" name='"class"'/>
+<getNamedItem obj="attributes" var="streetAttr" name='"class"'/>
+<assertNull actual="streetAttr" id="isnull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapreturnattrnode.xml b/test/testcases/tests/level1/core/hc_namednodemapreturnattrnode.xml
new file mode 100644
index 0000000..53edc6b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapreturnattrnode.xml
@@ -0,0 +1,53 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapreturnattrnode">
+<metadata>
+<title>hc_namednodemapreturnattrnode</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the second p element and create a NamedNodeMap
+ listing of the attributes of the last child. Once the
+ list is created an invocation of the "getNamedItem(name)"
+ method is done with name="class". This should result
+ in the method returning an Attr node.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--getNamedItem-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549"/>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!--name attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1112119403"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=236"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Node"/>
+<var name="attrName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="1"/>
+<attributes obj="testEmployee" var="attributes"/>
+<getNamedItem obj="attributes" var="streetAttr" name='"class"'/>
+<assertInstanceOf obj="streetAttr" type="Attr" id="typeAssert"/>
+<nodeName obj="streetAttr" var="attrName"/>
+<assertEquals actual="attrName" expected='"class"' id="nodeName" ignoreCase="auto" context="attribute"/>
+<name obj="streetAttr" var="attrName" interface="Attr"/>
+<assertEquals actual="attrName" expected='"class"' id="name" ignoreCase="auto" context="attribute"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapreturnfirstitem.xml b/test/testcases/tests/level1/core/hc_namednodemapreturnfirstitem.xml
new file mode 100644
index 0000000..a7a6ebd
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapreturnfirstitem.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapreturnfirstitem">
+<metadata>
+<title>hc_namednodemapReturnFirstItem</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "item(index)" method returns the indexth item in
+ the map(test for first item).
+
+ Retrieve the second "acronym" get the NamedNodeMap of the attributes. Since the
+ DOM does not specify an order of these nodes the contents
+ of the FIRST node can contain either "title", "class" or "dir".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=236"/>
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=184"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="child" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="htmlExpected" type="Collection">
+ <member>"title"</member>
+ <member>"class"</member>
+</var>
+<var name="expected" type="Collection">
+ <member>"title"</member>
+ <member>"class"</member>
+ <member>"dir"</member>
+</var>
+<var name="actual" type="Collection"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="1"/>
+<attributes obj="testAddress" var="attributes"/>
+<for-each collection="attributes" member="child">
+<nodeName obj="child" var="nodeName"/>
+<append collection="actual" item="nodeName"/>
+</for-each>
+<if><contentType type="text/html"/>
+<assertEquals id="attrName_html" actual="actual" expected="htmlExpected" ignoreCase="true"/>
+<else>
+<assertEquals id="attrName" actual="actual" expected="expected" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapreturnlastitem.xml b/test/testcases/tests/level1/core/hc_namednodemapreturnlastitem.xml
new file mode 100644
index 0000000..bd6f7a8
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapreturnlastitem.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapreturnlastitem">
+<metadata>
+<title>hc_namednodemapReturnLastItem</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "item(index)" method returns the indexth item in
+ the map(test for last item).
+
+ Retrieve the second "acronym" and get the attribute name. Since the
+ DOM does not specify an order of these nodes the contents
+ of the LAST node can contain either "title" or "class".
+ The test should return "true" if the LAST node is either
+ of these values.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=236"/>
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=184"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="child" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="htmlExpected" type="Collection">
+ <member>"title"</member>
+ <member>"class"</member>
+</var>
+<var name="expected" type="Collection">
+ <member>"title"</member>
+ <member>"class"</member>
+ <member>"dir"</member>
+</var>
+<var name="actual" type="Collection"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="1"/>
+<attributes obj="testEmployee" var="attributes"/>
+<for-each collection="attributes" member="child">
+<nodeName obj="child" var="nodeName"/>
+<append collection="actual" item="nodeName"/>
+</for-each>
+<if><contentType type="text/html"/>
+<assertEquals id="attrName_html" actual="actual" expected="htmlExpected" ignoreCase="true"/>
+<else>
+<assertEquals id="attrName" actual="actual" expected="expected" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapreturnnull.xml b/test/testcases/tests/level1/core/hc_namednodemapreturnnull.xml
new file mode 100644
index 0000000..12037d8
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapreturnnull.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapreturnnull">
+<metadata>
+<title>hc_namednodemapReturnNull</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getNamedItem(name)" method returns null of the
+ specified name did not identify any node in the map.
+
+ Retrieve the second employee and create a NamedNodeMap
+ listing of the attributes of the last child. Once the
+ list is created an invocation of the "getNamedItem(name)"
+ method is done with name="lang". This name does not
+ match any names in the list therefore the method should
+ return null.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--getNamedItem-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=243"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="districtNode" type="Attr"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="1"/>
+<attributes obj="testEmployee" var="attributes"/>
+<getNamedItem obj="attributes" var="districtNode" name='"lang"'/>
+<assertNull actual="districtNode" id="langAttrNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapsetnameditem.xml b/test/testcases/tests/level1/core/hc_namednodemapsetnameditem.xml
new file mode 100644
index 0000000..e4dcfd7
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapsetnameditem.xml
@@ -0,0 +1,56 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapsetnameditem">
+<metadata>
+<title>hc_namednodemapsetnameditem</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the second "p" element and create a NamedNodeMap
+ object from the attributes of the last child by
+ invoking the "getAttributes()" method. Once the
+ list is created an invocation of the "setNamedItem(arg)"
+ method is done with arg=newAttr, where newAttr is a
+ new Attr Node previously created. The "setNamedItem(arg)"
+ method should add then new node to the NamedNodeItem
+ object by using its "nodeName" attribute("lang').
+ This node is then retrieved using the "getNamedItem(name)"
+ method.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=236"/>
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=243"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="newAttribute" type="Attr"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="districtNode" type="Attr"/>
+<var name="attrName" type="DOMString"/>
+<var name="setNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="1"/>
+<createAttribute obj="doc" var="newAttribute" name='"lang"'/>
+<attributes obj="testAddress" var="attributes"/>
+<setNamedItem var="setNode" obj="attributes" arg="newAttribute"/>
+<getNamedItem obj="attributes" var="districtNode" name='"lang"'/>
+<nodeName obj="districtNode" var="attrName"/>
+<assertEquals actual="attrName" expected='"lang"' id="nodeName"
+ ignoreCase="auto" context="attribute"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapsetnameditemreturnvalue.xml b/test/testcases/tests/level1/core/hc_namednodemapsetnameditemreturnvalue.xml
new file mode 100644
index 0000000..1470e4c
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapsetnameditemreturnvalue.xml
@@ -0,0 +1,56 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapsetnameditemreturnvalue">
+<metadata>
+<title>hc_namednodemapSetNamedItemReturnValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ If the "setNamedItem(arg)" method replaces an already
+ existing node with the same name then the already
+ existing node is returned.
+
+ Retrieve the third employee and create a NamedNodeMap
+ object from the attributes of the last child by
+ invoking the "getAttributes()" method. Once the
+ list is created an invocation of the "setNamedItem(arg)"
+ method is done with arg=newAttr, where newAttr is a
+ new Attr Node previously created and whose node name
+ already exists in the map. The "setNamedItem(arg)"
+ method should replace the already existing node with
+ the new one and return the existing node.
+ This test uses the "createAttribute(name)" method from
+ the document interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="newAttribute" type="Attr"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="newNode" type="Node"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="2"/>
+<createAttribute obj="doc" var="newAttribute" name='"class"'/>
+<attributes obj="testAddress" var="attributes"/>
+<setNamedItem interface="NamedNodeMap" obj="attributes" var="newNode" arg="newAttribute"/>
+<assertNotNull actual="newNode" id="previousAttrNotNull"/>
+<nodeValue obj="newNode" var="attrValue"/>
+<assertEquals actual="attrValue" expected='"No"' id="previousAttrValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapsetnameditemthatexists.xml b/test/testcases/tests/level1/core/hc_namednodemapsetnameditemthatexists.xml
new file mode 100644
index 0000000..d7a6407
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapsetnameditemthatexists.xml
@@ -0,0 +1,58 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapsetnameditemthatexists">
+<metadata>
+<title>hc_namednodemapSetNamedItemThatExists</title>
+<creator>Curt Arnold</creator>
+<description>
+ If the node to be added by the "setNamedItem(arg)" method
+ already exists in the NamedNodeMap, it is replaced by
+ the new one.
+
+ Retrieve the second employee and create a NamedNodeMap
+ object from the attributes of the last child by
+ invoking the "getAttributes()" method. Once the
+ list is created an invocation of the "setNamedItem(arg)"
+ method is done with arg=newAttr, where newAttr is a
+ new Attr Node previously created and whose node name
+ already exists in the map. The "setNamedItem(arg)"
+ method should replace the already existing node with
+ the new one.
+ This node is then retrieved using the "getNamedItem(name)"
+ method. This test uses the "createAttribute(name)"
+ method from the document interface
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="newAttribute" type="Attr"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="districtNode" type="Attr"/>
+<var name="attrValue" type="DOMString"/>
+<var name="setNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="1"/>
+<createAttribute obj="doc" var="newAttribute" name='"class"'/>
+<attributes obj="testAddress" var="attributes"/>
+<setNamedItem var="setNode" obj="attributes" arg="newAttribute"/>
+<getNamedItem obj="attributes" var="districtNode" name='"class"'/>
+<nodeValue obj="districtNode" var="attrValue"/>
+<assertEquals actual="attrValue" expected='""' id="namednodemapSetNamedItemThatExistsAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapsetnameditemwithnewvalue.xml b/test/testcases/tests/level1/core/hc_namednodemapsetnameditemwithnewvalue.xml
new file mode 100644
index 0000000..087e7df
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapsetnameditemwithnewvalue.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapsetnameditemwithnewvalue">
+<metadata>
+<title>hc_namednodemapSetNamedItemWithNewValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ If the "setNamedItem(arg)" method does not replace an
+ existing node with the same name then it returns null.
+
+ Retrieve the third employee and create a NamedNodeMap
+ object from the attributes of the last child.
+ Once the list is created the "setNamedItem(arg)" method
+ is invoked with arg=newAttr, where newAttr is a
+ newly created Attr Node and whose node name
+ already exists in the map. The "setNamedItem(arg)"
+ method should add the new node and return null.
+ This test uses the "createAttribute(name)" method from
+ the document interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=243"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="newAttribute" type="Attr"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="newNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="2"/>
+<createAttribute obj="doc" var="newAttribute" name='"lang"'/>
+<attributes obj="testAddress" var="attributes"/>
+<setNamedItem interface="NamedNodeMap" obj="attributes" var="newNode" arg="newAttribute"/>
+<assertNull actual="newNode" id="prevValueNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_namednodemapwrongdocumenterr.xml b/test/testcases/tests/level1/core/hc_namednodemapwrongdocumenterr.xml
new file mode 100644
index 0000000..bd2fedb
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_namednodemapwrongdocumenterr.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_namednodemapwrongdocumenterr">
+<metadata>
+<title>hc_namednodemapWrongDocumentErr</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setNamedItem(arg)" method raises a
+ WRONG_DOCUMENT_ERR DOMException if "arg" was created
+ from a different document than the one that created
+ the NamedNodeMap.
+
+ Create a NamedNodeMap object from the attributes of the
+ last child of the third employee and attempt to add
+ another Attr node to it that was created from a
+ different DOM document. This should raise the desired
+ exception. This method uses the "createAttribute(name)"
+ method from the Document interface.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_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/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc1" type="Document"/>
+<var name="doc2" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="newAttribute" type="Node"/>
+<var name="strong" type="DOMString"/>
+<var name="setNode" type="Node"/>
+<load var="doc1" href="hc_staff" willBeModified="true"/>
+<load var="doc2" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc1" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="2"/>
+<createAttribute obj="doc2" var="newAttribute" name='"newAttribute"'/>
+<attributes obj="testAddress" var="attributes"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<setNamedItem var="setNode" obj="attributes" arg="newAttribute"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeappendchild.xml b/test/testcases/tests/level1/core/hc_nodeappendchild.xml
new file mode 100644
index 0000000..3ab84d7
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeappendchild.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeappendchild">
+<metadata>
+<title>hc_nodeAppendChild</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the second "p" and append a "br" Element
+ node to the list of children. The last node in the list
+ is then retrieved and its NodeName examined. The
+ "getNodeName()" method should return "br".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="createdNode" type="Node"/>
+<var name="lchild" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<createElement obj="doc" tagName='"br"' var="createdNode"/>
+<appendChild var="appendedChild" obj="employeeNode" newChild="createdNode"/>
+<lastChild interface="Node" obj="employeeNode" var="lchild"/>
+<nodeName obj="lchild" var="childName"/>
+<assertEquals actual="childName" expected='"br"' id="nodeName" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeappendchildchildexists.xml b/test/testcases/tests/level1/core/hc_nodeappendchildchildexists.xml
new file mode 100644
index 0000000..b832113
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeappendchildchildexists.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeappendchildchildexists">
+<metadata>
+<title>hc_nodeAppendChildChildExists</title>
+<creator>Curt Arnold</creator>
+<description>
+ If the "newChild" is already in the tree, it is first
+ removed before the new one is appended.
+
+ Retrieve the "em" second employee and
+ append the first child to the end of the list. After
+ the "appendChild(newChild)" method is invoked the first
+ child should be the one that was second and the last
+ child should be the one that was first.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="childList" type="NodeList"/>
+<var name="childNode" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="memberNode" type="Node"/>
+<var name="memberName" type="DOMString"/>
+<var name="refreshedActual" type="List"/>
+<var name="actual" type="List"/>
+<var name="nodeType" type="int"/>
+<var name="expected" type="List">
+<member>"strong"</member>
+<member>"code"</member>
+<member>"sup"</member>
+<member>"var"</member>
+<member>"acronym"</member>
+<member>"em"</member>
+</var>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="childNode"/>
+<getElementsByTagName interface="Element" obj="childNode" var="childList" tagname='"*"'/>
+<item interface="NodeList" obj="childList" index="0" var="newChild"/>
+<appendChild var="appendedChild" obj="childNode" newChild="newChild"/>
+<for-each collection="childList" member="memberNode">
+ <nodeName var="memberName" obj="memberNode"/>
+ <append collection="actual" item="memberName"/>
+</for-each>
+<assertEquals id="liveByTagName" actual="actual" expected='expected' ignoreCase="auto"/>
+<childNodes var="childList" obj="childNode"/>
+<for-each collection="childList" member="memberNode">
+ <nodeType var="nodeType" obj="memberNode"/>
+ <if><equals actual="nodeType" expected="1"/>
+ <nodeName var="memberName" obj="memberNode"/>
+ <append collection="refreshedActual" item="memberName"/>
+ </if>
+</for-each>
+<assertEquals id="refreshedChildNodes" actual="refreshedActual" expected='expected' ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeappendchilddocfragment.xml b/test/testcases/tests/level1/core/hc_nodeappendchilddocfragment.xml
new file mode 100644
index 0000000..79879fe
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeappendchilddocfragment.xml
@@ -0,0 +1,74 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeappendchilddocfragment">
+<metadata>
+<title>hc_nodeAppendChildDocFragment</title>
+<creator>Curt Arnold</creator>
+<description>
+ If the "newChild" is a DocumentFragment object then
+ all its content is added to the child list of this node.
+
+ Create and populate a new DocumentFragment object and
+ append it to the second employee. After the
+ "appendChild(newChild)" method is invoked retrieve the
+ new nodes at the end of the list, they should be the
+ two Element nodes from the DocumentFragment.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="newdocFragment" type="DocumentFragment"/>
+<var name="newChild1" type="Node"/>
+<var name="newChild2" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="result" type="List"/>
+<var name="appendedChild" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="expected" type="List">
+<member>"em"</member>
+<member>"strong"</member>
+<member>"code"</member>
+<member>"sup"</member>
+<member>"var"</member>
+<member>"acronym"</member>
+<member>"br"</member>
+<member>"b"</member>
+</var>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<createDocumentFragment obj="doc" var="newdocFragment"/>
+<createElement obj="doc" tagName='"br"' var="newChild1"/>
+<createElement obj="doc" tagName='"b"' var="newChild2"/>
+<appendChild var="appendedChild" obj="newdocFragment" newChild="newChild1"/>
+<appendChild var="appendedChild" obj="newdocFragment" newChild="newChild2"/>
+<appendChild var="appendedChild" obj="employeeNode" newChild="newdocFragment"/>
+<for-each collection="childList" member="child">
+<nodeType var="nodeType" obj="child"/>
+<if><equals actual="nodeType" expected="1"/>
+<nodeName var="childName" obj="child"/>
+<append collection="result" item="childName"/>
+</if>
+</for-each>
+<assertEquals actual="result" expected="expected" ignoreCase="auto" id="nodeNames"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeappendchildgetnodename.xml b/test/testcases/tests/level1/core/hc_nodeappendchildgetnodename.xml
new file mode 100644
index 0000000..ed29709
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeappendchildgetnodename.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeappendchildgetnodename">
+<metadata>
+<title>hc_nodeAppendChildGetNodeName</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "appendChild(newChild)" method returns the node
+ added.
+
+ Append a newly created node to the child list of the
+ second employee and check the NodeName returned. The
+ "getNodeName()" method should return "br".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="newChild" type="Node"/>
+<var name="appendNode" type="Node"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<createElement obj="doc" tagName='"br"' var="newChild"/>
+<appendChild obj="employeeNode" newChild="newChild" var="appendNode"/>
+<nodeName obj="appendNode" var="childName"/>
+<assertEquals actual="childName" expected='"br"' id="nodeName" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeappendchildinvalidnodetype.xml b/test/testcases/tests/level1/core/hc_nodeappendchildinvalidnodetype.xml
new file mode 100644
index 0000000..6db51ab
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeappendchildinvalidnodetype.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeappendchildinvalidnodetype">
+<metadata>
+<title>hc_nodeAppendChildInvalidNodeType</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "appendChild(newChild)" method raises a
+ HIERARCHY_REQUEST_ERR DOMException if this node is of
+ a type that does not allow children of the type "newChild"
+ to be inserted.
+
+ Retrieve the root node and attempt to append a newly
+ created Attr node. An Element node cannot have children
+ of the "Attr" type, therefore the desired exception
+ should be raised.
+</description>
+
+<date qualifier="created">2002-06-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-184E7107"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Element"/>
+<var name="newChild" type="Node"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<documentElement obj="doc" var="rootNode"/>
+<createAttribute obj="doc" name='"newAttribute"' var="newChild"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<appendChild var="appendedChild" obj="rootNode" newChild="newChild"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeappendchildnewchilddiffdocument.xml b/test/testcases/tests/level1/core/hc_nodeappendchildnewchilddiffdocument.xml
new file mode 100644
index 0000000..8730502
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeappendchildnewchilddiffdocument.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeappendchildnewchilddiffdocument">
+<metadata>
+<title>hc_nodeAppendChildNewChildDiffDocument</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "appendChild(newChild)" method raises a
+ WRONG_DOCUMENT_ERR DOMException if the "newChild" was
+ created from a different document than the one that
+ created this node.
+
+ Retrieve the second employee and attempt to append
+ a node created from a different document. An attempt
+ to make such a replacement should raise the desired
+ exception.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc1" type="Document"/>
+<var name="doc2" type="Document"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementNode" type="Node"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc1" href="hc_staff" willBeModified="false"/>
+<load var="doc2" href="hc_staff" willBeModified="true"/>
+<createElement obj="doc1" tagName='"br"' var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc2" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="elementNode"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<appendChild var="appendedChild" obj="elementNode" newChild="newChild"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeappendchildnodeancestor.xml b/test/testcases/tests/level1/core/hc_nodeappendchildnodeancestor.xml
new file mode 100644
index 0000000..3fe2efc
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeappendchildnodeancestor.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeappendchildnodeancestor">
+<metadata>
+<title>hc_nodeAppendChildNodeAncestor</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "appendChild(newChild)" method raises a
+ HIERARCHY_REQUEST_ERR DOMException if the node to
+ append is one of this node's ancestors.
+
+ Retrieve the second employee and attempt to append
+ an ancestor node(root node) to it.
+ An attempt to make such an addition should raise the
+ desired exception.
+</description>
+
+<date qualifier="created">2002-06-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-184E7107"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<documentElement obj="doc" var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<appendChild var="appendedChild" obj="employeeNode" newChild="newChild"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeattributenodeattribute.xml b/test/testcases/tests/level1/core/hc_nodeattributenodeattribute.xml
new file mode 100644
index 0000000..34886a8
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeattributenodeattribute.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeattributenodeattribute">
+<metadata>
+<title>hc_characterdataDeleteDataEnd</title>
+<creator>Curt Arnold</creator>
+<description>
+The "getAttributes()" method invoked on an Attribute
+Node returns null.
+
+Retrieve the first attribute from the last child of the
+first employee and invoke the "getAttributes()" method
+on the Attribute Node. It should return null.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="addrAttr" type="NamedNodeMap"/>
+<var name="attrNode" type="Node"/>
+<var name="attrList" type="NamedNodeMap"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<attributes obj="testAddr" var="addrAttr"/>
+<item interface="NamedNodeMap" obj="addrAttr" var="attrNode" index="0"/>
+<attributes obj="attrNode" var="attrList"/>
+<assertNull actual="attrList" id="nodeAttributeNodeAttributeAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeattributenodename.xml b/test/testcases/tests/level1/core/hc_nodeattributenodename.xml
new file mode 100644
index 0000000..3c14306
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeattributenodename.xml
@@ -0,0 +1,41 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeattributenodename">
+<metadata>
+<title>hc_nodeattributenodename</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the Attribute named "title" from the last
+ child of the first p element and check the string returned
+ by the "getNodeName()" method. It should be equal to
+ "title".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=236"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="addrAttr" type="Attr"/>
+<var name="attrName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<getAttributeNode obj="testAddr" name='"title"' var="addrAttr"/>
+<nodeName obj="addrAttr" var="attrName"/>
+<assertEquals actual="attrName" expected='"title"' id="nodeName"
+ ignoreCase="auto" context="attribute"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeattributenodetype.xml b/test/testcases/tests/level1/core/hc_nodeattributenodetype.xml
new file mode 100644
index 0000000..0aea5d1
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeattributenodetype.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeattributenodetype">
+<metadata>
+<title>hc_nodeAttributeNodeType</title>
+<creator>Curt Arnold</creator>
+<description>
+
+ The "getNodeType()" method for an Attribute Node
+
+ returns the constant value 2.
+
+
+
+ Retrieve the first attribute from the last child of
+
+ the first employee and invoke the "getNodeType()"
+
+ method. The method should return 2.
+
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="addrAttr" type="Attr"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<getAttributeNode obj="testAddr" name='"title"' var="addrAttr"/>
+<nodeType obj="addrAttr" var="nodeType"/>
+<assertEquals actual="nodeType" expected="2" id="nodeAttrNodeTypeAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeattributenodevalue.xml b/test/testcases/tests/level1/core/hc_nodeattributenodevalue.xml
new file mode 100644
index 0000000..a59db72
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeattributenodevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeattributenodevalue">
+<metadata>
+<title>hc_nodeAttributeNodeValue</title>
+<creator>Curt Arnold</creator>
+<description>
+
+ The string returned by the "getNodeValue()" method for an
+ Attribute Node is the value of the Attribute.
+
+ Retrieve the Attribute named "title" from the last
+ child of the first "p" and check the string returned
+ by the "getNodeValue()" method. It should be equal to
+ "Yes".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="addrAttr" type="Attr"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<getAttributeNode obj="testAddr" name='"title"' var="addrAttr"/>
+<nodeValue obj="addrAttr" var="attrValue"/>
+<assertEquals actual="attrValue" expected='"Yes"' id="nodeValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodechildnodes.xml b/test/testcases/tests/level1/core/hc_nodechildnodes.xml
new file mode 100644
index 0000000..30864d6
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodechildnodes.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodechildnodes">
+<metadata>
+<title>hc_nodeChildNodes</title>
+<creator>Curt Arnold</creator>
+<description>
+
+ The "getChildNodes()" method returns a NodeList
+ that contains all children of this node.
+
+ Retrieve the second employee and check the NodeList
+ returned by the "getChildNodes()" method. The
+ length of the list should be 13.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childNode" type="Node"/>
+<var name="childNodes" type="NodeList"/>
+<var name="nodeType" type="int"/>
+<var name="childName" type="DOMString"/>
+<var name="actual" type="List"/>
+<var name="expected" type="List">
+<member>"em"</member>
+<member>"strong"</member>
+<member>"code"</member>
+<member>"sup"</member>
+<member>"var"</member>
+<member>"acronym"</member>
+</var>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childNodes"/>
+<for-each collection="childNodes" member="childNode">
+ <nodeType var="nodeType" obj="childNode"/>
+ <nodeName var="childName" obj="childNode"/>
+ <if><equals actual="nodeType" expected="1"/>
+ <append collection="actual" item="childName"/>
+ <else>
+ <assertEquals actual="nodeType" expected="3" ignoreCase="false" id="textNodeType"/>
+ </else>
+ </if>
+</for-each>
+<assertEquals actual="actual" expected="expected" id="elementNames" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodechildnodesappendchild.xml b/test/testcases/tests/level1/core/hc_nodechildnodesappendchild.xml
new file mode 100644
index 0000000..654877b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodechildnodesappendchild.xml
@@ -0,0 +1,73 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodechildnodesappendchild">
+<metadata>
+<title>hc_nodeChildNodesAppendChild</title>
+<creator>Curt Arnold</creator>
+<description>
+ The NodeList returned by the "getChildNodes()" method
+ is live. Changes on the node's children are immediately
+ reflected on the nodes returned in the NodeList.
+
+ Create a NodeList of the children of the second employee
+ and then add a newly created element that was created
+ by the "createElement()" method(Document Interface) to
+ the second employee by using the "appendChild()" method.
+ The length of the NodeList should reflect this new
+ addition to the child list. It should return the value 14.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="createdNode" type="Node"/>
+<var name="childNode" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="childType" type="int"/>
+<var name="textNode" type="Node"/>
+<var name="actual" type="List"/>
+<var name="expected" type="List">
+<member>"em"</member>
+<member>"strong"</member>
+<member>"code"</member>
+<member>"sup"</member>
+<member>"var"</member>
+<member>"acronym"</member>
+<member>"br"</member>
+</var>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<createElement obj="doc" var="createdNode" tagName='"br"'/>
+<appendChild obj="employeeNode" newChild="createdNode" var="employeeNode"/>
+<for-each collection="childList" member="childNode">
+ <nodeName var="childName" obj="childNode"/>
+ <nodeType var="childType" obj="childNode"/>
+ <if><equals actual="childType" expected="1"/>
+ <append collection="actual" item="childName"/>
+ <else>
+ <assertEquals id="textNodeType" actual="childType" expected="3" ignoreCase="false"/>
+ </else>
+ </if>
+</for-each>
+<assertEquals actual="actual" expected="expected" id="childElements" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodechildnodesempty.xml b/test/testcases/tests/level1/core/hc_nodechildnodesempty.xml
new file mode 100644
index 0000000..1cc01da
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodechildnodesempty.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodechildnodesempty">
+<metadata>
+<title>hc_nodeChildNodesEmpty</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getChildNodes()" method returns a NodeList
+ that contains all children of this node. If there
+ are not any children, this is a NodeList that does not
+ contain any nodes.
+
+ Retrieve the character data of the second "em" node and
+ invoke the "getChildNodes()" method. The
+ NodeList returned should not have any nodes.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="childList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="textNode" type="Node"/>
+<var name="length" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"em"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<firstChild var="textNode" obj="employeeNode"/>
+<childNodes var="childList" obj="textNode"/>
+<length var="length" obj="childList" interface="NodeList"/>
+<assertEquals expected="0" actual="length" id="length_zero" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodecloneattributescopied.xml b/test/testcases/tests/level1/core/hc_nodecloneattributescopied.xml
new file mode 100644
index 0000000..e03df1b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodecloneattributescopied.xml
@@ -0,0 +1,62 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodecloneattributescopied">
+<metadata>
+<title>hc_nodecloneattributescopied</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the second acronym element and invoke
+ the cloneNode method. The
+ duplicate node returned by the method should copy the
+ attributes associated with this node.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=236"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=184"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="addressNode" type="Node"/>
+<var name="clonedNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="attributeNode" type="Node"/>
+<var name="attributeName" type="DOMString"/>
+<var name="result" type="Collection"/>
+<var name="htmlExpected" type="Collection">
+<member>"class"</member>
+<member>"title"</member>
+</var>
+<var name="expected" type="Collection">
+<member>"class"</member>
+<member>"title"</member>
+<member>"dir"</member>
+</var>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="addressNode"/>
+<cloneNode obj="addressNode" deep="false" var="clonedNode"/>
+<attributes obj="clonedNode" var="attributes"/>
+<for-each collection="attributes" member="attributeNode">
+<nodeName obj="attributeNode" var="attributeName"/>
+<append collection="result" item="attributeName"/>
+</for-each>
+<if><contentType type="text/html"/>
+<assertEquals actual="result" expected="htmlExpected" id="nodeNames_html" ignoreCase="true"/>
+<else>
+<assertEquals actual="result" expected="expected" id="nodeNames" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeclonefalsenocopytext.xml b/test/testcases/tests/level1/core/hc_nodeclonefalsenocopytext.xml
new file mode 100644
index 0000000..2b43302
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeclonefalsenocopytext.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeclonefalsenocopytext">
+<metadata>
+<title>hc_nodeCloneFalseNoCopyText</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "cloneNode(deep)" method does not copy text unless it
+ is deep cloned.(Test for deep=false)
+
+ Retrieve the fourth child of the second employee and
+ the "cloneNode(deep)" method with deep=false. The
+ duplicate node returned by the method should not copy
+ any text data contained in this node.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="childNode" type="Node"/>
+<var name="clonedNode" type="Node"/>
+<var name="lastChildNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="3" var="childNode"/>
+<cloneNode obj="childNode" deep="false" var="clonedNode"/>
+<lastChild interface="Node" obj="clonedNode" var="lastChildNode"/>
+<assertNull actual="lastChildNode" id="nodeCloneFalseNoCopyTextAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeclonegetparentnull.xml b/test/testcases/tests/level1/core/hc_nodeclonegetparentnull.xml
new file mode 100644
index 0000000..ee2b0a2
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeclonegetparentnull.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeclonegetparentnull">
+<metadata>
+<title>hc_nodeCloneGetParentNull</title>
+<creator>Curt Arnold</creator>
+<description>
+ The duplicate node returned by the "cloneNode(deep)"
+ method does not have a ParentNode.
+
+ Retrieve the second employee and invoke the
+ "cloneNode(deep)" method with deep=false. The
+ duplicate node returned should return null when the
+ "getParentNode()" is invoked.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="clonedNode" type="Node"/>
+<var name="parentNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<cloneNode obj="employeeNode" deep="false" var="clonedNode"/>
+<parentNode interface="Node" obj="clonedNode" var="parentNode"/>
+<assertNull actual="parentNode" id="nodeCloneGetParentNullAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeclonenodefalse.xml b/test/testcases/tests/level1/core/hc_nodeclonenodefalse.xml
new file mode 100644
index 0000000..fd919fe
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeclonenodefalse.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeclonenodefalse">
+<metadata>
+<title>hc_nodeCloneNodeFalse</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "cloneNode(deep)" method returns a copy of the node
+ only if deep=false.
+
+ Retrieve the second employee and invoke the
+ "cloneNode(deep)" method with deep=false. The
+ method should only clone this node. The NodeName and
+ length of the NodeList are checked. The "getNodeName()"
+ method should return "employee" and the "getLength()"
+ method should return 0.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="clonedNode" type="Node"/>
+<var name="cloneName" type="DOMString"/>
+<var name="cloneChildren" type="NodeList"/>
+<var name="length" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<cloneNode obj="employeeNode" deep="false" var="clonedNode"/>
+<nodeName obj="clonedNode" var="cloneName"/>
+<assertEquals actual="cloneName" expected='"p"' ignoreCase="auto" id="strong"/>
+<childNodes obj="clonedNode" var="cloneChildren"/>
+<length interface="NodeList" obj="cloneChildren" var="length"/>
+<assertEquals actual="length" expected="0" ignoreCase="false" id="length"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeclonenodetrue.xml b/test/testcases/tests/level1/core/hc_nodeclonenodetrue.xml
new file mode 100644
index 0000000..45889d9
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeclonenodetrue.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeclonenodetrue">
+<metadata>
+<title>hc_nodeCloneNodeTrue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "cloneNode(deep)" method returns a copy of the node
+ and the subtree under it if deep=true.
+
+ Retrieve the second employee and invoke the
+ "cloneNode(deep)" method with deep=true. The
+ method should clone this node and the subtree under it.
+ The NodeName of each child in the returned node is
+ checked to insure the entire subtree under the second
+ employee was cloned.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="clonedNode" type="Node"/>
+<var name="clonedList" type="NodeList"/>
+<var name="clonedChild" type="Node"/>
+<var name="clonedChildName" type="DOMString"/>
+<var name="origList" type="NodeList"/>
+<var name="origChild" type="Node"/>
+<var name="origChildName" type="DOMString"/>
+<var name="result" type="List"/>
+<var name="expected" type="List"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="origList"/>
+<for-each collection="origList" member="origChild">
+<nodeName obj="origChild" var="origChildName"/>
+<append collection="expected" item="origChildName"/>
+</for-each>
+<cloneNode obj="employeeNode" deep="true" var="clonedNode"/>
+<childNodes obj="clonedNode" var="clonedList"/>
+<for-each collection="clonedList" member="clonedChild">
+<nodeName obj="clonedChild" var="clonedChildName"/>
+<append collection="result" item="clonedChildName"/>
+</for-each>
+<assertEquals actual="result" expected="expected" id="clone" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeclonetruecopytext.xml b/test/testcases/tests/level1/core/hc_nodeclonetruecopytext.xml
new file mode 100644
index 0000000..8e4572f
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeclonetruecopytext.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeclonetruecopytext">
+<metadata>
+<title>hc_nodeCloneTrueCopyText</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "cloneNode(deep)" method does not copy text unless it
+ is deep cloned.(Test for deep=true)
+
+ Retrieve the eighth child of the second employee and
+ the "cloneNode(deep)" method with deep=true. The
+ duplicate node returned by the method should copy
+ any text data contained in this node.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="childNode" type="Node"/>
+<var name="clonedNode" type="Node"/>
+<var name="lastChildNode" type="Node"/>
+<var name="childValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"sup"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="childNode"/>
+<cloneNode obj="childNode" deep="true" var="clonedNode"/>
+<lastChild interface="Node" obj="clonedNode" var="lastChildNode"/>
+<nodeValue obj="lastChildNode" var="childValue"/>
+<assertEquals actual="childValue" expected='"35,000"' id="cloneContainsText" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodecommentnodeattributes.xml b/test/testcases/tests/level1/core/hc_nodecommentnodeattributes.xml
new file mode 100644
index 0000000..c469443
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodecommentnodeattributes.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodecommentnodeattributes">
+<metadata>
+<title>hc_nodeCommentNodeAttributes</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getAttributes()" method invoked on a Comment
+ Node returns null.
+
+ Find any comment that is an immediate child of the root
+ and assert that Node.attributes is null. Then create
+ a new comment node (in case they had been omitted) and
+ make the assertion.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=248"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=263"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="commentNode" type="Node"/>
+<var name="nodeList" type="NodeList"/>
+<var name="attrList" type="NamedNodeMap"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<childNodes obj="doc" var="nodeList"/>
+<for-each collection="nodeList" member="commentNode">
+<nodeType obj="commentNode" var="nodeType"/>
+<if>
+<equals actual="nodeType" expected="8" ignoreCase="false"/>
+<attributes obj="commentNode" var="attrList"/>
+<assertNull actual="attrList" id="existingCommentAttributesNull"/>
+</if>
+</for-each>
+<createComment var="commentNode" obj="doc" data='"This is a comment"'/>
+<attributes obj="commentNode" var="attrList"/>
+<assertNull actual="attrList" id="createdCommentAttributesNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodecommentnodename.xml b/test/testcases/tests/level1/core/hc_nodecommentnodename.xml
new file mode 100644
index 0000000..61a6ea7
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodecommentnodename.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodecommentnodename">
+<metadata>
+<title>hc_nodeCommentNodeName</title>
+<creator>Curt Arnold</creator>
+<description>
+ The string returned by the "getNodeName()" method for a
+ Comment Node is "#comment".
+
+ Retrieve the Comment node in the XML file
+ and check the string returned by the "getNodeName()"
+ method. It should be equal to "#comment".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=248"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="commentNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="commentName" type="DOMString"/>
+<var name="commentNodeName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<childNodes obj="doc" var="elementList"/>
+<for-each collection="elementList" member="commentNode">
+<nodeType obj="commentNode" var="nodeType"/>
+<if>
+<equals actual="nodeType" expected="8" ignoreCase="false"/>
+<nodeName obj="commentNode" var="commentNodeName"/>
+<assertEquals actual="commentNodeName" expected='"#comment"' id="existingNodeName" ignoreCase="false"/>
+</if>
+</for-each>
+<createComment var="commentNode" obj="doc" data='"This is a comment"'/>
+<nodeName obj="commentNode" var="commentNodeName"/>
+<assertEquals actual="commentNodeName" expected='"#comment"' id="createdNodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodecommentnodetype.xml b/test/testcases/tests/level1/core/hc_nodecommentnodetype.xml
new file mode 100644
index 0000000..78abc40
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodecommentnodetype.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodecommentnodetype">
+<metadata>
+<title>hc_nodeCommentNodeType</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getNodeType()" method for a Comment Node
+ returns the constant value 8.
+
+ Retrieve the nodes from the document and check for
+ a comment node and invoke the "getNodeType()" method. This should
+ return 8.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=248"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="testList" type="NodeList"/>
+<var name="commentNode" type="Node"/>
+<var name="commentNodeName" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<childNodes obj="doc" var="testList"/>
+<for-each collection="testList" member="commentNode">
+<nodeName obj="commentNode" var="commentNodeName"/>
+<if>
+<equals actual="commentNodeName" expected='"#comment"' ignoreCase="false"/>
+<nodeType obj="commentNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="8" id="existingCommentNodeType" ignoreCase="false"/>
+</if>
+</for-each>
+<createComment var="commentNode" obj="doc" data='"This is a comment"'/>
+<nodeType obj="commentNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="8" id="createdCommentNodeType" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodecommentnodevalue.xml b/test/testcases/tests/level1/core/hc_nodecommentnodevalue.xml
new file mode 100644
index 0000000..cc802c8
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodecommentnodevalue.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodecommentnodevalue">
+<metadata>
+<title>hc_nodeCommentNodeValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The string returned by the "getNodeValue()" method for a
+ Comment Node is the content of the comment.
+
+ Retrieve the comment in the XML file and
+ check the string returned by the "getNodeValue()" method.
+ It should be equal to "This is comment number 1".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=248"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="commentNode" type="Node"/>
+<var name="commentName" type="DOMString"/>
+<var name="commentValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<childNodes obj="doc" var="elementList"/>
+<for-each collection="elementList" member="commentNode">
+<nodeName obj="commentNode" var="commentName"/>
+<if>
+<equals actual="commentName" expected='"#comment"' ignoreCase="false"/>
+<nodeValue obj="commentNode" var="commentValue"/>
+<assertEquals actual="commentValue" expected='" This is comment number 1."' id="value" ignoreCase="false"/>
+</if>
+</for-each>
+<createComment var="commentNode" obj="doc" data='" This is a comment"'/>
+<nodeValue obj="commentNode" var="commentValue"/>
+<assertEquals actual="commentValue" expected='" This is a comment"' id="createdCommentNodeValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodedocumentfragmentnodename.xml b/test/testcases/tests/level1/core/hc_nodedocumentfragmentnodename.xml
new file mode 100644
index 0000000..e39d866
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodedocumentfragmentnodename.xml
@@ -0,0 +1,39 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodedocumentfragmentnodename">
+<metadata>
+<title>hc_nodeDocumentFragmentNodeName</title>
+<creator>Curt Arnold</creator>
+<description>
+ The string returned by the "getNodeName()" method for a
+ DocumentFragment Node is "#document-frament".
+
+ Retrieve the DOM document and invoke the
+ "createDocumentFragment()" method and check the string
+ returned by the "getNodeName()" method. It should be
+ equal to "#document-fragment".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docFragment" type="DocumentFragment"/>
+<var name="documentFragmentName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="docFragment"/>
+<nodeName obj="docFragment" var="documentFragmentName"/>
+<assertEquals actual="documentFragmentName" expected='"#document-fragment"' id="nodeDocumentFragmentNodeNameAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodedocumentfragmentnodetype.xml b/test/testcases/tests/level1/core/hc_nodedocumentfragmentnodetype.xml
new file mode 100644
index 0000000..fcc8dd0
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodedocumentfragmentnodetype.xml
@@ -0,0 +1,39 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodedocumentfragmentnodetype">
+<metadata>
+<title>hc_nodeDocumentFragmentNodeType</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getNodeType()" method for a DocumentFragment Node
+ returns the constant value 11.
+
+ Invoke the "createDocumentFragment()" method and
+ examine the NodeType of the document fragment
+ returned by the "getNodeType()" method. The method
+ should return 11.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="documentFragmentNode" type="DocumentFragment"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="documentFragmentNode"/>
+<nodeType obj="documentFragmentNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="11" id="nodeDocumentFragmentNodeTypeAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodedocumentfragmentnodevalue.xml b/test/testcases/tests/level1/core/hc_nodedocumentfragmentnodevalue.xml
new file mode 100644
index 0000000..b446835
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodedocumentfragmentnodevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodedocumentfragmentnodevalue">
+<metadata>
+<title>hc_nodeDocumentFragmentNodeValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The string returned by the "getNodeValue()" method for a
+ DocumentFragment Node is null.
+
+ Retrieve the DOM document and invoke the
+ "createDocumentFragment()" method and check the string
+ returned by the "getNodeValue()" method. It should be
+ equal to null.
+</description>
+
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3"/>
+<!--nodeValue attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<!-- Node.attributes -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docFragment" type="DocumentFragment"/>
+<var name="attrList" type="NamedNodeMap"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="docFragment"/>
+<!-- despite the name, this was the only assertion in the original test -->
+<attributes obj="docFragment" var="attrList"/>
+<assertNull actual="attrList" id="attributesNull"/>
+<!-- now actually test the initial value of nodeValue -->
+<nodeValue obj="docFragment" var="value"/>
+<assertNull actual="value" id="initiallyNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodedocumentnodeattribute.xml b/test/testcases/tests/level1/core/hc_nodedocumentnodeattribute.xml
new file mode 100644
index 0000000..87ac348
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodedocumentnodeattribute.xml
@@ -0,0 +1,38 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodedocumentnodeattribute">
+<metadata>
+<title>hc_nodedocumentnodeattribute</title>
+<creator>Curt Arnold</creator>
+<description>
+The "getAttributes()" method invoked on a Document
+Node returns null.
+
+Retrieve the DOM Document and invoke the
+"getAttributes()" method on the Document Node.
+It should return null.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- Document interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="attrList" type="NamedNodeMap"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<attributes obj="doc" var="attrList"/>
+<assertNull actual="attrList" id="doc_attributes_is_null"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodedocumentnodename.xml b/test/testcases/tests/level1/core/hc_nodedocumentnodename.xml
new file mode 100644
index 0000000..e2c4882
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodedocumentnodename.xml
@@ -0,0 +1,37 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodedocumentnodename">
+<metadata>
+<title>hc_nodeDocumentNodeName</title>
+<creator>Curt Arnold</creator>
+<description>
+ The string returned by the "getNodeName()" method for a
+ Document Node is "#document".
+
+ Retrieve the DOM document and check the string returned
+ by the "getNodeName()" method. It should be equal to
+ "#document".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!-- Document interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="documentName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<nodeName obj="doc" var="documentName"/>
+<assertEquals actual="documentName" expected='"#document"' id="documentNodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodedocumentnodetype.xml b/test/testcases/tests/level1/core/hc_nodedocumentnodetype.xml
new file mode 100644
index 0000000..dd0ea93
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodedocumentnodetype.xml
@@ -0,0 +1,36 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodedocumentnodetype">
+<metadata>
+<title>hc_nodeDocumentNodeType</title>
+<creator>Curt Arnold</creator>
+<description>
+The "getNodeType()" method for a Document Node
+returns the constant value 9.
+
+Retrieve the document and invoke the "getNodeType()"
+method. The method should return 9.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!-- Document interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<nodeType obj="doc" var="nodeType"/>
+<assertEquals actual="nodeType" expected="9" id="nodeDocumentNodeTypeAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodedocumentnodevalue.xml b/test/testcases/tests/level1/core/hc_nodedocumentnodevalue.xml
new file mode 100644
index 0000000..101372f
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodedocumentnodevalue.xml
@@ -0,0 +1,38 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodedocumentnodevalue">
+<metadata>
+<title>hc_nodeDocumentNodeValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The string returned by the "getNodeValue()" method for a
+ Document Node is null.
+
+ Retrieve the DOM Document and check the string returned
+ by the "getNodeValue()" method. It should be equal to
+ null.
+
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!-- Document interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="documentValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<nodeValue obj="doc" var="documentValue"/>
+<assertNull actual="documentValue" id="documentNodeValue"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeelementnodeattributes.xml b/test/testcases/tests/level1/core/hc_nodeelementnodeattributes.xml
new file mode 100644
index 0000000..bba5013
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeelementnodeattributes.xml
@@ -0,0 +1,59 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeelementnodeattributes">
+<metadata>
+<title>hc_nodeelementnodeattributes</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the third "acronym" element and evaluate Node.attributes.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=236"/>
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2003Jun/0011.html"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=184"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="addrAttr" type="NamedNodeMap"/>
+<var name="attrNode" type="Node"/>
+<var name="attrName" type="DOMString"/>
+<var name="attrList" type="Collection"/>
+<var name="htmlExpected" type="Collection">
+<member>"title"</member>
+<member>"class"</member>
+</var>
+<var name="expected" type="Collection">
+<member>"title"</member>
+<member>"class"</member>
+<member>"dir"</member>
+</var>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testAddr"/>
+<attributes obj="testAddr" var="addrAttr"/>
+<for-each collection="addrAttr" member="attrNode">
+<nodeName obj="attrNode" var="attrName"/>
+<append collection="attrList" item="attrName"/>
+</for-each>
+<if><contentType type="text/html"/>
+<assertEquals actual="attrList" expected="htmlExpected" id="attrNames_html"
+ ignoreCase="true"/>
+<else>
+<assertEquals actual="attrList" expected="expected" id="attrNames" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeelementnodename.xml b/test/testcases/tests/level1/core/hc_nodeelementnodename.xml
new file mode 100644
index 0000000..8a7188c
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeelementnodename.xml
@@ -0,0 +1,41 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeelementnodename">
+<metadata>
+<title>hc_nodeelementnodename</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the first Element Node(Root Node) of the
+ DOM object and check the string returned by the
+ "getNodeName()" method. It should be equal to its
+ tagName.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=251"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementNode" type="Element"/>
+<var name="elementName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<documentElement obj="doc" var="elementNode"/>
+<nodeName obj="elementNode" var="elementName"/>
+<if><contentType type="image/svg+xml"/>
+<assertEquals actual="elementName" expected='"svg"' id="svgNodeName" ignoreCase="false"/>
+<else>
+<assertEquals actual="elementName" expected='"html"' id="nodeName" ignoreCase="auto"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeelementnodetype.xml b/test/testcases/tests/level1/core/hc_nodeelementnodetype.xml
new file mode 100644
index 0000000..704a9c3
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeelementnodetype.xml
@@ -0,0 +1,36 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeelementnodetype">
+<metadata>
+<title>hc_nodeElementNodeType</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getNodeType()" method for an Element Node
+ returns the constant value 1.
+
+ Retrieve the root node and invoke the "getNodeType()"
+ method. The method should return 1.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Element"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<nodeType obj="rootNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="1" id="nodeElementNodeTypeAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeelementnodevalue.xml b/test/testcases/tests/level1/core/hc_nodeelementnodevalue.xml
new file mode 100644
index 0000000..50f8912
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeelementnodevalue.xml
@@ -0,0 +1,33 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeelementnodevalue">
+<metadata>
+<title>hc_nodeElementNodeValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The string returned by the "getNodeValue()" method for an
+ Element Node is null.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementNode" type="Element"/>
+<var name="elementValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<documentElement obj="doc" var="elementNode"/>
+<nodeValue obj="elementNode" var="elementValue"/>
+<assertNull actual="elementValue" id="elementNodeValue"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodegetfirstchild.xml b/test/testcases/tests/level1/core/hc_nodegetfirstchild.xml
new file mode 100644
index 0000000..76d1b93
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodegetfirstchild.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodegetfirstchild">
+<metadata>
+<title>hc_nodeGetFirstChild</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getFirstChild()" method returns the first child
+ of this node.
+
+ Retrieve the second employee and invoke the
+ "getFirstChild()" method. The NodeName returned
+ should be "#text" or "EM".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="fchildNode" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<firstChild interface="Node" obj="employeeNode" var="fchildNode"/>
+<nodeName obj="fchildNode" var="childName"/>
+<if><equals expected='"#text"' actual="childName"/>
+<assertEquals actual="childName" expected='"#text"' id="firstChild_w_whitespace" ignoreCase="false"/>
+<else>
+<assertEquals actual="childName" expected='"em"' id="firstChild_wo_whitespace" ignoreCase="auto"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodegetfirstchildnull.xml b/test/testcases/tests/level1/core/hc_nodegetfirstchildnull.xml
new file mode 100644
index 0000000..2d85cc2
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodegetfirstchildnull.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodegetfirstchildnull">
+<metadata>
+<title>hc_nodeGetFirstChildNull</title>
+<creator>Curt Arnold</creator>
+<description>
+ If there is not a first child then the "getFirstChild()"
+ method returns null.
+
+ Retrieve the text of the first "em" element and invoke the "getFirstChild()" method. It
+ should return null.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="emList" type="NodeList"/>
+<var name="emNode" type="Node"/>
+<var name="emText" type="CharacterData"/>
+<var name="nullChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"em"' var="emList"/>
+<item interface="NodeList" obj="emList" index="0" var="emNode"/>
+<firstChild var="emText" obj="emNode" interface="Node"/>
+<firstChild var="nullChild" obj="emText" interface="Node"/>
+<assertNull actual="nullChild" id="nullChild"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodegetlastchild.xml b/test/testcases/tests/level1/core/hc_nodegetlastchild.xml
new file mode 100644
index 0000000..37952f6
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodegetlastchild.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodegetlastchild">
+<metadata>
+<title>hc_nodeGetLastChild</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getLastChild()" method returns the last child
+ of this node.
+
+ Retrieve the second employee and invoke the
+ "getLastChild()" method. The NodeName returned
+ should be "#text".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="lchildNode" type="Node"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<lastChild interface="Node" obj="employeeNode" var="lchildNode"/>
+<nodeName obj="lchildNode" var="childName"/>
+<assertEquals actual="childName" expected='"#text"' id="whitespace" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodegetlastchildnull.xml b/test/testcases/tests/level1/core/hc_nodegetlastchildnull.xml
new file mode 100644
index 0000000..dd6e9f8
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodegetlastchildnull.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodegetlastchildnull">
+<metadata>
+<title>hc_nodeGetLastChildNull</title>
+<creator>Curt Arnold</creator>
+<description>
+
+ If there is not a last child then the "getLastChild()"
+ method returns null.
+
+ Retrieve the text of the first "em" element and invoke the "getFirstChild()" method. It
+ should return null.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="emList" type="NodeList"/>
+<var name="emNode" type="Node"/>
+<var name="emText" type="CharacterData"/>
+<var name="nullChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"em"' var="emList"/>
+<item interface="NodeList" obj="emList" index="0" var="emNode"/>
+<firstChild var="emText" obj="emNode" interface="Node"/>
+<lastChild var="nullChild" obj="emText" interface="Node"/>
+<assertNull actual="nullChild" id="nullChild"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodegetnextsibling.xml b/test/testcases/tests/level1/core/hc_nodegetnextsibling.xml
new file mode 100644
index 0000000..9410116
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodegetnextsibling.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodegetnextsibling">
+<metadata>
+<title>hc_nodeGetNextSibling</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getNextSibling()" method returns the node immediately
+ following this node.
+
+ Retrieve the first child of the second employee and
+ invoke the "getNextSibling()" method. It should return
+ a node with the NodeName of "#text".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="emNode" type="Node"/>
+<var name="nsNode" type="Node"/>
+<var name="nsName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"em"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="emNode"/>
+<nextSibling interface="Node" obj="emNode" var="nsNode"/>
+<nodeName obj="nsNode" var="nsName"/>
+<assertEquals actual="nsName" expected='"#text"' id="whitespace" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodegetnextsiblingnull.xml b/test/testcases/tests/level1/core/hc_nodegetnextsiblingnull.xml
new file mode 100644
index 0000000..069f877
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodegetnextsiblingnull.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodegetnextsiblingnull">
+<metadata>
+<title>hc_nodeGetNextSiblingNull</title>
+<creator>Curt Arnold</creator>
+<description>
+
+ If there is not a node immediately following this node the
+
+ "getNextSibling()" method returns null.
+
+
+
+ Retrieve the first child of the second employee and
+
+ invoke the "getNextSibling()" method. It should
+
+ be set to null.
+
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="lcNode" type="Node"/>
+<var name="nsNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<lastChild interface="Node" obj="employeeNode" var="lcNode"/>
+<nextSibling interface="Node" obj="lcNode" var="nsNode"/>
+<assertNull actual="nsNode" id="nodeGetNextSiblingNullAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodegetownerdocument.xml b/test/testcases/tests/level1/core/hc_nodegetownerdocument.xml
new file mode 100644
index 0000000..524b786
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodegetownerdocument.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodegetownerdocument">
+<metadata>
+<title>hc_nodegetownerdocument</title>
+<creator>Curt Arnold</creator>
+<description>
+Evaluate Node.ownerDocument on the second "p" element.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#node-ownerDoc"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=251"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="docNode" type="Node"/>
+<var name="ownerDocument" type="Document"/>
+<var name="docElement" type="Element"/>
+<var name="elementName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="docNode"/>
+<ownerDocument obj="docNode" var="ownerDocument"/>
+<documentElement obj="ownerDocument" var="docElement"/>
+<nodeName obj="docElement" var="elementName"/>
+<if><contentType type="image/svg+xml"/>
+<assertEquals actual="elementName" expected='"svg"' id="svgNodeName" ignoreCase="false"/>
+<else>
+<assertEquals actual="elementName" expected='"html"' id="ownerDocElemTagName" ignoreCase="auto"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodegetownerdocumentnull.xml b/test/testcases/tests/level1/core/hc_nodegetownerdocumentnull.xml
new file mode 100644
index 0000000..4366b19
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodegetownerdocumentnull.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodegetownerdocumentnull">
+<metadata>
+<title>hc_nodeGetOwnerDocumentNull</title>
+<creator>Curt Arnold</creator>
+<description>
+
+ The "getOwnerDocument()" method returns null if the target
+
+ node itself is a document.
+
+
+
+ Invoke the "getOwnerDocument()" method on the master
+
+ document. The Document returned should be null.
+
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#node-ownerDoc"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="ownerDocument" type="Document"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<ownerDocument obj="doc" var="ownerDocument"/>
+<assertNull actual="ownerDocument" id="nodeGetOwnerDocumentNullAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodegetprevioussibling.xml b/test/testcases/tests/level1/core/hc_nodegetprevioussibling.xml
new file mode 100644
index 0000000..0ececda
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodegetprevioussibling.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodegetprevioussibling">
+<metadata>
+<title>hc_nodeGetPreviousSibling</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getPreviousSibling()" method returns the node
+ immediately preceding this node.
+
+ Retrieve the second child of the second employee and
+ invoke the "getPreviousSibling()" method. It should
+ return a node with a NodeName of "#text".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="psNode" type="Node"/>
+<var name="psName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"strong"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="nameNode"/>
+<previousSibling interface="Node" obj="nameNode" var="psNode"/>
+<nodeName obj="psNode" var="psName"/>
+<assertEquals actual="psName" expected='"#text"' id="whitespace" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodegetprevioussiblingnull.xml b/test/testcases/tests/level1/core/hc_nodegetprevioussiblingnull.xml
new file mode 100644
index 0000000..c9cc459
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodegetprevioussiblingnull.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodegetprevioussiblingnull">
+<metadata>
+<title>hc_nodeGetPreviousSiblingNull</title>
+<creator>Curt Arnold</creator>
+<description>
+
+ If there is not a node immediately preceding this node the
+
+ "getPreviousSibling()" method returns null.
+
+
+
+ Retrieve the first child of the second employee and
+
+ invoke the "getPreviousSibling()" method. It should
+
+ be set to null.
+
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="fcNode" type="Node"/>
+<var name="psNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="employeeNode"/>
+<firstChild interface="Node" obj="employeeNode" var="fcNode"/>
+<previousSibling interface="Node" obj="fcNode" var="psNode"/>
+<assertNull actual="psNode" id="nodeGetPreviousSiblingNullAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodehaschildnodes.xml b/test/testcases/tests/level1/core/hc_nodehaschildnodes.xml
new file mode 100644
index 0000000..eaba4da
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodehaschildnodes.xml
@@ -0,0 +1,39 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodehaschildnodes">
+<metadata>
+<title>hc_nodeHasChildNodes</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "hasChildNodes()" method returns true if the node
+ has children.
+
+ Retrieve the root node("staff") and invoke the
+ "hasChildNodes()" method. It should return the boolean
+ value "true".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<hasChildNodes obj="employeeNode" var="state"/>
+<assertTrue actual="state" id="nodeHasChildAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodehaschildnodesfalse.xml b/test/testcases/tests/level1/core/hc_nodehaschildnodesfalse.xml
new file mode 100644
index 0000000..15d29d7
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodehaschildnodesfalse.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodehaschildnodesfalse">
+<metadata>
+<title>hc_nodeHasChildNodesFalse</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "hasChildNodes()" method returns false if the node
+ does not have any children.
+
+ Retrieve the text of the first "em" element and invoke the "hasChildNodes()" method. It
+ should return false.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="emList" type="NodeList"/>
+<var name="emNode" type="Node"/>
+<var name="emText" type="CharacterData"/>
+<var name="hasChild" type="boolean"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"em"' var="emList"/>
+<item interface="NodeList" obj="emList" index="0" var="emNode"/>
+<firstChild var="emText" obj="emNode" interface="Node"/>
+<hasChildNodes var="hasChild" obj="emText" interface="Node"/>
+<assertFalse actual="hasChild" id="hasChild"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeinsertbefore.xml b/test/testcases/tests/level1/core/hc_nodeinsertbefore.xml
new file mode 100644
index 0000000..eb5d415
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeinsertbefore.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeinsertbefore">
+<metadata>
+<title>hc_nodeInsertBefore</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "insertBefore(newChild,refChild)" method inserts the
+ node "newChild" before the node "refChild".
+
+ Insert a newly created Element node before the second
+ sup element in the document and check the "newChild"
+ and "refChild" after insertion for correct placement.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=261"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="refChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="insertedNode" type="Node"/>
+<var name="actual" type="List"/>
+<var name="expected" type="List">
+<member>"em"</member>
+<member>"strong"</member>
+<member>"code"</member>
+<member>"br"</member>
+<member>"sup"</member>
+<member>"var"</member>
+<member>"acronym"</member>
+</var>
+<var name="nodeType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"sup"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="refChild"/>
+<parentNode interface="Node" var="employeeNode" obj="refChild"/>
+<childNodes var="childList" obj="employeeNode"/>
+<createElement obj="doc" tagName='"br"' var="newChild"/>
+<insertBefore var="insertedNode" obj="employeeNode" newChild="newChild" refChild="refChild"/>
+<for-each collection="childList" member="child">
+<nodeType var="nodeType" obj="child"/>
+<if><equals actual="nodeType" expected="1"/>
+<nodeName obj="child" var="childName"/>
+<append collection="actual" item="childName"/>
+</if>
+</for-each>
+<assertEquals actual="actual" expected="expected" id="nodeNames" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeinsertbeforedocfragment.xml b/test/testcases/tests/level1/core/hc_nodeinsertbeforedocfragment.xml
new file mode 100644
index 0000000..9f52561
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeinsertbeforedocfragment.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeinsertbeforedocfragment">
+<metadata>
+<title>hc_nodeInsertBeforeDocFragment</title>
+<creator>Curt Arnold</creator>
+<description>
+ If the "newChild" is a DocumentFragment object then all
+ its children are inserted in the same order before the
+ the "refChild".
+
+ Create a DocumentFragment object and populate it with
+ two Element nodes. Retrieve the second employee and
+ insert the newly created DocumentFragment before its
+ fourth child. The second employee should now have two
+ extra children("newChild1" and "newChild2") at
+ positions fourth and fifth respectively.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="refChild" type="Node"/>
+<var name="newdocFragment" type="DocumentFragment"/>
+<var name="newChild1" type="Node"/>
+<var name="newChild2" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="appendedChild" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="3" var="refChild"/>
+<createDocumentFragment obj="doc" var="newdocFragment"/>
+<createElement obj="doc" tagName='"br"' var="newChild1"/>
+<createElement obj="doc" tagName='"b"' var="newChild2"/>
+<appendChild var="appendedChild" obj="newdocFragment" newChild="newChild1"/>
+<appendChild var="appendedChild" obj="newdocFragment" newChild="newChild2"/>
+<insertBefore var="insertedNode" obj="employeeNode" newChild="newdocFragment" refChild="refChild"/>
+<item interface="NodeList" obj="childList" index="3" var="child"/>
+<nodeName obj="child" var="childName"/>
+<assertEquals actual="childName" expected='"br"' ignoreCase="auto" id="childName3"/>
+<item interface="NodeList" obj="childList" index="4" var="child"/>
+<nodeName obj="child" var="childName"/>
+<assertEquals actual="childName" expected='"b"' ignoreCase="auto" id="childName4"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeinsertbeforeinvalidnodetype.xml b/test/testcases/tests/level1/core/hc_nodeinsertbeforeinvalidnodetype.xml
new file mode 100644
index 0000000..9340f54
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeinsertbeforeinvalidnodetype.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeinsertbeforeinvalidnodetype">
+<metadata>
+<title>hc_nodeInsertBeforeInvalidNodeType</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "insertBefore(newChild,refChild)" method raises a
+ HIERARCHY_REQUEST_ERR DOMException if this node is of
+ a type that does not allow children of the type "newChild"
+ to be inserted.
+
+ Retrieve the root node and attempt to insert a newly
+ created Attr node. An Element node cannot have children
+ of the "Attr" type, therefore the desired exception
+ should be raised.
+</description>
+
+<date qualifier="created">2002-06-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-952280727"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=406"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Element"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="refChild" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createAttribute obj="doc" name='"title"' var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="refChild"/>
+<parentNode var="rootNode" obj="refChild" interface="Node"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<insertBefore var="insertedNode" obj="rootNode" newChild="newChild" refChild="refChild"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeinsertbeforenewchilddiffdocument.xml b/test/testcases/tests/level1/core/hc_nodeinsertbeforenewchilddiffdocument.xml
new file mode 100644
index 0000000..58e4b92
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeinsertbeforenewchilddiffdocument.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeinsertbeforenewchilddiffdocument">
+<metadata>
+<title>hc_nodeInsertBeforeNewChildDiffDocument</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "insertBefore(newChild,refChild)" method raises a
+ WRONG_DOCUMENT_ERR DOMException if the "newChild" was
+ created from a different document than the one that
+ created this node.
+
+ Retrieve the second employee and attempt to insert a new
+ child that was created from a different document than the
+ one that created the second employee. An attempt to
+ insert such a child should raise the desired exception.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc1" type="Document"/>
+<var name="doc2" type="Document"/>
+<var name="refChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementNode" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<load var="doc1" href="hc_staff" willBeModified="false"/>
+<load var="doc2" href="hc_staff" willBeModified="true"/>
+<createElement obj="doc1" tagName='"br"' var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc2" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="elementNode"/>
+<firstChild var="refChild" obj="elementNode" interface="Node"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<insertBefore var="insertedNode" obj="elementNode" newChild="newChild" refChild="refChild"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeinsertbeforenewchildexists.xml b/test/testcases/tests/level1/core/hc_nodeinsertbeforenewchildexists.xml
new file mode 100644
index 0000000..db8edbd
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeinsertbeforenewchildexists.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeinsertbeforenewchildexists">
+<metadata>
+<title>hc_nodeInsertBeforeNewChildExists</title>
+<creator>Curt Arnold</creator>
+<description>
+ If the "newChild" is already in the tree, the
+ "insertBefore(newChild,refChild)" method must first
+ remove it before the insertion takes place.
+
+ Insert a node Element ("em") that is already
+ present in the tree. The existing node should be
+ removed first and the new one inserted. The node is
+ inserted at a different position in the tree to assure
+ that it was indeed inserted.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="refChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="insertedNode" type="Node"/>
+<var name="expected" type="List">
+<member>"strong"</member>
+<member>"code"</member>
+<member>"sup"</member>
+<member>"var"</member>
+<member>"em"</member>
+<member>"acronym"</member>
+</var>
+<var name="result" type="List"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<getElementsByTagName interface="Element" obj="employeeNode" tagname='"*"' var="childList"/>
+<item interface="NodeList" obj="childList" index="5" var="refChild"/>
+<item interface="NodeList" obj="childList" index="0" var="newChild"/>
+<insertBefore var="insertedNode" obj="employeeNode" newChild="newChild" refChild="refChild"/>
+<for-each collection="childList" member="child">
+<nodeType obj="child" var="nodeType"/>
+<if><equals actual="nodeType" expected="1"/>
+<nodeName obj="child" var="childName"/>
+<append collection="result" item="childName"/>
+</if>
+</for-each>
+<assertEquals id="childNames" actual="result" expected="expected" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeinsertbeforenodeancestor.xml b/test/testcases/tests/level1/core/hc_nodeinsertbeforenodeancestor.xml
new file mode 100644
index 0000000..7381374
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeinsertbeforenodeancestor.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeinsertbeforenodeancestor">
+<metadata>
+<title>hc_nodeInsertBeforeNodeAncestor</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "insertBefore(newChild,refChild)" method raises a
+ HIERARCHY_REQUEST_ERR DOMException if the node to be
+ inserted is one of this nodes ancestors.
+
+ Retrieve the second employee and attempt to insert a
+ node that is one of its ancestors(root node). An
+ attempt to insert such a node should raise the
+ desired exception.
+</description>
+
+<date qualifier="created">2002-06-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-952280727"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="refChild" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<documentElement obj="doc" var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="0" var="refChild"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<insertBefore var="insertedNode" obj="employeeNode" newChild="newChild" refChild="refChild"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeinsertbeforenodename.xml b/test/testcases/tests/level1/core/hc_nodeinsertbeforenodename.xml
new file mode 100644
index 0000000..98a06a1
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeinsertbeforenodename.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeinsertbeforenodename">
+<metadata>
+<title>hc_nodeInsertBeforeNodeName</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "insertBefore(newChild,refchild)" method returns
+ the node being inserted.
+
+ Insert an Element node before the fourth
+ child of the second employee and check the node
+ returned from the "insertBefore(newChild,refChild)"
+ method. The node returned should be "newChild".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="refChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="3" var="refChild"/>
+<createElement obj="doc" tagName='"br"' var="newChild"/>
+<insertBefore obj="employeeNode" newChild="newChild" refChild="refChild" var="insertedNode"/>
+<nodeName obj="insertedNode" var="childName"/>
+<assertEquals actual="childName" expected='"br"' id="nodeName" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeinsertbeforerefchildnonexistent.xml b/test/testcases/tests/level1/core/hc_nodeinsertbeforerefchildnonexistent.xml
new file mode 100644
index 0000000..339d37b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeinsertbeforerefchildnonexistent.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeinsertbeforerefchildnonexistent">
+<metadata>
+<title>hc_nodeInsertBeforeRefChildNonexistent</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "insertBefore(newChild,refChild)" method raises a
+ NOT_FOUND_ERR DOMException if the reference child is
+ not a child of this node.
+
+ Retrieve the second employee and attempt to insert a
+ new node before a reference node that is not a child
+ of this node. An attempt to insert before a non child
+ node should raise the desired exception.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="refChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementNode" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createElement obj="doc" tagName='"br"' var="newChild"/>
+<createElement obj="doc" tagName='"b"' var="refChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="elementNode"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<insertBefore var="insertedNode" obj="elementNode" newChild="newChild" refChild="refChild"/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeinsertbeforerefchildnull.xml b/test/testcases/tests/level1/core/hc_nodeinsertbeforerefchildnull.xml
new file mode 100644
index 0000000..355ddf1
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeinsertbeforerefchildnull.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeinsertbeforerefchildnull">
+<metadata>
+<title>hc_nodeInsertBeforeRefChildNull</title>
+<creator>Curt Arnold</creator>
+<description>
+ If the "refChild" is null then the
+ "insertBefore(newChild,refChild)" method inserts the
+ node "newChild" at the end of the list of children.
+
+ Retrieve the second employee and invoke the
+ "insertBefore(newChild,refChild)" method with
+ refChild=null. Since "refChild" is null the "newChild"
+ should be added to the end of the list. The last item
+ in the list is checked after insertion. The last Element
+ node of the list should be "newChild".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="refChild" type="Node" isNull="true"/>
+<var name="newChild" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="insertedNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<createElement obj="doc" tagName='"br"' var="newChild"/>
+<insertBefore var="insertedNode" obj="employeeNode" newChild="newChild" refChild="refChild"/>
+<lastChild interface="Node" obj="employeeNode" var="child"/>
+<nodeName obj="child" var="childName"/>
+<assertEquals actual="childName" expected='"br"' id="nodeName" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodelistindexequalzero.xml b/test/testcases/tests/level1/core/hc_nodelistindexequalzero.xml
new file mode 100644
index 0000000..0b19fd5
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodelistindexequalzero.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodelistindexequalzero">
+<metadata>
+<title>hc_nodelistIndexEqualZero</title>
+<creator>Curt Arnold</creator>
+<description>
+ Create a list of all the children elements of the third
+ employee and access its first child by using an index
+ of 0. This should result in the whitspace before "em" being
+ selected (em when ignoring whitespace).
+ Further we evaluate its content(by using
+ the "getNodeName()" method) to ensure the proper
+ element was accessed.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--item-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="length" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"p"'/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<length var="length" obj="employeeList" interface="NodeList"/>
+<item interface="NodeList" obj="employeeList" var="child" index="0"/>
+<nodeName obj="child" var="childName"/>
+<if><equals expected='13' actual="length" ignoreCase="false"/>
+<assertEquals actual="childName" expected='"#text"' ignoreCase="false" id="childName_w_whitespace"/>
+<else>
+<assertEquals actual="childName" expected='"em"' ignoreCase="auto" id="childName_wo_whitespace"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodelistindexgetlength.xml b/test/testcases/tests/level1/core/hc_nodelistindexgetlength.xml
new file mode 100644
index 0000000..65e05bb
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodelistindexgetlength.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodelistindexgetlength">
+<metadata>
+<title>hc_nodelistIndexGetLength</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getLength()" method returns the number of nodes
+ in the list.
+
+ Create a list of all the children elements of the third
+ employee and invoke the "getLength()" method.
+ It should contain the value 13.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--length attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="length" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"p"'/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<length var="length" obj="employeeList" interface="NodeList"/>
+<if><equals actual="length" expected="6"/>
+<assertEquals actual="length" expected="6" ignoreCase="false" id="length_wo_space"/>
+<else>
+<assertEquals actual="length" expected="13" ignoreCase="false" id="length_w_space"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodelistindexgetlengthofemptylist.xml b/test/testcases/tests/level1/core/hc_nodelistindexgetlengthofemptylist.xml
new file mode 100644
index 0000000..d75bb7f
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodelistindexgetlengthofemptylist.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodelistindexgetlengthofemptylist">
+<metadata>
+<title>hc_nodelistIndexGetLengthOfEmptyList</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getLength()" method returns the number of nodes
+ in the list.(Test for EMPTY list)
+
+ Create a list of all the children of the Text node
+ inside the first child of the third employee and
+ invoke the "getLength()" method. It should contain
+ the value 0.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--length attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="emList" type="NodeList"/>
+<var name="emNode" type="Node"/>
+<var name="textNode" type="Node"/>
+<var name="textList" type="NodeList"/>
+<var name="length" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="emList" tagname='"em"'/>
+<item interface="NodeList" obj="emList" var="emNode" index="2"/>
+<firstChild var="textNode" obj="emNode"/>
+<childNodes var="textList" obj="textNode"/>
+<length var="length" obj="textList" interface="NodeList"/>
+<assertEquals actual="length" expected="0" id="length" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodelistindexnotzero.xml b/test/testcases/tests/level1/core/hc_nodelistindexnotzero.xml
new file mode 100644
index 0000000..8b91ec7
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodelistindexnotzero.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodelistindexnotzero">
+<metadata>
+<title>hc_nodelistIndexNotZero</title>
+<creator>Curt Arnold</creator>
+<description>
+ The items in the list are accessible via an integral
+ index starting from zero.
+ (Index not equal 0)
+
+ Create a list of all the children elements of the third
+ employee and access its fourth child by using an index
+ of 3 and calling getNodeName() which should return
+ "strong" (no whitespace) or "#text" (with whitespace).
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--item-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"p"'/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<item interface="NodeList" obj="employeeList" var="child" index="3"/>
+<nodeName obj="child" var="childName"/>
+<if><equals expected='"#text"' actual="childName"/>
+<assertEquals id="childName_space" actual="childName" expected='"#text"' ignoreCase="false"/>
+<else>
+<assertEquals id="childName_strong" actual="childName" expected='"strong"' ignoreCase="auto"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodelistreturnfirstitem.xml b/test/testcases/tests/level1/core/hc_nodelistreturnfirstitem.xml
new file mode 100644
index 0000000..f36a9c0
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodelistreturnfirstitem.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodelistreturnfirstitem">
+<metadata>
+<title>hc_nodelistReturnFirstItem</title>
+<creator>Curt Arnold</creator>
+<description>
+ Create a list of all the children elements of the third
+ employee and access its first child by invoking the
+ "item(index)" method with an index=0. This should
+ result in node with a nodeName of "#text" or "em".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"p"'/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<item interface="NodeList" obj="employeeList" var="child" index="0"/>
+<nodeName obj="child" var="childName"/>
+<if><equals actual="childName" expected='"#text"'/>
+<assertEquals actual="childName" expected='"#text"' ignoreCase="false" id="nodeName_w_space"/>
+<else>
+<assertEquals actual="childName" expected='"em"' ignoreCase="auto" id="nodeName_wo_space"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodelistreturnlastitem.xml b/test/testcases/tests/level1/core/hc_nodelistreturnlastitem.xml
new file mode 100644
index 0000000..f268f20
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodelistreturnlastitem.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodelistreturnlastitem">
+<metadata>
+<title>hc_nodelistReturnLastItem</title>
+<creator>Curt Arnold</creator>
+<description>
+ Create a list of all the children elements of the third
+ employee and access its last child by invoking the
+ "item(index)" method with an index=length-1. This should
+ result in node with nodeName="#text" or acronym.</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="index" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"p"'/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<length var="index" obj="employeeList" interface="NodeList"/>
+<decrement var="index" value="1"/>
+<item interface="NodeList" obj="employeeList" var="child" index="index"/>
+<nodeName obj="child" var="childName"/>
+<if><equals actual="index" expected="12"/>
+<assertEquals actual="childName" expected='"#text"' id="lastNodeName_w_whitespace" ignoreCase="false"/>
+<else>
+<assertEquals actual="childName" expected='"acronym"' id="lastNodeName" ignoreCase="auto"/>
+<assertEquals actual="index" expected="5" id="index" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodelisttraverselist.xml b/test/testcases/tests/level1/core/hc_nodelisttraverselist.xml
new file mode 100644
index 0000000..cc8408f
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodelisttraverselist.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodelisttraverselist">
+<metadata>
+<title>hc_nodelistTraverseList</title>
+<creator>Curt Arnold</creator>
+<description>
+ The range of valid child node indices is 0 thru length -1
+
+ Create a list of all the children elements of the third
+ employee and traverse the list from index=0 thru
+ length -1.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--length attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337"/>
+<!--item-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<var name="result" type="List"/>
+<var name="expected" type="List">
+<member>"em"</member>
+<member>"strong"</member>
+<member>"code"</member>
+<member>"sup"</member>
+<member>"var"</member>
+<member>"acronym"</member>
+</var>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"p"'/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<for-each collection="employeeList" member="child">
+<nodeType var="nodeType" obj="child"/>
+<nodeName obj="child" var="childName"/>
+<if><equals actual="nodeType" expected="1"/>
+<append collection="result" item="childName"/>
+<else>
+<assertEquals actual="nodeType" expected="3" id="textNodeType" ignoreCase="false"/>
+<assertEquals actual="childName" expected='"#text"' id="textNodeName" ignoreCase="false"/>
+</else>
+</if>
+</for-each>
+<assertEquals actual="result" expected="expected" id="nodeNames" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeparentnode.xml b/test/testcases/tests/level1/core/hc_nodeparentnode.xml
new file mode 100644
index 0000000..84ef073
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeparentnode.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeparentnode">
+<metadata>
+<title>hc_nodeParentNode</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getParentNode()" method returns the parent
+ of this node.
+
+ Retrieve the second employee and invoke the
+ "getParentNode()" method on this node. It should
+ be set to "body".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="parentNode" type="Node"/>
+<var name="parentName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<parentNode interface="Node" obj="employeeNode" var="parentNode"/>
+<nodeName obj="parentNode" var="parentName"/>
+<assertEquals actual="parentName" expected='"body"' id="parentNodeName" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodeparentnodenull.xml b/test/testcases/tests/level1/core/hc_nodeparentnodenull.xml
new file mode 100644
index 0000000..64e4fb2
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodeparentnodenull.xml
@@ -0,0 +1,38 @@
+<?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 "dom1.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodeparentnodenull">
+<metadata>
+<title>hc_nodeParentNodeNull</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "getParentNode()" method invoked on a node that has
+ just been created and not yet added to the tree is null.
+
+ Create a new "employee" Element node using the
+ "createElement(name)" method from the Document interface.
+ Since this new node has not yet been added to the tree,
+ the "getParentNode()" method will return null.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="createdNode" type="Element"/>
+<var name="parentNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<createElement obj="doc" tagName='"br"' var="createdNode"/>
+<parentNode interface="Node" obj="createdNode" var="parentNode"/>
+<assertNull actual="parentNode" id="parentNode"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_noderemovechild.xml b/test/testcases/tests/level1/core/hc_noderemovechild.xml
new file mode 100644
index 0000000..246a237
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_noderemovechild.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_noderemovechild">
+<metadata>
+<title>hc_nodeRemoveChild</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeChild(oldChild)" method removes the child node
+ indicated by "oldChild" from the list of children and
+ returns it.
+
+ Remove the first employee by invoking the
+ "removeChild(oldChild)" method an checking the
+ node returned by the "getParentNode()" method. It
+ should be set to null.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Element"/>
+<var name="childList" type="NodeList"/>
+<var name="childToRemove" type="Node"/>
+<var name="removedChild" type="Node"/>
+<var name="parentNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<documentElement obj="doc" var="rootNode"/>
+<childNodes obj="rootNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="1" var="childToRemove"/>
+<removeChild obj="rootNode" var="removedChild" oldChild="childToRemove"/>
+<parentNode interface="Node" obj="removedChild" var="parentNode"/>
+<assertNull actual="parentNode" id="parentNodeNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_noderemovechildgetnodename.xml b/test/testcases/tests/level1/core/hc_noderemovechildgetnodename.xml
new file mode 100644
index 0000000..8d5aaba
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_noderemovechildgetnodename.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_noderemovechildgetnodename">
+<metadata>
+<title>hc_nodeRemoveChildGetNodeName</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeChild(oldChild)" method returns
+ the node being removed.
+
+ Remove the first child of the second employee
+ and check the NodeName returned by the
+ "removeChild(oldChild)" method. The returned node
+ should have a NodeName equal to "#text".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="removedChild" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="oldName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="0" var="oldChild"/>
+<nodeName obj="oldChild" var="oldName"/>
+<removeChild obj="employeeNode" oldChild="oldChild" var="removedChild"/>
+<assertNotNull actual="removedChild" id="notnull"/>
+<nodeName obj="removedChild" var="childName"/>
+<assertEquals actual="childName" expected='oldName' id="nodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_noderemovechildnode.xml b/test/testcases/tests/level1/core/hc_noderemovechildnode.xml
new file mode 100644
index 0000000..823129c
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_noderemovechildnode.xml
@@ -0,0 +1,73 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_noderemovechildnode">
+<metadata>
+<title>hc_noderemovechildnode</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeChild(oldChild)" method removes the node
+ indicated by "oldChild".
+
+ Retrieve the second p element and remove its first child.
+ After the removal, the second p element should have 5 element
+ children and the first child should now be the child
+ that used to be at the second position in the list.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="emList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="length" type="int"/>
+<var name="removedChild" type="Node"/>
+<var name="removedName" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<var name="expected" type="List">
+<member>"strong"</member>
+<member>"code"</member>
+<member>"sup"</member>
+<member>"var"</member>
+<member>"acronym"</member>
+</var>
+<var name="actual" type="List"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<getElementsByTagName interface="Element" var="emList" obj="employeeNode" tagname='"em"'/>
+<item interface="NodeList" obj="emList" index="0" var="oldChild"/>
+<removeChild var="removedChild" obj="employeeNode" oldChild="oldChild"/>
+<nodeName obj="removedChild" var="removedName"/>
+<assertEquals actual="removedName" expected='"em"' ignoreCase="auto" id="removedName"/>
+<for-each collection="childList" member="child">
+<nodeType var="nodeType" obj="child"/>
+<nodeName var="childName" obj="child"/>
+<if><equals expected="1" actual="nodeType"/>
+<append collection="actual" item="childName"/>
+<else>
+<assertEquals expected="3" actual="nodeType" id="textNodeType" ignoreCase="false"/>
+<assertEquals expected='"#text"' actual="childName" id="textNodeName" ignoreCase="false"/>
+</else>
+</if>
+</for-each>
+<assertEquals actual="actual" expected='expected' ignoreCase="auto" id="childNames"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_noderemovechildoldchildnonexistent.xml b/test/testcases/tests/level1/core/hc_noderemovechildoldchildnonexistent.xml
new file mode 100644
index 0000000..553f1fe
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_noderemovechildoldchildnonexistent.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_noderemovechildoldchildnonexistent">
+<metadata>
+<title>hc_nodeRemoveChildOldChildNonexistent</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeChild(oldChild)" method raises a
+ NOT_FOUND_ERR DOMException if the old child is
+ not a child of this node.
+
+ Retrieve the second employee and attempt to remove a
+ node that is not one of its children. An attempt to
+ remove such a node should raise the desired exception.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1734834066')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="oldChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementNode" type="Node"/>
+<var name="removedChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createElement obj="doc" tagName='"br"' var="oldChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="elementNode"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<removeChild var="removedChild" obj="elementNode" oldChild="oldChild"/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodereplacechild.xml b/test/testcases/tests/level1/core/hc_nodereplacechild.xml
new file mode 100644
index 0000000..9e08082
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodereplacechild.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodereplacechild">
+<metadata>
+<title>hc_nodeReplaceChild</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" method replaces
+ the node "oldChild" with the node "newChild".
+
+ Replace the first element of the second employee with
+ a newly created Element node. Check the first position
+ after the replacement operation is completed. The new
+ Element should be "newChild".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="replacedNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="0" var="oldChild"/>
+<createElement obj="doc" tagName='"br"' var="newChild"/>
+<replaceChild var="replacedNode" obj="employeeNode" newChild="newChild" oldChild="oldChild"/>
+<item interface="NodeList" obj="childList" index="0" var="child"/>
+<nodeName obj="child" var="childName"/>
+<assertEquals actual="childName" expected='"br"' id="nodeName" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodereplacechildinvalidnodetype.xml b/test/testcases/tests/level1/core/hc_nodereplacechildinvalidnodetype.xml
new file mode 100644
index 0000000..f1bbfac
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodereplacechildinvalidnodetype.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodereplacechildinvalidnodetype">
+<metadata>
+<title>hc_nodeReplaceChildInvalidNodeType</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" method raises a
+ HIERARCHY_REQUEST_ERR DOMException if this node is of
+ a type that does not allow children of the type "newChild"
+ to be inserted.
+
+ Retrieve the root node and attempt to replace
+ one of its children with a newly created Attr node.
+ An Element node cannot have children of the "Attr"
+ type, therefore the desired exception should be raised.
+</description>
+
+<date qualifier="created">2002-06-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-785887307"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=406"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Element"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="replacedChild" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createAttribute obj="doc" name='"lang"' var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="oldChild"/>
+<parentNode var="rootNode" obj="oldChild" interface="Node"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<replaceChild var="replacedChild" obj="rootNode" newChild="newChild" oldChild="oldChild"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodereplacechildnewchilddiffdocument.xml b/test/testcases/tests/level1/core/hc_nodereplacechildnewchilddiffdocument.xml
new file mode 100644
index 0000000..4c57934
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodereplacechildnewchilddiffdocument.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodereplacechildnewchilddiffdocument">
+<metadata>
+<title>hc_nodeReplaceChildNewChildDiffDocument</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" method raises a
+ WRONG_DOCUMENT_ERR DOMException if the "newChild" was
+ created from a different document than the one that
+ created this node.
+
+ Retrieve the second employee and attempt to replace one
+ of its children with a node created from a different
+ document. An attempt to make such a replacement
+ should raise the desired exception.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc1" type="Document"/>
+<var name="doc2" type="Document"/>
+<var name="oldChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementNode" type="Node"/>
+<var name="replacedChild" type="Node"/>
+<load var="doc1" href="hc_staff" willBeModified="false"/>
+<load var="doc2" href="hc_staff" willBeModified="true"/>
+<createElement obj="doc1" tagName='"br"' var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc2" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="elementNode"/>
+<firstChild obj="elementNode" var="oldChild" interface="Node"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<replaceChild var="replacedChild" obj="elementNode" newChild="newChild" oldChild="oldChild"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodereplacechildnewchildexists.xml b/test/testcases/tests/level1/core/hc_nodereplacechildnewchildexists.xml
new file mode 100644
index 0000000..66c9b06
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodereplacechildnewchildexists.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodereplacechildnewchildexists">
+<metadata>
+<title>hc_nodeReplaceChildNewChildExists</title>
+<creator>Curt Arnold</creator>
+<description>
+ If the "newChild" is already in the tree, it is first
+ removed before the new one is added.
+
+ Retrieve the second "p" and replace "acronym" with its "em".
+</description>
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=246"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node" isNull="true"/>
+<var name="newChild" type="Node" isNull="true"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="childNode" type="Node"/>
+<var name="actual" type="List"/>
+<var name="expected" type="List">
+<member>"strong"</member>
+<member>"code"</member>
+<member>"sup"</member>
+<member>"var"</member>
+<member>"em"</member>
+</var>
+<var name="replacedChild" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<getElementsByTagName interface="Element" obj="employeeNode" var="childList" tagname='"*"'/>
+<item interface="NodeList" obj="childList" index="0" var="newChild"/>
+<item interface="NodeList" obj="childList" index="5" var="oldChild"/>
+<replaceChild var="replacedChild" obj="employeeNode" newChild="newChild" oldChild="oldChild"/>
+<assertSame actual="replacedChild" expected="oldChild" id="return_value_same"/>
+<for-each collection="childList" member="childNode">
+<nodeName var="childName" obj="childNode"/>
+<nodeType var="nodeType" obj="childNode"/>
+<if><equals actual="nodeType" expected="1"/>
+<append collection="actual" item="childName"/>
+<else>
+<assertEquals actual="nodeType" expected="3" id="textNodeType" ignoreCase="false"/>
+<assertEquals actual="childName" expected='"#text"' id="textNodeName" ignoreCase="false"/>
+</else>
+</if>
+</for-each>
+<assertEquals actual="actual" expected="expected" id="childNames" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodereplacechildnodeancestor.xml b/test/testcases/tests/level1/core/hc_nodereplacechildnodeancestor.xml
new file mode 100644
index 0000000..3c5ec89
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodereplacechildnodeancestor.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodereplacechildnodeancestor">
+<metadata>
+<title>hc_nodeReplaceChildNodeAncestor</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" method raises a
+ HIERARCHY_REQUEST_ERR DOMException if the node to put
+ in is one of this node's ancestors.
+
+ Retrieve the second employee and attempt to replace
+ one of its children with an ancestor node(root node).
+ An attempt to make such a replacement should raise the
+ desired exception.
+</description>
+
+<date qualifier="created">2002-06-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-785887307"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="replacedNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<documentElement obj="doc" var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="0" var="oldChild"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<replaceChild var="replacedNode" obj="employeeNode" newChild="newChild" oldChild="oldChild"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodereplacechildnodename.xml b/test/testcases/tests/level1/core/hc_nodereplacechildnodename.xml
new file mode 100644
index 0000000..d8d73ad
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodereplacechildnodename.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodereplacechildnodename">
+<metadata>
+<title>hc_nodeReplaceChildNodeName</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" method returns
+ the node being replaced.
+
+ Replace the second Element of the second employee with
+ a newly created node Element and check the NodeName
+ returned by the "replaceChild(newChild,oldChild)"
+ method. The returned node should have a NodeName equal
+ to "em".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="replacedNode" type="Node"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<getElementsByTagName obj="employeeNode" var="childList" interface="Element" tagname='"em"'/>
+<item interface="NodeList" obj="childList" index="0" var="oldChild"/>
+<createElement obj="doc" tagName='"br"' var="newChild"/>
+<replaceChild obj="employeeNode" newChild="newChild" oldChild="oldChild" var="replacedNode"/>
+<nodeName obj="replacedNode" var="childName"/>
+<assertEquals actual="childName" expected='"em"' id="replacedNodeName" ignoreCase="auto"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodereplacechildoldchildnonexistent.xml b/test/testcases/tests/level1/core/hc_nodereplacechildoldchildnonexistent.xml
new file mode 100644
index 0000000..907da84
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodereplacechildoldchildnonexistent.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodereplacechildoldchildnonexistent">
+<metadata>
+<title>hc_nodeReplaceChildOldChildNonexistent</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" method raises a
+ NOT_FOUND_ERR DOMException if the old child is
+ not a child of this node.
+
+ Retrieve the second employee and attempt to replace a
+ node that is not one of its children. An attempt to
+ replace such a node should raise the desired exception.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=247"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="oldChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementNode" type="Node"/>
+<var name="replacedNode" type="Node"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createElement obj="doc" tagName='"br"' var="newChild"/>
+<createElement obj="doc" tagName='"b"' var="oldChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"p"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="elementNode"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<replaceChild var="replacedNode" obj="elementNode" newChild="newChild" oldChild="oldChild"/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodetextnodeattribute.xml b/test/testcases/tests/level1/core/hc_nodetextnodeattribute.xml
new file mode 100644
index 0000000..f7a14ac
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodetextnodeattribute.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodetextnodeattribute">
+<metadata>
+<title>hc_nodeTextNodeAttribute</title>
+<creator>Curt Arnold</creator>
+<description>
+The "getAttributes()" method invoked on a Text
+Node returns null.
+
+Retrieve the Text node from the last child of the
+first employee and invoke the "getAttributes()" method
+on the Text Node. It should return null.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- Text interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1312295772"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<var name="textNode" type="Node"/>
+<var name="attrList" type="NamedNodeMap"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<firstChild interface="Node" obj="testAddr" var="textNode"/>
+<attributes obj="textNode" var="attrList"/>
+<assertNull actual="attrList" id="text_attributes_is_null"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodetextnodename.xml b/test/testcases/tests/level1/core/hc_nodetextnodename.xml
new file mode 100644
index 0000000..54f4a8b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodetextnodename.xml
@@ -0,0 +1,37 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodetextnodename">
+<metadata>
+<title>hc_nodeTextNodeName</title>
+<creator>Curt Arnold</creator>
+<description>
+ The string returned by the "getNodeName()" method for a
+ Text Node is "#text".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="textNode" type="Node"/>
+<var name="textName" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<firstChild interface="Node" obj="testAddr" var="textNode"/>
+<nodeName obj="textNode" var="textName"/>
+<assertEquals actual="textName" expected='"#text"' id="textNodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodetextnodetype.xml b/test/testcases/tests/level1/core/hc_nodetextnodetype.xml
new file mode 100644
index 0000000..dfadb11
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodetextnodetype.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodetextnodetype">
+<metadata>
+<title>hc_nodeTextNodeType</title>
+<creator>Curt Arnold</creator>
+<description>
+
+ The "getNodeType()" method for a Text Node
+
+ returns the constant value 3.
+
+
+
+ Retrieve the Text node from the last child of
+
+ the first employee and invoke the "getNodeType()"
+
+ method. The method should return 3.
+
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="textNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"acronym"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<firstChild interface="Node" obj="testAddr" var="textNode"/>
+<nodeType obj="textNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="3" id="nodeTextNodeTypeAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodetextnodevalue.xml b/test/testcases/tests/level1/core/hc_nodetextnodevalue.xml
new file mode 100644
index 0000000..83286f8
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodetextnodevalue.xml
@@ -0,0 +1,43 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodetextnodevalue">
+<metadata>
+<title>hc_nodeTextNodeValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The string returned by the "getNodeValue()" method for a
+ Text Node is the content of the Text node.
+
+ Retrieve the Text node from the last child of the first
+ employee and check the string returned by the
+ "getNodeValue()" method. It should be equal to
+ "1230 North Ave. Dallas, Texas 98551".
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="textNode" type="Node"/>
+<var name="textValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<firstChild interface="Node" obj="testAddr" var="textNode"/>
+<nodeValue obj="textNode" var="textValue"/>
+<assertEquals actual="textValue" expected='"1230 North Ave. Dallas, Texas 98551"'
+ id="textNodeValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodevalue01.xml b/test/testcases/tests/level1/core/hc_nodevalue01.xml
new file mode 100644
index 0000000..62a4e3d
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodevalue01.xml
@@ -0,0 +1,37 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodevalue01">
+<metadata>
+<title>hc_nodevalue01</title>
+<creator>Curt Arnold</creator>
+<description>
+An element is created, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Element"/>
+<var name="newValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createElement obj="doc" var="newNode" tagName='"acronym"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodevalue02.xml b/test/testcases/tests/level1/core/hc_nodevalue02.xml
new file mode 100644
index 0000000..2c31f8a
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodevalue02.xml
@@ -0,0 +1,38 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodevalue02">
+<metadata>
+<title>hc_nodevalue02</title>
+<creator>Curt Arnold</creator>
+<description>
+An comment is created, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createComment obj="doc" var="newNode" data='"This is a new Comment node"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertEquals actual="newValue" expected='"This is a new Comment node"' ignoreCase="false" id="initial"/>
+<!-- attempt to change the value -->
+<nodeValue obj="newNode" value='"This should have an effect"'/>
+<!-- retrieve the value -->
+<nodeValue obj="newNode" var="newValue"/>
+<assertEquals actual="newValue" expected='"This should have an effect"' id="afterChange" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodevalue03.xml b/test/testcases/tests/level1/core/hc_nodevalue03.xml
new file mode 100644
index 0000000..6e7ac63
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodevalue03.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodevalue03">
+<metadata>
+<title>hc_nodevalue03</title>
+<creator>Curt Arnold</creator>
+<description>
+An entity reference is created, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-11C98490"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<if><contentType type="text/html"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_ERR">
+ <NOT_SUPPORTED_ERR>
+ <createEntityReference obj="doc" var="newNode" name='"ent1"'/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+<else>
+<createEntityReference obj="doc" var="newNode" name='"ent1"'/>
+<assertNotNull actual="newNode" id="createdEntRefNotNull"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodevalue04.xml b/test/testcases/tests/level1/core/hc_nodevalue04.xml
new file mode 100644
index 0000000..f85ff65
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodevalue04.xml
@@ -0,0 +1,46 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodevalue04">
+<metadata>
+<title>hc_nodevalue04</title>
+<creator>Curt Arnold</creator>
+<description>
+An document type accessed, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<doctype obj="doc" var="newNode"/>
+<assertTrue id="docTypeNotNullOrDocIsHTML">
+ <or>
+ <notNull obj="newNode"/>
+ <contentType type="text/html"/>
+ </or>
+</assertTrue>
+<if><notNull obj="newNode"/>
+<assertNotNull actual="newNode" id="docTypeNotNull"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodevalue05.xml b/test/testcases/tests/level1/core/hc_nodevalue05.xml
new file mode 100644
index 0000000..9476bf4
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodevalue05.xml
@@ -0,0 +1,37 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodevalue05">
+<metadata>
+<title>hc_nodevalue05</title>
+<creator>Curt Arnold</creator>
+<description>
+A document fragment is created, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="newNode"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodevalue06.xml b/test/testcases/tests/level1/core/hc_nodevalue06.xml
new file mode 100644
index 0000000..2f8b0a4
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodevalue06.xml
@@ -0,0 +1,35 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodevalue06">
+<metadata>
+<title>hc_nodevalue06</title>
+<creator>Curt Arnold</creator>
+<description>
+An document is accessed, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document"/>
+</metadata>
+<var name="newNode" type="Document"/>
+<var name="newValue" type="DOMString"/>
+<load var="newNode" href="hc_staff" willBeModified="true"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodevalue07.xml b/test/testcases/tests/level1/core/hc_nodevalue07.xml
new file mode 100644
index 0000000..0c99f89
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodevalue07.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodevalue07">
+<metadata>
+<title>hc_nodevalue07</title>
+<creator>Curt Arnold</creator>
+<description>
+An Entity is accessed, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-527DCFF2"/>
+</metadata>
+<hasFeature feature='"XML"'/>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<var name="nodeMap" type="NamedNodeMap"/>
+<var name="docType" type="DocumentType"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<doctype obj="doc" var="docType"/>
+<if><not><contentType type="text/html"/></not>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="nodeMap"/>
+<assertNotNull actual="nodeMap" id="entitiesNotNull"/>
+<getNamedItem obj="nodeMap" name='"alpha"' var="newNode"/>
+<assertNotNull actual="newNode" id="entityNotNull"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_nodevalue08.xml b/test/testcases/tests/level1/core/hc_nodevalue08.xml
new file mode 100644
index 0000000..e753f87
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_nodevalue08.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_nodevalue08">
+<metadata>
+<title>hc_nodevalue08</title>
+<creator>Curt Arnold</creator>
+<description>
+An notation is accessed, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5431D1B9"/>
+</metadata>
+<hasFeature feature='"XML"'/>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<var name="nodeMap" type="NamedNodeMap"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<doctype obj="doc" var="docType"/>
+<if><not><contentType type="text/html"/></not>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="nodeMap"/>
+<assertNotNull actual="nodeMap" id="notationsNotNull"/>
+<getNamedItem obj="nodeMap" name='"notation1"' var="newNode"/>
+<assertNotNull actual="newNode" id="notationNotNull"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_notationsremovenameditem1.xml b/test/testcases/tests/level1/core/hc_notationsremovenameditem1.xml
new file mode 100644
index 0000000..b565e18
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_notationsremovenameditem1.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_notationsremovenameditem1">
+<metadata>
+<title>hc_notationsremovenameditem1</title>
+<creator>Curt Arnold</creator>
+<description>
+An attempt to add remove an notation should result in a NO_MODIFICATION_ERR.
+</description>
+<date qualifier="created">2004-01-11</date>
+<!-- DocumentType.notations -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D46829EF"/>
+<!-- NamedNodeMap.removeNamedItem -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193"/>
+</metadata>
+<hasFeature feature='"XML"'/>
+<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"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+ <NO_MODIFICATION_ALLOWED_ERR>
+ <removeNamedItem var="retval" obj="notations" name='"notation1"'/>
+ </NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_notationssetnameditem1.xml b/test/testcases/tests/level1/core/hc_notationssetnameditem1.xml
new file mode 100644
index 0000000..575b80b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_notationssetnameditem1.xml
@@ -0,0 +1,50 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_notationssetnameditem1">
+<metadata>
+<title>hc_notationssetnameditem1</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/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D46829EF"/>
+<!-- NamedNodeMap.setNamedItem -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788"/>
+</metadata>
+<hasFeature feature='"XML"'/>
+<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"/>
+<createElement var="elem" obj="doc" tagName='"br"'/>
+<try>
+ <setNamedItem 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/level1/core/hc_textindexsizeerrnegativeoffset.xml b/test/testcases/tests/level1/core/hc_textindexsizeerrnegativeoffset.xml
new file mode 100644
index 0000000..7e51807
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_textindexsizeerrnegativeoffset.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_textindexsizeerrnegativeoffset">
+<metadata>
+<title>hc_textIndexSizeErrNegativeOffset</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "splitText(offset)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset is
+ negative.
+
+ Retrieve the textual data from the second child of the
+ third employee and invoke the "splitText(offset)" method.
+ The desired exception should be raised since the offset
+ is a negative number.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="splitNode" type="Text"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"strong"'/>
+<item interface="NodeList" obj="elementList" var="nameNode" index="2"/>
+<firstChild interface="Node" obj="nameNode" var="textNode"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<splitText obj="textNode" var="splitNode" offset="-69"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_textindexsizeerroffsetoutofbounds.xml b/test/testcases/tests/level1/core/hc_textindexsizeerroffsetoutofbounds.xml
new file mode 100644
index 0000000..fc3f23b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_textindexsizeerroffsetoutofbounds.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_textindexsizeerroffsetoutofbounds">
+<metadata>
+<title>hc_textIndexSizeErrOffsetOutOfBounds</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "splitText(offset)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset is
+ greater than the number of characters in the Text node.
+
+ Retrieve the textual data from the second child of the
+ third employee and invoke the "splitText(offset)" method.
+ The desired exception should be raised since the offset
+ is a greater than the number of characters in the Text
+ node.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="splitNode" type="Text"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"strong"'/>
+<item interface="NodeList" obj="elementList" var="nameNode" index="2"/>
+<firstChild interface="Node" obj="nameNode" var="textNode"/>
+<assertDOMException id="throw_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<splitText obj="textNode" var="splitNode" offset="300"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_textparseintolistofelements.xml b/test/testcases/tests/level1/core/hc_textparseintolistofelements.xml
new file mode 100644
index 0000000..280b79c
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_textparseintolistofelements.xml
@@ -0,0 +1,75 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_textparseintolistofelements">
+<metadata>
+<title>hc_textParseIntoListOfElements</title>
+<creator>Curt Arnold</creator>
+<description>
+ Retrieve the textual data from the last child of the
+ second employee. That node is composed of two
+ EntityReference nodes and two Text nodes. After
+ the content node is parsed, the "acronym" Element
+ should contain four children with each one of the
+ EntityReferences containing one child.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<!--childNodes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-11C98490"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-745549614"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="addressNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="value" type="DOMString"/>
+<var name="grandChild" type="Node"/>
+<var name="length" type="int"/>
+<var name="result" type="List"/>
+<var name="expectedNormal" type="List">
+<member>"&#946;"</member>
+<member>" Dallas, "</member>
+<member>"&#947;"</member>
+<member>"\n 98554"</member>
+</var>
+<var name="expectedExpanded" type="List">
+<member>"&#946; Dallas, &#947;\n 98554"</member>
+</var>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="addressNode" index="1"/>
+<childNodes obj="addressNode" var="childList"/>
+<length var="length" obj="childList" interface="NodeList"/>
+<for-each collection="childList" member="child">
+ <nodeValue obj="child" var="value"/>
+ <if>
+ <isNull obj="value"/>
+ <firstChild interface="Node" obj="child" var="grandChild"/>
+ <assertNotNull actual="grandChild" id="grandChildNotNull"/>
+ <nodeValue obj="grandChild" var="value"/>
+ <append collection="result" item="value"/>
+ <else>
+ <append collection="result" item="value"/>
+ </else>
+ </if>
+</for-each>
+<if><equals actual="length" expected="1" ignoreCase="false"/>
+ <assertEquals actual="result" expected="expectedExpanded" ignoreCase="false" id="assertEqCoalescing"/>
+ <else>
+ <assertEquals actual="result" expected="expectedNormal" ignoreCase="false" id="assertEqNormal"/>
+ </else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_textsplittextfour.xml b/test/testcases/tests/level1/core/hc_textsplittextfour.xml
new file mode 100644
index 0000000..0adfa92
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_textsplittextfour.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_textsplittextfour">
+<metadata>
+<title>hc_textSplitTextFour</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "splitText(offset)" method returns the new Text node.
+
+ Retrieve the textual data from the last child of the
+ first employee and invoke the "splitText(offset)" method.
+ The method should return the new Text node. The offset
+ value used for this test is 30. The "getNodeValue()"
+ method is called to check that the new node now contains
+ the characters at and after position 30.
+ (Starting count at 0)
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="addressNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="splitNode" type="Text"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"acronym"'/>
+<item interface="NodeList" obj="elementList" var="addressNode" index="0"/>
+<firstChild interface="Node" obj="addressNode" var="textNode"/>
+<splitText obj="textNode" var="splitNode" offset="30"/>
+<nodeValue obj="splitNode" var="value"/>
+<assertEquals actual="value" expected='"98551"' id="textSplitTextFourAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_textsplittextone.xml b/test/testcases/tests/level1/core/hc_textsplittextone.xml
new file mode 100644
index 0000000..9fc5307
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_textsplittextone.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_textsplittextone">
+<metadata>
+<title>hc_textSplitTextOne</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "splitText(offset)" method breaks the Text node into
+ two Text nodes at the specified offset keeping each node
+ as siblings in the tree.
+
+ Retrieve the textual data from the second child of the
+ third employee and invoke the "splitText(offset)" method.
+ The method splits the Text node into two new sibling
+ Text nodes keeping both of them in the tree. This test
+ checks the "nextSibling()" method of the original node
+ to ensure that the two nodes are indeed siblings.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="splitNode" type="Text"/>
+<var name="secondPart" type="Node"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"strong"'/>
+<item interface="NodeList" obj="elementList" var="nameNode" index="2"/>
+<firstChild interface="Node" obj="nameNode" var="textNode"/>
+<splitText obj="textNode" var="splitNode" offset="7"/>
+<nextSibling interface="Node" obj="textNode" var="secondPart"/>
+<nodeValue obj="secondPart" var="value"/>
+<assertEquals actual="value" expected='"Jones"' id="textSplitTextOneAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_textsplittextthree.xml b/test/testcases/tests/level1/core/hc_textsplittextthree.xml
new file mode 100644
index 0000000..bb4f55b
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_textsplittextthree.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_textsplittextthree">
+<metadata>
+<title>hc_textSplitTextThree</title>
+<creator>Curt Arnold</creator>
+<description>
+ After the "splitText(offset)" method breaks the Text node
+ into two Text nodes, the new Text node contains all the
+ content at and after the offset point.
+
+ Retrieve the textual data from the second child of the
+ third employee and invoke the "splitText(offset)" method.
+ The new Text node should contain all the content
+ at and after the offset point. The "getNodeValue()"
+ method is called to check that the new node now contains
+ the characters at and after position seven.
+ (Starting count at 0)
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="splitNode" type="Text"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"strong"'/>
+<item interface="NodeList" obj="elementList" var="nameNode" index="2"/>
+<firstChild interface="Node" obj="nameNode" var="textNode"/>
+<splitText obj="textNode" var="splitNode" offset="6"/>
+<nodeValue obj="splitNode" var="value"/>
+<assertEquals actual="value" expected='" Jones"' id="textSplitTextThreeAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_textsplittexttwo.xml b/test/testcases/tests/level1/core/hc_textsplittexttwo.xml
new file mode 100644
index 0000000..86f8f17
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_textsplittexttwo.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_textsplittexttwo">
+<metadata>
+<title>hc_textSplitTextTwo</title>
+<creator>Curt Arnold</creator>
+<description>
+ After the "splitText(offset)" method breaks the Text node
+ into two Text nodes, the original node contains all the
+ content up to the offset point.
+
+ Retrieve the textual data from the second child of the
+ third employee and invoke the "splitText(offset)" method.
+ The original Text node should contain all the content
+ up to the offset point. The "getNodeValue()" method
+ is called to check that the original node now contains
+ the first five characters.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="splitNode" type="Text"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"strong"'/>
+<item interface="NodeList" obj="elementList" var="nameNode" index="2"/>
+<firstChild interface="Node" obj="nameNode" var="textNode"/>
+<splitText obj="textNode" var="splitNode" offset="5"/>
+<nodeValue obj="textNode" var="value"/>
+<assertEquals actual="value" expected='"Roger"' id="textSplitTextTwoAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/hc_textwithnomarkup.xml b/test/testcases/tests/level1/core/hc_textwithnomarkup.xml
new file mode 100644
index 0000000..3b263c5
--- /dev/null
+++ b/test/testcases/tests/level1/core/hc_textwithnomarkup.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="hc_textwithnomarkup">
+<metadata>
+<title>hc_textWithNoMarkup</title>
+<creator>Curt Arnold</creator>
+<description>
+ If there is not any markup inside an Element or Attr node
+ content, then the text is contained in a single object
+ implementing the Text interface that is the only child
+ of the element.
+
+ Retrieve the textual data from the second child of the
+ third employee. That Text node contains a block of
+ multiple text lines without markup, so they should be
+ treated as a single Text node. The "getNodeValue()"
+ method should contain the combination of the two lines.
+</description>
+
+<date qualifier="created">2002-06-09</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1312295772"/>
+<!--nodeValue attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="nodeV" type="Node"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="hc_staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"strong"'/>
+<item interface="NodeList" obj="elementList" var="nameNode" index="2"/>
+<firstChild interface="Node" obj="nameNode" var="nodeV"/>
+<nodeValue obj="nodeV" var="value"/>
+<assertEquals actual="value" expected='"Roger\n Jones"' id="textWithNoMarkupAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/metadata.xml b/test/testcases/tests/level1/core/metadata.xml
new file mode 100644
index 0000000..6826b5c
--- /dev/null
+++ b/test/testcases/tests/level1/core/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 "dom1.dtd">
+
+<metadata xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1">
+</metadata>
diff --git a/test/testcases/tests/level1/core/namednodemapchildnoderange.xml b/test/testcases/tests/level1/core/namednodemapchildnoderange.xml
new file mode 100644
index 0000000..12dbd09
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapchildnoderange.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapchildnoderange">
+<metadata>
+<title>namednodemapChildNodeRange</title>
+<creator>NIST</creator>
+<description>
+ The range of valid child node indices is 0 to Length -1.
+
+ Create a NamedNodeMap object from the attributes of the
+ last child of the third employee and traverse the
+ list from index 0 thru length -1. All indices should
+ be valid.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!--item-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+<!--length attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D0FB19E"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="child" type="Node"/>
+<var name="length" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="2"/>
+<attributes obj="testEmployee" var="attributes"/>
+<length var="length" obj="attributes" interface="NamedNodeMap"/>
+<assertEquals actual="length" expected="2" id="length" ignoreCase="false"/>
+<item var="child" index="0" obj="attributes" interface="NamedNodeMap"/>
+<item var="child" index="1" obj="attributes" interface="NamedNodeMap"/>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapgetnameditem.xml b/test/testcases/tests/level1/core/namednodemapgetnameditem.xml
new file mode 100644
index 0000000..ab7a012
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapgetnameditem.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapgetnameditem">
+<metadata>
+<title>namednodemapGetNamedItem</title>
+<creator>NIST</creator>
+<description>
+ The "getNamedItem(name)" method retrieves a node
+ specified by name.
+
+ Retrieve the second employee and create a NamedNodeMap
+ listing of the attributes of the last child. Once the
+ list is created an invocation of the "getNamedItem(name)"
+ method is done with name="domestic". This should result
+ in the domestic Attr node being returned.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+</metadata>
+<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="staff" 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"/>
+<getNamedItem obj="attributes" var="domesticAttr" name="&quot;domestic&quot;"/>
+<nodeName obj="domesticAttr" var="attrName"/>
+<assertEquals actual="attrName" expected="&quot;domestic&quot;" id="namednodemapGetNamedItemAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapinuseattributeerr.xml b/test/testcases/tests/level1/core/namednodemapinuseattributeerr.xml
new file mode 100644
index 0000000..9a530a6
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapinuseattributeerr.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapinuseattributeerr">
+<metadata>
+<title>namedNodeMapInUseAttributeErr</title>
+<creator>NIST</creator>
+<description>
+The "setNamedItem(arg)" method raises a
+INUSE_ATTRIBUTE_ERR DOMException if "arg" is an
+Attr that is already in an attribute of another Element.
+
+Create a NamedNodeMap object from the attributes of the
+last child of the third employee and attempt to add
+an attribute that is already being used by the first
+employee. This should raise the desired exception.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_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/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="firstNode" type="Element"/>
+<var name="testNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="domesticAttr" type="Attr"/>
+<var name="setAttr" type="Attr"/>
+<var name="setNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="firstNode" index="0"/>
+<createAttribute obj="doc" var="domesticAttr" name="&quot;domestic&quot;"/>
+<value interface="Attr" obj="domesticAttr" value="&quot;Yes&quot;"/>
+<setAttributeNode var="setAttr" obj="firstNode" newAttr="domesticAttr"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testNode" index="2"/>
+<attributes obj="testNode" var="attributes"/>
+<assertDOMException id="throw_INUSE_ATTRIBUTE_ERR">
+<INUSE_ATTRIBUTE_ERR>
+<setNamedItem var="setNode" interface="NamedNodeMap" obj="attributes" arg="domesticAttr"/>
+</INUSE_ATTRIBUTE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapnotfounderr.xml b/test/testcases/tests/level1/core/namednodemapnotfounderr.xml
new file mode 100644
index 0000000..f608066
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapnotfounderr.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapnotfounderr">
+<metadata>
+<title>namednodemapNotFoundErr</title>
+<creator>NIST</creator>
+<description>
+ The "removeNamedItem(name)" method raises a
+ NOT_FOUND_ERR DOMException if there is not a node
+ named "name" in the map.
+
+ Create a NamedNodeMap object from the attributes of the
+ last child of the third employee and attempt to remove
+ the "district" attribute. There is not a node named
+ "district" in the list and therefore the desired
+ exception should be raised.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INUSE_ATTRIBUTE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-D58B193')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INUSE_ATTRIBUTE_ERR'])"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Element"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="removedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="2"/>
+<attributes obj="testEmployee" var="attributes"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<removeNamedItem var="removedNode" interface="NamedNodeMap" obj="attributes" name="&quot;district&quot;"/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapnumberofnodes.xml b/test/testcases/tests/level1/core/namednodemapnumberofnodes.xml
new file mode 100644
index 0000000..03c61f5
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapnumberofnodes.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapnumberofnodes">
+<metadata>
+<title>namednodemapNumberOfNodes</title>
+<creator>NIST</creator>
+<description>
+ The "getLength()" method returns the number of nodes
+ in the map.
+
+ Retrieve the second employee and create a NamedNodeMap
+ listing of the attributes of the last child. Once the
+ list is created an invocation of the "getLength()"
+ method is executed. The number of nodes should be 2.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!--length attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6D0FB19E"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="length" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="2"/>
+<attributes obj="testEmployee" var="attributes"/>
+<length var="length" obj="attributes" interface="NamedNodeMap"/>
+<assertEquals actual="length" expected="2" id="length" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapremovenameditem.xml b/test/testcases/tests/level1/core/namednodemapremovenameditem.xml
new file mode 100644
index 0000000..da7c3c2
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapremovenameditem.xml
@@ -0,0 +1,54 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapremovenameditem">
+<metadata>
+<title>namednodemapRemoveNamedItem</title>
+<creator>NIST</creator>
+<description>
+ The "removeNamedItem(name)" method removes a node
+ specified by name.
+
+ Retrieve the third employee and create a NamedNodeMap
+ object of the attributes of the last child. Once the
+ list is created invoke the "removeNamedItem(name)"
+ method with name="street". This should result
+ in the removal of the specified attribute and
+ the "getSpecified()" method should return false.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+<!-- DOM WG opinion on default attributes -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html"/>
+</metadata>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="specified" type="boolean"/>
+<var name="removedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="2"/>
+<attributes obj="testAddress" var="attributes"/>
+<assertNotNull actual="attributes" id="attributesNotNull"/>
+<removeNamedItem var="removedNode" interface="NamedNodeMap" obj="attributes" name="&quot;street&quot;"/>
+<getNamedItem obj="attributes" var="streetAttr" name="&quot;street&quot;"/>
+<assertNotNull actual="streetAttr" id="streetAttrNotNull"/>
+<specified obj="streetAttr" var="specified"/>
+<assertFalse actual="specified" id="attrNotSpecified"/>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapremovenameditemgetvalue.xml b/test/testcases/tests/level1/core/namednodemapremovenameditemgetvalue.xml
new file mode 100644
index 0000000..f1d221f
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapremovenameditemgetvalue.xml
@@ -0,0 +1,56 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapremovenameditemgetvalue">
+<metadata>
+<title>namednodemapRemoveNamedItemGetValue</title>
+<creator>NIST</creator>
+<description>
+ If the node removed by the "removeNamedItem(name)" method
+ is an Attr node with a default value it is immediately
+ replaced.
+
+ Retrieve the third employee and create a NamedNodeMap
+ object of the attributes of the last child. Once the
+ list is created invoke the "removeNamedItem(name)"
+ method with name="street". The "removeNamedItem(name)"
+ method should remove the "street" attribute and since
+ it has a default value of "Yes", that value should
+ immediately be the attributes value.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+<!-- DOM WG opinion on default attributes -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Mar/0002.html"/>
+</metadata>
+<implementationAttribute name="validating" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Attr"/>
+<var name="value" type="DOMString"/>
+<var name="removedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testEmployee" index="2"/>
+<attributes obj="testEmployee" var="attributes"/>
+<assertNotNull actual="attributes" id="attributesNotNull"/>
+<removeNamedItem var="removedNode" obj="attributes" name="&quot;street&quot;"/>
+<getNamedItem obj="attributes" var="streetAttr" name="&quot;street&quot;"/>
+<assertNotNull actual="streetAttr" id="streetAttrNotNull"/>
+<value interface="Attr" obj="streetAttr" var="value"/>
+<assertEquals actual="value" expected="&quot;Yes&quot;" id="namednodemapRemoveNamedItemGetValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapremovenameditemreturnnodevalue.xml b/test/testcases/tests/level1/core/namednodemapremovenameditemreturnnodevalue.xml
new file mode 100644
index 0000000..043edfe
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapremovenameditemreturnnodevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapremovenameditemreturnnodevalue">
+<metadata>
+<title>namednodemapRemoveNamedItemReturnNodeValue</title>
+<creator>NIST</creator>
+<description>
+ The "removeNamedItem(name)" method returns the node
+ removed from the map.
+
+ Retrieve the third employee and create a NamedNodeMap
+ object of the attributes of the last child. Once the
+ list is created invoke the "removeNamedItem(name)"
+ method with name="street". The "removeNamedItem(name)"
+ method should remove the existing "street" attribute
+ and return it.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-D58B193"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+</metadata>
+<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"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="2"/>
+<attributes obj="testAddress" var="attributes"/>
+<removeNamedItem interface="NamedNodeMap" obj="attributes" var="removedNode" name="&quot;street&quot;"/>
+<nodeValue obj="removedNode" var="value"/>
+<assertEquals actual="value" expected="&quot;No&quot;" id="namednodemapRemoveNamedItemReturnNodeValueAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapreturnattrnode.xml b/test/testcases/tests/level1/core/namednodemapreturnattrnode.xml
new file mode 100644
index 0000000..ed53288
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapreturnattrnode.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapreturnattrnode">
+<metadata>
+<title>namednodemapReturnAttrNode</title>
+<creator>NIST</creator>
+<description>
+ The "getNamedItem(name)" method returns a node of any
+ type specified by name.
+
+ Retrieve the second employee and create a NamedNodeMap
+ listing of the attributes of the last child. Once the
+ list is created an invocation of the "getNamedItem(name)"
+ method is done with name="street". This should result
+ in the method returning an Attr node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--getNamedItem-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549"/>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+<!--name attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1112119403"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="streetAttr" type="Node"/>
+<var name="attrName" type="DOMString"/>
+<load var="doc" href="staff" 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"/>
+<getNamedItem obj="attributes" var="streetAttr" name="&quot;street&quot;"/>
+<assertInstanceOf obj="streetAttr" type="Attr" id="typeAssert"/>
+<nodeName obj="streetAttr" var="attrName"/>
+<assertEquals actual="attrName" expected="&quot;street&quot;" id="nodeName" ignoreCase="false"/>
+<name obj="streetAttr" var="attrName" interface="Attr"/>
+<assertEquals actual="attrName" expected="&quot;street&quot;" id="attrName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapreturnfirstitem.xml b/test/testcases/tests/level1/core/namednodemapreturnfirstitem.xml
new file mode 100644
index 0000000..1eb5004
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapreturnfirstitem.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapreturnfirstitem">
+<metadata>
+<title>namednodemapReturnFirstItem</title>
+<creator>NIST</creator>
+<description>
+ The "item(index)" method returns the indexth item in
+ the map(test for first item).
+
+ Retrieve the second employee and create a NamedNodeMap
+ listing of the attributes of the last child. Since the
+ DOM does not specify an order of these nodes the contents
+ of the FIRST node can contain either "domestic" or "street".
+ The test should return "true" if the FIRST node is either
+ of these values.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="child" type="Node"/>
+<var name="name" type="DOMString"/>
+<load var="doc" href="staff" 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"/>
+<item interface="NamedNodeMap" obj="attributes" var="child" index="0"/>
+<nodeName obj="child" var="name"/>
+<assertTrue id="namednodemapReturnFirstItemAssert">
+<or>
+<equals actual="name" expected="&quot;domestic&quot;" ignoreCase="false"/>
+<equals actual="name" expected="&quot;street&quot;" ignoreCase="false"/>
+</or>
+</assertTrue>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapreturnlastitem.xml b/test/testcases/tests/level1/core/namednodemapreturnlastitem.xml
new file mode 100644
index 0000000..cc6bd27
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapreturnlastitem.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapreturnlastitem">
+<metadata>
+<title>namednodemapReturnLastItem</title>
+<creator>NIST</creator>
+<description>
+ The "item(index)" method returns the indexth item in
+ the map(test for last item).
+
+ Retrieve the second employee and create a NamedNodeMap
+ listing of the attributes of the last child. Since the
+ DOM does not specify an order of these nodes the contents
+ of the LAST node can contain either "domestic" or "street".
+ The test should return "true" if the LAST node is either
+ of these values.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="child" type="Node"/>
+<var name="name" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<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"/>
+<item interface="NamedNodeMap" obj="attributes" var="child" index="1"/>
+<nodeName obj="child" var="name"/>
+<assertTrue id="namednodemapReturnLastItemAssert">
+<or>
+<equals actual="name" expected="&quot;domestic&quot;" ignoreCase="false"/>
+<equals actual="name" expected="&quot;street&quot;" ignoreCase="false"/>
+</or>
+</assertTrue>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapreturnnull.xml b/test/testcases/tests/level1/core/namednodemapreturnnull.xml
new file mode 100644
index 0000000..fef7d3c
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapreturnnull.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapreturnnull">
+<metadata>
+<title>namednodemapReturnNull</title>
+<creator>NIST</creator>
+<description>
+ The "getNamedItem(name)" method returns null of the
+ specified name did not identify any node in the map.
+
+ Retrieve the second employee and create a NamedNodeMap
+ listing of the attributes of the last child. Once the
+ list is created an invocation of the "getNamedItem(name)"
+ method is done with name="district". This name does not
+ match any names in the list therefore the method should
+ return null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--getNamedItem-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1074577549"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testEmployee" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="districtNode" type="Attr"/>
+<load var="doc" href="staff" 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"/>
+<getNamedItem obj="attributes" var="districtNode" name="&quot;district&quot;"/>
+<assertNull actual="districtNode" id="namednodemapReturnNullAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapsetnameditem.xml b/test/testcases/tests/level1/core/namednodemapsetnameditem.xml
new file mode 100644
index 0000000..6114520
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapsetnameditem.xml
@@ -0,0 +1,56 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapsetnameditem">
+<metadata>
+<title>namednodemapSetNamedItem</title>
+<creator>NIST</creator>
+<description>
+ The "setNamedItem(arg)" method adds a node using its
+ nodeName attribute.
+
+ Retrieve the second employee and create a NamedNodeMap
+ object from the attributes of the last child by
+ invoking the "getAttributes()" method. Once the
+ list is created an invocation of the "setNamedItem(arg)"
+ method is done with arg=newAttr, where newAttr is a
+ new Attr Node previously created. The "setNamedItem(arg)"
+ method should add then new node to the NamedNodeItem
+ object by using its "nodeName" attribute("district').
+ This node is then retrieved using the "getNamedItem(name)"
+ method. This test uses the "createAttribute(name)"
+ method from the document interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="newAttribute" type="Attr"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="districtNode" type="Attr"/>
+<var name="attrName" type="DOMString"/>
+<var name="setNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="1"/>
+<createAttribute obj="doc" var="newAttribute" name="&quot;district&quot;"/>
+<attributes obj="testAddress" var="attributes"/>
+<setNamedItem var="setNode" obj="attributes" arg="newAttribute"/>
+<getNamedItem obj="attributes" var="districtNode" name="&quot;district&quot;"/>
+<nodeName obj="districtNode" var="attrName"/>
+<assertEquals actual="attrName" expected="&quot;district&quot;" id="namednodemapSetNamedItemAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapsetnameditemreturnvalue.xml b/test/testcases/tests/level1/core/namednodemapsetnameditemreturnvalue.xml
new file mode 100644
index 0000000..948c972
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapsetnameditemreturnvalue.xml
@@ -0,0 +1,56 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapsetnameditemreturnvalue">
+<metadata>
+<title>namednodemapSetNamedItemReturnValue</title>
+<creator>NIST</creator>
+<description>
+ If the "setNamedItem(arg)" method replaces an already
+ existing node with the same name then the already
+ existing node is returned.
+
+ Retrieve the third employee and create a NamedNodeMap
+ object from the attributes of the last child by
+ invoking the "getAttributes()" method. Once the
+ list is created an invocation of the "setNamedItem(arg)"
+ method is done with arg=newAttr, where newAttr is a
+ new Attr Node previously created and whose node name
+ already exists in the map. The "setNamedItem(arg)"
+ method should replace the already existing node with
+ the new one and return the existing node.
+ This test uses the "createAttribute(name)" method from
+ the document interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="newAttribute" type="Attr"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="newNode" type="Node"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="2"/>
+<createAttribute obj="doc" var="newAttribute" name="&quot;street&quot;"/>
+<attributes obj="testAddress" var="attributes"/>
+<setNamedItem interface="NamedNodeMap" obj="attributes" var="newNode" arg="newAttribute"/>
+<nodeValue obj="newNode" var="attrValue"/>
+<assertEquals actual="attrValue" expected="&quot;No&quot;"
+ id="returnedNodeValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapsetnameditemthatexists.xml b/test/testcases/tests/level1/core/namednodemapsetnameditemthatexists.xml
new file mode 100644
index 0000000..7ae5aac
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapsetnameditemthatexists.xml
@@ -0,0 +1,59 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapsetnameditemthatexists">
+<metadata>
+<title>namednodemapSetNamedItemThatExists</title>
+<creator>NIST</creator>
+<description>
+ If the node to be added by the "setNamedItem(arg)" method
+ already exists in the NamedNodeMap, it is replaced by
+ the new one.
+
+ Retrieve the second employee and create a NamedNodeMap
+ object from the attributes of the last child by
+ invoking the "getAttributes()" method. Once the
+ list is created an invocation of the "setNamedItem(arg)"
+ method is done with arg=newAttr, where newAttr is a
+ new Attr Node previously created and whose node name
+ already exists in the map. The "setNamedItem(arg)"
+ method should replace the already existing node with
+ the new one.
+ This node is then retrieved using the "getNamedItem(name)"
+ method. This test uses the "createAttribute(name)"
+ method from the document interface
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="newAttribute" type="Attr"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="districtNode" type="Attr"/>
+<var name="attrValue" type="DOMString"/>
+<var name="setNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="1"/>
+<createAttribute obj="doc" var="newAttribute" name="&quot;street&quot;"/>
+<attributes obj="testAddress" var="attributes"/>
+<setNamedItem var="setNode" obj="attributes" arg="newAttribute"/>
+<getNamedItem obj="attributes" var="districtNode" name="&quot;street&quot;"/>
+<nodeValue obj="districtNode" var="attrValue"/>
+<assertEquals actual="attrValue" expected="&quot;&quot;"
+ id="streetValue" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapsetnameditemwithnewvalue.xml b/test/testcases/tests/level1/core/namednodemapsetnameditemwithnewvalue.xml
new file mode 100644
index 0000000..bfc17a7
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapsetnameditemwithnewvalue.xml
@@ -0,0 +1,50 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapsetnameditemwithnewvalue">
+<metadata>
+<title>namednodemapSetNamedItemWithNewValue</title>
+<creator>NIST</creator>
+<description>
+ If the "setNamedItem(arg)" method does not replace an
+ existing node with the same name then it returns null.
+
+ Retrieve the third employee and create a NamedNodeMap
+ object from the attributes of the last child.
+ Once the list is created the "setNamedItem(arg)" method
+ is invoked with arg=newAttr, where newAttr is a
+ newly created Attr Node and whose node name
+ already exists in the map. The "setNamedItem(arg)"
+ method should add the new node and return null.
+ This test uses the "createAttribute(name)" method from
+ the document interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-349467F9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="newAttribute" type="Attr"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="newNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="2"/>
+<createAttribute obj="doc" var="newAttribute" name="&quot;district&quot;"/>
+<attributes obj="testAddress" var="attributes"/>
+<setNamedItem interface="NamedNodeMap" obj="attributes" var="newNode" arg="newAttribute"/>
+<assertNull actual="newNode" id="returnedNodeNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/namednodemapwrongdocumenterr.xml b/test/testcases/tests/level1/core/namednodemapwrongdocumenterr.xml
new file mode 100644
index 0000000..9f1971c
--- /dev/null
+++ b/test/testcases/tests/level1/core/namednodemapwrongdocumenterr.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="namednodemapwrongdocumenterr">
+<metadata>
+<title>namednodemapWrongDocumentErr</title>
+<creator>NIST</creator>
+<description>
+ The "setNamedItem(arg)" method raises a
+ WRONG_DOCUMENT_ERR DOMException if "arg" was created
+ from a different document than the one that created
+ the NamedNodeMap.
+
+ Create a NamedNodeMap object from the attributes of the
+ last child of the third employee and attempt to add
+ another Attr node to it that was created from a
+ different DOM document. This should raise the desired
+ exception. This method uses the "createAttribute(name)"
+ method from the Document interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_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/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1025163788')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc1" type="Document"/>
+<var name="doc2" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddress" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="newAttribute" type="Node"/>
+<var name="setNode" type="Node"/>
+<load var="doc1" href="staff" willBeModified="true"/>
+<load var="doc2" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc1" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="testAddress" index="2"/>
+<createAttribute obj="doc2" var="newAttribute" name="&quot;newAttribute&quot;"/>
+<attributes obj="testAddress" var="attributes"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<setNamedItem var="setNode" obj="attributes" arg="newAttribute"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeappendchild.xml b/test/testcases/tests/level1/core/nodeappendchild.xml
new file mode 100644
index 0000000..1af00a1
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeappendchild.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeappendchild">
+<metadata>
+<title>nodeAppendChild</title>
+<creator>NIST</creator>
+<description>
+ The "appendChild(newChild)" method adds the node
+ "newChild" to the end of the list of children of the
+ node.
+
+ Retrieve the second employee and append a new Element
+ node to the list of children. The last node in the list
+ is then retrieved and its NodeName examined. The
+ "getNodeName()" method should return "newChild".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="createdNode" type="Node"/>
+<var name="lchild" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<createElement obj="doc" tagName="&quot;newChild&quot;" var="createdNode"/>
+<appendChild var="appendedChild" obj="employeeNode" newChild="createdNode"/>
+<lastChild interface="Node" obj="employeeNode" var="lchild"/>
+<nodeName obj="lchild" var="childName"/>
+<assertEquals actual="childName" expected="&quot;newChild&quot;" id="nodeAppendChildAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeappendchildchildexists.xml b/test/testcases/tests/level1/core/nodeappendchildchildexists.xml
new file mode 100644
index 0000000..f8d1888
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeappendchildchildexists.xml
@@ -0,0 +1,60 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeappendchildchildexists">
+<metadata>
+<title>nodeAppendChildChildExists</title>
+<creator>NIST</creator>
+<description>
+ If the "newChild" is already in the tree, it is first
+ removed before the new one is appended.
+
+ Retrieve the first child of the second employee and
+ append the first child to the end of the list. After
+ the "appendChild(newChild)" method is invoked the first
+ child should be the one that was second and the last
+ child should be the one that was first.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="childNode" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="lchild" type="Node"/>
+<var name="fchild" type="Node"/>
+<var name="lchildName" type="DOMString"/>
+<var name="fchildName" type="DOMString"/>
+<var name="appendedChild" type="Node"/>
+<var name="initialName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="childNode"/>
+<firstChild interface="Node" obj="childNode" var="newChild"/>
+<nodeName var="initialName" obj="newChild"/>
+<appendChild var="appendedChild" obj="childNode" newChild="newChild"/>
+<firstChild interface="Node" obj="childNode" var="fchild"/>
+<nodeName obj="fchild" var="fchildName"/>
+<lastChild interface="Node" obj="childNode" var="lchild"/>
+<nodeName obj="lchild" var="lchildName"/>
+<if><equals actual="initialName" expected='"employeeId"' ignoreCase="false"/>
+ <assertEquals id="assert1_nowhitespace" actual="fchildName" expected='"name"' ignoreCase="false"/>
+ <assertEquals id="assert2_nowhitespace" actual="lchildName" expected='"employeeId"' ignoreCase="false"/>
+<else>
+ <assertEquals id="assert1" actual="fchildName" expected='"employeeId"' ignoreCase="false"/>
+ <assertEquals id="assert2" actual="lchildName" expected='"#text"' ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeappendchilddocfragment.xml b/test/testcases/tests/level1/core/nodeappendchilddocfragment.xml
new file mode 100644
index 0000000..b10cdc0
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeappendchilddocfragment.xml
@@ -0,0 +1,70 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeappendchilddocfragment">
+<metadata>
+<title>nodeAppendChildDocFragment</title>
+<creator>NIST</creator>
+<description>
+ Create and populate a new DocumentFragment object and
+ append it to the second employee. After the
+ "appendChild(newChild)" method is invoked retrieve the
+ new nodes at the end of the list, they should be the
+ two Element nodes from the DocumentFragment.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="newdocFragment" type="DocumentFragment"/>
+<var name="newChild1" type="Node"/>
+<var name="newChild2" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="result" type="List"/>
+<var name="nodeType" type="int"/>
+<var name="appendedChild" type="Node"/>
+<var name="expected" type="List">
+<member>"employeeId"</member>
+<member>"name"</member>
+<member>"position"</member>
+<member>"salary"</member>
+<member>"gender"</member>
+<member>"address"</member>
+<member>"newChild1"</member>
+<member>"newChild2"</member>
+</var>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc"
+ tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<createDocumentFragment obj="doc" var="newdocFragment"/>
+<createElement obj="doc" tagName="&quot;newChild1&quot;" var="newChild1"/>
+<createElement obj="doc" tagName="&quot;newChild2&quot;" var="newChild2"/>
+<appendChild var="appendedChild" obj="newdocFragment" newChild="newChild1"/>
+<appendChild var="appendedChild" obj="newdocFragment" newChild="newChild2"/>
+<appendChild var="appendedChild" obj="employeeNode" newChild="newdocFragment"/>
+<for-each collection="childList" member="child">
+<nodeType var="nodeType" obj="child"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <nodeName var="childName" obj="child"/>
+ <append collection="result" item="childName"/>
+</if>
+</for-each>
+<assertEquals actual="result" expected="expected" ignoreCase="false" id="elementNames"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeappendchildgetnodename.xml b/test/testcases/tests/level1/core/nodeappendchildgetnodename.xml
new file mode 100644
index 0000000..bf34ad1
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeappendchildgetnodename.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeappendchildgetnodename">
+<metadata>
+<title>nodeAppendChildGetNodeName</title>
+<creator>NIST</creator>
+<description>
+ The "appendChild(newChild)" method returns the node
+ added.
+
+ Append a newly created node to the child list of the
+ second employee and check the NodeName returned. The
+ "getNodeName()" method should return "newChild".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="newChild" type="Node"/>
+<var name="appendNode" type="Node"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<createElement obj="doc" tagName="&quot;newChild&quot;" var="newChild"/>
+<appendChild obj="employeeNode" newChild="newChild" var="appendNode"/>
+<nodeName obj="appendNode" var="childName"/>
+<assertEquals actual="childName" expected="&quot;newChild&quot;" id="nodeAppendChildGetNodeNameAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeappendchildinvalidnodetype.xml b/test/testcases/tests/level1/core/nodeappendchildinvalidnodetype.xml
new file mode 100644
index 0000000..fa17937
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeappendchildinvalidnodetype.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeappendchildinvalidnodetype">
+<metadata>
+<title>nodeAppendChildInvalidNodeType</title>
+<creator>NIST</creator>
+<description>
+ The "appendChild(newChild)" method raises a
+ HIERARCHY_REQUEST_ERR DOMException if this node is of
+ a type that does not allow children of the type "newChild"
+ to be inserted.
+
+ Retrieve the root node and attempt to append a newly
+ created Attr node. An Element node cannot have children
+ of the "Attr" type, therefore the desired exception
+ should be raised.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</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-184E7107"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Element"/>
+<var name="newChild" type="Node"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<documentElement obj="doc" var="rootNode"/>
+<createAttribute obj="doc" name="&quot;newAttribute&quot;" var="newChild"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<appendChild var="appendedChild" obj="rootNode" newChild="newChild"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeappendchildnewchilddiffdocument.xml b/test/testcases/tests/level1/core/nodeappendchildnewchilddiffdocument.xml
new file mode 100644
index 0000000..2d773bf
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeappendchildnewchilddiffdocument.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeappendchildnewchilddiffdocument">
+<metadata>
+<title>nodeAppendChildNewChildDiffDocument</title>
+<creator>NIST</creator>
+<description>
+ The "appendChild(newChild)" method raises a
+ WRONG_DOCUMENT_ERR DOMException if the "newChild" was
+ created from a different document than the one that
+ created this node.
+
+ Retrieve the second employee and attempt to append
+ a node created from a different document. An attempt
+ to make such a replacement should raise the desired
+ exception.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc1" type="Document"/>
+<var name="doc2" type="Document"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementNode" type="Node"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc1" href="staff" willBeModified="false"/>
+<load var="doc2" href="staff" willBeModified="true"/>
+<createElement obj="doc1" tagName="&quot;newChild&quot;" var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc2" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="elementNode"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<appendChild var="appendedChild" obj="elementNode" newChild="newChild"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeappendchildnodeancestor.xml b/test/testcases/tests/level1/core/nodeappendchildnodeancestor.xml
new file mode 100644
index 0000000..cb50075
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeappendchildnodeancestor.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeappendchildnodeancestor">
+<metadata>
+<title>nodeAppendChildNodeAncestor</title>
+<creator>NIST</creator>
+<description>
+ The "appendChild(newChild)" method raises a
+ HIERARCHY_REQUEST_ERR DOMException if the node to
+ append is one of this node's ancestors.
+
+ Retrieve the second employee and attempt to append
+ an ancestor node(root node) to it.
+ An attempt to make such an addition should raise the
+ desired exception.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</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-184E7107"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<documentElement obj="doc" var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<appendChild var="appendedChild" obj="employeeNode" newChild="newChild"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeappendchildnomodificationallowederr.xml b/test/testcases/tests/level1/core/nodeappendchildnomodificationallowederr.xml
new file mode 100644
index 0000000..f748185
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeappendchildnomodificationallowederr.xml
@@ -0,0 +1,61 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeappendchildnomodificationallowederr">
+<metadata>
+<title>nodeAppendChildNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "appendChild(newChild)" 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 "appendChild(newChild)" 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+<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="appendedNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item obj="genderList" index="2" var="genderNode" interface="NodeList"/>
+<firstChild interface="Node" var="entRef" obj="genderNode"/>
+<assertNotNull actual="entRef" id="entRefNotNull"/>
+<nodeType var="nodeType" obj="entRef"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+</if>
+<firstChild interface="Node" var="entElement" obj="entRef"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<createElement obj="doc" tagName='"text3"' var="createdNode"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<appendChild var="appendedNode" obj="entElement" newChild="createdNode"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeappendchildnomodificationallowederrEE.xml b/test/testcases/tests/level1/core/nodeappendchildnomodificationallowederrEE.xml
new file mode 100644
index 0000000..475ab94
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeappendchildnomodificationallowederrEE.xml
@@ -0,0 +1,46 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeappendchildnomodificationallowederrEE">
+<metadata>
+<title>nodeAppendChildNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "appendChild(newChild)" method causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Create an ent4 entity reference and the "appendChild(newChild)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<date qualifier="created">2001-08-21</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-184E7107')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodeappendchildnomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="entRef" type="Node"/>
+<var name="createdNode" type="Node"/>
+<var name="appendedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<createElement obj="doc" tagName="&quot;text3&quot;" var="createdNode"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<appendChild var="appendedNode" obj="entRef" newChild="createdNode"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeattributenodeattribute.xml b/test/testcases/tests/level1/core/nodeattributenodeattribute.xml
new file mode 100644
index 0000000..e3e7857
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeattributenodeattribute.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeattributenodeattribute">
+<metadata>
+<title>characterdataDeleteDataEnd</title>
+<creator>NIST</creator>
+<description>
+The "getAttributes()" method invoked on an Attribute
+Node returns null.
+
+Retrieve the first attribute from the last child of the
+first employee and invoke the "getAttributes()" method
+on the Attribute Node. It should return null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- Attr interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-637646024"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="addrAttr" type="NamedNodeMap"/>
+<var name="attrNode" type="Node"/>
+<var name="attrList" type="NamedNodeMap"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<attributes obj="testAddr" var="addrAttr"/>
+<item interface="NamedNodeMap" obj="addrAttr" var="attrNode" index="0"/>
+<attributes obj="attrNode" var="attrList"/>
+<assertNull actual="attrList" id="nodeAttributeNodeAttributeAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeattributenodename.xml b/test/testcases/tests/level1/core/nodeattributenodename.xml
new file mode 100644
index 0000000..2e540e6
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeattributenodename.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeattributenodename">
+<metadata>
+<title>nodeAttributeNodeName</title>
+<creator>NIST</creator>
+<description>
+
+ The string returned by the "getNodeName()" method for an
+
+ Attribute Node is the name of the Attribute.
+
+
+
+ Retrieve the Attribute named "domestic" from the last
+
+ child of the first employee and check the string returned
+
+ by the "getNodeName()" method. It should be equal to
+
+ "domestic".
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="addrAttr" type="Attr"/>
+<var name="attrName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<getAttributeNode obj="testAddr" name="&quot;domestic&quot;" var="addrAttr"/>
+<nodeName obj="addrAttr" var="attrName"/>
+<assertEquals actual="attrName" expected="&quot;domestic&quot;" id="nodeAttributeNodeNameAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeattributenodetype.xml b/test/testcases/tests/level1/core/nodeattributenodetype.xml
new file mode 100644
index 0000000..409970c
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeattributenodetype.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeattributenodetype">
+<metadata>
+<title>nodeAttributeNodeType</title>
+<creator>NIST</creator>
+<description>
+
+ The "getNodeType()" method for an Attribute Node
+
+ returns the constant value 2.
+
+
+
+ Retrieve the first attribute from the last child of
+
+ the first employee and invoke the "getNodeType()"
+
+ method. The method should return 2.
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="addrAttr" type="Attr"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<getAttributeNode obj="testAddr" name="&quot;domestic&quot;" var="addrAttr"/>
+<nodeType obj="addrAttr" var="nodeType"/>
+<assertEquals actual="nodeType" expected="2" id="nodeAttrNodeTypeAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeattributenodevalue.xml b/test/testcases/tests/level1/core/nodeattributenodevalue.xml
new file mode 100644
index 0000000..6a4a603
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeattributenodevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeattributenodevalue">
+<metadata>
+<title>nodeAttributeNodeValue</title>
+<creator>NIST</creator>
+<description>
+
+ The string returned by the "getNodeValue()" method for an
+
+ Attribute Node is the value of the Attribute.
+
+
+
+ Retrieve the Attribute named "domestic" from the last
+
+ child of the first employee and check the string returned
+
+ by the "getNodeValue()" method. It should be equal to
+
+ "Yes".
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="addrAttr" type="Attr"/>
+<var name="attrValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<getAttributeNode obj="testAddr" name="&quot;domestic&quot;" var="addrAttr"/>
+<nodeValue obj="addrAttr" var="attrValue"/>
+<assertEquals actual="attrValue" expected="&quot;Yes&quot;" id="nodeAttributeNodeValueAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodecdatasectionnodeattribute.xml b/test/testcases/tests/level1/core/nodecdatasectionnodeattribute.xml
new file mode 100644
index 0000000..69d7c5b
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodecdatasectionnodeattribute.xml
@@ -0,0 +1,50 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodecdatasectionnodeattribute">
+<metadata>
+<title>nodeCDATASectionNodeAttribute</title>
+<creator>NIST</creator>
+<description>
+The "getAttributes()" method invoked on a CDATASection
+Node returns null.
+
+Retrieve the CDATASection node contained inside the
+second child of the second employee and invoke the
+"getAttributes()" method on the CDATASection node.
+It should return null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- CDATASection interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-667469212"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="cdataName" type="Element"/>
+<var name="cdataNode" type="Node"/>
+<var name="attrList" type="NamedNodeMap"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;name&quot;"/>
+<item interface="NodeList" obj="elementList" index="1" var="cdataName"/>
+<lastChild interface="Node" obj="cdataName" var="cdataNode"/>
+<nodeType var="nodeType" obj="cdataNode"/>
+<if><notEquals actual="nodeType" expected="4" ignoreCase="false"/>
+ <createCDATASection var="cdataNode" obj="doc" data='""'/>
+</if>
+<attributes obj="cdataNode" var="attrList"/>
+<assertNull actual="attrList" id="cdataSection"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodecdatasectionnodename.xml b/test/testcases/tests/level1/core/nodecdatasectionnodename.xml
new file mode 100644
index 0000000..4c0d99b
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodecdatasectionnodename.xml
@@ -0,0 +1,48 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodecdatasectionnodename">
+<metadata>
+<title>nodeCDATASectionNodeName</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeName()" method for a
+ CDATASection Node is #cdata-section".
+
+ Retrieve the CDATASection node inside the second child
+ of the second employee and check the string returned
+ by the "getNodeName()" method. It should be equal to
+ "#cdata-section".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-667469212"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="cdataName" type="Element"/>
+<var name="cdataNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="cdataNodeName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;name&quot;"/>
+<item interface="NodeList" obj="elementList" index="1" var="cdataName"/>
+<lastChild interface="Node" obj="cdataName" var="cdataNode"/>
+<nodeType var="nodeType" obj="cdataNode"/>
+<if><notEquals actual="nodeType" expected="4" ignoreCase="false"/>
+ <createCDATASection var="cdataNode" obj="doc" data='""'/>
+</if>
+<nodeName obj="cdataNode" var="cdataNodeName"/>
+<assertEquals actual="cdataNodeName" expected='"#cdata-section"' id="cdataNodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodecdatasectionnodetype.xml b/test/testcases/tests/level1/core/nodecdatasectionnodetype.xml
new file mode 100644
index 0000000..9ffe7dc
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodecdatasectionnodetype.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodecdatasectionnodetype">
+<metadata>
+<title>nodeCDATASectionNodeType</title>
+<creator>NIST</creator>
+<description>
+ The "getNodeType()" method for a CDATASection Node
+ returns the constant value 4.
+
+ Retrieve the CDATASection node contained inside the
+ second child of the second employee and invoke the
+ "getNodeType()" method. The method should return 4.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-667469212"/>
+</metadata>
+<implementationAttribute name="coalescing" value="false"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testName" type="Element"/>
+<var name="cdataNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"name"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="testName"/>
+<lastChild interface="Node" obj="testName" var="cdataNode"/>
+<nodeType obj="cdataNode" var="nodeType"/>
+<if><equals actual="nodeType" expected="3" ignoreCase="false"/>
+ <createCDATASection var="cdataNode" obj="doc" data='""'/>
+ <nodeType obj="cdataNode" var="nodeType"/>
+</if>
+<assertEquals actual="nodeType" expected="4" id="nodeTypeCDATA" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodecdatasectionnodevalue.xml b/test/testcases/tests/level1/core/nodecdatasectionnodevalue.xml
new file mode 100644
index 0000000..905b114
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodecdatasectionnodevalue.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodecdatasectionnodevalue">
+<metadata>
+<title>nodeCDATASectionNodeValue</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeValue()" method for a
+ CDATASection Node is the content of the CDATASection.
+
+ Retrieve the CDATASection node inside the second child
+ of the second employee and check the string returned
+ by the "getNodeValue()" method. It should be equal to
+ "This is a CDATA Section with EntityReference number 2
+ &amp;ent2;".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-667469212"/>
+</metadata>
+<implementationAttribute name="coalescing" value="false"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="cdataName" type="Element"/>
+<var name="childList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="cdataNodeValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;name&quot;"/>
+<item interface="NodeList" obj="elementList" index="1" var="cdataName"/>
+<childNodes obj="cdataName" var="childList"/>
+<item interface="NodeList" obj="childList" index="1" var="child"/>
+<!-- if coalescing, create a CDATASection -->
+<if><isNull obj="child"/>
+ <createCDATASection var="child" obj="doc" data='"This is a CDATASection with EntityReference number 2 &amp;ent2;"'/>
+</if>
+<nodeValue obj="child" var="cdataNodeValue"/>
+<assertEquals actual="cdataNodeValue" expected='"This is a CDATASection with EntityReference number 2 &amp;ent2;"' id="value" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodechildnodes.xml b/test/testcases/tests/level1/core/nodechildnodes.xml
new file mode 100644
index 0000000..65bc32f
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodechildnodes.xml
@@ -0,0 +1,53 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodechildnodes">
+<metadata>
+<title>nodechildnodes</title>
+<creator>NIST</creator>
+<description>
+Collect the element names from Node.childNodes and check against expectations.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childNodes" type="NodeList"/>
+<var name="childNode" type="Node"/>
+<var name="childType" type="int"/>
+<var name="childName" type="DOMString"/>
+<var name="elementNames" type="List"/>
+<var name="expectedElementNames" type="List">
+ <member>"employeeId"</member>
+ <member>"name"</member>
+ <member>"position"</member>
+ <member>"salary"</member>
+ <member>"gender"</member>
+ <member>"address"</member>
+</var>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childNodes"/>
+<for-each collection="childNodes" member="childNode">
+ <nodeType var="childType" obj="childNode"/>
+ <if><equals actual="childType" expected="1" ignoreCase="false"/>
+ <nodeName var="childName" obj="childNode"/>
+ <append collection="elementNames" item="childName"/>
+ </if>
+</for-each>
+<assertEquals actual="elementNames" expected="expectedElementNames" id="elementNames" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodechildnodesappendchild.xml b/test/testcases/tests/level1/core/nodechildnodesappendchild.xml
new file mode 100644
index 0000000..8297b0a
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodechildnodesappendchild.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodechildnodesappendchild">
+<metadata>
+<title>nodechildnodesappendchild</title>
+<creator>NIST</creator>
+<description>
+Add an element and check that the previously retrieved childNodes NodeList
+is live.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-184E7107"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="createdNode" type="Node"/>
+<var name="expectedLength" type="int"/>
+<var name="length" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<length var="expectedLength" obj="childList" interface="NodeList"/>
+<increment var="expectedLength" value="1"/>
+<createElement obj="doc" var="createdNode" tagName='"text3"'/>
+<appendChild obj="employeeNode" newChild="createdNode" var="employeeNode"/>
+<length var="length" obj="childList" interface="NodeList"/>
+<assertEquals actual="length" expected="expectedLength" ignoreCase="false" id="childNodeLength"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodechildnodesempty.xml b/test/testcases/tests/level1/core/nodechildnodesempty.xml
new file mode 100644
index 0000000..5588e18
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodechildnodesempty.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodechildnodesempty">
+<metadata>
+<title>nodeChildNodesEmpty</title>
+<creator>NIST</creator>
+<description>
+ The "getChildNodes()" method returns a NodeList
+ that contains all children of this node. If there
+ are not any children, this is a NodeList that does not
+ contain any nodes.
+
+ Retrieve the Text node from the second child of the second
+ employee and invoke the "getChildNodes()" method. The
+ NodeList returned should not have any nodes.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="secondCNode" type="Node"/>
+<var name="textNode" type="Node"/>
+<var name="childNodesList" type="NodeList"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="1" var="secondCNode"/>
+<firstChild interface="Node" obj="secondCNode" var="textNode"/>
+<childNodes obj="textNode" var="childNodesList"/>
+<assertSize collection="childNodesList" size="0" id="nodeChildNodesEmptyAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodecloneattributescopied.xml b/test/testcases/tests/level1/core/nodecloneattributescopied.xml
new file mode 100644
index 0000000..ddfdc18
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodecloneattributescopied.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodecloneattributescopied">
+<metadata>
+<title>nodeCloneAttributesCopied</title>
+<creator>NIST</creator>
+<description>
+ If the cloneNode method is used to clone an
+ Element node, all the attributes of the Element are
+ copied along with their values.
+
+ Retrieve the last child of the second employee and invoke
+ the cloneNode method. The
+ duplicate node returned by the method should copy the
+ attributes associated with this node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="addressNode" type="Node"/>
+<var name="clonedNode" type="Node"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="attributeNode" type="Node"/>
+<var name="attributeName" type="DOMString"/>
+<var name="result" type="Collection"/>
+<var name="expectedResult" type="Collection">
+<member>"domestic"</member>
+<member>"street"</member>
+</var>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="addressNode"/>
+<cloneNode obj="addressNode" deep="false" var="clonedNode"/>
+<attributes obj="clonedNode" var="attributes"/>
+<for-each collection="attributes" member="attributeNode">
+<nodeName obj="attributeNode" var="attributeName"/>
+<append collection="result" item="attributeName"/>
+</for-each>
+<assertEquals actual="result" expected="expectedResult" id="nodeCloneAttributesCopiedAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeclonefalsenocopytext.xml b/test/testcases/tests/level1/core/nodeclonefalsenocopytext.xml
new file mode 100644
index 0000000..175c936
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeclonefalsenocopytext.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeclonefalsenocopytext">
+<metadata>
+<title>nodeCloneFalseNoCopyText</title>
+<creator>NIST</creator>
+<description>
+ The "cloneNode(deep)" method does not copy text unless it
+ is deep cloned.(Test for deep=false)
+
+ Retrieve the fourth child of the second employee and
+ the "cloneNode(deep)" method with deep=false. The
+ duplicate node returned by the method should not copy
+ any text data contained in this node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="childNode" type="Node"/>
+<var name="clonedNode" type="Node"/>
+<var name="lastChildNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="3" var="childNode"/>
+<cloneNode obj="childNode" deep="false" var="clonedNode"/>
+<lastChild interface="Node" obj="clonedNode" var="lastChildNode"/>
+<assertNull actual="lastChildNode" id="noTextNodes"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeclonegetparentnull.xml b/test/testcases/tests/level1/core/nodeclonegetparentnull.xml
new file mode 100644
index 0000000..dcaa41a
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeclonegetparentnull.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeclonegetparentnull">
+<metadata>
+<title>nodeCloneGetParentNull</title>
+<creator>NIST</creator>
+<description>
+ The duplicate node returned by the "cloneNode(deep)"
+ method does not have a ParentNode.
+
+ Retrieve the second employee and invoke the
+ "cloneNode(deep)" method with deep=false. The
+ duplicate node returned should return null when the
+ "getParentNode()" is invoked.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="clonedNode" type="Node"/>
+<var name="parentNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<cloneNode obj="employeeNode" deep="false" var="clonedNode"/>
+<parentNode interface="Node" obj="clonedNode" var="parentNode"/>
+<assertNull actual="parentNode" id="nodeCloneGetParentNullAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeclonenodefalse.xml b/test/testcases/tests/level1/core/nodeclonenodefalse.xml
new file mode 100644
index 0000000..e51c7d0
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeclonenodefalse.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeclonenodefalse">
+<metadata>
+<title>nodeCloneNodeFalse</title>
+<creator>NIST</creator>
+<description>
+ The "cloneNode(deep)" method returns a copy of the node
+ only if deep=false.
+
+ Retrieve the second employee and invoke the
+ "cloneNode(deep)" method with deep=false. The
+ method should only clone this node. The NodeName and
+ length of the NodeList are checked. The "getNodeName()"
+ method should return "employee" and the "getLength()"
+ method should return 0.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="clonedNode" type="Node"/>
+<var name="cloneName" type="DOMString"/>
+<var name="cloneChildren" type="NodeList"/>
+<var name="length" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<cloneNode obj="employeeNode" deep="false" var="clonedNode"/>
+<nodeName obj="clonedNode" var="cloneName"/>
+<assertEquals actual="cloneName" expected="&quot;employee&quot;" ignoreCase="false" id="name"/>
+<childNodes obj="clonedNode" var="cloneChildren"/>
+<length interface="NodeList" obj="cloneChildren" var="length"/>
+<assertEquals actual="length" expected="0" ignoreCase="false" id="length"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeclonenodetrue.xml b/test/testcases/tests/level1/core/nodeclonenodetrue.xml
new file mode 100644
index 0000000..812e235
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeclonenodetrue.xml
@@ -0,0 +1,83 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeclonenodetrue">
+<metadata>
+<title>nodeCloneNodeTrue</title>
+<creator>NIST</creator>
+<description>
+ The "cloneNode(deep)" method returns a copy of the node
+ and the subtree under it if deep=true.
+
+ Retrieve the second employee and invoke the
+ "cloneNode(deep)" method with deep=true. The
+ method should clone this node and the subtree under it.
+ The NodeName of each child in the returned node is
+ checked to insure the entire subtree under the second
+ employee was cloned.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="clonedNode" type="Node"/>
+<var name="clonedList" type="NodeList"/>
+<var name="clonedChild" type="Node"/>
+<var name="clonedChildName" type="DOMString"/>
+<var name="length" type="int"/>
+<var name="result" type="List"/>
+<var name="expectedWhitespace" type="List">
+<member>"#text"</member>
+<member>"employeeId"</member>
+<member>"#text"</member>
+<member>"name"</member>
+<member>"#text"</member>
+<member>"position"</member>
+<member>"#text"</member>
+<member>"salary"</member>
+<member>"#text"</member>
+<member>"gender"</member>
+<member>"#text"</member>
+<member>"address"</member>
+<member>"#text"</member>
+</var>
+<var name="expectedNoWhitespace" type="List">
+<member>"employeeId"</member>
+<member>"name"</member>
+<member>"position"</member>
+<member>"salary"</member>
+<member>"gender"</member>
+<member>"address"</member>
+</var>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes var="childList" obj="employeeNode"/>
+<length var="length" obj="childList" interface="NodeList"/>
+<cloneNode obj="employeeNode" deep="true" var="clonedNode"/>
+<childNodes obj="clonedNode" var="clonedList"/>
+<for-each collection="clonedList" member="clonedChild">
+<nodeName obj="clonedChild" var="clonedChildName"/>
+<append collection="result" item="clonedChildName"/>
+</for-each>
+<if><equals actual="length" expected="6" ignoreCase="false"/>
+ <assertEquals actual="result" expected="expectedNoWhitespace" id="nowhitespace" ignoreCase="false"/>
+<else>
+ <assertEquals actual="result" expected="expectedWhitespace" id="whitespace" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeclonetruecopytext.xml b/test/testcases/tests/level1/core/nodeclonetruecopytext.xml
new file mode 100644
index 0000000..a4cacc9
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeclonetruecopytext.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeclonetruecopytext">
+<metadata>
+<title>nodeclonetruecopytext</title>
+<creator>NIST</creator>
+<description>
+ Retrieve the second salary and
+ the "cloneNode(deep)" method with deep=true. The
+ duplicate node returned by the method should copy
+ any text data contained in this node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-3A0ED0A4"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="childList" type="NodeList"/>
+<var name="childNode" type="Node"/>
+<var name="clonedNode" type="Node"/>
+<var name="lastChildNode" type="Node"/>
+<var name="childValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"salary"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="childNode"/>
+<cloneNode obj="childNode" deep="true" var="clonedNode"/>
+<lastChild interface="Node" obj="clonedNode" var="lastChildNode"/>
+<nodeValue obj="lastChildNode" var="childValue"/>
+<assertEquals actual="childValue" expected='"35,000"' id="nodeCloneTrueCopyTextAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodecommentnodeattributes.xml b/test/testcases/tests/level1/core/nodecommentnodeattributes.xml
new file mode 100644
index 0000000..0a3b8c2
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodecommentnodeattributes.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodecommentnodeattributes">
+<metadata>
+<title>nodeCommentNodeAttributes</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributes()" method invoked on a Comment
+ Node returns null.
+
+ Find any comment that is an immediate child of the root
+ and assert that Node.attributes is null. Then create
+ a new comment node (in case they had been omitted) and
+ make the assertion.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=248"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="childList" type="NodeList"/>
+<var name="childNode" type="Node"/>
+<var name="attrList" type="NamedNodeMap"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<childNodes obj="doc" var="childList"/>
+<for-each collection="childList" member="childNode">
+<nodeType var="nodeType" obj="childNode"/>
+<if><equals actual="nodeType" expected="8"/>
+<attributes obj="childNode" var="attrList"/>
+<assertNull actual="attrList" id="attributesNull"/>
+</if>
+</for-each>
+<createComment var="childNode" obj="doc" data='"This is a comment"'/>
+<attributes obj="childNode" var="attrList"/>
+<assertNull actual="attrList" id="createdAttributesNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodecommentnodename.xml b/test/testcases/tests/level1/core/nodecommentnodename.xml
new file mode 100644
index 0000000..a907ba7
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodecommentnodename.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodecommentnodename">
+<metadata>
+<title>nodeCommentNodeName</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeName()" method for a
+ Comment Node is "#comment".
+
+ Retrieve the Comment node in the XML file
+ and check the string returned by the "getNodeName()"
+ method. It should be equal to "#comment".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="commentNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="commentNodeName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<childNodes obj="doc" var="elementList"/>
+<for-each collection="elementList" member="commentNode">
+<nodeType obj="commentNode" var="nodeType"/>
+<if>
+<equals actual="nodeType" expected="8" ignoreCase="false"/>
+<nodeName obj="commentNode" var="commentNodeName"/>
+<assertEquals actual="commentNodeName" expected="&quot;#comment&quot;"
+ id="commentNodeName" ignoreCase="false"/>
+</if>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level1/core/nodecommentnodetype.xml b/test/testcases/tests/level1/core/nodecommentnodetype.xml
new file mode 100644
index 0000000..d5817b5
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodecommentnodetype.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodecommentnodetype">
+<metadata>
+<title>nodeCommentNodeType</title>
+<creator>NIST</creator>
+<description>
+ The "getNodeType()" method for a Comment Node
+ returns the constant value 8.
+
+ Retrieve the nodes from the document and check for
+ a comment node and invoke the "getNodeType()" method. This should
+ return 8.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="testList" type="NodeList"/>
+<var name="commentNode" type="Node"/>
+<var name="commentNodeName" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<childNodes obj="doc" var="testList"/>
+<for-each collection="testList" member="commentNode">
+<nodeName obj="commentNode" var="commentNodeName"/>
+<if>
+<equals actual="commentNodeName" expected="&quot;#comment&quot;" ignoreCase="false"/>
+<nodeType obj="commentNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="8" id="nodeCommentNodeTypeAssert1" ignoreCase="false"/>
+</if>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level1/core/nodecommentnodevalue.xml b/test/testcases/tests/level1/core/nodecommentnodevalue.xml
new file mode 100644
index 0000000..4dc430c
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodecommentnodevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodecommentnodevalue">
+<metadata>
+<title>nodeCommentNodeValue</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeValue()" method for a
+ Comment Node is the content of the comment.
+
+ Retrieve the comment in the XML file and
+ check the string returned by the "getNodeValue()" method.
+ It should be equal to "This is comment number 1".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="commentNode" type="Node"/>
+<var name="commentName" type="DOMString"/>
+<var name="commentValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<childNodes obj="doc" var="elementList"/>
+<for-each collection="elementList" member="commentNode">
+<nodeName obj="commentNode" var="commentName"/>
+<if>
+<equals actual="commentName" expected="&quot;#comment&quot;" ignoreCase="false"/>
+<nodeValue obj="commentNode" var="commentValue"/>
+<assertEquals actual="commentValue" expected="&quot; This is comment number 1.&quot;" id="value" ignoreCase="false"/>
+</if>
+</for-each>
+</test>
diff --git a/test/testcases/tests/level1/core/nodedocumentfragmentnodename.xml b/test/testcases/tests/level1/core/nodedocumentfragmentnodename.xml
new file mode 100644
index 0000000..a1fdda6
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodedocumentfragmentnodename.xml
@@ -0,0 +1,39 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodedocumentfragmentnodename">
+<metadata>
+<title>nodeDocumentFragmentNodeName</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeName()" method for a
+ DocumentFragment Node is "#document-frament".
+
+ Retrieve the DOM document and invoke the
+ "createDocumentFragment()" method and check the string
+ returned by the "getNodeName()" method. It should be
+ equal to "#document-fragment".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docFragment" type="DocumentFragment"/>
+<var name="documentFragmentName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="docFragment"/>
+<nodeName obj="docFragment" var="documentFragmentName"/>
+<assertEquals actual="documentFragmentName" expected="&quot;#document-fragment&quot;" id="nodeDocumentFragmentNodeNameAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodedocumentfragmentnodetype.xml b/test/testcases/tests/level1/core/nodedocumentfragmentnodetype.xml
new file mode 100644
index 0000000..42e46da
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodedocumentfragmentnodetype.xml
@@ -0,0 +1,39 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodedocumentfragmentnodetype">
+<metadata>
+<title>nodeDocumentFragmentNodeType</title>
+<creator>NIST</creator>
+<description>
+ The "getNodeType()" method for a DocumentFragment Node
+ returns the constant value 11.
+
+ Invoke the "createDocumentFragment()" method and
+ examine the NodeType of the document fragment
+ returned by the "getNodeType()" method. The method
+ should return 11.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="documentFragmentNode" type="DocumentFragment"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="documentFragmentNode"/>
+<nodeType obj="documentFragmentNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="11" id="nodeDocumentFragmentNodeTypeAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodedocumentfragmentnodevalue.xml b/test/testcases/tests/level1/core/nodedocumentfragmentnodevalue.xml
new file mode 100644
index 0000000..906b5b9
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodedocumentfragmentnodevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodedocumentfragmentnodevalue">
+<metadata>
+<title>nodeDocumentFragmentNodeValue</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeValue()" method for a
+ DocumentFragment Node is null.
+
+ Retrieve the DOM document and invoke the
+ "createDocumentFragment()" method and check the string
+ returned by the "getNodeValue()" method. It should be
+ equal to null.
+</description>
+<contributor>Mary Brady</contributor>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3"/>
+<!--nodeValue attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<!-- Node.attributes -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docFragment" type="DocumentFragment"/>
+<var name="attrList" type="NamedNodeMap"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="docFragment"/>
+<!-- despite the name, this was the only assertion in the original test -->
+<attributes obj="docFragment" var="attrList"/>
+<assertNull actual="attrList" id="attributesNull"/>
+<!-- now actually test the initial value of nodeValue -->
+<nodeValue obj="docFragment" var="value"/>
+<assertNull actual="value" id="initiallyNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodedocumentnodeattribute.xml b/test/testcases/tests/level1/core/nodedocumentnodeattribute.xml
new file mode 100644
index 0000000..2fc6b8b
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodedocumentnodeattribute.xml
@@ -0,0 +1,34 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodedocumentnodeattribute">
+<metadata>
+<title>nodedocumentnodeattribute</title>
+<creator>NIST</creator>
+<description>
+The "getAttributes()" method invoked on a Document
+Node returns null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- Document interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="attrList" type="NamedNodeMap"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<attributes obj="doc" var="attrList"/>
+<assertNull actual="attrList" id="documentAttributesNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodedocumentnodename.xml b/test/testcases/tests/level1/core/nodedocumentnodename.xml
new file mode 100644
index 0000000..4560d2a
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodedocumentnodename.xml
@@ -0,0 +1,38 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodedocumentnodename">
+<metadata>
+<title>nodeDocumentNodeName</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeName()" method for a
+ Document Node is "#document".
+
+ Retrieve the DOM document and check the string returned
+ by the "getNodeName()" method. It should be equal to
+ "#document".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!-- Document interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="documentName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<nodeName obj="doc" var="documentName"/>
+<assertEquals actual="documentName" expected="&quot;#document&quot;"
+ id="documentNodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodedocumentnodetype.xml b/test/testcases/tests/level1/core/nodedocumentnodetype.xml
new file mode 100644
index 0000000..9f1e85d
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodedocumentnodetype.xml
@@ -0,0 +1,36 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodedocumentnodetype">
+<metadata>
+<title>nodeDocumentNodeType</title>
+<creator>NIST</creator>
+<description>
+The "getNodeType()" method for a Document Node
+returns the constant value 9.
+
+Retrieve the document and invoke the "getNodeType()"
+method. The method should return 9.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!-- Document interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<nodeType obj="doc" var="nodeType"/>
+<assertEquals actual="nodeType" expected="9" id="nodeDocumentNodeTypeAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodedocumentnodevalue.xml b/test/testcases/tests/level1/core/nodedocumentnodevalue.xml
new file mode 100644
index 0000000..6ff28e5
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodedocumentnodevalue.xml
@@ -0,0 +1,38 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodedocumentnodevalue">
+<metadata>
+<title>nodeDocumentNodeValue</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeValue()" method for a
+ Document Node is null.
+
+ Retrieve the DOM Document and check the string returned
+ by the "getNodeValue()" method. It should be equal to
+ null.
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!-- Document interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="documentValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<nodeValue obj="doc" var="documentValue"/>
+<assertNull actual="documentValue" id="documentNodeValueNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodedocumenttypenodename.xml b/test/testcases/tests/level1/core/nodedocumenttypenodename.xml
new file mode 100644
index 0000000..a168320
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodedocumenttypenodename.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodedocumenttypenodename">
+<metadata>
+<title>nodedocumenttypenodename</title>
+<creator>NIST</creator>
+<description>
+ Retrieve the DOCTYPE declaration from the XML file and
+ check the string returned by the "getNodeName()"
+ method. It should be equal to "staff" or "svg".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="documentTypeName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<nodeName obj="docType" var="documentTypeName"/>
+<if><contentType type="image/svg+xml"/>
+<assertEquals actual="documentTypeName" expected='"svg"' id="doctypeNameSVG" ignoreCase="false"/>
+<else>
+<assertEquals actual="documentTypeName" expected='"staff"' id="documentName" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/nodedocumenttypenodetype.xml b/test/testcases/tests/level1/core/nodedocumenttypenodetype.xml
new file mode 100644
index 0000000..30db085
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodedocumenttypenodetype.xml
@@ -0,0 +1,34 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodedocumenttypenodetype">
+<metadata>
+<title>nodedocumenttypenodetype</title>
+<creator>NIST</creator>
+<description>
+ The "getNodeType()" method for a DocumentType Node
+ returns the constant value 10.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="documentTypeNode" type="DocumentType"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="documentTypeNode"/>
+<assertNotNull actual="documentTypeNode" id="doctypeNotNull"/>
+<nodeType obj="documentTypeNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="10" id="nodeType" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodedocumenttypenodevalue.xml b/test/testcases/tests/level1/core/nodedocumenttypenodevalue.xml
new file mode 100644
index 0000000..188761a
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodedocumenttypenodevalue.xml
@@ -0,0 +1,33 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodedocumenttypenodevalue">
+<metadata>
+<title>nodedocumenttypenodevalue</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeValue()" method for a
+ DocumentType Node is null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="attrList" type="NamedNodeMap"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<attributes obj="docType" var="attrList"/>
+<assertNull actual="attrList" id="doctypeAttributesNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeelementnodeattributes.xml b/test/testcases/tests/level1/core/nodeelementnodeattributes.xml
new file mode 100644
index 0000000..3620d18
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeelementnodeattributes.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeelementnodeattributes">
+<metadata>
+<title>nodeElementNodeAttributes</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributes()" method invoked on an Element
+ Node returns a NamedNodeMap containing the attributes
+ of this node.
+
+ Retrieve the last child of the third employee and
+ invoke the "getAttributes()" method. It should return
+ a NamedNodeMap containing the attributes of the Element
+ node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="addrAttr" type="NamedNodeMap"/>
+<var name="attrNode" type="Node"/>
+<var name="attrName" type="DOMString"/>
+<var name="attrList" type="Collection"/>
+<var name="expected" type="Collection">
+<member>"domestic"</member>
+<member>"street"</member>
+</var>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="testAddr"/>
+<attributes obj="testAddr" var="addrAttr"/>
+<for-each collection="addrAttr" member="attrNode">
+<nodeName obj="attrNode" var="attrName"/>
+<append collection="attrList" item="attrName"/>
+</for-each>
+<assertEquals actual="attrList" expected="expected" id="nodeElementNodeValueAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeelementnodename.xml b/test/testcases/tests/level1/core/nodeelementnodename.xml
new file mode 100644
index 0000000..6f7028b
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeelementnodename.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeelementnodename">
+<metadata>
+<title>nodeElementNodeName</title>
+<creator>NIST</creator>
+<description>
+
+ The string returned by the "getNodeName()" method for an
+
+ Element Node is its tagName.
+
+
+
+ Retrieve the first Element Node(Root Node) of the
+
+ DOM object and check the string returned by the
+
+ "getNodeName()" method. It should be equal to its
+
+ tagName.
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=251"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementNode" type="Element"/>
+<var name="elementName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="elementNode"/>
+<nodeName obj="elementNode" var="elementName"/>
+<if><contentType type="image/svg+xml"/>
+<assertEquals actual="elementName" expected='"svg"' id="svgNodeName" ignoreCase="false"/>
+<else>
+<assertEquals actual="elementName" expected='"staff"' id="nodeElementNodeNameAssert1" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeelementnodetype.xml b/test/testcases/tests/level1/core/nodeelementnodetype.xml
new file mode 100644
index 0000000..84fdb9c
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeelementnodetype.xml
@@ -0,0 +1,36 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeelementnodetype">
+<metadata>
+<title>nodeElementNodeType</title>
+<creator>NIST</creator>
+<description>
+ The "getNodeType()" method for an Element Node
+ returns the constant value 1.
+
+ Retrieve the root node and invoke the "getNodeType()"
+ method. The method should return 1.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Element"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="rootNode"/>
+<nodeType obj="rootNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="1" id="nodeElementNodeTypeAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeelementnodevalue.xml b/test/testcases/tests/level1/core/nodeelementnodevalue.xml
new file mode 100644
index 0000000..cffc9d5
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeelementnodevalue.xml
@@ -0,0 +1,33 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeelementnodevalue">
+<metadata>
+<title>nodeElementNodeValue</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeValue()" method for an
+ Element Node is null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementNode" type="Element"/>
+<var name="elementValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<documentElement obj="doc" var="elementNode"/>
+<nodeValue obj="elementNode" var="elementValue"/>
+<assertNull actual="elementValue" id="elementNodeValueNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeentitynodeattributes.xml b/test/testcases/tests/level1/core/nodeentitynodeattributes.xml
new file mode 100644
index 0000000..b8806d2
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeentitynodeattributes.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeentitynodeattributes">
+<metadata>
+<title>nodeentitynodeattributes</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributes()" method invoked on an Entity
+ Node returns null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="entityNode" type="Node"/>
+<var name="attrList" type="NamedNodeMap"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="entities"/>
+<assertNotNull actual="entities" id="entitiesNotNull"/>
+<getNamedItem obj="entities" name='"ent1"' var="entityNode"/>
+<assertNotNull actual="entityNode" id="ent1NotNull"/>
+<attributes obj="entityNode" var="attrList"/>
+<assertNull actual="attrList" id="entityAttributesNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeentitynodename.xml b/test/testcases/tests/level1/core/nodeentitynodename.xml
new file mode 100644
index 0000000..e511a53
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeentitynodename.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeentitynodename">
+<metadata>
+<title>nodeEntityNodeName</title>
+<creator>NIST</creator>
+<description>
+Check the nodeName of the entity returned by DocumentType.entities.getNamedItem("ent1").
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="entityNode" type="Node"/>
+<var name="entityName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="entities"/>
+<assertNotNull actual="entities" id="entitiesNotNull"/>
+<getNamedItem obj="entities" name='"ent1"' var="entityNode"/>
+<assertNotNull actual="entityNode" id="entityNodeNotNull"/>
+<nodeName obj="entityNode" var="entityName"/>
+<assertEquals actual="entityName" expected='"ent1"' id="entityNodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeentitynodetype.xml b/test/testcases/tests/level1/core/nodeentitynodetype.xml
new file mode 100644
index 0000000..a033257
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeentitynodetype.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeentitynodetype">
+<metadata>
+<title>nodeEntityNodeType</title>
+<creator>NIST</creator>
+<description>
+ The "getNodeType()" method for an Entity Node
+ returns the constant value 6.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="entityNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="entities"/>
+<assertNotNull actual="entities" id="entitiesNotNull"/>
+<getNamedItem obj="entities" var="entityNode" name='"ent1"'/>
+<assertNotNull actual="entityNode" id="ent1NotNull"/>
+<nodeType obj="entityNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="6" id="entityNodeType" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeentitynodevalue.xml b/test/testcases/tests/level1/core/nodeentitynodevalue.xml
new file mode 100644
index 0000000..d02b393
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeentitynodevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeentitynodevalue">
+<metadata>
+<title>nodeEntityNodeValue</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeValue()" method for an
+ Entity Node is null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="entityNode" type="Node"/>
+<var name="entityValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="entities"/>
+<assertNotNull actual="entities" id="entitiesNotNull"/>
+<getNamedItem obj="entities" name='"ent1"' var="entityNode"/>
+<assertNotNull actual="entityNode" id="ent1NotNull"/>
+<nodeValue obj="entityNode" var="entityValue"/>
+<assertNull actual="entityValue" id="entityNodeValue"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeentityreferencenodeattributes.xml b/test/testcases/tests/level1/core/nodeentityreferencenodeattributes.xml
new file mode 100644
index 0000000..dd37ec9
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeentityreferencenodeattributes.xml
@@ -0,0 +1,43 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeentityreferencenodeattributes">
+<metadata>
+<title>nodeentityreferencenodeattributes</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributes()" method invoked on an EntityReference
+ Node returns null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="entRefAddr" type="Element"/>
+<var name="entRefNode" type="Node"/>
+<var name="attrList" type="NamedNodeMap"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"address"'/>
+<item interface="NodeList" obj="elementList" index="1" var="entRefAddr"/>
+<firstChild interface="Node" obj="entRefAddr" var="entRefNode"/>
+<nodeType var="nodeType" obj="entRefNode"/>
+<if><notEquals actual="nodeType" expected="5" ignoreCase="false"/>
+ <createEntityReference var="entRefNode" obj="doc" name='"ent2"'/>
+ <assertNotNull actual="entRefNode" id="createdEntRefNotNull"/>
+</if>
+<attributes obj="entRefNode" var="attrList"/>
+<assertNull actual="attrList" id="attrList"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeentityreferencenodename.xml b/test/testcases/tests/level1/core/nodeentityreferencenodename.xml
new file mode 100644
index 0000000..1cfc361
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeentityreferencenodename.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeentityreferencenodename">
+<metadata>
+<title>nodeEntityReferenceNodeName</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeName()" method for an
+ EntityReference Node is the name of the entity referenced.
+
+ Retrieve the first Entity Reference node from the last
+ child of the second employee and check the string
+ returned by the "getNodeName()" method. It should be
+ equal to "ent2".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="entRefAddr" type="Element"/>
+<var name="entRefNode" type="Node"/>
+<var name="entRefName" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc"
+ var="elementList" tagname='"address"'/>
+<item interface="NodeList" obj="elementList" index="1" var="entRefAddr"/>
+<firstChild interface="Node" obj="entRefAddr" var="entRefNode"/>
+<nodeType var="nodeType" obj="entRefNode"/>
+<if><notEquals actual="nodeType" expected="5" ignoreCase="false"/>
+ <createEntityReference var="entRefNode" obj="doc" name='"ent2"'/>
+ <assertNotNull actual="entRefNode" id="createdEntRefNotNull"/>
+</if>
+<nodeName obj="entRefNode" var="entRefName"/>
+<assertEquals actual="entRefName" expected='"ent2"' id="nodeEntityReferenceNodeNameAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeentityreferencenodetype.xml b/test/testcases/tests/level1/core/nodeentityreferencenodetype.xml
new file mode 100644
index 0000000..e512e17
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeentityreferencenodetype.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeentityreferencenodetype">
+<metadata>
+<title>nodeEntityReferenceNodeType</title>
+<creator>NIST</creator>
+<description>
+ The "getNodeType()" method for an EntityReference Node
+ returns the constant value 5.
+
+ Retrieve the EntityReference node from the last child
+ of the second employee and invoke the "getNodeType()"
+ method. The method should return 5.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="entRefAddr" type="Element"/>
+<var name="entRefNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc"
+ var="elementList" tagname='"address"'/>
+<item interface="NodeList" obj="elementList" index="1" var="entRefAddr"/>
+<firstChild interface="Node" obj="entRefAddr" var="entRefNode"/>
+<nodeType obj="entRefNode" var="nodeType"/>
+<if><equals actual="nodeType" expected="3" ignoreCase="false"/>
+ <createEntityReference var="entRefNode" obj="doc" name='"ent2"'/>
+ <assertNotNull actual="entRefNode" id="createdEntRefNotNull"/>
+ <nodeType obj="entRefNode" var="nodeType"/>
+</if>
+<assertEquals actual="nodeType" expected="5" id="entityNodeType" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeentityreferencenodevalue.xml b/test/testcases/tests/level1/core/nodeentityreferencenodevalue.xml
new file mode 100644
index 0000000..eef360e
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeentityreferencenodevalue.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeentityreferencenodevalue">
+<metadata>
+<title>nodeEntityReferenceNodeValue</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeValue()" method for an
+ EntityReference Node is null.
+
+ Retrieve the first Entity Reference node from the last
+ child of the second employee and check the string
+ returned by the "getNodeValue()" method. It should be
+ equal to null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="entRefAddr" type="Element"/>
+<var name="entRefNode" type="Node"/>
+<var name="entRefValue" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc"
+ var="elementList" tagname='"address"'/>
+<item interface="NodeList" obj="elementList" index="1" var="entRefAddr"/>
+<firstChild interface="Node" obj="entRefAddr" var="entRefNode"/>
+<nodeType var="nodeType" obj="entRefNode"/>
+<if><equals actual="nodeType" expected="3" ignoreCase="false"/>
+ <createEntityReference var="entRefNode" obj="doc" name='"ent2"'/>
+ <assertNotNull actual="entRefNode" id="createdEntRefNotNull"/>
+</if>
+<nodeValue obj="entRefNode" var="entRefValue"/>
+<assertNull actual="entRefValue" id="entRefNodeValue"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeentitysetnodevalue.xml b/test/testcases/tests/level1/core/nodeentitysetnodevalue.xml
new file mode 100644
index 0000000..6a1c836
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeentitysetnodevalue.xml
@@ -0,0 +1,43 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeentitysetnodevalue">
+<metadata>
+<title>nodeentitysetnodevalue</title>
+<creator>Curt Arnold</creator>
+<description>
+ The string returned by the "getNodeValue()" method for an
+ Entity Node is always null and "setNodeValue" should have no effect.
+</description>
+<date qualifier="created">2001-10-21</date>
+<!-- Node.nodeValue -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<!-- Entity interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-527DCFF2"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="entityNode" type="Node"/>
+<var name="entityValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="entities"/>
+<assertNotNull actual="entities" id="entitiesNotNull"/>
+<getNamedItem obj="entities" name='"ent1"' var="entityNode"/>
+<assertNotNull actual="entityNode" id="ent1NotNull"/>
+<nodeValue obj="entityNode" value='"This should have no effect"'/>
+<nodeValue obj="entityNode" var="entityValue"/>
+<assertNull actual="entityValue" id="nodeValueNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodegetfirstchild.xml b/test/testcases/tests/level1/core/nodegetfirstchild.xml
new file mode 100644
index 0000000..488eeef
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodegetfirstchild.xml
@@ -0,0 +1,41 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodegetfirstchild">
+<metadata>
+<title>nodegetfirstchild</title>
+<creator>NIST</creator>
+<description>
+ The "getFirstChild()" method returns the first child
+ of this node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="fchildNode" type="Node"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<firstChild interface="Node" obj="employeeNode" var="fchildNode"/>
+<nodeName obj="fchildNode" var="childName"/>
+<if><equals actual="childName" expected='"#text"' ignoreCase="false"/>
+<nextSibling var="fchildNode" obj="fchildNode" interface="Node"/>
+<nodeName obj="fchildNode" var="childName"/>
+</if>
+<assertEquals actual="childName" expected='"employeeId"' id="nodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodegetfirstchildnull.xml b/test/testcases/tests/level1/core/nodegetfirstchildnull.xml
new file mode 100644
index 0000000..cd67a6f
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodegetfirstchildnull.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodegetfirstchildnull">
+<metadata>
+<title>nodeGetFirstChildNull</title>
+<creator>NIST</creator>
+<description>
+
+ If there is not a first child then the "getFirstChild()"
+
+ method returns null.
+
+
+
+ Retrieve the Text node form the second child of the first
+
+ employee and invoke the "getFirstChild()" method. It
+
+ should return null.
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-169727388"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="secondChildNode" type="Node"/>
+<var name="textNode" type="Node"/>
+<var name="noChildNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="employeeNode"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<item interface="NodeList" obj="employeeList" index="1" var="secondChildNode"/>
+<firstChild interface="Node" obj="secondChildNode" var="textNode"/>
+<firstChild interface="Node" obj="textNode" var="noChildNode"/>
+<assertNull actual="noChildNode" id="nodeGetFirstChildNullAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodegetlastchild.xml b/test/testcases/tests/level1/core/nodegetlastchild.xml
new file mode 100644
index 0000000..27a55ad
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodegetlastchild.xml
@@ -0,0 +1,41 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodegetlastchild">
+<metadata>
+<title>nodegetlastchild</title>
+<creator>NIST</creator>
+<description>
+ The "getLastChild()" method returns the last child
+ of this node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="lchildNode" type="Node"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<lastChild interface="Node" obj="employeeNode" var="lchildNode"/>
+<nodeName obj="lchildNode" var="childName"/>
+<if><equals actual="childName" expected='"#text"' ignoreCase="false"/>
+<previousSibling interface="Node" obj="lchildNode" var="lchildNode"/>
+<nodeName obj="lchildNode" var="childName"/>
+</if>
+<assertEquals actual="childName" expected='"address"' id="nodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodegetlastchildnull.xml b/test/testcases/tests/level1/core/nodegetlastchildnull.xml
new file mode 100644
index 0000000..f493e1c
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodegetlastchildnull.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodegetlastchildnull">
+<metadata>
+<title>nodeGetLastChildNull</title>
+<creator>NIST</creator>
+<description>
+
+ If there is not a last child then the "getLastChild()"
+
+ method returns null.
+
+
+
+ Retrieve the Text node from the second child of the first
+
+ employee and invoke the "getLastChild()" method. It
+
+ should return null.
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-61AD09FB"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="secondChildNode" type="Node"/>
+<var name="textNode" type="Node"/>
+<var name="noChildNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="employeeNode"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<item interface="NodeList" obj="employeeList" index="1" var="secondChildNode"/>
+<firstChild interface="Node" obj="secondChildNode" var="textNode"/>
+<lastChild interface="Node" obj="textNode" var="noChildNode"/>
+<assertNull actual="noChildNode" id="nodeGetLastChildNullAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodegetnextsibling.xml b/test/testcases/tests/level1/core/nodegetnextsibling.xml
new file mode 100644
index 0000000..a77741f
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodegetnextsibling.xml
@@ -0,0 +1,41 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodegetnextsibling">
+<metadata>
+<title>nodegetnextsibling</title>
+<creator>NIST</creator>
+<description>
+ The "getNextSibling()" method returns the node immediately
+ following this node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeIdNode" type="Node"/>
+<var name="nsNode" type="Node"/>
+<var name="nsName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employeeId"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeIdNode"/>
+<nextSibling interface="Node" obj="employeeIdNode" var="nsNode"/>
+<nodeName obj="nsNode" var="nsName"/>
+<if><equals actual="nsName" expected='"#text"' ignoreCase="false"/>
+<nextSibling interface="Node" obj="nsNode" var="nsNode"/>
+<nodeName obj="nsNode" var="nsName"/>
+</if>
+<assertEquals actual="nsName" expected='"name"' id="nodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodegetnextsiblingnull.xml b/test/testcases/tests/level1/core/nodegetnextsiblingnull.xml
new file mode 100644
index 0000000..b9ab799
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodegetnextsiblingnull.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodegetnextsiblingnull">
+<metadata>
+<title>nodeGetNextSiblingNull</title>
+<creator>NIST</creator>
+<description>
+
+ If there is not a node immediately following this node the
+
+ "getNextSibling()" method returns null.
+
+
+
+ Retrieve the first child of the second employee and
+
+ invoke the "getNextSibling()" method. It should
+
+ be set to null.
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-6AC54C2F"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="lcNode" type="Node"/>
+<var name="nsNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<lastChild interface="Node" obj="employeeNode" var="lcNode"/>
+<nextSibling interface="Node" obj="lcNode" var="nsNode"/>
+<assertNull actual="nsNode" id="nodeGetNextSiblingNullAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodegetownerdocument.xml b/test/testcases/tests/level1/core/nodegetownerdocument.xml
new file mode 100644
index 0000000..414a607
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodegetownerdocument.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodegetownerdocument">
+<metadata>
+<title>nodeGetOwnerDocument</title>
+<creator>NIST</creator>
+<description>
+ The "getOwnerDocument()" method returns the Document
+ object associated with this node.
+
+ Retrieve the second employee and examine Document
+ returned by the "getOwnerDocument()" method. Invoke
+ the "getDocumentElement()" on the Document which will
+ return an Element that is equal to "staff".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#node-ownerDoc"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=251"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="docNode" type="Node"/>
+<var name="ownerDocument" type="Document"/>
+<var name="docElement" type="Element"/>
+<var name="elementName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="docNode"/>
+<ownerDocument obj="docNode" var="ownerDocument"/>
+<documentElement obj="ownerDocument" var="docElement"/>
+<nodeName obj="docElement" var="elementName"/>
+<if><contentType type="image/svg+xml"/>
+<assertEquals actual="elementName" expected='"svg"' id="svgTagName" ignoreCase="false"/>
+<else>
+<assertEquals actual="elementName" expected="&quot;staff&quot;" id="nodeGetOwnerDocumentAssert1" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/nodegetownerdocumentnull.xml b/test/testcases/tests/level1/core/nodegetownerdocumentnull.xml
new file mode 100644
index 0000000..ca50949
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodegetownerdocumentnull.xml
@@ -0,0 +1,31 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodegetownerdocumentnull">
+<metadata>
+<title>nodeGetOwnerDocumentNull</title>
+<creator>NIST</creator>
+<description>
+ The "getOwnerDocument()" method returns null if the target
+ node itself is a document.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#node-ownerDoc"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="ownerDocument" type="Document"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<ownerDocument obj="doc" var="ownerDocument"/>
+<assertNull actual="ownerDocument" id="documentOwnerDocumentNull"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodegetprevioussibling.xml b/test/testcases/tests/level1/core/nodegetprevioussibling.xml
new file mode 100644
index 0000000..9ee58f2
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodegetprevioussibling.xml
@@ -0,0 +1,41 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodegetprevioussibling">
+<metadata>
+<title>nodegetprevioussibling</title>
+<creator>NIST</creator>
+<description>
+ The "getPreviousSibling()" method returns the node
+ immediately preceding this node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="psNode" type="Node"/>
+<var name="psName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;name&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="nameNode"/>
+<previousSibling interface="Node" obj="nameNode" var="psNode"/>
+<nodeName obj="psNode" var="psName"/>
+<if><equals actual="psName" expected='"#text"' ignoreCase="false"/>
+<previousSibling interface="Node" obj="psNode" var="psNode"/>
+<nodeName obj="psNode" var="psName"/>
+</if>
+<assertEquals actual="psName" expected='"employeeId"' id="nodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodegetprevioussiblingnull.xml b/test/testcases/tests/level1/core/nodegetprevioussiblingnull.xml
new file mode 100644
index 0000000..6050c98
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodegetprevioussiblingnull.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodegetprevioussiblingnull">
+<metadata>
+<title>nodeGetPreviousSiblingNull</title>
+<creator>NIST</creator>
+<description>
+
+ If there is not a node immediately preceding this node the
+
+ "getPreviousSibling()" method returns null.
+
+
+
+ Retrieve the first child of the second employee and
+
+ invoke the "getPreviousSibling()" method. It should
+
+ be set to null.
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-640FB3C8"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="fcNode" type="Node"/>
+<var name="psNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="2" var="employeeNode"/>
+<firstChild interface="Node" obj="employeeNode" var="fcNode"/>
+<previousSibling interface="Node" obj="fcNode" var="psNode"/>
+<assertNull actual="psNode" id="nodeGetPreviousSiblingNullAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodehaschildnodes.xml b/test/testcases/tests/level1/core/nodehaschildnodes.xml
new file mode 100644
index 0000000..edc5151
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodehaschildnodes.xml
@@ -0,0 +1,39 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodehaschildnodes">
+<metadata>
+<title>nodeHasChildNodes</title>
+<creator>NIST</creator>
+<description>
+ The "hasChildNodes()" method returns true if the node
+ has children.
+
+ Retrieve the root node("staff") and invoke the
+ "hasChildNodes()" method. It should return the boolean
+ value "true".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<hasChildNodes obj="employeeNode" var="state"/>
+<assertTrue actual="state" id="nodeHasChildAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodehaschildnodesfalse.xml b/test/testcases/tests/level1/core/nodehaschildnodesfalse.xml
new file mode 100644
index 0000000..dd64125
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodehaschildnodesfalse.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodehaschildnodesfalse">
+<metadata>
+<title>nodeHasChildNodesFalse</title>
+<creator>NIST</creator>
+<description>
+ The "hasChildNodes()" method returns false if the node
+ does not have any children.
+
+ Retrieve the Text node inside the first child of the
+ second employee and invoke the "hasChildNodes()" method.
+ It should return the boolean value "false".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-810594187"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="employeeIdList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="textNode" type="Node"/>
+<var name="state" type="boolean"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="child"/>
+<childNodes obj="child" var="employeeIdList"/>
+<item interface="NodeList" obj="employeeIdList" index="1" var="employeeNode"/>
+<firstChild interface="Node" obj="employeeNode" var="textNode"/>
+<hasChildNodes obj="textNode" var="state"/>
+<assertFalse actual="state" id="nodeHasChildFalseAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeinsertbefore.xml b/test/testcases/tests/level1/core/nodeinsertbefore.xml
new file mode 100644
index 0000000..810b427
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeinsertbefore.xml
@@ -0,0 +1,87 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeinsertbefore">
+<metadata>
+<title>nodeInsertBefore</title>
+<creator>NIST</creator>
+<description>
+ The "insertBefore(newChild,refChild)" method inserts the
+ node "newChild" before the node "refChild".
+
+ Insert a newly created Element node before the eigth
+ child of the second employee and check the "newChild"
+ and "refChild" after insertion for correct placement.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="refChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="length" type="int"/>
+<var name="insertedNode" type="Node"/>
+<var name="actual" type="List"/>
+<var name="expectedWithWhitespace" type="List">
+<member>"#text"</member>
+<member>"employeeId"</member>
+<member>"#text"</member>
+<member>"name"</member>
+<member>"#text"</member>
+<member>"position"</member>
+<member>"#text"</member>
+<member>"newChild"</member>
+<member>"salary"</member>
+<member>"#text"</member>
+<member>"gender"</member>
+<member>"#text"</member>
+<member>"address"</member>
+<member>"#text"</member>
+</var>
+<var name="expectedWithoutWhitespace" type="List">
+<member>"employeeId"</member>
+<member>"name"</member>
+<member>"position"</member>
+<member>"newChild"</member>
+<member>"salary"</member>
+<member>"gender"</member>
+<member>"address"</member>
+</var>
+<var name="expected" type="List"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<length var="length" obj="childList" interface="NodeList"/>
+<if><equals actual="length" expected="6" ignoreCase="false"/>
+ <item interface="NodeList" obj="childList" index="3" var="refChild"/>
+ <assign var="expected" value="expectedWithoutWhitespace"/>
+ <else>
+ <item interface="NodeList" obj="childList" index="7" var="refChild"/>
+ <assign var="expected" value="expectedWithWhitespace"/>
+ </else>
+</if>
+<createElement obj="doc" tagName='"newChild"' var="newChild"/>
+<insertBefore var="insertedNode" obj="employeeNode" newChild="newChild" refChild="refChild"/>
+<for-each collection="childList" member="child">
+ <nodeName obj="child" var="childName"/>
+ <append collection="actual" item="childName"/>
+</for-each>
+<assertEquals actual="actual" expected="expected" id="nodeNames" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeinsertbeforedocfragment.xml b/test/testcases/tests/level1/core/nodeinsertbeforedocfragment.xml
new file mode 100644
index 0000000..6fd3579
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeinsertbeforedocfragment.xml
@@ -0,0 +1,63 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeinsertbeforedocfragment">
+<metadata>
+<title>nodeInsertBeforeDocFragment</title>
+<creator>NIST</creator>
+<description>
+ If the "newChild" is a DocumentFragment object then all
+ its children are inserted in the same order before the
+ the "refChild".
+
+ Create a DocumentFragment object and populate it with
+ two Element nodes. Retrieve the second employee and
+ insert the newly created DocumentFragment before its
+ fourth child. The second employee should now have two
+ extra children("newChild1" and "newChild2") at
+ positions fourth and fifth respectively.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="refChild" type="Node"/>
+<var name="newdocFragment" type="DocumentFragment"/>
+<var name="newChild1" type="Node"/>
+<var name="newChild2" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="appendedChild" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="3" var="refChild"/>
+<createDocumentFragment obj="doc" var="newdocFragment"/>
+<createElement obj="doc" tagName="&quot;newChild1&quot;" var="newChild1"/>
+<createElement obj="doc" tagName="&quot;newChild2&quot;" var="newChild2"/>
+<appendChild var="appendedChild" obj="newdocFragment" newChild="newChild1"/>
+<appendChild var="appendedChild" obj="newdocFragment" newChild="newChild2"/>
+<insertBefore var="insertedNode" obj="employeeNode" newChild="newdocFragment" refChild="refChild"/>
+<item interface="NodeList" obj="childList" index="3" var="child"/>
+<nodeName obj="child" var="childName"/>
+<assertEquals actual="childName" expected='"newChild1"' ignoreCase="false" id="childName3"/>
+<item interface="NodeList" obj="childList" index="4" var="child"/>
+<nodeName obj="child" var="childName"/>
+<assertEquals actual="childName" expected='"newChild2"' ignoreCase="false" id="childName4"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeinsertbeforeinvalidnodetype.xml b/test/testcases/tests/level1/core/nodeinsertbeforeinvalidnodetype.xml
new file mode 100644
index 0000000..3c0b3a7
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeinsertbeforeinvalidnodetype.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeinsertbeforeinvalidnodetype">
+<metadata>
+<title>nodeInsertBeforeInvalidNodeType</title>
+<creator>NIST</creator>
+<description>
+ The "insertBefore(newChild,refChild)" method raises a
+ HIERARCHY_REQUEST_ERR DOMException if this node is of
+ a type that does not allow children of the type "newChild"
+ to be inserted.
+
+ Retrieve the root node and attempt to insert a newly
+ created Attr node. An Element node cannot have children
+ of the "Attr" type, therefore the desired exception
+ should be raised.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</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-952280727"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Element"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="refChild" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<documentElement obj="doc" var="rootNode"/>
+<createAttribute obj="doc" name="&quot;newAttribute&quot;" var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="refChild"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<insertBefore var="insertedNode" obj="rootNode" newChild="newChild" refChild="refChild"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeinsertbeforenewchilddiffdocument.xml b/test/testcases/tests/level1/core/nodeinsertbeforenewchilddiffdocument.xml
new file mode 100644
index 0000000..46a8aad
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeinsertbeforenewchilddiffdocument.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeinsertbeforenewchilddiffdocument">
+<metadata>
+<title>nodeInsertBeforeNewChildDiffDocument</title>
+<creator>NIST</creator>
+<description>
+ The "insertBefore(newChild,refChild)" method raises a
+ WRONG_DOCUMENT_ERR DOMException if the "newChild" was
+ created from a different document than the one that
+ created this node.
+
+ Retrieve the second employee and attempt to insert a new
+ child that was created from a different document than the
+ one that created the second employee. An attempt to
+ insert such a child should raise the desired exception.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='WRONG_DOCUMENT_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='WRONG_DOCUMENT_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+<var name="doc1" type="Document"/>
+<var name="doc2" type="Document"/>
+<var name="refChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementNode" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<load var="doc1" href="staff" willBeModified="false"/>
+<load var="doc2" href="staff" willBeModified="true"/>
+<createElement obj="doc1" tagName="&quot;newChild&quot;" var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc2" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="elementNode"/>
+<firstChild var="refChild" obj="elementNode" interface="Node"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<insertBefore var="insertedNode" obj="elementNode" newChild="newChild" refChild="refChild"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeinsertbeforenewchildexists.xml b/test/testcases/tests/level1/core/nodeinsertbeforenewchildexists.xml
new file mode 100644
index 0000000..c202d0f
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeinsertbeforenewchildexists.xml
@@ -0,0 +1,89 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeinsertbeforenewchildexists">
+<metadata>
+<title>nodeInsertBeforeNewChildExists</title>
+<creator>NIST</creator>
+<description>
+ If the "newChild" is already in the tree, the
+ "insertBefore(newChild,refChild)" method must first
+ remove it before the insertion takes place.
+
+ Insert a node Element ("employeeId") that is already
+ present in the tree. The existing node should be
+ removed first and the new one inserted. The node is
+ inserted at a different position in the tree to assure
+ that it was indeed inserted.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="refChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="child" type="Node"/>
+<var name="length" type="int"/>
+<var name="childName" type="DOMString"/>
+<var name="insertedNode" type="Node"/>
+<var name="expectedWhitespace" type="List">
+<member>"#text"</member>
+<member>"#text"</member>
+<member>"name"</member>
+<member>"#text"</member>
+<member>"position"</member>
+<member>"#text"</member>
+<member>"salary"</member>
+<member>"#text"</member>
+<member>"gender"</member>
+<member>"#text"</member>
+<member>"employeeId"</member>
+<member>"address"</member>
+<member>"#text"</member>
+</var>
+<var name="expectedNoWhitespace" type="List">
+<member>"name"</member>
+<member>"position"</member>
+<member>"salary"</member>
+<member>"gender"</member>
+<member>"employeeId"</member>
+<member>"address"</member>
+</var>
+<var name="expected" type="List"/>
+<var name="result" type="List"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<length var="length" obj="childList" interface="NodeList"/>
+<if><equals actual="length" expected="6" ignoreCase="false"/>
+ <assign var="expected" value="expectedNoWhitespace"/>
+ <item interface="NodeList" obj="childList" index="5" var="refChild"/>
+ <item interface="NodeList" obj="childList" index="0" var="newChild"/>
+ <else>
+ <assign var="expected" value="expectedWhitespace"/>
+ <item interface="NodeList" obj="childList" index="11" var="refChild"/>
+ <item interface="NodeList" obj="childList" index="1" var="newChild"/>
+ </else>
+</if>
+<insertBefore var="insertedNode" obj="employeeNode" newChild="newChild" refChild="refChild"/>
+<for-each collection="childList" member="child">
+ <nodeName obj="child" var="childName"/>
+ <append collection="result" item="childName"/>
+</for-each>
+<assertEquals id="childNames" actual="result" expected="expected" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeinsertbeforenodeancestor.xml b/test/testcases/tests/level1/core/nodeinsertbeforenodeancestor.xml
new file mode 100644
index 0000000..6bcbea4
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeinsertbeforenodeancestor.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeinsertbeforenodeancestor">
+<metadata>
+<title>nodeInsertBeforeNodeAncestor</title>
+<creator>NIST</creator>
+<description>
+ The "insertBefore(newChild,refChild)" method raises a
+ HIERARCHY_REQUEST_ERR DOMException if the node to be
+ inserted is one of this nodes ancestors.
+
+ Retrieve the second employee and attempt to insert a
+ node that is one of its ancestors(root node). An
+ attempt to insert such a node should raise the
+ desired exception.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</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-952280727"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="refChild" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<documentElement obj="doc" var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="0" var="refChild"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<insertBefore var="insertedNode" obj="employeeNode" newChild="newChild" refChild="refChild"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeinsertbeforenodename.xml b/test/testcases/tests/level1/core/nodeinsertbeforenodename.xml
new file mode 100644
index 0000000..b8333a2
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeinsertbeforenodename.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeinsertbeforenodename">
+<metadata>
+<title>nodeInsertBeforeNodeName</title>
+<creator>NIST</creator>
+<description>
+ The "insertBefore(newChild,refchild)" method returns
+ the node being inserted.
+
+ Insert an Element node before the fourth
+ child of the second employee and check the node
+ returned from the "insertBefore(newChild,refChild)"
+ method. The node returned should be "newChild".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="refChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="3" var="refChild"/>
+<createElement obj="doc" tagName="&quot;newChild&quot;" var="newChild"/>
+<insertBefore obj="employeeNode" newChild="newChild" refChild="refChild" var="insertedNode"/>
+<nodeName obj="insertedNode" var="childName"/>
+<assertEquals actual="childName" expected="&quot;newChild&quot;" id="nodeInsertBeforeNodeNameAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeinsertbeforenomodificationallowederr.xml b/test/testcases/tests/level1/core/nodeinsertbeforenomodificationallowederr.xml
new file mode 100644
index 0000000..5fe4165
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeinsertbeforenomodificationallowederr.xml
@@ -0,0 +1,62 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeinsertbeforenomodificationallowederr">
+<metadata>
+<title>nodeInsertBeforeNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "insertBefore(newChild,refChild)" 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 "insertBefore(newChild,refChild)" 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+<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="insertedNode" type="Node"/>
+<var name="refChild" type="Node" isNull="true"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item obj="genderList" index="2" var="genderNode" interface="NodeList"/>
+<firstChild interface="Node" var="entRef" obj="genderNode"/>
+<assertNotNull actual="entRef" id="entRefNotNull"/>
+<nodeType var="nodeType" obj="entRef"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+</if>
+<firstChild interface="Node" var="entElement" obj="entRef"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<createElement obj="doc" tagName='"text3"' var="createdNode"/>
+<assertDOMException id="throw_NOT_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<insertBefore var="insertedNode" obj="entElement" newChild="createdNode" refChild="refChild"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeinsertbeforenomodificationallowederrEE.xml b/test/testcases/tests/level1/core/nodeinsertbeforenomodificationallowederrEE.xml
new file mode 100644
index 0000000..91033a4
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeinsertbeforenomodificationallowederrEE.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeinsertbeforenomodificationallowederrEE">
+<metadata>
+<title>nodeInsertBeforeNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "insertBefore(newChild,refChild)" method causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Create an ent4 entity reference and and execute the "insertBefore(newChild,refChild)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<date qualifier="created">2001-08-21</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodeinsertbeforenomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="entRef" type="Node"/>
+<var name="createdNode" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<var name="refChild" type="Node" isNull="true"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<createElement obj="doc" tagName='"text3"' var="createdNode"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<insertBefore var="insertedNode" obj="entRef" newChild="createdNode" refChild="refChild"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeinsertbeforerefchildnonexistent.xml b/test/testcases/tests/level1/core/nodeinsertbeforerefchildnonexistent.xml
new file mode 100644
index 0000000..196814e
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeinsertbeforerefchildnonexistent.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeinsertbeforerefchildnonexistent">
+<metadata>
+<title>nodeInsertBeforeRefChildNonexistent</title>
+<creator>NIST</creator>
+<description>
+ The "insertBefore(newChild,refChild)" method raises a
+ NOT_FOUND_ERR DOMException if the reference child is
+ not a child of this node.
+
+ Retrieve the second employee and attempt to insert a
+ new node before a reference node that is not a child
+ of this node. An attempt to insert before a non child
+ node should raise the desired exception.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-952280727')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="refChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementNode" type="Node"/>
+<var name="insertedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createElement obj="doc" tagName="&quot;newChild&quot;" var="newChild"/>
+<createElement obj="doc" tagName="&quot;refChild&quot;" var="refChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="elementNode"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<insertBefore var="insertedNode" obj="elementNode" newChild="newChild" refChild="refChild"/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeinsertbeforerefchildnull.xml b/test/testcases/tests/level1/core/nodeinsertbeforerefchildnull.xml
new file mode 100644
index 0000000..a104b02
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeinsertbeforerefchildnull.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeinsertbeforerefchildnull">
+<metadata>
+<title>nodeInsertBeforeRefChildNull</title>
+<creator>NIST</creator>
+<description>
+ If the "refChild" is null then the
+ "insertBefore(newChild,refChild)" method inserts the
+ node "newChild" at the end of the list of children.
+
+ Retrieve the second employee and invoke the
+ "insertBefore(newChild,refChild)" method with
+ refChild=null. Since "refChild" is null the "newChild"
+ should be added to the end of the list. The last item
+ in the list is checked after insertion. The last Element
+ node of the list should be "newChild".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-952280727"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="refChild" type="Node" isNull="true"/>
+<var name="newChild" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="insertedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<createElement obj="doc" tagName="&quot;newChild&quot;" var="newChild"/>
+<insertBefore var="insertedNode" obj="employeeNode" newChild="newChild" refChild="refChild"/>
+<lastChild interface="Node" obj="employeeNode" var="child"/>
+<nodeName obj="child" var="childName"/>
+<assertEquals actual="childName" expected="&quot;newChild&quot;" id="nodeInsertBeforeRefChildNullAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodelistindexequalzero.xml b/test/testcases/tests/level1/core/nodelistindexequalzero.xml
new file mode 100644
index 0000000..19b3a33
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodelistindexequalzero.xml
@@ -0,0 +1,43 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodelistindexequalzero">
+<metadata>
+<title>nodelistindexequalzero</title>
+<creator>NIST</creator>
+<description>
+ Create a list of all the children elements of the third
+ employee and access its first child by using an index
+ of 0.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--item-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"employee"'/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<item interface="NodeList" obj="employeeList" var="child" index="0"/>
+<nodeName obj="child" var="childName"/>
+<if><notEquals actual="childName" expected='"#text"' ignoreCase="false"/>
+<assertEquals actual="childName" expected='"employeeId"' id="childName" ignoreCase="false"/>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/nodelistindexgetlength.xml b/test/testcases/tests/level1/core/nodelistindexgetlength.xml
new file mode 100644
index 0000000..bd32f4f
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodelistindexgetlength.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodelistindexgetlength">
+<metadata>
+<title>nodelistIndexGetLength</title>
+<creator>NIST</creator>
+<description>
+ The "getLength()" method returns the number of nodes
+ in the list should be 6 (no whitespace) or 13.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--length attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="length" type="int"/>
+<var name="expectedCount" type="int" value="0"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;employee&quot;"/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<length var="length" obj="employeeList" interface="NodeList"/>
+<assertTrue id="lengthIs6or13">
+ <or>
+ <equals actual="length" expected="6" ignoreCase="false"/>
+ <equals actual="length" expected="13" ignoreCase="false"/>
+ </or>
+</assertTrue>
+</test>
diff --git a/test/testcases/tests/level1/core/nodelistindexgetlengthofemptylist.xml b/test/testcases/tests/level1/core/nodelistindexgetlengthofemptylist.xml
new file mode 100644
index 0000000..f33c17b
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodelistindexgetlengthofemptylist.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodelistindexgetlengthofemptylist">
+<metadata>
+<title>nodelistIndexGetLengthOfEmptyList</title>
+<creator>NIST</creator>
+<description>
+ The "getLength()" method returns the number of nodes
+ in the list.(Test for EMPTY list)
+
+ Create a list of all the children of the Text node
+ inside the first child of the third employee and
+ invoke the "getLength()" method. It should contain
+ the value 0.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--length attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="childNode" type="Node"/>
+<var name="textNode" type="Node"/>
+<var name="textList" type="NodeList"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;employee&quot;"/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<item interface="NodeList" obj="employeeList" var="childNode" index="1"/>
+<firstChild interface="Node" obj="childNode" var="textNode"/>
+<childNodes obj="textNode" var="textList"/>
+<assertSize collection="textList" size="0" id="nodelistIndexGetLengthOfEmptyListAssert"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodelistindexnotzero.xml b/test/testcases/tests/level1/core/nodelistindexnotzero.xml
new file mode 100644
index 0000000..f0331f0
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodelistindexnotzero.xml
@@ -0,0 +1,52 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodelistindexnotzero">
+<metadata>
+<title>nodelistIndexNotZero</title>
+<creator>NIST</creator>
+<description>
+ Create a list of all the children elements of the third
+ employee and access its fourth child by using an index
+ of 3. This should result in "name" being
+ selected. Further we evaluate its content(by using
+ the "getNodeName()" method) to ensure the proper
+ element was accessed.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--item-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="length" type="int"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;employee&quot;"/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<length var="length" obj="employeeList" interface="NodeList"/>
+<if><equals actual="length" expected="6" ignoreCase="false"/>
+ <item interface="NodeList" obj="employeeList" var="child" index="1"/>
+<else>
+ <item interface="NodeList" obj="employeeList" var="child" index="3"/>
+</else>
+</if>
+<nodeName obj="child" var="childName"/>
+<assertEquals actual="childName" expected='"name"'
+ id="nodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodelistreturnfirstitem.xml b/test/testcases/tests/level1/core/nodelistreturnfirstitem.xml
new file mode 100644
index 0000000..177c8e3
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodelistreturnfirstitem.xml
@@ -0,0 +1,46 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodelistreturnfirstitem">
+<metadata>
+<title>nodelistReturnFirstItem</title>
+<creator>NIST</creator>
+<description>
+Get the first child of the third employee using NodeList.item(0)
+which will either be a Text node (whitespace) or employeeId element.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="length" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname='"employee"'/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<item interface="NodeList" obj="employeeList" var="child" index="0"/>
+<nodeName obj="child" var="childName"/>
+<length var="length" obj="employeeList" interface="NodeList"/>
+<if><equals actual="length" expected="6" ignoreCase="false"/>
+<assertEquals actual="childName" expected='"employeeId"' ignoreCase="true" id="firstChildNoWhitespace"/>
+<else>
+<assertEquals actual="childName" expected='"#text"' ignoreCase="true" id="firstChildWithWhitespace"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/nodelistreturnlastitem.xml b/test/testcases/tests/level1/core/nodelistreturnlastitem.xml
new file mode 100644
index 0000000..fcf0700
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodelistreturnlastitem.xml
@@ -0,0 +1,48 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodelistreturnlastitem">
+<metadata>
+<title>nodelistReturnLastItem</title>
+<creator>NIST</creator>
+<description>
+Get this last child of the third employee using NodeList.item(NodeList.length - 1)
+and check that it is either a Text element (with whitespace) or an address element.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="length" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;employee&quot;"/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<length var="length" obj="employeeList" interface="NodeList"/>
+<if><equals actual="length" expected="6" ignoreCase="false"/>
+ <item interface="NodeList" obj="employeeList" var="child" index="5"/>
+ <nodeName obj="child" var="childName"/>
+ <assertEquals actual="childName" expected='"address"' id="nodeName1" ignoreCase="false"/>
+<else>
+ <item interface="NodeList" obj="employeeList" var="child" index="12"/>
+ <nodeName obj="child" var="childName"/>
+ <assertEquals actual="childName" expected='"#text"' id="nodeName2" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/nodelisttraverselist.xml b/test/testcases/tests/level1/core/nodelisttraverselist.xml
new file mode 100644
index 0000000..abbcd40
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodelisttraverselist.xml
@@ -0,0 +1,78 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodelisttraverselist">
+<metadata>
+<title>nodelistTraverseList</title>
+<creator>NIST</creator>
+<description>
+ The range of valid child node indices is 0 thru length -1
+
+ Create a list of all the children elements of the third
+ employee and traverse the list from index=0 thru
+ length -1.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--length attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-203510337"/>
+<!--item-->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-844377136"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="employeeList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="result" type="List"/>
+<var name="length" type="int"/>
+<var name="expectedWhitespace" type="List">
+<member>"#text"</member>
+<member>"employeeId"</member>
+<member>"#text"</member>
+<member>"name"</member>
+<member>"#text"</member>
+<member>"position"</member>
+<member>"#text"</member>
+<member>"salary"</member>
+<member>"#text"</member>
+<member>"gender"</member>
+<member>"#text"</member>
+<member>"address"</member>
+<member>"#text"</member>
+</var>
+<var name="expectedNoWhitespace" type="List">
+<member>"employeeId"</member>
+<member>"name"</member>
+<member>"position"</member>
+<member>"salary"</member>
+<member>"gender"</member>
+<member>"address"</member>
+</var>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;employee&quot;"/>
+<item interface="NodeList" obj="elementList" var="employeeNode" index="2"/>
+<childNodes obj="employeeNode" var="employeeList"/>
+<length var="length" obj="employeeList" interface="NodeList"/>
+<for-each collection="employeeList" member="child">
+ <nodeName obj="child" var="childName"/>
+ <append collection="result" item="childName"/>
+</for-each>
+<if><equals actual="length" expected="6" ignoreCase="false"/>
+ <assertEquals actual="result" expected="expectedNoWhitespace" id="nowhitespace" ignoreCase="false"/>
+<else>
+ <assertEquals actual="result" expected="expectedWhitespace" id="whitespace" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/nodenotationnodeattributes.xml b/test/testcases/tests/level1/core/nodenotationnodeattributes.xml
new file mode 100644
index 0000000..09d0152
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodenotationnodeattributes.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodenotationnodeattributes">
+<metadata>
+<title>nodeNotationNodeAttributes</title>
+<creator>NIST</creator>
+<description>
+ The "getAttributes()" method invoked on a Notation
+ Node returns null.
+
+ Retrieve the Notation declaration inside the DocumentType
+ node and invoke the "getAttributes()" method on the
+ Notation Node. It should return null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="notationNode" type="Node"/>
+<var name="attrList" type="NamedNodeMap"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="notations"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItem obj="notations" name='"notation1"' var="notationNode"/>
+<assertNotNull actual="notationNode" id="notationNotNull"/>
+<attributes obj="notationNode" var="attrList"/>
+<assertNull actual="attrList" id="nodeNotationNodeAttributesAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodenotationnodename.xml b/test/testcases/tests/level1/core/nodenotationnodename.xml
new file mode 100644
index 0000000..97cd2b3
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodenotationnodename.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodenotationnodename">
+<metadata>
+<title>nodeNotationNodeName</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeName()" method for a
+ Notation Node is the name of the notation.
+
+ Retrieve the Notation declaration inside the
+ DocumentType node and check the string returned
+ by the "getNodeName()" method. It should be equal to
+ "notation1".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="notationNode" type="Node"/>
+<var name="notationName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="notations"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItem obj="notations" name='"notation1"' var="notationNode"/>
+<assertNotNull actual="notationNode" id="notationNotNull"/>
+<nodeName obj="notationNode" var="notationName"/>
+<assertEquals actual="notationName" expected='"notation1"' id="nodeName" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodenotationnodetype.xml b/test/testcases/tests/level1/core/nodenotationnodetype.xml
new file mode 100644
index 0000000..c2243d4
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodenotationnodetype.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodenotationnodetype">
+<metadata>
+<title>nodeNotationNodeType</title>
+<creator>NIST</creator>
+<description>
+ The "getNodeType()" method for an Notation Node
+ returns the constant value 12.
+
+ Retrieve the Notation declaration in the DocumentType
+ node and invoke the "getNodeType()" method. The method
+ should return 12.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="notationNode" type="Notation"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="notations"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItem obj="notations" var="notationNode" name='"notation1"'/>
+<assertNotNull actual="notationNode" id="notationNotNull"/>
+<nodeType obj="notationNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="12" id="nodeNotationNodeTypeAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodenotationnodevalue.xml b/test/testcases/tests/level1/core/nodenotationnodevalue.xml
new file mode 100644
index 0000000..787ae9e
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodenotationnodevalue.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodenotationnodevalue">
+<metadata>
+<title>nodeNotationNodeValue</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeValue()" method for a
+ Notation Node is null.
+
+ Retrieve the Notation declaration inside the
+ DocumentType node and check the string returned
+ by the "getNodeValue()" method. It should be equal to
+ null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="notationNode" type="Node"/>
+<var name="notationValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="notations"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItem obj="notations" name="&quot;notation1&quot;" var="notationNode"/>
+<assertNotNull actual="notationNode" id="notationNotNull"/>
+<nodeValue obj="notationNode" var="notationValue"/>
+<assertNull actual="notationValue" id="nodeValue"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeparentnode.xml b/test/testcases/tests/level1/core/nodeparentnode.xml
new file mode 100644
index 0000000..1984a7b
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeparentnode.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeparentnode">
+<metadata>
+<title>nodeParentNode</title>
+<creator>NIST</creator>
+<description>
+ The "getParentNode()" method returns the parent
+ of this node.
+
+ Retrieve the second employee and invoke the
+ "getParentNode()" method on this node. It should
+ be set to "staff".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=251"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="parentNode" type="Node"/>
+<var name="parentName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<parentNode interface="Node" obj="employeeNode" var="parentNode"/>
+<nodeName obj="parentNode" var="parentName"/>
+<if><contentType type="image/svg+xml"/>
+<assertEquals actual="parentName" expected='"svg"' id="svgTagName" ignoreCase="false"/>
+<else>
+<assertEquals actual="parentName" expected='"staff"' id="nodeParentNodeAssert1" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeparentnodenull.xml b/test/testcases/tests/level1/core/nodeparentnodenull.xml
new file mode 100644
index 0000000..01dacd2
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeparentnodenull.xml
@@ -0,0 +1,37 @@
+<?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 "dom1.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeparentnodenull">
+<metadata>
+<title>nodeParentNodeNull</title>
+<creator>NIST</creator>
+<description>
+ The "getParentNode()" method invoked on a node that has
+ just been created and not yet added to the tree is null.
+
+ Create a new "employee" Element node using the
+ "createElement(name)" method from the Document interface.
+ Since this new node has not yet been added to the tree,
+ the "getParentNode()" method will return null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1060184317"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="createdNode" type="Element"/>
+<var name="parentNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<createElement obj="doc" tagName='"employee"' var="createdNode"/>
+<parentNode interface="Node" obj="createdNode" var="parentNode"/>
+<assertNull actual="parentNode" id="parentNode"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeprocessinginstructionnodeattributes.xml b/test/testcases/tests/level1/core/nodeprocessinginstructionnodeattributes.xml
new file mode 100644
index 0000000..100fc48
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeprocessinginstructionnodeattributes.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeprocessinginstructionnodeattributes">
+<metadata>
+<title>nodeProcessingInstructionNodeAttributes</title>
+<creator>NIST</creator>
+<description>
+
+ The "getAttributes()" method invoked on a Processing
+
+ Instruction Node returns null.
+
+
+
+ Retrieve the Processing Instruction node and invoke
+
+ the "getAttributes()" method. It should return null.
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="testList" type="NodeList"/>
+<var name="piNode" type="Node"/>
+<var name="attrList" type="NamedNodeMap"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<childNodes obj="doc" var="testList"/>
+<item interface="NodeList" obj="testList" index="0" var="piNode"/>
+<attributes obj="piNode" var="attrList"/>
+<assertNull actual="attrList" id="nodeProcessingInstructionNodeAttrAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeprocessinginstructionnodename.xml b/test/testcases/tests/level1/core/nodeprocessinginstructionnodename.xml
new file mode 100644
index 0000000..e26e024
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeprocessinginstructionnodename.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeprocessinginstructionnodename">
+<metadata>
+<title>nodeProcessingInstructionNodeName</title>
+<creator>NIST</creator>
+<description>
+
+ The string returned by the "getNodeName()" method for a
+
+ Processing Instruction Node is the target.
+
+
+
+ Retrieve the Processing Instruction Node in the XML file
+
+ and check the string returned by the "getNodeName()"
+
+ method. It should be equal to "XML-STYLE".
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="testList" type="NodeList"/>
+<var name="piNode" type="Node"/>
+<var name="piName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<childNodes obj="doc" var="testList"/>
+<item interface="NodeList" obj="testList" index="0" var="piNode"/>
+<nodeName obj="piNode" var="piName"/>
+<assertEquals actual="piName" expected="&quot;TEST-STYLE&quot;" id="nodeProcessingInstructionNodeNameAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeprocessinginstructionnodetype.xml b/test/testcases/tests/level1/core/nodeprocessinginstructionnodetype.xml
new file mode 100644
index 0000000..401dbbb
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeprocessinginstructionnodetype.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeprocessinginstructionnodetype">
+<metadata>
+<title>nodeProcessingInstructionNodeType</title>
+<creator>NIST</creator>
+<description>
+
+ The "getNodeType()" method for a Processing Instruction
+
+ node returns the constant value 7.
+
+
+
+ Retrieve a NodeList of child elements from the document.
+
+ Retrieve the first child and invoke the "getNodeType()"
+
+ method. The method should return 7.
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="testList" type="NodeList"/>
+<var name="piNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<childNodes obj="doc" var="testList"/>
+<item interface="NodeList" obj="testList" var="piNode" index="0"/>
+<nodeType obj="piNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="7" id="nodeProcessingInstructionNodeTypeAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeprocessinginstructionnodevalue.xml b/test/testcases/tests/level1/core/nodeprocessinginstructionnodevalue.xml
new file mode 100644
index 0000000..fa10a90
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeprocessinginstructionnodevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeprocessinginstructionnodevalue">
+<metadata>
+<title>nodeProcessingInstructionNodeValue</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeValue()" method for a
+ Processing Instruction Node is the content of the
+ Processing Instruction(exclude the target).
+
+ Retrieve the Processing Instruction node in the XML file
+ and check the string returned by the "getNodeValue()"
+ method. It should be equal to "PIDATA".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="testList" type="NodeList"/>
+<var name="piNode" type="Node"/>
+<var name="piValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<childNodes obj="doc" var="testList"/>
+<item interface="NodeList" obj="testList" index="0" var="piNode"/>
+<nodeValue obj="piNode" var="piValue"/>
+<assertEquals actual="piValue" expected="&quot;PIDATA&quot;" id="value" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodeprocessinginstructionsetnodevalue.xml b/test/testcases/tests/level1/core/nodeprocessinginstructionsetnodevalue.xml
new file mode 100644
index 0000000..78f0f65
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodeprocessinginstructionsetnodevalue.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodeprocessinginstructionsetnodevalue">
+<metadata>
+<title>nodeProcessingInstructionSetNodeValue</title>
+<creator>Curt Arnold</creator>
+<description>
+ Setting the nodeValue should change the value returned by
+ nodeValue and ProcessingInstruction.getData.
+</description>
+<date qualifier="created">2001-10-21</date>
+<!-- Node.nodeValue -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<!-- ProcessingInstruction interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1004215813"/>
+<!--data attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-837822393"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=181"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="testList" type="NodeList"/>
+<var name="piNode" type="Node"/>
+<var name="piValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<childNodes obj="doc" var="testList"/>
+<item interface="NodeList" obj="testList" index="0" var="piNode"/>
+<nodeValue obj="piNode" value='"Something different"'/>
+<nodeValue obj="piNode" var="piValue"/>
+<assertEquals actual="piValue" expected='"Something different"' id="nodeValue" ignoreCase="false"/>
+<data interface="ProcessingInstruction" obj="piNode" var="piValue"/>
+<assertEquals actual="piValue" expected='"Something different"' id="data" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/noderemovechild.xml b/test/testcases/tests/level1/core/noderemovechild.xml
new file mode 100644
index 0000000..4ccd597
--- /dev/null
+++ b/test/testcases/tests/level1/core/noderemovechild.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="noderemovechild">
+<metadata>
+<title>nodeRemoveChild</title>
+<creator>NIST</creator>
+<description>
+ The "removeChild(oldChild)" method removes the child node
+ indicated by "oldChild" from the list of children and
+ returns it.
+
+ Remove the first employee by invoking the
+ "removeChild(oldChild)" method an checking the
+ node returned by the "getParentNode()" method. It
+ should be set to null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Element"/>
+<var name="childList" type="NodeList"/>
+<var name="childToRemove" type="Node"/>
+<var name="removedChild" type="Node"/>
+<var name="parentNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<documentElement obj="doc" var="rootNode"/>
+<childNodes obj="rootNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="1" var="childToRemove"/>
+<removeChild obj="rootNode" var="removedChild" oldChild="childToRemove"/>
+<parentNode interface="Node" obj="removedChild" var="parentNode"/>
+<assertNull actual="parentNode" id="nodeRemoveChildAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/noderemovechildgetnodename.xml b/test/testcases/tests/level1/core/noderemovechildgetnodename.xml
new file mode 100644
index 0000000..33da6b7
--- /dev/null
+++ b/test/testcases/tests/level1/core/noderemovechildgetnodename.xml
@@ -0,0 +1,51 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="noderemovechildgetnodename">
+<metadata>
+<title>nodeRemoveChildGetNodeName</title>
+<creator>NIST</creator>
+<description>
+ Remove the first child of the second employee
+ and check the NodeName returned by the
+ "removeChild(oldChild)" method. The returned node
+ should have a NodeName equal to "#text" or employeeId depending on whitespace.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="removedChild" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="length" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<length var="length" obj="childList" interface="NodeList"/>
+<item interface="NodeList" obj="childList" index="0" var="oldChild"/>
+<removeChild obj="employeeNode" oldChild="oldChild" var="removedChild"/>
+<nodeName obj="removedChild" var="childName"/>
+<if><equals actual="length" expected="6" ignoreCase="false"/>
+ <assertEquals actual="childName" expected='"employeeId"' id="nowhitespace" ignoreCase="false"/>
+<else>
+ <assertEquals actual="childName" expected='"#text"' id="whitespace" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/noderemovechildnode.xml b/test/testcases/tests/level1/core/noderemovechildnode.xml
new file mode 100644
index 0000000..7d83ce3
--- /dev/null
+++ b/test/testcases/tests/level1/core/noderemovechildnode.xml
@@ -0,0 +1,57 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="noderemovechildnode">
+<metadata>
+<title>nodeRemoveChildNode</title>
+<creator>NIST</creator>
+<description>
+ Retrieve the second employee and remove its first child.
+ After the removal, the second employee should have five or twelve
+ children and the first child should now be the child
+ that used to be at the second position in the list.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="length" type="int"/>
+<var name="removedChild" type="Node"/>
+<var name="removedName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="0" var="oldChild"/>
+<removeChild var="removedChild" obj="employeeNode" oldChild="oldChild"/>
+<nodeName obj="removedChild" var="removedName"/>
+<item interface="NodeList" obj="childList" index="0" var="child"/>
+<nodeName obj="child" var="childName"/>
+<length interface="NodeList" obj="childList" var="length"/>
+<if><equals actual="length" expected="5" ignoreCase="false"/>
+ <assertEquals actual="removedName" expected='"employeeId"' ignoreCase="false" id="removedNameNoWhitespace"/>
+ <assertEquals actual="childName" expected='"name"' ignoreCase="false" id="childNameNoWhitespace"/>
+<else>
+ <assertEquals actual="removedName" expected='"#text"' ignoreCase="false" id="removedName"/>
+ <assertEquals actual="childName" expected='"employeeId"' ignoreCase="false" id="childName"/>
+ <assertEquals actual="length" expected="12" ignoreCase="false" id="length"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/noderemovechildnomodificationallowederr.xml b/test/testcases/tests/level1/core/noderemovechildnomodificationallowederr.xml
new file mode 100644
index 0000000..72c050a
--- /dev/null
+++ b/test/testcases/tests/level1/core/noderemovechildnomodificationallowederr.xml
@@ -0,0 +1,59 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="noderemovechildnomodificationallowederr">
+<metadata>
+<title>nodeRemoveChildNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "removeChild(oldChild)" 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 "removeChild(oldChild)" 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1734834066')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+</metadata>
+<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="removedNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item obj="genderList" index="2" var="genderNode" interface="NodeList"/>
+<firstChild interface="Node" var="entRef" obj="genderNode"/>
+<assertNotNull actual="entRef" id="entRefNotNull"/>
+<nodeType var="nodeType" obj="entRef"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+</if>
+<firstChild interface="Node" var="entElement" obj="entRef"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<removeChild var="removedNode" obj="entRef" oldChild="entElement"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/noderemovechildnomodificationallowederrEE.xml b/test/testcases/tests/level1/core/noderemovechildnomodificationallowederrEE.xml
new file mode 100644
index 0000000..47dc24d
--- /dev/null
+++ b/test/testcases/tests/level1/core/noderemovechildnomodificationallowederrEE.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="noderemovechildnomodificationallowederrEE">
+<metadata>
+<title>nodeRemoveChildNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "removeChild(oldChild)" method causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Create an entity reference and execute the "removeChild(oldChild)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<date qualifier="created">2001-08-21</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1734834066')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/noderemovechildnomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="entRef" type="Node"/>
+<var name="entText" type="Node"/>
+<var name="removedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<firstChild interface="Node" var="entText" obj="entRef"/>
+<assertNotNull actual="entText" id="entTextNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<removeChild var="removedNode" obj="entRef" oldChild="entText"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/noderemovechildoldchildnonexistent.xml b/test/testcases/tests/level1/core/noderemovechildoldchildnonexistent.xml
new file mode 100644
index 0000000..472de7a
--- /dev/null
+++ b/test/testcases/tests/level1/core/noderemovechildoldchildnonexistent.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="noderemovechildoldchildnonexistent">
+<metadata>
+<title>nodeRemoveChildOldChildNonexistent</title>
+<creator>NIST</creator>
+<description>
+ The "removeChild(oldChild)" method raises a
+ NOT_FOUND_ERR DOMException if the old child is
+ not a child of this node.
+
+ Retrieve the second employee and attempt to remove a
+ node that is not one of its children. An attempt to
+ remove such a node should raise the desired exception.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-1734834066')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1734834066"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="oldChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementNode" type="Node"/>
+<var name="removedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createElement obj="doc" tagName="&quot;oldChild&quot;" var="oldChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="elementNode"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<removeChild var="removedChild" obj="elementNode" oldChild="oldChild"/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodereplacechild.xml b/test/testcases/tests/level1/core/nodereplacechild.xml
new file mode 100644
index 0000000..4e6b4e5
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodereplacechild.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodereplacechild">
+<metadata>
+<title>nodeReplaceChild</title>
+<creator>NIST</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" method replaces
+ the node "oldChild" with the node "newChild".
+
+ Replace the first element of the second employee with
+ a newly created Element node. Check the first position
+ after the replacement operation is completed. The new
+ Element should be "newChild".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childName" type="DOMString"/>
+<var name="replacedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="0" var="oldChild"/>
+<createElement obj="doc" tagName="&quot;newChild&quot;" var="newChild"/>
+<replaceChild var="replacedNode" obj="employeeNode" newChild="newChild" oldChild="oldChild"/>
+<item interface="NodeList" obj="childList" index="0" var="child"/>
+<nodeName obj="child" var="childName"/>
+<assertEquals actual="childName" expected="&quot;newChild&quot;" id="nodeReplaceChildAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodereplacechildinvalidnodetype.xml b/test/testcases/tests/level1/core/nodereplacechildinvalidnodetype.xml
new file mode 100644
index 0000000..4ca9203
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodereplacechildinvalidnodetype.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodereplacechildinvalidnodetype">
+<metadata>
+<title>nodeReplaceChildInvalidNodeType</title>
+<creator>NIST</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" method raises a
+ HIERARCHY_REQUEST_ERR DOMException if this node is of
+ a type that does not allow children of the type "newChild"
+ to be inserted.
+
+ Retrieve the root node and attempt to replace
+ one of its children with a newly created Attr node.
+ An Element node cannot have children of the "Attr"
+ type, therefore the desired exception should be raised.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</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-785887307"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="rootNode" type="Element"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="replacedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<documentElement obj="doc" var="rootNode"/>
+<createAttribute obj="doc" name="&quot;newAttribute&quot;" var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="oldChild"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<replaceChild var="replacedChild" obj="rootNode" newChild="newChild" oldChild="oldChild"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodereplacechildnewchilddiffdocument.xml b/test/testcases/tests/level1/core/nodereplacechildnewchilddiffdocument.xml
new file mode 100644
index 0000000..d441e65
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodereplacechildnewchilddiffdocument.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodereplacechildnewchilddiffdocument">
+<metadata>
+<title>nodeReplaceChildNewChildDiffDocument</title>
+<creator>NIST</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" method raises a
+ WRONG_DOCUMENT_ERR DOMException if the "newChild" was
+ created from a different document than the one that
+ created this node.
+
+ Retrieve the second employee and attempt to replace one
+ of its children with a node created from a different
+ document. An attempt to make such a replacement
+ should raise the desired exception.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+</metadata>
+<var name="doc1" type="Document"/>
+<var name="doc2" type="Document"/>
+<var name="oldChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementNode" type="Node"/>
+<var name="replacedChild" type="Node"/>
+<load var="doc1" href="staff" willBeModified="false"/>
+<load var="doc2" href="staff" willBeModified="true"/>
+<createElement obj="doc1" tagName="&quot;newChild&quot;" var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc2" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="elementNode"/>
+<firstChild obj="elementNode" var="oldChild" interface="Node"/>
+<assertDOMException id="throw_WRONG_DOCUMENT_ERR">
+<WRONG_DOCUMENT_ERR>
+<replaceChild var="replacedChild" obj="elementNode" newChild="newChild" oldChild="oldChild"/>
+</WRONG_DOCUMENT_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodereplacechildnewchildexists.xml b/test/testcases/tests/level1/core/nodereplacechildnewchildexists.xml
new file mode 100644
index 0000000..87a05eb
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodereplacechildnewchildexists.xml
@@ -0,0 +1,84 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodereplacechildnewchildexists">
+<metadata>
+<title>nodeReplaceChildNewChildExists</title>
+<creator>NIST</creator>
+<description>
+ Retrieve the second employee and replace its TWELFTH
+ child(address) with its SECOND child(employeeId). After the
+ replacement the second child should now be the one that used
+ to be at the third position and the TWELFTH child should be the
+ one that used to be at the SECOND position.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node" isNull="true"/>
+<var name="newChild" type="Node" isNull="true"/>
+<var name="childName" type="DOMString"/>
+<var name="childNode" type="Node"/>
+<var name="length" type="int"/>
+<var name="actual" type="List"/>
+<var name="expected" type="List"/>
+<var name="expectedWithoutWhitespace" type="List">
+<member>"name"</member>
+<member>"position"</member>
+<member>"salary"</member>
+<member>"gender"</member>
+<member>"employeeId"</member>
+</var>
+<var name="expectedWithWhitespace" type="List">
+<member>"#text"</member>
+<member>"#text"</member>
+<member>"name"</member>
+<member>"#text"</member>
+<member>"position"</member>
+<member>"#text"</member>
+<member>"salary"</member>
+<member>"#text"</member>
+<member>"gender"</member>
+<member>"#text"</member>
+<member>"employeeId"</member>
+<member>"#text"</member>
+</var>
+<var name="replacedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname='"employee"' var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<length var="length" obj="childList" interface="NodeList"/>
+<if><equals actual="length" expected="13" ignoreCase="false"/>
+ <item interface="NodeList" obj="childList" index="1" var="newChild"/>
+ <item interface="NodeList" obj="childList" index="11" var="oldChild"/>
+ <assign var="expected" value="expectedWithWhitespace"/>
+<else>
+ <item interface="NodeList" obj="childList" index="0" var="newChild"/>
+ <item interface="NodeList" obj="childList" index="5" var="oldChild"/>
+ <assign var="expected" value="expectedWithoutWhitespace"/>
+</else>
+</if>
+<replaceChild var="replacedChild" obj="employeeNode" newChild="newChild" oldChild="oldChild"/>
+<assertSame actual="replacedChild" expected="oldChild" id="return_value_same"/>
+<for-each collection="childList" member="childNode">
+ <nodeName var="childName" obj="childNode"/>
+ <append collection="actual" item="childName"/>
+</for-each>
+<assertEquals actual="actual" expected="expected" id="childNames" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodereplacechildnodeancestor.xml b/test/testcases/tests/level1/core/nodereplacechildnodeancestor.xml
new file mode 100644
index 0000000..8073e13
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodereplacechildnodeancestor.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodereplacechildnodeancestor">
+<metadata>
+<title>nodeReplaceChildNodeAncestor</title>
+<creator>NIST</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" method raises a
+ HIERARCHY_REQUEST_ERR DOMException if the node to put
+ in is one of this node's ancestors.
+
+ Retrieve the second employee and attempt to replace
+ one of its children with an ancestor node(root node).
+ An attempt to make such a replacement should raise the
+ desired exception.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</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-785887307"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='HIERARCHY_REQUEST_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="replacedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<documentElement obj="doc" var="newChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<item interface="NodeList" obj="childList" index="0" var="oldChild"/>
+<assertDOMException id="throw_HIERARCHY_REQUEST_ERR">
+<HIERARCHY_REQUEST_ERR>
+<replaceChild var="replacedNode" obj="employeeNode" newChild="newChild" oldChild="oldChild"/>
+</HIERARCHY_REQUEST_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodereplacechildnodename.xml b/test/testcases/tests/level1/core/nodereplacechildnodename.xml
new file mode 100644
index 0000000..174f104
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodereplacechildnodename.xml
@@ -0,0 +1,54 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodereplacechildnodename">
+<metadata>
+<title>nodeReplaceChildNodeName</title>
+<creator>NIST</creator>
+<description>
+ Replace the second Element of the second employee with
+ a newly created node Element and check the NodeName
+ returned by the "replaceChild(newChild,oldChild)"
+ method. The returned node should have a NodeName equal
+ to "employeeId".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="employeeNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="oldChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="replacedNode" type="Node"/>
+<var name="length" type="int"/>
+<var name="childName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="employeeNode"/>
+<childNodes obj="employeeNode" var="childList"/>
+<length var="length" obj="childList" interface="NodeList"/>
+<item interface="NodeList" obj="childList" index="1" var="oldChild"/>
+<createElement obj="doc" tagName="&quot;newChild&quot;" var="newChild"/>
+<replaceChild obj="employeeNode" newChild="newChild" oldChild="oldChild" var="replacedNode"/>
+<nodeName obj="replacedNode" var="childName"/>
+<if><equals actual="length" expected="6" ignoreCase="false"/>
+ <assertEquals actual="childName" expected='"name"' id="nowhitespace" ignoreCase="false"/>
+<else>
+ <assertEquals actual="childName" expected='"employeeId"' id="whitespace" ignoreCase="false"/>
+</else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/nodereplacechildnomodificationallowederr.xml b/test/testcases/tests/level1/core/nodereplacechildnomodificationallowederr.xml
new file mode 100644
index 0000000..83e061d
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodereplacechildnomodificationallowederr.xml
@@ -0,0 +1,60 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodereplacechildnomodificationallowederr">
+<metadata>
+<title>nodeReplaceChildNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" 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 "replaceChild(newChild,oldChild)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<contributor>Mary Brady</contributor>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2001-08-22</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+</metadata>
+<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="replacedChild" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item obj="genderList" index="2" var="genderNode" interface="NodeList"/>
+<firstChild interface="Node" var="entRef" obj="genderNode"/>
+<nodeType var="nodeType" obj="entRef"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+</if>
+<firstChild interface="Node" var="entElement" obj="entRef"/>
+<createElement obj="doc" tagName="&quot;newChild&quot;" var="createdNode"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<replaceChild var="replacedChild" obj="entRef" newChild="createdNode" oldChild="entElement"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodereplacechildnomodificationallowederrEE.xml b/test/testcases/tests/level1/core/nodereplacechildnomodificationallowederrEE.xml
new file mode 100644
index 0000000..9007392
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodereplacechildnomodificationallowederrEE.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodereplacechildnomodificationallowederrEE">
+<metadata>
+<title>nodeReplaceChildNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" method causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Create an entity reference execute the "replaceChild(newChild,oldChild)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodereplacechildnomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="entRef" type="Node"/>
+<var name="entText" type="Node"/>
+<var name="createdNode" type="Node"/>
+<var name="replacedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<firstChild interface="Node" var="entText" obj="entRef"/>
+<createElement obj="doc" tagName="&quot;newChild&quot;" var="createdNode"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<replaceChild var="replacedChild" obj="entRef" newChild="createdNode" oldChild="entText"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodereplacechildoldchildnonexistent.xml b/test/testcases/tests/level1/core/nodereplacechildoldchildnonexistent.xml
new file mode 100644
index 0000000..e0d8c60
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodereplacechildoldchildnonexistent.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodereplacechildoldchildnonexistent">
+<metadata>
+<title>nodeReplaceChildOldChildNonexistent</title>
+<creator>NIST</creator>
+<description>
+ The "replaceChild(newChild,oldChild)" method raises a
+ NOT_FOUND_ERR DOMException if the old child is
+ not a child of this node.
+
+ Retrieve the second employee and attempt to replace a
+ node that is not one of its children. An attempt to
+ replace such a node should raise the desired exception.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-785887307')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NOT_FOUND_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-785887307"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="oldChild" type="Node"/>
+<var name="newChild" type="Node"/>
+<var name="elementList" type="NodeList"/>
+<var name="elementNode" type="Node"/>
+<var name="replacedNode" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createElement obj="doc" tagName="&quot;newChild&quot;" var="newChild"/>
+<createElement obj="doc" tagName="&quot;oldChild&quot;" var="oldChild"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;employee&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="1" var="elementNode"/>
+<assertDOMException id="throw_NOT_FOUND_ERR">
+<NOT_FOUND_ERR>
+<replaceChild var="replacedNode" obj="elementNode" newChild="newChild" oldChild="oldChild"/>
+</NOT_FOUND_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodesetnodevaluenomodificationallowederr.xml b/test/testcases/tests/level1/core/nodesetnodevaluenomodificationallowederr.xml
new file mode 100644
index 0000000..ba294e3
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodesetnodevaluenomodificationallowederr.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodesetnodevaluenomodificationallowederr">
+<metadata>
+<title>nodeSetNodeValueNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "setNodeValue(nodeValue)" 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 SECOND item
+ from the entity reference and execute the "setNodeValue(nodeValue)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<contributor>Mary Brady</contributor>
+<contributor>Curt Arnold</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68D080')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="genderNode" type="Node"/>
+<var name="entRef" type="EntityReference"/>
+<var name="entElement" type="Element"/>
+<var name="entElementText" type="CharacterData"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;gender&quot;" var="genderList"/>
+<item obj="genderList" index="2" var="genderNode" interface="NodeList"/>
+<firstChild interface="Node" var="entRef" obj="genderNode"/>
+<assertNotNull actual="entRef" id="entRefNotNull"/>
+<nodeType var="nodeType" obj="entRef"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+</if>
+<firstChild interface="Node" var="entElement" obj="entRef"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<firstChild interface="Node" var="entElementText" obj="entElement"/>
+<assertNotNull actual="entElementText" id="entElementTextNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<nodeValue obj="entElementText" value='"newValue"'/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodesetnodevaluenomodificationallowederrEE.xml b/test/testcases/tests/level1/core/nodesetnodevaluenomodificationallowederrEE.xml
new file mode 100644
index 0000000..be2cd4a
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodesetnodevaluenomodificationallowederrEE.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodesetnodevaluenomodificationallowederrEE">
+<metadata>
+<title>nodeSetNodeValueNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+ Create an entity reference and execute the "setNodeValue(nodeValue)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-F68D080')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/nodesetnodevaluenomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="entRef" type="EntityReference"/>
+<var name="entText" type="CharacterData"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createEntityReference var="entRef" obj="doc" name='"ent3"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<firstChild interface="Node" var="entText" obj="entRef"/>
+<assertNotNull actual="entText" id="entTextNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<nodeValue obj="entText" value='"newValue"'/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/nodetextnodeattribute.xml b/test/testcases/tests/level1/core/nodetextnodeattribute.xml
new file mode 100644
index 0000000..a0581e3
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodetextnodeattribute.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodetextnodeattribute">
+<metadata>
+<title>nodeTextNodeAttribute</title>
+<creator>NIST</creator>
+<description>
+The "getAttributes()" method invoked on a Text
+Node returns null.
+
+Retrieve the Text node from the last child of the
+first employee and invoke the "getAttributes()" method
+on the Text Node. It should return null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--attributes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-84CF096"/>
+<!-- Text interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1312295772"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Node"/>
+<var name="textNode" type="Node"/>
+<var name="attrList" type="NamedNodeMap"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<firstChild interface="Node" obj="testAddr" var="textNode"/>
+<attributes obj="textNode" var="attrList"/>
+<assertNull actual="attrList" id="nodeTextNodeAttributesAssert1"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodetextnodename.xml b/test/testcases/tests/level1/core/nodetextnodename.xml
new file mode 100644
index 0000000..0f18aa4
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodetextnodename.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodetextnodename">
+<metadata>
+<title>nodeTextNodeName</title>
+<creator>NIST</creator>
+<description>
+
+ The string returned by the "getNodeName()" method for a
+
+ Text Node is "#text".
+
+
+
+ Retrieve the Text Node from the last child of the
+
+ first employee and check the string returned
+
+ by the "getNodeName()" method. It should be equal to
+
+ "#text".
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="textNode" type="Node"/>
+<var name="textName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<firstChild interface="Node" obj="testAddr" var="textNode"/>
+<nodeName obj="textNode" var="textName"/>
+<assertEquals actual="textName" expected="&quot;#text&quot;" id="nodeTextNodeNameAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodetextnodetype.xml b/test/testcases/tests/level1/core/nodetextnodetype.xml
new file mode 100644
index 0000000..611d4e8
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodetextnodetype.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodetextnodetype">
+<metadata>
+<title>nodeTextNodeType</title>
+<creator>NIST</creator>
+<description>
+
+ The "getNodeType()" method for a Text Node
+
+ returns the constant value 3.
+
+
+
+ Retrieve the Text node from the last child of
+
+ the first employee and invoke the "getNodeType()"
+
+ method. The method should return 3.
+
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-111237558"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="textNode" type="Node"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" tagname="&quot;address&quot;" var="elementList"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<firstChild interface="Node" obj="testAddr" var="textNode"/>
+<nodeType obj="textNode" var="nodeType"/>
+<assertEquals actual="nodeType" expected="3" id="nodeTextNodeTypeAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodetextnodevalue.xml b/test/testcases/tests/level1/core/nodetextnodevalue.xml
new file mode 100644
index 0000000..36b756f
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodetextnodevalue.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodetextnodevalue">
+<metadata>
+<title>nodeTextNodeValue</title>
+<creator>NIST</creator>
+<description>
+ The string returned by the "getNodeValue()" method for a
+ Text Node is the content of the Text node.
+
+ Retrieve the Text node from the last child of the first
+ employee and check the string returned by the
+ "getNodeValue()" method. It should be equal to
+ "1230 North Ave. Dallas, Texas 98551".
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="testAddr" type="Element"/>
+<var name="textNode" type="Node"/>
+<var name="textValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" index="0" var="testAddr"/>
+<firstChild interface="Node" obj="testAddr" var="textNode"/>
+<nodeValue obj="textNode" var="textValue"/>
+<assertEquals actual="textValue" expected="&quot;1230 North Ave. Dallas, Texas 98551&quot;" id="nodeTextNodeValueAssert1" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodevalue01.xml b/test/testcases/tests/level1/core/nodevalue01.xml
new file mode 100644
index 0000000..a5afffa
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodevalue01.xml
@@ -0,0 +1,37 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodevalue01">
+<metadata>
+<title>nodevalue01</title>
+<creator>Curt Arnold</creator>
+<description>
+An element is created, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2001-10-24</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Element"/>
+<var name="newValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createElement obj="doc" var="newNode" tagName="&quot;address&quot;"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodevalue02.xml b/test/testcases/tests/level1/core/nodevalue02.xml
new file mode 100644
index 0000000..0b3c6f2
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodevalue02.xml
@@ -0,0 +1,38 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodevalue02">
+<metadata>
+<title>nodevalue02</title>
+<creator>Curt Arnold</creator>
+<description>
+An comment is created, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2001-10-24</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1728279322"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createComment obj="doc" var="newNode" data="&quot;This is a new Comment node&quot;"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertEquals actual="newValue" expected='"This is a new Comment node"' ignoreCase="false" id="initial"/>
+<!-- attempt to change the value -->
+<nodeValue obj="newNode" value='"This should have an effect"'/>
+<!-- retrieve the value -->
+<nodeValue obj="newNode" var="newValue"/>
+<assertEquals actual="newValue" expected='"This should have an effect"' id="afterChange" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodevalue03.xml b/test/testcases/tests/level1/core/nodevalue03.xml
new file mode 100644
index 0000000..c3bd383
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodevalue03.xml
@@ -0,0 +1,38 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodevalue03">
+<metadata>
+<title>nodevalue03</title>
+<creator>Curt Arnold</creator>
+<description>
+An entity reference is created, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2001-10-24</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-11C98490"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createEntityReference obj="doc" var="newNode" name='"ent1"'/>
+<assertNotNull actual="newNode" id="createdEntRefNotNull"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodevalue04.xml b/test/testcases/tests/level1/core/nodevalue04.xml
new file mode 100644
index 0000000..a8929bb
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodevalue04.xml
@@ -0,0 +1,38 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodevalue04">
+<metadata>
+<title>nodevalue04</title>
+<creator>Curt Arnold</creator>
+<description>
+An document type accessed, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2001-10-24</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A31"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<doctype obj="doc" var="newNode"/>
+<assertNotNull actual="newNode" id="docTypeNotNull"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodevalue05.xml b/test/testcases/tests/level1/core/nodevalue05.xml
new file mode 100644
index 0000000..88f19c3
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodevalue05.xml
@@ -0,0 +1,37 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodevalue05">
+<metadata>
+<title>nodevalue05</title>
+<creator>Curt Arnold</creator>
+<description>
+A document fragment is created, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2001-10-24</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-B63ED1A3"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createDocumentFragment obj="doc" var="newNode"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodevalue06.xml b/test/testcases/tests/level1/core/nodevalue06.xml
new file mode 100644
index 0000000..af42ec3
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodevalue06.xml
@@ -0,0 +1,35 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodevalue06">
+<metadata>
+<title>nodevalue06</title>
+<creator>Curt Arnold</creator>
+<description>
+An document is accessed, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2001-10-24</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#i-Document"/>
+</metadata>
+<var name="newNode" type="Document"/>
+<var name="newValue" type="DOMString"/>
+<load var="newNode" href="staff" willBeModified="true"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodevalue07.xml b/test/testcases/tests/level1/core/nodevalue07.xml
new file mode 100644
index 0000000..f0c808e
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodevalue07.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodevalue07">
+<metadata>
+<title>nodevalue07</title>
+<creator>Curt Arnold</creator>
+<description>
+An Entity is accessed, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2001-10-24</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-527DCFF2"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<var name="nodeMap" type="NamedNodeMap"/>
+<var name="docType" type="DocumentType"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities obj="docType" var="nodeMap"/>
+<assertNotNull actual="nodeMap" id="entitiesNotNull"/>
+<getNamedItem obj="nodeMap" name='"ent1"' var="newNode"/>
+<assertNotNull actual="newNode" id="entityNotNull"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodevalue08.xml b/test/testcases/tests/level1/core/nodevalue08.xml
new file mode 100644
index 0000000..f64df09
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodevalue08.xml
@@ -0,0 +1,44 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodevalue08">
+<metadata>
+<title>nodevalue08</title>
+<creator>Curt Arnold</creator>
+<description>
+An notation is accessed, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2001-10-24</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5431D1B9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<var name="nodeMap" type="NamedNodeMap"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="nodeMap"/>
+<assertNotNull actual="nodeMap" id="notationsNotNull"/>
+<getNamedItem obj="nodeMap" name='"notation1"' var="newNode"/>
+<assertNotNull actual="newNode" id="notationNotNull"/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="initiallyNull"/>
+<!-- attempt to change the value and make sure that it stays null -->
+<nodeValue obj="newNode" value='"This should have no effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertNull actual="newValue" id="nullAfterAttemptedChange"/>
+</test>
diff --git a/test/testcases/tests/level1/core/nodevalue09.xml b/test/testcases/tests/level1/core/nodevalue09.xml
new file mode 100644
index 0000000..780cbfe
--- /dev/null
+++ b/test/testcases/tests/level1/core/nodevalue09.xml
@@ -0,0 +1,36 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="nodevalue09">
+<metadata>
+<title>nodevalue09</title>
+<creator>Curt Arnold</creator>
+<description>
+An processing instruction is created, setNodeValue is called with a non-null argument, but getNodeValue
+should still return null.
+</description>
+<date qualifier="created">2001-10-24</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1004215813"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="newNode" type="Node"/>
+<var name="newValue" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createProcessingInstruction var="newNode" obj="doc" target='"TARGET"' data='"DATA"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertEquals actual="newValue" expected='"DATA"' ignoreCase="false" id="initial"/>
+<nodeValue obj="newNode" value='"This should have an effect"'/>
+<nodeValue obj="newNode" var="newValue"/>
+<assertEquals actual="newValue" expected='"This should have an effect"' ignoreCase="false" id="after"/>
+</test>
diff --git a/test/testcases/tests/level1/core/notationgetnotationname.xml b/test/testcases/tests/level1/core/notationgetnotationname.xml
new file mode 100644
index 0000000..ded685c
--- /dev/null
+++ b/test/testcases/tests/level1/core/notationgetnotationname.xml
@@ -0,0 +1,43 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="notationgetnotationname">
+<metadata>
+<title>notationGetNotationName</title>
+<creator>NIST</creator>
+<description>
+ Retrieve the notation named "notation1" and access its
+ name by invoking the "getNodeName()" method inherited
+ from the Node interface.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--nodeName attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D095"/>
+<!--Notation interface -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5431D1B9"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="notationNode" type="Notation"/>
+<var name="notationName" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="notations"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItem obj="notations" var="notationNode" name='"notation1"'/>
+<nodeName obj="notationNode" var="notationName"/>
+<assertEquals actual="notationName" expected='"notation1"' id="notationGetNotationNameAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/notationgetpublicid.xml b/test/testcases/tests/level1/core/notationgetpublicid.xml
new file mode 100644
index 0000000..882cc54
--- /dev/null
+++ b/test/testcases/tests/level1/core/notationgetpublicid.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="notationgetpublicid">
+<metadata>
+<title>notationGetPublicId</title>
+<creator>NIST</creator>
+<description>
+ Retrieve the notation named "notation1" and access its
+ public identifier. The string "notation1File" should be
+ returned.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-54F2B4D0"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="notationNode" type="Notation"/>
+<var name="publicId" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="notations"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItem obj="notations" var="notationNode" name="&quot;notation1&quot;"/>
+<publicId interface="Notation" obj="notationNode" var="publicId"/>
+<assertEquals actual="publicId" expected='"notation1File"' id="publicId" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/notationgetpublicidnull.xml b/test/testcases/tests/level1/core/notationgetpublicidnull.xml
new file mode 100644
index 0000000..39e23ad
--- /dev/null
+++ b/test/testcases/tests/level1/core/notationgetpublicidnull.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="notationgetpublicidnull">
+<metadata>
+<title>notationGetPublicIdNull</title>
+<creator>NIST</creator>
+<description>
+ The "getPublicId()" method of a Notation node contains
+ the public identifier associated with the notation, if
+ one was not specified a null value should be returned.
+
+ Retrieve the notation named "notation2" and access its
+ public identifier. Since a public identifier was not
+ specified for this notation, the "getPublicId()" method
+ should return null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-54F2B4D0"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="notationNode" type="Notation"/>
+<var name="publicId" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="notations"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItem obj="notations" var="notationNode" name='"notation2"'/>
+<publicId interface="Notation" obj="notationNode" var="publicId"/>
+<assertNull actual="publicId" id="publicId"/>
+</test>
diff --git a/test/testcases/tests/level1/core/notationgetsystemid.xml b/test/testcases/tests/level1/core/notationgetsystemid.xml
new file mode 100644
index 0000000..04a84ac
--- /dev/null
+++ b/test/testcases/tests/level1/core/notationgetsystemid.xml
@@ -0,0 +1,45 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="notationgetsystemid">
+<metadata>
+<title>notationGetSystemId</title>
+<creator>NIST</creator>
+<description>
+ The "getSystemId()" method of a Notation node contains
+ the system identifier associated with the notation, if
+ one was specified.
+
+ Retrieve the notation named "notation2" and access its
+ system identifier. The string "notation2File" should be
+ returned.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E8AAB1D0"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="notationNode" type="Notation"/>
+<var name="systemId" type="DOMString"/>
+<var name="index" type="int"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="notations"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItem obj="notations" var="notationNode" name='"notation2"'/>
+<systemId interface="Notation" obj="notationNode" var="systemId"/>
+<assertURIEquals actual="systemId" file='"notation2File"' id="uriEquals"/>
+</test>
diff --git a/test/testcases/tests/level1/core/notationgetsystemidnull.xml b/test/testcases/tests/level1/core/notationgetsystemidnull.xml
new file mode 100644
index 0000000..cf15a2f
--- /dev/null
+++ b/test/testcases/tests/level1/core/notationgetsystemidnull.xml
@@ -0,0 +1,41 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="notationgetsystemidnull">
+<metadata>
+<title>notationGetSystemIdNull</title>
+<creator>NIST</creator>
+<description>
+ Retrieve the notation named "notation1" and access its
+ system identifier. Since a system identifier was not
+ specified for this notation, the "getSystemId()" method
+ should return null.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-E8AAB1D0"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docType" type="DocumentType"/>
+<var name="notations" type="NamedNodeMap"/>
+<var name="notationNode" type="Notation"/>
+<var name="systemId" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<doctype obj="doc" var="docType"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<notations obj="docType" var="notations"/>
+<assertNotNull actual="notations" id="notationsNotNull"/>
+<getNamedItem obj="notations" var="notationNode" name='"notation1"'/>
+<systemId interface="Notation" obj="notationNode" var="systemId"/>
+<assertNull actual="systemId" id="systemId"/>
+</test>
diff --git a/test/testcases/tests/level1/core/processinginstructiongetdata.xml b/test/testcases/tests/level1/core/processinginstructiongetdata.xml
new file mode 100644
index 0000000..1760419
--- /dev/null
+++ b/test/testcases/tests/level1/core/processinginstructiongetdata.xml
@@ -0,0 +1,43 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="processinginstructiongetdata">
+<metadata>
+<title>processinginstructionGetData</title>
+<creator>NIST</creator>
+<description>
+ The "getData()" method returns the content of the
+ processing instruction. It starts at the first non
+ white character following the target and ends at the
+ character immediately preceding the "?&gt;".
+
+ Retrieve the ProcessingInstruction node located
+ immediately after the prolog. Create a nodelist of the
+ child nodes of this document. Invoke the "getData()"
+ method on the first child in the list. This should
+ return the content of the ProcessingInstruction.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-837822393"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="childNodes" type="NodeList"/>
+<var name="piNode" type="ProcessingInstruction"/>
+<var name="data" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<childNodes obj="doc" var="childNodes"/>
+<item interface="NodeList" obj="childNodes" var="piNode" index="0"/>
+<data interface="ProcessingInstruction" obj="piNode" var="data"/>
+<assertEquals actual="data" expected="&quot;PIDATA&quot;" id="processinginstructionGetTargetAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/processinginstructiongettarget.xml b/test/testcases/tests/level1/core/processinginstructiongettarget.xml
new file mode 100644
index 0000000..e02e3d6
--- /dev/null
+++ b/test/testcases/tests/level1/core/processinginstructiongettarget.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="processinginstructiongettarget">
+<metadata>
+<title>processinginstructionGetTarget</title>
+<creator>NIST</creator>
+<description>
+ The "getTarget()" method returns the target of the
+ processing instruction. It is the first token following
+ the markup that begins the processing instruction.
+
+ Retrieve the ProcessingInstruction node located
+ immediately after the prolog. Create a nodelist of the
+ child nodes of this document. Invoke the "getTarget()"
+ method on the first child in the list. This should
+ return the target of the ProcessingInstruction.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1478689192"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="childNodes" type="NodeList"/>
+<var name="piNode" type="ProcessingInstruction"/>
+<var name="target" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<childNodes obj="doc" var="childNodes"/>
+<item interface="NodeList" obj="childNodes" var="piNode" index="0"/>
+<target obj="piNode" var="target" interface="ProcessingInstruction"/>
+<assertEquals actual="target" expected="&quot;TEST-STYLE&quot;" id="processinginstructionGetTargetAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/processinginstructionsetdatanomodificationallowederr.xml b/test/testcases/tests/level1/core/processinginstructionsetdatanomodificationallowederr.xml
new file mode 100644
index 0000000..8d7ed81
--- /dev/null
+++ b/test/testcases/tests/level1/core/processinginstructionsetdatanomodificationallowederr.xml
@@ -0,0 +1,53 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="processinginstructionsetdatanomodificationallowederr">
+<metadata>
+<title>processinginstructionSetDataNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "setData(data)" method for a processing instruction 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 the "domestic" attribute
+ from the entity reference by executing the "setData(data)" 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-837822393"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-837822393')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-837822393"/>
+</metadata>
+<implementationAttribute name="expandEntityReferences" value="false"/>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="gender" type="Node"/>
+<var name="entRef" type="Node"/>
+<var name="piNode" type="ProcessingInstruction"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<firstChild interface="Node" var="entRef" obj="gender"/>
+<assertNotNull actual="entRef" id="entRefNotNull"/>
+<lastChild interface="Node" var="piNode" obj="entRef"/>
+<assertNotNull actual="piNode" id="piNodeNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<data interface="ProcessingInstruction" obj="piNode" value="&quot;newData&quot;"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/processinginstructionsetdatanomodificationallowederrEE.xml b/test/testcases/tests/level1/core/processinginstructionsetdatanomodificationallowederrEE.xml
new file mode 100644
index 0000000..8c99919
--- /dev/null
+++ b/test/testcases/tests/level1/core/processinginstructionsetdatanomodificationallowederrEE.xml
@@ -0,0 +1,57 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="processinginstructionsetdatanomodificationallowederrEE">
+<metadata>
+<title>processinginstructionSetDataNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+ The "setData(data)" method for a processing instruction causes the
+ DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
+ if the node is readonly.
+
+ Create an ent4 entity reference and add to document of the THIRD "gender" element. The elements
+ content is an entity reference. Try to remove the "domestic" attribute
+ from the entity reference by executing the "setData(data)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<date qualifier="created">2001-08-21</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-837822393"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-837822393')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-837822393"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/processinginstructionsetdatanomodificationallowederr.xml"/>
+<!-- bug report on earlier version -->
+<subject resource="http://lists.w3.org/Archives/Public/www-dom-ts/2002Apr/0053.html"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="gender" type="Node"/>
+<var name="entRef" type="Node"/>
+<var name="piNode" type="ProcessingInstruction"/>
+<var name="appendedChild" type="Node"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname="&quot;gender&quot;"/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+<appendChild var="appendedChild" obj="gender" newChild="entRef"/>
+<lastChild interface="Node" var="entRef" obj="gender"/>
+<assertNotNull actual="entRef" id="entRefNotNull"/>
+<lastChild interface="Node" var="piNode" obj="entRef"/>
+<assertNotNull actual="piNode" id="piNodeNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<data interface="ProcessingInstruction" obj="piNode" value='"newData"'/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/textindexsizeerrnegativeoffset.xml b/test/testcases/tests/level1/core/textindexsizeerrnegativeoffset.xml
new file mode 100644
index 0000000..9bf1232
--- /dev/null
+++ b/test/testcases/tests/level1/core/textindexsizeerrnegativeoffset.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="textindexsizeerrnegativeoffset">
+<metadata>
+<title>textIndexSizeErrNegativeOffset</title>
+<creator>NIST</creator>
+<description>
+ The "splitText(offset)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset is
+ negative.
+
+ Retrieve the textual data from the second child of the
+ third employee and invoke the "splitText(offset)" method.
+ The desired exception should be raised since the offset
+ is a negative number.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+</metadata>
+<implementationAttribute name="signed" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="splitNode" type="Text"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;name&quot;"/>
+<item interface="NodeList" obj="elementList" var="nameNode" index="2"/>
+<firstChild interface="Node" obj="nameNode" var="textNode"/>
+<assertDOMException id="throws_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<splitText obj="textNode" var="splitNode" offset="-69"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/textindexsizeerroffsetoutofbounds.xml b/test/testcases/tests/level1/core/textindexsizeerroffsetoutofbounds.xml
new file mode 100644
index 0000000..35082c3
--- /dev/null
+++ b/test/testcases/tests/level1/core/textindexsizeerroffsetoutofbounds.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="textindexsizeerroffsetoutofbounds">
+<metadata>
+<title>textIndexSizeErrOffsetOutOfBounds</title>
+<creator>NIST</creator>
+<description>
+ The "splitText(offset)" method raises an
+ INDEX_SIZE_ERR DOMException if the specified offset is
+ greater than the number of characters in the Text node.
+
+ Retrieve the textual data from the second child of the
+ third employee and invoke the "splitText(offset)" method.
+ The desired exception should be raised since the offset
+ is a greater than the number of characters in the Text
+ node.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])"/>
+<subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=249"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="splitNode" type="Text"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;name&quot;"/>
+<item interface="NodeList" obj="elementList" var="nameNode" index="2"/>
+<firstChild interface="Node" obj="nameNode" var="textNode"/>
+<assertDOMException id="throw_INDEX_SIZE_ERR">
+<INDEX_SIZE_ERR>
+<splitText obj="textNode" var="splitNode" offset="300"/>
+</INDEX_SIZE_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/textparseintolistofelements.xml b/test/testcases/tests/level1/core/textparseintolistofelements.xml
new file mode 100644
index 0000000..77f5fe5
--- /dev/null
+++ b/test/testcases/tests/level1/core/textparseintolistofelements.xml
@@ -0,0 +1,74 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="textparseintolistofelements">
+<metadata>
+<title>textParseIntoListOfElements</title>
+<creator>NIST</creator>
+<description>
+ Retrieve the textual data from the last child of the
+ second employee. That node is composed of two
+ EntityReference nodes and two Text nodes. After
+ the content node is parsed, the "address" Element
+ should contain four children with each one of the
+ EntityReferences containing one child.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<!--childNodes attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1451460987"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-11C98490"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-745549614"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="addressNode" type="Node"/>
+<var name="childList" type="NodeList"/>
+<var name="child" type="Node"/>
+<var name="length" type="int"/>
+<var name="value" type="DOMString"/>
+<var name="grandChild" type="Node"/>
+<var name="result" type="List"/>
+<var name="expectedNormal" type="List">
+<member>"1900 Dallas Road"</member>
+<member>" Dallas, "</member>
+<member>"Texas"</member>
+<member>"\n 98554"</member>
+</var>
+<var name="expectedExpanded" type="List">
+<member>"1900 Dallas Road Dallas, Texas\n 98554"</member>
+</var>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="addressNode" index="1"/>
+<childNodes obj="addressNode" var="childList"/>
+<length var="length" obj="childList" interface="NodeList"/>
+<for-each collection="childList" member="child">
+ <nodeValue obj="child" var="value"/>
+ <if><isNull obj="value"/>
+ <firstChild interface="Node" obj="child" var="grandChild"/>
+ <assertNotNull actual="grandChild" id="grandChildNotNull"/>
+ <nodeValue obj="grandChild" var="value"/>
+ <append collection="result" item="value"/>
+ <else>
+ <append collection="result" item="value"/>
+ </else>
+ </if>
+</for-each>
+<if><equals actual="length" expected="4" ignoreCase="false"/>
+ <assertEquals actual="result" expected="expectedNormal" ignoreCase="false" id="assertEqNormal"/>
+ <else>
+ <assertEquals actual="result" expected="expectedExpanded" ignoreCase="false" id="assertEqCoalescing"/>
+ </else>
+</if>
+</test>
diff --git a/test/testcases/tests/level1/core/textsplittextfour.xml b/test/testcases/tests/level1/core/textsplittextfour.xml
new file mode 100644
index 0000000..c744ae3
--- /dev/null
+++ b/test/testcases/tests/level1/core/textsplittextfour.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="textsplittextfour">
+<metadata>
+<title>textSplitTextFour</title>
+<creator>NIST</creator>
+<description>
+ The "splitText(offset)" method returns the new Text node.
+
+ Retrieve the textual data from the last child of the
+ first employee and invoke the "splitText(offset)" method.
+ The method should return the new Text node. The offset
+ value used for this test is 30. The "getNodeValue()"
+ method is called to check that the new node now contains
+ the characters at and after position 30.
+ (Starting count at 0)
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="addressNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="splitNode" type="Text"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;address&quot;"/>
+<item interface="NodeList" obj="elementList" var="addressNode" index="0"/>
+<firstChild interface="Node" obj="addressNode" var="textNode"/>
+<splitText obj="textNode" var="splitNode" offset="30"/>
+<nodeValue obj="splitNode" var="value"/>
+<assertEquals actual="value" expected="&quot;98551&quot;" id="textSplitTextFourAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/textsplittextnomodificationallowederr.xml b/test/testcases/tests/level1/core/textsplittextnomodificationallowederr.xml
new file mode 100644
index 0000000..f61255a
--- /dev/null
+++ b/test/testcases/tests/level1/core/textsplittextnomodificationallowederr.xml
@@ -0,0 +1,62 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="textsplittextnomodificationallowederr">
+<metadata>
+<title>textSplitTextNoModificationAllowedErr</title>
+<creator>NIST</creator>
+<description>
+ The "splitText(offset)" method raises a
+ NO_MODIFICATION_ALLOWED_ERR DOMException if the
+ node is readonly.
+
+ Obtain the children of the THIRD "gender" element. The elements
+ content is an entity reference. Get the element content of the FIRST
+ Text Node of the entity reference and execute the "splitText(offset)" 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/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="genderList" type="NodeList"/>
+<var name="gender" type="Node"/>
+<var name="entRef" type="Node"/>
+<var name="entElement" type="Node"/>
+<var name="entElementText" type="Node"/>
+<var name="splitNode" type="Text"/>
+<var name="nodeType" type="int"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="genderList" tagname='"gender"'/>
+<item interface="NodeList" obj="genderList" var="gender" index="2"/>
+<firstChild interface="Node" var="entRef" obj="gender"/>
+<assertNotNull actual="entRef" id="entRefNotNull"/>
+<nodeType var="nodeType" obj="entRef"/>
+<if><equals actual="nodeType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entRef" obj="doc" name='"ent4"'/>
+ <assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+</if>
+<firstChild interface="Node" var="entElement" obj="entRef"/>
+<assertNotNull actual="entElement" id="entElementNotNull"/>
+<firstChild interface="Node" var="entElementText" obj="entElement"/>
+<assertNotNull actual="entElementText" id="entElementTextNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<splitText var="splitNode" obj="entElementText" offset="2"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/textsplittextnomodificationallowederrEE.xml b/test/testcases/tests/level1/core/textsplittextnomodificationallowederrEE.xml
new file mode 100644
index 0000000..4fbde86
--- /dev/null
+++ b/test/testcases/tests/level1/core/textsplittextnomodificationallowederrEE.xml
@@ -0,0 +1,43 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="textsplittextnomodificationallowederrEE">
+<metadata>
+<title>textSplitTextNoModificationAllowedErrEE</title>
+<creator>Curt Arnold</creator>
+<description>
+ Create an ent3 reference and execute the "splitText(offset)" method.
+ This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
+</description>
+<date qualifier="created">2001-08-21</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-38853C1D')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])"/>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+<source resource="http://www.w3.org/2001/DOM-Test-Suite/level1/core/textsplittextnomodificationallowederr.xml"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="entRef" type="Node"/>
+<var name="entText" type="Node"/>
+<var name="splitNode" type="Text"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<createEntityReference var="entRef" obj="doc" name='"ent3"'/>
+<assertNotNull actual="entRef" id="createdEntRefNotNull"/>
+<firstChild interface="Node" var="entText" obj="entRef"/>
+<assertNotNull actual="entText" id="entTextNotNull"/>
+<assertDOMException id="throw_NO_MODIFICATION_ALLOWED_ERR">
+<NO_MODIFICATION_ALLOWED_ERR>
+<splitText var="splitNode" obj="entText" offset="2"/>
+</NO_MODIFICATION_ALLOWED_ERR>
+</assertDOMException>
+</test>
diff --git a/test/testcases/tests/level1/core/textsplittextone.xml b/test/testcases/tests/level1/core/textsplittextone.xml
new file mode 100644
index 0000000..7529614
--- /dev/null
+++ b/test/testcases/tests/level1/core/textsplittextone.xml
@@ -0,0 +1,49 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="textsplittextone">
+<metadata>
+<title>textSplitTextOne</title>
+<creator>NIST</creator>
+<description>
+ The "splitText(offset)" method breaks the Text node into
+ two Text nodes at the specified offset keeping each node
+ as siblings in the tree.
+
+ Retrieve the textual data from the second child of the
+ third employee and invoke the "splitText(offset)" method.
+ The method splits the Text node into two new sibling
+ Text nodes keeping both of them in the tree. This test
+ checks the "nextSibling()" method of the original node
+ to ensure that the two nodes are indeed siblings.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="splitNode" type="Text"/>
+<var name="secondPart" type="Node"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;name&quot;"/>
+<item interface="NodeList" obj="elementList" var="nameNode" index="2"/>
+<firstChild interface="Node" obj="nameNode" var="textNode"/>
+<splitText obj="textNode" var="splitNode" offset="7"/>
+<nextSibling interface="Node" obj="textNode" var="secondPart"/>
+<nodeValue obj="secondPart" var="value"/>
+<assertEquals actual="value" expected="&quot;Jones&quot;" id="textSplitTextOneAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/textsplittextthree.xml b/test/testcases/tests/level1/core/textsplittextthree.xml
new file mode 100644
index 0000000..7bbaf48
--- /dev/null
+++ b/test/testcases/tests/level1/core/textsplittextthree.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="textsplittextthree">
+<metadata>
+<title>textSplitTextThree</title>
+<creator>NIST</creator>
+<description>
+ After the "splitText(offset)" method breaks the Text node
+ into two Text nodes, the new Text node contains all the
+ content at and after the offset point.
+
+ Retrieve the textual data from the second child of the
+ third employee and invoke the "splitText(offset)" method.
+ The new Text node should contain all the content
+ at and after the offset point. The "getNodeValue()"
+ method is called to check that the new node now contains
+ the characters at and after position seven.
+ (Starting count at 0)
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="splitNode" type="Text"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;name&quot;"/>
+<item interface="NodeList" obj="elementList" var="nameNode" index="2"/>
+<firstChild interface="Node" obj="nameNode" var="textNode"/>
+<splitText obj="textNode" var="splitNode" offset="6"/>
+<nodeValue obj="splitNode" var="value"/>
+<assertEquals actual="value" expected="&quot; Jones&quot;" id="textSplitTextThreeAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/textsplittexttwo.xml b/test/testcases/tests/level1/core/textsplittexttwo.xml
new file mode 100644
index 0000000..0421815
--- /dev/null
+++ b/test/testcases/tests/level1/core/textsplittexttwo.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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="textsplittexttwo">
+<metadata>
+<title>textSplitTextTwo</title>
+<creator>NIST</creator>
+<description>
+ After the "splitText(offset)" method breaks the Text node
+ into two Text nodes, the original node contains all the
+ content up to the offset point.
+
+ Retrieve the textual data from the second child of the
+ third employee and invoke the "splitText(offset)" method.
+ The original Text node should contain all the content
+ up to the offset point. The "getNodeValue()" method
+ is called to check that the original node now contains
+ the first five characters.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-38853C1D"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="textNode" type="Text"/>
+<var name="splitNode" type="Text"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="true"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;name&quot;"/>
+<item interface="NodeList" obj="elementList" var="nameNode" index="2"/>
+<firstChild interface="Node" obj="nameNode" var="textNode"/>
+<splitText obj="textNode" var="splitNode" offset="5"/>
+<nodeValue obj="textNode" var="value"/>
+<assertEquals actual="value" expected="&quot;Roger&quot;" id="textSplitTextTwoAssert" ignoreCase="false"/>
+</test>
diff --git a/test/testcases/tests/level1/core/textwithnomarkup.xml b/test/testcases/tests/level1/core/textwithnomarkup.xml
new file mode 100644
index 0000000..8b90b54
--- /dev/null
+++ b/test/testcases/tests/level1/core/textwithnomarkup.xml
@@ -0,0 +1,47 @@
+<?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 "dom1.dtd">
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="textwithnomarkup">
+<metadata>
+<title>textWithNoMarkup</title>
+<creator>NIST</creator>
+<description>
+ If there is not any markup inside an Element or Attr node
+ content, then the text is contained in a single object
+ implementing the Text interface that is the only child
+ of the element.
+
+ Retrieve the textual data from the second child of the
+ third employee. That Text node contains a block of
+ multiple text lines without markup, so they should be
+ treated as a single Text node. The "getNodeValue()"
+ method should contain the combination of the two lines.
+</description>
+<contributor>Mary Brady</contributor>
+<date qualifier="created">2001-08-17</date>
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1312295772"/>
+<!--nodeValue attribute -->
+<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-F68D080"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elementList" type="NodeList"/>
+<var name="nameNode" type="Node"/>
+<var name="nodeV" type="Node"/>
+<var name="value" type="DOMString"/>
+<load var="doc" href="staff" willBeModified="false"/>
+<getElementsByTagName interface="Document" obj="doc" var="elementList" tagname="&quot;name&quot;"/>
+<item interface="NodeList" obj="elementList" var="nameNode" index="2"/>
+<firstChild interface="Node" obj="nameNode" var="nodeV"/>
+<nodeValue obj="nodeV" var="value"/>
+<assertEquals actual="value" expected="&quot;Roger\n Jones&quot;" id="textNodeValue" ignoreCase="false"/>
+</test>