check all the namespace support was actually correct based on tutorial

* test/relaxng/* result/relaxng/*: check all the namespace support
  was actually correct based on tutorial section 10.
Daniel
diff --git a/ChangeLog b/ChangeLog
index 67cf344..e730927 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Feb  2 17:01:43 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+	* test/relaxng/* result/relaxng/*: check all the namespace support
+	  was actually correct based on tutorial section 10.
+
 Sun Feb  2 15:33:38 CET 2003 Daniel Veillard <daniel@veillard.com>
 
 	* relaxng: include seems to work okay now
diff --git a/result/relaxng/tutor10_10_1 b/result/relaxng/tutor10_10_1
new file mode 100644
index 0000000..2370ff2
--- /dev/null
+++ b/result/relaxng/tutor10_10_1
@@ -0,0 +1 @@
+./test/relaxng/tutor10_10_1.xml validates
diff --git a/result/relaxng/tutor10_10_1.err b/result/relaxng/tutor10_10_1.err
new file mode 100644
index 0000000..b6733d4
--- /dev/null
+++ b/result/relaxng/tutor10_10_1.err
@@ -0,0 +1,4 @@
+xmlRelaxNGValidateDefinition(): validated name : 0
+xmlRelaxNGValidateDefinition(): validated email : 0
+xmlRelaxNGValidateDefinition(): validated card : 0
+xmlRelaxNGValidateDefinition(): validated addressBook : 0
diff --git a/result/relaxng/tutor10_1_1 b/result/relaxng/tutor10_1_1
new file mode 100644
index 0000000..361e1e8
--- /dev/null
+++ b/result/relaxng/tutor10_1_1
@@ -0,0 +1 @@
+./test/relaxng/tutor10_1_1.xml validates
diff --git a/result/relaxng/tutor10_1_1.err b/result/relaxng/tutor10_1_1.err
new file mode 100644
index 0000000..95c294a
--- /dev/null
+++ b/result/relaxng/tutor10_1_1.err
@@ -0,0 +1,2 @@
+xmlRelaxNGValidateDefinition(): validated empty
+xmlRelaxNGValidateDefinition(): validated foo : 0
diff --git a/result/relaxng/tutor10_1_2 b/result/relaxng/tutor10_1_2
new file mode 100644
index 0000000..6092d7e
--- /dev/null
+++ b/result/relaxng/tutor10_1_2
@@ -0,0 +1 @@
+./test/relaxng/tutor10_1_2.xml validates
diff --git a/result/relaxng/tutor10_1_2.err b/result/relaxng/tutor10_1_2.err
new file mode 100644
index 0000000..95c294a
--- /dev/null
+++ b/result/relaxng/tutor10_1_2.err
@@ -0,0 +1,2 @@
+xmlRelaxNGValidateDefinition(): validated empty
+xmlRelaxNGValidateDefinition(): validated foo : 0
diff --git a/result/relaxng/tutor10_1_3 b/result/relaxng/tutor10_1_3
new file mode 100644
index 0000000..1c5b68d
--- /dev/null
+++ b/result/relaxng/tutor10_1_3
@@ -0,0 +1 @@
+./test/relaxng/tutor10_1_3.xml validates
diff --git a/result/relaxng/tutor10_1_3.err b/result/relaxng/tutor10_1_3.err
new file mode 100644
index 0000000..95c294a
--- /dev/null
+++ b/result/relaxng/tutor10_1_3.err
@@ -0,0 +1,2 @@
+xmlRelaxNGValidateDefinition(): validated empty
+xmlRelaxNGValidateDefinition(): validated foo : 0
diff --git a/result/relaxng/tutor10_1_4 b/result/relaxng/tutor10_1_4
new file mode 100644
index 0000000..f5a3363
--- /dev/null
+++ b/result/relaxng/tutor10_1_4
@@ -0,0 +1,3 @@
+Expecting a namespace for element foo
+extra data on the document
+./test/relaxng/tutor10_1_4.xml validation generated an internal error
diff --git a/result/relaxng/tutor10_1_4.err b/result/relaxng/tutor10_1_4.err
new file mode 100644
index 0000000..053fea9
--- /dev/null
+++ b/result/relaxng/tutor10_1_4.err
@@ -0,0 +1,2 @@
+error detected at relaxng.c:4741
+error detected at relaxng.c:5027
diff --git a/result/relaxng/tutor10_1_5 b/result/relaxng/tutor10_1_5
new file mode 100644
index 0000000..2a78972
--- /dev/null
+++ b/result/relaxng/tutor10_1_5
@@ -0,0 +1,3 @@
+Expecting element foo has wrong namespace: expecting http://www.example.com
+extra data on the document
+./test/relaxng/tutor10_1_5.xml validation generated an internal error
diff --git a/result/relaxng/tutor10_1_5.err b/result/relaxng/tutor10_1_5.err
new file mode 100644
index 0000000..62f4ef2
--- /dev/null
+++ b/result/relaxng/tutor10_1_5.err
@@ -0,0 +1,2 @@
+error detected at relaxng.c:4746
+error detected at relaxng.c:5027
diff --git a/result/relaxng/tutor10_1_6 b/result/relaxng/tutor10_1_6
new file mode 100644
index 0000000..0d3c2a7
--- /dev/null
+++ b/result/relaxng/tutor10_1_6
@@ -0,0 +1,3 @@
+Expecting element foo has wrong namespace: expecting http://www.example.com
+extra data on the document
+./test/relaxng/tutor10_1_6.xml validation generated an internal error
diff --git a/result/relaxng/tutor10_1_6.err b/result/relaxng/tutor10_1_6.err
new file mode 100644
index 0000000..62f4ef2
--- /dev/null
+++ b/result/relaxng/tutor10_1_6.err
@@ -0,0 +1,2 @@
+error detected at relaxng.c:4746
+error detected at relaxng.c:5027
diff --git a/result/relaxng/tutor10_2_1 b/result/relaxng/tutor10_2_1
new file mode 100644
index 0000000..836dbf7
--- /dev/null
+++ b/result/relaxng/tutor10_2_1
@@ -0,0 +1 @@
+./test/relaxng/tutor10_2_1.xml validates
diff --git a/result/relaxng/tutor10_2_1.err b/result/relaxng/tutor10_2_1.err
new file mode 100644
index 0000000..95c294a
--- /dev/null
+++ b/result/relaxng/tutor10_2_1.err
@@ -0,0 +1,2 @@
+xmlRelaxNGValidateDefinition(): validated empty
+xmlRelaxNGValidateDefinition(): validated foo : 0
diff --git a/result/relaxng/tutor10_2_2 b/result/relaxng/tutor10_2_2
new file mode 100644
index 0000000..7e6ce31
--- /dev/null
+++ b/result/relaxng/tutor10_2_2
@@ -0,0 +1 @@
+./test/relaxng/tutor10_2_2.xml validates
diff --git a/result/relaxng/tutor10_2_2.err b/result/relaxng/tutor10_2_2.err
new file mode 100644
index 0000000..95c294a
--- /dev/null
+++ b/result/relaxng/tutor10_2_2.err
@@ -0,0 +1,2 @@
+xmlRelaxNGValidateDefinition(): validated empty
+xmlRelaxNGValidateDefinition(): validated foo : 0
diff --git a/result/relaxng/tutor10_2_3 b/result/relaxng/tutor10_2_3
new file mode 100644
index 0000000..041c72c
--- /dev/null
+++ b/result/relaxng/tutor10_2_3
@@ -0,0 +1,3 @@
+Expecting no namespace for element foo
+extra data on the document
+./test/relaxng/tutor10_2_3.xml validation generated an internal error
diff --git a/result/relaxng/tutor10_2_3.err b/result/relaxng/tutor10_2_3.err
new file mode 100644
index 0000000..157f917
--- /dev/null
+++ b/result/relaxng/tutor10_2_3.err
@@ -0,0 +1,2 @@
+error detected at relaxng.c:4753
+error detected at relaxng.c:5027
diff --git a/result/relaxng/tutor10_2_4 b/result/relaxng/tutor10_2_4
new file mode 100644
index 0000000..fc6079d
--- /dev/null
+++ b/result/relaxng/tutor10_2_4
@@ -0,0 +1,3 @@
+Expecting no namespace for element foo
+extra data on the document
+./test/relaxng/tutor10_2_4.xml validation generated an internal error
diff --git a/result/relaxng/tutor10_2_4.err b/result/relaxng/tutor10_2_4.err
new file mode 100644
index 0000000..157f917
--- /dev/null
+++ b/result/relaxng/tutor10_2_4.err
@@ -0,0 +1,2 @@
+error detected at relaxng.c:4753
+error detected at relaxng.c:5027
diff --git a/result/relaxng/tutor10_3_1 b/result/relaxng/tutor10_3_1
new file mode 100644
index 0000000..5f9a3b0
--- /dev/null
+++ b/result/relaxng/tutor10_3_1
@@ -0,0 +1 @@
+./test/relaxng/tutor10_3_1.xml validates
diff --git a/result/relaxng/tutor10_3_1.err b/result/relaxng/tutor10_3_1.err
new file mode 100644
index 0000000..b6733d4
--- /dev/null
+++ b/result/relaxng/tutor10_3_1.err
@@ -0,0 +1,4 @@
+xmlRelaxNGValidateDefinition(): validated name : 0
+xmlRelaxNGValidateDefinition(): validated email : 0
+xmlRelaxNGValidateDefinition(): validated card : 0
+xmlRelaxNGValidateDefinition(): validated addressBook : 0
diff --git a/result/relaxng/tutor10_4_1 b/result/relaxng/tutor10_4_1
new file mode 100644
index 0000000..833c5ee
--- /dev/null
+++ b/result/relaxng/tutor10_4_1
@@ -0,0 +1 @@
+./test/relaxng/tutor10_4_1.xml validates
diff --git a/result/relaxng/tutor10_4_1.err b/result/relaxng/tutor10_4_1.err
new file mode 100644
index 0000000..b6733d4
--- /dev/null
+++ b/result/relaxng/tutor10_4_1.err
@@ -0,0 +1,4 @@
+xmlRelaxNGValidateDefinition(): validated name : 0
+xmlRelaxNGValidateDefinition(): validated email : 0
+xmlRelaxNGValidateDefinition(): validated card : 0
+xmlRelaxNGValidateDefinition(): validated addressBook : 0
diff --git a/result/relaxng/tutor10_5_1 b/result/relaxng/tutor10_5_1
new file mode 100644
index 0000000..fb0bd96
--- /dev/null
+++ b/result/relaxng/tutor10_5_1
@@ -0,0 +1 @@
+./test/relaxng/tutor10_5_1.xml validates
diff --git a/result/relaxng/tutor10_5_1.err b/result/relaxng/tutor10_5_1.err
new file mode 100644
index 0000000..b6733d4
--- /dev/null
+++ b/result/relaxng/tutor10_5_1.err
@@ -0,0 +1,4 @@
+xmlRelaxNGValidateDefinition(): validated name : 0
+xmlRelaxNGValidateDefinition(): validated email : 0
+xmlRelaxNGValidateDefinition(): validated card : 0
+xmlRelaxNGValidateDefinition(): validated addressBook : 0
diff --git a/result/relaxng/tutor10_6_1 b/result/relaxng/tutor10_6_1
new file mode 100644
index 0000000..4fed8f7
--- /dev/null
+++ b/result/relaxng/tutor10_6_1
@@ -0,0 +1 @@
+./test/relaxng/tutor10_6_1.xml validates
diff --git a/result/relaxng/tutor10_6_1.err b/result/relaxng/tutor10_6_1.err
new file mode 100644
index 0000000..b6733d4
--- /dev/null
+++ b/result/relaxng/tutor10_6_1.err
@@ -0,0 +1,4 @@
+xmlRelaxNGValidateDefinition(): validated name : 0
+xmlRelaxNGValidateDefinition(): validated email : 0
+xmlRelaxNGValidateDefinition(): validated card : 0
+xmlRelaxNGValidateDefinition(): validated addressBook : 0
diff --git a/result/relaxng/tutor10_7_1 b/result/relaxng/tutor10_7_1
new file mode 100644
index 0000000..bbaab53
--- /dev/null
+++ b/result/relaxng/tutor10_7_1
@@ -0,0 +1 @@
+./test/relaxng/tutor10_7_1.xml validates
diff --git a/result/relaxng/tutor10_7_1.err b/result/relaxng/tutor10_7_1.err
new file mode 100644
index 0000000..0641a84
--- /dev/null
+++ b/result/relaxng/tutor10_7_1.err
@@ -0,0 +1,4 @@
+xmlRelaxNGValidateAttribute(email): 0
+xmlRelaxNGValidateAttribute(name): 0
+xmlRelaxNGValidateDefinition(): validated card : 0
+xmlRelaxNGValidateDefinition(): validated addressBook : 0
diff --git a/result/relaxng/tutor10_7_2 b/result/relaxng/tutor10_7_2
new file mode 100644
index 0000000..f618988
--- /dev/null
+++ b/result/relaxng/tutor10_7_2
@@ -0,0 +1 @@
+./test/relaxng/tutor10_7_2.xml validates
diff --git a/result/relaxng/tutor10_7_2.err b/result/relaxng/tutor10_7_2.err
new file mode 100644
index 0000000..0641a84
--- /dev/null
+++ b/result/relaxng/tutor10_7_2.err
@@ -0,0 +1,4 @@
+xmlRelaxNGValidateAttribute(email): 0
+xmlRelaxNGValidateAttribute(name): 0
+xmlRelaxNGValidateDefinition(): validated card : 0
+xmlRelaxNGValidateDefinition(): validated addressBook : 0
diff --git a/result/relaxng/tutor10_7_3 b/result/relaxng/tutor10_7_3
new file mode 100644
index 0000000..6d1e40a
--- /dev/null
+++ b/result/relaxng/tutor10_7_3
@@ -0,0 +1,2 @@
+Extra content for element addressBook
+./test/relaxng/tutor10_7_3.xml validation generated an internal error
diff --git a/result/relaxng/tutor10_7_3.err b/result/relaxng/tutor10_7_3.err
new file mode 100644
index 0000000..fd85649
--- /dev/null
+++ b/result/relaxng/tutor10_7_3.err
@@ -0,0 +1,5 @@
+xmlRelaxNGValidateAttribute(email): -1
+xmlRelaxNGValidateAttribute(name): -1
+xmlRelaxNGValidateDefinition(): validated card : -1
+error detected at relaxng.c:4781
+xmlRelaxNGValidateDefinition(): validated addressBook : -1
diff --git a/result/relaxng/tutor10_8_1 b/result/relaxng/tutor10_8_1
new file mode 100644
index 0000000..2412108
--- /dev/null
+++ b/result/relaxng/tutor10_8_1
@@ -0,0 +1 @@
+./test/relaxng/tutor10_8_1.xml validates
diff --git a/result/relaxng/tutor10_8_1.err b/result/relaxng/tutor10_8_1.err
new file mode 100644
index 0000000..0641a84
--- /dev/null
+++ b/result/relaxng/tutor10_8_1.err
@@ -0,0 +1,4 @@
+xmlRelaxNGValidateAttribute(email): 0
+xmlRelaxNGValidateAttribute(name): 0
+xmlRelaxNGValidateDefinition(): validated card : 0
+xmlRelaxNGValidateDefinition(): validated addressBook : 0
diff --git a/result/relaxng/tutor10_8_2 b/result/relaxng/tutor10_8_2
new file mode 100644
index 0000000..6becf86
--- /dev/null
+++ b/result/relaxng/tutor10_8_2
@@ -0,0 +1 @@
+./test/relaxng/tutor10_8_2.xml validates
diff --git a/result/relaxng/tutor10_8_2.err b/result/relaxng/tutor10_8_2.err
new file mode 100644
index 0000000..0641a84
--- /dev/null
+++ b/result/relaxng/tutor10_8_2.err
@@ -0,0 +1,4 @@
+xmlRelaxNGValidateAttribute(email): 0
+xmlRelaxNGValidateAttribute(name): 0
+xmlRelaxNGValidateDefinition(): validated card : 0
+xmlRelaxNGValidateDefinition(): validated addressBook : 0
diff --git a/result/relaxng/tutor10_8_3 b/result/relaxng/tutor10_8_3
new file mode 100644
index 0000000..0a55397
--- /dev/null
+++ b/result/relaxng/tutor10_8_3
@@ -0,0 +1,2 @@
+Extra content for element addressBook
+./test/relaxng/tutor10_8_3.xml validation generated an internal error
diff --git a/result/relaxng/tutor10_8_3.err b/result/relaxng/tutor10_8_3.err
new file mode 100644
index 0000000..fd85649
--- /dev/null
+++ b/result/relaxng/tutor10_8_3.err
@@ -0,0 +1,5 @@
+xmlRelaxNGValidateAttribute(email): -1
+xmlRelaxNGValidateAttribute(name): -1
+xmlRelaxNGValidateDefinition(): validated card : -1
+error detected at relaxng.c:4781
+xmlRelaxNGValidateDefinition(): validated addressBook : -1
diff --git a/result/relaxng/tutor10_9_1 b/result/relaxng/tutor10_9_1
new file mode 100644
index 0000000..3e82887
--- /dev/null
+++ b/result/relaxng/tutor10_9_1
@@ -0,0 +1 @@
+./test/relaxng/tutor10_9_1.xml validates
diff --git a/result/relaxng/tutor10_9_1.err b/result/relaxng/tutor10_9_1.err
new file mode 100644
index 0000000..b6733d4
--- /dev/null
+++ b/result/relaxng/tutor10_9_1.err
@@ -0,0 +1,4 @@
+xmlRelaxNGValidateDefinition(): validated name : 0
+xmlRelaxNGValidateDefinition(): validated email : 0
+xmlRelaxNGValidateDefinition(): validated card : 0
+xmlRelaxNGValidateDefinition(): validated addressBook : 0
diff --git a/test/relaxng/tutor10_1.rng b/test/relaxng/tutor10_1.rng
new file mode 100644
index 0000000..98df277
--- /dev/null
+++ b/test/relaxng/tutor10_1.rng
@@ -0,0 +1,4 @@
+<element name="foo" ns="http://www.example.com"
+         xmlns="http://relaxng.org/ns/structure/1.0">
+  <empty/>
+</element>
diff --git a/test/relaxng/tutor10_10.rng b/test/relaxng/tutor10_10.rng
new file mode 100644
index 0000000..375b628
--- /dev/null
+++ b/test/relaxng/tutor10_10.rng
@@ -0,0 +1,13 @@
+<element name="addressBook" ns="http://www.example.com/addressBook"
+         xmlns="http://relaxng.org/ns/structure/1.0">
+  <zeroOrMore>
+    <element name="card" ns="http://www.example.com/addressBook">
+      <element name="name" ns="http://www.example.com/address">
+        <text/>
+      </element>
+      <element name="email" ns="http://www.example.com/address">
+        <text/>
+      </element>
+    </element>
+  </zeroOrMore>
+</element>
diff --git a/test/relaxng/tutor10_10_1.xml b/test/relaxng/tutor10_10_1.xml
new file mode 100644
index 0000000..607982a
--- /dev/null
+++ b/test/relaxng/tutor10_10_1.xml
@@ -0,0 +1,5 @@
+<a:addressBook xmlns:a="http://www.example.com/addressBook">
+  <a:card xmlns="http://www.example.com/address">
+    <name>foo</name><email>bar</email>
+  </a:card>
+</a:addressBook>
diff --git a/test/relaxng/tutor10_1_1.xml b/test/relaxng/tutor10_1_1.xml
new file mode 100644
index 0000000..898193d
--- /dev/null
+++ b/test/relaxng/tutor10_1_1.xml
@@ -0,0 +1 @@
+<foo xmlns="http://www.example.com"/>
diff --git a/test/relaxng/tutor10_1_2.xml b/test/relaxng/tutor10_1_2.xml
new file mode 100644
index 0000000..16d900a
--- /dev/null
+++ b/test/relaxng/tutor10_1_2.xml
@@ -0,0 +1 @@
+<e:foo xmlns:e="http://www.example.com"/>
diff --git a/test/relaxng/tutor10_1_3.xml b/test/relaxng/tutor10_1_3.xml
new file mode 100644
index 0000000..756c73f
--- /dev/null
+++ b/test/relaxng/tutor10_1_3.xml
@@ -0,0 +1 @@
+<example:foo xmlns:example="http://www.example.com"/>
diff --git a/test/relaxng/tutor10_1_4.xml b/test/relaxng/tutor10_1_4.xml
new file mode 100644
index 0000000..f1999f8
--- /dev/null
+++ b/test/relaxng/tutor10_1_4.xml
@@ -0,0 +1 @@
+<foo/>
diff --git a/test/relaxng/tutor10_1_5.xml b/test/relaxng/tutor10_1_5.xml
new file mode 100644
index 0000000..ed0f048
--- /dev/null
+++ b/test/relaxng/tutor10_1_5.xml
@@ -0,0 +1 @@
+<e:foo xmlns:e="http://WWW.EXAMPLE.COM"/>
diff --git a/test/relaxng/tutor10_1_6.xml b/test/relaxng/tutor10_1_6.xml
new file mode 100644
index 0000000..7dd6aed
--- /dev/null
+++ b/test/relaxng/tutor10_1_6.xml
@@ -0,0 +1 @@
+<example:foo xmlns:example="http://www.example.net"/>
diff --git a/test/relaxng/tutor10_2.rng b/test/relaxng/tutor10_2.rng
new file mode 100644
index 0000000..ebf08de
--- /dev/null
+++ b/test/relaxng/tutor10_2.rng
@@ -0,0 +1,3 @@
+<element name="foo" ns="" xmlns="http://relaxng.org/ns/structure/1.0">
+  <empty/>
+</element>
diff --git a/test/relaxng/tutor10_2_1.xml b/test/relaxng/tutor10_2_1.xml
new file mode 100644
index 0000000..24e0b22
--- /dev/null
+++ b/test/relaxng/tutor10_2_1.xml
@@ -0,0 +1 @@
+<foo xmlns=""/>
diff --git a/test/relaxng/tutor10_2_2.xml b/test/relaxng/tutor10_2_2.xml
new file mode 100644
index 0000000..f1999f8
--- /dev/null
+++ b/test/relaxng/tutor10_2_2.xml
@@ -0,0 +1 @@
+<foo/>
diff --git a/test/relaxng/tutor10_2_3.xml b/test/relaxng/tutor10_2_3.xml
new file mode 100644
index 0000000..898193d
--- /dev/null
+++ b/test/relaxng/tutor10_2_3.xml
@@ -0,0 +1 @@
+<foo xmlns="http://www.example.com"/>
diff --git a/test/relaxng/tutor10_2_4.xml b/test/relaxng/tutor10_2_4.xml
new file mode 100644
index 0000000..16d900a
--- /dev/null
+++ b/test/relaxng/tutor10_2_4.xml
@@ -0,0 +1 @@
+<e:foo xmlns:e="http://www.example.com"/>
diff --git a/test/relaxng/tutor10_3.rng b/test/relaxng/tutor10_3.rng
new file mode 100644
index 0000000..86f8cd1
--- /dev/null
+++ b/test/relaxng/tutor10_3.rng
@@ -0,0 +1,12 @@
+<element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
+  <zeroOrMore>
+    <element name="card">
+      <element name="name">
+        <text/>
+      </element>
+      <element name="email">
+        <text/>
+      </element>
+    </element>
+  </zeroOrMore>
+</element>
diff --git a/test/relaxng/tutor10_3_1.xml b/test/relaxng/tutor10_3_1.xml
new file mode 100644
index 0000000..693df18
--- /dev/null
+++ b/test/relaxng/tutor10_3_1.xml
@@ -0,0 +1,3 @@
+<addressBook>
+  <card><name>foo</name><email>bar</email></card>
+</addressBook>
diff --git a/test/relaxng/tutor10_4.rng b/test/relaxng/tutor10_4.rng
new file mode 100644
index 0000000..9a0ad34
--- /dev/null
+++ b/test/relaxng/tutor10_4.rng
@@ -0,0 +1,12 @@
+<element name="addressBook" ns="" xmlns="http://relaxng.org/ns/structure/1.0">
+  <zeroOrMore>
+    <element name="card" ns="">
+      <element name="name" ns="">
+        <text/>
+      </element>
+      <element name="email" ns="">
+        <text/>
+      </element>
+    </element>
+  </zeroOrMore>
+</element>
diff --git a/test/relaxng/tutor10_4_1.xml b/test/relaxng/tutor10_4_1.xml
new file mode 100644
index 0000000..693df18
--- /dev/null
+++ b/test/relaxng/tutor10_4_1.xml
@@ -0,0 +1,3 @@
+<addressBook>
+  <card><name>foo</name><email>bar</email></card>
+</addressBook>
diff --git a/test/relaxng/tutor10_5.rng b/test/relaxng/tutor10_5.rng
new file mode 100644
index 0000000..85f5418
--- /dev/null
+++ b/test/relaxng/tutor10_5.rng
@@ -0,0 +1,13 @@
+<element name="addressBook" ns="http://www.example.com"
+         xmlns="http://relaxng.org/ns/structure/1.0">
+  <zeroOrMore>
+    <element name="card">
+      <element name="name">
+        <text/>
+      </element>
+      <element name="email">
+        <text/>
+      </element>
+    </element>
+  </zeroOrMore>
+</element>
diff --git a/test/relaxng/tutor10_5_1.xml b/test/relaxng/tutor10_5_1.xml
new file mode 100644
index 0000000..94e62f0
--- /dev/null
+++ b/test/relaxng/tutor10_5_1.xml
@@ -0,0 +1,3 @@
+<addressBook xmlns="http://www.example.com">
+  <card><name>foo</name><email>bar</email></card>
+</addressBook>
diff --git a/test/relaxng/tutor10_6.rng b/test/relaxng/tutor10_6.rng
new file mode 100644
index 0000000..fd50547
--- /dev/null
+++ b/test/relaxng/tutor10_6.rng
@@ -0,0 +1,13 @@
+<element name="addressBook" ns="http://www.example.com"
+         xmlns="http://relaxng.org/ns/structure/1.0">
+  <zeroOrMore>
+    <element name="card" ns="http://www.example.com">
+      <element name="name" ns="http://www.example.com">
+        <text/>
+      </element>
+      <element name="email" ns="http://www.example.com">
+        <text/>
+      </element>
+    </element>
+  </zeroOrMore>
+</element>
diff --git a/test/relaxng/tutor10_6_1.xml b/test/relaxng/tutor10_6_1.xml
new file mode 100644
index 0000000..94e62f0
--- /dev/null
+++ b/test/relaxng/tutor10_6_1.xml
@@ -0,0 +1,3 @@
+<addressBook xmlns="http://www.example.com">
+  <card><name>foo</name><email>bar</email></card>
+</addressBook>
diff --git a/test/relaxng/tutor10_7.rng b/test/relaxng/tutor10_7.rng
new file mode 100644
index 0000000..ce93df7
--- /dev/null
+++ b/test/relaxng/tutor10_7.rng
@@ -0,0 +1,9 @@
+<element name="addressBook" ns="http://www.example.com"
+         xmlns="http://relaxng.org/ns/structure/1.0">
+  <zeroOrMore>
+    <element name="card">
+      <attribute name="name"/>
+      <attribute name="email"/>
+    </element>
+  </zeroOrMore>
+</element>
diff --git a/test/relaxng/tutor10_7_1.xml b/test/relaxng/tutor10_7_1.xml
new file mode 100644
index 0000000..740d0d3
--- /dev/null
+++ b/test/relaxng/tutor10_7_1.xml
@@ -0,0 +1,3 @@
+<addressBook xmlns="http://www.example.com">
+  <card name="John Smith" email="js@example.com"/>
+</addressBook>
diff --git a/test/relaxng/tutor10_7_2.xml b/test/relaxng/tutor10_7_2.xml
new file mode 100644
index 0000000..97436e5
--- /dev/null
+++ b/test/relaxng/tutor10_7_2.xml
@@ -0,0 +1,3 @@
+<example:addressBook xmlns:example="http://www.example.com">
+  <example:card name="John Smith" email="js@example.com"/>
+</example:addressBook>
diff --git a/test/relaxng/tutor10_7_3.xml b/test/relaxng/tutor10_7_3.xml
new file mode 100644
index 0000000..7f58a8b
--- /dev/null
+++ b/test/relaxng/tutor10_7_3.xml
@@ -0,0 +1,3 @@
+<example:addressBook xmlns:example="http://www.example.com">
+  <example:card example:name="John Smith" example:email="js@example.com"/>
+</example:addressBook>
diff --git a/test/relaxng/tutor10_8.rng b/test/relaxng/tutor10_8.rng
new file mode 100644
index 0000000..caeffec
--- /dev/null
+++ b/test/relaxng/tutor10_8.rng
@@ -0,0 +1,9 @@
+<element name="addressBook" ns="http://www.example.com"
+         xmlns="http://relaxng.org/ns/structure/1.0">
+  <zeroOrMore>
+    <element name="card" ns="http://www.example.com">
+      <attribute name="name" ns=""/>
+      <attribute name="email" ns=""/>
+    </element>
+  </zeroOrMore>
+</element>
diff --git a/test/relaxng/tutor10_8_1.xml b/test/relaxng/tutor10_8_1.xml
new file mode 100644
index 0000000..740d0d3
--- /dev/null
+++ b/test/relaxng/tutor10_8_1.xml
@@ -0,0 +1,3 @@
+<addressBook xmlns="http://www.example.com">
+  <card name="John Smith" email="js@example.com"/>
+</addressBook>
diff --git a/test/relaxng/tutor10_8_2.xml b/test/relaxng/tutor10_8_2.xml
new file mode 100644
index 0000000..97436e5
--- /dev/null
+++ b/test/relaxng/tutor10_8_2.xml
@@ -0,0 +1,3 @@
+<example:addressBook xmlns:example="http://www.example.com">
+  <example:card name="John Smith" email="js@example.com"/>
+</example:addressBook>
diff --git a/test/relaxng/tutor10_8_3.xml b/test/relaxng/tutor10_8_3.xml
new file mode 100644
index 0000000..7f58a8b
--- /dev/null
+++ b/test/relaxng/tutor10_8_3.xml
@@ -0,0 +1,3 @@
+<example:addressBook xmlns:example="http://www.example.com">
+  <example:card example:name="John Smith" example:email="js@example.com"/>
+</example:addressBook>
diff --git a/test/relaxng/tutor10_9.rng b/test/relaxng/tutor10_9.rng
new file mode 100644
index 0000000..c954a91
--- /dev/null
+++ b/test/relaxng/tutor10_9.rng
@@ -0,0 +1,14 @@
+<element name="ab:addressBook" xmlns:ab="http://www.example.com/addressBook"
+                               xmlns:a="http://www.example.com/address"
+         xmlns="http://relaxng.org/ns/structure/1.0">
+  <zeroOrMore>
+    <element name="ab:card">
+      <element name="a:name">
+        <text/>
+      </element>
+      <element name="a:email">
+        <text/>
+      </element>
+    </element>
+  </zeroOrMore>
+</element>
diff --git a/test/relaxng/tutor10_9_1.xml b/test/relaxng/tutor10_9_1.xml
new file mode 100644
index 0000000..607982a
--- /dev/null
+++ b/test/relaxng/tutor10_9_1.xml
@@ -0,0 +1,5 @@
+<a:addressBook xmlns:a="http://www.example.com/addressBook">
+  <a:card xmlns="http://www.example.com/address">
+    <name>foo</name><email>bar</email>
+  </a:card>
+</a:addressBook>