summaryrefslogtreecommitdiff
path: root/test/testcases/tests/level3/ls
diff options
context:
space:
mode:
Diffstat (limited to 'test/testcases/tests/level3/ls')
-rw-r--r--test/testcases/tests/level3/ls/.cvsignore3
-rw-r--r--test/testcases/tests/level3/ls/CVS/Entries180
-rw-r--r--test/testcases/tests/level3/ls/CVS/Repository1
-rw-r--r--test/testcases/tests/level3/ls/CVS/Root1
-rw-r--r--test/testcases/tests/level3/ls/CVS/Template0
-rw-r--r--test/testcases/tests/level3/ls/CertifiedText1.xml49
-rw-r--r--test/testcases/tests/level3/ls/CharacterStream1.xml84
-rw-r--r--test/testcases/tests/level3/ls/DOMBuilderFilterTest0.xml87
-rw-r--r--test/testcases/tests/level3/ls/DOMBuilderFilterTest1.xml74
-rw-r--r--test/testcases/tests/level3/ls/DOMBuilderFilterTest2.xml74
-rw-r--r--test/testcases/tests/level3/ls/DOMBuilderTest0.xml57
-rw-r--r--test/testcases/tests/level3/ls/DOMBuilderTest1.xml65
-rw-r--r--test/testcases/tests/level3/ls/DOMBuilderTest2.xml67
-rw-r--r--test/testcases/tests/level3/ls/DOMBuilderTest3.xml79
-rw-r--r--test/testcases/tests/level3/ls/DOMBuilderTest4.xml74
-rw-r--r--test/testcases/tests/level3/ls/DOMBuilderTest5.xml81
-rw-r--r--test/testcases/tests/level3/ls/DOMBuilderTest6.xml47
-rw-r--r--test/testcases/tests/level3/ls/DOMBuilderTest8.xml51
-rw-r--r--test/testcases/tests/level3/ls/DOMEntityResolverTest0.xml75
-rw-r--r--test/testcases/tests/level3/ls/DOMEntityResolverTest1.xml79
-rw-r--r--test/testcases/tests/level3/ls/DOMEntityResolverTest2.xml72
-rw-r--r--test/testcases/tests/level3/ls/DOMImplementationLSTest0.xml50
-rw-r--r--test/testcases/tests/level3/ls/DOMImplementationLSTest1.xml52
-rw-r--r--test/testcases/tests/level3/ls/DOMImplementationLSTest2.xml38
-rw-r--r--test/testcases/tests/level3/ls/DOMImplementationLSTest3.xml44
-rw-r--r--test/testcases/tests/level3/ls/DOMImplementationLSTest4.xml45
-rw-r--r--test/testcases/tests/level3/ls/DOMImplementationLSTest5.xml43
-rw-r--r--test/testcases/tests/level3/ls/DOMInputSourceTest0.xml50
-rw-r--r--test/testcases/tests/level3/ls/DOMInputSourceTest1.xml49
-rw-r--r--test/testcases/tests/level3/ls/DOMInputSourceTest2.xml46
-rw-r--r--test/testcases/tests/level3/ls/DOMInputSourceTest3.xml51
-rw-r--r--test/testcases/tests/level3/ls/DOMInputSourceTest4.xml48
-rw-r--r--test/testcases/tests/level3/ls/DOMInputSourceTest5.xml88
-rw-r--r--test/testcases/tests/level3/ls/DOMInputSourceTest6.xml55
-rw-r--r--test/testcases/tests/level3/ls/DOMWriterFilterTest0.xml95
-rw-r--r--test/testcases/tests/level3/ls/DOMWriterFilterTest1.xml90
-rw-r--r--test/testcases/tests/level3/ls/DOMWriterFilterTest2.xml99
-rw-r--r--test/testcases/tests/level3/ls/DOMWriterFilterTest3.xml87
-rw-r--r--test/testcases/tests/level3/ls/DOMWriterTest0.xml52
-rw-r--r--test/testcases/tests/level3/ls/DOMWriterTest1.xml65
-rw-r--r--test/testcases/tests/level3/ls/DOMWriterTest2.xml61
-rw-r--r--test/testcases/tests/level3/ls/DOMWriterTest3.xml61
-rw-r--r--test/testcases/tests/level3/ls/DOMWriterTest4.xml54
-rw-r--r--test/testcases/tests/level3/ls/DOMWriterTest5.xml88
-rw-r--r--test/testcases/tests/level3/ls/DOMWriterTest6.xml89
-rw-r--r--test/testcases/tests/level3/ls/GetFeature1.xml44
-rw-r--r--test/testcases/tests/level3/ls/GetFeature2.xml44
-rw-r--r--test/testcases/tests/level3/ls/HasFeature01.xml39
-rw-r--r--test/testcases/tests/level3/ls/HasFeature02.xml40
-rw-r--r--test/testcases/tests/level3/ls/HasFeature03.xml42
-rw-r--r--test/testcases/tests/level3/ls/HasFeature04.xml41
-rw-r--r--test/testcases/tests/level3/ls/HasFeature05.xml43
-rw-r--r--test/testcases/tests/level3/ls/LSParserConfig1.xml61
-rw-r--r--test/testcases/tests/level3/ls/LSParserConfig2.xml88
-rw-r--r--test/testcases/tests/level3/ls/LSParserConfig3.xml57
-rw-r--r--test/testcases/tests/level3/ls/LSParserConfig4.xml65
-rw-r--r--test/testcases/tests/level3/ls/LSParserConfig5.xml65
-rw-r--r--test/testcases/tests/level3/ls/LSParserConfig6.xml71
-rw-r--r--test/testcases/tests/level3/ls/LSParserConfig7.xml65
-rw-r--r--test/testcases/tests/level3/ls/LSParserConfig8.xml56
-rw-r--r--test/testcases/tests/level3/ls/LSParserConfig9.xml65
-rw-r--r--test/testcases/tests/level3/ls/LSSerializerConfig1.xml71
-rw-r--r--test/testcases/tests/level3/ls/LSSerializerConfig10.xml56
-rw-r--r--test/testcases/tests/level3/ls/LSSerializerConfig2.xml83
-rw-r--r--test/testcases/tests/level3/ls/LSSerializerConfig3.xml64
-rw-r--r--test/testcases/tests/level3/ls/LSSerializerConfig4.xml56
-rw-r--r--test/testcases/tests/level3/ls/LSSerializerConfig5.xml64
-rw-r--r--test/testcases/tests/level3/ls/LSSerializerConfig6.xml64
-rw-r--r--test/testcases/tests/level3/ls/LSSerializerConfig7.xml56
-rw-r--r--test/testcases/tests/level3/ls/LSSerializerConfig8.xml64
-rw-r--r--test/testcases/tests/level3/ls/LSSerializerConfig9.xml67
-rw-r--r--test/testcases/tests/level3/ls/SystemId1.xml87
-rw-r--r--test/testcases/tests/level3/ls/SystemId2.xml87
-rw-r--r--test/testcases/tests/level3/ls/alltests.xml213
-rw-r--r--test/testcases/tests/level3/ls/canonicalform01.xml58
-rw-r--r--test/testcases/tests/level3/ls/canonicalform03.xml57
-rw-r--r--test/testcases/tests/level3/ls/canonicalform04.xml53
-rw-r--r--test/testcases/tests/level3/ls/canonicalform05.xml56
-rw-r--r--test/testcases/tests/level3/ls/canonicalform06.xml61
-rw-r--r--test/testcases/tests/level3/ls/canonicalform08.xml113
-rw-r--r--test/testcases/tests/level3/ls/canonicalform09.xml93
-rw-r--r--test/testcases/tests/level3/ls/canonicalform10.xml61
-rw-r--r--test/testcases/tests/level3/ls/canonicalform11.xml65
-rw-r--r--test/testcases/tests/level3/ls/canonicalform12.xml50
-rw-r--r--test/testcases/tests/level3/ls/canonicalform13.xml61
-rw-r--r--test/testcases/tests/level3/ls/cdatasections01.xml53
-rw-r--r--test/testcases/tests/level3/ls/cdatasections02.xml53
-rw-r--r--test/testcases/tests/level3/ls/cdatasections03.xml52
-rw-r--r--test/testcases/tests/level3/ls/cdatasections04.xml52
-rw-r--r--test/testcases/tests/level3/ls/checkcharacternormalization01.xml46
-rw-r--r--test/testcases/tests/level3/ls/checkcharacternormalization02.xml71
-rw-r--r--test/testcases/tests/level3/ls/checkcharacternormalization03.xml50
-rw-r--r--test/testcases/tests/level3/ls/checkcharacternormalization04.xml75
-rw-r--r--test/testcases/tests/level3/ls/comments01.xml51
-rw-r--r--test/testcases/tests/level3/ls/comments02.xml51
-rw-r--r--test/testcases/tests/level3/ls/comments03.xml52
-rw-r--r--test/testcases/tests/level3/ls/comments04.xml52
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization01.xml93
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization02.xml86
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization03.xml86
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization04.xml93
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization05.xml93
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization06.xml94
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization07.xml74
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization08.xml75
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization09.xml75
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization10.xml74
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization11.xml75
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization12.xml75
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization13.xml80
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization14.xml80
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization15.xml86
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization16.xml90
-rw-r--r--test/testcases/tests/level3/ls/datatypenormalization17.xml76
-rw-r--r--test/testcases/tests/level3/ls/disallowdoctype01.xml71
-rw-r--r--test/testcases/tests/level3/ls/discarddefaultcontent01.xml48
-rw-r--r--test/testcases/tests/level3/ls/discarddefaultcontent02.xml48
-rw-r--r--test/testcases/tests/level3/ls/dom3tests.ent78
-rw-r--r--test/testcases/tests/level3/ls/elementcontentwhitespace01.xml60
-rw-r--r--test/testcases/tests/level3/ls/elementcontentwhitespace02.xml59
-rw-r--r--test/testcases/tests/level3/ls/elementcontentwhitespace03.xml60
-rw-r--r--test/testcases/tests/level3/ls/encoding01.xml42
-rw-r--r--test/testcases/tests/level3/ls/entities01.xml54
-rw-r--r--test/testcases/tests/level3/ls/entities02.xml62
-rw-r--r--test/testcases/tests/level3/ls/entities03.xml53
-rw-r--r--test/testcases/tests/level3/ls/entities04.xml54
-rw-r--r--test/testcases/tests/level3/ls/entities05.xml62
-rw-r--r--test/testcases/tests/level3/ls/entities06.xml53
-rw-r--r--test/testcases/tests/level3/ls/entities07.xml63
-rw-r--r--test/testcases/tests/level3/ls/entities08.xml62
-rw-r--r--test/testcases/tests/level3/ls/entities09.xml45
-rw-r--r--test/testcases/tests/level3/ls/files/CVS/Entries37
-rw-r--r--test/testcases/tests/level3/ls/files/CVS/Repository1
-rw-r--r--test/testcases/tests/level3/ls/files/CVS/Root1
-rw-r--r--test/testcases/tests/level3/ls/files/CVS/Template0
-rw-r--r--test/testcases/tests/level3/ls/files/canonicalform01.xml14
-rw-r--r--test/testcases/tests/level3/ls/files/canonicalform02.xml11
-rw-r--r--test/testcases/tests/level3/ls/files/canonicalform03.xml18
-rw-r--r--test/testcases/tests/level3/ls/files/characternormalization1.xml4
-rw-r--r--test/testcases/tests/level3/ls/files/datatype_normalization.svg.xsd60
-rw-r--r--test/testcases/tests/level3/ls/files/datatype_normalization.xml90
-rw-r--r--test/testcases/tests/level3/ls/files/datatype_normalization.xsd212
-rw-r--r--test/testcases/tests/level3/ls/files/datatype_normalization2.xml33
-rw-r--r--test/testcases/tests/level3/ls/files/datatype_normalization2.xsd99
-rw-r--r--test/testcases/tests/level3/ls/files/hc_staff.svg87
-rw-r--r--test/testcases/tests/level3/ls/files/hc_staff.svg.xsd60
-rw-r--r--test/testcases/tests/level3/ls/files/hc_staff.xhtml73
-rw-r--r--test/testcases/tests/level3/ls/files/hc_staff.xml73
-rw-r--r--test/testcases/tests/level3/ls/files/hc_staff.xsd250
-rw-r--r--test/testcases/tests/level3/ls/files/namespaces1.xml1
-rw-r--r--test/testcases/tests/level3/ls/files/pibase.xml10
-rw-r--r--test/testcases/tests/level3/ls/files/schematype1.xml2
-rw-r--r--test/testcases/tests/level3/ls/files/subdir/CVS/Entries2
-rw-r--r--test/testcases/tests/level3/ls/files/subdir/CVS/Repository1
-rw-r--r--test/testcases/tests/level3/ls/files/subdir/CVS/Root1
-rw-r--r--test/testcases/tests/level3/ls/files/subdir/CVS/Template0
-rw-r--r--test/testcases/tests/level3/ls/files/subdir/myentity.ent5
-rw-r--r--test/testcases/tests/level3/ls/files/svgtest.js0
-rw-r--r--test/testcases/tests/level3/ls/files/svgunit.js0
-rw-r--r--test/testcases/tests/level3/ls/files/test0.svg11
-rw-r--r--test/testcases/tests/level3/ls/files/test0.xml5
-rw-r--r--test/testcases/tests/level3/ls/files/test1.xml1
-rw-r--r--test/testcases/tests/level3/ls/files/test2.xml1
-rw-r--r--test/testcases/tests/level3/ls/files/test3.xml12
-rw-r--r--test/testcases/tests/level3/ls/files/test4.xml13
-rw-r--r--test/testcases/tests/level3/ls/files/test5.xml1
-rw-r--r--test/testcases/tests/level3/ls/files/test7.xml18
-rw-r--r--test/testcases/tests/level3/ls/files/testpdf.pdf5
-rw-r--r--test/testcases/tests/level3/ls/files/testsvg.dtd13
-rw-r--r--test/testcases/tests/level3/ls/files/unsupportedencoding1.xml2
-rw-r--r--test/testcases/tests/level3/ls/files/validate1.xml4
-rw-r--r--test/testcases/tests/level3/ls/files/validateschema1.xml23
-rw-r--r--test/testcases/tests/level3/ls/files/wellformed1.xml8
-rw-r--r--test/testcases/tests/level3/ls/files/wellformed2.xml8
-rw-r--r--test/testcases/tests/level3/ls/files/wellformed3.xml7
-rw-r--r--test/testcases/tests/level3/ls/files/xhtml1-strict.dtd65
-rw-r--r--test/testcases/tests/level3/ls/infoset01.xml51
-rw-r--r--test/testcases/tests/level3/ls/infoset02.xml54
-rw-r--r--test/testcases/tests/level3/ls/infoset03.xml76
-rw-r--r--test/testcases/tests/level3/ls/infoset04.xml53
-rw-r--r--test/testcases/tests/level3/ls/infoset05.xml52
-rw-r--r--test/testcases/tests/level3/ls/infoset06.xml59
-rw-r--r--test/testcases/tests/level3/ls/infoset07.xml51
-rw-r--r--test/testcases/tests/level3/ls/infoset08.xml49
-rw-r--r--test/testcases/tests/level3/ls/metadata.xml19
-rw-r--r--test/testcases/tests/level3/ls/namespacedeclarations01.xml53
-rw-r--r--test/testcases/tests/level3/ls/namespacedeclarations02.xml52
-rw-r--r--test/testcases/tests/level3/ls/namespaces01.xml49
-rw-r--r--test/testcases/tests/level3/ls/namespaces02.xml54
-rw-r--r--test/testcases/tests/level3/ls/newline01.xml39
-rw-r--r--test/testcases/tests/level3/ls/newline02.xml40
-rw-r--r--test/testcases/tests/level3/ls/newline03.xml43
-rw-r--r--test/testcases/tests/level3/ls/noinputspecified01.xml65
-rw-r--r--test/testcases/tests/level3/ls/nooutputspecified01.xml67
-rw-r--r--test/testcases/tests/level3/ls/normalizecharacters01.xml50
-rw-r--r--test/testcases/tests/level3/ls/normalizecharacters02.xml54
-rw-r--r--test/testcases/tests/level3/ls/normalizecharacters03.xml52
-rw-r--r--test/testcases/tests/level3/ls/normalizecharacters04.xml46
-rw-r--r--test/testcases/tests/level3/ls/schemalocation01.xml70
-rw-r--r--test/testcases/tests/level3/ls/schemalocation02.xml83
-rw-r--r--test/testcases/tests/level3/ls/schemalocation03.xml67
-rw-r--r--test/testcases/tests/level3/ls/schemalocation04.xml71
-rw-r--r--test/testcases/tests/level3/ls/schematype01.xml74
-rw-r--r--test/testcases/tests/level3/ls/schematype02.xml64
-rw-r--r--test/testcases/tests/level3/ls/schematype03.xml64
-rw-r--r--test/testcases/tests/level3/ls/schematype04.xml65
-rw-r--r--test/testcases/tests/level3/ls/splitcdatasections01.xml53
-rw-r--r--test/testcases/tests/level3/ls/splitcdatasections02.xml76
-rw-r--r--test/testcases/tests/level3/ls/unsupportedencoding01.xml64
-rw-r--r--test/testcases/tests/level3/ls/validate01.xml51
-rw-r--r--test/testcases/tests/level3/ls/validate02.xml67
-rw-r--r--test/testcases/tests/level3/ls/validate03.xml51
-rw-r--r--test/testcases/tests/level3/ls/validate04.xml67
-rw-r--r--test/testcases/tests/level3/ls/validate05.xml43
-rw-r--r--test/testcases/tests/level3/ls/validate06.xml51
-rw-r--r--test/testcases/tests/level3/ls/validate07.xml58
-rw-r--r--test/testcases/tests/level3/ls/validate08.xml59
-rw-r--r--test/testcases/tests/level3/ls/validateifschema01.xml51
-rw-r--r--test/testcases/tests/level3/ls/validateifschema02.xml57
-rw-r--r--test/testcases/tests/level3/ls/validateifschema03.xml51
-rw-r--r--test/testcases/tests/level3/ls/validateifschema04.xml67
-rw-r--r--test/testcases/tests/level3/ls/wellformed01.xml68
-rw-r--r--test/testcases/tests/level3/ls/wellformed02.xml68
-rw-r--r--test/testcases/tests/level3/ls/wellformed03.xml68
-rw-r--r--test/testcases/tests/level3/ls/writeToURI1.xml69
-rw-r--r--test/testcases/tests/level3/ls/writeToURI2.xml69
-rw-r--r--test/testcases/tests/level3/ls/xmldeclaration01.xml48
-rw-r--r--test/testcases/tests/level3/ls/xmldeclaration02.xml48
228 files changed, 12815 insertions, 0 deletions
diff --git a/test/testcases/tests/level3/ls/.cvsignore b/test/testcases/tests/level3/ls/.cvsignore
new file mode 100644
index 0000000..65d27fe
--- /dev/null
+++ b/test/testcases/tests/level3/ls/.cvsignore
@@ -0,0 +1,3 @@
+dom3.dtd
+test-to-html.xsl
+dom3.xsd
diff --git a/test/testcases/tests/level3/ls/CVS/Entries b/test/testcases/tests/level3/ls/CVS/Entries
new file mode 100644
index 0000000..514635b
--- /dev/null
+++ b/test/testcases/tests/level3/ls/CVS/Entries
@@ -0,0 +1,180 @@
+D/files////
+/.cvsignore/1.1/Fri Apr 3 02:47:57 2009//
+/CertifiedText1.xml/1.3/Fri Apr 3 02:47:58 2009//
+/CharacterStream1.xml/1.4/Fri Apr 3 02:47:57 2009//
+/DOMBuilderFilterTest0.xml/1.10/Fri Apr 3 02:47:58 2009//
+/DOMBuilderFilterTest1.xml/1.9/Fri Apr 3 02:47:57 2009//
+/DOMBuilderFilterTest2.xml/1.9/Fri Apr 3 02:47:57 2009//
+/DOMBuilderTest0.xml/1.9/Fri Apr 3 02:47:58 2009//
+/DOMBuilderTest1.xml/1.10/Fri Apr 3 02:47:57 2009//
+/DOMBuilderTest2.xml/1.10/Fri Apr 3 02:47:58 2009//
+/DOMBuilderTest3.xml/1.11/Fri Apr 3 02:47:58 2009//
+/DOMBuilderTest4.xml/1.10/Fri Apr 3 02:47:57 2009//
+/DOMBuilderTest5.xml/1.12/Fri Apr 3 02:47:57 2009//
+/DOMBuilderTest6.xml/1.4/Fri Apr 3 02:47:57 2009//
+/DOMBuilderTest8.xml/1.4/Fri Apr 3 02:47:58 2009//
+/DOMEntityResolverTest0.xml/1.14/Fri Apr 3 02:47:57 2009//
+/DOMEntityResolverTest1.xml/1.13/Fri Apr 3 02:47:57 2009//
+/DOMEntityResolverTest2.xml/1.7/Fri Apr 3 02:47:58 2009//
+/DOMImplementationLSTest0.xml/1.6/Fri Apr 3 02:47:57 2009//
+/DOMImplementationLSTest1.xml/1.7/Fri Apr 3 02:47:57 2009//
+/DOMImplementationLSTest2.xml/1.4/Fri Apr 3 02:47:58 2009//
+/DOMImplementationLSTest3.xml/1.5/Fri Apr 3 02:47:57 2009//
+/DOMImplementationLSTest4.xml/1.4/Fri Apr 3 02:47:58 2009//
+/DOMImplementationLSTest5.xml/1.4/Fri Apr 3 02:47:57 2009//
+/DOMInputSourceTest0.xml/1.8/Fri Apr 3 02:47:58 2009//
+/DOMInputSourceTest1.xml/1.8/Fri Apr 3 02:47:58 2009//
+/DOMInputSourceTest2.xml/1.7/Fri Apr 3 02:47:57 2009//
+/DOMInputSourceTest3.xml/1.9/Fri Apr 3 02:47:57 2009//
+/DOMInputSourceTest4.xml/1.7/Fri Apr 3 02:47:58 2009//
+/DOMInputSourceTest5.xml/1.11/Fri Apr 3 02:47:57 2009//
+/DOMInputSourceTest6.xml/1.4/Fri Apr 3 02:47:58 2009//
+/DOMWriterFilterTest0.xml/1.9/Fri Apr 3 02:47:57 2009//
+/DOMWriterFilterTest1.xml/1.10/Fri Apr 3 02:47:57 2009//
+/DOMWriterFilterTest2.xml/1.12/Fri Apr 3 02:47:57 2009//
+/DOMWriterFilterTest3.xml/1.9/Fri Apr 3 02:47:57 2009//
+/DOMWriterTest0.xml/1.8/Fri Apr 3 02:47:57 2009//
+/DOMWriterTest1.xml/1.8/Fri Apr 3 02:47:58 2009//
+/DOMWriterTest2.xml/1.8/Fri Apr 3 02:47:58 2009//
+/DOMWriterTest3.xml/1.4/Fri Apr 3 02:47:58 2009//
+/DOMWriterTest4.xml/1.4/Fri Apr 3 02:47:57 2009//
+/DOMWriterTest5.xml/1.3/Fri Apr 3 02:47:57 2009//
+/DOMWriterTest6.xml/1.3/Fri Apr 3 02:47:58 2009//
+/GetFeature1.xml/1.3/Fri Apr 3 02:47:58 2009//
+/GetFeature2.xml/1.3/Fri Apr 3 02:47:57 2009//
+/HasFeature01.xml/1.3/Fri Apr 3 02:47:57 2009//
+/HasFeature02.xml/1.3/Fri Apr 3 02:47:57 2009//
+/HasFeature03.xml/1.3/Fri Apr 3 02:47:57 2009//
+/HasFeature04.xml/1.4/Fri Apr 3 02:47:57 2009//
+/HasFeature05.xml/1.5/Fri Apr 3 02:47:57 2009//
+/LSParserConfig1.xml/1.5/Fri Apr 3 02:47:57 2009//
+/LSParserConfig2.xml/1.5/Fri Apr 3 02:47:57 2009//
+/LSParserConfig3.xml/1.5/Fri Apr 3 02:47:57 2009//
+/LSParserConfig4.xml/1.5/Fri Apr 3 02:47:57 2009//
+/LSParserConfig5.xml/1.5/Fri Apr 3 02:47:58 2009//
+/LSParserConfig6.xml/1.6/Fri Apr 3 02:47:57 2009//
+/LSParserConfig7.xml/1.6/Fri Apr 3 02:47:57 2009//
+/LSParserConfig8.xml/1.7/Fri Apr 3 02:47:58 2009//
+/LSParserConfig9.xml/1.5/Fri Apr 3 02:47:58 2009//
+/LSSerializerConfig1.xml/1.6/Fri Apr 3 02:47:57 2009//
+/LSSerializerConfig10.xml/1.6/Fri Apr 3 02:47:58 2009//
+/LSSerializerConfig2.xml/1.7/Fri Apr 3 02:47:58 2009//
+/LSSerializerConfig3.xml/1.5/Fri Apr 3 02:47:57 2009//
+/LSSerializerConfig4.xml/1.5/Fri Apr 3 02:47:57 2009//
+/LSSerializerConfig5.xml/1.5/Fri Apr 3 02:47:57 2009//
+/LSSerializerConfig6.xml/1.6/Fri Apr 3 02:47:57 2009//
+/LSSerializerConfig7.xml/1.5/Fri Apr 3 02:47:57 2009//
+/LSSerializerConfig8.xml/1.7/Fri Apr 3 02:47:58 2009//
+/LSSerializerConfig9.xml/1.6/Fri Apr 3 02:47:58 2009//
+/SystemId1.xml/1.3/Fri Apr 3 02:47:57 2009//
+/SystemId2.xml/1.3/Fri Apr 3 02:47:57 2009//
+/alltests.xml/1.22/Fri Apr 3 02:47:57 2009//
+/canonicalform01.xml/1.4/Fri Apr 3 02:47:57 2009//
+/canonicalform03.xml/1.4/Fri Apr 3 02:47:58 2009//
+/canonicalform04.xml/1.4/Fri Apr 3 02:47:57 2009//
+/canonicalform05.xml/1.4/Fri Apr 3 02:47:57 2009//
+/canonicalform06.xml/1.4/Fri Apr 3 02:47:58 2009//
+/canonicalform08.xml/1.4/Fri Apr 3 02:47:57 2009//
+/canonicalform09.xml/1.4/Fri Apr 3 02:47:57 2009//
+/canonicalform10.xml/1.4/Fri Apr 3 02:47:57 2009//
+/canonicalform11.xml/1.4/Fri Apr 3 02:47:58 2009//
+/canonicalform12.xml/1.4/Fri Apr 3 02:47:57 2009//
+/canonicalform13.xml/1.4/Fri Apr 3 02:47:58 2009//
+/cdatasections01.xml/1.4/Fri Apr 3 02:47:57 2009//
+/cdatasections02.xml/1.4/Fri Apr 3 02:47:58 2009//
+/cdatasections03.xml/1.4/Fri Apr 3 02:47:58 2009//
+/cdatasections04.xml/1.5/Fri Apr 3 02:47:58 2009//
+/checkcharacternormalization01.xml/1.4/Fri Apr 3 02:47:57 2009//
+/checkcharacternormalization02.xml/1.5/Fri Apr 3 02:47:58 2009//
+/checkcharacternormalization03.xml/1.4/Fri Apr 3 02:47:58 2009//
+/checkcharacternormalization04.xml/1.4/Fri Apr 3 02:47:58 2009//
+/comments01.xml/1.5/Fri Apr 3 02:47:57 2009//
+/comments02.xml/1.5/Fri Apr 3 02:47:57 2009//
+/comments03.xml/1.4/Fri Apr 3 02:47:57 2009//
+/comments04.xml/1.4/Fri Apr 3 02:47:57 2009//
+/datatypenormalization01.xml/1.4/Fri Apr 3 02:47:57 2009//
+/datatypenormalization02.xml/1.4/Fri Apr 3 02:47:57 2009//
+/datatypenormalization03.xml/1.4/Fri Apr 3 02:47:58 2009//
+/datatypenormalization04.xml/1.4/Fri Apr 3 02:47:58 2009//
+/datatypenormalization05.xml/1.4/Fri Apr 3 02:47:58 2009//
+/datatypenormalization06.xml/1.4/Fri Apr 3 02:47:57 2009//
+/datatypenormalization07.xml/1.4/Fri Apr 3 02:47:58 2009//
+/datatypenormalization08.xml/1.4/Fri Apr 3 02:47:58 2009//
+/datatypenormalization09.xml/1.4/Fri Apr 3 02:47:58 2009//
+/datatypenormalization10.xml/1.4/Fri Apr 3 02:47:57 2009//
+/datatypenormalization11.xml/1.4/Fri Apr 3 02:47:57 2009//
+/datatypenormalization12.xml/1.4/Fri Apr 3 02:47:57 2009//
+/datatypenormalization13.xml/1.5/Fri Apr 3 02:47:58 2009//
+/datatypenormalization14.xml/1.5/Fri Apr 3 02:47:58 2009//
+/datatypenormalization15.xml/1.5/Fri Apr 3 02:47:57 2009//
+/datatypenormalization16.xml/1.5/Fri Apr 3 02:47:57 2009//
+/datatypenormalization17.xml/1.4/Fri Apr 3 02:47:57 2009//
+/disallowdoctype01.xml/1.5/Fri Apr 3 02:47:57 2009//
+/discarddefaultcontent01.xml/1.3/Fri Apr 3 02:47:58 2009//
+/discarddefaultcontent02.xml/1.3/Fri Apr 3 02:47:57 2009//
+/dom3tests.ent/1.15/Fri Apr 3 02:47:57 2009//
+/elementcontentwhitespace01.xml/1.4/Fri Apr 3 02:47:58 2009//
+/elementcontentwhitespace02.xml/1.5/Fri Apr 3 02:47:58 2009//
+/elementcontentwhitespace03.xml/1.3/Fri Apr 3 02:47:58 2009//
+/encoding01.xml/1.2/Fri Apr 3 02:47:57 2009//
+/entities01.xml/1.4/Fri Apr 3 02:47:57 2009//
+/entities02.xml/1.4/Fri Apr 3 02:47:57 2009//
+/entities03.xml/1.4/Fri Apr 3 02:47:57 2009//
+/entities04.xml/1.4/Fri Apr 3 02:47:58 2009//
+/entities05.xml/1.4/Fri Apr 3 02:47:57 2009//
+/entities06.xml/1.4/Fri Apr 3 02:47:57 2009//
+/entities07.xml/1.5/Fri Apr 3 02:47:57 2009//
+/entities08.xml/1.5/Fri Apr 3 02:47:57 2009//
+/entities09.xml/1.4/Fri Apr 3 02:47:57 2009//
+/infoset01.xml/1.3/Fri Apr 3 02:47:57 2009//
+/infoset02.xml/1.3/Fri Apr 3 02:47:58 2009//
+/infoset03.xml/1.3/Fri Apr 3 02:47:57 2009//
+/infoset04.xml/1.3/Fri Apr 3 02:47:58 2009//
+/infoset05.xml/1.3/Fri Apr 3 02:47:57 2009//
+/infoset06.xml/1.3/Fri Apr 3 02:47:57 2009//
+/infoset07.xml/1.3/Fri Apr 3 02:47:57 2009//
+/infoset08.xml/1.3/Fri Apr 3 02:47:58 2009//
+/metadata.xml/1.1/Fri Apr 3 02:47:57 2009//
+/namespacedeclarations01.xml/1.4/Fri Apr 3 02:47:58 2009//
+/namespacedeclarations02.xml/1.4/Fri Apr 3 02:47:57 2009//
+/namespaces01.xml/1.3/Fri Apr 3 02:47:57 2009//
+/namespaces02.xml/1.3/Fri Apr 3 02:47:57 2009//
+/newline01.xml/1.3/Fri Apr 3 02:47:57 2009//
+/newline02.xml/1.3/Fri Apr 3 02:47:58 2009//
+/newline03.xml/1.3/Fri Apr 3 02:47:58 2009//
+/noinputspecified01.xml/1.4/Fri Apr 3 02:47:57 2009//
+/nooutputspecified01.xml/1.4/Fri Apr 3 02:47:57 2009//
+/normalizecharacters01.xml/1.3/Fri Apr 3 02:47:58 2009//
+/normalizecharacters02.xml/1.3/Fri Apr 3 02:47:57 2009//
+/normalizecharacters03.xml/1.3/Fri Apr 3 02:47:58 2009//
+/normalizecharacters04.xml/1.4/Fri Apr 3 02:47:58 2009//
+/schemalocation01.xml/1.6/Fri Apr 3 02:47:58 2009//
+/schemalocation02.xml/1.5/Fri Apr 3 02:47:58 2009//
+/schemalocation03.xml/1.4/Fri Apr 3 02:47:58 2009//
+/schemalocation04.xml/1.4/Fri Apr 3 02:47:57 2009//
+/schematype01.xml/1.5/Fri Apr 3 02:47:58 2009//
+/schematype02.xml/1.5/Fri Apr 3 02:47:57 2009//
+/schematype03.xml/1.5/Fri Apr 3 02:47:57 2009//
+/schematype04.xml/1.4/Fri Apr 3 02:47:57 2009//
+/splitcdatasections01.xml/1.4/Fri Apr 3 02:47:57 2009//
+/splitcdatasections02.xml/1.4/Fri Apr 3 02:47:57 2009//
+/unsupportedencoding01.xml/1.4/Fri Apr 3 02:47:58 2009//
+/validate01.xml/1.4/Fri Apr 3 02:47:57 2009//
+/validate02.xml/1.4/Fri Apr 3 02:47:57 2009//
+/validate03.xml/1.5/Fri Apr 3 02:47:58 2009//
+/validate04.xml/1.4/Fri Apr 3 02:47:57 2009//
+/validate05.xml/1.4/Fri Apr 3 02:47:57 2009//
+/validate06.xml/1.4/Fri Apr 3 02:47:57 2009//
+/validate07.xml/1.4/Fri Apr 3 02:47:58 2009//
+/validate08.xml/1.4/Fri Apr 3 02:47:58 2009//
+/validateifschema01.xml/1.4/Fri Apr 3 02:47:58 2009//
+/validateifschema02.xml/1.4/Fri Apr 3 02:47:57 2009//
+/validateifschema03.xml/1.5/Fri Apr 3 02:47:57 2009//
+/validateifschema04.xml/1.4/Fri Apr 3 02:47:58 2009//
+/wellformed01.xml/1.4/Fri Apr 3 02:47:57 2009//
+/wellformed02.xml/1.4/Fri Apr 3 02:47:57 2009//
+/wellformed03.xml/1.5/Fri Apr 3 02:47:58 2009//
+/writeToURI1.xml/1.2/Fri Apr 3 02:47:57 2009//
+/writeToURI2.xml/1.2/Fri Apr 3 02:47:58 2009//
+/xmldeclaration01.xml/1.3/Fri Apr 3 02:47:57 2009//
+/xmldeclaration02.xml/1.3/Fri Apr 3 02:47:57 2009//
diff --git a/test/testcases/tests/level3/ls/CVS/Repository b/test/testcases/tests/level3/ls/CVS/Repository
new file mode 100644
index 0000000..59add56
--- /dev/null
+++ b/test/testcases/tests/level3/ls/CVS/Repository
@@ -0,0 +1 @@
+2001/DOM-Test-Suite/tests/level3/ls
diff --git a/test/testcases/tests/level3/ls/CVS/Root b/test/testcases/tests/level3/ls/CVS/Root
new file mode 100644
index 0000000..3c7177e
--- /dev/null
+++ b/test/testcases/tests/level3/ls/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/test/testcases/tests/level3/ls/CVS/Template b/test/testcases/tests/level3/ls/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level3/ls/CVS/Template
diff --git a/test/testcases/tests/level3/ls/CertifiedText1.xml b/test/testcases/tests/level3/ls/CertifiedText1.xml
new file mode 100644
index 0000000..f1dd2a6
--- /dev/null
+++ b/test/testcases/tests/level3/ls/CertifiedText1.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="CertifiedText1">
+ <metadata>
+ <title>CertifiedText1</title>
+ <creator>Curt Arnold</creator>
+ <description>Changes certifiedText on LSInput.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-DOMImplementationLS-createLSInput"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-certifiedText"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="input" type="LSInput"/>
+ <var name="certifiedText" type="boolean"/>
+
+ <implementation var="domImpl"/>
+ <createLSInput var="input" obj="domImpl"/>
+ <certifiedText var="certifiedText" obj="input"/>
+ <assertFalse actual="certifiedText" id="initiallyFalse"/>
+ <certifiedText obj="input" value="true"/>
+ <certifiedText var="certifiedText" obj="input"/>
+ <assertTrue actual="certifiedText" id="setTrue"/>
+
+ <certifiedText obj="input" value="false"/>
+ <certifiedText var="certifiedText" obj="input"/>
+ <assertFalse actual="certifiedText" id="setFalse"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/CharacterStream1.xml b/test/testcases/tests/level3/ls/CharacterStream1.xml
new file mode 100644
index 0000000..f0c7043
--- /dev/null
+++ b/test/testcases/tests/level3/ls/CharacterStream1.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="CharacterStream1">
+ <metadata>
+ <title>CharacterStream1</title>
+ <creator>Curt Arnold</creator>
+ <description>Writes a document to a character stream and rereads the document.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-DOMImplementationLS-createLSInput"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-characterStream"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSOutput-characterStream"/>
+ </metadata>
+ <implementationAttribute name="validating" value="false"/>
+
+ <var name="testDoc" type="Document"/>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="output" type="LSOutput"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="writer" type="LSWriter"/>
+ <var name="checkWriter" type="LSWriter"/>
+ <var name="reader" type="LSReader"/>
+ <var name="checkReader" type="LSReader"/>
+ <var name="status" type="boolean"/>
+ <var name="input" type="LSInput"/>
+ <var name="parser" type="LSParser"/>
+ <var name="checkDoc" type="Document"/>
+ <var name="docElem" type="Element"/>
+ <var name="docElemName" type="DOMString"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+
+ <load var="testDoc" href="test0" willBeModified="false"/>
+ <implementation var="domImpl"/>
+
+ <!-- create an LSOutput and connect it to an stock LSWriter -->
+ <createLSOutput var="output" obj="domImpl"/>
+ <!-- check that it was initially null -->
+ <characterStream var="checkWriter" obj="output" interface="LSOutput"/>
+ <assertNull actual="checkWriter" id="writerInitiallyNull"/>
+ <characterStream obj="output" value="writer" interface="LSOutput"/>
+ <characterStream var="checkWriter" obj="output" interface="LSOutput"/>
+ <assertNotNull actual="checkWriter" id="writerNotNull"/>
+
+ <!-- create a serializer and write a test document -->
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <write var="status" obj="serializer" destination="output" nodeArg="testDoc"/>
+ <assertTrue actual="status" id="writeStatus"/>
+
+ <!-- read the serialized document -->
+ <assign var="reader" value="writer"/>
+ <createLSInput var="input" obj="domImpl"/>
+ <characterStream var="checkReader" obj="input" interface="LSInput"/>
+ <assertNull actual="checkReader" id="readerInitiallyNull"/>
+ <characterStream obj="input" value="reader" interface="LSInput"/>
+ <characterStream var="checkReader" obj="input" interface="LSInput"/>
+ <assertNotNull actual="checkReader" id="readerNotNull"/>
+ <createLSParser var="parser" obj="domImpl" schemaType="NULL_SCHEMA_TYPE" mode="1"/>
+ <parse var="checkDoc" obj="parser" input="input"/>
+ <assertNotNull actual="checkDoc" id="checkNotNull"/>
+ <documentElement var="docElem" obj="checkDoc"/>
+ <nodeName var="docElemName" obj="docElem"/>
+ <assertEquals expected='"elt0"' actual="docElemName" id="checkDocElemName" ignoreCase="false"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMBuilderFilterTest0.xml b/test/testcases/tests/level3/ls/DOMBuilderFilterTest0.xml
new file mode 100644
index 0000000..37191ed
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMBuilderFilterTest0.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMBuilderFilterTest0">
+ <metadata>
+ <title>DOMBuilderFilterTest0</title>
+ &creator;
+ <description>Parses a document twice, once using a filter to reject all elt1 elements.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-filter"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParserFilter-startElement"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParserFilter-whatToShow"/>
+ </metadata>
+
+
+ <var name="myfilter" type="LSParserFilter">
+ <var name="name" type="DOMString"/>
+ &filterVars;
+
+
+ <startElement>
+ <nodeName var="name" obj="elementArg"/>
+ <if>
+ <equals actual="name" expected='"elt1"' ignoreCase="false"/>
+ <return value="&FILTER_REJECT;"/>
+ <else>
+ <return value="&FILTER_ACCEPT;"/>
+ </else>
+ </if>
+ </startElement>
+
+ <acceptNode>
+ <return value="&FILTER_ACCEPT;"/>
+ </acceptNode>
+
+ <whatToShow>
+ <get>
+ <return value="&SHOW_ELEMENT;"/>
+ </get>
+ </whatToShow>
+
+ </var>
+
+ <var name="list" type="NodeList"/>
+ <var name="count" type="int"/>
+ <var name="resourceURI" type="DOMString"/>
+ &vars;
+ &init;
+
+ <getResourceURI var="resourceURI" href="TEST1"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <getElementsByTagName var="list" obj="document" tagname="&quot;elt1&quot;" interface="Document"/>
+ <length var="count" obj="list" interface="NodeList"/>
+ <assertEquals actual="count" expected="1" ignoreCase="false" id="filter_count_1"/>
+
+ &parser.setFilter_myfilter;
+
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <assertNotNull actual="document" id="secondParseDocumentNotNull"/>
+ <getElementsByTagName var="list" obj="document" tagname="&quot;elt1&quot;" interface="Document"/>
+ <length var="count" obj="list" interface="NodeList"/>
+ <assertEquals actual="count" expected="0" ignoreCase="false" id="filter_count_2"/>
+
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMBuilderFilterTest1.xml b/test/testcases/tests/level3/ls/DOMBuilderFilterTest1.xml
new file mode 100644
index 0000000..226efc0
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMBuilderFilterTest1.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMBuilderFilterTest1">
+ <metadata>
+ <title>DOMBuilderFilterTest1</title>
+ &creator;
+ <description>DOM Builder Filter test, test whether incorrect node types are never passed to the filter.</description>
+ &contributor; &date;
+ <subject resource="&spec;#LS-Interfaces-LSParserFilter"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-filter"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParserFilter-acceptNode"/>
+ </metadata>
+
+ <var name="resourceURI" type="DOMString"/>
+ <var name="myfilter" type="LSParserFilter">
+ &filterVars;
+
+ <startElement>
+ <return value="&FILTER_ACCEPT;"/>
+ </startElement>
+
+ <acceptNode>
+ <var name="type" type="int"/>
+ <nodeType obj="nodeArg" var="type"/>
+
+ <assertNotEquals actual="type" expected="2" id="attribute_node_test" ignoreCase="false"/>
+ <assertNotEquals actual="type" expected="6" id="entity_node_test" ignoreCase="false"/>
+ <assertNotEquals actual="type" expected="9" id="document_node_test" ignoreCase="false"/>
+ <assertNotEquals actual="type" expected="10" id="document_type_node_test" ignoreCase="false"/>
+ <assertNotEquals actual="type" expected="12" id="notation_node_test" ignoreCase="false"/>
+
+ <return value="&FILTER_ACCEPT;"/>
+ </acceptNode>
+
+ <whatToShow>
+ <get>
+ <return value="&SHOW_ALL;"/>
+ </get>
+ </whatToShow>
+
+ </var>
+
+ &vars;
+ &init;
+
+ &parser.setFilter_myfilter;
+
+ <getResourceURI var="resourceURI" href="TEST7"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <assertNotNull actual="document" id="documentNotNull"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMBuilderFilterTest2.xml b/test/testcases/tests/level3/ls/DOMBuilderFilterTest2.xml
new file mode 100644
index 0000000..1456009
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMBuilderFilterTest2.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMBuilderFilterTest2">
+ <metadata>
+ <title>DOMBuilderFilterTest2</title>
+ &creator;
+ <description>Checks that attributes are visible when elements are passed to LSParserFilter.startElement.</description>
+ &contributor; &date;
+ <subject resource="&spec;#LS-Interfaces-LSParserFilter"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParserFilter-startElement"/>
+ </metadata>
+ <var name="resourceURI" type="DOMString"/>
+
+ <var name="myfilter" type="LSParserFilter">
+ &filterVars;
+ <var name="name" type="DOMString"/>
+ <var name="hasattribute" type="boolean"/>
+
+ <startElement>
+
+ <nodeName var="name" obj="elementArg"/>
+ <if>
+ <equals actual="name" expected='"elt1"' ignoreCase="false"/>
+ <hasAttribute var="hasattribute" obj="elementArg" name='"attr1"'/>
+ <assertTrue actual="hasattribute" id="default_content_check"/>
+ </if>
+
+ <return value="&FILTER_ACCEPT;"/>
+ </startElement>
+
+ <acceptNode>
+ <return value="&FILTER_ACCEPT;"/>
+ </acceptNode>
+
+ <whatToShow>
+ <get>
+ <return value="&SHOW_ALL;"/>
+ </get>
+ </whatToShow>
+
+ </var>
+
+ &vars;
+ &init;
+
+ &parser.setFilter_myfilter;
+
+ <getResourceURI var="resourceURI" href="TEST3"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMBuilderTest0.xml b/test/testcases/tests/level3/ls/DOMBuilderTest0.xml
new file mode 100644
index 0000000..dd65d25
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMBuilderTest0.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+<test xmlns="&level3;" name="DOMBuilderTest0">
+ <metadata>
+ <title>DOMBuilderTest0</title>
+ &creator;
+ <description>Parses a document, writes it to string, parses the string and checks that the number of elt1 elements is as expected.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parse"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-stringData"/>
+ </metadata>
+
+ <var name="elementList" type="NodeList"/>
+ <var name="stringDoc" type="DOMString"/>
+ <var name="resourceURI" type="DOMString"/>
+
+ &vars;
+
+ &init;
+
+ <getResourceURI var="resourceURI" href="TEST0" contentType="text/xml"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="2" id="count_elt1_1"/>
+
+ <writeToString var="stringDoc" obj="writer" nodeArg="document"/>
+ <stringData obj="inputSource" value="stringDoc"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="2" id="count_elt1_2"/>
+
+</test>
+
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMBuilderTest1.xml b/test/testcases/tests/level3/ls/DOMBuilderTest1.xml
new file mode 100644
index 0000000..e0f54b1
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMBuilderTest1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM 'dom3.dtd' [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="DOMBuilderTest1">
+ <metadata>
+ <title>DOMBuilderTest1</title>
+ &creator;
+ <description>Uses LSParser.parseWithContext to replace a node in an existing document.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseWithContext"/>
+ </metadata>
+ <var name="elementList" type="NodeList"/>
+ <var name="stringDoc" type="DOMString"/>
+ <var name="firstElt2" type="Element"/>
+ <var name="returnNode" type="Node"/>
+ <var name="resourceURI" type="DOMString"/>
+ &vars;
+
+ &init;
+ <getResourceURI var="resourceURI" href="TEST0" contentType="text/xml"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt2&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="1" id="elt2Count_1"/>
+
+ <item interface="NodeList" obj="elementList" var="firstElt2" index="0"/>
+
+ <getResourceURI var="resourceURI" href="TEST2" contentType="text/xml"/>
+ <systemId obj="inputSource" value="resourceURI" interface="LSInput"/>
+ <try>
+ <parseWithContext obj="parser" input="inputSource"
+ contextArg="firstElt2" action="ACTION_REPLACE" var="returnNode"/>
+ <catch>
+ <DOMException code="NOT_SUPPORTED_ERR">
+ <return/>
+ </DOMException>
+ </catch>
+ </try>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt2&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="1" id="elt2Count_2"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt3&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="1" id="elt3Count"/>
+
+</test>
+
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMBuilderTest2.xml b/test/testcases/tests/level3/ls/DOMBuilderTest2.xml
new file mode 100644
index 0000000..6de856a
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMBuilderTest2.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+<test xmlns="&level3;" name="DOMBuilderTest2">
+ <metadata>
+ <title>DOMBuilderTest2</title>
+ &creator;
+ <description>Uses LSParser.parseWithContext to append a document as a child of an existing node.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseWithContext"/>
+ </metadata>
+
+ <var name="elementList" type="NodeList"/>
+ <var name="stringDoc" type="DOMString"/>
+ <var name="firstElt0" type="Element"/>
+ <var name="returnNode" type="Node"/>
+ <var name="resourceURI" type="DOMString"/>
+
+ &vars;
+ &init;
+
+ <getResourceURI var="resourceURI" href="TEST0" contentType="text/xml"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt0&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="1" id="count_elt0"/>
+
+ <item interface="NodeList" obj="elementList" var="firstElt0" index="0"/>
+
+ <getResourceURI var="resourceURI" href="TEST2" contentType="text/xml"/>
+ <systemId obj="inputSource" value="resourceURI" interface="LSInput"/>
+ <try>
+ <parseWithContext obj="parser" input="inputSource" contextArg="firstElt0" action="ACTION_APPEND_AS_CHILDREN" var="returnNode"/>
+ <catch>
+ <DOMException code="NOT_SUPPORTED_ERR">
+ <return/>
+ </DOMException>
+ </catch>
+ </try>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt2&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="2" id="count_elt2"/>
+
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt3&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="1" id="count_elt3"/>
+
+</test>
+
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMBuilderTest3.xml b/test/testcases/tests/level3/ls/DOMBuilderTest3.xml
new file mode 100644
index 0000000..c1a6e78
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMBuilderTest3.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+<test xmlns="&level3;" name="DOMBuilderTest3">
+ <metadata>
+ <title>DOMBuilderTest3</title>
+ &creator;
+ <description>Uses LSParser.parseWithContext to insert a document after a node.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseWithContext"/>
+ </metadata>
+
+ <var name="elementList" type="NodeList"/>
+ <var name="stringDoc" type="DOMString"/>
+
+ <var name="firstElt1" type="Element"/>
+ <var name="secondElt1" type="Element"/>
+ <var name="thirdElt" type="Element"/>
+ <var name="nodeName" type="DOMString"/>
+ <var name="returnNode" type="Node"/>
+ <var name="resourceURI" type="DOMString"/>
+
+ &vars;
+
+ &init;
+
+ <getResourceURI var="resourceURI" href="TEST0" contentType="text/xml"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="2" id="count_elt1"/>
+
+
+ <item interface="NodeList" obj="elementList" var="firstElt1" index="0"/>
+
+ <nextSibling interface="Node" obj="firstElt1" var="secondElt1"/>
+ <nodeName obj="secondElt1" var="nodeName"/>
+ <assertEquals actual="nodeName" expected="&quot;elt1&quot;" id="nextSibling_before_add" ignoreCase="false"/>
+
+ <getResourceURI var="resourceURI" href="TEST2" contentType="text/xml"/>
+ <systemId obj="inputSource" value="resourceURI" interface="LSInput"/>
+ <try>
+ <parseWithContext obj="parser" input="inputSource" contextArg="firstElt1" action="ACTION_INSERT_AFTER" var="returnNode"/>
+ <catch>
+ <DOMException code="NOT_SUPPORTED_ERR">
+ <return/>
+ </DOMException>
+ </catch>
+ </try>
+ <nextSibling interface="Node" obj="firstElt1" var="secondElt1"/>
+ <nodeName obj="secondElt1" var="nodeName"/>
+ <assertEquals actual="nodeName" expected="&quot;elt2&quot;" id="nextSibling_after_add" ignoreCase="false"/>
+
+ <nextSibling interface="Node" obj="secondElt1" var="thirdElt"/>
+ <nodeName obj="thirdElt" var="nodeName"/>
+ <assertEquals actual="nodeName" expected="&quot;elt1&quot;" id="nextSiblings_sibling_after_add" ignoreCase="false"/>
+
+</test>
+
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMBuilderTest4.xml b/test/testcases/tests/level3/ls/DOMBuilderTest4.xml
new file mode 100644
index 0000000..ee557d3
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMBuilderTest4.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+<test xmlns="&level3;" name="DOMBuilderTest4">
+ <metadata>
+ <title>DOMBuilderTest4</title>
+ &creator;
+ <description>Uses LSParser.parseWithContext to insert a document before a node.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseWithContext"/>
+ </metadata>
+
+ <var name="elementList" type="NodeList"/>
+ <var name="stringDoc" type="DOMString"/>
+
+ <var name="firstElt1" type="Element"/>
+ <var name="secondElt1" type="Element"/>
+ <var name="thirdElt" type="Element"/>
+ <var name="nodeName" type="DOMString"/>
+ <var name="returnNode" type="Node"/>
+ <var name="resourceURI" type="DOMString"/>
+
+ &vars;
+ &init;
+ <getResourceURI var="resourceURI" href="TEST0" contentType="text/xml"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="2" id="count_elt1"/>
+
+
+ <item interface="NodeList" obj="elementList" var="secondElt1" index="1"/>
+
+ <previousSibling interface="Node" obj="secondElt1" var="firstElt1"/>
+ <nodeName obj="firstElt1" var="nodeName"/>
+ <assertEquals actual="nodeName" expected="&quot;elt1&quot;" id="previousSibling_before_insert_before" ignoreCase="false"/>
+
+ <getResourceURI var="resourceURI" href="TEST2" contentType="text/xml"/>
+ <systemId obj="inputSource" value="resourceURI" interface="LSInput"/>
+ <try>
+ <parseWithContext obj="parser" input="inputSource" contextArg="secondElt1" action="ACTION_INSERT_BEFORE" var="returnNode"/>
+ <catch>
+ <DOMException code="NOT_SUPPORTED_ERR">
+ <return/>
+ </DOMException>
+ </catch>
+ </try>
+ <previousSibling interface="Node" obj="secondElt1" var="firstElt1"/>
+ <nodeName obj="firstElt1" var="nodeName"/>
+ <assertEquals actual="nodeName" expected="&quot;elt2&quot;" id="previousSibling_after_insert_before" ignoreCase="false"/>
+
+
+</test>
+
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMBuilderTest5.xml b/test/testcases/tests/level3/ls/DOMBuilderTest5.xml
new file mode 100644
index 0000000..fd212c9
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMBuilderTest5.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003-2004 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd"[
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+<test xmlns="&level3;" name="DOMBuilderTest5">
+ <metadata>
+ <title>DOMBuilderTest5</title>
+ &creator;
+ <description>supported-media-types-only is set to true if supported and
+ an XML file with an unsupported media type from an HTTP server
+ on the local machine is retrieved.</description>
+ &contributor; &date;
+ <subject resource="&spec;#LS-LSParser-parseURI"/>
+ <subject resource="&spec;#parameter-supported-media-types-only"/>
+ </metadata>
+
+
+ <var name="elementList" type="NodeList"/>
+ <var name="stringDoc" type="DOMString"/>
+ <var name="configuration" type="DOMConfiguration"/>
+
+ <var name="ERROR_HANDLER" type="DOMString" value='"error-handler"'/>
+ <var name="SUPPORTED_MEDIATYPES_ONLY" type="DOMString" value='"supported-media-types-only"'/>
+ <var name="mediaTypesSupported" type="boolean"/>
+ <var name="resourceURI" type="DOMString"/>
+
+ <var name="errorHandler" type="DOMErrorHandler">
+ <handleError>
+ <var name="type" type="DOMString"/>
+ <type var="type" obj="error" interface="DOMError"/>
+ <assertEquals id="handler_1" actual="type" expected='"unsupported-media-type"' ignoreCase="false"/>
+ <return value="false"/>
+ </handleError>
+ </var>
+ &vars;
+
+ &init;
+
+ <domConfig var="configuration" obj="parser" interface="LSParser"/>
+
+ <getResourceURI var="resourceURI" href="TESTPDF" scheme="http" contentType="application/pdf"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <!--
+ document should successfully parse since, properly configured,
+ testpdf.pdf is a valid XML file on the http server.
+ -->
+ <assertNotNull actual="document" id="testpdf_parsed"/>
+
+ <canSetParameter var="mediaTypesSupported" obj="configuration" name="SUPPORTED_MEDIATYPES_ONLY" value="true"/>
+ <if>
+ <isTrue value="mediaTypesSupported"/>
+ <setParameter obj="configuration" name="SUPPORTED_MEDIATYPES_ONLY" value="true"/>
+ <setParameter obj="configuration" name="ERROR_HANDLER" value="errorHandler"/>
+ <assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ </PARSE_ERR>
+ </assertLSException>
+ </if>
+
+</test>
+
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMBuilderTest6.xml b/test/testcases/tests/level3/ls/DOMBuilderTest6.xml
new file mode 100644
index 0000000..7462529
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMBuilderTest6.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="DOMBuilderTest6">
+ <metadata>
+ <title>DOMBuilderTest6</title>
+ <creator>Curt Arnold</creator>
+ <description>Parses from an uninitialized LSInput.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parse"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="parser" type="LSParser"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+ <var name="input" type="LSInput"/>
+ <var name="document" type="Document"/>
+
+ <implementation var="domImpl"/>
+ <createLSParser var="parser" obj="domImpl" schemaType="NULL_SCHEMA_TYPE" mode="1"/>
+ <createLSInput var="input" obj="domImpl"/>
+ <assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parse var="document" obj="parser" input="input"/>
+ </PARSE_ERR>
+ </assertLSException>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMBuilderTest8.xml b/test/testcases/tests/level3/ls/DOMBuilderTest8.xml
new file mode 100644
index 0000000..ec943b6
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMBuilderTest8.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="DOMBuilderTest8">
+ <metadata>
+ <title>DOMBuilderTest8</title>
+ <creator>Curt Arnold</creator>
+ <description>Parses an unresolvable System ID.</description>
+ <date qualifier="created">2003-12-19</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parse"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="parser" type="LSParser"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+ <var name="input" type="LSInput"/>
+ <var name="document" type="Document"/>
+ <var name="resourceURI" type="DOMString"/>
+
+ <implementation var="domImpl"/>
+ <createLSParser var="parser" obj="domImpl" schemaType="NULL_SCHEMA_TYPE" mode="1"/>
+ <createLSInput var="input" obj="domImpl"/>
+ <getResourceURI var="resourceURI" href='"test0"' contentType="text/xml"/>
+ <plus var="resourceURI" op1="resourceURI" op2='"_missing"'/>
+ <systemId obj="input" value="resourceURI" interface="LSInput"/>
+ <assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parse var="document" obj="parser" input="input"/>
+ </PARSE_ERR>
+ </assertLSException>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMEntityResolverTest0.xml b/test/testcases/tests/level3/ls/DOMEntityResolverTest0.xml
new file mode 100644
index 0000000..33922c3
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMEntityResolverTest0.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMEntityResolverTest0">
+ <metadata>
+ <title>DOMEntityResolverTest0</title>
+ &creator;
+ <description>Checks parameters on call to resolve resource are
+ as expected and redirects to parse a different resource.</description>
+ &contributor; &date;
+ <subject resource="&spec;#LS-LSResourceResolver-resolveResource"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-resource-resolver"/>
+ </metadata>
+
+ <var name="resourceURI" type="DOMString"/>
+ <var name="elt2List" type="NodeList"/>
+ <var name="elt2Count" type="int"/>
+ <var name="myentityresolver" type="LSResourceResolver">
+ <resolveResource>
+ <var name="domImplLS" type="DOMImplementationLS"/>
+ <var name="redirectedInput" type="LSInput"/>
+ <var name="resourceURI" type="DOMString"/>
+ <var name="source" type="DOMString" value='"&lt;elt2/&gt;"'/>
+
+ <!-- check that parameters on call to resolveSource are correct -->
+ <assertNull actual="publicId" id="rr_publicId"/>
+ <assertEquals actual="systemId" expected='"test5.xml"' ignoreCase="false" id="rr_systemId"/>
+ <assertURIEquals actual="baseURI" isAbsolute='true' name='"test4"' id="rr_baseURI"/>
+
+ <!-- redirect so that test5 is loaded -->
+ <implementation var="domImplLS"/>
+ <createLSInput var="redirectedInput" obj="domImplLS"/>
+ <stringData obj="redirectedInput" value="source" interface="LSInput"/>
+ <return value="redirectedInput"/>
+ </resolveResource>
+
+ </var>
+
+ <var name="configuration" type="DOMConfiguration"/>
+
+ &vars;
+ &init;
+
+ <domConfig var="configuration" obj="parser" interface="LSParser"/>
+ <setParameter obj="configuration" name='"resource-resolver"' value="myentityresolver"/>
+
+ <getResourceURI var="resourceURI" href="TEST4" contentType="text/xml"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <getElementsByTagName var="elt2List" obj="document"
+ tagname='"elt2"' interface="Document"/>
+ <length var="elt2Count" obj="elt2List" interface="NodeList"/>
+ <assertEquals actual="elt2Count" expected="1" id="elt2Count" ignoreCase="false"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMEntityResolverTest1.xml b/test/testcases/tests/level3/ls/DOMEntityResolverTest1.xml
new file mode 100644
index 0000000..16851cc
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMEntityResolverTest1.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMEntityResolverTest1">
+ <metadata>
+ <title>DOMEntityResolverTest1</title>
+ &creator;
+ <description>Tests a custom entity resolver. The entity resolver creates an input source that supplies 2 elt1 elements. The original entity reference referes to 1 elt1</description>
+ &contributor; &date;
+ <subject resource="&spec;#LS-LSResourceResolver-resolveResource"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-resource-resolver"/>
+ </metadata>
+ <implementationAttribute name="validating" value="true"/>
+
+
+ <var name="myentityresolver" type="LSResourceResolver">
+ <resolveResource>
+ <var name="erInputSource" type="LSInput"/>
+ <var name='implementation' type='DOMImplementation'/>
+ <var name='lsImplementation' type='DOMImplementationLS'/>
+ <var name="substitute" type="DOMString" value='"&lt;elt1&gt;second elt1&lt;/elt1&gt;&lt;elt1&gt;third elt1&lt;/elt1&gt;"'/>
+
+ <implementation var='implementation'/>
+ <assign var='lsImplementation' value='implementation'/>
+
+ <createLSInput var='erInputSource' obj='lsImplementation'/>
+ <stringData obj="erInputSource" value="substitute" interface="LSInput"/>
+
+ <return value="erInputSource"/>
+ </resolveResource>
+
+ </var>
+
+ <var name="elementList" type="NodeList"/>
+ <var name="configuration" type="DOMConfiguration"/>
+ <var name="resourceURI" type="DOMString"/>
+
+ &vars;
+ &init;
+
+ <domConfig var="configuration" obj="parser" interface="LSParser"/>
+
+ <getResourceURI var="resourceURI" href="TEST4" contentType="text/xml"/>
+
+ <!-- before applying the entity resolver there should be 2 elt1 in this document -->
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="2" id="count_elt1_before_applying_entity_resolver"/>
+
+ <setParameter obj="configuration" name='"resource-resolver"' value="myentityresolver"/>
+
+ <!-- after applying the entity resolver there should be 3 elt1 in this document -->
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="3" id="count_elt1_after_applying_entity_resolver"/>
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMEntityResolverTest2.xml b/test/testcases/tests/level3/ls/DOMEntityResolverTest2.xml
new file mode 100644
index 0000000..ce72982
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMEntityResolverTest2.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMEntityResolverTest2">
+ <metadata>
+ <title>DOMEntityResolverTest2</title>
+ &creator;
+ <description>Resource resolvers do not participate in resolving the top-level document entity.
+ This test attempts to redirect any resource and then checks that the
+ requested document was not affected.</description>
+ &contributor; &date;
+ <subject resource="&spec;#LS-LSResourceResolver-resolveResource"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-resource-resolver"/>
+ </metadata>
+
+ <var name="resourceURI" type="DOMString"/>
+ <var name="docElem" type="Element"/>
+ <var name="docElemName" type="DOMString"/>
+ <var name="myentityresolver" type="LSResourceResolver">
+ <resolveResource>
+ <var name="domImplLS" type="DOMImplementationLS"/>
+ <var name="redirectedInput" type="LSInput"/>
+ <var name="source" type="DOMString" value='"&lt;!DOCTYPE failure [&lt;!ELEMENT failure EMPTY&gt;]&gt;&lt;failure/&gt;"'/>
+
+ <!--
+ The resolveResource should not be invoked,
+ but if it is substitute a failure document -->
+ <implementation var="domImplLS"/>
+ <createLSInput var="redirectedInput" obj="domImplLS"/>
+ <stringData obj="redirectedInput" value="source" interface="LSInput"/>
+ <return value="redirectedInput"/>
+ </resolveResource>
+ </var>
+
+ <var name="configuration" type="DOMConfiguration"/>
+
+ &vars;
+ &init;
+
+ <domConfig var="configuration" obj="parser" interface="LSParser"/>
+ <setParameter obj="configuration" name='"resource-resolver"' value="myentityresolver"/>
+
+ <getResourceURI var="resourceURI" href="TEST0" contentType="text/xml"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <assertNotNull actual="document" id="documentNotNull"/>
+ <documentElement var="docElem" obj="document"/>
+ <nodeName var="docElemName" obj="docElem"/>
+ <assertEquals actual="docElemName" expected='"elt0"'
+ id="docElemName" ignoreCase="false"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMImplementationLSTest0.xml b/test/testcases/tests/level3/ls/DOMImplementationLSTest0.xml
new file mode 100644
index 0000000..e008fcc
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMImplementationLSTest0.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMImplementationLSTest0">
+ <metadata>
+ <title>DOMImplementationLSTest0</title>
+ &creator;
+ <description>Uses DOMImplementationLS.createLSParser to create a synchronous parser with an unspecified schema type.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-DOMImplementationLS-createLSParser"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-async"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-busy"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-filter"/>
+ </metadata>
+ <var name="isAsync" type="boolean"/>
+ <var name="isBusy" type="boolean"/>
+ <var name="filter" type="LSParserFilter"/>
+ &vars;
+
+ <createLSParser var='parser' obj='lsImplementation' mode='MODE_SYNCHRONOUS' schemaType='NULL_SCHEMATYPE'/>
+ <assertNotNull actual="parser" id="parserNotNull"/>
+ <async var="isAsync" obj="parser"/>
+ <assertFalse actual="isAsync" id="notAsync"/>
+ <busy var="isBusy" obj="parser"/>
+ <assertFalse actual="isBusy" id="notBusy"/>
+ <filter var="filter" obj="parser" interface="LSParser"/>
+ <assertNull actual="filter" id="nullFilter"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMImplementationLSTest1.xml b/test/testcases/tests/level3/ls/DOMImplementationLSTest1.xml
new file mode 100644
index 0000000..3447a76
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMImplementationLSTest1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMImplementationLSTest1">
+ <metadata>
+ <title>DOMImplementationLSTest1</title>
+ &creator;
+ <description>Calls DOMImplementationLS.createLSParser(MODE_ASYNCHRONOUS, null) and
+ checks the return value is not null. Only applicable if DOMImplementation.hasFeature("LS-ASync", null) is true.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-DOMImplementationLS-createLSParser"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-async"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-busy"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-filter"/>
+ </metadata>
+ <hasFeature feature='"LS-Async"'/>
+ <var name="isAsync" type="boolean"/>
+ <var name="isBusy" type="boolean"/>
+ <var name="filter" type="LSParserFilter"/>
+ &vars;
+
+ <createLSParser var='parser' obj='lsImplementation' mode='MODE_ASYNCHRONOUS' schemaType='NULL_SCHEMATYPE'/>
+ <assertNotNull actual="parser" id="parserNotNull"/>
+ <async var="isAsync" obj="parser"/>
+ <assertTrue actual="isAsync" id="notAsync"/>
+ <busy var="isBusy" obj="parser"/>
+ <assertFalse actual="isBusy" id="notBusy"/>
+ <filter var="filter" obj="parser" interface="LSParser"/>
+ <assertNull actual="filter" id="nullFilter"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMImplementationLSTest2.xml b/test/testcases/tests/level3/ls/DOMImplementationLSTest2.xml
new file mode 100644
index 0000000..5327a9c
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMImplementationLSTest2.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMImplementationLSTest2">
+ <metadata>
+ <title>DOMImplementationLSTest2</title>
+ &creator;
+ <description>Calls DOMImplementationLS.createLSParser(MODE_SYNCHRONOUS, "http://www.w3.org/TR/REC-xml") and checks the return value is not null.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-DOMImplementationLS-createLSParser"/>
+ </metadata>
+ &vars;
+
+ <createLSParser var='parser' obj='lsImplementation' mode='MODE_SYNCHRONOUS' schemaType='DTD_SCHEMATYPE'/>
+ <assertNotNull actual="parser" id="parserNotNull"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMImplementationLSTest3.xml b/test/testcases/tests/level3/ls/DOMImplementationLSTest3.xml
new file mode 100644
index 0000000..f2480b1
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMImplementationLSTest3.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMImplementationLSTest3">
+ <metadata>
+ <title>DOMImplementationLSTest3</title>
+ &creator;
+ <description>Calls DOMImplementationLS.createLSParser(MODE_SYNCHRONOUS, "http://www.w3.org/2001/XMLSchema").
+ Should either throw a NOT_SUPPORTED_ERR or return a non-null parser.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-DOMImplementationLS-createLSParser"/>
+ </metadata>
+ &vars;
+
+ <try>
+ <createLSParser var='parser' obj='lsImplementation' mode='MODE_SYNCHRONOUS' schemaType='SCHEMA_SCHEMATYPE'/>
+ <assertNotNull actual="parser" id="parserNotNull"/>
+ <catch>
+ <DOMException code="NOT_SUPPORTED_ERR"/>
+ </catch>
+ </try>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMImplementationLSTest4.xml b/test/testcases/tests/level3/ls/DOMImplementationLSTest4.xml
new file mode 100644
index 0000000..447e8a2
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMImplementationLSTest4.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMImplementationLSTest4">
+ <metadata>
+ <title>DOMImplementationLSTest4</title>
+ &creator;
+ <description>Calls DOMImplementationLS.createLSParser(MODE_SYNCHRONOUS, "http://nobody...err") expecting that a
+ NOT_SUPPORTED_ERR would be raised.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-DOMImplementationLS-createLSParser"/>
+ </metadata>
+ &vars;
+
+ <assertDOMException id="NOT_SUPPORTED_ERR">
+ <NOT_SUPPORTED_ERR>
+ <createLSParser var='parser' obj='lsImplementation'
+ mode='MODE_SYNCHRONOUS'
+ schemaType='"http://nobody_should_support_this_schematype_this_should_throw_a_not_supported_err"'/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMImplementationLSTest5.xml b/test/testcases/tests/level3/ls/DOMImplementationLSTest5.xml
new file mode 100644
index 0000000..e9344fc
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMImplementationLSTest5.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMImplementationLSTest5">
+ <metadata>
+ <title>DOMImplementationLSTest0</title>
+ &creator;
+ <description>Calls DOMImplementationLS.createLSParser(MODE_SYNCHRONOUS, "http://nobody...err") expecting that a
+ NOT_SUPPORTED_ERR would be raised.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-DOMImplementationLS-createLSParser"/>
+ </metadata>
+ &vars;
+ <assertDOMException id="NOT_SUPPORTED_ERR">
+ <NOT_SUPPORTED_ERR>
+ <createLSParser var='parser' obj='lsImplementation'
+ mode='17'
+ schemaType='NULL_SCHEMATYPE'/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMInputSourceTest0.xml b/test/testcases/tests/level3/ls/DOMInputSourceTest0.xml
new file mode 100644
index 0000000..113e645
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMInputSourceTest0.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMInputSourceTest0">
+ <metadata>
+ <title>DOMInputSourceTest0</title>
+ &creator;
+ <description>Parses a document from a byte stream.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-byteStream"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parse"/>
+ </metadata>
+
+ <!-- stream value is <elt0/> in UTF-8 -->
+ <var name="myByteStream" type="LSInputStream" value='"3C656C74302F3E"'/>
+ <var name="elementList" type="NodeList"/>
+
+ &vars;
+ &init;
+
+
+ <byteStream obj="inputSource" value="myByteStream" interface="LSInput"/>
+
+ <parse var="document" obj="parser" input="inputSource"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt0&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="1" id="count_elt0"/>
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMInputSourceTest1.xml b/test/testcases/tests/level3/ls/DOMInputSourceTest1.xml
new file mode 100644
index 0000000..6d490eb
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMInputSourceTest1.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMInputSourceTest1">
+ <metadata>
+ <title>DOMInputSourceTest1</title>
+ &creator;
+ <description>Parses a document from a character stream.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-characterStream"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parse"/>
+ </metadata>
+ <var name="myReader" type="LSReader" value='"&lt;elt0/&gt;"'/>
+ <var name="elementList" type="NodeList"/>
+ &vars;
+
+
+ &init;
+
+
+ <characterStream obj="inputSource" value="myReader" interface="LSInput"/>
+
+ <parse var="document" obj="parser" input="inputSource"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt0&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="1" id="count_elt0"/>
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMInputSourceTest2.xml b/test/testcases/tests/level3/ls/DOMInputSourceTest2.xml
new file mode 100644
index 0000000..3a5cff0
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMInputSourceTest2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMInputSourceTest2">
+ <metadata>
+ <title>DOMInputSourceTest2</title>
+ &creator;
+ <description>test the parser by using a string inputsource</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-stringData"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parse"/>
+ </metadata>
+
+ <var name="elementList" type="NodeList"/>
+ <var name="myString" type="DOMString" value="&quot;&lt;elt0&gt;elt0&lt;/elt0&gt;&quot;"/>
+ &vars;
+ &init;
+
+ <stringData obj="inputSource" value="myString" interface="LSInput"/>
+
+ <parse var="document" obj="parser" input="inputSource"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt0&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="1" id="count_elt0"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMInputSourceTest3.xml b/test/testcases/tests/level3/ls/DOMInputSourceTest3.xml
new file mode 100644
index 0000000..af25ac1
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMInputSourceTest3.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMInputSourceTest3">
+ <metadata>
+ <title>DOMInputSourceTest3</title>
+ &creator;
+ <description>Specify encodings for LSInput with string data. The
+ setting should have no effect and the inputEncoding of the resulting document should be UTF-16.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-encoding"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parse"/>
+ </metadata>
+ <hasFeature feature='"Core"' version='"3.0"'/>
+ <var name="myString" type="DOMString" value="&quot;&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;elt0&gt;elt0&lt;/elt0&gt;&quot;"/>
+ <var name="encodingString" type="DOMString"/>
+ &vars;
+ &init;
+
+ <!-- initialize an input source with a string and a misleading encoding -->
+ <stringData obj="inputSource" value="myString" interface="LSInput"/>
+ <encoding obj="inputSource" value='"UTF-8"' interface="LSInput"/>
+ <!-- parse -->
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- check inputEncoding, should be UTF-16 -->
+ <inputEncoding var="encodingString" obj="document" interface="Document"/>
+ <assertEquals actual="encodingString" expected='"UTF-16"' ignoreCase="true" id="encodingstringcheck0"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMInputSourceTest4.xml b/test/testcases/tests/level3/ls/DOMInputSourceTest4.xml
new file mode 100644
index 0000000..945ed57
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMInputSourceTest4.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMInputSourceTest4">
+ <metadata>
+ <title>DOMInputSourceTest4</title>
+ &creator;
+ <description>tests whether DOMInput whether abort can be called even if loading is finished already</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-abort"/>
+ </metadata>
+
+ <var name="elementList" type="NodeList"/>
+ <var name="myString" type="DOMString" value="&quot;&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;elt0&gt;elt0&lt;/elt0&gt;&quot;"/>
+
+ &vars;
+ &init;
+
+ <stringData obj="inputSource" value="myString" interface="LSInput"/>
+
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- abort should be possible even in synchronous load -->
+ <abort obj="parser" interface="LSParser"/>
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMInputSourceTest5.xml b/test/testcases/tests/level3/ls/DOMInputSourceTest5.xml
new file mode 100644
index 0000000..34bff24
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMInputSourceTest5.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMInputSourceTest5">
+ <metadata>
+ <title>DOMInputSourceTest5</title>
+ &creator;
+ <description>Parses a document containing an external entity and checks
+ that resource resolver is passed the baseURI value specified on LSInput.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-systemId"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-publicId"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-baseURI"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSResourceResolver-resolveResource"/>
+ </metadata>
+
+
+ <var name="myentityresolver" type="LSResourceResolver">
+ <resolveResource>
+ <var name="domImplLS" type="DOMImplementationLS"/>
+ <var name="input" type="LSInput"/>
+ <assertEquals actual="baseURI" expected='"http://www.example.com/new_base"' ignoreCase="false" id="er_base"/>
+ <assertEquals actual="publicId" expected='"-//X-Hive//native xml storage//EN"' ignoreCase="false" id="er_public"/>
+ <assertURIEquals actual="systemId" isAbsolute="true" name='"test5"' id="er_system"/>
+
+ <!-- create an empty string input so we can detect
+ that resource resolver was used -->
+ <implementation var="domImplLS"/>
+ <createLSInput var="input" obj="domImplLS"/>
+ <stringData obj="input" value='""' interface="LSInput"/>
+ <return value="input"/>
+ </resolveResource>
+
+ </var>
+
+ <var name="configuration" type="DOMConfiguration"/>
+ <var name="resourceURI" type="DOMString"/>
+ <var name="nodeList" type="NodeList"/>
+ &vars;
+ &init;
+
+ <domConfig var="configuration" obj="parser" interface="LSParser"/>
+
+ <setParameter obj="configuration" name='"resource-resolver"' value="myentityresolver"/>
+ <setParameter obj="configuration" name='"entities"' value="false"/>
+
+ <getResourceURI var="resourceURI" href="TEST4" contentType="text/xml"/>
+ <systemId obj="inputSource" value="resourceURI" interface="LSInput"/>
+ <publicId obj="inputSource" value='"-//X-Hive//native xml storage//DE"' interface="LSInput"/>
+ <baseURI obj="inputSource" value='"http://www.example.com/new_base"' interface="LSInput"/>
+
+
+ <parse var="document" obj="parser" input="inputSource"/>
+ <!-- should parse successfully -->
+ <assertNotNull actual="document" id="documentNotNull"/>
+
+ <!-- resource resolver should have suppressed elt2 from the
+ external entity -->
+ <getElementsByTagName var="nodeList" obj="document" tagname='"elt2"' interface="Document"/>
+ <assertSize size="0" collection="nodeList" id="noElt2"/>
+
+ <!-- check that there is an elt1 -->
+ <getElementsByTagName var="nodeList" obj="document" tagname='"elt1"' interface="Document"/>
+ <assertSize size="1" collection="nodeList" id="hasElt1"/>
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMInputSourceTest6.xml b/test/testcases/tests/level3/ls/DOMInputSourceTest6.xml
new file mode 100644
index 0000000..9c896a8
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMInputSourceTest6.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMInputSourceTest6">
+ <metadata>
+ <title>DOMInputSourceTest6</title>
+ &creator;
+ <description>Specify encodings for LSInput with a character stream. The
+ setting should have no effect and the inputEncoding of the resulting document should be UTF-16.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-encoding"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parse"/>
+ </metadata>
+ <hasFeature feature='"Core"' version='"3.0"'/>
+
+ <var name="encodingString" type="DOMString"/>
+
+ <var name="myReader" type="LSReader" value="&quot;&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;elt0&gt;elt0&lt;/elt0&gt;&quot;"/>
+
+ &vars;
+ &init;
+
+ <!-- initialize an input source with a string and a misleading encoding -->
+ <encoding obj="inputSource" value='"UTF-8"' interface="LSInput"/>
+ <characterStream obj="inputSource" value="myReader" interface="LSInput"/>
+ <!-- parse -->
+ <parse var="document" obj="parser" input="inputSource"/>
+ <assertNotNull actual="document" id="documentNotNull"/>
+
+ <!-- check inputEncoding, should be UTF-16 -->
+ <inputEncoding var="encodingString" obj="document" interface="Document"/>
+ <assertEquals actual="encodingString" expected='"UTF-16"' ignoreCase="true" id="encodingstringcheck0"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMWriterFilterTest0.xml b/test/testcases/tests/level3/ls/DOMWriterFilterTest0.xml
new file mode 100644
index 0000000..09030c6
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMWriterFilterTest0.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMWriterFilterTest0">
+ <metadata>
+ <title>DOMWriterFilterTest0</title>
+ &creator;
+ <description>DOMSerializerFilter test, a simple test eliminating a subtree</description>
+ &contributor; &date;
+ <subject resource="&spec;#LS-Interfaces-LSSerializerFilter"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-LSSerializerFilter"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializerFilter-acceptNode"/>
+ </metadata>
+
+
+ <var name="myfilter" type="LSSerializerFilter">
+ <var name="name" type="DOMString"/>
+ &filterVars;
+
+
+ <acceptNode>
+
+ <nodeName obj="n" var="name"/>
+ <if>
+ <equals actual="name" expected='"elt1"' ignoreCase="false"/>
+ <return value="&FILTER_ACCEPT;"/>
+ </if>
+
+ <return value="&FILTER_REJECT;"/>
+ </acceptNode>
+
+ <whatToShow>
+ <get>
+ <return value="&SHOW_ALL;"/>
+ </get>
+ </whatToShow>
+
+ </var>
+
+
+
+
+ <var name="configuration" type="DOMConfiguration"/>
+ <var name="stringDoc" type="DOMString" value='"&lt;elt1&gt;first elt1&lt;elt2&gt;elt2&lt;/elt2&gt;&lt;/elt1&gt;"'/>
+ <var name="writeResult" type="DOMString"/>
+ <var name="length" type="int"/>
+ <var name="elementList" type="NodeList"/>
+
+ &vars;
+ &init;
+
+ <!-- parse the string -->
+ <stringData obj="inputSource" value="stringDoc"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- apply the filter -->
+ <filter obj="writer" value="myfilter" interface="LSSerializer"/>
+
+ <!-- serialize result -->
+ <writeToString var="writeResult" obj="writer" nodeArg="document"/>
+
+ <!-- parse result -->
+ <stringData obj="inputSource" value="writeResult" interface="LSInput"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- tests elt1 should be in the result, elt2 should be filtered out -->
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt2&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="0" id="count_elt2"/>
+
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="1" id="count_elt1"/>
+
+
+</test>
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMWriterFilterTest1.xml b/test/testcases/tests/level3/ls/DOMWriterFilterTest1.xml
new file mode 100644
index 0000000..1dc0140
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMWriterFilterTest1.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMWriterFilterTest1">
+ <metadata>
+ <title>DOMWriterFilterTest1</title>
+ &creator;
+ <description>Uses a serializer filter to eliminate attributes, parses the output and checks if the attribute is not there.</description>
+ &contributor; &date;
+ <subject resource="&spec;#LS-Interfaces-LSSerializerFilter"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-LSSerializerFilter"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializerFilter-acceptNode"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializerFilter-whatToShow"/>
+ </metadata>
+
+
+ <var name="myfilter" type="LSSerializerFilter">
+ &filterVars;
+ <acceptNode>
+ <return value="&FILTER_REJECT;"/>
+ </acceptNode>
+
+ <whatToShow>
+ <get>
+ <return value="&SHOW_ATTRIBUTE;"/>
+ </get>
+ </whatToShow>
+
+ </var>
+
+
+
+
+ <var name="configuration" type="DOMConfiguration"/>
+ <var name="stringDoc" type="DOMString" value="&quot;&lt;elt1 attr1='attr1'&gt;first elt1&lt;/elt1&gt;&quot;"/>
+ <var name="writeResult" type="DOMString"/>
+ <var name="length" type="int"/>
+ <var name="elementList" type="NodeList"/>
+ <var name="elt1" type="Element"/>
+ <var name="attrNode" type="Attr"/>
+
+ &vars;
+ &init;
+
+ <!-- parse the string -->
+ <stringData obj="inputSource" value="stringDoc"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- apply the filter -->
+ <filter obj="writer" value="myfilter" interface="LSSerializer"/>
+
+ <!-- serialize result -->
+ <writeToString var="writeResult" obj="writer" nodeArg="document"/>
+
+ <!-- parse result -->
+ <stringData obj="inputSource" value="writeResult" interface="LSInput"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- tests elt1 should be in the result-->
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="1" id="count_elt2"/>
+
+ <!-- attr1 of elt1 should have been suppressed -->
+ <item interface="NodeList" obj="elementList" index="0" var="elt1"/>
+ <getAttributeNode obj="elt1" var="attrNode" name="&quot;attr1&quot;"/>
+ <assertNull actual="attrNode" id="attrib1"/>
+
+
+</test>
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMWriterFilterTest2.xml b/test/testcases/tests/level3/ls/DOMWriterFilterTest2.xml
new file mode 100644
index 0000000..6f2be15
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMWriterFilterTest2.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMWriterFilterTest2">
+ <metadata>
+ <title>DOMWriterFilterTest2</title>
+ &creator;
+ <description>Uses a filter to strip text during serialization
+ parsers to check expections.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-LSSerializerFilter"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializerFilter-acceptNode"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializerFilter-whatToShow"/>
+ <subject resource="http://www.w3.org/Bugs/Public/show_bug.cgi?id=643"/>
+ </metadata>
+
+
+ <var name="myfilter" type="LSSerializerFilter">
+ <var name="name" type="DOMString"/>
+ &filterVars;
+
+ <acceptNode>
+ <return value="&FILTER_REJECT;"/>
+ </acceptNode>
+
+ <whatToShow>
+ <get>
+ <return value="&SHOW_TEXT;"/>
+ </get>
+ </whatToShow>
+
+ </var>
+
+
+
+
+ <var name="stringDoc" type="DOMString" value="&quot;&lt;elt1 attr1='attr1'&gt;first elt1&lt;/elt1&gt;&quot;"/>
+ <var name="writeResult" type="DOMString"/>
+ <var name="length" type="int"/>
+ <var name="elementList" type="NodeList"/>
+ <var name="elt1" type="Element"/>
+ <var name="childs" type="boolean"/>
+ <var name="attrNode" type="Attr"/>
+ <var name="attr1" type="DOMString"/>
+
+ &vars;
+ &init;
+
+ <!-- parse the string -->
+ <stringData obj="inputSource" value="stringDoc"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- apply the filter -->
+ <filter obj="writer" value="myfilter" interface="LSSerializer"/>
+
+ <!-- serialize result -->
+ <writeToString var="writeResult" obj="writer" nodeArg="document"/>
+
+ <!-- parse result -->
+ <stringData obj="inputSource" value="writeResult" interface="LSInput"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- tests no child of elt1-->
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
+ <item interface="NodeList" obj="elementList" index="0" var="elt1"/>
+
+ <!-- attr not effected since children of attribute nodes not passed to filter -->
+ <getAttributeNode var="attrNode" obj="elt1" name='"attr1"'/>
+ <assertNotNull actual="attrNode" id="attrExists"/>
+ <nodeValue var="attr1" obj="attrNode"/>
+ <assertEquals actual="attr1" expected='"attr1"' ignoreCase="false" id="attrUnchanged"/>
+
+ <!-- elt1 should be empty -->
+ <hasChildNodes obj="elt1" var="childs"/>
+ <assertFalse actual="childs" id="nodeHasChilds_elt1"/>
+
+
+</test>
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMWriterFilterTest3.xml b/test/testcases/tests/level3/ls/DOMWriterFilterTest3.xml
new file mode 100644
index 0000000..0af3c38
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMWriterFilterTest3.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMWriterFilterTest3">
+ <metadata>
+ <title>DOMWriterFilterTest3</title>
+ &creator;
+ <description>Eliminates comments on serialization, parses results and checks for comments.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-LSSerializerFilter"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializerFilter-acceptNode"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializerFilter-whatToShow"/>
+ </metadata>
+
+
+ <var name="myfilter" type="LSSerializerFilter">
+ &filterVars;
+ <acceptNode>
+ <return value="&FILTER_REJECT;"/>
+ </acceptNode>
+
+ <whatToShow>
+ <get>
+ <return value="&SHOW_COMMENT;"/>
+ </get>
+ </whatToShow>
+ </var>
+
+
+
+
+ <var name="configuration" type="DOMConfiguration"/>
+ <var name="stringDoc" type="DOMString" value="&quot;&lt;elt1&gt;&lt;elt2&gt;elt2&lt;/elt2&gt;&lt;!--comment1--&gt;&lt;/elt1&gt;&quot;"/>
+ <var name="writeResult" type="DOMString"/>
+ <var name="length" type="int"/>
+ <var name="elementList" type="NodeList"/>
+ <var name="children" type="NodeList"/>
+ <var name="elt1" type="Element"/>
+
+ &vars;
+ &init;
+
+ <!-- parse the string -->
+ <stringData obj="inputSource" value="stringDoc"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- apply the filter -->
+ <filter obj="writer" value="myfilter" interface="LSSerializer"/>
+
+ <!-- serialize result -->
+ <writeToString var="writeResult" obj="writer" nodeArg="document"/>
+
+ <!-- parse result -->
+ <stringData obj="inputSource" value="writeResult" interface="LSInput"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- test comments should be deleted, one child left of elt1 -->
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="1" id="count_elt1"/>
+
+ <item interface="NodeList" obj="elementList" index="0" var="elt1"/>
+ <childNodes obj="elt1" var="children"/>
+ <assertSize collection="children" size="1" id="count_children"/>
+
+
+</test>
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMWriterTest0.xml b/test/testcases/tests/level3/ls/DOMWriterTest0.xml
new file mode 100644
index 0000000..0832a4c
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMWriterTest0.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMWriterTest0">
+ <metadata>
+ <title>DOMWriterTest0</title>
+ &creator;
+ <description>Calls LSSerializer.writeToString and checks result.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+ </metadata>
+ <var name="stringDoc" type="DOMString"/>
+ <var name="writeResult" type="DOMString"/>
+ <var name="elementList" type="NodeList"/>
+ <var name="resourceURI" type="DOMString"/>
+
+ &vars;
+ &init;
+ <getResourceURI var="resourceURI" href="TEST0"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <writeToString var="writeResult" obj="writer" nodeArg="document"/>
+
+ <stringData obj="inputSource" value="writeResult"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt2&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="1" id="elt2Count_1"/>
+
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMWriterTest1.xml b/test/testcases/tests/level3/ls/DOMWriterTest1.xml
new file mode 100644
index 0000000..178fe88
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMWriterTest1.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMWriterTest1">
+ <metadata>
+ <title>DOMWriterTest1</title>
+ &creator;
+ <description>Writes an element node to a byte stream.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSOutput-byteStream"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-write"/>
+ </metadata>
+ <var name="stringDoc" type="DOMString"/>
+ <var name="writeResult" type="boolean"/>
+ <var name="elementList" type="NodeList"/>
+ <var name="firstElt3" type="Node"/>
+ <var name="output" type="LSOutput"/>
+ <var name="outputStream" type="LSOutputStream"/>
+ <var name="inputStream" type="LSInputStream" isNull="true"/>
+ <var name="resourceURI" type="DOMString"/>
+
+ &vars;
+
+ &init;
+ <!-- write out only subtree with elt3-->
+ <getResourceURI var="resourceURI" href="TEST2"/>
+ <parseURI var="document" obj="parser" uri="resourceURI"/>
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt3&quot;" var="elementList"/>
+ <item interface="NodeList" obj="elementList" var="firstElt3" index="0"/>
+ <createLSOutput var="output" obj="lsImplementation"/>
+ <byteStream obj="output" value="outputStream" interface="LSOutput"/>
+
+ <write var="writeResult" obj="writer" destination="output" nodeArg="firstElt3"/>
+ <assign var="inputStream" value="outputStream"/>
+ <byteStream obj="inputSource" value="inputStream" interface="LSInput"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- no elt2 may be found -->
+ <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt2&quot;" var="elementList"/>
+ <assertSize collection="elementList" size="0" id="elt2Count_1"/>
+
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMWriterTest2.xml b/test/testcases/tests/level3/ls/DOMWriterTest2.xml
new file mode 100644
index 0000000..1b1cb82
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMWriterTest2.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMWriterTest2">
+ <metadata>
+ <title>DOMWriterTest2</title>
+ &creator;
+ <description>Serializes a document without a XML declaration for both for 'xml-declaration' configuration values.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#DOMConfiguration-canSetParameter"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-config"/>
+ </metadata>
+
+ <var name="configuration" type="DOMConfiguration"/>
+ <var name="XML_DECLARATION" type="DOMString" value='"xml-declaration"'/>
+ <var name="stringDoc" type="DOMString" value='"&lt;hello&gt;me again&lt;/hello&gt;"'/>
+ <var name="writeResult" type="DOMString"/>
+ <var name="xmlDecl" type="DOMString"/>
+
+ &vars;
+ &init;
+
+ <!-- parse the string -->
+ <stringData obj="inputSource" value="stringDoc"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- include xml declaration on serialization -->
+ <domConfig var="configuration" obj="writer" interface="LSSerializer"/>
+
+ <setParameter obj="configuration" name="XML_DECLARATION" value="false"/>
+ <writeToString var="writeResult" obj="writer" nodeArg="document"/>
+ <assertEquals actual="writeResult" expected="stringDoc" id="without_xml_declaration" ignoreCase="false"/>
+
+ <setParameter obj="configuration" name="XML_DECLARATION" value="true"/>
+ <writeToString var="writeResult" obj="writer" nodeArg="document"/>
+ <substring var="xmlDecl" obj="writeResult" beginIndex="0" endIndex="6"/>
+ <assertEquals actual="xmlDecl" expected='"&lt;?xml "' id="with_xml_declaration" ignoreCase="false"/>
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMWriterTest3.xml b/test/testcases/tests/level3/ls/DOMWriterTest3.xml
new file mode 100644
index 0000000..720a64d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMWriterTest3.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+
+<!DOCTYPE test SYSTEM "dom3.dtd" [
+ <!ENTITY % entities SYSTEM "dom3tests.ent">
+ %entities;
+]>
+
+
+<test xmlns="&level3;" name="DOMWriterTest3">
+ <metadata>
+ <title>DOMWriterTest3</title>
+ &creator;
+ <description>Serializes a document with a XML declaration for both for 'xml-declaration' configuration values.</description>
+ &contributor; &date;
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#DOMConfiguration-canSetParameter"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-config"/>
+ </metadata>
+
+ <var name="configuration" type="DOMConfiguration"/>
+ <var name="XML_DECLARATION" type="DOMString" value='"xml-declaration"'/>
+ <var name="stringDoc" type="DOMString" value='"&lt;?xml version=&apos;1.0&apos;?&gt;&lt;hello&gt;me again&lt;/hello&gt;"'/>
+ <var name="writeResult" type="DOMString"/>
+ <var name="xmlDecl" type="DOMString"/>
+
+ &vars;
+ &init;
+
+ <!-- parse the string -->
+ <stringData obj="inputSource" value="stringDoc"/>
+ <parse var="document" obj="parser" input="inputSource"/>
+
+ <!-- include xml declaration on serialization -->
+ <domConfig var="configuration" obj="writer" interface="LSSerializer"/>
+
+ <setParameter obj="configuration" name="XML_DECLARATION" value="false"/>
+ <writeToString var="writeResult" obj="writer" nodeArg="document"/>
+ <assertEquals actual="writeResult" expected='"&lt;hello&gt;me again&lt;/hello&gt;"' id="without_xml_declaration" ignoreCase="false"/>
+
+ <setParameter obj="configuration" name="XML_DECLARATION" value="true"/>
+ <writeToString var="writeResult" obj="writer" nodeArg="document"/>
+ <substring var="xmlDecl" obj="writeResult" beginIndex="0" endIndex="6"/>
+ <assertEquals actual="xmlDecl" expected='"&lt;?xml "' id="with_xml_declaration" ignoreCase="false"/>
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMWriterTest4.xml b/test/testcases/tests/level3/ls/DOMWriterTest4.xml
new file mode 100644
index 0000000..3d45e5f
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMWriterTest4.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="DOMWriterTest4">
+ <metadata>
+ <title>DOMWriterTest4</title>
+ <creator>Curt Arnold</creator>
+ <description>Writes a document to an uninitialized LSOutput.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-write"/>
+ </metadata>
+ <implementationAttribute name="validating" value="false"/>
+
+ <var name="testDoc" type="Document"/>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="output" type="LSOutput"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="status" type="boolean"/>
+
+ <load var="testDoc" href="test0" willBeModified="false"/>
+ <implementation var="domImpl"/>
+
+ <!-- create an LSOutput -->
+ <createLSOutput var="output" obj="domImpl"/>
+
+ <!-- create a serializer and write a test document -->
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <assertLSException id="throw_SERIALIZE_ERR">
+ <SERIALIZE_ERR>
+ <write var="status" obj="serializer" destination="output" nodeArg="testDoc"/>
+ </SERIALIZE_ERR>
+ </assertLSException>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMWriterTest5.xml b/test/testcases/tests/level3/ls/DOMWriterTest5.xml
new file mode 100644
index 0000000..0fafb5d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMWriterTest5.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="DOMWriterTest5">
+ <metadata>
+ <title>DOMWriterTest5</title>
+ <creator>Curt Arnold</creator>
+ <description>Creates an document containing a namespaced attribute node without
+ user-specified prefix and checks that it is serialized properly.</description>
+ <date qualifier="created">2003-12-22</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-write"/>
+ <subject resource="http://lists.w3.org/Archives/Public/www-dom/2003OctDec/0062.html"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+
+ <var name="domImpl" type="DOMImplementation"/>
+ <var name="origDoc" type="Document"/>
+ <var name="nullDocType" type="DocumentType" isNull="true"/>
+ <var name="namespaceURI" type="DOMString" value='"http://www.example.com/DOMWriterTest5"'/>
+ <var name="docElem" type="Element"/>
+ <var name="outputString" type="DOMString"/>
+ <var name="input" type="LSInput"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="parser" type="LSParser"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+ <var name="attrValue" type="DOMString"/>
+ <var name="parsedDoc" type="Document"/>
+ <var name="docElemLocalName" type="DOMString"/>
+ <var name="docElemNS" type="DOMString"/>
+
+ <implementation var="domImpl"/>
+ <createDocument var="origDoc" obj="domImpl"
+ namespaceURI="namespaceURI"
+ qualifiedName='"test"'
+ doctype="nullDocType"/>
+ <documentElement var="docElem" obj="origDoc"/>
+ <setAttributeNS obj="docElem" namespaceURI="namespaceURI" qualifiedName='"attr"' value='"test value"'/>
+
+
+ <!-- create a serializer and write the document -->
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <writeToString var="outputString" obj="serializer" nodeArg="origDoc"/>
+
+ <!-- create an LSInput -->
+ <createLSInput var="input" obj="domImpl"/>
+ <stringData obj="input" value="outputString"/>
+
+ <!-- create parser -->
+ <createLSParser var="parser" obj="domImpl" mode="1" schemaType="NULL_SCHEMA_TYPE"/>
+ <parse var="parsedDoc" obj="parser" input="input"/>
+
+ <documentElement var="docElem" obj="parsedDoc"/>
+
+ <!-- check local name of document element -->
+ <localName var="docElemLocalName" obj="docElem"/>
+ <assertEquals actual="docElemLocalName" expected='"test"' ignoreCase="false" id="docElemLocalName"/>
+
+ <!-- namespace of document element -->
+ <namespaceURI var="docElemNS" obj="docElem" interface="Node"/>
+ <assertEquals actual="docElemNS" expected="namespaceURI" ignoreCase="false" id="docElemNS"/>
+
+ <!-- attribute with namespaceURI namespace -->
+ <getAttributeNS var="attrValue" obj="docElem" namespaceURI="namespaceURI" localName='"attr"'/>
+ <assertEquals actual="attrValue" expected='"test value"' ignoreCase="false" id="properNSAttrValue"/>
+
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/DOMWriterTest6.xml b/test/testcases/tests/level3/ls/DOMWriterTest6.xml
new file mode 100644
index 0000000..e562b13
--- /dev/null
+++ b/test/testcases/tests/level3/ls/DOMWriterTest6.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="DOMWriterTest6">
+ <metadata>
+ <title>DOMWriterTest6</title>
+ <creator>Curt Arnold</creator>
+ <description>Creates an document containing a namespaced attribute node with
+ user-specified prefix and checks that it is serialized properly.</description>
+ <date qualifier="created">2003-12-22</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-write"/>
+ <subject resource="http://lists.w3.org/Archives/Public/www-dom/2003OctDec/0062.html"/>
+ </metadata>
+ <implementationAttribute name="namespaceAware" value="true"/>
+
+ <var name="domImpl" type="DOMImplementation"/>
+ <var name="origDoc" type="Document"/>
+ <var name="nullDocType" type="DocumentType" isNull="true"/>
+ <var name="namespaceURI" type="DOMString" value='"http://www.example.com/DOMWriterTest5"'/>
+ <var name="docElem" type="Element"/>
+ <var name="outputString" type="DOMString"/>
+ <var name="input" type="LSInput"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="parser" type="LSParser"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+ <var name="attrValue" type="DOMString"/>
+ <var name="parsedDoc" type="Document"/>
+ <var name="docElemLocalName" type="DOMString"/>
+ <var name="docElemNS" type="DOMString"/>
+
+ <implementation var="domImpl"/>
+ <createDocument var="origDoc" obj="domImpl"
+ namespaceURI="namespaceURI"
+ qualifiedName='"test"'
+ doctype="nullDocType"/>
+ <documentElement var="docElem" obj="origDoc"/>
+ <setAttributeNS obj="docElem" namespaceURI="namespaceURI" qualifiedName='"test:attr"' value='"test value"'/>
+
+
+ <!-- create a serializer and write the document -->
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <writeToString var="outputString" obj="serializer" nodeArg="origDoc"/>
+
+ <!-- create an LSInput -->
+ <createLSInput var="input" obj="domImpl"/>
+ <stringData obj="input" value="outputString"/>
+
+ <!-- create parser -->
+ <createLSParser var="parser" obj="domImpl" mode="1" schemaType="NULL_SCHEMA_TYPE"/>
+ <parse var="parsedDoc" obj="parser" input="input"/>
+
+ <documentElement var="docElem" obj="parsedDoc"/>
+
+ <!-- check local name of document element -->
+ <localName var="docElemLocalName" obj="docElem"/>
+ <assertEquals actual="docElemLocalName" expected='"test"' ignoreCase="false" id="docElemLocalName"/>
+
+ <!-- namespace of document element -->
+ <namespaceURI var="docElemNS" obj="docElem" interface="Node"/>
+ <assertEquals actual="docElemNS" expected="namespaceURI" ignoreCase="false" id="docElemNS"/>
+
+ <!-- attribute with namespaceURI namespace -->
+ <getAttributeNS var="attrValue" obj="docElem" namespaceURI="namespaceURI" localName='"attr"'/>
+ <assertEquals actual="attrValue" expected='"test value"' ignoreCase="false" id="properNSAttrValue"/>
+
+
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/GetFeature1.xml b/test/testcases/tests/level3/ls/GetFeature1.xml
new file mode 100644
index 0000000..04a6c12
--- /dev/null
+++ b/test/testcases/tests/level3/ls/GetFeature1.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="GetFeature1">
+ <metadata>
+ <title>GetFeature1</title>
+ <creator>Curt Arnold</creator>
+ <description>DOMImplementationLS can be obtained by DOMImplementation.getFeature("LS", "3.0").</description>
+ <date qualifier="created">2003-12-09</date>
+ <!-- DOMImplementation.getFeature -->
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#DOMImplementation3-getFeature"/>
+ </metadata>
+ <hasFeature feature='"Core"' version='"3.0"'/>
+ <var name="domImpl" type="DOMImplementation"/>
+ <var name="domImplLS" type="DOMImplementationLS"/>
+ <var name="output" type="LSOutput"/>
+ <implementation var="domImpl"/>
+ <getFeature var="domImplLS" obj="domImpl"
+ feature='"LS"' version='"3.0"' interface="DOMImplementation"/>
+ <assertNotNull actual="domImplLS" id="domImplLSNotNull"/>
+ <createLSOutput var="output" obj="domImplLS"/>
+ <assertNotNull actual="output" id="outputNotNull"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/GetFeature2.xml b/test/testcases/tests/level3/ls/GetFeature2.xml
new file mode 100644
index 0000000..bf2755f
--- /dev/null
+++ b/test/testcases/tests/level3/ls/GetFeature2.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="GetFeature2">
+ <metadata>
+ <title>GetFeature2</title>
+ <creator>Curt Arnold</creator>
+ <description>DOMImplementationLS can be obtained by DOMImplementation.getFeature("+lS", "3.0").</description>
+ <date qualifier="created">2003-12-09</date>
+ <!-- DOMImplementation.getFeature -->
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#DOMImplementation3-getFeature"/>
+ </metadata>
+ <hasFeature feature='"Core"' version='"3.0"'/>
+ <var name="domImpl" type="DOMImplementation"/>
+ <var name="domImplLS" type="DOMImplementationLS"/>
+ <var name="output" type="LSOutput"/>
+ <implementation var="domImpl"/>
+ <getFeature var="domImplLS" obj="domImpl" feature='"+lS"'
+ version='"3.0"' interface="DOMImplementation"/>
+ <assertNotNull actual="domImplLS" id="domImplLSNotNull"/>
+ <createLSOutput var="output" obj="domImplLS"/>
+ <assertNotNull actual="output" id="outputNotNull"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/HasFeature01.xml b/test/testcases/tests/level3/ls/HasFeature01.xml
new file mode 100644
index 0000000..f98d962
--- /dev/null
+++ b/test/testcases/tests/level3/ls/HasFeature01.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="HasFeature01">
+ <metadata>
+ <title>HasFeature01</title>
+ <creator>Curt Arnold</creator>
+ <description>Implementations should return true for hasFeature("LS", "3.0").</description>
+ <date qualifier="created">2003-12-01</date>
+ <!-- DOMImplementation.hasFeature -->
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#ID-5CED94D7"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementation"/>
+ <var name="hasLS" type="boolean"/>
+ <implementation var="domImpl"/>
+ <hasFeature var="hasLS" obj="domImpl" feature='"LS"' version='"3.0"'/>
+ <assertTrue actual="hasLS" id="hasFeature_LS3"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/HasFeature02.xml b/test/testcases/tests/level3/ls/HasFeature02.xml
new file mode 100644
index 0000000..7eac1f6
--- /dev/null
+++ b/test/testcases/tests/level3/ls/HasFeature02.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="HasFeature02">
+ <metadata>
+ <title>HasFeature02</title>
+ <creator>Curt Arnold</creator>
+ <description>Implementations should return true for hasFeature("LS", null).</description>
+ <date qualifier="created">2003-12-01</date>
+ <!-- DOMImplementation.hasFeature -->
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#ID-5CED94D7"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementation"/>
+ <var name="hasLS" type="boolean"/>
+ <var name="version" type="DOMString" isNull="true"/>
+ <implementation var="domImpl"/>
+ <hasFeature var="hasLS" obj="domImpl" feature='"LS"' version="version"/>
+ <assertTrue actual="hasLS" id="hasFeature_LS"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/HasFeature03.xml b/test/testcases/tests/level3/ls/HasFeature03.xml
new file mode 100644
index 0000000..68cf44b
--- /dev/null
+++ b/test/testcases/tests/level3/ls/HasFeature03.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="HasFeature03">
+ <metadata>
+ <title>HasFeature03</title>
+ <creator>Curt Arnold</creator>
+ <description>Implementations should return true for hasFeature("Core", "2.0") and hasFeature("Core", null).</description>
+ <date qualifier="created">2003-12-01</date>
+ <!-- DOMImplementation.hasFeature -->
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#ID-5CED94D7"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementation"/>
+ <var name="hasLS" type="boolean"/>
+ <var name="NULL_VERSION" type="DOMString" isNull="true"/>
+ <implementation var="domImpl"/>
+ <hasFeature var="hasLS" obj="domImpl" feature='"cOrE"' version='"2.0"'/>
+ <assertTrue actual="hasLS" id="hasFeature_Core2"/>
+ <hasFeature var="hasLS" obj="domImpl" feature='"cOrE"' version="NULL_VERSION"/>
+ <assertTrue actual="hasLS" id="hasFeature_Core"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/HasFeature04.xml b/test/testcases/tests/level3/ls/HasFeature04.xml
new file mode 100644
index 0000000..a091cb4
--- /dev/null
+++ b/test/testcases/tests/level3/ls/HasFeature04.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="HasFeature04">
+ <metadata>
+ <title>HasFeature04</title>
+ <creator>Curt Arnold</creator>
+ <description>Implementations should return true for hasFeature("+lS", "3.0").</description>
+ <date qualifier="created">2003-12-09</date>
+ <!-- DOMImplementation.hasFeature -->
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#ID-5CED94D7"/>
+ </metadata>
+ <!-- + on feature names requires L3 Core -->
+ <hasFeature feature='"Core"' version='"3.0"'/>
+ <var name="domImpl" type="DOMImplementation"/>
+ <var name="hasLS" type="boolean"/>
+ <implementation var="domImpl"/>
+ <hasFeature var="hasLS" obj="domImpl" feature='"+lS"' version='"3.0"'/>
+ <assertTrue actual="hasLS" id="hasFeature_LS3"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/HasFeature05.xml b/test/testcases/tests/level3/ls/HasFeature05.xml
new file mode 100644
index 0000000..a3ba3af
--- /dev/null
+++ b/test/testcases/tests/level3/ls/HasFeature05.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="HasFeature05">
+ <metadata>
+ <title>HasFeature05</title>
+ <creator>Curt Arnold</creator>
+ <description>The return values of hasFeature("lS-aSynC", "3.0") and hasFeature("+Ls-AsYNc", "3.0") should be equal.</description>
+ <date qualifier="created">2003-12-09</date>
+ <!-- DOMImplementation.hasFeature -->
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#ID-5CED94D7"/>
+ </metadata>
+ <!-- + on feature names requires L3 Core -->
+ <hasFeature feature='"Core"' version='"3.0"'/>
+ <var name="domImpl" type="DOMImplementation"/>
+ <var name="hasLS1" type="boolean"/>
+ <var name="hasLS2" type="boolean"/>
+ <implementation var="domImpl"/>
+ <hasFeature var="hasLS1" obj="domImpl" feature='"lS-aSynC"' version='"3.0"'/>
+ <hasFeature var="hasLS2" obj="domImpl" feature='"+Ls-AsYNc"' version='"3.0"'/>
+ <assertEquals actual="hasLS2" expected="hasLS1" id="featuresEqual" ignoreCase="false"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSParserConfig1.xml b/test/testcases/tests/level3/ls/LSParserConfig1.xml
new file mode 100644
index 0000000..643faf8
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSParserConfig1.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSParserConfig1">
+ <metadata>
+ <title>LSParserConfig1</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks initial state of parser configuration.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="parser" type="LSParser"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="resolver" type="LSResourceResolver"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+
+ <implementation var="domImpl"/>
+ <createLSParser var="parser" obj="domImpl" schemaType="NULL_SCHEMA_TYPE" mode="1"/>
+ <domConfig var="config" obj="parser" interface="LSParser"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name='"cHarset-overrides-xml-encoding"'/>
+ <assertTrue actual="state" id="charset-overrides-xml-encoding-is-true"/>
+ <getParameter var="state" obj="config" name='"dIsallow-doctype"'/>
+ <assertFalse actual="state" id="disallow-doctype-is-false"/>
+ <getParameter var="state" obj="config" name='"iGnore-unknown-character-denormalizations"'/>
+ <assertTrue actual="state" id="ignore-unknown-character-denormalizations-is-true"/>
+ <getParameter var="state" obj="config" name='"iNfoset"'/>
+ <assertTrue actual="state" id="infoset-is-true"/>
+ <getParameter var="state" obj="config" name='"nAmespaces"'/>
+ <assertTrue actual="state" id="namespaces-is-true"/>
+ <getParameter var="resolver" obj="config" name='"rEsource-resolver"'/>
+ <assertNull actual="resolver" id="resource-resolver-is-null"/>
+ <getParameter var="state" obj="config" name='"sUpported-media-types-only"'/>
+ <assertFalse actual="state" id="supported-media-types-only-is-false"/>
+ <getParameter var="state" obj="config" name='"wEll-formed"'/>
+ <assertTrue actual="state" id="well-formed-is-true"/>
+
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSParserConfig2.xml b/test/testcases/tests/level3/ls/LSParserConfig2.xml
new file mode 100644
index 0000000..88a87a9
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSParserConfig2.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSParserConfig2">
+ <metadata>
+ <title>LSParserConfig2</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks getParameterNames and canSetParameter.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="parser" type="LSParser"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="resolver" type="LSResourceResolver"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+ <var name="parameterNames" type="DOMStringList"/>
+ <var name="parameterName" type="DOMString"/>
+ <var name="matchCount" type="int" value="0"/>
+ <var name="paramValue" type="DOMUserData"/>
+ <var name="canSet" type="boolean"/>
+
+ <implementation var="domImpl"/>
+ <createLSParser var="parser" obj="domImpl" schemaType="NULL_SCHEMA_TYPE" mode="1"/>
+ <domConfig var="config" obj="parser" interface="LSParser"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <parameterNames var="parameterNames" obj="config"/>
+ <assertNotNull actual="parameterNames" id="parameterNamesNotNull"/>
+ <for-each collection="parameterNames" member="parameterName">
+ <!-- get the default value of this parameter -->
+ <getParameter var="paramValue" obj="config" name="parameterName"/>
+ <!-- should be able to set to default value -->
+ <canSetParameter var="canSet" obj="config" name="parameterName" value="paramValue"/>
+ <assertTrue actual="canSet" id="canSetToDefaultValue"/>
+ <setParameter obj="config" name="parameterName" value="paramValue"/>
+ <if>
+ <or>
+ <equals actual="parameterName" expected='"canonical-form"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"cdata-sections"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"check-character-normalization"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"comments"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"datatype-normalization"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"entities"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"error-handler"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"infoset"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"namespaces"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"namespace-declarations"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"normalize-characters"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"schema-location"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"schema-type"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"split-cdata-sections"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"validate"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"validate-if-schema"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"well-formed"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"element-content-whitespace"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"charset-overrides-xml-encoding"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"disallow-doctype"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"ignore-unknown-character-denormalizations"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"resource-resolver"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"supported-media-types-only"' ignoreCase="true"/>
+ </or>
+ <increment var="matchCount" value="1"/>
+ </if>
+ </for-each>
+ <assertEquals actual="matchCount" expected="23" id="definedParameterCount" ignoreCase="false"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSParserConfig3.xml b/test/testcases/tests/level3/ls/LSParserConfig3.xml
new file mode 100644
index 0000000..9c5df82
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSParserConfig3.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSParserConfig3">
+ <metadata>
+ <title>LSParserConfig3</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of charset-overrides-xml-encoding.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="parser" type="LSParser"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+ <var name="propertyName" type="DOMString" value='"cHarset-overrides-xml-encoding"'/>
+
+ <implementation var="domImpl"/>
+ <createLSParser var="parser" obj="domImpl" schemaType="NULL_SCHEMA_TYPE" mode="1"/>
+ <domConfig var="config" obj="parser" interface="LSParser"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="true"/>
+ <assertTrue actual="canSet" id="canSetTrue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="false"/>
+ <assertTrue actual="canSet" id="canSetFalse"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalse"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setTrue"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSParserConfig4.xml b/test/testcases/tests/level3/ls/LSParserConfig4.xml
new file mode 100644
index 0000000..9c4efc8
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSParserConfig4.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSParserConfig4">
+ <metadata>
+ <title>LSParserConfig4</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of disallow-doctype.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="parser" type="LSParser"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="propertyName" type="DOMString" value='"dIsAllow-doctype"'/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+
+ <implementation var="domImpl"/>
+ <createLSParser var="parser" obj="domImpl" mode="1" schemaType="NULL_SCHEMA_TYPE"/>
+ <domConfig var="config" obj="parser" interface="LSParser"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="true"/>
+ <if>
+ <isTrue value="canSet"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setTrueIsEffective"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalseIsEffective"/>
+ <else>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_ERR_if_canSetParameter_false">
+ <NOT_SUPPORTED_ERR>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+ </else>
+ </if>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSParserConfig5.xml b/test/testcases/tests/level3/ls/LSParserConfig5.xml
new file mode 100644
index 0000000..633b908
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSParserConfig5.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSParserConfig5">
+ <metadata>
+ <title>LSParserConfig5</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of ignore-unknown-character-denormalizations.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="parser" type="LSParser"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="propertyName" type="DOMString" value='"iGnOre-unknown-character-denormalizations"'/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+
+ <implementation var="domImpl"/>
+ <createLSParser var="parser" obj="domImpl" mode="1" schemaType="NULL_SCHEMA_TYPE"/>
+ <domConfig var="config" obj="parser" interface="LSParser"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="false"/>
+ <if>
+ <isTrue value="canSet"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalseIsEffective"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setTrueIsEffective"/>
+ <else>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_ERR_if_not_canSetParameter">
+ <NOT_SUPPORTED_ERR>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+ </else>
+ </if>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSParserConfig6.xml b/test/testcases/tests/level3/ls/LSParserConfig6.xml
new file mode 100644
index 0000000..5ef31ce
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSParserConfig6.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSParserConfig6">
+ <metadata>
+ <title>LSParserConfig6</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of infoset.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="parser" type="LSParser"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+ <var name="propertyName" type="DOMString" value='"iNfoset"'/>
+
+ <implementation var="domImpl"/>
+ <createLSParser var="parser" obj="domImpl" schemaType="NULL_SCHEMA_TYPE" mode="1"/>
+ <domConfig var="config" obj="parser" interface="LSParser"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="true"/>
+ <assertTrue actual="canSet" id="canSetTrue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="false"/>
+ <assertTrue actual="canSet" id="canSetFalse"/>
+ <!-- setting infoset to false should have no effect
+ that is infoset will still be true -->
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setFalse"/>
+
+ <!-- setting comments to false should change value of
+ infoset to false -->
+ <setParameter obj="config" name='"comments"' value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="falseWhenCommentsFalse"/>
+
+ <!-- setting infoset to true should cause infoset to be true
+ and comments to be true -->
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="resetTrue"/>
+
+ <getParameter var="state" obj="config" name='"comments"'/>
+ <assertTrue actual="state" id="resetTrueComments"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSParserConfig7.xml b/test/testcases/tests/level3/ls/LSParserConfig7.xml
new file mode 100644
index 0000000..fbac979
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSParserConfig7.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSParserConfig7">
+ <metadata>
+ <title>LSParserConfig7</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of namespaces.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="parser" type="LSParser"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="propertyName" type="DOMString" value='"nAmespaces"'/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+
+ <implementation var="domImpl"/>
+ <createLSParser var="parser" obj="domImpl" mode="1" schemaType="NULL_SCHEMA_TYPE"/>
+ <domConfig var="config" obj="parser" interface="LSParser"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="false"/>
+ <if>
+ <isTrue value="canSet"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalseIsEffective"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setTrueIsEffective"/>
+ <else>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_ERR_if_not_canSetParameter">
+ <NOT_SUPPORTED_ERR>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+ </else>
+ </if>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSParserConfig8.xml b/test/testcases/tests/level3/ls/LSParserConfig8.xml
new file mode 100644
index 0000000..2c33caa
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSParserConfig8.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSParserConfig8">
+ <metadata>
+ <title>LSParserConfig8</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of well-formed.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="parser" type="LSParser"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+ <var name="propertyName" type="DOMString" value='"wEll-formed"'/>
+
+ <implementation var="domImpl"/>
+ <createLSParser var="parser" obj="domImpl" mode="1" schemaType="NULL_SCHEMA_TYPE"/>
+ <domConfig var="config" obj="parser" interface="LSParser"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="true"/>
+ <assertTrue actual="canSet" id="canSetTrue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="false"/>
+ <assertFalse actual="canSet" id="canSetFalse"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_EXCEPTION">
+ <NOT_SUPPORTED_ERR>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSParserConfig9.xml b/test/testcases/tests/level3/ls/LSParserConfig9.xml
new file mode 100644
index 0000000..146c84e
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSParserConfig9.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSParserConfig9">
+ <metadata>
+ <title>LSParserConfig9</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of supported-media-types-only.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="parser" type="LSParser"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="propertyName" type="DOMString" value='"sUpported-media-types-only"'/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+
+ <implementation var="domImpl"/>
+ <createLSParser var="parser" obj="domImpl" mode="1" schemaType="NULL_SCHEMA_TYPE"/>
+ <domConfig var="config" obj="parser" interface="LSParser"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="true"/>
+ <if>
+ <isTrue value="canSet"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setTrueIsEffective"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalseIsEffective"/>
+ <else>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_ERR_if_canSetParameter_false">
+ <NOT_SUPPORTED_ERR>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+ </else>
+ </if>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSSerializerConfig1.xml b/test/testcases/tests/level3/ls/LSSerializerConfig1.xml
new file mode 100644
index 0000000..5681b30
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSSerializerConfig1.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSSerializerConfig1">
+ <metadata>
+ <title>LSSerializerConfig1</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks initial state of serializer configuration.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+
+ <implementation var="domImpl"/>
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <domConfig var="config" obj="serializer" interface="LSSerializer"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name='"cAnonical-form"'/>
+ <assertFalse actual="state" id="canonical-form-is-false"/>
+ <getParameter var="state" obj="config" name='"dIscard-default-content"'/>
+ <assertTrue actual="state" id="discard-default-content-is-true"/>
+ <getParameter var="state" obj="config" name='"fOrmat-pretty-print"'/>
+ <assertFalse actual="state" id="format-pretty-print-is-false"/>
+ <getParameter var="state" obj="config" name='"iGnore-unknown-character-denormalizations"'/>
+ <assertTrue actual="state" id="ignore-unknown-character-denormalizations-is-true"/>
+
+ <!-- normalize characters is supposed to be true if
+ the implementation supports true -->
+ <getParameter var="state" obj="config" name='"nOrmalize-characters"'/>
+ <canSetParameter var="canSet" obj="config" name='"normalize-characters"' value="true"/>
+ <assertTrue id="normalize-characters-default">
+ <or>
+ <isTrue value="state"/>
+ <isFalse value="canSet"/>
+ </or>
+ </assertTrue>
+
+ <getParameter var="state" obj="config" name='"xMl-declaration"'/>
+ <assertTrue actual="state" id="xml-declaration-is-true"/>
+ <getParameter var="state" obj="config" name='"wEll-formed"'/>
+ <assertTrue actual="state" id="well-formed-is-true"/>
+ <getParameter var="state" obj="config" name='"nAmespaces"'/>
+ <assertTrue actual="state" id="namespaces-is-true"/>
+ <getParameter var="state" obj="config" name='"nAmespace-declarations"'/>
+ <assertTrue actual="state" id="namespace-declarations-is-true"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSSerializerConfig10.xml b/test/testcases/tests/level3/ls/LSSerializerConfig10.xml
new file mode 100644
index 0000000..29b8145
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSSerializerConfig10.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSSerializerConfig10">
+ <metadata>
+ <title>LSSerializerConfig10</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of namespace-declarations.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="propertyName" type="DOMString" value='"nAmespace-declarations"'/>
+
+ <implementation var="domImpl"/>
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <domConfig var="config" obj="serializer" interface="LSSerializer"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="true"/>
+ <assertTrue actual="canSet" id="canSetTrue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="false"/>
+ <assertTrue actual="canSet" id="canSetFalse"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalseIsEffective"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setTrueIsEffective"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSSerializerConfig2.xml b/test/testcases/tests/level3/ls/LSSerializerConfig2.xml
new file mode 100644
index 0000000..8ed0a3c
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSSerializerConfig2.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSSerializerConfig2">
+ <metadata>
+ <title>LSSerializerConfig2</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks getParameterNames and canSetParameter.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="parameterNames" type="DOMStringList"/>
+ <var name="parameterName" type="DOMString"/>
+ <var name="matchCount" type="int" value="0"/>
+ <var name="paramValue" type="DOMUserData"/>
+ <var name="canSet" type="boolean"/>
+
+ <implementation var="domImpl"/>
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <domConfig var="config" obj="serializer" interface="LSSerializer"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <parameterNames var="parameterNames" obj="config"/>
+ <assertNotNull actual="parameterNames" id="parameterNamesNotNull"/>
+ <for-each collection="parameterNames" member="parameterName">
+ <!-- get the default value of this parameter -->
+ <getParameter var="paramValue" obj="config" name="parameterName"/>
+ <!-- should be able to set to default value -->
+ <canSetParameter var="canSet" obj="config" name="parameterName" value="paramValue"/>
+ <assertTrue actual="canSet" id="canSetToDefaultValue"/>
+ <setParameter obj="config" name="parameterName" value="paramValue"/>
+ <if>
+ <or>
+ <equals actual="parameterName" expected='"canonical-form"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"cdata-sections"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"check-character-normalization"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"comments"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"datatype-normalization"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"entities"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"error-handler"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"infoset"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"namespaces"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"namespace-declarations"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"normalize-characters"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"split-cdata-sections"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"validate"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"validate-if-schema"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"well-formed"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"element-content-whitespace"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"discard-default-content"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"format-pretty-print"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"ignore-unknown-character-denormalizations"' ignoreCase="true"/>
+ <equals actual="parameterName" expected='"xml-declaration"' ignoreCase="true"/>
+ </or>
+ <increment var="matchCount" value="1"/>
+ </if>
+ </for-each>
+ <assertEquals actual="matchCount" expected="20" id="definedParameterCount" ignoreCase="false"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSSerializerConfig3.xml b/test/testcases/tests/level3/ls/LSSerializerConfig3.xml
new file mode 100644
index 0000000..2e5c3cf
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSSerializerConfig3.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSSerializerConfig3">
+ <metadata>
+ <title>LSSerializerConfig3</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of canonical-form.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="propertyName" type="DOMString" value='"cAnonical-form"'/>
+
+ <implementation var="domImpl"/>
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <domConfig var="config" obj="serializer" interface="LSSerializer"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="true"/>
+ <if>
+ <isTrue value="canSet"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setTrueIsEffective"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalseIsEffective"/>
+ <else>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_ERR_if_canSetParameter_false">
+ <NOT_SUPPORTED_ERR>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+ </else>
+ </if>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSSerializerConfig4.xml b/test/testcases/tests/level3/ls/LSSerializerConfig4.xml
new file mode 100644
index 0000000..c6b155d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSSerializerConfig4.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSSerializerConfig4">
+ <metadata>
+ <title>LSSerializerConfig4</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of discard-default-content.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="propertyName" type="DOMString" value='"dIscard-default-content"'/>
+
+ <implementation var="domImpl"/>
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <domConfig var="config" obj="serializer" interface="LSSerializer"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="true"/>
+ <assertTrue actual="canSet" id="canSetTrue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="false"/>
+ <assertTrue actual="canSet" id="canSetFalse"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalse"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setTrue"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSSerializerConfig5.xml b/test/testcases/tests/level3/ls/LSSerializerConfig5.xml
new file mode 100644
index 0000000..d6d4ec1
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSSerializerConfig5.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSSerializerConfig5">
+ <metadata>
+ <title>LSSerializerConfig5</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of format-pretty-print.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="propertyName" type="DOMString" value='"fOrmat-pretty-print"'/>
+
+ <implementation var="domImpl"/>
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <domConfig var="config" obj="serializer" interface="LSSerializer"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="true"/>
+ <if>
+ <isTrue value="canSet"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setTrueIsEffective"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalseIsEffective"/>
+ <else>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_ERR_if_canSetParameter_false">
+ <NOT_SUPPORTED_ERR>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+ </else>
+ </if>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSSerializerConfig6.xml b/test/testcases/tests/level3/ls/LSSerializerConfig6.xml
new file mode 100644
index 0000000..0e506bf
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSSerializerConfig6.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSSerializerConfig6">
+ <metadata>
+ <title>LSSerializerConfig6</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of ignore-unknown-character-denormalizations.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="propertyName" type="DOMString" value='"iGnore-unknown-character-denormalizations"'/>
+
+ <implementation var="domImpl"/>
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <domConfig var="config" obj="serializer" interface="LSSerializer"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="false"/>
+ <if>
+ <isTrue value="canSet"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalseIsEffective"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setTrueIsEffective"/>
+ <else>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <assertDOMException id="throw_NOT_SUPPORTED_ERR_if_canSetParameter_false">
+ <NOT_SUPPORTED_ERR>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+ </else>
+ </if>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSSerializerConfig7.xml b/test/testcases/tests/level3/ls/LSSerializerConfig7.xml
new file mode 100644
index 0000000..17f5393
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSSerializerConfig7.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSSerializerConfig7">
+ <metadata>
+ <title>LSSerializerConfig7</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of xml-declaration.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="propertyName" type="DOMString" value='"xMl-declaration"'/>
+
+ <implementation var="domImpl"/>
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <domConfig var="config" obj="serializer" interface="LSSerializer"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="true"/>
+ <assertTrue actual="canSet" id="canSetTrue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="false"/>
+ <assertTrue actual="canSet" id="canSetFalse"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalse"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setTrue"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSSerializerConfig8.xml b/test/testcases/tests/level3/ls/LSSerializerConfig8.xml
new file mode 100644
index 0000000..6ab2b0b
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSSerializerConfig8.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSSerializerConfig8">
+ <metadata>
+ <title>LSSerializerConfig8</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of well-formed.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="propertyName" type="DOMString" value='"wEll-formed"'/>
+
+ <implementation var="domImpl"/>
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <domConfig var="config" obj="serializer" interface="LSSerializer"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="true"/>
+ <assertTrue actual="canSet" id="canSetTrue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="false"/>
+ <if><isTrue value="canSet"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalseIsEffective"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setTrueIsEffective"/>
+ <else>
+ <assertDOMException id="throw_NOT_SUPPORTED_EXCEPTION">
+ <NOT_SUPPORTED_ERR>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+ </else>
+ </if>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/LSSerializerConfig9.xml b/test/testcases/tests/level3/ls/LSSerializerConfig9.xml
new file mode 100644
index 0000000..ff42555
--- /dev/null
+++ b/test/testcases/tests/level3/ls/LSSerializerConfig9.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="LSSerializerConfig9">
+ <metadata>
+ <title>LSSerializerConfig9</title>
+ <creator>Curt Arnold</creator>
+ <description>Checks support of namespaces.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-config"/>
+ </metadata>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="config" type="DOMConfiguration"/>
+ <var name="state" type="boolean"/>
+ <var name="canSet" type="boolean"/>
+ <var name="propertyName" type="DOMString" value='"nAmespaces"'/>
+
+ <implementation var="domImpl"/>
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <domConfig var="config" obj="serializer" interface="LSSerializer"/>
+ <assertNotNull actual="config" id="configNotNull"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="defaultValue"/>
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="true"/>
+ <assertTrue actual="canSet" id="canSetTrue"/>
+ <!-- TODO: Changed in anticipation of forthcoming spec change
+ will need to review final wording -->
+ <canSetParameter var="canSet" obj="config" name="propertyName" value="false"/>
+ <if>
+ <isTrue value="canSet"/>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertFalse actual="state" id="setFalseIsEffective"/>
+ <setParameter obj="config" name="propertyName" value="true"/>
+ <getParameter var="state" obj="config" name="propertyName"/>
+ <assertTrue actual="state" id="setTrueIsEffective"/>
+ <else>
+ <assertDOMException id="settingFalseWhenNotSupported">
+ <NOT_SUPPORTED_ERR>
+ <setParameter obj="config" name="propertyName" value="false"/>
+ </NOT_SUPPORTED_ERR>
+ </assertDOMException>
+ </else>
+ </if>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/SystemId1.xml b/test/testcases/tests/level3/ls/SystemId1.xml
new file mode 100644
index 0000000..ee463c6
--- /dev/null
+++ b/test/testcases/tests/level3/ls/SystemId1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="SystemId1">
+ <metadata>
+ <title>SystemId1</title>
+ <creator>Curt Arnold</creator>
+ <description>Writes a document to a URL for a temporary file and rereads the document.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-systemId"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSOutput-systemId"/>
+ </metadata>
+ <implementationAttribute name="validating" value="false"/>
+
+ <var name="testDoc" type="Document"/>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="output" type="LSOutput"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="systemId" type="DOMString"/>
+ <var name="checkSystemId" type="DOMString"/>
+ <var name="status" type="boolean"/>
+ <var name="input" type="LSInput"/>
+ <var name="parser" type="LSParser"/>
+ <var name="checkDoc" type="Document"/>
+ <var name="docElem" type="Element"/>
+ <var name="docElemName" type="DOMString"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+
+ <load var="testDoc" href="test0" willBeModified="false"/>
+ <implementation var="domImpl"/>
+
+ <!-- create an LSOutput and connect it to an stock LSWriter -->
+ <createLSOutput var="output" obj="domImpl"/>
+ <!-- check that it was initially null -->
+ <systemId var="checkSystemId" obj="output" interface="LSOutput"/>
+ <assertNull actual="checkSystemId" id="LSOutputSystemIdInitiallyNull"/>
+ <createTempURI var="systemId" scheme="file"/>
+ <systemId obj="output" value="systemId" interface="LSOutput"/>
+ <systemId var="checkSystemId" obj="output" interface="LSOutput"/>
+ <assertEquals expected="systemId"
+ actual="checkSystemId"
+ ignoreCase="false"
+ id="LSOutputSystemIdMatch"/>
+
+ <!-- create a serializer and write a test document -->
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <write var="status" obj="serializer" destination="output" nodeArg="testDoc"/>
+ <assertTrue actual="status" id="writeStatus"/>
+
+ <!-- read the serialized document -->
+ <createLSInput var="input" obj="domImpl"/>
+ <systemId var="checkSystemId" obj="input" interface="LSInput"/>
+ <assertNull actual="checkSystemId" id="LSInputSystemIdInitiallyNull"/>
+ <systemId obj="input" value="systemId" interface="LSInput"/>
+ <systemId var="checkSystemId" obj="input" interface="LSInput"/>
+ <assertEquals expected="systemId"
+ actual="checkSystemId"
+ ignoreCase="false"
+ id="LSInputSystemIdMatch"/>
+ <createLSParser var="parser" obj="domImpl" schemaType="NULL_SCHEMA_TYPE" mode="1"/>
+ <parse var="checkDoc" obj="parser" input="input"/>
+ <assertNotNull actual="checkDoc" id="checkNotNull"/>
+ <documentElement var="docElem" obj="checkDoc"/>
+ <nodeName var="docElemName" obj="docElem"/>
+ <assertEquals expected='"elt0"' actual="docElemName" id="checkDocElemName" ignoreCase="false"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/SystemId2.xml b/test/testcases/tests/level3/ls/SystemId2.xml
new file mode 100644
index 0000000..2447617
--- /dev/null
+++ b/test/testcases/tests/level3/ls/SystemId2.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="SystemId2">
+ <metadata>
+ <title>SystemId2</title>
+ <creator>Curt Arnold</creator>
+ <description>Writes a document to a URL for a temporary http document and rereads the document.</description>
+ <date qualifier="created">2003-12-08</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSInput-systemId"/>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSOutput-systemId"/>
+ </metadata>
+ <implementationAttribute name="validating" value="false"/>
+
+ <var name="testDoc" type="Document"/>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="output" type="LSOutput"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="systemId" type="DOMString"/>
+ <var name="checkSystemId" type="DOMString"/>
+ <var name="status" type="boolean"/>
+ <var name="input" type="LSInput"/>
+ <var name="parser" type="LSParser"/>
+ <var name="checkDoc" type="Document"/>
+ <var name="docElem" type="Element"/>
+ <var name="docElemName" type="DOMString"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+
+ <load var="testDoc" href="test0" willBeModified="false"/>
+ <implementation var="domImpl"/>
+
+ <!-- create an LSOutput and connect it to an stock LSWriter -->
+ <createLSOutput var="output" obj="domImpl"/>
+ <!-- check that it was initially null -->
+ <systemId var="checkSystemId" obj="output" interface="LSOutput"/>
+ <assertNull actual="checkSystemId" id="LSOutputSystemIdInitiallyNull"/>
+ <createTempURI var="systemId" scheme="http"/>
+ <systemId obj="output" value="systemId" interface="LSOutput"/>
+ <systemId var="checkSystemId" obj="output" interface="LSOutput"/>
+ <assertEquals expected="systemId"
+ actual="checkSystemId"
+ ignoreCase="false"
+ id="LSOutputSystemIdMatch"/>
+
+ <!-- create a serializer and write a test document -->
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <write var="status" obj="serializer" destination="output" nodeArg="testDoc"/>
+ <assertTrue actual="status" id="writeStatus"/>
+
+ <!-- read the serialized document -->
+ <createLSInput var="input" obj="domImpl"/>
+ <systemId var="checkSystemId" obj="input" interface="LSInput"/>
+ <assertNull actual="checkSystemId" id="LSInputSystemIdInitiallyNull"/>
+ <systemId obj="input" value="systemId" interface="LSInput"/>
+ <systemId var="checkSystemId" obj="input" interface="LSInput"/>
+ <assertEquals expected="systemId"
+ actual="checkSystemId"
+ ignoreCase="false"
+ id="LSInputSystemIdMatch"/>
+ <createLSParser var="parser" obj="domImpl" schemaType="NULL_SCHEMA_TYPE" mode="1"/>
+ <parse var="checkDoc" obj="parser" input="input"/>
+ <assertNotNull actual="checkDoc" id="checkNotNull"/>
+ <documentElement var="docElem" obj="checkDoc"/>
+ <nodeName var="docElemName" obj="docElem"/>
+ <assertEquals expected='"elt0"' actual="docElemName" id="checkDocElemName" ignoreCase="false"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/alltests.xml b/test/testcases/tests/level3/ls/alltests.xml
new file mode 100644
index 0000000..13d2353
--- /dev/null
+++ b/test/testcases/tests/level3/ls/alltests.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+ Copyright (c) 2003-2004 X-Hive Corporation
+
+ All Rights Reserved. This work is distributed under the W3C(r)
+ Software License [1] in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.
+
+ [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+
+<!DOCTYPE suite SYSTEM "dom3.dtd">
+
+<suite xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="alltests">
+ <metadata>
+ <title>DOM Level 3 LS Test Suite</title>
+ <creator>X-Hive Corporation</creator>
+ </metadata>
+ <suite.member href="DOMBuilderFilterTest0.xml"/>
+ <suite.member href="DOMBuilderFilterTest1.xml"/>
+ <suite.member href="DOMBuilderFilterTest2.xml"/>
+ <suite.member href="DOMBuilderTest0.xml"/>
+ <suite.member href="DOMBuilderTest1.xml"/>
+ <suite.member href="DOMBuilderTest2.xml"/>
+ <suite.member href="DOMBuilderTest3.xml"/>
+ <suite.member href="DOMBuilderTest4.xml"/>
+ <suite.member href="DOMBuilderTest5.xml"/>
+ <suite.member href="DOMBuilderTest6.xml"/>
+ <suite.member href="DOMBuilderTest8.xml"/>
+ <suite.member href="DOMEntityResolverTest0.xml"/>
+ <suite.member href="DOMEntityResolverTest1.xml"/>
+ <suite.member href="DOMEntityResolverTest2.xml"/>
+ <suite.member href="DOMImplementationLSTest0.xml"/>
+ <suite.member href="DOMImplementationLSTest1.xml"/>
+ <suite.member href="DOMImplementationLSTest2.xml"/>
+ <suite.member href="DOMImplementationLSTest3.xml"/>
+ <suite.member href="DOMImplementationLSTest4.xml"/>
+ <suite.member href="DOMImplementationLSTest5.xml"/>
+ <suite.member href="DOMInputSourceTest0.xml"/>
+ <suite.member href="DOMInputSourceTest1.xml"/>
+ <suite.member href="DOMInputSourceTest2.xml"/>
+ <suite.member href="DOMInputSourceTest3.xml"/>
+ <suite.member href="DOMInputSourceTest4.xml"/>
+ <suite.member href="DOMInputSourceTest5.xml"/>
+ <suite.member href="DOMInputSourceTest6.xml"/>
+ <suite.member href="DOMWriterFilterTest0.xml"/>
+ <suite.member href="DOMWriterFilterTest1.xml"/>
+ <suite.member href="DOMWriterFilterTest2.xml"/>
+ <suite.member href="DOMWriterFilterTest3.xml"/>
+ <suite.member href="DOMWriterTest0.xml"/>
+ <suite.member href="DOMWriterTest1.xml"/>
+ <suite.member href="DOMWriterTest2.xml"/>
+ <suite.member href="DOMWriterTest3.xml"/>
+ <suite.member href="DOMWriterTest4.xml"/>
+ <suite.member href="DOMWriterTest5.xml"/>
+ <suite.member href="DOMWriterTest6.xml"/>
+
+ <suite.member href="encoding01.xml"/>
+ <suite.member href="GetFeature1.xml"/>
+ <suite.member href="GetFeature2.xml"/>
+ <suite.member href="HasFeature01.xml"/>
+ <suite.member href="HasFeature02.xml"/>
+ <suite.member href="HasFeature03.xml"/>
+ <suite.member href="HasFeature04.xml"/>
+ <suite.member href="HasFeature05.xml"/>
+ <suite.member href="CharacterStream1.xml"/>
+ <suite.member href="SystemId1.xml"/>
+ <suite.member href="SystemId2.xml"/>
+ <suite.member href="CertifiedText1.xml"/>
+ <suite.member href="LSParserConfig1.xml"/>
+ <suite.member href="LSParserConfig2.xml"/>
+ <suite.member href="LSParserConfig3.xml"/>
+ <suite.member href="LSParserConfig4.xml"/>
+ <suite.member href="LSParserConfig5.xml"/>
+ <suite.member href="LSParserConfig6.xml"/>
+ <suite.member href="LSParserConfig7.xml"/>
+ <suite.member href="LSParserConfig8.xml"/>
+ <suite.member href="LSParserConfig9.xml"/>
+ <suite.member href="LSSerializerConfig1.xml"/>
+ <suite.member href="LSSerializerConfig2.xml"/>
+ <suite.member href="LSSerializerConfig3.xml"/>
+ <suite.member href="LSSerializerConfig4.xml"/>
+ <suite.member href="LSSerializerConfig5.xml"/>
+ <suite.member href="LSSerializerConfig6.xml"/>
+ <suite.member href="LSSerializerConfig7.xml"/>
+ <suite.member href="LSSerializerConfig8.xml"/>
+ <suite.member href="LSSerializerConfig9.xml"/>
+ <suite.member href="LSSerializerConfig10.xml"/>
+ <suite.member href="writeToURI1.xml"/>
+ <suite.member href="writeToURI2.xml"/>
+
+ <suite.member href="canonicalform01.xml"/>
+ <suite.member href="canonicalform03.xml"/>
+ <suite.member href="canonicalform04.xml"/>
+ <suite.member href="canonicalform05.xml"/>
+ <suite.member href="canonicalform06.xml"/>
+ <suite.member href="canonicalform08.xml"/>
+ <suite.member href="canonicalform09.xml"/>
+ <suite.member href="canonicalform10.xml"/>
+ <suite.member href="canonicalform11.xml"/>
+ <suite.member href="canonicalform12.xml"/>
+ <suite.member href="canonicalform13.xml"/>
+
+ <suite.member href="cdatasections01.xml"/>
+ <suite.member href="cdatasections02.xml"/>
+ <suite.member href="cdatasections03.xml"/>
+ <suite.member href="cdatasections04.xml"/>
+ <suite.member href="checkcharacternormalization01.xml"/>
+ <suite.member href="checkcharacternormalization02.xml"/>
+ <suite.member href="checkcharacternormalization03.xml"/>
+ <suite.member href="checkcharacternormalization04.xml"/>
+ <suite.member href="comments01.xml"/>
+ <suite.member href="comments02.xml"/>
+ <suite.member href="comments03.xml"/>
+ <suite.member href="comments04.xml"/>
+
+ <suite.member href="datatypenormalization01.xml"/>
+ <suite.member href="datatypenormalization02.xml"/>
+<suite.member href="datatypenormalization03.xml"/>
+<suite.member href="datatypenormalization04.xml"/>
+<suite.member href="datatypenormalization05.xml"/>
+<suite.member href="datatypenormalization06.xml"/>
+<suite.member href="datatypenormalization07.xml"/>
+<suite.member href="datatypenormalization08.xml"/>
+<suite.member href="datatypenormalization09.xml"/>
+<suite.member href="datatypenormalization10.xml"/>
+<suite.member href="datatypenormalization11.xml"/>
+<suite.member href="datatypenormalization12.xml"/>
+<suite.member href="datatypenormalization13.xml"/>
+<suite.member href="datatypenormalization14.xml"/>
+<suite.member href="datatypenormalization15.xml"/>
+<suite.member href="datatypenormalization16.xml"/>
+<suite.member href="datatypenormalization17.xml"/>
+
+<suite.member href="disallowdoctype01.xml"/>
+<suite.member href="discarddefaultcontent01.xml"/>
+<suite.member href="discarddefaultcontent02.xml"/>
+
+ <suite.member href="elementcontentwhitespace01.xml"/>
+ <suite.member href="elementcontentwhitespace02.xml"/>
+ <suite.member href="elementcontentwhitespace03.xml"/>
+ <suite.member href="entities01.xml"/>
+ <suite.member href="entities02.xml"/>
+ <suite.member href="entities03.xml"/>
+ <suite.member href="entities04.xml"/>
+ <suite.member href="entities05.xml"/>
+ <suite.member href="entities06.xml"/>
+ <suite.member href="entities07.xml"/>
+ <suite.member href="entities08.xml"/>
+ <suite.member href="entities09.xml"/>
+
+ <suite.member href="infoset01.xml"/>
+ <suite.member href="infoset02.xml"/>
+ <suite.member href="infoset03.xml"/>
+ <suite.member href="infoset04.xml"/>
+ <suite.member href="infoset05.xml"/>
+ <suite.member href="infoset06.xml"/>
+ <suite.member href="infoset07.xml"/>
+ <suite.member href="infoset08.xml"/>
+
+ <suite.member href="namespacedeclarations01.xml"/>
+ <suite.member href="namespacedeclarations02.xml"/>
+ <suite.member href="namespaces01.xml"/>
+ <suite.member href="namespaces02.xml"/>
+
+ <suite.member href="newline01.xml"/>
+ <suite.member href="newline02.xml"/>
+ <suite.member href="newline03.xml"/>
+
+ <suite.member href="noinputspecified01.xml"/>
+ <suite.member href="nooutputspecified01.xml"/>
+
+ <suite.member href="normalizecharacters01.xml"/>
+ <suite.member href="normalizecharacters02.xml"/>
+ <suite.member href="normalizecharacters03.xml"/>
+ <suite.member href="normalizecharacters04.xml"/>
+
+ <suite.member href="schemalocation01.xml"/>
+ <suite.member href="schemalocation02.xml"/>
+ <suite.member href="schemalocation03.xml"/>
+ <suite.member href="schemalocation04.xml"/>
+ <suite.member href="schematype01.xml"/>
+ <suite.member href="schematype02.xml"/>
+ <suite.member href="schematype03.xml"/>
+ <suite.member href="schematype04.xml"/>
+
+ <suite.member href="splitcdatasections01.xml"/>
+ <suite.member href="splitcdatasections02.xml"/>
+
+ <suite.member href="unsupportedencoding01.xml"/>
+ <suite.member href="validate01.xml"/>
+ <suite.member href="validate02.xml"/>
+ <suite.member href="validate03.xml"/>
+ <suite.member href="validate04.xml"/>
+ <suite.member href="validate05.xml"/>
+ <suite.member href="validate06.xml"/>
+ <suite.member href="validate07.xml"/>
+ <suite.member href="validate08.xml"/>
+ <suite.member href="validateifschema01.xml"/>
+ <suite.member href="validateifschema02.xml"/>
+ <suite.member href="validateifschema03.xml"/>
+ <suite.member href="validateifschema04.xml"/>
+
+ <suite.member href="wellformed01.xml"/>
+ <suite.member href="wellformed02.xml"/>
+ <suite.member href="wellformed03.xml"/>
+
+ <suite.member href="xmldeclaration01.xml"/>
+ <suite.member href="xmldeclaration02.xml"/>
+
+</suite>
diff --git a/test/testcases/tests/level3/ls/canonicalform01.xml b/test/testcases/tests/level3/ls/canonicalform01.xml
new file mode 100644
index 0000000..3c7d4a2
--- /dev/null
+++ b/test/testcases/tests/level3/ls/canonicalform01.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="canonicalform01">
+<metadata>
+<title>canonicalform01</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with canonical-form = true and see that entity references are not present in
+the element content.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-canonical-form"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elemList" type="NodeList"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"canonical-form"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"canonical-form"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"acronym"' interface="Document"/>
+<item var="elem" obj="elemList" index="1" interface="NodeList"/>
+<firstChild var="node" obj="elem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="3" ignoreCase="false" id="acrContentIsText"/>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/canonicalform03.xml b/test/testcases/tests/level3/ls/canonicalform03.xml
new file mode 100644
index 0000000..6646b0e
--- /dev/null
+++ b/test/testcases/tests/level3/ls/canonicalform03.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="canonicalform03">
+<metadata>
+<title>canonicalform03</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with canonical-form = true and see that CDATASection are not present in
+the parsed document.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-canonical-form"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="pList" type="NodeList"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"canonical-form"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"canonical-form"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="pList" obj="doc" tagname='"strong"' interface="Document"/>
+<item var="elem" obj="pList" index="1" interface="NodeList"/>
+<lastChild var="node" obj="elem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="3" ignoreCase="false" id="childIsText"/>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/canonicalform04.xml b/test/testcases/tests/level3/ls/canonicalform04.xml
new file mode 100644
index 0000000..1107bfa
--- /dev/null
+++ b/test/testcases/tests/level3/ls/canonicalform04.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="canonicalform04">
+<metadata>
+<title>canonicalform04</title>
+<creator>Curt Arnold</creator>
+<description>
+Attempt to load a namespace invalid document with canonical-form = true.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-canonical-form"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"canonical-form"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"canonical-form"' value="true"/>
+<getResourceURI var="resourceURI" href='"namespaces1"' contentType="text/xml"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+</assertLSException>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/canonicalform05.xml b/test/testcases/tests/level3/ls/canonicalform05.xml
new file mode 100644
index 0000000..7ccc87d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/canonicalform05.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="canonicalform05">
+<metadata>
+<title>canonicalform05</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with canonical-form = true and see that attributes for namespace declarations are present.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-namespace-declarations"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elemList" type="NodeList"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="canSet" type="boolean"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"canonical-form"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"canonical-form"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"p"' interface="Document"/>
+<item var="elem" obj="elemList" index="0" interface="NodeList"/>
+<getAttributeNode var="node" obj="elem" name='"xmlns:dmstc"'/>
+<assertNotNull actual="node" id="nsAttrNotNull"/>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/canonicalform06.xml b/test/testcases/tests/level3/ls/canonicalform06.xml
new file mode 100644
index 0000000..9a3999d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/canonicalform06.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="canonicalform06">
+<metadata>
+<title>canonicalform06</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with canonical-form and validate = true and check that
+element content whitespace is not eliminated.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-canonical-form"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetCanonicalForm" type="boolean"/>
+<var name="elemList" type="NodeList"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetCanonicalForm" obj="domConfig" name='"canonical-form"' value="true"/>
+<if><and><isTrue value="canSetValidate"/><isTrue value="canSetCanonicalForm"/></and>
+<setParameter obj="domConfig" name='"validate"' value="true"/>
+<setParameter obj="domConfig" name='"canonical-form"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"p"' interface="Document"/>
+<item var="elem" obj="elemList" index="0" interface="NodeList"/>
+<firstChild var="node" obj="elem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="3" ignoreCase="false" id="nodeIsText"/>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/canonicalform08.xml b/test/testcases/tests/level3/ls/canonicalform08.xml
new file mode 100644
index 0000000..6e76d6a
--- /dev/null
+++ b/test/testcases/tests/level3/ls/canonicalform08.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="canonicalform08">
+<metadata>
+<title>canonicalform08</title>
+<creator>Curt Arnold</creator>
+<description>
+Normalize document based on section 3.1 with canonical-form set to true and check normalized document.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-canonical-form"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="bodyList" type="NodeList"/>
+<var name="body" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="canSet" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="nodeValue" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<var name="length" type="int"/>
+<var name="text" type="Text"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetCanonicalForm" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSetCanonicalForm" obj="domConfig" name='"canonical-form"' value="true"/>
+<if><isTrue value="canSetCanonicalForm"/>
+<setParameter obj="domConfig" name='"canonical-form"' value="true"/>
+<getResourceURI var="resourceURI" href='"canonicalform01"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<firstChild var="node" obj="doc" interface="Node"/>
+<nodeType var="nodeType" obj="node" interface="Node"/>
+<assertEquals expected="7" actual="nodeType" ignoreCase="false" id="PIisFirstChild"/>
+<data var="nodeValue" obj="node" interface="ProcessingInstruction"/>
+<length var="length" obj="nodeValue" interface="DOMString"/>
+<assertEquals actual="length" expected="36" ignoreCase="false" id="piDataLength"/>
+<!-- next sibling is a #0A line feed -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals expected="3" actual="nodeType" ignoreCase="false" id="TextisSecondChild"/>
+<nodeValue var="nodeValue" obj="node"/>
+<length var="length" obj="nodeValue" interface="DOMString"/>
+<assertEquals actual="length" expected="1" ignoreCase="false" id="secondChildLength"/>
+<!-- next sibling is document element -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals expected="1" actual="nodeType" ignoreCase="false" id="ElementisThirdChild"/>
+<!-- next sibling is a #0A line feed -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals expected="3" actual="nodeType" ignoreCase="false" id="TextisFourthChild"/>
+<nodeValue var="nodeValue" obj="node"/>
+<length var="length" obj="nodeValue" interface="DOMString"/>
+<assertEquals actual="length" expected="1" ignoreCase="false" id="fourthChildLength"/>
+<!-- next sibling is a processing instruction -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals expected="7" actual="nodeType" ignoreCase="false" id="PIisFifthChild"/>
+<data var="nodeValue" obj="node" interface="ProcessingInstruction"/>
+<assertEquals actual="nodeValue" expected='""' ignoreCase="false" id="trailingPIData"/>
+<!-- next sibling is a #0A line feed -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals expected="3" actual="nodeType" ignoreCase="false" id="TextisSixthChild"/>
+<nodeValue var="nodeValue" obj="node"/>
+<length var="length" obj="nodeValue" interface="DOMString"/>
+<assertEquals actual="length" expected="1" ignoreCase="false" id="sixthChildLength"/>
+<!-- next sibling is a comment -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals expected="8" actual="nodeType" ignoreCase="false" id="CommentisSeventhChild"/>
+<!-- next sibling is a #0A line feed -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals expected="3" actual="nodeType" ignoreCase="false" id="TextisEighthChild"/>
+<nodeValue var="nodeValue" obj="node"/>
+<length var="length" obj="nodeValue" interface="DOMString"/>
+<assertEquals actual="length" expected="1" ignoreCase="false" id="eighthChildLength"/>
+<!-- next sibling is a comment -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals expected="8" actual="nodeType" ignoreCase="false" id="CommentisNinthChild"/>
+<!-- next sibling is a null -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<assertNull actual="node" id="TenthIsNull"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/canonicalform09.xml b/test/testcases/tests/level3/ls/canonicalform09.xml
new file mode 100644
index 0000000..035c499
--- /dev/null
+++ b/test/testcases/tests/level3/ls/canonicalform09.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="canonicalform09">
+<metadata>
+<title>canonicalform09</title>
+<creator>Curt Arnold</creator>
+<description>
+Normalize document based on section 3.1 with canonical-form set to true
+and comments to false and check normalized document.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-canonical-form"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="bodyList" type="NodeList"/>
+<var name="body" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="canSet" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="nodeValue" type="DOMString"/>
+<var name="nodeType" type="int"/>
+<var name="length" type="int"/>
+<var name="text" type="Text"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetCanonicalForm" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSetCanonicalForm" obj="domConfig" name='"canonical-form"' value="true"/>
+<if><isTrue value="canSetCanonicalForm"/>
+<setParameter obj="domConfig" name='"canonical-form"' value="true"/>
+<setParameter obj="domConfig" name='"comments"' value="false"/>
+<getResourceURI var="resourceURI" href='"canonicalform01"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<firstChild var="node" obj="doc" interface="Node"/>
+<nodeType var="nodeType" obj="node" interface="Node"/>
+<assertEquals expected="7" actual="nodeType" ignoreCase="false" id="PIisFirstChild"/>
+<data var="nodeValue" obj="node" interface="ProcessingInstruction"/>
+<length var="length" obj="nodeValue" interface="DOMString"/>
+<assertEquals actual="length" expected="36" ignoreCase="false" id="piDataLength"/>
+<!-- next sibling is a #0A line feed -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals expected="3" actual="nodeType" ignoreCase="false" id="TextisSecondChild"/>
+<nodeValue var="nodeValue" obj="node"/>
+<length var="length" obj="nodeValue" interface="DOMString"/>
+<assertEquals actual="length" expected="1" ignoreCase="false" id="secondChildLength"/>
+<!-- next sibling is document element -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals expected="1" actual="nodeType" ignoreCase="false" id="ElementisThirdChild"/>
+<!-- next sibling is a #0A line feed -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals expected="3" actual="nodeType" ignoreCase="false" id="TextisFourthChild"/>
+<nodeValue var="nodeValue" obj="node"/>
+<length var="length" obj="nodeValue" interface="DOMString"/>
+<assertEquals actual="length" expected="1" ignoreCase="false" id="fourthChildLength"/>
+<!-- next sibling is a processing instruction -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals expected="7" actual="nodeType" ignoreCase="false" id="PIisFifthChild"/>
+<data var="nodeValue" obj="node" interface="ProcessingInstruction"/>
+<assertEquals actual="nodeValue" expected='""' ignoreCase="false" id="trailingPIData"/>
+<!-- next sibling is a null -->
+<nextSibling interface="Node" var="node" obj="node"/>
+<assertNull actual="node" id="SixthIsNull"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/canonicalform10.xml b/test/testcases/tests/level3/ls/canonicalform10.xml
new file mode 100644
index 0000000..6149186
--- /dev/null
+++ b/test/testcases/tests/level3/ls/canonicalform10.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="canonicalform10">
+<metadata>
+<title>canonicalform10</title>
+<creator>Curt Arnold</creator>
+<description>
+Check elimination of unnecessary namespace prefixes when
+normalized with canonical-form = true.
+</description>
+<date qualifier="created">2004-02-26</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-canonical-form"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<implementationAttribute name="validating" value="false"/>
+<var name="doc" type="Document"/>
+<var name="divList" type="NodeList"/>
+<var name="div" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="node" type="Node"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetCanonicalForm" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSetCanonicalForm" obj="domConfig" name='"canonical-form"' value="true"/>
+<if><isTrue value="canSetCanonicalForm"/>
+<setParameter obj="domConfig" name='"canonical-form"' value="true"/>
+<getResourceURI var="resourceURI" href='"canonicalform03"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="divList" obj="doc"
+ tagname='"div"' interface="Document"/>
+<item var="div" obj="divList" index="5" interface="NodeList"/>
+<getAttributeNode var="node" obj="div" name='"xmlns"'/>
+<assertNotNull actual="node" id="xmlnsPresent"/>
+<getAttributeNode var="node" obj="div" name='"xmlns:a"'/>
+<assertNull actual="node" id="xmlnsANotPresent"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/canonicalform11.xml b/test/testcases/tests/level3/ls/canonicalform11.xml
new file mode 100644
index 0000000..126ac06
--- /dev/null
+++ b/test/testcases/tests/level3/ls/canonicalform11.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="canonicalform11">
+<metadata>
+<title>canonicalform11</title>
+<creator>Curt Arnold</creator>
+<description>
+Check that default attributes are made explicitly specified.
+</description>
+<date qualifier="created">2004-02-26</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-canonical-form"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<implementationAttribute name="validating" value="false"/>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="elem" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="attr" type="Attr"/>
+<var name="attrValue" type="DOMString"/>
+<var name="attrSpecified" type="boolean"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetCanonicalForm" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSetCanonicalForm" obj="domConfig" name='"canonical-form"' value="true"/>
+<if><isTrue value="canSetCanonicalForm"/>
+<setParameter obj="domConfig" name='"canonical-form"' value="true"/>
+<getResourceURI var="resourceURI" href='"canonicalform03"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc"
+ tagname='"acronym"' interface="Document"/>
+<item var="elem" obj="elemList" index="0" interface="NodeList"/>
+<getAttributeNode var="attr" obj="elem" name='"title"'/>
+<assertNotNull actual="attr" id="titlePresent"/>
+<specified var="attrSpecified" obj="attr"/>
+<assertTrue actual="attrSpecified" id="titleSpecified"/>
+<nodeValue var="attrValue" obj="attr"/>
+<assertEquals actual="attrValue" expected='"default"' ignoreCase="false"
+ id="titleValue"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/canonicalform12.xml b/test/testcases/tests/level3/ls/canonicalform12.xml
new file mode 100644
index 0000000..5a4e6aa
--- /dev/null
+++ b/test/testcases/tests/level3/ls/canonicalform12.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="canonicalform12">
+<metadata>
+<title>canonicalform12</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with canonical-form = true and see that the DocumentType node is eliminated.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-canonical-form"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="doctype" type="DocumentType"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"canonical-form"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"canonical-form"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<doctype var="doctype" obj="doc"/>
+<assertNull actual="doctype" id="doctypeIsNull"/>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/canonicalform13.xml b/test/testcases/tests/level3/ls/canonicalform13.xml
new file mode 100644
index 0000000..6399714
--- /dev/null
+++ b/test/testcases/tests/level3/ls/canonicalform13.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="canonicalform13">
+<metadata>
+<title>canonicalform13</title>
+<creator>Curt Arnold</creator>
+<description>
+Serializing an XML 1.1 document when canonical-form raises a SERIALIZE_ERR.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-canonical-form"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="output" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<canSetParameter var="canSet" obj="domConfig" name='"canonical-form"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='""' value="true"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"test"' doctype="docType"/>
+<try>
+ <xmlVersion obj="doc" value='"1.1"' interface="Document"/>
+ <catch>
+ <DOMException code="NOT_SUPPORTED_ERR">
+ <return/>
+ </DOMException>
+ </catch>
+</try>
+<assertLSException id="throw_SERIALIZE_ERR">
+ <SERIALIZE_ERR>
+ <writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+ </SERIALIZE_ERR>
+</assertLSException>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/cdatasections01.xml b/test/testcases/tests/level3/ls/cdatasections01.xml
new file mode 100644
index 0000000..133c753
--- /dev/null
+++ b/test/testcases/tests/level3/ls/cdatasections01.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="cdatasections01">
+<metadata>
+<title>cdatasections01</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with cdata-sections = false and see that CDATASection are not present in
+the parsed document.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-cdata-sections"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="pList" type="NodeList"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"cdata-sections"' value="false"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="pList" obj="doc" tagname='"strong"' interface="Document"/>
+<item var="elem" obj="pList" index="1" interface="NodeList"/>
+<lastChild var="node" obj="elem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="3" ignoreCase="false" id="childIsText"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/cdatasections02.xml b/test/testcases/tests/level3/ls/cdatasections02.xml
new file mode 100644
index 0000000..aa60454
--- /dev/null
+++ b/test/testcases/tests/level3/ls/cdatasections02.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="cdatasections02">
+<metadata>
+<title>cdatasections02</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with cdata-sections = true and see that CDATASection are present in
+the parsed document.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-cdata-sections"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="pList" type="NodeList"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"cdata-sections"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="pList" obj="doc" tagname='"strong"' interface="Document"/>
+<item var="elem" obj="pList" index="1" interface="NodeList"/>
+<lastChild var="node" obj="elem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="4" ignoreCase="false" id="childIsCDATA"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/cdatasections03.xml b/test/testcases/tests/level3/ls/cdatasections03.xml
new file mode 100644
index 0000000..0e03e82
--- /dev/null
+++ b/test/testcases/tests/level3/ls/cdatasections03.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="cdatasections03">
+<metadata>
+<title>cdatasections03</title>
+<creator>Curt Arnold</creator>
+<description>
+CDATASections should be preserved when cdata-sections is true.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-cdata-sections"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="newNode" type="Node"/>
+<var name="output" type="DOMString"/>
+<var name="retNode" type="Node"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"test"' doctype="docType"/>
+<documentElement var="docElem" obj="doc"/>
+<createCDATASection var="newNode" obj="doc" data='"foo"'/>
+<appendChild var="retNode" obj="docElem" newChild="newNode"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"cdata-sections"' value="true"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<assertTrue id="containsCDATA"><contains obj="output" str='"![CDATA[foo]]"' interface="DOMString"/></assertTrue>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/cdatasections04.xml b/test/testcases/tests/level3/ls/cdatasections04.xml
new file mode 100644
index 0000000..78b9110
--- /dev/null
+++ b/test/testcases/tests/level3/ls/cdatasections04.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="cdatasections04">
+<metadata>
+<title>cdatasections04</title>
+<creator>Curt Arnold</creator>
+<description>
+CDATASections should be eliminated when cdata-sections is false.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-cdata-sections"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="newNode" type="Node"/>
+<var name="output" type="DOMString"/>
+<var name="retNode" type="Node"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"test"' doctype="docType"/>
+<documentElement var="docElem" obj="doc"/>
+<createCDATASection var="newNode" obj="doc" data='"foo"'/>
+<appendChild var="retNode" obj="docElem" newChild="newNode"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"cdata-sections"' value="false"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<assertTrue id="containsCDATA"><contains obj="output" str='"&gt;foo&lt;/"' interface="DOMString"/></assertTrue>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/checkcharacternormalization01.xml b/test/testcases/tests/level3/ls/checkcharacternormalization01.xml
new file mode 100644
index 0000000..4b55e4e
--- /dev/null
+++ b/test/testcases/tests/level3/ls/checkcharacternormalization01.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="checkcharacternormalization01">
+<metadata>
+<title>checkcharacternormalization01</title>
+<creator>Curt Arnold</creator>
+<description>
+Parsing a non-Unicode normalized document should not raise an exception if check-character-normalization
+is false.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-check-character-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="nullSchemaLanguage" type="DOMString" isNull="true"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaLanguage"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"check-character-normalization"' value="false"/>
+<getResourceURI var="resourceURI" href='"characternormalization1"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<assertNotNull actual="doc" id="docNotNull"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/checkcharacternormalization02.xml b/test/testcases/tests/level3/ls/checkcharacternormalization02.xml
new file mode 100644
index 0000000..06217fa
--- /dev/null
+++ b/test/testcases/tests/level3/ls/checkcharacternormalization02.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="checkcharacternormalization02">
+<metadata>
+<title>checkcharacternormalization02</title>
+<creator>Curt Arnold</creator>
+<description>
+Parsing a non-Unicode normalized document should raise PARSE_ERR if check-character-normalization
+is false.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-check-character-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<var name="nullSchemaLanguage" type="DOMString" isNull="true"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="severity" type="int"/>
+<var name="type" type="DOMString"/>
+<var name="errorCount" type="int" value="0"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaLanguage"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"check-character-normalization"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"check-character-normalization"' value="true"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<getResourceURI var="resourceURI" href='"characternormalization1"' contentType="text/xml"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <type var="type" obj="error" interface="DOMError"/>
+ <if><greater actual="severity" expected="1"/>
+ <assertEquals actual="severity" expected="2" id="isError" ignoreCase="false"/>
+ <assertEquals actual="type" expected='"check-character-normalization-failure"' id="isCheck_Failure" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertEquals actual="errorCount" expected="1" ignoreCase="false" id="oneError"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/checkcharacternormalization03.xml b/test/testcases/tests/level3/ls/checkcharacternormalization03.xml
new file mode 100644
index 0000000..ae2012d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/checkcharacternormalization03.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="checkcharacternormalization03">
+<metadata>
+<title>checkcharacternormalization03</title>
+<creator>Curt Arnold</creator>
+<description>
+Characters should not be checked for normalization on serialization if check-character-normalization = false.
+</description>
+<date qualifier="created">2004-04-01</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-check-character-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="newNode" type="Node"/>
+<var name="output" type="DOMString"/>
+<var name="retNode" type="Node"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"suc&#x327;on"' doctype="docType"/>
+<documentElement var="docElem" obj="doc"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"check-character-normalization"' value="false"/>
+<setParameter obj="domConfig" name='"normalize-characters"' value="false"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/checkcharacternormalization04.xml b/test/testcases/tests/level3/ls/checkcharacternormalization04.xml
new file mode 100644
index 0000000..b79fb89
--- /dev/null
+++ b/test/testcases/tests/level3/ls/checkcharacternormalization04.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="checkcharacternormalization04">
+<metadata>
+<title>checkcharacternormalization04</title>
+<creator>Curt Arnold</creator>
+<description>
+Characters should be checked for normalization on serialization if check-character-normalization = true.
+</description>
+<date qualifier="created">2004-04-01</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-check-character-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="newNode" type="Node"/>
+<var name="output" type="DOMString"/>
+<var name="retNode" type="Node"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="severity" type="int"/>
+<var name="type" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<var name="errorCount" type="int" value="0"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"suc&#x327;on"' doctype="docType"/>
+<documentElement var="docElem" obj="doc"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<canSetParameter var="canSet" obj="domConfig" name='"check-character-normalization"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"check-character-normalization"' value="true"/>
+<setParameter obj="domConfig" name='"normalize-characters"' value="false"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<assertLSException id="throw_SERIALIZE_ERR">
+ <SERIALIZE_ERR>
+ <writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+ </SERIALIZE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <type var="type" obj="error" interface="DOMError"/>
+ <if><equals actual="type" expected='"check-character-normalization-failure"' ignoreCase="false"/>
+ <assertEquals actual="severity" expected="2" ignoreCase="false" id="severityError"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertTrue id="hasErrors"><greater actual="errorCount" expected="0"/></assertTrue>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/comments01.xml b/test/testcases/tests/level3/ls/comments01.xml
new file mode 100644
index 0000000..9fec420
--- /dev/null
+++ b/test/testcases/tests/level3/ls/comments01.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="comments01">
+<metadata>
+<title>comments01</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with comments = false and see that comments are not present in
+the parsed document.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-comments"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"comments"' value="false"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<documentElement var="docElem" obj="doc"/>
+<previousSibling var="node" obj="docElem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="10" ignoreCase="false" id="nodeIsDocType"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/comments02.xml b/test/testcases/tests/level3/ls/comments02.xml
new file mode 100644
index 0000000..1fc4a49
--- /dev/null
+++ b/test/testcases/tests/level3/ls/comments02.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="comments02">
+<metadata>
+<title>comments02</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with comments = true and see that comments are present in
+the parsed document.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-comments"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"comments"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<documentElement var="docElem" obj="doc"/>
+<previousSibling var="node" obj="docElem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="8" ignoreCase="false" id="nodeIsDocType"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/comments03.xml b/test/testcases/tests/level3/ls/comments03.xml
new file mode 100644
index 0000000..771d7fb
--- /dev/null
+++ b/test/testcases/tests/level3/ls/comments03.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="comments03">
+<metadata>
+<title>comments03</title>
+<creator>Curt Arnold</creator>
+<description>
+Comments should be preserved when comments is true.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-comments"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="newNode" type="Node"/>
+<var name="output" type="DOMString"/>
+<var name="retNode" type="Node"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"test"' doctype="docType"/>
+<documentElement var="docElem" obj="doc"/>
+<createComment var="newNode" obj="doc" data='"foo"'/>
+<appendChild var="retNode" obj="docElem" newChild="newNode"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"comments"' value="true"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<assertTrue id="hasComment"><contains obj="output" str='"&gt;&lt;!--foo--&gt;&lt;/"' interface="DOMString"/></assertTrue>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/comments04.xml b/test/testcases/tests/level3/ls/comments04.xml
new file mode 100644
index 0000000..e7d4686
--- /dev/null
+++ b/test/testcases/tests/level3/ls/comments04.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="comments04">
+<metadata>
+<title>comments04</title>
+<creator>Curt Arnold</creator>
+<description>
+Comments should be discarded when comments is false.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-comments"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="newNode" type="Node"/>
+<var name="output" type="DOMString"/>
+<var name="retNode" type="Node"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"test"' doctype="docType"/>
+<documentElement var="docElem" obj="doc"/>
+<createComment var="newNode" obj="doc" data='"foo"'/>
+<appendChild var="retNode" obj="docElem" newChild="newNode"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"comments"' value="false"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<assertFalse id="noComment"><contains obj="output" str='"&lt;!--"' interface="DOMString"/></assertFalse>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization01.xml b/test/testcases/tests/level3/ls/datatypenormalization01.xml
new file mode 100644
index 0000000..b2e70e8
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization01.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization01">
+<metadata>
+<title>datatypenormalization01</title>
+<creator>Curt Arnold</creator>
+<description>
+Normalize document with datatype-normalization set to true.
+Check if double values were normalized.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"'
+ localName='"double"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"+0003.141592600E+0000"' ignoreCase="false" id="firstValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"+0003.141592600E+0000"' ignoreCase="false" id="firstUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"-31415926.00E-7 2.718"' ignoreCase="false" id="firstList"/>
+ <item var="element" obj="elemList" interface="NodeList" index="1"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"NaN"' ignoreCase="false" id="secondValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"NaN"' ignoreCase="false" id="secondUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"INF -INF"' ignoreCase="false" id="secondList"/>
+ <item var="element" obj="elemList" interface="NodeList" index="2"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"1"' ignoreCase="false" id="thirdValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"1"' ignoreCase="false" id="thirdUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"-0"' ignoreCase="false" id="thirdList"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization02.xml b/test/testcases/tests/level3/ls/datatypenormalization02.xml
new file mode 100644
index 0000000..6b386f6
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization02.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization02">
+<metadata>
+<title>datatypenormalization02</title>
+<creator>Curt Arnold</creator>
+<description>
+Normalize document with datatype-normalization set to true.
+Check if decimal values were normalized.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value='xsdNS'/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"'
+ localName='"decimal"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"+0003.141592600"' ignoreCase="false" id="firstValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"+0003.141592600"' ignoreCase="false" id="firstUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"+10 .1"' ignoreCase="false" id="firstList"/>
+ <item var="element" obj="elemList" interface="NodeList" index="1"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"01"' ignoreCase="false" id="secondValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"01"' ignoreCase="false" id="secondUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"-.001"' ignoreCase="false" id="secondList"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization03.xml b/test/testcases/tests/level3/ls/datatypenormalization03.xml
new file mode 100644
index 0000000..6389807
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization03.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization03">
+<metadata>
+<title>datatypenormalization03</title>
+<creator>Curt Arnold</creator>
+<description>
+Normalize document with datatype-normalization set to true.
+Check if boolean values were whitespace normalized.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value='xsdNS'/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"'
+ localName='"boolean"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"true"' ignoreCase="false" id="firstValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"false"' ignoreCase="false" id="firstUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"false true false"' ignoreCase="false" id="firstList"/>
+ <item var="element" obj="elemList" interface="NodeList" index="1"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"1"' ignoreCase="false" id="secondValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"0"' ignoreCase="false" id="secondUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"0 1 0"' ignoreCase="false" id="secondList"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization04.xml b/test/testcases/tests/level3/ls/datatypenormalization04.xml
new file mode 100644
index 0000000..951acc9
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization04.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization04">
+<metadata>
+<title>datatypenormalization04</title>
+<creator>Curt Arnold</creator>
+<description>
+Normalize document with datatype-normalization set to true.
+Check if float values were normalized.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value='xsdNS'/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"'
+ localName='"float"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"+0003.141592600E+0000"' ignoreCase="false" id="firstValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"+0003.141592600E+0000"' ignoreCase="false" id="firstUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"-31415926.00E-7 2.718"' ignoreCase="false" id="firstList"/>
+ <item var="element" obj="elemList" interface="NodeList" index="1"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"NaN"' ignoreCase="false" id="secondValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"NaN"' ignoreCase="false" id="secondUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"INF -INF"' ignoreCase="false" id="secondList"/>
+ <item var="element" obj="elemList" interface="NodeList" index="2"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"1"' ignoreCase="false" id="thirdValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"1"' ignoreCase="false" id="thirdUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"-0"' ignoreCase="false" id="thirdList"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization05.xml b/test/testcases/tests/level3/ls/datatypenormalization05.xml
new file mode 100644
index 0000000..3c62344
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization05.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization05">
+<metadata>
+<title>datatypenormalization05</title>
+<creator>Curt Arnold</creator>
+<description>
+Normalize document with datatype-normalization set to true.
+Check if dateTime values were correctly normalized.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value='xsdNS'/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"'
+ localName='"dateTime"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"2004-01-21T15:30:00-05:00"' ignoreCase="false" id="firstValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"2004-01-21T20:30:00-05:00"' ignoreCase="false" id="firstUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"2004-01-21T15:30:00 2004-01-21T15:30:00Z"' ignoreCase="false" id="firstList"/>
+ <item var="element" obj="elemList" interface="NodeList" index="1"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"2004-01-21T15:30:00.0000-05:00"' ignoreCase="false" id="secondValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"2004-01-21T15:30:00.0000-05:00"' ignoreCase="false" id="secondUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"2004-01-21T15:30:00.0000"' ignoreCase="false" id="secondList"/>
+ <item var="element" obj="elemList" interface="NodeList" index="2"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"2004-01-21T15:30:00.0001-05:00"' ignoreCase="false" id="thirdValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"2004-01-21T15:30:00.0001-05:00"' ignoreCase="false" id="thirdUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"2004-01-21T15:30:00.0001"' ignoreCase="false" id="thirdList"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization06.xml b/test/testcases/tests/level3/ls/datatypenormalization06.xml
new file mode 100644
index 0000000..ef03628
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization06.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization06">
+<metadata>
+<title>datatypenormalization06</title>
+<creator>Curt Arnold</creator>
+<description>
+Normalize document with datatype-normalization set to true.
+Check if time values were normalized.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value='xsdNS'/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"'
+ localName='"time"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"15:30:00-05:00"' ignoreCase="false" id="firstValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"15:30:00-05:00"' ignoreCase="false" id="firstUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"15:30:00"' ignoreCase="false" id="firstList"/>
+ <item var="element" obj="elemList" interface="NodeList" index="1"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"15:30:00.0000-05:00"' ignoreCase="false" id="secondValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"15:30:00.0000-05:00"' ignoreCase="false" id="secondUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"15:30:00.0000"' ignoreCase="false" id="secondList"/>
+ <item var="element" obj="elemList" interface="NodeList" index="2"/>
+ <getAttribute var="str" obj="element" name='"value"'/>
+ <assertEquals actual="str" expected='"15:30:00.0001-05:00"' ignoreCase="false" id="thirdValue"/>
+ <getAttribute var="str" obj="element" name='"union"'/>
+ <assertEquals actual="str" expected='"15:30:00.0001-05:00"' ignoreCase="false" id="thirdUnion"/>
+ <textContent var="str" obj="element"/>
+ <assertEquals actual="str" expected='"15:30:00.0001"' ignoreCase="false" id="thirdList"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization07.xml b/test/testcases/tests/level3/ls/datatypenormalization07.xml
new file mode 100644
index 0000000..a2faadd
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization07.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization07">
+<metadata>
+<title>datatypenormalization07</title>
+<creator>Curt Arnold</creator>
+<description>
+The default value for the double element must be provided in canonical lexical form.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"'
+ localName='"double"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <getAttribute var="str" obj="element" name='"default"'/>
+ <assertEquals actual="str" expected='"3.1415926E0"' ignoreCase="false" id="firstValue"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization08.xml b/test/testcases/tests/level3/ls/datatypenormalization08.xml
new file mode 100644
index 0000000..e16df49
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization08.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization08">
+<metadata>
+<title>datatypenormalization08</title>
+<creator>Curt Arnold</creator>
+<description>
+The default value for the decimal element must be provided in canonical lexical form.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<implementationAttribute name="namespaceAware" value="true"/>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"'
+ localName='"decimal"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <getAttribute var="str" obj="element" name='"default"'/>
+ <assertEquals actual="str" expected='"3.1415926"' ignoreCase="false" id="firstValue"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization09.xml b/test/testcases/tests/level3/ls/datatypenormalization09.xml
new file mode 100644
index 0000000..8320ed2
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization09.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization09">
+<metadata>
+<title>datatypenormalization09</title>
+<creator>Curt Arnold</creator>
+<description>
+The default value for the boolean element must be provided in canonical lexical form.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"'
+ localName='"boolean"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <getAttribute var="str" obj="element" name='"default"'/>
+ <assertEquals actual="str" expected='"true"' ignoreCase="false" id="firstValue"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization10.xml b/test/testcases/tests/level3/ls/datatypenormalization10.xml
new file mode 100644
index 0000000..f146b95
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization10.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization10">
+<metadata>
+<title>datatypenormalization10</title>
+<creator>Curt Arnold</creator>
+<description>
+The default value for the float element must be provided in canonical lexical form.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"'
+ localName='"float"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <getAttribute var="str" obj="element" name='"default"'/>
+ <assertEquals actual="str" expected='"3.1415926E0"' ignoreCase="false" id="firstValue"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization11.xml b/test/testcases/tests/level3/ls/datatypenormalization11.xml
new file mode 100644
index 0000000..dee2231
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization11.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization11">
+<metadata>
+<title>datatypenormalization11</title>
+<creator>Curt Arnold</creator>
+<description>
+The default value for the dateTime element must be provided in canonical lexical form.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"'
+ localName='"dateTime"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <getAttribute var="str" obj="element" name='"default"'/>
+ <!-- .0 would not be correct, see http://www.w3.org/2001/05/xmlschema-errata#E2-63 -->
+ <assertEquals actual="str" expected='"2004-01-21T20:30:00Z"' ignoreCase="false" id="firstValue"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization12.xml b/test/testcases/tests/level3/ls/datatypenormalization12.xml
new file mode 100644
index 0000000..9cc9132
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization12.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization12">
+<metadata>
+<title>datatypenormalization12</title>
+<creator>Curt Arnold</creator>
+<description>
+Default values must be provided in canonical lexical form.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"'
+ localName='"time"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <getAttribute var="str" obj="element" name='"default"'/>
+ <!-- .0 would not be correct, see http://www.w3.org/2001/05/xmlschema-errata#E2-63 -->
+ <assertEquals actual="str" expected='"20:30:00Z"' ignoreCase="false" id="firstValue"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization13.xml b/test/testcases/tests/level3/ls/datatypenormalization13.xml
new file mode 100644
index 0000000..efee98f
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization13.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization13">
+<metadata>
+<title>datatypenormalization13</title>
+<creator>Curt Arnold</creator>
+<description>
+Parse document with datatype-normalization set to true.
+Check if string values were normalized per default whitespace
+facet of xsd:string.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<var name="childNode" type="Node"/>
+<var name="childValue" type="DOMString"/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization2"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization2"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/1999/xhtml"'
+ localName='"em"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <firstChild var="childNode" obj="element" interface="Node"/>
+ <assertNotNull actual="childNode" id="childNodeNotNull"/>
+ <nodeValue var="childValue" obj="childNode"/>
+ <assertEquals actual="childValue" expected='" EMP 0001 "' ignoreCase="false" id="content"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization14.xml b/test/testcases/tests/level3/ls/datatypenormalization14.xml
new file mode 100644
index 0000000..eca745a
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization14.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization14">
+<metadata>
+<title>datatypenormalization14</title>
+<creator>Curt Arnold</creator>
+<description>
+Parse document with datatype-normalization set to true.
+Check if string values were normalized per explicit whitespace=preserve.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<var name="childNode" type="Node"/>
+<var name="childValue" type="DOMString"/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization2"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization2"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/1999/xhtml"'
+ localName='"acronym"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <firstChild var="childNode" obj="element" interface="Node"/>
+ <assertNotNull actual="childNode" id="childNodeNotNull"/>
+ <nodeValue var="childValue" obj="childNode"/>
+ <assertEquals actual="childValue" expected='" EMP 0001 "' ignoreCase="false" id="content"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization15.xml b/test/testcases/tests/level3/ls/datatypenormalization15.xml
new file mode 100644
index 0000000..f7bc3cf
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization15.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization15">
+<metadata>
+<title>datatypenormalization15</title>
+<creator>Curt Arnold</creator>
+<description>
+Parse document with datatype-normalization set to true.
+Check if string values were normalized per an explicit whitespace=collapse.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<var name="childNode" type="Node"/>
+<var name="childValue" type="DOMString"/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization2"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization2"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/1999/xhtml"'
+ localName='"code"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <firstChild var="childNode" obj="element" interface="Node"/>
+ <nodeValue var="childValue" obj="childNode"/>
+ <assertEquals actual="childValue" expected='"EMP 0001"' ignoreCase="false" id="content1"/>
+ <item var="element" obj="elemList" interface="NodeList" index="1"/>
+ <firstChild var="childNode" obj="element" interface="Node"/>
+ <nodeValue var="childValue" obj="childNode"/>
+ <assertEquals actual="childValue" expected='"EMP 0001"' ignoreCase="false" id="content2"/>
+ <item var="element" obj="elemList" interface="NodeList" index="2"/>
+ <firstChild var="childNode" obj="element" interface="Node"/>
+ <nodeValue var="childValue" obj="childNode"/>
+ <assertEquals actual="childValue" expected='"EMP 0001"' ignoreCase="false" id="content3"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization16.xml b/test/testcases/tests/level3/ls/datatypenormalization16.xml
new file mode 100644
index 0000000..02af8ce
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization16.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization16">
+<metadata>
+<title>datatypenormalization16</title>
+<creator>Curt Arnold</creator>
+<description>
+Parse document with datatype-normalization set to true.
+Check if string values were normalized per explicit whitespace=replace.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetNormalization" type="boolean"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<var name="childNode" type="Node"/>
+<var name="childValue" type="DOMString"/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/><return/></if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetNormalization" obj="domConfig" name='"datatype-normalization2"' value="true"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if>
+ <and>
+ <isTrue value="canSetNormalization"/>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetXMLSchema"/>
+ </and>
+ <setParameter obj="domConfig" name='"datatype-normalization"' value="true"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"datatype_normalization2"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/1999/xhtml"'
+ localName='"sup"'
+ interface="Document"/>
+ <item var="element" obj="elemList" interface="NodeList" index="0"/>
+ <firstChild var="childNode" obj="element" interface="Node"/>
+ <nodeValue var="childValue" obj="childNode"/>
+ <assertEquals actual="childValue" expected='" EMP 0001 "' ignoreCase="false" id="content1"/>
+ <item var="element" obj="elemList" interface="NodeList" index="1"/>
+ <firstChild var="childNode" obj="element" interface="Node"/>
+ <nodeValue var="childValue" obj="childNode"/>
+ <assertEquals actual="childValue" expected='"EMP 0001"' ignoreCase="false" id="content2"/>
+ <item var="element" obj="elemList" interface="NodeList" index="2"/>
+ <firstChild var="childNode" obj="element" interface="Node"/>
+ <nodeValue var="childValue" obj="childNode"/>
+ <assertEquals actual="childValue" expected='"EMP 0001"' ignoreCase="false" id="content3"/>
+ <item var="element" obj="elemList" interface="NodeList" index="3"/>
+ <firstChild var="childNode" obj="element" interface="Node"/>
+ <nodeValue var="childValue" obj="childNode"/>
+ <assertEquals actual="childValue" expected='"EMP 0001"' ignoreCase="false" id="content4"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/datatypenormalization17.xml b/test/testcases/tests/level3/ls/datatypenormalization17.xml
new file mode 100644
index 0000000..32918fc
--- /dev/null
+++ b/test/testcases/tests/level3/ls/datatypenormalization17.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="datatypenormalization17">
+<metadata>
+<title>datatypenormalization17</title>
+<creator>Curt Arnold</creator>
+<description>
+Parse document with datatype-normalization set to false.
+Check if string values were not normalized per an explicit whitespace=collapse.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<var name="childNode" type="Node"/>
+<var name="childValue" type="DOMString"/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/>
+ <createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+</if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<if><isTrue value="canSetValidate"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+</if>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if><isTrue value="canSetXMLSchema"/>
+ <setParameter obj="domConfig" name='"schema-type"' value="xsdNS"/>
+</if>
+<setParameter obj="domConfig" name='"datatype-normalization"' value="false"/>
+<getResourceURI var="resourceURI" href='"datatype_normalization2"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/1999/xhtml"'
+ localName='"code"'
+ interface="Document"/>
+<item var="element" obj="elemList" interface="NodeList" index="1"/>
+<firstChild var="childNode" obj="element" interface="Node"/>
+<nodeValue var="childValue" obj="childNode"/>
+<assertEquals actual="childValue" expected='"EMP 0001"' ignoreCase="false" id="content2"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/disallowdoctype01.xml b/test/testcases/tests/level3/ls/disallowdoctype01.xml
new file mode 100644
index 0000000..68da959
--- /dev/null
+++ b/test/testcases/tests/level3/ls/disallowdoctype01.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="disallowdoctype01">
+<metadata>
+<title>disallowdoctype01</title>
+<creator>Curt Arnold</creator>
+<description>
+Parsing a document with a doctype should throw a PARSE_ERR if disallow-doctype is true.
+is false.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-disallow-doctype"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<var name="nullSchemaLanguage" type="DOMString" isNull="true"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="severity" type="int"/>
+<var name="type" type="DOMString"/>
+<var name="errorCount" type="int" value="0"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaLanguage"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"disallow-doctype"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"disallow-doctype"' value="true"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<getResourceURI var="resourceURI" href='"test3"' contentType="text/xml"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <type var="type" obj="error" interface="DOMError"/>
+ <if><greater actual="severity" expected="1"/>
+ <assertEquals actual="severity" expected="3" id="isFatalError" ignoreCase="false"/>
+ <assertEquals actual="type" expected='"doctype-not-allowed"' id="isDoctypeNotAllowed" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertEquals actual="errorCount" expected="1" ignoreCase="false" id="oneError"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/discarddefaultcontent01.xml b/test/testcases/tests/level3/ls/discarddefaultcontent01.xml
new file mode 100644
index 0000000..9f363e7
--- /dev/null
+++ b/test/testcases/tests/level3/ls/discarddefaultcontent01.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="discarddefaultcontent01">
+<metadata>
+<title>discarddefaultcontent01</title>
+<creator>Curt Arnold</creator>
+<description>
+Default attributes should be not be serialized if discard-default-content is true.
+</description>
+<date qualifier="created">2004-04-01</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-discard-default-content"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="newNode" type="Node"/>
+<var name="output" type="DOMString"/>
+<var name="retNode" type="Node"/>
+<var name="canSet" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"discard-default-content"' value="true"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<!-- explicit dir='rtl' should not appear in serialized document -->
+<assertFalse id="noDirAttr"><contains obj="output" str='"dir="' interface="DOMString"/></assertFalse>
+</test>
diff --git a/test/testcases/tests/level3/ls/discarddefaultcontent02.xml b/test/testcases/tests/level3/ls/discarddefaultcontent02.xml
new file mode 100644
index 0000000..f3d1bba
--- /dev/null
+++ b/test/testcases/tests/level3/ls/discarddefaultcontent02.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="discarddefaultcontent02">
+<metadata>
+<title>discarddefaultcontent02</title>
+<creator>Curt Arnold</creator>
+<description>
+Default attributes should be explicitly serialized if discard-default-content is false.
+</description>
+<date qualifier="created">2004-04-01</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-discard-default-content"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="newNode" type="Node"/>
+<var name="output" type="DOMString"/>
+<var name="retNode" type="Node"/>
+<var name="canSet" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"discard-default-content"' value="false"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<!-- explicit dir='rtl' should appear in serialized document -->
+<assertTrue id="hasDirAttr"><contains obj="output" str='"dir="' interface="DOMString"/></assertTrue>
+</test>
diff --git a/test/testcases/tests/level3/ls/dom3tests.ent b/test/testcases/tests/level3/ls/dom3tests.ent
new file mode 100644
index 0000000..cfa23ad
--- /dev/null
+++ b/test/testcases/tests/level3/ls/dom3tests.ent
@@ -0,0 +1,78 @@
+<!ENTITY level3 "http://www.w3.org/2001/DOM-Test-Suite/Level-3">
+<!ENTITY spec "http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save">
+<!ENTITY date "<date qualifier='created'>2002-03-23</date>">
+<!ENTITY contributor "<contributor>X-Hive Corporation</contributor>">
+<!ENTITY creator "<creator>Jeroen van Rotterdam</creator>">
+
+<!ENTITY vars "
+ <var name='implementation' type='DOMImplementation'/>
+ <var name='lsImplementation' type='DOMImplementationLS'/>
+ <var name='inputSource' type='LSInput'/>
+ <var name='document' type='Document'/>
+ <var name='writer' type='LSSerializer'/>
+ <var name='parser' type='LSParser'/>
+
+ <!-- constants -->
+ <var name='MODE_SYNCHRONOUS' type='short' value='1'/>
+ <var name='MODE_ASYNCHRONOUS' type='short' value='2'/>
+ <var name='DTD_SCHEMATYPE' type='DOMString' value='&quot;http://www.w3.org/TR/REC-xml&quot;'/>
+ <var name='SCHEMA_SCHEMATYPE' type='DOMString' value='&quot;http://www.w3.org/2001/XMLSchema&quot;'/>
+ <var name='NULL_SCHEMATYPE' type='DOMString' isNull='true'/>
+
+ <!-- action types DOMParser.parseWithContext -->
+ <var name='ACTION_REPLACE_CHILDREN' type='short' value='2'/>
+ <var name='ACTION_APPEND_AS_CHILDREN' type='short' value='1'/>
+ <var name='ACTION_INSERT_AFTER' type='short' value='4'/>
+ <var name='ACTION_INSERT_BEFORE' type='short' value='3'/>
+ <var name='ACTION_REPLACE' type='short' value='5'/>
+
+
+ <!-- testfiles -->
+ <var name='TEST0' type='DOMString' value='&quot;test0&quot;'/>
+ <var name='TEST1' type='DOMString' value='&quot;test1&quot;'/>
+ <var name='TEST2' type='DOMString' value='&quot;test2&quot;'/>
+ <var name='TEST3' type='DOMString' value='&quot;test3&quot;'/>
+ <var name='TEST4' type='DOMString' value='&quot;test4&quot;'/>
+ <var name='TEST5' type='DOMString' value='&quot;test5&quot;'/>
+ <var name='TEST6' type='DOMString' value='&quot;test6&quot;'/>
+ <var name='TEST7' type='DOMString' value='&quot;test7&quot;'/>
+ <var name='TESTPDF' type='DOMString' value='&quot;testpdf&quot;'/>
+
+ <implementation var='implementation'/>
+ <assign var='lsImplementation' value='implementation'/>
+ ">
+
+<!ENTITY filterVars "">
+
+<!ENTITY errorHandlerVars "
+ <var name='error' type='DOMError'/>
+ <var name='severity' type='short'/>
+ <var name='message' type='DOMString'/>
+ <var name='type' type='DOMString'/>
+ <var name='location' type='DOMLocator'/>
+ ">
+
+<!ENTITY assignErrorHandlerVars "
+ <severity var='severity' obj='error' interface='DOMError'/>
+ <message var='message' obj='error' interface='DOMError'/>
+ <type var='type' obj='error' interface='DOMError'/>
+ <location var='location' obj='error' interface='DOMError'/>
+ ">
+
+
+<!ENTITY init "<createLSParser var='parser' obj='lsImplementation' mode='MODE_SYNCHRONOUS' schemaType='NULL_SCHEMATYPE'/>
+ <createLSSerializer var='writer' obj='lsImplementation'/>
+ <createLSInput var='inputSource' obj='lsImplementation'/>">
+
+<!ENTITY parser.setFilter_myfilter "<filter obj='parser' value='myfilter' interface='LSParser'/>">
+
+<!ENTITY SHOW_ELEMENT "1">
+<!ENTITY SHOW_TEXT '4'>
+<!ENTITY SHOW_ALL '65535'>
+<!ENTITY SHOW_ATTRIBUTE '2'>
+<!ENTITY SHOW_COMMENT '128'>
+<!ENTITY FILTER_ACCEPT '1'>
+<!ENTITY FILTER_REJECT '2'>
+<!ENTITY FILTER_SKIP '3'>
+
+
diff --git a/test/testcases/tests/level3/ls/elementcontentwhitespace01.xml b/test/testcases/tests/level3/ls/elementcontentwhitespace01.xml
new file mode 100644
index 0000000..75d286d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/elementcontentwhitespace01.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="elementcontentwhitespace01">
+<metadata>
+<title>elementcontentwhitespace01</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with element-content-whitespace = false and validation = true and check that
+element content whitespace is eliminated.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-element-content-whitespace"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetWhitespace" type="boolean"/>
+<var name="elemList" type="NodeList"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetWhitespace" obj="domConfig" name='"element-content-whitespace"' value="false"/>
+<if><and><isTrue value="canSetValidate"/><isTrue value="canSetWhitespace"/></and>
+<setParameter obj="domConfig" name='"validate"' value="true"/>
+<setParameter obj="domConfig" name='"element-content-whitespace"' value="false"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"p"' interface="Document"/>
+<item var="elem" obj="elemList" index="0" interface="NodeList"/>
+<firstChild var="node" obj="elem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="1" ignoreCase="false" id="nodeIsElem"/>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/elementcontentwhitespace02.xml b/test/testcases/tests/level3/ls/elementcontentwhitespace02.xml
new file mode 100644
index 0000000..48f1c0a
--- /dev/null
+++ b/test/testcases/tests/level3/ls/elementcontentwhitespace02.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="elementcontentwhitespace02">
+<metadata>
+<title>elementcontentwhitespace02</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with element-content-whitespace and validate = true and check that
+element content whitespace is not eliminated.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-element-content-whitespace"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<var name="elemList" type="NodeList"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"validate"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"validate"' value="true"/>
+</if>
+<setParameter obj="domConfig" name='"element-content-whitespace"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"p"' interface="Document"/>
+<item var="elem" obj="elemList" index="0" interface="NodeList"/>
+<firstChild var="node" obj="elem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="3" ignoreCase="false" id="nodeIsText"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/elementcontentwhitespace03.xml b/test/testcases/tests/level3/ls/elementcontentwhitespace03.xml
new file mode 100644
index 0000000..0d6fb58
--- /dev/null
+++ b/test/testcases/tests/level3/ls/elementcontentwhitespace03.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="elementcontentwhitespace03">
+<metadata>
+<title>elementcontentwhitespace03</title>
+<creator>Curt Arnold</creator>
+<description>
+Serialize a document when element-content-whitespace is false, element content whitespace should be eliminated.
+</description>
+<date qualifier="created">2004-04-01</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-element-content-whitespace"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="serializerDomConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="output" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetWhitespace" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<domConfig var="serializerDomConfig" obj="lsSerializer" interface="LSSerializer"/>
+<canSetParameter var="canSetWhitespace" obj="serializerDomConfig" name='"element-content-whitespace"' value="false"/>
+<if><and><isTrue value="canSetValidate"/><isTrue value="canSetWhitespace"/></and>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+ <domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+ <setParameter obj="domConfig" name='"validate"' value="false"/>
+ <getResourceURI var="resourceURI" href='"test3"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <setParameter obj="serializerDomConfig" name='"element-content-whitespace"' value="false"/>
+ <writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+ <assertTrue id="noWhitespace"><contains obj="output" str='"&lt;elt0&gt;&lt;elt1&gt;"' interface="DOMString"/></assertTrue>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/encoding01.xml b/test/testcases/tests/level3/ls/encoding01.xml
new file mode 100644
index 0000000..8456e38
--- /dev/null
+++ b/test/testcases/tests/level3/ls/encoding01.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="encoding01">
+<metadata>
+<title>encoding01</title>
+<creator>Curt Arnold</creator>
+<description>
+createLSOutput should create an LSOutput, encoding should be mutable.
+</description>
+<date qualifier="created">2004-04-01</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-DOMImplementationLS-createLSOutput"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSOutput-encoding"/>
+</metadata>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsOutput" type="LSOutput"/>
+<var name="encoding" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSOutput var="lsOutput" obj="domImplLS"/>
+<encoding var="encoding" obj="lsOutput" interface="LSOutput"/>
+<!-- no definitive statement of expected default value -->
+<encoding obj="lsOutput" value='"ISO-8859-1"' interface="LSOutput"/>
+<encoding var="encoding" obj="lsOutput" interface="LSOutput"/>
+<assertEquals actual="encoding" expected='"ISO-8859-1"' id="isLatin1" ignoreCase="true"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/entities01.xml b/test/testcases/tests/level3/ls/entities01.xml
new file mode 100644
index 0000000..fdad0b7
--- /dev/null
+++ b/test/testcases/tests/level3/ls/entities01.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="entities01">
+<metadata>
+<title>entites01</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with entities = false and see that entity references are not present in
+the element content.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-entities"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elemList" type="NodeList"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"entities"' value="false"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"acronym"' interface="Document"/>
+<item var="elem" obj="elemList" index="1" interface="NodeList"/>
+<firstChild var="node" obj="elem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="3" ignoreCase="false" id="acrContentIsText"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/entities02.xml b/test/testcases/tests/level3/ls/entities02.xml
new file mode 100644
index 0000000..d3d6590
--- /dev/null
+++ b/test/testcases/tests/level3/ls/entities02.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="entities02">
+<metadata>
+<title>entites02</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with entities = false and see that entity references are not present in
+attribute content.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-entities"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elemList" type="NodeList"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="entity" type="Entity"/>
+<var name="classAttr" type="Attr"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"entities"' value="false"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"acronym"' interface="Document"/>
+<item var="elem" obj="elemList" index="3" interface="NodeList"/>
+<attributes var="attributes" obj="elem"/>
+<getNamedItem var="classAttr" obj="attributes" name='"class"'/>
+<lastChild var="node" obj="classAttr" interface="Node"/>
+<assertNotNull actual="classAttr" id="classAttrChildNotNull"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="3" ignoreCase="false" id="classAttrChildIsText"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/entities03.xml b/test/testcases/tests/level3/ls/entities03.xml
new file mode 100644
index 0000000..388abfe
--- /dev/null
+++ b/test/testcases/tests/level3/ls/entities03.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="entities03">
+<metadata>
+<title>entites03</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with entities = false and see that entity definitions are preserved.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-entities"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="entity" type="Entity"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"entities"' value="false"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<doctype var="docType" obj="doc"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities var="entities" obj="docType"/>
+<getNamedItem var="entity" obj="entities" name='"alpha"'/>
+<assertNotNull actual="entity" id="entityNotNull"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/entities04.xml b/test/testcases/tests/level3/ls/entities04.xml
new file mode 100644
index 0000000..acb0424
--- /dev/null
+++ b/test/testcases/tests/level3/ls/entities04.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="entities04">
+<metadata>
+<title>entites04</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with entities = true and see that entity references are present in
+the element content.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-entities"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elemList" type="NodeList"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"entities"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"acronym"' interface="Document"/>
+<item var="elem" obj="elemList" index="1" interface="NodeList"/>
+<firstChild var="node" obj="elem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="5" ignoreCase="false" id="acrContentIsEntRef"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/entities05.xml b/test/testcases/tests/level3/ls/entities05.xml
new file mode 100644
index 0000000..07be045
--- /dev/null
+++ b/test/testcases/tests/level3/ls/entities05.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="entities05">
+<metadata>
+<title>entites05</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with entities = true and see that entity references are present in
+attribute content.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-entities"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elemList" type="NodeList"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="attributes" type="NamedNodeMap"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="entity" type="Entity"/>
+<var name="classAttr" type="Attr"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"entities"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"acronym"' interface="Document"/>
+<item var="elem" obj="elemList" index="3" interface="NodeList"/>
+<attributes var="attributes" obj="elem"/>
+<getNamedItem var="classAttr" obj="attributes" name='"class"'/>
+<lastChild var="node" obj="classAttr" interface="Node"/>
+<assertNotNull actual="classAttr" id="classAttrChildNotNull"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="5" ignoreCase="false" id="classAttrChildIsEntRef"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/entities06.xml b/test/testcases/tests/level3/ls/entities06.xml
new file mode 100644
index 0000000..f9649a6
--- /dev/null
+++ b/test/testcases/tests/level3/ls/entities06.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="entities06">
+<metadata>
+<title>entites06</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with entities = true and see that entity definitions are preserved.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-entities"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="docType" type="DocumentType"/>
+<var name="entities" type="NamedNodeMap"/>
+<var name="entity" type="Entity"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"entities"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<doctype var="docType" obj="doc"/>
+<assertNotNull actual="docType" id="docTypeNotNull"/>
+<entities var="entities" obj="docType"/>
+<getNamedItem var="entity" obj="entities" name='"alpha"'/>
+<assertNotNull actual="entity" id="entityNotNull"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/entities07.xml b/test/testcases/tests/level3/ls/entities07.xml
new file mode 100644
index 0000000..79d5c40
--- /dev/null
+++ b/test/testcases/tests/level3/ls/entities07.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="entities07">
+<metadata>
+<title>entities07</title>
+<creator>Curt Arnold</creator>
+<description>
+A warning should be dispatched if the base URI of a processing instruction can not be preserved.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-entities"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<var name="nullSchemaLanguage" type="DOMString" isNull="true"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="severity" type="int"/>
+<var name="type" type="DOMString"/>
+<var name="warningCount" type="int" value="0"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaLanguage"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"entities"' value="false"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<getResourceURI var="resourceURI" href='"pibase"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<assertNotNull actual="doc" id="docNotNull"/>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <type var="type" obj="error" interface="DOMError"/>
+ <if><equals actual="type" expected='"pi-base-uri-not-preserved"' ignoreCase="false"/>
+ <assertEquals actual="severity" expected="1" id="isError" ignoreCase="false"/>
+ <increment var="warningCount" value="1"/>
+ </if>
+</for-each>
+<assertEquals actual="warningCount" expected="1" ignoreCase="false" id="hadWarning"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/entities08.xml b/test/testcases/tests/level3/ls/entities08.xml
new file mode 100644
index 0000000..9b18c0a
--- /dev/null
+++ b/test/testcases/tests/level3/ls/entities08.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="entities08">
+<metadata>
+<title>entities08</title>
+<creator>Curt Arnold</creator>
+<description>
+Entity references should be preserved when entities is true.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-entities"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="output" type="DOMString"/>
+<var name="varList" type="NodeList"/>
+<var name="varNode" type="Node"/>
+<var name="child" type="Node"/>
+<var name="childType" type="int"/>
+<var name="entRef" type="EntityReference"/>
+<var name="retNode" type="Node"/>
+<implementation var="domImplLS"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<!-- entity references may be expanded on load
+ if so, create and insert an entity reference into the document -->
+<getElementsByTagName var="varList" obj="doc"
+ tagname='"var"' interface="Document"/>
+<item var="varNode" obj="varList" index="2" interface="NodeList"/>
+<firstChild var="child" obj="varNode" interface="Node"/>
+<nodeType var="childType" obj="child"/>
+<if><equals actual="childType" expected="1" ignoreCase="false"/>
+ <createEntityReference var="entRef" obj="doc"
+ name='"ent4"'/>
+ <appendChild var="retNode" obj="varNode" newChild="entRef"/>
+</if>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"entities"' value="true"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<assertTrue id="hasEntRef"><contains obj="output" str='"ent4;"' interface="DOMString"/></assertTrue>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/entities09.xml b/test/testcases/tests/level3/ls/entities09.xml
new file mode 100644
index 0000000..3f22880
--- /dev/null
+++ b/test/testcases/tests/level3/ls/entities09.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="entities09">
+<metadata>
+<title>entities09</title>
+<creator>Curt Arnold</creator>
+<description>
+Entity references should be expanded when entities is false.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-entities"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="output" type="DOMString"/>
+<implementation var="domImplLS"/>
+<load var="doc" href="hc_staff" willBeModified="true"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"entities"' value="false"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<assertFalse id="noEntRef"><contains obj="output" str='"ent4;"' interface="DOMString"/></assertFalse>
+<assertTrue id="entDef"><contains obj="output" str='"!ENTITY"' interface="DOMString"/></assertTrue>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/files/CVS/Entries b/test/testcases/tests/level3/ls/files/CVS/Entries
new file mode 100644
index 0000000..d374c52
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/CVS/Entries
@@ -0,0 +1,37 @@
+D/subdir////
+/canonicalform01.xml/1.1/Fri Apr 3 02:47:57 2009//
+/canonicalform02.xml/1.1/Fri Apr 3 02:47:57 2009//
+/canonicalform03.xml/1.1/Fri Apr 3 02:47:57 2009//
+/characternormalization1.xml/1.1/Fri Apr 3 02:47:57 2009//
+/datatype_normalization.svg.xsd/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/datatype_normalization.xml/1.1/Fri Apr 3 02:47:57 2009//
+/datatype_normalization.xsd/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/datatype_normalization2.xml/1.1/Fri Apr 3 02:47:57 2009//
+/datatype_normalization2.xsd/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/hc_staff.svg/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/hc_staff.svg.xsd/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/hc_staff.xhtml/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/hc_staff.xml/1.1/Fri Apr 3 02:47:57 2009//
+/hc_staff.xsd/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/namespaces1.xml/1.1/Fri Apr 3 02:47:57 2009//
+/pibase.xml/1.1/Fri Apr 3 02:47:57 2009//
+/schematype1.xml/1.1/Fri Apr 3 02:47:57 2009//
+/svgtest.js/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/svgunit.js/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/test0.svg/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/test0.xml/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/test1.xml/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/test2.xml/1.3/Fri Apr 3 02:47:57 2009/-kb/
+/test3.xml/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/test4.xml/1.3/Fri Apr 3 02:47:57 2009/-kb/
+/test5.xml/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/test7.xml/1.3/Fri Apr 3 02:47:57 2009/-kb/
+/testpdf.pdf/1.1/Fri Apr 3 02:47:57 2009/-kb/
+/testsvg.dtd/1.2/Fri Apr 3 02:47:57 2009/-kb/
+/unsupportedencoding1.xml/1.1/Fri Apr 3 02:47:57 2009//
+/validate1.xml/1.1/Fri Apr 3 02:47:57 2009//
+/validateschema1.xml/1.1/Fri Apr 3 02:47:57 2009//
+/wellformed1.xml/1.2/Fri Apr 3 02:47:57 2009//
+/wellformed2.xml/1.2/Fri Apr 3 02:47:57 2009//
+/wellformed3.xml/1.1/Fri Apr 3 02:47:57 2009//
+/xhtml1-strict.dtd/1.1/Fri Apr 3 02:47:57 2009/-kb/
diff --git a/test/testcases/tests/level3/ls/files/CVS/Repository b/test/testcases/tests/level3/ls/files/CVS/Repository
new file mode 100644
index 0000000..fe2d5cb
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/CVS/Repository
@@ -0,0 +1 @@
+2001/DOM-Test-Suite/tests/level3/ls/files
diff --git a/test/testcases/tests/level3/ls/files/CVS/Root b/test/testcases/tests/level3/ls/files/CVS/Root
new file mode 100644
index 0000000..3c7177e
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/test/testcases/tests/level3/ls/files/CVS/Template b/test/testcases/tests/level3/ls/files/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/CVS/Template
diff --git a/test/testcases/tests/level3/ls/files/canonicalform01.xml b/test/testcases/tests/level3/ls/files/canonicalform01.xml
new file mode 100644
index 0000000..ac9b7c8
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/canonicalform01.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<?xml-stylesheet href="doc.xsl"
+ type="text/xsl" ?>
+
+<!DOCTYPE html SYSTEM "xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>canonicalform01</title></head><body onload="parent.loadComplete()">
+<p>Hello, world!<!-- Comment 1 --></p></body></html>
+
+<?pi-without-data ?>
+
+<!-- Comment 2 -->
+
+<!-- Comment 3 -->
diff --git a/test/testcases/tests/level3/ls/files/canonicalform02.xml b/test/testcases/tests/level3/ls/files/canonicalform02.xml
new file mode 100644
index 0000000..f949cfc
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/canonicalform02.xml
@@ -0,0 +1,11 @@
+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>canonicalform02</title></head><body onload="parent.loadComplete()">
+ <acronym> </acronym>
+ <em> A B </em>
+ <p>
+ A
+ <acronym> </acronym>
+ B
+ <em> A B </em>
+ C
+ </p>
+</body></html>
diff --git a/test/testcases/tests/level3/ls/files/canonicalform03.xml b/test/testcases/tests/level3/ls/files/canonicalform03.xml
new file mode 100644
index 0000000..d1257bc
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/canonicalform03.xml
@@ -0,0 +1,18 @@
+<!DOCTYPE html [<!ATTLIST acronym title CDATA "default">]>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>canonicalform03</title></head><body onload="parent.loadComplete()">
+ <br />
+ <br ></br>
+ <div name = "elem3" id="elem3" />
+ <div name="elem4" id="elem4" ></div>
+ <div a:attr="out" b:attr="sorted" name="all" class="I'm"
+ xmlns:b="http://www.ietf.org"
+ xmlns:a="http://www.w3.org"
+ xmlns="http://example.org"/>
+ <div xmlns="" xmlns:a="http://www.w3.org">
+ <div xmlns="http://www.ietf.org">
+ <div xmlns="" xmlns:a="http://www.w3.org">
+ <acronym xmlns="" xmlns:a="http://www.ietf.org"/>
+ </div>
+ </div>
+ </div>
+</body></html>
diff --git a/test/testcases/tests/level3/ls/files/characternormalization1.xml b/test/testcases/tests/level3/ls/files/characternormalization1.xml
new file mode 100644
index 0000000..786cfa1
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/characternormalization1.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE suçon [
+<!ELEMENT suçon EMPTY>
+]>
+<suçon/> \ No newline at end of file
diff --git a/test/testcases/tests/level3/ls/files/datatype_normalization.svg.xsd b/test/testcases/tests/level3/ls/files/datatype_normalization.svg.xsd
new file mode 100644
index 0000000..e2cdde3
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/datatype_normalization.svg.xsd
@@ -0,0 +1,60 @@
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without 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 schema is attempts to use every construct that could
+be interrogated by DOM Level 3 and is no way intended to
+be a general purpose schema for SVG
+
+-->
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:data="http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization">
+
+ <xsd:import namespace="http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization" schemaLocation="datatype_normalization.xsd"/>
+
+ <xsd:element name="svg">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="rect"/>
+ <xsd:element ref="script"/>
+ <xsd:element ref="data:data"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="rect">
+ <xsd:complexType>
+ <xsd:attribute name="x" type="xsd:double" use="required"/>
+ <xsd:attribute name="y" type="xsd:double" use="required"/>
+ <xsd:attribute name="height" type="xsd:double" use="required"/>
+ <xsd:attribute name="width" type="xsd:double" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="script">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="type" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+</xsd:schema>
diff --git a/test/testcases/tests/level3/ls/files/datatype_normalization.xml b/test/testcases/tests/level3/ls/files/datatype_normalization.xml
new file mode 100644
index 0000000..cced1b9
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/datatype_normalization.xml
@@ -0,0 +1,90 @@
+<!DOCTYPE svg [
+<!ENTITY svgunit SYSTEM "svgunit.js">
+<!ENTITY svgtest SYSTEM "svgtest.js">
+<!ELEMENT svg (rect, script, data)>
+<!ATTLIST svg
+ xmlns CDATA #IMPLIED
+ xmlns:xsi CDATA #IMPLIED
+ xsi:schemaLocation 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>
+ <!ELEMENT data (double*, boolean*, decimal*, float*, dateTime*, time*)>
+ <!ATTLIST data xmlns CDATA #IMPLIED>
+ <!ELEMENT double (#PCDATA)>
+ <!ATTLIST double
+ value CDATA #IMPLIED
+ union CDATA #IMPLIED>
+ <!ELEMENT boolean (#PCDATA)>
+ <!ATTLIST boolean
+ value CDATA #IMPLIED
+ union CDATA #IMPLIED>
+ <!ELEMENT decimal (#PCDATA)>
+ <!ATTLIST decimal
+ value CDATA #IMPLIED
+ union CDATA #IMPLIED>
+ <!ELEMENT float (#PCDATA)>
+ <!ATTLIST float
+ value CDATA #IMPLIED
+ union CDATA #IMPLIED>
+ <!ELEMENT dateTime (#PCDATA)>
+ <!ATTLIST dateTime
+ value CDATA #IMPLIED
+ union CDATA #IMPLIED>
+ <!ELEMENT time (#PCDATA)>
+ <!ATTLIST time
+ value CDATA #IMPLIED
+ union CDATA #IMPLIED>
+
+]>
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.w3.org/2000/svg datatype_normalization.svg.xsd">
+<rect x="0" y="0" width="100" height="100"/><script type="text/ecmascript">&svgtest;&svgunit;</script>
+<data xmlns='http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization'>
+<double value="
+ +0003.141592600E+0000 " union=" +0003.141592600E+0000
+ "> -31415926.00E-7
+2.718</double>
+<double value=" NaN" union="NaN "> INF -INF </double>
+<double value="
+1 " union="1
+"> -0</double>
+<boolean value="
+ true" union="false
+ "> false true false </boolean>
+<boolean value="
+ 1" union=" 0
+ ">0 1 0 </boolean>
+<decimal value=" +0003.141592600 " union=" +0003.141592600 "> +10 .1 </decimal>
+<decimal value=" 01 " union=" 01 "> -.001 </decimal>
+<float value=" +0003.141592600E+0000 " union=" +0003.141592600E+0000 "> -31415926.00E-7
+2.718</float>
+<float value=" NaN " union=" NaN "> INF -INF </float>
+<float value="
+1 " union="1
+">-0</float>
+<dateTime value="
+2004-01-21T15:30:00-05:00" union="2004-01-21T20:30:00-05:00
+">2004-01-21T15:30:00
+2004-01-21T15:30:00Z</dateTime>
+<dateTime value="
+2004-01-21T15:30:00.0000-05:00" union="2004-01-21T15:30:00.0000-05:00
+"> 2004-01-21T15:30:00.0000 </dateTime>
+<dateTime value="2004-01-21T15:30:00.0001-05:00" union="2004-01-21T15:30:00.0001-05:00">2004-01-21T15:30:00.0001</dateTime>
+<time value="
+15:30:00-05:00" union="15:30:00-05:00
+"> 15:30:00 </time>
+<time value="
+ 15:30:00.0000-05:00" union=" 15:30:00.0000-05:00
+ ">15:30:00.0000</time>
+<time value="
+ 15:30:00.0001-05:00" union="15:30:00.0001-05:00
+ ">15:30:00.0001</time>
+</data>
+</svg> \ No newline at end of file
diff --git a/test/testcases/tests/level3/ls/files/datatype_normalization.xsd b/test/testcases/tests/level3/ls/files/datatype_normalization.xsd
new file mode 100644
index 0000000..2b3a789
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/datatype_normalization.xsd
@@ -0,0 +1,212 @@
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"
+ xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization">
+
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="double"/>
+ <xsd:element ref="boolean"/>
+ <xsd:element ref="decimal"/>
+ <xsd:element ref="float"/>
+ <xsd:element ref="dateTime"/>
+ <xsd:element ref="time"/>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:simpleType name="myDouble">
+ <xsd:restriction base="xsd:double"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myDoubleList">
+ <xsd:list itemType="myDouble"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myDoubleUnion">
+ <xsd:union memberTypes="myDouble xsd:anyURI"/>
+ </xsd:simpleType>
+
+ <xsd:element name="double">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="myDoubleList">
+ <xsd:attribute name="value" type="myDouble" use="required"/>
+ <xsd:attribute name="union" type="myDoubleUnion" use="required"/>
+ <xsd:attribute name="default" type="myDouble"
+ default="+0003.141592600E+0000" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+
+ <xsd:simpleType name="myBoolean">
+ <xsd:restriction base="xsd:boolean"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myBooleanList">
+ <xsd:list itemType="myBoolean"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myBooleanUnion">
+ <xsd:union memberTypes="myBoolean xsd:anyURI"/>
+ </xsd:simpleType>
+
+ <xsd:element name="boolean">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="myBooleanList">
+ <xsd:attribute name="value" type="myBoolean" use="required"/>
+ <xsd:attribute name="union" type="myDoubleUnion" use="required"/>
+ <xsd:attribute name="default" type="myBoolean"
+ default="1" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+
+ <xsd:simpleType name="myDecimal">
+ <xsd:restriction base="xsd:decimal"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myDecimalList">
+ <xsd:list itemType="myDecimal"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myDecimalUnion">
+ <xsd:union memberTypes="myDecimal xsd:anyURI"/>
+ </xsd:simpleType>
+
+ <xsd:element name="decimal">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="myDecimalList">
+ <xsd:attribute name="value" type="myDecimal" use="required"/>
+ <xsd:attribute name="union" type="myDecimalUnion" use="required"/>
+ <xsd:attribute name="default" type="myDecimal"
+ default="+0003.141592600" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:simpleType name="myFloat">
+ <xsd:restriction base="xsd:float"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myFloatList">
+ <xsd:list itemType="myFloat"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myFloatUnion">
+ <xsd:union memberTypes="myFloat xsd:anyURI"/>
+ </xsd:simpleType>
+
+ <xsd:element name="float">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="myFloatList">
+ <xsd:attribute name="value" type="myFloat" use="required"/>
+ <xsd:attribute name="union" type="myFloatUnion" use="required"/>
+ <xsd:attribute name="default" type="myDouble"
+ default="+0003.141592600E+0000" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+
+ <xsd:simpleType name="myDateTime">
+ <xsd:restriction base="xsd:dateTime"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myDateTimeList">
+ <xsd:list itemType="myDateTime"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myDateTimeUnion">
+ <xsd:union memberTypes="myDateTime xsd:anyURI"/>
+ </xsd:simpleType>
+
+ <xsd:element name="dateTime">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="myDateTimeList">
+ <xsd:attribute name="value" type="myDateTime" use="required"/>
+ <xsd:attribute name="union" type="myDateTimeUnion" use="required"/>
+ <xsd:attribute name="default" type="myDateTime"
+ default="2004-01-21T15:30:00-05:00" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+
+ <xsd:simpleType name="myTime">
+ <xsd:restriction base="xsd:time"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myTimeList">
+ <xsd:list itemType="myTime"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myTimeUnion">
+ <xsd:union memberTypes="myTime xsd:anyURI"/>
+ </xsd:simpleType>
+
+ <xsd:element name="time">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="myTimeList">
+ <xsd:attribute name="value" type="myTime" use="required"/>
+ <xsd:attribute name="union" type="myTimeUnion" use="required"/>
+ <xsd:attribute name="default" type="myTime"
+ default="15:30:00-05:00" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+
+ <xsd:simpleType name="myUnion">
+ <xsd:union memberTypes="xsd:integer xsd:string"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myUnionList">
+ <xsd:list itemType="myUnion"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="myUnionUnion">
+ <xsd:union memberTypes="myUnion xsd:anyURI"/>
+ </xsd:simpleType>
+
+ <xsd:element name="union">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="myUnionList">
+ <xsd:attribute name="value" type="myUnion" use="required"/>
+ <xsd:attribute name="union" type="myUnionUnion" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+</xsd:schema>
diff --git a/test/testcases/tests/level3/ls/files/datatype_normalization2.xml b/test/testcases/tests/level3/ls/files/datatype_normalization2.xml
new file mode 100644
index 0000000..19d9415
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/datatype_normalization2.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ATTLIST html
+ xmlns:xsi CDATA #IMPLIED
+ xsi:schemaLocation CDATA #IMPLIED>
+]>
+<html xmlns='http://www.w3.org/1999/xhtml'
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.w3.org/1999/xhtml datatype_normalization2.xsd"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>datatype_normalization2</title></head><body onload="parent.loadComplete()">
+ <p>
+ <!-- preserve, string default -->
+ <em> EMP 0001 </em>
+ <!-- explicit preserve -->
+ <acronym> EMP 0001 </acronym>
+ <!-- explicit collapse -->
+ <code>
+ EMP 0001
+</code>
+ <code>EMP 0001</code>
+ <code>EMP 0001</code>
+ <!-- explicit replace -->
+ <sup>
+ EMP 0001
+</sup>
+ <sup>EMP 0001</sup>
+ <sup>EMP 0001</sup>
+ <sup>EMP
+0001</sup>
+ </p>
+</body>
+</html>
diff --git a/test/testcases/tests/level3/ls/files/datatype_normalization2.xsd b/test/testcases/tests/level3/ls/files/datatype_normalization2.xsd
new file mode 100644
index 0000000..c7a7903
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/datatype_normalization2.xsd
@@ -0,0 +1,99 @@
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without 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 schema is intended to support specific DOM L3 tests is no way intended to
+be a general purpose schema for XHTML
+
+-->
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.w3.org/1999/xhtml"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsd:element name="html">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="head"/>
+ <xsd:element ref="body"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="head">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="meta"/>
+ <xsd:element ref="title"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="title" type="xsd:string"/>
+ <xsd:element name="meta">
+ <xsd:complexType>
+ <xsd:attribute name="http-equiv" type="xsd:string" use="required"/>
+ <xsd:attribute name="content" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="body">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="p"/>
+ </xsd:sequence>
+ <xsd:attribute name="onload" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="p">
+ <xsd:complexType>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="em"/>
+ <xsd:element ref="code"/>
+ <xsd:element ref="sup"/>
+ <xsd:element ref="acronym"/>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="em" type="xsd:string"/>
+
+ <xsd:simpleType name="acronym">
+ <xsd:restriction base="xsd:string">
+ <xsd:whiteSpace value="preserve"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="acronym" type="acronym"/>
+
+ <xsd:simpleType name="code">
+ <xsd:restriction base="xsd:string">
+ <xsd:whiteSpace value="collapse"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="code" type="code"/>
+
+ <xsd:simpleType name="sup">
+ <xsd:restriction base="xsd:string">
+ <xsd:whiteSpace value="replace"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="sup" type="sup"/>
+
+</xsd:schema>
diff --git a/test/testcases/tests/level3/ls/files/hc_staff.svg b/test/testcases/tests/level3/ls/files/hc_staff.svg
new file mode 100644
index 0000000..e11e135
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/hc_staff.svg
@@ -0,0 +1,87 @@
+<?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 p
+ dir CDATA 'rtl'
+ xmlns:dmstc CDATA #IMPLIED
+ xmlns:nm CDATA #IMPLIED
+ xmlns:emp2 CDATA #IMPLIED>
+ <!ATTLIST html
+ xmlns:xsi CDATA #IMPLIED
+ xsi:schemaLocation CDATA #IMPLIED>
+ <!ATTLIST acronym xsi:noNamespaceSchemaLocation CDATA #IMPLIED>
+ <!ENTITY ent4 "<span xmlns='http://www.w3.org/1999/xhtml'>Element data</span><?PItarget PIdata?>">
+ <!ATTLIST span xmlns CDATA #IMPLIED>
+ <!ENTITY svgunit SYSTEM "svgunit.js">
+ <!ENTITY svgtest SYSTEM "svgtest.js">
+ <!ELEMENT svg (rect, script, body)>
+ <!ATTLIST svg
+ xmlns CDATA #IMPLIED
+ xmlns:xsi CDATA #IMPLIED
+ xsi:schemaLocation CDATA #IMPLIED>
+ <!ELEMENT rect EMPTY>
+ <!ATTLIST rect
+ x CDATA #REQUIRED
+ y CDATA #REQUIRED
+ width CDATA #REQUIRED
+ height CDATA #REQUIRED>
+ <!ATTLIST body xmlns CDATA #IMPLIED>
+]>
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.w3.org/2000/svg hc_staff.svg.xsd">
+<rect x="0" y="0" width="100" height="100"/><script type="text/ecmascript">&svgtest;&svgunit;</script><body xmlns="http://www.w3.org/1999/xhtml">
+ <p xmlns:dmstc="http://www.usa.com">
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" xsi:noNamespaceSchemaLocation="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p xmlns:dmstc="http://www.usa.com">
+ <em>EMP0002</em>
+ <strong>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;]]></strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes" xsi:noNamespaceSchemaLocation="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p xmlns:dmstc="http://www.netzero.com">
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&ent4;</var>
+ <acronym title="Yes" class="No" id="_98553" xsi:noNamespaceSchemaLocation="Yes">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p xmlns:nm="http://www.altavista.com">
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;" id="_98556" xsi:noNamespaceSchemaLocation="Yes">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p xmlns:emp2="http://www.nist.gov">
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes" class="Yes" xsi:noNamespaceSchemaLocation="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></svg>
diff --git a/test/testcases/tests/level3/ls/files/hc_staff.svg.xsd b/test/testcases/tests/level3/ls/files/hc_staff.svg.xsd
new file mode 100644
index 0000000..52335a3
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/hc_staff.svg.xsd
@@ -0,0 +1,60 @@
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without 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 schema is attempts to use every construct that could
+be interrogated by DOM Level 3 and is no way intended to
+be a general purpose schema for SVG
+
+-->
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml">
+
+ <xsd:import namespace="http://www.w3.org/1999/xhtml" schemaLocation="hc_staff.xsd"/>
+
+ <xsd:element name="svg">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="rect"/>
+ <xsd:element ref="script"/>
+ <xsd:element ref="xhtml:body"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="rect">
+ <xsd:complexType>
+ <xsd:attribute name="x" type="xsd:double" use="required"/>
+ <xsd:attribute name="y" type="xsd:double" use="required"/>
+ <xsd:attribute name="height" type="xsd:double" use="required"/>
+ <xsd:attribute name="width" type="xsd:double" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="script">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="type" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+</xsd:schema>
diff --git a/test/testcases/tests/level3/ls/files/hc_staff.xhtml b/test/testcases/tests/level3/ls/files/hc_staff.xhtml
new file mode 100644
index 0000000..f2b6e71
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/hc_staff.xhtml
@@ -0,0 +1,73 @@
+<?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 p
+ dir CDATA 'rtl'
+ xmlns:dmstc CDATA #IMPLIED
+ xmlns:nm CDATA #IMPLIED
+ xmlns:emp2 CDATA #IMPLIED>
+ <!ATTLIST html
+ xmlns:xsi CDATA #IMPLIED
+ xsi:schemaLocation CDATA #IMPLIED>
+ <!ATTLIST acronym xsi:noNamespaceSchemaLocation CDATA #IMPLIED>
+ <!ENTITY ent4 "<span xmlns='http://www.w3.org/1999/xhtml'>Element data</span><?PItarget PIdata?>">
+ <!ATTLIST span xmlns CDATA #IMPLIED>
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.w3.org/1999/xhtml hc_staff.xsd"><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 xmlns:dmstc="http://www.usa.com">
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" xsi:noNamespaceSchemaLocation="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p xmlns:dmstc="http://www.usa.com">
+ <em>EMP0002</em>
+ <strong>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;]]></strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes" xsi:noNamespaceSchemaLocation="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p xmlns:dmstc="http://www.netzero.com">
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&ent4;</var>
+ <acronym title="Yes" class="No" id="_98553" xsi:noNamespaceSchemaLocation="Yes">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p xmlns:nm="http://www.altavista.com">
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;" id="_98556" xsi:noNamespaceSchemaLocation="Yes">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p xmlns:emp2="http://www.nist.gov">
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes" class="Yes" xsi:noNamespaceSchemaLocation="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/test/testcases/tests/level3/ls/files/hc_staff.xml b/test/testcases/tests/level3/ls/files/hc_staff.xml
new file mode 100644
index 0000000..0366a05
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/hc_staff.xml
@@ -0,0 +1,73 @@
+<?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 p
+ dir CDATA 'rtl'
+ xmlns:dmstc CDATA #IMPLIED
+ xmlns:nm CDATA #IMPLIED
+ xmlns:emp2 CDATA #IMPLIED>
+ <!ATTLIST html
+ xmlns:xsi CDATA #IMPLIED
+ xsi:schemaLocation CDATA #IMPLIED>
+ <!ATTLIST acronym xsi:noNamespaceSchemaLocation CDATA #IMPLIED>
+ <!ENTITY ent4 "<span xmlns='http://www.w3.org/1999/xhtml'>Element data</span><?PItarget PIdata?>">
+ <!ATTLIST span xmlns CDATA #IMPLIED>
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.w3.org/1999/xhtml hc_staff.xsd"><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 xmlns:dmstc="http://www.usa.com">
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" xsi:noNamespaceSchemaLocation="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p xmlns:dmstc="http://www.usa.com">
+ <em>EMP0002</em>
+ <strong>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;]]></strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes" xsi:noNamespaceSchemaLocation="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p xmlns:dmstc="http://www.netzero.com">
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&ent4;</var>
+ <acronym title="Yes" class="No" id="_98553" xsi:noNamespaceSchemaLocation="Yes">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p xmlns:nm="http://www.altavista.com">
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;" id="_98556" xsi:noNamespaceSchemaLocation="Yes">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p xmlns:emp2="http://www.nist.gov">
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes" class="Yes" xsi:noNamespaceSchemaLocation="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/test/testcases/tests/level3/ls/files/hc_staff.xsd b/test/testcases/tests/level3/ls/files/hc_staff.xsd
new file mode 100644
index 0000000..915cba0
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/hc_staff.xsd
@@ -0,0 +1,250 @@
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without 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 schema is attempts to use every construct that could
+be interrogated by DOM Level 3 and is no way intended to
+be a general purpose schema for XHTML
+
+-->
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.w3.org/1999/xhtml"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+ <xsd:element name="html">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="head"/>
+ <xsd:element ref="body"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="head">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="meta"/>
+ <xsd:element ref="title"/>
+ <xsd:element ref="script" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="meta">
+ <xsd:complexType>
+ <xsd:attribute name="http-equiv" type="xsd:string" use="required"/>
+ <xsd:attribute name="content" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="script">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="src" type="xsd:string" use="optional"/>
+ <xsd:attribute name="charset" type="xsd:string" use="optional"/>
+ <xsd:attribute name="type" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="title" type="xsd:string"/>
+
+ <xsd:element name="body">
+ <xsd:complexType>
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="p"/>
+ </xsd:sequence>
+ <xsd:attribute name="onload" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:simpleType name="classType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Yes"/>
+ <xsd:enumeration value="No"/>
+ <xsd:enumeration value="Y&#945;"/>
+ <xsd:enumeration value="Y"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="part1">
+ <xsd:sequence>
+ <xsd:element ref="em"/>
+ <xsd:element ref="strong"/>
+ <xsd:element ref="code"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="pType">
+ <xsd:complexContent>
+ <xsd:extension base="part1">
+ <xsd:sequence>
+ <xsd:element ref="sup"/>
+ <xsd:element ref="var"/>
+ <xsd:element ref="acronym"/>
+ </xsd:sequence>
+ <xsd:attribute name="title" type="xsd:string" use="optional"/>
+ <xsd:attribute name="class" type="classType" use="optional"/>
+ <xsd:attribute name="dir" type="dirType" use="optional" default="rtl"/>
+ <xsd:attribute name="foo" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:element name="p">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="pType">
+ <xsd:sequence>
+ <xsd:element ref="em"/>
+ <xsd:element ref="strong"/>
+ <xsd:element ref="code"/>
+ <xsd:element ref="sup"/>
+ <xsd:element ref="var"/>
+ <xsd:element ref="acronym"/>
+ </xsd:sequence>
+ <xsd:attribute name="title" type="xsd:string" use="optional"/>
+ <xsd:attribute name="class" type="classType" use="optional"/>
+ <xsd:attribute name="dir" type="dirType" use="optional" default="rtl"/>
+ <xsd:attribute name="foo" type="xsd:string" use="prohibited"/>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:simpleType name="emp0001_3Type">
+ <xsd:restriction base="xsd:ID">
+ <xsd:enumeration value="EMP0001"/>
+ <xsd:enumeration value="EMP0002"/>
+ <xsd:enumeration value="EMP0003"/>
+ <xsd:enumeration value="EMP0004"/>
+ <xsd:enumeration value="EMP0005"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="emp0004_5Type">
+ <xsd:restriction base="xsd:ID">
+ <xsd:enumeration value="EMP0006"/>
+ <xsd:enumeration value="EMP0007"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="unboundedEmType">
+ <xsd:union memberTypes="emp0001_3Type emp0004_5Type"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="emType">
+ <xsd:restriction base="unboundedEmType">
+ <xsd:pattern value="EMP[0-9]*"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+
+ <xsd:element name="em" type="emType"/>
+
+ <xsd:simpleType name="unboundedStrongType">
+ <xsd:list itemType="xsd:string"/>
+ </xsd:simpleType>
+
+
+ <xsd:simpleType name="strongType">
+ <xsd:restriction base="unboundedStrongType">
+ <xsd:maxLength value="100"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="strong" type="strongType"/>
+
+ <!-- union of union and union of list -->
+ <xsd:simpleType name="integers">
+ <xsd:list itemType="xsd:integer"/>
+ </xsd:simpleType>
+
+
+ <xsd:simpleType name="sup">
+ <xsd:union memberTypes="emType integers xsd:string"/>
+ </xsd:simpleType>
+ <xsd:element name="sup" type="sup"/>
+
+ <!-- list of union of union -->
+ <xsd:simpleType name="supervisoryTitle">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Specialist"/>
+ <xsd:enumeration value="Director"/>
+ <xsd:enumeration value="Manager"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="nonSupervisoryTitle">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Accountant"/>
+ <xsd:enumeration value="Secretary"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="title">
+ <xsd:union memberTypes="supervisoryTitle nonSupervisoryTitle"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="field">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Department"/>
+ <xsd:enumeration value="Personnel"/>
+ <xsd:enumeration value="Computer"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="codeItem">
+ <xsd:union memberTypes="field title"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="code">
+ <xsd:list itemType="codeItem"/>
+ </xsd:simpleType>
+ <xsd:element name="code" type="code"/>
+
+ <xsd:element name="span" type="xsd:string"/>
+
+ <xsd:complexType name="var" mixed="true">
+ <xsd:sequence>
+ <xsd:element ref="span" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="var" type="var"/>
+
+ <xsd:simpleType name="dirType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ltr"/>
+ <xsd:enumeration value="rtl"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="acronym">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="class" type="classType" use="optional"/>
+ <xsd:attribute name="title" type="xsd:string" use="optional"/>
+ <xsd:attribute name="id" type="xsd:ID" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+</xsd:schema>
diff --git a/test/testcases/tests/level3/ls/files/namespaces1.xml b/test/testcases/tests/level3/ls/files/namespaces1.xml
new file mode 100644
index 0000000..45a188b
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/namespaces1.xml
@@ -0,0 +1 @@
+<bad:ns:tag/> \ No newline at end of file
diff --git a/test/testcases/tests/level3/ls/files/pibase.xml b/test/testcases/tests/level3/ls/files/pibase.xml
new file mode 100644
index 0000000..36d7cb2
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/pibase.xml
@@ -0,0 +1,10 @@
+<!DOCTYPE root [
+<!ELEMENT root (one, more)>
+<!ELEMENT one (two)>
+<!ELEMENT two EMPTY>
+<!ELEMENT more EMPTY>
+<!ENTITY e SYSTEM 'subdir/myentity.ent'>
+]>
+<root>
+&e;
+</root> \ No newline at end of file
diff --git a/test/testcases/tests/level3/ls/files/schematype1.xml b/test/testcases/tests/level3/ls/files/schematype1.xml
new file mode 100644
index 0000000..de17a17
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/schematype1.xml
@@ -0,0 +1,2 @@
+<elt0 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="validateschema1.xml"/>
diff --git a/test/testcases/tests/level3/ls/files/subdir/CVS/Entries b/test/testcases/tests/level3/ls/files/subdir/CVS/Entries
new file mode 100644
index 0000000..b65eed8
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/subdir/CVS/Entries
@@ -0,0 +1,2 @@
+/myentity.ent/1.1/Fri Apr 3 02:47:57 2009/-kb/
+D
diff --git a/test/testcases/tests/level3/ls/files/subdir/CVS/Repository b/test/testcases/tests/level3/ls/files/subdir/CVS/Repository
new file mode 100644
index 0000000..544ad2e
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/subdir/CVS/Repository
@@ -0,0 +1 @@
+2001/DOM-Test-Suite/tests/level3/ls/files/subdir
diff --git a/test/testcases/tests/level3/ls/files/subdir/CVS/Root b/test/testcases/tests/level3/ls/files/subdir/CVS/Root
new file mode 100644
index 0000000..3c7177e
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/subdir/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/test/testcases/tests/level3/ls/files/subdir/CVS/Template b/test/testcases/tests/level3/ls/files/subdir/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/subdir/CVS/Template
diff --git a/test/testcases/tests/level3/ls/files/subdir/myentity.ent b/test/testcases/tests/level3/ls/files/subdir/myentity.ent
new file mode 100644
index 0000000..2046b58
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/subdir/myentity.ent
@@ -0,0 +1,5 @@
+<one>
+ <two/>
+</one>
+<?pi 3.14159?>
+<more/> \ No newline at end of file
diff --git a/test/testcases/tests/level3/ls/files/svgtest.js b/test/testcases/tests/level3/ls/files/svgtest.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/svgtest.js
diff --git a/test/testcases/tests/level3/ls/files/svgunit.js b/test/testcases/tests/level3/ls/files/svgunit.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/svgunit.js
diff --git a/test/testcases/tests/level3/ls/files/test0.svg b/test/testcases/tests/level3/ls/files/test0.svg
new file mode 100644
index 0000000..84e7c9b
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/test0.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg [
+ <!ENTITY svgunit SYSTEM "svgunit.js">
+ <!ENTITY svgtest SYSTEM "svgtest.js">
+]>
+<svg xmlns='http://www.w3.org/2000/svg'><rect x="0" y="0" width="100" height="100"/><script type="text/ecmascript">&svgtest;&svgunit;</script>
+ <elt0 xmlns="http://www.example.com">
+ <elt1>the first element elt1</elt1><elt1>the second element elt1</elt1>
+ <elt2/>
+ </elt0>
+</svg>
diff --git a/test/testcases/tests/level3/ls/files/test0.xml b/test/testcases/tests/level3/ls/files/test0.xml
new file mode 100644
index 0000000..039777a
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/test0.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+ <elt0>
+ <elt1>the first element elt1</elt1><elt1>the second element elt1</elt1>
+ <elt2/>
+ </elt0>
diff --git a/test/testcases/tests/level3/ls/files/test1.xml b/test/testcases/tests/level3/ls/files/test1.xml
new file mode 100644
index 0000000..0bdbedc
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/test1.xml
@@ -0,0 +1 @@
+<?xml version="1.0"?><elt0><elt1>remove me</elt1></elt0>
diff --git a/test/testcases/tests/level3/ls/files/test2.xml b/test/testcases/tests/level3/ls/files/test2.xml
new file mode 100644
index 0000000..157a6ef
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/test2.xml
@@ -0,0 +1 @@
+<elt2><elt3>an element</elt3></elt2> \ No newline at end of file
diff --git a/test/testcases/tests/level3/ls/files/test3.xml b/test/testcases/tests/level3/ls/files/test3.xml
new file mode 100644
index 0000000..16b9953
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/test3.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE elt0 [
+
+ <!ELEMENT elt0 (elt1+)>
+
+ <!ELEMENT elt1 (#PCDATA)>
+ <!ATTLIST elt1 attr1 CDATA #FIXED "attr1">
+
+]>
+ <elt0>
+ <elt1>an element</elt1>
+ </elt0>
diff --git a/test/testcases/tests/level3/ls/files/test4.xml b/test/testcases/tests/level3/ls/files/test4.xml
new file mode 100644
index 0000000..24eedc6
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/test4.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!DOCTYPE elt0 [
+
+ <!ELEMENT elt0 (elt1+,elt2?)>
+
+ <!ELEMENT elt1 (#PCDATA)>
+ <!ELEMENT elt2 EMPTY>
+ <!ENTITY ref SYSTEM "test5.xml">
+]>
+ <elt0>
+ <elt1>first elt1</elt1>
+ &ref;
+ </elt0>
diff --git a/test/testcases/tests/level3/ls/files/test5.xml b/test/testcases/tests/level3/ls/files/test5.xml
new file mode 100644
index 0000000..a6b2915
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/test5.xml
@@ -0,0 +1 @@
+<elt1>second elt1</elt1>
diff --git a/test/testcases/tests/level3/ls/files/test7.xml b/test/testcases/tests/level3/ls/files/test7.xml
new file mode 100644
index 0000000..5d4853e
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/test7.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE elt0 [
+
+ <!ELEMENT elt0 (elt1+)>
+ <!ATTLIST elt0 base CDATA #IMPLIED>
+
+ <!ENTITY logo SYSTEM "logo.png" NDATA PNG>
+ <!NOTATION PNG SYSTEM "image/png">
+
+ <!ELEMENT elt1 (#PCDATA)>
+ <!ATTLIST elt1 source ENTITY #REQUIRED>
+
+ <!ENTITY ref PUBLIC "-//X-Hive//native xml storage//EN" "test5.xml">
+]>
+ <elt0 base="base">
+ <elt1 source="logo">first elt1</elt1>
+ &ref;
+ </elt0>
diff --git a/test/testcases/tests/level3/ls/files/testpdf.pdf b/test/testcases/tests/level3/ls/files/testpdf.pdf
new file mode 100644
index 0000000..039777a
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/testpdf.pdf
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+ <elt0>
+ <elt1>the first element elt1</elt1><elt1>the second element elt1</elt1>
+ <elt2/>
+ </elt0>
diff --git a/test/testcases/tests/level3/ls/files/testsvg.dtd b/test/testcases/tests/level3/ls/files/testsvg.dtd
new file mode 100644
index 0000000..3555b90
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/testsvg.dtd
@@ -0,0 +1,13 @@
+<!ELEMENT svg (rect, script, (elt0|elt1)*)>
+<!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>
+
diff --git a/test/testcases/tests/level3/ls/files/unsupportedencoding1.xml b/test/testcases/tests/level3/ls/files/unsupportedencoding1.xml
new file mode 100644
index 0000000..7f296ef
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/unsupportedencoding1.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-90210"?>
+<html/>
diff --git a/test/testcases/tests/level3/ls/files/validate1.xml b/test/testcases/tests/level3/ls/files/validate1.xml
new file mode 100644
index 0000000..9d9ab3d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/validate1.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE elt0 [
+ <!ELEMENT elt0 (elt0)>
+]>
+<elt0/>
diff --git a/test/testcases/tests/level3/ls/files/validateschema1.xml b/test/testcases/tests/level3/ls/files/validateschema1.xml
new file mode 100644
index 0000000..72def22
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/validateschema1.xml
@@ -0,0 +1,23 @@
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
+
+ <xsd:element name="elt0">
+ <xsd:complexType/>
+ </xsd:element>
+
+</xsd:schema>
+
diff --git a/test/testcases/tests/level3/ls/files/wellformed1.xml b/test/testcases/tests/level3/ls/files/wellformed1.xml
new file mode 100644
index 0000000..0248e2e
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/wellformed1.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE html SYSTEM 'xhtml1-strict.dtd'>
+<html>
+ <head><title>wellformed1</title></head>
+ <body>
+ <h×2/>
+ </body>
+</html> \ No newline at end of file
diff --git a/test/testcases/tests/level3/ls/files/wellformed2.xml b/test/testcases/tests/level3/ls/files/wellformed2.xml
new file mode 100644
index 0000000..888a285
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/wellformed2.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<!DOCTYPE html SYSTEM 'xhtml1-strict.dtd'>
+<html>
+ <head><title>Not well-formed</title></head>
+ <body>
+ <p wor×ld='bad name'/>
+ </body>
+</html> \ No newline at end of file
diff --git a/test/testcases/tests/level3/ls/files/wellformed3.xml b/test/testcases/tests/level3/ls/files/wellformed3.xml
new file mode 100644
index 0000000..7f49b2c
--- /dev/null
+++ b/test/testcases/tests/level3/ls/files/wellformed3.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<!DOCTYPE html SYSTEM 'xhtml1-strict.dtd'>
+<html>
+ <head><title>wellformed1</title></head>
+ <body title="<">
+ </body>
+</html> \ No newline at end of file
diff --git a/test/testcases/tests/level3/ls/files/xhtml1-strict.dtd b/test/testcases/tests/level3/ls/files/xhtml1-strict.dtd
new file mode 100644
index 0000000..c83c35d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/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/level3/ls/infoset01.xml b/test/testcases/tests/level3/ls/infoset01.xml
new file mode 100644
index 0000000..95677d2
--- /dev/null
+++ b/test/testcases/tests/level3/ls/infoset01.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="infoset01">
+<metadata>
+<title>infoset01</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with a DTD that doesn't match content with infoset=true, should load without complaint.
+</description>
+<date qualifier="created">2004-03-30</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-infoset"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"infoset"' value="true"/>
+<getResourceURI var="resourceURI" href='"validate1"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<assertNotNull actual="doc" id="docNotNull"/>
+<documentElement var="elem" obj="doc"/>
+<assertNotNull actual="elem" id="docElemNotNull"/>
+<nodeName var="nodeName" obj="elem"/>
+<assertEquals actual="nodeName" expected='"elt0"' ignoreCase="false" id="docElemName"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/infoset02.xml b/test/testcases/tests/level3/ls/infoset02.xml
new file mode 100644
index 0000000..1ead9c6
--- /dev/null
+++ b/test/testcases/tests/level3/ls/infoset02.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="infoset02">
+<metadata>
+<title>infoset02</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with entities = false and see that entity references are not present in
+the element content.
+</description>
+<date qualifier="created">2004-03-30</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-infoset"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elemList" type="NodeList"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"infoset"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"acronym"' interface="Document"/>
+<item var="elem" obj="elemList" index="1" interface="NodeList"/>
+<firstChild var="node" obj="elem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="3" ignoreCase="false" id="acrContentIsText"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/infoset03.xml b/test/testcases/tests/level3/ls/infoset03.xml
new file mode 100644
index 0000000..c4cf82c
--- /dev/null
+++ b/test/testcases/tests/level3/ls/infoset03.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="infoset03">
+<metadata>
+<title>infoset03</title>
+<creator>Curt Arnold</creator>
+<description>
+Parse document with infoset set to true.
+Check if string values were not normalized per an explicit whitespace=collapse.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-datatype-normalization"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elemList" type="NodeList"/>
+<var name="element" type="Element"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="str" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetXMLSchema" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<var name="childNode" type="Node"/>
+<var name="childValue" type="DOMString"/>
+
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="xsdNS"/>
+<if><isNull obj="lsParser"/>
+ <createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+</if>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<if><isTrue value="canSetValidate"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+</if>
+<canSetParameter var="canSetXMLSchema" obj="domConfig" name='"schema-type"' value="xsdNS"/>
+<if><isTrue value="canSetXMLSchema"/>
+ <setParameter obj="domConfig" name='"schema-type"' value="xsdNS"/>
+</if>
+<setParameter obj="domConfig" name='"infoset"' value="true"/>
+<getResourceURI var="resourceURI" href='"datatype_normalization2"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagNameNS
+ var="elemList"
+ obj="doc"
+ namespaceURI='"http://www.w3.org/1999/xhtml"'
+ localName='"code"'
+ interface="Document"/>
+<item var="element" obj="elemList" interface="NodeList" index="1"/>
+<firstChild var="childNode" obj="element" interface="Node"/>
+<nodeValue var="childValue" obj="childNode"/>
+<assertEquals actual="childValue" expected='"EMP 0001"' ignoreCase="false" id="content2"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/infoset04.xml b/test/testcases/tests/level3/ls/infoset04.xml
new file mode 100644
index 0000000..3c9064d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/infoset04.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="infoset04">
+<metadata>
+<title>infoset04</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with infoset = true and see that CDATASection are not present in
+the parsed document.
+</description>
+<date qualifier="created">2004-03-30</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-infoset"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="pList" type="NodeList"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"infoset"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="pList" obj="doc" tagname='"strong"' interface="Document"/>
+<item var="elem" obj="pList" index="1" interface="NodeList"/>
+<lastChild var="node" obj="elem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="3" ignoreCase="false" id="childIsText"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/infoset05.xml b/test/testcases/tests/level3/ls/infoset05.xml
new file mode 100644
index 0000000..35ce4f0
--- /dev/null
+++ b/test/testcases/tests/level3/ls/infoset05.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="infoset05">
+<metadata>
+<title>infoset05</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with infoset = true and see that attributes for namespace declarations are present.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-infoset"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elemList" type="NodeList"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"infoset"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"p"' interface="Document"/>
+<item var="elem" obj="elemList" index="0" interface="NodeList"/>
+<getAttributeNode var="node" obj="elem" name='"xmlns:dmstc"'/>
+<assertNotNull actual="node" id="nsAttrNotNull"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/infoset06.xml b/test/testcases/tests/level3/ls/infoset06.xml
new file mode 100644
index 0000000..e78abdc
--- /dev/null
+++ b/test/testcases/tests/level3/ls/infoset06.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="infoset06">
+<metadata>
+<title>infoset06</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with infoset and validate = true and check that
+element content whitespace is not eliminated.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-infoset"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<var name="elemList" type="NodeList"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"validate"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"validate"' value="true"/>
+</if>
+<setParameter obj="domConfig" name='"infoset"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"p"' interface="Document"/>
+<item var="elem" obj="elemList" index="0" interface="NodeList"/>
+<firstChild var="node" obj="elem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="3" ignoreCase="false" id="nodeIsText"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/infoset07.xml b/test/testcases/tests/level3/ls/infoset07.xml
new file mode 100644
index 0000000..741ac3c
--- /dev/null
+++ b/test/testcases/tests/level3/ls/infoset07.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="infoset07">
+<metadata>
+<title>infoset07</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with infoset = true and see that comments are present in
+the parsed document.
+</description>
+<date qualifier="created">2004-03-30</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-infoset"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"infoset"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<documentElement var="docElem" obj="doc"/>
+<previousSibling var="node" obj="docElem" interface="Node"/>
+<nodeType var="nodeType" obj="node"/>
+<assertEquals actual="nodeType" expected="8" ignoreCase="false" id="nodeIsDocType"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/infoset08.xml b/test/testcases/tests/level3/ls/infoset08.xml
new file mode 100644
index 0000000..23c6e71
--- /dev/null
+++ b/test/testcases/tests/level3/ls/infoset08.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="infoset08">
+<metadata>
+<title>infoset08</title>
+<creator>Curt Arnold</creator>
+<description>
+Attempt to load a namespace invalid document with infoset = true.
+</description>
+<date qualifier="created">2004-03-30</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-infoset"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"infoset"' value="true"/>
+<getResourceURI var="resourceURI" href='"namespaces1"' contentType="text/xml"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+</assertLSException>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/metadata.xml b/test/testcases/tests/level3/ls/metadata.xml
new file mode 100644
index 0000000..c3c6e71
--- /dev/null
+++ b/test/testcases/tests/level3/ls/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+-->
+<!DOCTYPE metadata SYSTEM "dom3.dtd">
+
+<!-- This file contains additional metadata about DOM L3 Validation tests.
+ Allowing additional documentation without modifying the tests themselves. -->
+<metadata xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3">
+</metadata>
diff --git a/test/testcases/tests/level3/ls/namespacedeclarations01.xml b/test/testcases/tests/level3/ls/namespacedeclarations01.xml
new file mode 100644
index 0000000..e9b3955
--- /dev/null
+++ b/test/testcases/tests/level3/ls/namespacedeclarations01.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="namespacedeclarations01">
+<metadata>
+<title>namespacedeclarations01</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with namespace-declarations = false and see that attributes
+for namespace declarations are not present.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-namespace-declarations"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elemList" type="NodeList"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"namespace-declarations"' value="false"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"p"' interface="Document"/>
+<item var="elem" obj="elemList" index="0" interface="NodeList"/>
+<getAttributeNode var="node" obj="elem" name='"xmlns:dmstc"'/>
+<assertNull actual="node" id="nsAttrNull"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/namespacedeclarations02.xml b/test/testcases/tests/level3/ls/namespacedeclarations02.xml
new file mode 100644
index 0000000..00de26c
--- /dev/null
+++ b/test/testcases/tests/level3/ls/namespacedeclarations02.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="namespacedeclarations02">
+<metadata>
+<title>namespacedeclarations02</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with namespace-declarations = true and see that attributes for namespace declarations are present.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-namespace-declarations"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="docElem" type="Element"/>
+<var name="elemList" type="NodeList"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"namespace-declarations"' value="true"/>
+<getResourceURI var="resourceURI" href='"hc_staff"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<getElementsByTagName var="elemList" obj="doc" tagname='"p"' interface="Document"/>
+<item var="elem" obj="elemList" index="0" interface="NodeList"/>
+<getAttributeNode var="node" obj="elem" name='"xmlns:dmstc"'/>
+<assertNotNull actual="node" id="nsAttrNotNull"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/namespaces01.xml b/test/testcases/tests/level3/ls/namespaces01.xml
new file mode 100644
index 0000000..34382be
--- /dev/null
+++ b/test/testcases/tests/level3/ls/namespaces01.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="namespaces01">
+<metadata>
+<title>namespaces01</title>
+<creator>Curt Arnold</creator>
+<description>
+Attempt to load a namespace invalid document with namespaces = true.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-namespaces"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"namespaces"' value="true"/>
+<getResourceURI var="resourceURI" href='"namespaces1"' contentType="text/xml"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+</assertLSException>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/namespaces02.xml b/test/testcases/tests/level3/ls/namespaces02.xml
new file mode 100644
index 0000000..01d514e
--- /dev/null
+++ b/test/testcases/tests/level3/ls/namespaces02.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="namespaces02">
+<metadata>
+<title>namespaces02</title>
+<creator>Curt Arnold</creator>
+<description>
+Attempt to load a namespace invalid document with namespaces = false.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-namespaces"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="node" type="Node"/>
+<var name="nodeType" type="int"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<var name="docElem" type="Element"/>
+<var name="tagName" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"namespaces"' value="false"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"namespaces"' value="false"/>
+<getResourceURI var="resourceURI" href='"namespaces1"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<documentElement var="docElem" obj="doc"/>
+<tagName var="tagName" obj="docElem"/>
+<assertEquals actual="tagName" expected='"bad:ns:tag"' ignoreCase="false" id="tagName"/>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/newline01.xml b/test/testcases/tests/level3/ls/newline01.xml
new file mode 100644
index 0000000..49da210
--- /dev/null
+++ b/test/testcases/tests/level3/ls/newline01.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="newline01">
+<metadata>
+<title>newline01</title>
+<creator>Curt Arnold</creator>
+<description>
+LSSerializer.newLine should contain the platform default new line.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-DOMImplementationLS-createLSSerializer"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-newLine"/>
+</metadata>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="newLine" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<newLine var="newLine" obj="lsSerializer"/>
+<assertNotNull actual="newLine" id="newLineNotNull"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/newline02.xml b/test/testcases/tests/level3/ls/newline02.xml
new file mode 100644
index 0000000..9bb4999
--- /dev/null
+++ b/test/testcases/tests/level3/ls/newline02.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="newline02">
+<metadata>
+<title>newline02</title>
+<creator>Curt Arnold</creator>
+<description>
+Setting LSSerializer.newLine should change the value retrieved subsequent calls.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-DOMImplementationLS-createLSSerializer"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-newLine"/>
+</metadata>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="newLine" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<newLine obj="lsSerializer" value='"crlf"'/>
+<newLine var="newLine" obj="lsSerializer"/>
+<assertEquals actual="newLine" expected='"crlf"' id="newLine" ignoreCase="false"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/newline03.xml b/test/testcases/tests/level3/ls/newline03.xml
new file mode 100644
index 0000000..eea282e
--- /dev/null
+++ b/test/testcases/tests/level3/ls/newline03.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="newline03">
+<metadata>
+<title>newline03</title>
+<creator>Curt Arnold</creator>
+<description>
+Setting LSSerializer.newLine to null should reset the default value.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-DOMImplementationLS-createLSSerializer"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-newLine"/>
+</metadata>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="newLine" type="DOMString"/>
+<var name="origNewLine" type="DOMString"/>
+<var name="nullString" type="DOMString" isNull="true"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<newLine var="origNewLine" obj="lsSerializer"/>
+<newLine obj="lsSerializer" value="nullString"/>
+<newLine var="newLine" obj="lsSerializer"/>
+<assertEquals actual="newLine" expected='origNewLine' id="newLine" ignoreCase="false"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/noinputspecified01.xml b/test/testcases/tests/level3/ls/noinputspecified01.xml
new file mode 100644
index 0000000..b01a54b
--- /dev/null
+++ b/test/testcases/tests/level3/ls/noinputspecified01.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="noinputspecified01">
+<metadata>
+<title>noinputspecified01</title>
+<creator>Curt Arnold</creator>
+<description>
+Parsing using an uninitialized LSInput should result in a PARSE_ERR.
+is false.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parse"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="lsInput" type="LSInput"/>
+<var name="nullSchemaLanguage" type="DOMString" isNull="true"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="severity" type="int"/>
+<var name="type" type="DOMString"/>
+<var name="errorCount" type="int" value="0"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaLanguage"/>
+<createLSInput var="lsInput" obj="domImplLS"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parse var="doc" obj="lsParser" input="lsInput"/>
+ </PARSE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <type var="type" obj="error" interface="DOMError"/>
+ <if><greater actual="severity" expected="1"/>
+ <assertEquals actual="severity" expected="3" id="isFatalError" ignoreCase="false"/>
+ <assertEquals actual="type" expected='"no-input-specified"' id="noInputSpecified" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertEquals actual="errorCount" expected="1" ignoreCase="false" id="oneError"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/nooutputspecified01.xml b/test/testcases/tests/level3/ls/nooutputspecified01.xml
new file mode 100644
index 0000000..80ff02d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/nooutputspecified01.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="nooutputspecified01">
+<metadata>
+<title>nooutputspecified01</title>
+<creator>Curt Arnold</creator>
+<description>
+Writing to an uninitialized LSOutput should result in a SERIALIZATION_ERR.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-write"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="lsOutput" type="LSOutput"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="severity" type="int"/>
+<var name="type" type="DOMString"/>
+<var name="errorCount" type="int" value="0"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="retval" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createLSOutput var="lsOutput" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.w3.org/1999/xhtml"'
+ qualifiedName='"html"' doctype="docType"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<assertLSException id="throw_SERIALIZE_ERR">
+ <SERIALIZE_ERR>
+ <write var="retval" obj="lsSerializer" nodeArg="doc" destination="lsOutput"/>
+ </SERIALIZE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <type var="type" obj="error" interface="DOMError"/>
+ <if><greater actual="severity" expected="1"/>
+ <assertEquals actual="severity" expected="3" id="isFatalError" ignoreCase="false"/>
+ <assertEquals actual="type" expected='"no-output-specified"' id="noOutputSpecified" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertEquals actual="errorCount" expected="1" ignoreCase="false" id="oneError"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/normalizecharacters01.xml b/test/testcases/tests/level3/ls/normalizecharacters01.xml
new file mode 100644
index 0000000..2561b9c
--- /dev/null
+++ b/test/testcases/tests/level3/ls/normalizecharacters01.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="normalizecharacters01">
+<metadata>
+<title>normalizecharacters01</title>
+<creator>Curt Arnold</creator>
+<description>
+Parsing a non-Unicode normalized document not have characters normalized if normalize-characters is false.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-normalize-characters"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="nullSchemaLanguage" type="DOMString" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="tagName" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaLanguage"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"normalize-characters"' value="false"/>
+<getResourceURI var="resourceURI" href='"characternormalization1"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<assertNotNull actual="doc" id="docNotNull"/>
+<documentElement var="docElem" obj="doc"/>
+<tagName var="tagName" obj="docElem"/>
+<assertEquals actual="tagName" expected='"suc&#x327;on"' ignoreCase="false" id="notNormalized"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/normalizecharacters02.xml b/test/testcases/tests/level3/ls/normalizecharacters02.xml
new file mode 100644
index 0000000..5783e07
--- /dev/null
+++ b/test/testcases/tests/level3/ls/normalizecharacters02.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="normalizecharacters02">
+<metadata>
+<title>normalizecharacters02</title>
+<creator>Curt Arnold</creator>
+<description>
+Parsing a non-Unicode normalized document should result in Unicode-normalized content if normalize-characters is true..
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-normalize-characters"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<var name="nullSchemaLanguage" type="DOMString" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="tagName" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaLanguage"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"normalize-characters"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"normalize-characters"' value="true"/>
+<getResourceURI var="resourceURI" href='"characternormalization1"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<assertNotNull actual="doc" id="docNotNull"/>
+<documentElement var="docElem" obj="doc"/>
+<tagName var="tagName" obj="docElem"/>
+<assertEquals actual="tagName" expected='"su&#xE7;on"' ignoreCase="false" id="charNormalized"/>
+</if>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/normalizecharacters03.xml b/test/testcases/tests/level3/ls/normalizecharacters03.xml
new file mode 100644
index 0000000..e968623
--- /dev/null
+++ b/test/testcases/tests/level3/ls/normalizecharacters03.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="normalizecharacters03">
+<metadata>
+<title>normalizecharacters03</title>
+<creator>Curt Arnold</creator>
+<description>
+Characters should be normalized on serialization if normalize-characters is true.
+</description>
+<date qualifier="created">2004-04-01</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-normalize-characters"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="newNode" type="Node"/>
+<var name="output" type="DOMString"/>
+<var name="retNode" type="Node"/>
+<var name="canSet" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<canSetParameter var="canSet" obj="domConfig" name='"normalize-characters"' value="true"/>
+<if><isTrue value="canSet"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"suc&#x327;on"' doctype="docType"/>
+<documentElement var="docElem" obj="doc"/>
+<setParameter obj="domConfig" name='"normalize-characters"' value="true"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<assertTrue id="notNormalized"><contains obj="output" str='"su&#xE7;on"' interface="DOMString"/></assertTrue>
+</if>
+</test>
diff --git a/test/testcases/tests/level3/ls/normalizecharacters04.xml b/test/testcases/tests/level3/ls/normalizecharacters04.xml
new file mode 100644
index 0000000..35023fd
--- /dev/null
+++ b/test/testcases/tests/level3/ls/normalizecharacters04.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="normalizecharacters04">
+<metadata>
+<title>normalizecharacters04</title>
+<creator>Curt Arnold</creator>
+<description>
+Characters should be not normalized on serialization if normalize-characters is false.
+</description>
+<date qualifier="created">2004-04-01</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-normalize-characters"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="output" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"suc&#x327;on"' doctype="docType"/>
+<documentElement var="docElem" obj="doc"/>
+<setParameter obj="domConfig" name='"normalize-characters"' value="false"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<assertTrue id="notNormalized"><contains obj="output" str='"suc&#x327;on"' interface="DOMString"/></assertTrue>
+</test>
diff --git a/test/testcases/tests/level3/ls/schemalocation01.xml b/test/testcases/tests/level3/ls/schemalocation01.xml
new file mode 100644
index 0000000..cee3ab7
--- /dev/null
+++ b/test/testcases/tests/level3/ls/schemalocation01.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="schemalocation01">
+<metadata>
+<title>schemalocation01</title>
+<creator>Curt Arnold</creator>
+<description>
+Validate a document with no DTD against an externally specified schema that matches its content.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-schema-location"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-schema-type"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetSchemaType" type="boolean"/>
+<var name="canSetSchemaLocation" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetSchemaType" obj="domConfig" name='"schema-type"' value='xsdNS'/>
+<getResourceURI var="resourceURI" href='"validateschema1"' contentType="text/xml"/>
+<canSetParameter var="canSetSchemaLocation" obj="domConfig" name='"schema-location"' value="resourceURI"/>
+<if>
+ <and>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetSchemaType"/>
+ <isTrue value="canSetSchemaLocation"/>
+ </and>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <setParameter obj="domConfig" name='"schema-location"' value="resourceURI"/>
+ <getResourceURI var="resourceURI" href='"validate1"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <assertNotNull actual="doc" id="docNotNull"/>
+ <documentElement var="elem" obj="doc"/>
+ <assertNotNull actual="elem" id="docElemNotNull"/>
+ <nodeName var="nodeName" obj="elem"/>
+ <assertEquals actual="nodeName" expected='"elt0"' ignoreCase="false" id="docElemName"/>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/schemalocation02.xml b/test/testcases/tests/level3/ls/schemalocation02.xml
new file mode 100644
index 0000000..287d724
--- /dev/null
+++ b/test/testcases/tests/level3/ls/schemalocation02.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="schemalocation02">
+<metadata>
+<title>schemalocation02</title>
+<creator>Curt Arnold</creator>
+<description>
+Validate a document with no DTD against an externally specified schema that does not match its content.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-schema-location"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-schema-type"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetSchemaType" type="boolean"/>
+<var name="canSetSchemaLocation" type="boolean"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="severity" type="int"/>
+<var name="errorCount" type="int" value="0"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetSchemaType" obj="domConfig" name='"schema-type"' value='xsdNS'/>
+<getResourceURI var="resourceURI" href='"validateschema1"' contentType="text/xml"/>
+<canSetParameter var="canSetSchemaLocation" obj="domConfig" name='"schema-location"' value="resourceURI"/>
+<if>
+ <and>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetSchemaType"/>
+ <isTrue value="canSetSchemaLocation"/>
+ </and>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <setParameter obj="domConfig" name='"schema-location"' value="resourceURI"/>
+ <setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+ <getResourceURI var="resourceURI" href='"test3"' contentType="text/xml"/>
+ <assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+ </assertLSException>
+ <allErrors var="errors" obj="errorMonitor"/>
+ <for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <if><equals actual="severity" expected="2" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+ </for-each>
+ <assertTrue id="atLeastOneError"><greater actual="errorCount" expected="0"/></assertTrue>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/schemalocation03.xml b/test/testcases/tests/level3/ls/schemalocation03.xml
new file mode 100644
index 0000000..235fb95
--- /dev/null
+++ b/test/testcases/tests/level3/ls/schemalocation03.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="schemalocation03">
+<metadata>
+<title>schemalocation03</title>
+<creator>Curt Arnold</creator>
+<description>
+Serialize a document with no DTD against an externally specified schema that matches its content.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-schema-location"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-schema-type"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetSchemaType" type="boolean"/>
+<var name="canSetSchemaLocation" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<var name="doctype" type="DocumentType" isNull="true"/>
+<var name="output" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetSchemaType" obj="domConfig" name='"schema-type"' value='xsdNS'/>
+<getResourceURI var="resourceURI" href='"validateschema1"' contentType="text/xml"/>
+<canSetParameter var="canSetSchemaLocation" obj="domConfig" name='"schema-location"' value="resourceURI"/>
+<if>
+ <and>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetSchemaType"/>
+ <isTrue value="canSetSchemaLocation"/>
+ </and>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <setParameter obj="domConfig" name='"schema-location"' value="resourceURI"/>
+ <createDocument var="doc" obj="domImplLS" namespaceURI="nullNS" qualifiedName='"elt0"' doctype="doctype"/>
+ <writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/schemalocation04.xml b/test/testcases/tests/level3/ls/schemalocation04.xml
new file mode 100644
index 0000000..8eea1ed
--- /dev/null
+++ b/test/testcases/tests/level3/ls/schemalocation04.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="schemalocation04">
+<metadata>
+<title>schemalocation04</title>
+<creator>Curt Arnold</creator>
+<description>
+Serialize a document with no DTD against an externally specified schema that matches its content.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-schema-location"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-schema-type"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetSchemaType" type="boolean"/>
+<var name="canSetSchemaLocation" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<var name="doctype" type="DocumentType" isNull="true"/>
+<var name="output" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetSchemaType" obj="domConfig" name='"schema-type"' value='xsdNS'/>
+<getResourceURI var="resourceURI" href='"validateschema1"' contentType="text/xml"/>
+<canSetParameter var="canSetSchemaLocation" obj="domConfig" name='"schema-location"' value="resourceURI"/>
+<if>
+ <and>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetSchemaType"/>
+ <isTrue value="canSetSchemaLocation"/>
+ </and>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <setParameter obj="domConfig" name='"schema-location"' value="resourceURI"/>
+ <createDocument var="doc" obj="domImplLS" namespaceURI="nullNS" qualifiedName='"elt2"' doctype="doctype"/>
+ <assertLSException id="throw_SERIALIZE_ERR">
+ <SERIALIZE_ERR>
+ <writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+ </SERIALIZE_ERR>
+ </assertLSException>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/schematype01.xml b/test/testcases/tests/level3/ls/schematype01.xml
new file mode 100644
index 0000000..48b5fd7
--- /dev/null
+++ b/test/testcases/tests/level3/ls/schematype01.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="schematype01">
+<metadata>
+<title>schematype01</title>
+<creator>Curt Arnold</creator>
+<description>
+Specify schema validation for a document with a DTD but no specified schema.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-schema-type"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetSchemaType" type="boolean"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="severity" type="int"/>
+<var name="errorCount" type="int" value="0"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetSchemaType" obj="domConfig" name='"schema-type"' value='xsdNS'/>
+<if>
+ <and>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetSchemaType"/>
+ </and>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+ <getResourceURI var="resourceURI" href='"test3"' contentType="text/xml"/>
+ <assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+ </assertLSException>
+ <allErrors var="errors" obj="errorMonitor"/>
+ <for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <if><equals actual="severity" expected="2" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+ </for-each>
+ <assertTrue id="atLeastOneError"><greater actual="errorCount" expected="0"/></assertTrue>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/schematype02.xml b/test/testcases/tests/level3/ls/schematype02.xml
new file mode 100644
index 0000000..ef87613
--- /dev/null
+++ b/test/testcases/tests/level3/ls/schematype02.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="schematype02">
+<metadata>
+<title>schematype02</title>
+<creator>Curt Arnold</creator>
+<description>
+Specify DTD validation for a document with a matching DTD.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-schema-type"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetSchemaType" type="boolean"/>
+<var name="dtdNS" type="DOMString" value='"http://www.w3.org/TR/REC-xml"'/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetSchemaType" obj="domConfig" name='"schema-type"' value='dtdNS'/>
+<if>
+ <and>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetSchemaType"/>
+ </and>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='dtdNS'/>
+ <getResourceURI var="resourceURI" href='"test3"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <assertNotNull actual="doc" id="docNotNull"/>
+ <documentElement var="elem" obj="doc"/>
+ <assertNotNull actual="elem" id="docElemNotNull"/>
+ <nodeName var="nodeName" obj="elem"/>
+ <assertEquals actual="nodeName" expected='"elt0"' ignoreCase="false" id="docElemName"/>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/schematype03.xml b/test/testcases/tests/level3/ls/schematype03.xml
new file mode 100644
index 0000000..4ade8b4
--- /dev/null
+++ b/test/testcases/tests/level3/ls/schematype03.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="schematype03">
+<metadata>
+<title>schematype03</title>
+<creator>Curt Arnold</creator>
+<description>
+Specify schema validation for a document with no DTD but schema location hints.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-schema-type"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetSchemaType" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetSchemaType" obj="domConfig" name='"schema-type"' value='xsdNS'/>
+<if>
+ <and>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetSchemaType"/>
+ </and>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <getResourceURI var="resourceURI" href='"schematype1"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <assertNotNull actual="doc" id="docNotNull"/>
+ <documentElement var="elem" obj="doc"/>
+ <assertNotNull actual="elem" id="docElemNotNull"/>
+ <nodeName var="nodeName" obj="elem"/>
+ <assertEquals actual="nodeName" expected='"elt0"' ignoreCase="false" id="docElemName"/>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/schematype04.xml b/test/testcases/tests/level3/ls/schematype04.xml
new file mode 100644
index 0000000..2fc6145
--- /dev/null
+++ b/test/testcases/tests/level3/ls/schematype04.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="schematype04">
+<metadata>
+<title>schematype04</title>
+<creator>Curt Arnold</creator>
+<description>
+Serialize a document with schema validation but no available schema.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-schema-type"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="canSetValidate" type="boolean"/>
+<var name="canSetSchemaType" type="boolean"/>
+<var name="xsdNS" type="DOMString" value='"http://www.w3.org/2001/XMLSchema"'/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="nullNS" type="DOMString" isNull="true"/>
+<var name="doctype" type="DocumentType" isNull="true"/>
+<var name="output" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<canSetParameter var="canSetValidate" obj="domConfig" name='"validate"' value="true"/>
+<canSetParameter var="canSetSchemaType" obj="domConfig" name='"schema-type"' value='xsdNS'/>
+<if>
+ <and>
+ <isTrue value="canSetValidate"/>
+ <isTrue value="canSetSchemaType"/>
+ </and>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <setParameter obj="domConfig" name='"schema-type"' value='xsdNS'/>
+ <createDocument var="doc" obj="domImplLS" namespaceURI="nullNS" qualifiedName='"elt0"' doctype="doctype"/>
+ <assertLSException id="throw_SERIALIZE_ERR">
+ <SERIALIZE_ERR>
+ <writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+ </SERIALIZE_ERR>
+ </assertLSException>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/splitcdatasections01.xml b/test/testcases/tests/level3/ls/splitcdatasections01.xml
new file mode 100644
index 0000000..9dcde32
--- /dev/null
+++ b/test/testcases/tests/level3/ls/splitcdatasections01.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="splitcdatasections01">
+<metadata>
+<title>splitcdatasections01</title>
+<creator>Curt Arnold</creator>
+<description>
+CDATASections containing unrepresentable characters should be split when split-cdata-sections is true.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-split-cdata-sections"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="newNode" type="Node"/>
+<var name="output" type="DOMString"/>
+<var name="retNode" type="Node"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"test"' doctype="docType"/>
+<documentElement var="docElem" obj="doc"/>
+<createCDATASection var="newNode" obj="doc" data='"this is not ]]&gt; good"'/>
+<appendChild var="retNode" obj="docElem" newChild="newNode"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"split-cdata-sections"' value="true"/>
+<setParameter obj="domConfig" name='"cdata-sections"' value="true"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<assertFalse id="notNaive"><contains obj="output" str='"this is not ]]&gt; good"' interface="DOMString"/></assertFalse>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/splitcdatasections02.xml b/test/testcases/tests/level3/ls/splitcdatasections02.xml
new file mode 100644
index 0000000..c74b177
--- /dev/null
+++ b/test/testcases/tests/level3/ls/splitcdatasections02.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="splitcdatasections02">
+<metadata>
+<title>splitcdatasections02</title>
+<creator>Curt Arnold</creator>
+<description>
+CDATASections containing unrepresentable characters raise a SERIALIZE_ERR when
+split-cdata-sections is false and well-formed is true.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-split-cdata-sections"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-well-formed"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="docElem" type="Element"/>
+<var name="newNode" type="Node"/>
+<var name="output" type="DOMString"/>
+<var name="retNode" type="Node"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="severity" type="int"/>
+<var name="type" type="DOMString"/>
+<var name="errorCount" type="int" value="0"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"test"' doctype="docType"/>
+<documentElement var="docElem" obj="doc"/>
+<createCDATASection var="newNode" obj="doc" data='"this is not ]]&gt; good"'/>
+<appendChild var="retNode" obj="docElem" newChild="newNode"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"split-cdata-sections"' value="false"/>
+<setParameter obj="domConfig" name='"cdata-sections"' value="true"/>
+<setParameter obj="domConfig" name='"well-formed"' value="true"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<assertLSException id="throw_SERIALIZE_ERR">
+ <SERIALIZE_ERR>
+ <writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+ </SERIALIZE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <type var="type" obj="error" interface="DOMError"/>
+ <if><equals actual="type" expected='"wf-invalid-character"' ignoreCase="false"/>
+ <assertEquals actual="severity" expected="2" ignoreCase="false" id="severityError"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertTrue id="hasWfErrors"><greater actual="errorCount" expected="0"/></assertTrue>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/unsupportedencoding01.xml b/test/testcases/tests/level3/ls/unsupportedencoding01.xml
new file mode 100644
index 0000000..d0eb19d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/unsupportedencoding01.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="unsupportedencoding01">
+<metadata>
+<title>checkcharacternormalization02</title>
+<creator>Curt Arnold</creator>
+<description>
+Parsing a document with a unsupported encoding should raise a PARSE_ERR and dispatch a "unsupported-encoding"
+DOM error.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="nullSchemaLanguage" type="DOMString" isNull="true"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="severity" type="int"/>
+<var name="type" type="DOMString"/>
+<var name="errorCount" type="int" value="0"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaLanguage"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<getResourceURI var="resourceURI" href='"unsupportedencoding1"' contentType="text/xml"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <type var="type" obj="error" interface="DOMError"/>
+ <if><equals actual="type" expected='"unsupported-encoding"' ignoreCase="true"/>
+ <assertEquals actual="severity" expected="3" id="isError" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertEquals actual="errorCount" expected="1" ignoreCase="false" id="oneError"/>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/validate01.xml b/test/testcases/tests/level3/ls/validate01.xml
new file mode 100644
index 0000000..9d899c7
--- /dev/null
+++ b/test/testcases/tests/level3/ls/validate01.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="validate01">
+<metadata>
+<title>validate01</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document without a DTD with validate=false, should load without complaint.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"validate"' value="false"/>
+<getResourceURI var="resourceURI" href='"test0"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<assertNotNull actual="doc" id="docNotNull"/>
+<documentElement var="elem" obj="doc"/>
+<assertNotNull actual="elem" id="docElemNotNull"/>
+<nodeName var="nodeName" obj="elem"/>
+<assertEquals actual="nodeName" expected='"elt0"' ignoreCase="false" id="docElemName"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/validate02.xml b/test/testcases/tests/level3/ls/validate02.xml
new file mode 100644
index 0000000..9071403
--- /dev/null
+++ b/test/testcases/tests/level3/ls/validate02.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="validate02">
+<metadata>
+<title>validate02</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document without a DTD with validate=true, should throw PARSE_ERR.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="canSet" type="boolean"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="errorCount" type="int" value="0"/>
+<var name="severity" type="int"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"validate"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"validate"' value="true"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<getResourceURI var="resourceURI" href='"test0"' contentType="text/xml"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <if><equals actual="severity" expected="2" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertTrue id="atLeastOneError"><greater actual="errorCount" expected="0"/></assertTrue>
+</if>
+</test>
diff --git a/test/testcases/tests/level3/ls/validate03.xml b/test/testcases/tests/level3/ls/validate03.xml
new file mode 100644
index 0000000..12e0108
--- /dev/null
+++ b/test/testcases/tests/level3/ls/validate03.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="validate03">
+<metadata>
+<title>validate03</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with a DTD that doesn't match content with validate=false, should load without complaint.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"validate"' value="false"/>
+<getResourceURI var="resourceURI" href='"validate1"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<assertNotNull actual="doc" id="docNotNull"/>
+<documentElement var="elem" obj="doc"/>
+<assertNotNull actual="elem" id="docElemNotNull"/>
+<nodeName var="nodeName" obj="elem"/>
+<assertEquals actual="nodeName" expected='"elt0"' ignoreCase="false" id="docElemName"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/validate04.xml b/test/testcases/tests/level3/ls/validate04.xml
new file mode 100644
index 0000000..34a9091
--- /dev/null
+++ b/test/testcases/tests/level3/ls/validate04.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="validate04">
+<metadata>
+<title>validate04</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with mismatched DTD with validate=true, should throw PARSE_ERR.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="canSet" type="boolean"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="errorCount" type="int" value="0"/>
+<var name="severity" type="int"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"validate"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"validate"' value="true"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<getResourceURI var="resourceURI" href='"validate1"' contentType="text/xml"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <if><equals actual="severity" expected="2" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertTrue id="atLeastOneError"><greater actual="errorCount" expected="0"/></assertTrue>
+</if>
+</test>
diff --git a/test/testcases/tests/level3/ls/validate05.xml b/test/testcases/tests/level3/ls/validate05.xml
new file mode 100644
index 0000000..805647a
--- /dev/null
+++ b/test/testcases/tests/level3/ls/validate05.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="validate05">
+<metadata>
+<title>validate05</title>
+<creator>Curt Arnold</creator>
+<description>
+A document without a DTD should serialize without complaint if validate is false.
+</description>
+<date qualifier="created">2004-04-01</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="output" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"test"' doctype="docType"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"validate"' value="false"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+</test>
diff --git a/test/testcases/tests/level3/ls/validate06.xml b/test/testcases/tests/level3/ls/validate06.xml
new file mode 100644
index 0000000..a637b35
--- /dev/null
+++ b/test/testcases/tests/level3/ls/validate06.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="validate06">
+<metadata>
+<title>validate06</title>
+<creator>Curt Arnold</creator>
+<description>
+A document without a DTD should throw a SERIALIZE_ERR if validate is true.
+</description>
+<date qualifier="created">2004-04-01</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="output" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"test"' doctype="docType"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<canSetParameter var="canSet" obj="domConfig" name='"validate"' value="true"/>
+<if><isTrue value="canSet"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <assertLSException id="throw_SERIALIZE_ERR">
+ <SERIALIZE_ERR>
+ <writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+ </SERIALIZE_ERR>
+ </assertLSException>
+</if>
+</test>
diff --git a/test/testcases/tests/level3/ls/validate07.xml b/test/testcases/tests/level3/ls/validate07.xml
new file mode 100644
index 0000000..3065835
--- /dev/null
+++ b/test/testcases/tests/level3/ls/validate07.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="validate07">
+<metadata>
+<title>validate07</title>
+<creator>Curt Arnold</creator>
+<description>
+Load and serialize a document with a DTD that doesn't match content with validate=false, should load and serialize without complaint.
+</description>
+<date qualifier="created">2004-04-01</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="output" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"validate"' value="false"/>
+<getResourceURI var="resourceURI" href='"validate1"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<assertNotNull actual="doc" id="docNotNull"/>
+<documentElement var="elem" obj="doc"/>
+<assertNotNull actual="elem" id="docElemNotNull"/>
+<nodeName var="nodeName" obj="elem"/>
+<assertEquals actual="nodeName" expected='"elt0"' ignoreCase="false" id="docElemName"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"validate"' value="false"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/validate08.xml b/test/testcases/tests/level3/ls/validate08.xml
new file mode 100644
index 0000000..8272054
--- /dev/null
+++ b/test/testcases/tests/level3/ls/validate08.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="validate08">
+<metadata>
+<title>validate08</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with a DTD that doesn't match content, then attempt to serialize when validate is true which
+should result in a SERIALIZE_ERR.
+</description>
+<date qualifier="created">2004-04-01</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="output" type="DOMString"/>
+<var name="canSet" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<canSetParameter var="canSet" obj="domConfig" name='"validate"' value="true"/>
+<if><isTrue value="canSet"/>
+ <setParameter obj="domConfig" name='"validate"' value="true"/>
+ <createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+ <domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+ <setParameter obj="domConfig" name='"validate"' value="false"/>
+ <getResourceURI var="resourceURI" href='"validate1"' contentType="text/xml"/>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ <assertLSException id="throw_SERIALIZE_ERR">
+ <SERIALIZE_ERR>
+ <writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+ </SERIALIZE_ERR>
+ </assertLSException>
+</if>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/validateifschema01.xml b/test/testcases/tests/level3/ls/validateifschema01.xml
new file mode 100644
index 0000000..118fa3d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/validateifschema01.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="validateifschema01">
+<metadata>
+<title>validateifschema01</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document without a DTD with validate-if-schema=false, should load without complaint.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate-if-schema"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"validate-if-schema"' value="false"/>
+<getResourceURI var="resourceURI" href='"test0"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<assertNotNull actual="doc" id="docNotNull"/>
+<documentElement var="elem" obj="doc"/>
+<assertNotNull actual="elem" id="docElemNotNull"/>
+<nodeName var="nodeName" obj="elem"/>
+<assertEquals actual="nodeName" expected='"elt0"' ignoreCase="false" id="docElemName"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/validateifschema02.xml b/test/testcases/tests/level3/ls/validateifschema02.xml
new file mode 100644
index 0000000..7c53eeb
--- /dev/null
+++ b/test/testcases/tests/level3/ls/validateifschema02.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="validateifschema02">
+<metadata>
+<title>validateifschema02</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document without a DTD with validate-if-schema=true should successfully complete.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate-if-schema"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="canSet" type="boolean"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"validate-if-schema"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"validate-if-schema"' value="true"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<getResourceURI var="resourceURI" href='"test0"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<assertNotNull actual="doc" id="docNotNull"/>
+<assertLowerSeverity id="noErrors" obj="errorMonitor" severity="SEVERITY_ERROR"/>
+<documentElement var="elem" obj="doc"/>
+<assertNotNull actual="elem" id="docElemNotNull"/>
+<nodeName var="nodeName" obj="elem"/>
+<assertEquals actual="nodeName" expected='"elt0"' ignoreCase="false" id="docElemName"/>
+</if>
+</test>
diff --git a/test/testcases/tests/level3/ls/validateifschema03.xml b/test/testcases/tests/level3/ls/validateifschema03.xml
new file mode 100644
index 0000000..5dd1aa7
--- /dev/null
+++ b/test/testcases/tests/level3/ls/validateifschema03.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="validateifschema03">
+<metadata>
+<title>validateifschema03</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with a DTD that doesn't match content with validate-if-schema=false, should load without complaint.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate-if-schema"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"validate-if-schema"' value="false"/>
+<getResourceURI var="resourceURI" href='"validate1"' contentType="text/xml"/>
+<parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+<assertNotNull actual="doc" id="docNotNull"/>
+<documentElement var="elem" obj="doc"/>
+<assertNotNull actual="elem" id="docElemNotNull"/>
+<nodeName var="nodeName" obj="elem"/>
+<assertEquals actual="nodeName" expected='"elt0"' ignoreCase="false" id="docElemName"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/validateifschema04.xml b/test/testcases/tests/level3/ls/validateifschema04.xml
new file mode 100644
index 0000000..90f504d
--- /dev/null
+++ b/test/testcases/tests/level3/ls/validateifschema04.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="validateifschema04">
+<metadata>
+<title>validateifschema04</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with mismatched DTD with validate-if-schema=true, should throw PARSE_ERR.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-validate-if-schema"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="canSet" type="boolean"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="errorCount" type="int" value="0"/>
+<var name="severity" type="int"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<canSetParameter var="canSet" obj="domConfig" name='"validate-if-schema"' value="true"/>
+<if><isTrue value="canSet"/>
+<setParameter obj="domConfig" name='"validate-if-schema"' value="true"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<getResourceURI var="resourceURI" href='"validate1"' contentType="text/xml"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <severity var="severity" obj="error"/>
+ <if><equals actual="severity" expected="2" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertTrue id="atLeastOneError"><greater actual="errorCount" expected="0"/></assertTrue>
+</if>
+</test>
diff --git a/test/testcases/tests/level3/ls/wellformed01.xml b/test/testcases/tests/level3/ls/wellformed01.xml
new file mode 100644
index 0000000..2dcd46e
--- /dev/null
+++ b/test/testcases/tests/level3/ls/wellformed01.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="wellformed01">
+<metadata>
+<title>wellformed01</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with an invalid character in a tagname.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-well-formed"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="errorCount" type="int" value="0"/>
+<var name="severity" type="int"/>
+<var name="type" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"well-formed"' value="true"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<getResourceURI var="resourceURI" href='"wellformed1"' contentType="text/xml"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <type interface="DOMError" var="type" obj="error"/>
+ <severity var="severity" obj="error"/>
+ <if><greater actual="severity" expected="1"/>
+ <assertEquals actual="type" expected='"wf-invalid-character-in-node-name"' ignoreCase="false" id="type"/>
+ <assertEquals actual="severity" expected="2" id="severityError" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertEquals actual="errorCount" expected="1" ignoreCase="false" id="oneWFError"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/wellformed02.xml b/test/testcases/tests/level3/ls/wellformed02.xml
new file mode 100644
index 0000000..68310e3
--- /dev/null
+++ b/test/testcases/tests/level3/ls/wellformed02.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="wellformed02">
+<metadata>
+<title>wellformed02</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with an invalid character in an attribute name.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-well-formed"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="errorCount" type="int" value="0"/>
+<var name="severity" type="int"/>
+<var name="type" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"well-formed"' value="true"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<getResourceURI var="resourceURI" href='"wellformed2"' contentType="text/xml"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <type interface="DOMError" var="type" obj="error"/>
+ <severity var="severity" obj="error"/>
+ <if><greater actual="severity" expected="1"/>
+ <assertEquals actual="type" expected='"wf-invalid-character-in-node-name"' ignoreCase="false" id="type"/>
+ <assertEquals actual="severity" expected="2" id="severityError" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertEquals actual="errorCount" expected="1" ignoreCase="false" id="oneWFError"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/wellformed03.xml b/test/testcases/tests/level3/ls/wellformed03.xml
new file mode 100644
index 0000000..4c6faaf
--- /dev/null
+++ b/test/testcases/tests/level3/ls/wellformed03.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="wellformed03">
+<metadata>
+<title>wellformed03</title>
+<creator>Curt Arnold</creator>
+<description>
+Load a document with an invalid character in an attribute value, should throw a PARSE_ERR and
+dispatch a DOMError with type 'wf-invalid-character'.
+</description>
+<date qualifier="created">2004-03-29</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSParser-parseURI"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-well-formed"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="elem" type="Element"/>
+<var name="node" type="Node"/>
+<var name="nodeName" type="DOMString"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsParser" type="LSParser"/>
+<var name="nullSchemaType" type="DOMString" isNull="true"/>
+<var name="resourceURI" type="DOMString"/>
+<var name="errorMonitor" type="DOMErrorMonitor"/>
+<var name="errors" type="List"/>
+<var name="error" type="DOMError"/>
+<var name="errorCount" type="int" value="0"/>
+<var name="severity" type="int"/>
+<var name="type" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSParser var="lsParser" obj="domImplLS" mode="1" schemaType="nullSchemaType"/>
+<domConfig obj="lsParser" var="domConfig" interface="LSParser"/>
+<setParameter obj="domConfig" name='"well-formed"' value="true"/>
+<setParameter obj="domConfig" name='"error-handler"' value="errorMonitor"/>
+<getResourceURI var="resourceURI" href='"wellformed3"' contentType="text/xml"/>
+<assertLSException id="throw_PARSE_ERR">
+ <PARSE_ERR>
+ <parseURI var="doc" obj="lsParser" uri="resourceURI"/>
+ </PARSE_ERR>
+</assertLSException>
+<allErrors var="errors" obj="errorMonitor"/>
+<for-each member="error" collection="errors">
+ <type interface="DOMError" var="type" obj="error"/>
+ <severity var="severity" obj="error"/>
+ <if><equals actual="type" expected='"wf-invalid-character"' ignoreCase="false"/>
+ <assertEquals actual="severity" expected="2" id="severityError" ignoreCase="false"/>
+ <increment var="errorCount" value="1"/>
+ </if>
+</for-each>
+<assertEquals actual="errorCount" expected="1" ignoreCase="false" id="oneWFError"/>
+</test>
+
diff --git a/test/testcases/tests/level3/ls/writeToURI1.xml b/test/testcases/tests/level3/ls/writeToURI1.xml
new file mode 100644
index 0000000..96ef040
--- /dev/null
+++ b/test/testcases/tests/level3/ls/writeToURI1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="writeToURI1">
+ <metadata>
+ <title>writeToURI1</title>
+ <creator>Curt Arnold</creator>
+ <description>Writes a document to a URL for a temporary file
+ using LSSerializer.writeToURI and rereads the document.</description>
+ <date qualifier="created">2003-12-30</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToURI"/>
+ </metadata>
+ <implementationAttribute name="validating" value="false"/>
+
+ <var name="testDoc" type="Document"/>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="output" type="LSOutput"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="systemId" type="DOMString"/>
+ <var name="checkSystemId" type="DOMString"/>
+ <var name="status" type="boolean"/>
+ <var name="input" type="LSInput"/>
+ <var name="parser" type="LSParser"/>
+ <var name="checkDoc" type="Document"/>
+ <var name="docElem" type="Element"/>
+ <var name="docElemName" type="DOMString"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+
+ <load var="testDoc" href="test0" willBeModified="false"/>
+ <implementation var="domImpl"/>
+
+ <createTempURI var="systemId" scheme="file"/>
+
+ <!-- create a serializer and write a test document -->
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <writeToURI var="status" obj="serializer" nodeArg="testDoc" uri="systemId"/>
+ <assertTrue actual="status" id="writeStatus"/>
+
+ <!-- read the serialized document -->
+ <createLSInput var="input" obj="domImpl"/>
+ <systemId obj="input" value="systemId" interface="LSInput"/>
+ <createLSParser var="parser" obj="domImpl" schemaType="NULL_SCHEMA_TYPE" mode="1"/>
+ <parse var="checkDoc" obj="parser" input="input"/>
+ <assertNotNull actual="checkDoc" id="checkNotNull"/>
+ <documentElement var="docElem" obj="checkDoc"/>
+ <nodeName var="docElemName" obj="docElem"/>
+ <assertEquals expected='"elt0"' actual="docElemName" id="checkDocElemName" ignoreCase="false"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/writeToURI2.xml b/test/testcases/tests/level3/ls/writeToURI2.xml
new file mode 100644
index 0000000..89509bd
--- /dev/null
+++ b/test/testcases/tests/level3/ls/writeToURI2.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" standalone="no"?>
+<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+<!--
+
+Copyright (c) 2003 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+<!DOCTYPE test SYSTEM "dom3.dtd">
+
+
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="writeToURI2">
+ <metadata>
+ <title>writeToURI2</title>
+ <creator>Curt Arnold</creator>
+ <description>Writes a document to a URL for a http server
+ using LSSerializer.writeToURI and rereads the document.</description>
+ <date qualifier="created">2003-12-30</date>
+ <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToURI"/>
+ </metadata>
+ <implementationAttribute name="validating" value="false"/>
+
+ <var name="testDoc" type="Document"/>
+ <var name="domImpl" type="DOMImplementationLS"/>
+ <var name="output" type="LSOutput"/>
+ <var name="serializer" type="LSSerializer"/>
+ <var name="systemId" type="DOMString"/>
+ <var name="checkSystemId" type="DOMString"/>
+ <var name="status" type="boolean"/>
+ <var name="input" type="LSInput"/>
+ <var name="parser" type="LSParser"/>
+ <var name="checkDoc" type="Document"/>
+ <var name="docElem" type="Element"/>
+ <var name="docElemName" type="DOMString"/>
+ <var name="NULL_SCHEMA_TYPE" type="DOMString" isNull="true"/>
+
+ <load var="testDoc" href="test0" willBeModified="false"/>
+ <implementation var="domImpl"/>
+
+ <createTempURI var="systemId" scheme="http"/>
+
+ <!-- create a serializer and write a test document -->
+ <createLSSerializer var="serializer" obj="domImpl"/>
+ <writeToURI var="status" obj="serializer" nodeArg="testDoc" uri="systemId"/>
+ <assertTrue actual="status" id="writeStatus"/>
+
+ <!-- read the serialized document -->
+ <createLSInput var="input" obj="domImpl"/>
+ <systemId obj="input" value="systemId" interface="LSInput"/>
+ <createLSParser var="parser" obj="domImpl" schemaType="NULL_SCHEMA_TYPE" mode="1"/>
+ <parse var="checkDoc" obj="parser" input="input"/>
+ <assertNotNull actual="checkDoc" id="checkNotNull"/>
+ <documentElement var="docElem" obj="checkDoc"/>
+ <nodeName var="docElemName" obj="docElem"/>
+ <assertEquals expected='"elt0"' actual="docElemName" id="checkDocElemName" ignoreCase="false"/>
+</test>
+
+
+
+
+
diff --git a/test/testcases/tests/level3/ls/xmldeclaration01.xml b/test/testcases/tests/level3/ls/xmldeclaration01.xml
new file mode 100644
index 0000000..c5d1939
--- /dev/null
+++ b/test/testcases/tests/level3/ls/xmldeclaration01.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="xmldeclaration01">
+<metadata>
+<title>xmldeclaration01</title>
+<creator>Curt Arnold</creator>
+<description>
+XML declarations should be serialized if xml-declaration is true.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-xml-declaration"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="output" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"test"' doctype="docType"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"xml-declaration"' value="true"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<assertTrue id="containsXMLDecl"><contains obj="output" str='"&lt;?xml"' interface="DOMString"/></assertTrue>
+<assertTrue id="containsUTF16"><contains obj="output" str='"UTF-16"' interface="DOMString"/></assertTrue>
+<assertTrue id="contains1_0"><contains obj="output" str='"1.0"' interface="DOMString"/></assertTrue>
+</test>
+
+
diff --git a/test/testcases/tests/level3/ls/xmldeclaration02.xml b/test/testcases/tests/level3/ls/xmldeclaration02.xml
new file mode 100644
index 0000000..ce391b1
--- /dev/null
+++ b/test/testcases/tests/level3/ls/xmldeclaration02.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
+
+<!--
+
+Copyright (c) 2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, Institut National de
+Recherche en Informatique et en Automatique, Keio University). All
+Rights Reserved. This program is distributed under the W3C's Software
+Intellectual Property License. This program is distributed in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+
+-->
+
+<!DOCTYPE test SYSTEM "dom3.dtd">
+<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3" name="xmldeclaration02">
+<metadata>
+<title>xmldeclaration02</title>
+<creator>Curt Arnold</creator>
+<description>
+XML declarations should not be serialized if xml-declaration is false.
+</description>
+<date qualifier="created">2004-03-31</date>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#LS-LSSerializer-writeToString"/>
+<subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-xml-declaration"/>
+</metadata>
+<var name="doc" type="Document"/>
+<var name="domConfig" type="DOMConfiguration"/>
+<var name="domImplLS" type="DOMImplementationLS"/>
+<var name="lsSerializer" type="LSSerializer"/>
+<var name="docType" type="DocumentType" isNull="true"/>
+<var name="output" type="DOMString"/>
+<implementation var="domImplLS"/>
+<createLSSerializer var="lsSerializer" obj="domImplLS"/>
+<createDocument var="doc" obj="domImplLS" namespaceURI='"http://www.example.org"'
+ qualifiedName='"test"' doctype="docType"/>
+<domConfig obj="lsSerializer" var="domConfig" interface="LSSerializer"/>
+<setParameter obj="domConfig" name='"xml-declaration"' value="false"/>
+<writeToString var="output" obj="lsSerializer" nodeArg="doc"/>
+<assertFalse id="containsXMLDecl"><contains obj="output" str='"&lt;?xml"' interface="DOMString"/></assertFalse>
+<assertFalse id="containsUTF16"><contains obj="output" str='"UTF-16"' interface="DOMString"/></assertFalse>
+<assertFalse id="contains1_0"><contains obj="output" str='"1.0"' interface="DOMString"/></assertFalse>
+</test>
+
+