summaryrefslogtreecommitdiffstats
path: root/libxml2/test/relaxng
diff options
context:
space:
mode:
Diffstat (limited to 'libxml2/test/relaxng')
-rw-r--r--libxml2/test/relaxng/302836.rng35
-rw-r--r--libxml2/test/relaxng/302836_0.xml12
-rw-r--r--libxml2/test/relaxng/307377.rng14
-rw-r--r--libxml2/test/relaxng/307377_0.xml1
-rw-r--r--libxml2/test/relaxng/307377_1.xml1
-rw-r--r--libxml2/test/relaxng/307377_2.xml1
-rw-r--r--libxml2/test/relaxng/492317.rng16
-rw-r--r--libxml2/test/relaxng/492317_0.xml4
-rw-r--r--libxml2/test/relaxng/492317_1.xml4
-rw-r--r--libxml2/test/relaxng/492317_2.xml4
-rw-r--r--libxml2/test/relaxng/558452.rng21
-rw-r--r--libxml2/test/relaxng/558452_0.xml6
-rw-r--r--libxml2/test/relaxng/558452_1.xml3
-rw-r--r--libxml2/test/relaxng/558452_2.xml4
-rw-r--r--libxml2/test/relaxng/558452_3.xml5
-rw-r--r--libxml2/test/relaxng/558452_4.xml7
-rw-r--r--libxml2/test/relaxng/565219.rng14
-rw-r--r--libxml2/test/relaxng/565219_0.xml1
-rw-r--r--libxml2/test/relaxng/565219_1.xml1
-rw-r--r--libxml2/test/relaxng/565219_2.xml1
-rw-r--r--libxml2/test/relaxng/595792-ext.rng11
-rw-r--r--libxml2/test/relaxng/595792.rng8
-rw-r--r--libxml2/test/relaxng/595792_0.xml4
-rw-r--r--libxml2/test/relaxng/710744.rng16
-rw-r--r--libxml2/test/relaxng/710744_1.xml2
-rw-r--r--libxml2/test/relaxng/710744_2.xml3
-rw-r--r--libxml2/test/relaxng/OASIS/spectest.xml6845
-rw-r--r--libxml2/test/relaxng/OpenDocumentSub.rng229
-rw-r--r--libxml2/test/relaxng/OpenDocumentSub_0.xml7
-rw-r--r--libxml2/test/relaxng/addressBook.rng24
-rw-r--r--libxml2/test/relaxng/choice0.rng25
-rw-r--r--libxml2/test/relaxng/choice0_0.xml2
-rw-r--r--libxml2/test/relaxng/choice0_1.xml2
-rw-r--r--libxml2/test/relaxng/choice0_2.xml3
-rw-r--r--libxml2/test/relaxng/choice0_3.xml3
-rw-r--r--libxml2/test/relaxng/choice0_4.xml2
-rw-r--r--libxml2/test/relaxng/choice0_5.xml3
-rw-r--r--libxml2/test/relaxng/choice0_6.xml3
-rw-r--r--libxml2/test/relaxng/choice0_7.xml3
-rw-r--r--libxml2/test/relaxng/choice0_8.xml3
-rw-r--r--libxml2/test/relaxng/compare0.rng8
-rw-r--r--libxml2/test/relaxng/compare0_0.xml3
-rw-r--r--libxml2/test/relaxng/comps.rng177
-rw-r--r--libxml2/test/relaxng/comps_0.xml17870
-rw-r--r--libxml2/test/relaxng/demo.rng11
-rw-r--r--libxml2/test/relaxng/demo.xml1
-rw-r--r--libxml2/test/relaxng/demo2.rng23
-rw-r--r--libxml2/test/relaxng/demo3.rng8
-rw-r--r--libxml2/test/relaxng/docbook.rng9141
-rw-r--r--libxml2/test/relaxng/docbook_0.xml4448
-rw-r--r--libxml2/test/relaxng/empty0.rng16
-rw-r--r--libxml2/test/relaxng/empty0_0.xml3
-rw-r--r--libxml2/test/relaxng/empty1.rng18
-rw-r--r--libxml2/test/relaxng/empty1_0.xml3
-rw-r--r--libxml2/test/relaxng/empty1_1.xml2
-rw-r--r--libxml2/test/relaxng/inline.rng20
-rw-r--r--libxml2/test/relaxng/inline2.rng21
-rw-r--r--libxml2/test/relaxng/inline3.rng22
-rw-r--r--libxml2/test/relaxng/interleave0_0.rng24
-rw-r--r--libxml2/test/relaxng/interleave1_0.rng15
-rw-r--r--libxml2/test/relaxng/libvirt.rng1258
-rw-r--r--libxml2/test/relaxng/libvirt_0.xml23
-rw-r--r--libxml2/test/relaxng/list.rng23
-rw-r--r--libxml2/test/relaxng/list_0.xml1
-rw-r--r--libxml2/test/relaxng/list_1.xml1
-rw-r--r--libxml2/test/relaxng/pattern1.rng8
-rw-r--r--libxml2/test/relaxng/pattern2.rng9
-rw-r--r--libxml2/test/relaxng/pattern3.rng11
-rw-r--r--libxml2/test/relaxng/pattern3_1.xml1
-rw-r--r--libxml2/test/relaxng/proofsystem.rng96
-rw-r--r--libxml2/test/relaxng/rngbug-001.ext13
-rw-r--r--libxml2/test/relaxng/rngbug-001.rng16
-rw-r--r--libxml2/test/relaxng/rngbug-001.xml6
-rw-r--r--libxml2/test/relaxng/spec.rng60
-rw-r--r--libxml2/test/relaxng/spec1.rng14
-rw-r--r--libxml2/test/relaxng/spec1_1.xml3
-rw-r--r--libxml2/test/relaxng/spec_0.xml3589
-rw-r--r--libxml2/test/relaxng/table.rng21
-rw-r--r--libxml2/test/relaxng/testsuite.xml1708
-rw-r--r--libxml2/test/relaxng/tutor10_1.rng4
-rw-r--r--libxml2/test/relaxng/tutor10_10.rng13
-rw-r--r--libxml2/test/relaxng/tutor10_10_1.xml5
-rw-r--r--libxml2/test/relaxng/tutor10_1_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor10_1_2.xml1
-rw-r--r--libxml2/test/relaxng/tutor10_1_3.xml1
-rw-r--r--libxml2/test/relaxng/tutor10_1_4.xml1
-rw-r--r--libxml2/test/relaxng/tutor10_1_5.xml1
-rw-r--r--libxml2/test/relaxng/tutor10_1_6.xml1
-rw-r--r--libxml2/test/relaxng/tutor10_2.rng3
-rw-r--r--libxml2/test/relaxng/tutor10_2_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor10_2_2.xml1
-rw-r--r--libxml2/test/relaxng/tutor10_2_3.xml1
-rw-r--r--libxml2/test/relaxng/tutor10_2_4.xml1
-rw-r--r--libxml2/test/relaxng/tutor10_3.rng12
-rw-r--r--libxml2/test/relaxng/tutor10_3_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor10_4.rng12
-rw-r--r--libxml2/test/relaxng/tutor10_4_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor10_5.rng13
-rw-r--r--libxml2/test/relaxng/tutor10_5_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor10_6.rng13
-rw-r--r--libxml2/test/relaxng/tutor10_6_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor10_7.rng9
-rw-r--r--libxml2/test/relaxng/tutor10_7_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor10_7_2.xml3
-rw-r--r--libxml2/test/relaxng/tutor10_7_3.xml3
-rw-r--r--libxml2/test/relaxng/tutor10_8.rng9
-rw-r--r--libxml2/test/relaxng/tutor10_8_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor10_8_2.xml3
-rw-r--r--libxml2/test/relaxng/tutor10_8_3.xml3
-rw-r--r--libxml2/test/relaxng/tutor10_9.rng14
-rw-r--r--libxml2/test/relaxng/tutor10_9_1.xml5
-rw-r--r--libxml2/test/relaxng/tutor11_1.rng22
-rw-r--r--libxml2/test/relaxng/tutor11_1_1.xml22
-rw-r--r--libxml2/test/relaxng/tutor11_1_2.xml7
-rw-r--r--libxml2/test/relaxng/tutor11_1_3.xml4197
-rw-r--r--libxml2/test/relaxng/tutor11_2.rng14
-rw-r--r--libxml2/test/relaxng/tutor11_2_1.xml5
-rw-r--r--libxml2/test/relaxng/tutor11_2_2.xml5
-rw-r--r--libxml2/test/relaxng/tutor11_2_3.xml5
-rw-r--r--libxml2/test/relaxng/tutor11_3.rng15
-rw-r--r--libxml2/test/relaxng/tutor11_3_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor11_4.rng19
-rw-r--r--libxml2/test/relaxng/tutor11_4_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor12_1.rng13
-rw-r--r--libxml2/test/relaxng/tutor12_1_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor13_1.rng33
-rw-r--r--libxml2/test/relaxng/tutor13_1_1.xml12
-rw-r--r--libxml2/test/relaxng/tutor14_1.rng53
-rw-r--r--libxml2/test/relaxng/tutor1_1.rng12
-rw-r--r--libxml2/test/relaxng/tutor1_1_1.xml10
-rw-r--r--libxml2/test/relaxng/tutor1_2.rng12
-rw-r--r--libxml2/test/relaxng/tutor1_2_1.xml10
-rw-r--r--libxml2/test/relaxng/tutor1_3.rng17
-rw-r--r--libxml2/test/relaxng/tutor1_3_1.xml10
-rw-r--r--libxml2/test/relaxng/tutor1_4.rng12
-rw-r--r--libxml2/test/relaxng/tutor1_4_1.xml10
-rw-r--r--libxml2/test/relaxng/tutor2_1.rng27
-rw-r--r--libxml2/test/relaxng/tutor2_1_1.xml11
-rw-r--r--libxml2/test/relaxng/tutor3_1.rng12
-rw-r--r--libxml2/test/relaxng/tutor3_1_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor3_1_2.xml3
-rw-r--r--libxml2/test/relaxng/tutor3_2.rng8
-rw-r--r--libxml2/test/relaxng/tutor3_2_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor3_3.rng17
-rw-r--r--libxml2/test/relaxng/tutor3_3_1.xml4
-rw-r--r--libxml2/test/relaxng/tutor3_4.rng22
-rw-r--r--libxml2/test/relaxng/tutor3_4_1.xml4
-rw-r--r--libxml2/test/relaxng/tutor3_5.rng22
-rw-r--r--libxml2/test/relaxng/tutor3_5_1.xml7
-rw-r--r--libxml2/test/relaxng/tutor3_5_2.xml3
-rw-r--r--libxml2/test/relaxng/tutor3_6.rng8
-rw-r--r--libxml2/test/relaxng/tutor3_6_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor3_7.rng2
-rw-r--r--libxml2/test/relaxng/tutor3_7_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor3_8.rng17
-rw-r--r--libxml2/test/relaxng/tutor3_8_1.xml4
-rw-r--r--libxml2/test/relaxng/tutor3_9.rng5
-rw-r--r--libxml2/test/relaxng/tutor3_9_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor4_1.rng22
-rw-r--r--libxml2/test/relaxng/tutor4_1_1.xml4
-rw-r--r--libxml2/test/relaxng/tutor4_2.rng34
-rw-r--r--libxml2/test/relaxng/tutor4_2_1.xml4
-rw-r--r--libxml2/test/relaxng/tutor4_3.rng27
-rw-r--r--libxml2/test/relaxng/tutor4_3_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor4_3_2.xml1
-rw-r--r--libxml2/test/relaxng/tutor4_3_3.xml1
-rw-r--r--libxml2/test/relaxng/tutor4_3_4.xml1
-rw-r--r--libxml2/test/relaxng/tutor4_3_5.xml1
-rw-r--r--libxml2/test/relaxng/tutor4_3_6.xml1
-rw-r--r--libxml2/test/relaxng/tutor4_4.rng28
-rw-r--r--libxml2/test/relaxng/tutor4_4_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor5_1.rng3
-rw-r--r--libxml2/test/relaxng/tutor5_1_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor5_2.rng9
-rw-r--r--libxml2/test/relaxng/tutor5_2_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor5_3.rng6
-rw-r--r--libxml2/test/relaxng/tutor5_3_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor5_4.rng6
-rw-r--r--libxml2/test/relaxng/tutor5_4_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor5_5.rng5
-rw-r--r--libxml2/test/relaxng/tutor6_1.rng10
-rw-r--r--libxml2/test/relaxng/tutor6_1_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor6_1_2.xml1
-rw-r--r--libxml2/test/relaxng/tutor6_1_3.xml1
-rw-r--r--libxml2/test/relaxng/tutor6_1_4.xml1
-rw-r--r--libxml2/test/relaxng/tutor6_1_5.xml2
-rw-r--r--libxml2/test/relaxng/tutor6_2.rng14
-rw-r--r--libxml2/test/relaxng/tutor6_2_1.xml5
-rw-r--r--libxml2/test/relaxng/tutor6_2_2.xml5
-rw-r--r--libxml2/test/relaxng/tutor6_2_3.xml5
-rw-r--r--libxml2/test/relaxng/tutor6_2_4.xml5
-rw-r--r--libxml2/test/relaxng/tutor6_3.rng10
-rw-r--r--libxml2/test/relaxng/tutor6_3_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_1.rng7
-rw-r--r--libxml2/test/relaxng/tutor7_1_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_1_2.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_1_3.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_1_4.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_2.rng8
-rw-r--r--libxml2/test/relaxng/tutor7_2_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_2_2.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_2_3.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_2_4.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_3.rng9
-rw-r--r--libxml2/test/relaxng/tutor7_3_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_3_2.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_3_3.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_3_4.xml1
-rw-r--r--libxml2/test/relaxng/tutor7_3_5.xml1
-rw-r--r--libxml2/test/relaxng/tutor8_1.rng15
-rw-r--r--libxml2/test/relaxng/tutor8_1_1.xml6
-rw-r--r--libxml2/test/relaxng/tutor8_1_2.xml7
-rw-r--r--libxml2/test/relaxng/tutor8_2.rng57
-rw-r--r--libxml2/test/relaxng/tutor8_2_1.xml5
-rw-r--r--libxml2/test/relaxng/tutor8_2_2.xml36
-rw-r--r--libxml2/test/relaxng/tutor8_2_3.xml3
-rw-r--r--libxml2/test/relaxng/tutor8_2_4.xml6
-rw-r--r--libxml2/test/relaxng/tutor8_2_5.xml3
-rw-r--r--libxml2/test/relaxng/tutor8_2_6.xml5
-rw-r--r--libxml2/test/relaxng/tutor8_3.rng9
-rw-r--r--libxml2/test/relaxng/tutor8_3_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor9_1.rng17
-rw-r--r--libxml2/test/relaxng/tutor9_10.rng26
-rw-r--r--libxml2/test/relaxng/tutor9_10_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor9_11.rng16
-rw-r--r--libxml2/test/relaxng/tutor9_11_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor9_12.rng22
-rw-r--r--libxml2/test/relaxng/tutor9_12_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor9_1_1.xml7
-rw-r--r--libxml2/test/relaxng/tutor9_2.rng7
-rw-r--r--libxml2/test/relaxng/tutor9_2_1.xml4
-rw-r--r--libxml2/test/relaxng/tutor9_2_2.xml4
-rw-r--r--libxml2/test/relaxng/tutor9_3.rng37
-rw-r--r--libxml2/test/relaxng/tutor9_3_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor9_3_2.xml1
-rw-r--r--libxml2/test/relaxng/tutor9_4.rng36
-rw-r--r--libxml2/test/relaxng/tutor9_4_1.xml1
-rw-r--r--libxml2/test/relaxng/tutor9_4_2.xml1
-rw-r--r--libxml2/test/relaxng/tutor9_5.rng25
-rw-r--r--libxml2/test/relaxng/tutor9_5_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor9_5_2.xml3
-rw-r--r--libxml2/test/relaxng/tutor9_5_3.xml3
-rw-r--r--libxml2/test/relaxng/tutor9_6.rng24
-rw-r--r--libxml2/test/relaxng/tutor9_6_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor9_6_2.xml3
-rw-r--r--libxml2/test/relaxng/tutor9_6_3.xml3
-rw-r--r--libxml2/test/relaxng/tutor9_7.rng26
-rw-r--r--libxml2/test/relaxng/tutor9_7_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor9_8.rng42
-rw-r--r--libxml2/test/relaxng/tutor9_8_1.xml3
-rw-r--r--libxml2/test/relaxng/tutor9_9.rng37
-rw-r--r--libxml2/test/relaxng/tutor9_9_1.xml3
-rw-r--r--libxml2/test/relaxng/tutorA.rng334
253 files changed, 52019 insertions, 0 deletions
diff --git a/libxml2/test/relaxng/302836.rng b/libxml2/test/relaxng/302836.rng
new file mode 100644
index 0000000..b4db298
--- /dev/null
+++ b/libxml2/test/relaxng/302836.rng
@@ -0,0 +1,35 @@
+<element name="base"
+xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <group>
+ <element name="data">
+ <value>firstValue</value>
+ </element>
+ <oneOrMore>
+ <element name="option">
+ <element name="value">
+ <text/>
+ </element>
+ <element name="label">
+ <text/>
+ </element>
+ </element>
+ </oneOrMore>
+ </group>
+ <group>
+ <element name="data">
+ <value>secondValue</value>
+ </element>
+ <oneOrMore>
+ <element name="option">
+ <element name="value">
+ <text/>
+ </element>
+ <element name="label">
+ <text/>
+ </element>
+ </element>
+ </oneOrMore>
+ </group>
+ </choice>
+</element>
diff --git a/libxml2/test/relaxng/302836_0.xml b/libxml2/test/relaxng/302836_0.xml
new file mode 100644
index 0000000..25eb2f1
--- /dev/null
+++ b/libxml2/test/relaxng/302836_0.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" ?>
+<base>
+ <data>secondValue</data>
+ <option>
+ <value>how</value>
+ <label>some</label>
+ </option>
+ <option>
+ <value>this</value>
+ <label>more</label>
+ </option>
+</base>
diff --git a/libxml2/test/relaxng/307377.rng b/libxml2/test/relaxng/307377.rng
new file mode 100644
index 0000000..37a87c9
--- /dev/null
+++ b/libxml2/test/relaxng/307377.rng
@@ -0,0 +1,14 @@
+<element name="number" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="val">
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>1</value>
+ <value>2</value>
+ <value>3</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </attribute>
+ <text/>
+</element>
diff --git a/libxml2/test/relaxng/307377_0.xml b/libxml2/test/relaxng/307377_0.xml
new file mode 100644
index 0000000..106d02a
--- /dev/null
+++ b/libxml2/test/relaxng/307377_0.xml
@@ -0,0 +1 @@
+<number val="a 1 b 2 c 3" />
diff --git a/libxml2/test/relaxng/307377_1.xml b/libxml2/test/relaxng/307377_1.xml
new file mode 100644
index 0000000..73b0d1c
--- /dev/null
+++ b/libxml2/test/relaxng/307377_1.xml
@@ -0,0 +1 @@
+<number val="1 a 2 b 3 c" />
diff --git a/libxml2/test/relaxng/307377_2.xml b/libxml2/test/relaxng/307377_2.xml
new file mode 100644
index 0000000..4a041aa
--- /dev/null
+++ b/libxml2/test/relaxng/307377_2.xml
@@ -0,0 +1 @@
+<number val="1 2 3" />
diff --git a/libxml2/test/relaxng/492317.rng b/libxml2/test/relaxng/492317.rng
new file mode 100644
index 0000000..343f294
--- /dev/null
+++ b/libxml2/test/relaxng/492317.rng
@@ -0,0 +1,16 @@
+<element name="root" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <element name="child">
+ <attribute name="type">
+ <value>Foo</value>
+ </attribute>
+ <!-- Define stuff that's only valid when type is "Foo" -->
+ </element>
+ <element name="child">
+ <attribute name="type">
+ <value>Bar</value>
+ </attribute>
+ <!-- Define stuff that's only valid when type is "Bar" -->
+ </element>
+ </choice>
+</element>
diff --git a/libxml2/test/relaxng/492317_0.xml b/libxml2/test/relaxng/492317_0.xml
new file mode 100644
index 0000000..6ab9d80
--- /dev/null
+++ b/libxml2/test/relaxng/492317_0.xml
@@ -0,0 +1,4 @@
+<root>
+ <child type="Foo">
+ </child>
+</root>
diff --git a/libxml2/test/relaxng/492317_1.xml b/libxml2/test/relaxng/492317_1.xml
new file mode 100644
index 0000000..d325ac2
--- /dev/null
+++ b/libxml2/test/relaxng/492317_1.xml
@@ -0,0 +1,4 @@
+<root>
+ <child type="Bar">
+ </child>
+</root>
diff --git a/libxml2/test/relaxng/492317_2.xml b/libxml2/test/relaxng/492317_2.xml
new file mode 100644
index 0000000..33bbc5d
--- /dev/null
+++ b/libxml2/test/relaxng/492317_2.xml
@@ -0,0 +1,4 @@
+<root>
+ <child type="">
+ </child>
+</root>
diff --git a/libxml2/test/relaxng/558452.rng b/libxml2/test/relaxng/558452.rng
new file mode 100644
index 0000000..80fbf7b
--- /dev/null
+++ b/libxml2/test/relaxng/558452.rng
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<grammar ns="http://www.example.com/choice"
+ xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="doc" ns="">
+ <ref name="elem"/>
+ <optional>
+ <ref name="elem"/>
+ <optional>
+ <ref name="elem"/>
+ </optional>
+ </optional>
+ </element>
+ </start>
+
+ <define name="elem">
+ <element name="elem" ns="">
+ <text/>
+ </element>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/558452_0.xml b/libxml2/test/relaxng/558452_0.xml
new file mode 100644
index 0000000..70440e2
--- /dev/null
+++ b/libxml2/test/relaxng/558452_0.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<doc>
+ <elem/>
+ <elem/>
+ <elem/>
+</doc>
diff --git a/libxml2/test/relaxng/558452_1.xml b/libxml2/test/relaxng/558452_1.xml
new file mode 100644
index 0000000..2c569f9
--- /dev/null
+++ b/libxml2/test/relaxng/558452_1.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<doc>
+</doc>
diff --git a/libxml2/test/relaxng/558452_2.xml b/libxml2/test/relaxng/558452_2.xml
new file mode 100644
index 0000000..6e24626
--- /dev/null
+++ b/libxml2/test/relaxng/558452_2.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<doc>
+ <elem/>
+</doc>
diff --git a/libxml2/test/relaxng/558452_3.xml b/libxml2/test/relaxng/558452_3.xml
new file mode 100644
index 0000000..5ceb468
--- /dev/null
+++ b/libxml2/test/relaxng/558452_3.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<doc>
+ <elem/>
+ <elem/>
+</doc>
diff --git a/libxml2/test/relaxng/558452_4.xml b/libxml2/test/relaxng/558452_4.xml
new file mode 100644
index 0000000..a1ee72b
--- /dev/null
+++ b/libxml2/test/relaxng/558452_4.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<doc>
+ <elem/>
+ <elem/>
+ <elem/>
+ <elem/>
+</doc>
diff --git a/libxml2/test/relaxng/565219.rng b/libxml2/test/relaxng/565219.rng
new file mode 100644
index 0000000..087ed95
--- /dev/null
+++ b/libxml2/test/relaxng/565219.rng
@@ -0,0 +1,14 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element>
+ <anyName>
+ <except>
+ <nsName ns="http://bar.com/"/>
+ <nsName ns="http://foo.com/"/>
+ </except>
+ </anyName>
+ <empty/>
+ </element>
+ </start>
+</grammar>
+
diff --git a/libxml2/test/relaxng/565219_0.xml b/libxml2/test/relaxng/565219_0.xml
new file mode 100644
index 0000000..a964a07
--- /dev/null
+++ b/libxml2/test/relaxng/565219_0.xml
@@ -0,0 +1 @@
+<foo xmlns="http://foo.com/"/>
diff --git a/libxml2/test/relaxng/565219_1.xml b/libxml2/test/relaxng/565219_1.xml
new file mode 100644
index 0000000..f1999f8
--- /dev/null
+++ b/libxml2/test/relaxng/565219_1.xml
@@ -0,0 +1 @@
+<foo/>
diff --git a/libxml2/test/relaxng/565219_2.xml b/libxml2/test/relaxng/565219_2.xml
new file mode 100644
index 0000000..a964a07
--- /dev/null
+++ b/libxml2/test/relaxng/565219_2.xml
@@ -0,0 +1 @@
+<foo xmlns="http://foo.com/"/>
diff --git a/libxml2/test/relaxng/595792-ext.rng b/libxml2/test/relaxng/595792-ext.rng
new file mode 100644
index 0000000..58990cb
--- /dev/null
+++ b/libxml2/test/relaxng/595792-ext.rng
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="t">
+ <ref name="tcont"/>
+ </element>
+ </start>
+ <define name="tcont">
+ <text/>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/595792.rng b/libxml2/test/relaxng/595792.rng
new file mode 100644
index 0000000..fb2eb93
--- /dev/null
+++ b/libxml2/test/relaxng/595792.rng
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="root">
+ <externalRef href="595792-ext.rng"/>
+ </element>
+ </start>
+</grammar>
diff --git a/libxml2/test/relaxng/595792_0.xml b/libxml2/test/relaxng/595792_0.xml
new file mode 100644
index 0000000..546c589
--- /dev/null
+++ b/libxml2/test/relaxng/595792_0.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<root>
+ <t>foo</t>
+</root>
diff --git a/libxml2/test/relaxng/710744.rng b/libxml2/test/relaxng/710744.rng
new file mode 100644
index 0000000..aeea0b8
--- /dev/null
+++ b/libxml2/test/relaxng/710744.rng
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="test" ns="http://example.com/1/">
+ <zeroOrMore>
+ <attribute>
+ <choice>
+ <nsName ns="http://example.com/1/"/>
+ <nsName ns="http://example.com/2/"/>
+ </choice>
+ <text/>
+ </attribute>
+ </zeroOrMore>
+ </element>
+ </start>
+</grammar>
diff --git a/libxml2/test/relaxng/710744_1.xml b/libxml2/test/relaxng/710744_1.xml
new file mode 100644
index 0000000..f17c808
--- /dev/null
+++ b/libxml2/test/relaxng/710744_1.xml
@@ -0,0 +1,2 @@
+<ex1:test xmlns:ex1="http://example.com/1/"
+ ex1:foo="bar"/>
diff --git a/libxml2/test/relaxng/710744_2.xml b/libxml2/test/relaxng/710744_2.xml
new file mode 100644
index 0000000..1aef3a9
--- /dev/null
+++ b/libxml2/test/relaxng/710744_2.xml
@@ -0,0 +1,3 @@
+<ex1:test xmlns:ex1="http://example.com/1/"
+ xmlns:ex3="http://example.com/3/"
+ ex3:foo="bar"/>
diff --git a/libxml2/test/relaxng/OASIS/spectest.xml b/libxml2/test/relaxng/OASIS/spectest.xml
new file mode 100644
index 0000000..18afb2e
--- /dev/null
+++ b/libxml2/test/relaxng/OASIS/spectest.xml
@@ -0,0 +1,6845 @@
+<!DOCTYPE testSuite [
+<!ENTITY dii "<&#xE14;&#xE35;/>">
+]>
+<testSuite>
+<author>James Clark</author>
+<email>jjc@jclark.com</email>
+<documentation>For October 26 version of the spec.</documentation>
+<testSuite>
+<section>3</section>
+<testSuite>
+<documentation>Various possible syntax errors.</documentation>
+<testCase>
+<section>3</section>
+<incorrect>
+<thisIsJunk/>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <element name="foo">
+ <empty/>
+ </element>
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <define name="bar">
+ <text/>
+ </define>
+ <text/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <name>foo</name>
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <group>
+ <name>bar</name>
+ </group>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <anyName>
+ <except>
+ <name>foo</name>
+ </except>
+ <except>
+ <name>bar</name>
+ </except>
+ </anyName>
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <nsName>
+ <except>
+ <name>foo</name>
+ </except>
+ <except>
+ <name>bar</name>
+ </except>
+ </nsName>
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <data type="token">
+ <except>
+ <value>foo</value>
+ </except>
+ <except>
+ <value>bar</value>
+ </except>
+ </data>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <empty name="bar"/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo" extra="bar">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <empty>
+ <empty/>
+ </empty>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <text>
+ <empty/>
+ </text>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <choice>
+ <text/>
+ <notAllowed>
+ <empty/>
+ </notAllowed>
+ </choice>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="foo">
+ <empty/>
+ </ref>
+ </start>
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <grammar>
+ <start>
+ <parentRef name="foo">
+ <empty/>
+ </parentRef>
+ </start>
+ </grammar>
+ </start>
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<documentation>Tests for obsolete syntax</documentation>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo" ns="http://www.example.com">
+ <attribute name="bar" global="true">
+ <text/>
+ </attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <not>
+ <name>foo</name>
+ </not>
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <difference>
+ <anyName/>
+ <name>foo</name>
+ </difference>
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <data type="token" key="foo"/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <data type="token" keyRef="foo"/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <keyRef name="foo">
+ <data type="token"/>
+ </keyRef>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <key name="foo">
+ <data type="token"/>
+ </key>
+</element>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<documentation>Tests for missing attributes and child elements</documentation>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <name>foo</name>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <optional/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <list/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <mixed/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice/>
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <anyName>
+ <except/>
+ </anyName>
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <nsName ns="">
+ <except/>
+ </nsName>
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="string">
+ <except/>
+ </data>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="string">
+ <param/>
+ </data>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <grammar>
+ <start/>
+ </grammar>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="bar">
+ <empty/>
+ </element>
+ </start>
+ <define name="baz"/>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <externalRef/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include/>
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+ <define>
+ <element name="bar">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref/>
+ </start>
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <grammar>
+ <start>
+ <parentRef/>
+ </start>
+ </grammar>
+ </start>
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<documentation>Checking of ns attribute</documentation>
+<testCase>
+<section>3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" ns="">
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>No checking of ns attribute is performed</documentation>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" ns="DAV:">
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo xmlns="DAV:"/>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>No checking of ns attribute is performed</documentation>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" ns="xyzzy">
+ <empty/>
+</element>
+</correct>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>No checking of ns attribute is performed</documentation>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" ns="bad_scheme://">
+ <empty/>
+</element>
+</correct>
+</testCase>
+</testSuite>
+<testSuite>
+<documentation>Checking of datatypeLibrary attribute</documentation>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="foo_bar:xyzzy">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="foobar:xyzzy">
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http:ok">
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="foo:">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.example.com/%">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.example.com/%xx">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.example.com/%Aa">
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must not be relative</documentation>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="xyzzy">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must not be relative</documentation>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="xyzzy#foo:bar">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must not be relative</documentation>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="xyzzy?foo:bar">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must not be relative</documentation>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="xyzzy/foo:bar">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="foo:bar">
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="">
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data datatypeLibrary="" type="string"/>
+</element>
+</correct>
+<valid>
+<foo>x</foo>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must not contain fragment identifier</documentation>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.example.com#xyzzy">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<documentation>Value of datatypeLibrary attribute must not contain fragment identifier</documentation>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.example.com#">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<documentation>Tests for QName and NCNames in schemas</documentation>
+<testCase>
+<section>3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <element name="&#xE14;&#xE35;">
+ <empty/>
+ </element>
+</element>
+</correct>
+<valid>
+<foo>&dii;</foo>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="&#xE35;" xmlns="http://relaxng.org/ns/structure/1.0">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="" xmlns="http://relaxng.org/ns/structure/1.0">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <name>&#xE35;</name>
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="&#xE35;"/>
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="&#xE35;"/>
+ </start>
+ <define name="&#xE35;">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="&#xE14;&#xE35;"/>
+ </start>
+ <define name="&#xE14;&#xE35;">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name=""/>
+ </start>
+ <define name="">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="x y"/>
+ </start>
+ <define name="x y">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+ xmlns:x="http://www.example.com/x">
+ <start>
+ <ref name="x:y"/>
+ </start>
+ <define name="x:y">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0"
+ xmlns:x="http://www.example.com/x"
+ name="x:&#xE35;">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0"
+ xmlns:x="http://www.example.com/x"
+ name="x:y:z">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0"
+ xmlns:x="http://www.example.com/x"
+ name="x:">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<documentation>Tests for elements that allow only a single pattern child.</documentation>
+<testCase>
+<section>3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ <empty/>
+ </start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <attribute name="bar">
+ <text/>
+ <empty/>
+ </attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <attribute>
+ <name>bar</name>
+ <text/>
+ <empty/>
+ </attribute>
+</element>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<documentation>Tests for foreign element and attribute handling.</documentation>
+<testCase>
+<section>3</section>
+<incorrect>
+<r:element name="foo" xmlns:r="http://relaxng.org/ns/structure/1.0" r:a="val">
+ <r:empty/>
+</r:element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <name>foo<eg:comment xmlns:eg="http://www.example.com"/></name>
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <value>foo<eg:comment xmlns:eg="http://www.example.com"/></value>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <data type="string"><eg:comment xmlns:eg="http://www.example.com"/></data>
+</element>
+</correct>
+<valid>
+<foo>X</foo>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <empty>
+ <ext xmlns="http://www.example.com">
+ <element xmlns="http://relaxng.org/ns/structure/1.0"/>
+ </ext>
+ </empty>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:eg="http://www.example.com">
+ <eg:comment/>
+ <eg:comment/>
+ <start>
+ <eg:comment/>
+ <element>
+ <eg:comment/>
+ <eg:comment/>
+ <name>foo</name>
+ <eg:comment/>
+ <data type="string"/>
+ <eg:comment/>
+ <empty>
+ <eg:comment/>
+ <eg:comment/>
+ </empty>
+ <eg:comment/>
+ <eg:comment/>
+ </element>
+ <eg:comment/>
+ </start>
+ <eg:comment/>
+</grammar>
+</correct>
+<valid>
+<foo>X</foo>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:eg="http://www.example.com"
+ eg:comment="">
+ <start eg:comment="">
+ <element eg:comment="">
+ <name eg:comment="">foo</name>
+ <data eg:comment="" type="string"/>
+ <empty eg:comment=""/>
+ </element>
+ </start>
+</grammar>
+</correct>
+<valid>
+<foo>X</foo>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<correct>
+<rng:grammar xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns="http://www.example.com">
+ <comment/>
+ <comment/>
+ <rng:start>
+ <comment/>
+ <rng:element>
+ <comment/>
+ <comment/>
+ <rng:name>foo</rng:name>
+ <comment/>
+ <rng:data type="string"/>
+ <comment/>
+ </rng:element>
+ <comment/>
+ </rng:start>
+ <comment/>
+</rng:grammar>
+</correct>
+<valid>
+<foo>X</foo>
+</valid>
+</testCase>
+<testCase>
+<section>3</section>
+<correct>
+<rng:grammar xmlns:rng="http://relaxng.org/ns/structure/1.0">
+ <comment/>
+ <comment/>
+ <rng:start>
+ <comment/>
+ <rng:element>
+ <comment/>
+ <comment/>
+ <rng:name>foo</rng:name>
+ <comment/>
+ <rng:data type="string"/>
+ <comment/>
+ </rng:element>
+ <comment/>
+ </rng:start>
+ <comment/>
+</rng:grammar>
+</correct>
+<valid>
+<foo>X</foo>
+</valid>
+</testCase>
+</testSuite>
+</testSuite>
+<testSuite>
+<section>4</section>
+<testSuite>
+<section>4.2</section>
+<testCase>
+<section>4.2</section>
+<correct>
+<element name="&#xA;&#xD;&#x20;&#x9;foo&#xA;&#xD;&#x20;&#x9;" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="&#xA;&#xD;&#x20;&#x9;bar&#xA;&#xD;&#x20;&#x9;"/>
+</element>
+</correct>
+<valid>
+<foo bar=""/>
+</valid>
+</testCase>
+<testCase>
+<section>4.2</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <value type="&#xA;&#xD;&#x20;&#x9;string&#xA;&#xD;&#x20;&#x9;">bar</value>
+</element>
+</correct>
+<valid>
+<foo>bar</foo>
+</valid>
+<invalid>
+<foo>bar </foo>
+</invalid>
+</testCase>
+<testCase>
+<section>4.2</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="&#xA;&#xD;&#x20;&#x9;string&#xA;&#xD;&#x20;&#x9;"/>
+</element>
+</correct>
+<valid>
+<foo>X</foo>
+</valid>
+</testCase>
+<testCase>
+<section>4.2</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <name>&#xA;&#xD;&#x20;&#x9;foo&#xA;&#xD;&#x20;&#x9;</name>
+ <attribute><name>&#xA;&#xD;&#x20;&#x9;bar&#xA;&#xD;&#x20;&#x9;</name></attribute>
+</element>
+</correct>
+<valid>
+<foo bar=""/>
+</valid>
+</testCase>
+<testCase>
+<section>4.2</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start combine="&#xA;&#xD;&#x20;&#x9;choice&#xA;&#xD;&#x20;&#x9;">
+ <ref name="&#xA;&#xD;&#x20;&#x9;x&#xA;&#xD;&#x20;&#x9;"/>
+ </start>
+ <define name="x">
+ <ref name="y"/>
+ </define>
+ <define name="&#xA;&#xD;&#x20;&#x9;y&#xA;&#xD;&#x20;&#x9;">
+ <grammar>
+ <start combine="&#xA;&#xD;&#x20;&#x9;interleave&#xA;&#xD;&#x20;&#x9;">
+ <parentRef name="&#xA;&#xD;&#x20;&#x9;z&#xA;&#xD;&#x20;&#x9;"/>
+ </start>
+ </grammar>
+ </define>
+ <define name="z">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+</testSuite>
+<testCase>
+<section>4.4</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <value datatypeLibrary="http://www.example.com/this-does-not-exist">bar</value>
+</element>
+</correct>
+<valid>
+<foo>bar</foo>
+</valid>
+<valid>
+<foo>
+ bar
+</foo>
+</valid>
+<valid>
+<foo> bar </foo>
+</valid>
+<invalid>
+<foo>baz</foo>
+</invalid>
+<invalid>
+<foo>ba r</foo>
+</invalid>
+</testCase>
+<testSuite>
+<section>4.5</section>
+<testCase>
+<section>4.5</section>
+<dir name="sub">
+<resource name="x">
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <empty/>
+</element>
+</resource>
+</dir>
+<correct>
+<externalRef xmlns="http://relaxng.org/ns/structure/1.0"
+ xml:base="sub/y" href="x"/>
+</correct>
+<valid>
+<foo/>
+</valid>
+<invalid>
+<bar/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.5</section>
+<resource name="x">
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="bar">
+ <empty/>
+</element>
+</resource>
+<dir name="sub1">
+<resource name="x">
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="bar">
+ <empty/>
+</element>
+</resource>
+<dir name="sub3">
+<resource name="x">
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <empty/>
+</element>
+</resource>
+</dir>
+</dir>
+<correct>
+<group xmlns="http://relaxng.org/ns/structure/1.0" xml:base="sub1/">
+ <group>
+ <group xml:base="sub2">
+ <group>
+ <group xml:base="sub3/y">
+ <externalRef href="x"/>
+ </group>
+ </group>
+ </group>
+ </group>
+</group>
+</correct>
+<valid>
+<foo/>
+</valid>
+<invalid>
+<bar/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.5</section>
+<resource name="x">
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <empty/>
+</element>
+</resource>
+<incorrect>
+<externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x#foo"/>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.6</section>
+<testCase>
+<section>4.6</section>
+<resource name="x">
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <empty/>
+</element>
+</resource>
+<correct>
+<externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x"/>
+</correct>
+<valid>
+<foo/>
+</valid>
+<invalid>
+<bar/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.6</section>
+<resource name="x">
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <empty/>
+</element>
+</resource>
+<correct>
+<externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x" ns="http://www.example.com"/>
+</correct>
+<valid>
+<foo xmlns="http://www.example.com"/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.6</section>
+<resource name="x">
+<externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x"/>
+</resource>
+<incorrect>
+<externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x"/>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.6</section>
+<resource name="x">
+<start xmlns="http://relaxng.org/ns/structure/1.0">
+ <element name="foo">
+ <empty/>
+ </element>
+</start>
+</resource>
+<incorrect>
+<externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x"/>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.6</section>
+<resource name="x">
+<externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="y"/>
+</resource>
+<resource name="y">
+<externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x"/>
+</resource>
+<incorrect>
+<externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x"/>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.6</section>
+<documentation>Same value of href before resolution, but not a loop.</documentation>
+<dir name="sub">
+<resource name="x">
+<externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="sub/x"/>
+</resource>
+<dir name="sub">
+<resource name="x">
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <empty/>
+</element>
+</resource>
+</dir>
+</dir>
+<correct>
+<externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="sub/x"/>
+</correct>
+<valid>
+<foo/>
+</valid>
+<invalid>
+<bar/>
+</invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.7</section>
+<testCase>
+<section>4.7</section>
+<resource name="x">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+</grammar>
+</resource>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="x"/>
+</grammar>
+</correct>
+<valid>
+<foo/>
+</valid>
+<invalid>
+<bar/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.7</section>
+<resource name="x">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+</grammar>
+</resource>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="x" ns="http://www.example.com"/>
+</grammar>
+</correct>
+<valid>
+<foo xmlns="http://www.example.com"/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.7</section>
+<resource name="x">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="y"/>
+</grammar>
+</resource>
+<resource name="y">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+</grammar>
+</resource>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="x"/>
+</grammar>
+</correct>
+<valid>
+<foo/>
+</valid>
+<invalid>
+<bar/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.7</section>
+<resource name="x">
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <empty/>
+</element>
+</resource>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="x"/>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.7</section>
+<resource name="x">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="x"/>
+</grammar>
+</resource>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="x"/>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.7</section>
+<resource name="x">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="y"/>
+</grammar>
+</resource>
+<resource name="y">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="x"/>
+</grammar>
+</resource>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="x"/>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.7</section>
+<dir name="sub">
+<resource name="x">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="sub/x"/>
+</grammar>
+</resource>
+<dir name="sub">
+<resource name="x">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+</grammar>
+</resource>
+</dir>
+</dir>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="sub/x"/>
+</grammar>
+</correct>
+<valid>
+<foo/>
+</valid>
+<invalid>
+<bar/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.7</section>
+<resource name="x">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</resource>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="x">
+ <start>
+ <ref name="foo"/>
+ </start>
+ </include>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.7</section>
+<resource name="x">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</resource>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="x"/>
+ <start>
+ <ref name="foo"/>
+ </start>
+</grammar>
+</correct>
+<valid><foo/></valid>
+<invalid><bar/></invalid>
+</testCase>
+<testCase>
+<section>4.7</section>
+<resource name="x">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="foo"/>
+ </start>
+</grammar>
+</resource>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="x">
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+ </include>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.7</section>
+<resource name="x">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="foo"/>
+ </start>
+</grammar>
+</resource>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="x"/>
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</correct>
+<valid><foo/></valid>
+<invalid><bar/></invalid>
+</testCase>
+<testCase>
+<section>4.7</section>
+<resource name="x">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="foo" combine="choice">
+ <element name="foo3">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</resource>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="foo"/>
+ </start>
+ <include href="x">
+ <define name="foo" combine="choice">
+ <element name="foo1">
+ <empty/>
+ </element>
+ </define>
+ </include>
+ <define name="foo">
+ <element name="foo2">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</correct>
+<valid><foo1/></valid>
+<valid><foo2/></valid>
+<invalid><foo3/></invalid>
+</testCase>
+<testCase>
+<section>4.7</section>
+<resource name="level1.rng">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<include href="level2.rng">
+ <define name="foo">
+ <element name="bar">
+ <empty/>
+ </element>
+ </define>
+</include>
+</grammar>
+</resource>
+<resource name="level2.rng">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="bar">
+ <element name="bar">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</resource>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <ref name="foo"/>
+</start>
+<include href="level1.rng">
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</include>
+</grammar>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.8</section>
+<testCase>
+<section>4.8</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" ns="http://www.example.com" name="foo">
+ <attribute name="bar" ns="http://www.example.com"/>
+</element>
+</correct>
+<valid>
+<eg:foo eg:bar="x" xmlns:eg="http://www.example.com"/>
+</valid>
+<invalid>
+<eg:foo xmlns:eg="http://www.example.com" bar="x"/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.8</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" ns="http://www.example.com" name="foo">
+ <attribute name="bar"/>
+</element>
+</correct>
+<invalid>
+<eg:foo xmlns:eg="http://www.example.com" eg:bar="x"/>
+</invalid>
+<valid>
+<eg:foo xmlns:eg="http://www.example.com" bar="x"/>
+</valid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.9</section>
+<testCase>
+<section>4.9</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" ns="http://www.example.com" name="foo">
+ <attribute>
+ <name>bar</name>
+ </attribute>
+</element>
+</correct>
+<valid>
+<eg:foo xmlns:eg="http://www.example.com" eg:bar="x"/>
+</valid>
+<invalid>
+<eg:foo xmlns:eg="http://www.example.com" bar="x"/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.6</section>
+<section>4.9</section>
+<resource name="x">
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <empty/>
+</element>
+</resource>
+<correct>
+<group ns="http://www.example.com" xmlns="http://relaxng.org/ns/structure/1.0" >
+<externalRef href="x"/>
+</group>
+</correct>
+<valid>
+<foo xmlns="http://www.example.com"/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+<testCase>
+<correct>
+<group xmlns="http://relaxng.org/ns/structure/1.0">
+ <element ns="http://www.example.com">
+ <name>foo</name>
+ <empty/>
+ </element>
+</group>
+</correct>
+<valid><foo xmlns="http://www.example.com"/></valid>
+<invalid><foo/></invalid>
+</testCase>
+<testCase>
+<correct>
+<element ns="http://www.example.com" xmlns="http://relaxng.org/ns/structure/1.0">
+ <name>foo</name>
+ <empty/>
+</element>
+</correct>
+<valid><foo xmlns="http://www.example.com"/></valid>
+<invalid><foo/></invalid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute ns="http://www.example.com">
+ <name>bar</name>
+ <text/>
+ </attribute>
+</element>
+</correct>
+<valid><foo xmlns:x="http://www.example.com" x:bar="whatever"/></valid>
+<invalid><foo bar="whatever"/></invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.10</section>
+<testCase>
+<section>4.10</section>
+<incorrect>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo:bar">
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.10</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="eg:foo" xmlns:eg="http://www.example.com">
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo xmlns="http://www.example.com"/>
+</valid>
+<invalid>
+<foo xmlns="http://www.example.com/"/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.10</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo" xmlns:eg="http://www.example.com">
+ <attribute name="eg:bar"/>
+</element>
+</correct>
+<valid>
+<foo xmlns:ex="http://www.example.com" ex:bar="x"/>
+</valid>
+<invalid>
+<foo xmlns:ex="http://www.example.com/" ex:bar="x"/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.10</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <attribute name="xml:lang"/>
+</element>
+</correct>
+<valid>
+<foo xml:lang="en"/>
+</valid>
+<invalid>
+<foo lang="en"/>
+</invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.11</section>
+<testCase>
+<section>4.11</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <div ns="http://www.example.com">
+ <div>
+ <start>
+ <ref name="foo"/>
+ </start>
+ </div>
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+ </div>
+ <div/>
+</grammar>
+</correct>
+<valid>
+<foo xmlns="http://www.example.com"/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<testCase>
+<section>4.12</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<start>
+ <element name="foo">
+ <ref name="bars"/>
+ </element>
+</start>
+
+<define name="bars">
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+</define>
+
+</grammar>
+</correct>
+<valid>
+<foo><bar/><bar/><bar/></foo>
+</valid>
+<invalid>
+<foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<invalid>
+<foo></foo>
+</invalid>
+<invalid>
+<foo>X</foo>
+</invalid>
+<invalid>
+<foo><bar/>X<bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/><bar/><bar/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ </oneOrMore>
+</element>
+</correct>
+<valid>
+<foo><bar/><bar/><bar/></foo>
+</valid>
+<valid>
+<foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
+</valid>
+<invalid>
+<foo><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<invalid>
+<foo></foo>
+</invalid>
+<invalid>
+<foo>X</foo>
+</invalid>
+<invalid>
+<foo><bar/>X<bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/><bar/><bar/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<section>4.15</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ </zeroOrMore>
+</element>
+</correct>
+<valid>
+<foo><bar/><bar/><bar/></foo>
+</valid>
+<valid>
+<foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
+</valid>
+<invalid>
+<foo><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<valid>
+<foo></foo>
+</valid>
+<invalid>
+<foo>X</foo>
+</invalid>
+<invalid>
+<foo><bar/>X<bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/><bar/><bar/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<section>4.14</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <optional>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ </optional>
+</element>
+</correct>
+<valid>
+<foo><bar/><bar/><bar/></foo>
+</valid>
+<invalid>
+<foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<valid>
+<foo></foo>
+</valid>
+<invalid>
+<foo>X</foo>
+</invalid>
+<invalid>
+<foo><bar/>X<bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/><bar/><bar/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <list>
+ <value>x</value>
+ <value>y</value>
+ <value>z</value>
+ </list>
+</element>
+</correct>
+<valid>
+<foo>x y z</foo>
+</valid>
+<invalid>
+<foo>x</foo>
+</invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<section>4.13</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <mixed>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ </mixed>
+</element>
+</correct>
+<valid>
+<foo><bar/><bar/><bar/></foo>
+</valid>
+<invalid>
+<foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<invalid>
+<foo></foo>
+</invalid>
+<valid>
+<foo><bar/>X<bar/><bar/></foo>
+</valid>
+<invalid>
+<foo>X</foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/><bar/><bar/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <name>foo</name>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+</element>
+</correct>
+<valid>
+<foo><bar/><bar/><bar/></foo>
+</valid>
+<invalid>
+<foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<invalid>
+<foo></foo>
+</invalid>
+<invalid>
+<foo>X</foo>
+</invalid>
+<invalid>
+<foo><bar/>X<bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/><bar/><bar/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <anyName>
+ <except>
+ <name>foo</name>
+ <name>bar</name>
+ <name>baz</name>
+ </except>
+ </anyName>
+ <empty/>
+</element>
+</correct>
+<valid><xyzzy/></valid>
+<invalid><foo/></invalid>
+<invalid><bar/></invalid>
+<invalid><baz/></invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="token">
+ <except>
+ <value>x</value>
+ <value>y</value>
+ <value>z</value>
+ </except>
+ </data>
+</element>
+</correct>
+<valid><foo/></valid>
+<valid><foo>xyz</foo></valid>
+<invalid><foo>x</foo></invalid>
+<invalid><foo>y</foo></invalid>
+<invalid><foo>y</foo></invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="bar"/>
+</element>
+</correct>
+<valid>
+<foo bar=""/>
+</valid>
+<valid>
+<foo bar="x"/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute>
+ <name>bar</name>
+ </attribute>
+</element>
+</correct>
+<valid>
+<foo bar=""/>
+</valid>
+<valid>
+<foo bar="x"/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ </group>
+</element>
+</correct>
+<valid>
+<foo><bar/><bar/><bar/></foo>
+</valid>
+<invalid>
+<foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<invalid>
+<foo></foo>
+</invalid>
+<invalid>
+<foo>X</foo>
+</invalid>
+<invalid>
+<foo><bar/>X<bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/><bar/><bar/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <element name="bar1">
+ <empty/>
+ </element>
+ <element name="bar2">
+ <empty/>
+ </element>
+ <element name="bar3">
+ <empty/>
+ </element>
+ </choice>
+</element>
+</correct>
+<valid><foo><bar1/></foo></valid>
+<valid><foo><bar2/></foo></valid>
+<valid><foo><bar3/></foo></valid>
+<invalid><foo/></invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar1">
+ <empty/>
+ </element>
+ <element name="bar2">
+ <empty/>
+ </element>
+ <element name="bar3">
+ <empty/>
+ </element>
+ </interleave>
+</element>
+</correct>
+<valid><foo><bar1/><bar2/><bar3/></foo></valid>
+<valid><foo><bar1/><bar3/><bar2/></foo></valid>
+<valid><foo><bar2/><bar1/><bar3/></foo></valid>
+<valid><foo><bar2/><bar3/><bar1/></foo></valid>
+<valid><foo><bar3/><bar1/><bar2/></foo></valid>
+<valid><foo><bar3/><bar2/><bar1/></foo></valid>
+<invalid><foo><bar2/><bar1/></foo></invalid>
+<invalid><foo><bar1/><bar3/><bar2/><bar1/></foo></invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <element name="bar">
+ <empty/>
+ </element>
+ </group>
+</element>
+</correct>
+<valid><foo><bar/></foo></valid>
+<invalid><foo/></invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ </interleave>
+</element>
+</correct>
+<valid><foo><bar/></foo></valid>
+<invalid><foo/></invalid>
+</testCase>
+<testCase>
+<section>4.12</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <element name="bar">
+ <empty/>
+ </element>
+ </choice>
+</element>
+</correct>
+<valid><foo><bar/></foo></valid>
+<invalid><foo/></invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.13</section>
+<testCase>
+<section>4.13</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <mixed>
+ <element name="bar">
+ <empty/>
+ </element>
+ </mixed>
+</element>
+</correct>
+<valid><foo>x<bar/></foo></valid>
+<valid><foo><bar/></foo></valid>
+<valid><foo><bar/>x</foo></valid>
+<valid><foo>x<bar/>y</foo></valid>
+<invalid><foo/></invalid>
+<invalid><foo><bar/><bar/></foo></invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.14</section>
+<testCase>
+<section>4.14</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <optional>
+ <element name="bar">
+ <empty/>
+ </element>
+ </optional>
+</element>
+</correct>
+<valid><foo><bar/></foo></valid>
+<valid><foo/></valid>
+<invalid><foo>x<bar/></foo></invalid>
+<invalid><foo><bar/><bar/></foo></invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.15</section>
+<testCase>
+<section>4.15</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </zeroOrMore>
+</element>
+</correct>
+<valid><foo><bar/></foo></valid>
+<valid><foo/></valid>
+<invalid><foo>x<bar/></foo></invalid>
+<invalid><foo><baz/></foo></invalid>
+<valid><foo><bar/><bar/></foo></valid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.16</section>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element>
+ <anyName>
+ <except>
+ <anyName/>
+ </except>
+ </anyName>
+ <empty/>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element>
+ <anyName>
+ <except>
+ <choice>
+ <anyName/>
+ <name>foo</name>
+ </choice>
+ </except>
+ </anyName>
+ <empty/>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element>
+ <nsName ns="">
+ <except>
+ <nsName ns=""/>
+ </except>
+ </nsName>
+ <empty/>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element>
+ <nsName ns="">
+ <except>
+ <choice>
+ <nsName ns=""/>
+ <name>foo</name>
+ </choice>
+ </except>
+ </nsName>
+ <empty/>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element>
+ <nsName ns="">
+ <except>
+ <anyName/>
+ </except>
+ </nsName>
+ <empty/>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element>
+ <nsName ns="">
+ <except>
+ <choice>
+ <anyName/>
+ <name>foo</name>
+ </choice>
+ </except>
+ </nsName>
+ <empty/>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<documentation>Tests that 4.16 is before 4.20.</documentation>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <zeroOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <anyName/>
+ </except>
+ </anyName>
+ <text/>
+ </attribute>
+ <notAllowed/>
+ </zeroOrMore>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<documentation>Tests that 4.16 is before removal of unreachable definitions.</documentation>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <empty/>
+ </element>
+</start>
+<define name="bar">
+ <element>
+ <anyName>
+ <except>
+ <anyName/>
+ </except>
+ </anyName>
+ <empty/>
+ </element>
+</define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="xmlns">
+ <text/>
+ </attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<correct>
+<element name="xmlns" xmlns="http://relaxng.org/ns/structure/1.0">
+ <empty/>
+</element>
+</correct>
+<valid><xmlns/></valid>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name=" xmlns">
+ <text/>
+ </attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <optional>
+ <notAllowed/>
+ <attribute name="xmlns">
+ <text/>
+ </attribute>
+ </optional>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+ <define name="foo">
+ <attribute name="xmlns">
+ <text/>
+ </attribute>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="xmlns" ns="">
+ <text/>
+ </attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute>
+ <choice>
+ <name ns="">xmlns</name>
+ <name>foo</name>
+ </choice>
+ <text/>
+ </attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute>
+ <name ns="">xmlns</name>
+ <text/>
+ </attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute>
+ <name>xmlns</name>
+ <text/>
+ </attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute>
+ <name>
+ xmlns
+ </name>
+ <text/>
+ </attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute>
+ <choice>
+ <name>foo</name>
+ <name ns="">xmlns</name>
+ </choice>
+ <text/>
+ </attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <name>xmlns</name>
+ </except>
+ </anyName>
+ <text/>
+ </attribute>
+ </oneOrMore>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <attribute>
+ <nsName ns="">
+ <except>
+ <name>xmlns</name>
+ </except>
+ </nsName>
+ <text/>
+ </attribute>
+ </oneOrMore>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute ns="http://www.w3.org/2000/xmlns" name="bar">
+ <text/>
+ </attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://www.w3.org/2000/xmlns">
+ <empty/>
+</element>
+</correct>
+<valid><foo xmlns="http://www.w3.org/2000/xmlns"/></valid>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="token">
+ <param name="minLength">2</param>
+ </data>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="tok"/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <value type="tok"/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <optional>
+ <notAllowed/>
+ <data type="token">
+ <param name="minLength">2</param>
+ </data>
+ </optional>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <optional>
+ <notAllowed/>
+ <data type="tok"/>
+ </optional>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <optional>
+ <notAllowed/>
+ <value type="tok"/>
+ </optional>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <empty/>
+ </element>
+</start>
+<define name="foo">
+ <data type="token">
+ <param name="minLength">2</param>
+ </data>
+</define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <empty/>
+ </element>
+</start>
+<define name="foo">
+ <data type="tok"/>
+</define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.16</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <empty/>
+ </element>
+</start>
+<define name="foo">
+ <value type="tok"/>
+</define>
+</grammar>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.17</section>
+<testCase>
+<section>4.17</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <ref name="x"/>
+</start>
+<define name="x">
+ <element name="foo1">
+ <empty/>
+ </element>
+</define>
+<define name="x" combine="choice">
+ <element name="foo2">
+ <empty/>
+ </element>
+</define>
+<define name="x">
+ <element name="foo3">
+ <empty/>
+ </element>
+</define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.17</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start name="x">
+ <element name="foo1">
+ <empty/>
+ </element>
+</start>
+<start name="x" combine="choice">
+ <element name="foo2">
+ <empty/>
+ </element>
+</start>
+<start name="x">
+ <element name="foo3">
+ <empty/>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.17</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <ref name="x"/>
+</start>
+<define name="x">
+ <element name="foo1">
+ <empty/>
+ </element>
+</define>
+<define name="x">
+ <element name="foo2">
+ <empty/>
+ </element>
+</define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.17</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start name="x">
+ <element name="foo1">
+ <empty/>
+ </element>
+</start>
+<start name="x">
+ <element name="foo2">
+ <empty/>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.17</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <ref name="x"/>
+</start>
+<define name="x" combine="choice">
+ <element name="foo1">
+ <empty/>
+ </element>
+</define>
+<define name="x" combine="choice">
+ <element name="foo2">
+ <empty/>
+ </element>
+</define>
+<define name="x">
+ <element name="foo3">
+ <empty/>
+ </element>
+</define>
+</grammar>
+</correct>
+<valid>
+<foo1/>
+</valid>
+<valid>
+<foo2/>
+</valid>
+<valid>
+<foo3/>
+</valid>
+<invalid>
+<foo4/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.17</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start combine="choice">
+ <element name="foo1">
+ <empty/>
+ </element>
+</start>
+<start combine="choice">
+ <element name="foo2">
+ <empty/>
+ </element>
+</start>
+<start>
+ <element name="foo3">
+ <empty/>
+ </element>
+</start>
+</grammar>
+</correct>
+<valid>
+<foo1/>
+</valid>
+<valid>
+<foo2/>
+</valid>
+<valid>
+<foo3/>
+</valid>
+<invalid>
+<foo4/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.17</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <ref name="x"/>
+ </element>
+</start>
+<define name="x" combine="choice">
+ <element name="bar1">
+ <empty/>
+ </element>
+</define>
+<define name="x">
+ <element name="bar2">
+ <empty/>
+ </element>
+</define>
+<define name="x" combine="interleave">
+ <element name="bar3">
+ <empty/>
+ </element>
+</define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.17</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+<grammar>
+<start name="x" combine="choice">
+ <element name="bar1">
+ <empty/>
+ </element>
+</start>
+<start name="x">
+ <element name="bar2">
+ <empty/>
+ </element>
+</start>
+<start name="x" combine="interleave">
+ <element name="bar3">
+ <empty/>
+ </element>
+</start>
+</grammar>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.17</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <ref name="x"/>
+ </element>
+</start>
+<define name="x" combine="interleave">
+ <element name="bar1">
+ <empty/>
+ </element>
+</define>
+<define name="x" combine="interleave">
+ <element name="bar2">
+ <empty/>
+ </element>
+</define>
+<define name="x">
+ <element name="bar3">
+ <empty/>
+ </element>
+</define>
+</grammar>
+</correct>
+<valid>
+<foo><bar1/><bar2/><bar3/></foo>
+</valid>
+<valid>
+<foo><bar1/><bar3/><bar2/></foo>
+</valid>
+<valid>
+<foo><bar2/><bar3/><bar1/></foo>
+</valid>
+<invalid>
+<foo><bar2/><bar3/><bar1/><bar2/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>4.17</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+<grammar>
+<start combine="interleave">
+ <element name="bar1">
+ <empty/>
+ </element>
+</start>
+<start>
+ <element name="bar2">
+ <empty/>
+ </element>
+</start>
+<start combine="interleave">
+ <element name="bar3">
+ <empty/>
+ </element>
+</start>
+</grammar>
+</element>
+</correct>
+<valid>
+<foo><bar1/><bar2/><bar3/></foo>
+</valid>
+<valid>
+<foo><bar1/><bar3/><bar2/></foo>
+</valid>
+<valid>
+<foo><bar2/><bar3/><bar1/></foo>
+</valid>
+<invalid>
+<foo><bar2/><bar3/><bar1/><bar2/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>4.17</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <ref name="x"/>
+ </element>
+</start>
+<define name="x">
+ <element name="bar1">
+ <empty/>
+ </element>
+</define>
+<define name="x" combine="interleave">
+ <element name="bar2">
+ <empty/>
+ </element>
+</define>
+<define name="x">
+ <element name="bar3">
+ <empty/>
+ </element>
+</define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.17</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+<grammar>
+<start name="x">
+ <element name="bar1">
+ <empty/>
+ </element>
+</start>
+<start name="x" combine="interleave">
+ <element name="bar2">
+ <empty/>
+ </element>
+</start>
+<start name="x">
+ <element name="bar3">
+ <empty/>
+ </element>
+</start>
+</grammar>
+</element>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.18</section>
+<testCase>
+<section>4.18</section>
+<documentation>grammar must have a start</documentation>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.18</section>
+<documentation>4.17 is before 4.18</documentation>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+ <define name="bar">
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+ </grammar>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.18</section>
+<documentation>4.17 is before 4.19</documentation>
+<incorrect>
+<choice xmlns="http://relaxng.org/ns/structure/1.0">
+ <element name="foo">
+ <empty/>
+ </element>
+ <group>
+ <notAllowed/>
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+ </grammar>
+ </group>
+</choice>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.18</section>
+<documentation>every ref must have a def</documentation>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="foo"/>
+ </start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.18</section>
+<documentation>4.17 is before 4.18</documentation>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+ <define name="foo">
+ <ref name="bar"/>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.18</section>
+<documentation>4.17 is before 4.19</documentation>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <choice>
+ <element name="foo">
+ <empty/>
+ </element>
+ <group>
+ <notAllowed/>
+ <ref name="foo"/>
+ </group>
+ </choice>
+ </start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.18</section>
+<documentation>every parentRef must have a def</documentation>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <parentRef name="foo"/>
+ </start>
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+ </grammar>
+ </start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.18</section>
+<documentation>4.17 is before 4.18</documentation>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+ <define name="bar">
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <parentRef name="foo"/>
+ </start>
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+ </grammar>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.18</section>
+<documentation>4.17 is before 4.19</documentation>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <choice>
+ <element name="foo">
+ <empty/>
+ </element>
+ <group>
+ <notAllowed/>
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <parentRef name="foo"/>
+ </start>
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+ </grammar>
+ </group>
+ </choice>
+ </start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.18</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="foo"/>
+ </start>
+ <define name="foo">
+ <choice>
+ <element name="foo">
+ <empty/>
+ </element>
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <parentRef name="foo"/>
+ </start>
+ </grammar>
+ </choice>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.18</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="foo"/>
+ </start>
+ <define name="foo">
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="foo"/>
+ </start>
+ <define name="foo">
+ <element name="foo">
+ <empty/>
+ </element>
+ </define>
+ </grammar>
+ </define>
+</grammar>
+</correct>
+<valid><foo/></valid>
+</testCase>
+<testCase>
+<section>4.18</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <grammar>
+ <start>
+ <ref name="foo"/>
+ </start>
+ <define name="foo">
+ <element name="innerFoo">
+ <parentRef name="foo"/>
+ </element>
+ </define>
+ </grammar>
+ </start>
+ <define name="foo">
+ <element name="outerFoo">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</correct>
+<valid><innerFoo><outerFoo/></innerFoo></valid>
+<invalid><outerFoo/></invalid>
+</testCase>
+<testCase>
+<section>4.18</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="foo"/>
+ </start>
+ <define name="foo">
+ <element name="outerFoo">
+ <grammar>
+ <start>
+ <ref name="foo"/>
+ </start>
+ <define name="foo">
+ <element name="innerFoo">
+ <empty/>
+ </element>
+ </define>
+ </grammar>
+ </element>
+ </define>
+</grammar>
+</correct>
+<valid><outerFoo><innerFoo/></outerFoo></valid>
+<invalid><innerFoo/></invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>4.19</section>
+<testCase>
+<section>4.19</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <ref name="bar"/>
+ </element>
+ </start>
+ <define name="bar">
+ <optional>
+ <element name="bar">
+ <empty/>
+ </element>
+ <ref name="bar"/>
+ </optional>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>4.19</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <ref name="bar"/>
+ </element>
+ </start>
+ <define name="bar">
+ <element name="bar">
+ <optional>
+ <ref name="bar"/>
+ </optional>
+ </element>
+ </define>
+</grammar>
+</correct>
+<valid>
+<foo><bar/></foo>
+</valid>
+<valid>
+<foo><bar><bar/></bar></foo>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+<testCase>
+<section>4.19</section>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <empty/>
+ </element>
+ </start>
+ <define name="bar">
+ <ref name="bar"/>
+ </define>
+</grammar>
+</correct>
+<valid><foo/></valid>
+</testCase>
+<testCase>
+<section>4.19</section>
+<section>4.20</section>
+<documentation>Tests that recursion detection happens before
+normalization of notAllowed.</documentation>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <choice>
+ <element name="foo">
+ <empty/>
+ </element>
+ <group>
+ <notAllowed/>
+ <ref name="bar"/>
+ </group>
+ </choice>
+ </start>
+ <define name="bar">
+ <element name="bar">
+ <empty/>
+ </element>
+ <optional>
+ <ref name="bar"/>
+ </optional>
+ </define>
+</grammar>
+</incorrect>
+</testCase>
+</testSuite>
+</testSuite>
+<testSuite>
+<section>6</section>
+<testSuite>
+<section>6.1</section>
+<testCase>
+<section>6.1</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <anyName/>
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+<valid>
+<foo xmlns="http://www.example.com"/>
+</valid>
+</testCase>
+<testCase>
+<section>6.1</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <anyName>
+ <except>
+ <name ns="">foo</name>
+ </except>
+ </anyName>
+ <empty/>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo xmlns="http://www.example.com"/>
+</valid>
+<valid>
+<bar/>
+</valid>
+</testCase>
+<testCase>
+<section>6.1</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <anyName>
+ <except>
+ <nsName ns=""/>
+ </except>
+ </anyName>
+ <empty/>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo xmlns="http://www.example.com"/>
+</valid>
+</testCase>
+<testCase>
+<section>6.1</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <nsName ns=""/>
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+<invalid>
+<foo xmlns="http://www.example.com"/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.1</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <nsName ns="http://www.example.com"/>
+ <empty/>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo xmlns="HTTP://www.example.com"/>
+</invalid>
+<invalid>
+<foo xmlns="http://www.example.com/"/>
+</invalid>
+<valid>
+<foo xmlns="http://www.example.com"/>
+</valid>
+</testCase>
+<testCase>
+<section>6.1</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <nsName ns="http://www.example.com">
+ <except>
+ <name ns="http://www.example.com">foo</name>
+ </except>
+ </nsName>
+ <empty/>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo xmlns="http://www.example.com"/>
+</invalid>
+<valid>
+<bar xmlns="http://www.example.com"/>
+</valid>
+</testCase>
+<testCase>
+<section>6.1</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <nsName ns="http://www.example.com">
+ <except>
+ <name ns="">foo</name>
+ </except>
+ </nsName>
+ <empty/>
+</element>
+</correct>
+<invalid>
+<bar/>
+</invalid>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo xmlns="http://www.example.com"/>
+</valid>
+<valid>
+<bar xmlns="http://www.example.com"/>
+</valid>
+</testCase>
+<testCase>
+<section>6.1</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <name ns="http://www.example.com">foo</name>
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo xmlns="http://www.example.com"/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<bar xmlns="http://www.example.com"/>
+</invalid>
+<invalid>
+<foo xmlns="http://www.example.org"/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.1</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <name ns="">foo</name>
+ <empty/>
+</element>
+</correct>
+<invalid>
+<foo xmlns="http://www.example.com"/>
+</invalid>
+<valid>
+<foo/>
+</valid>
+<invalid>
+<bar xmlns="http://www.example.com"/>
+</invalid>
+<invalid>
+<bar/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.1</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <name ns="">foo</name>
+ <name ns="">bar</name>
+ </choice>
+ <empty/>
+</element>
+</correct>
+<invalid>
+<baz/>
+</invalid>
+<valid>
+<foo/>
+</valid>
+<valid>
+<bar/>
+</valid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>6.2</section>
+<testSuite>
+<section>6.2.1</section>
+<testCase>
+<section>6.2.1</section>
+<correct>
+<choice xmlns="http://relaxng.org/ns/structure/1.0">
+ <element name="foo">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+</choice>
+</correct>
+<valid>
+<foo/>
+</valid>
+<valid>
+<bar/>
+</valid>
+<invalid>
+<baz/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.1</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <group>
+ <element name="bar1">
+ <empty/>
+ </element>
+ <element name="bar2">
+ <empty/>
+ </element>
+ </group>
+ <group>
+ <element name="bar1">
+ <empty/>
+ </element>
+ <element name="bar3">
+ <empty/>
+ </element>
+ </group>
+ </choice>
+</element>
+</correct>
+<valid>
+<foo><bar1/><bar2/></foo>
+</valid>
+<valid>
+<foo><bar1/><bar3/></foo>
+</valid>
+<invalid>
+<foo><bar1/></foo>
+</invalid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo><bar2/></foo>
+</invalid>
+<invalid>
+<foo><bar3/></foo>
+</invalid>
+<invalid>
+<foo><bar1/><bar2/><bar3/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.1</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <group>
+ <attribute name="bar1">
+ <text/>
+ </attribute>
+ <attribute name="bar2">
+ <text/>
+ </attribute>
+ </group>
+ <group>
+ <attribute name="bar1">
+ <text/>
+ </attribute>
+ <attribute name="bar3">
+ <text/>
+ </attribute>
+ </group>
+ </choice>
+</element>
+</correct>
+<valid>
+<foo bar1="x" bar2="x"/>
+</valid>
+<valid>
+<foo bar1="x" bar3="x"/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo bar1="x"/>
+</invalid>
+<invalid>
+<foo bar2="x"/>
+</invalid>
+<invalid>
+<foo bar3="x"/>
+</invalid>
+<invalid>
+<foo bar1="x" bar2="x" bar3="x"/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.1</section>
+<correct>
+<choice xmlns="http://relaxng.org/ns/structure/1.0">
+ <element name="foo">
+ <element name="bar">
+ <empty/>
+ </element>
+ </element>
+ <element name="foo">
+ <element name="baz">
+ <empty/>
+ </element>
+ </element>
+</choice>
+</correct>
+<valid>
+<foo><bar/></foo>
+</valid>
+<valid>
+<foo><baz/></foo>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo><foo/></foo>
+</invalid>
+<invalid>
+<bar/>
+</invalid>
+<invalid>
+<fobaz/>
+</invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>6.2.2</section>
+<testCase>
+<section>6.2.2</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="baz">
+ <empty/>
+ </element>
+ </group>
+</element>
+</correct>
+<valid>
+<foo><bar/><baz/></foo>
+</valid>
+<invalid>
+<foo><baz/><bar/></foo>
+</invalid>
+<invalid>
+<foo><bar/><baz/><bar/><baz/></foo>
+</invalid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<invalid>
+<foo><baz/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.2</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <attribute name="bar">
+ <text/>
+ </attribute>
+ <attribute name="baz">
+ <text/>
+ </attribute>
+ </group>
+</element>
+</correct>
+<valid>
+<foo bar="x" baz="x"/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.2</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <attribute name="bar">
+ <text/>
+ </attribute>
+ <attribute name="baz">
+ <text/>
+ </attribute>
+ </group>
+</element>
+</correct>
+<valid>
+<foo bar="x" baz="x"/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo bar="x"/>
+</invalid>
+<invalid>
+<foo baz="x"/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.2</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <attribute name="baz">
+ <text/>
+ </attribute>
+ <attribute name="bar">
+ <text/>
+ </attribute>
+ </group>
+</element>
+</correct>
+<valid>
+<foo bar="x" baz="x"/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo bar="x"/>
+</invalid>
+<invalid>
+<foo baz="x"/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.2</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <attribute name="bar">
+ <text/>
+ </attribute>
+ <element name="baz">
+ <empty/>
+ </element>
+ </group>
+</element>
+</correct>
+<valid>
+<foo bar="x"><baz/></foo>
+</valid>
+<invalid>
+<foo><baz/></foo>
+</invalid>
+<invalid>
+<foo bar="x"/>
+</invalid>
+<invalid>
+<foo baz="x"><bar/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.2</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <element name="baz">
+ <empty/>
+ </element>
+ <attribute name="bar">
+ <text/>
+ </attribute>
+ </group>
+</element>
+</correct>
+<valid>
+<foo bar="x"><baz/></foo>
+</valid>
+<invalid>
+<foo><baz/></foo>
+</invalid>
+<invalid>
+<foo bar="x"/>
+</invalid>
+<invalid>
+<foo baz="x"><bar/></foo>
+</invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>6.2.3</section>
+<testCase>
+<section>6.2.3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+<valid>
+<foo> </foo>
+</valid>
+<valid>
+<foo>
+
+
+</foo>
+</valid>
+<valid>
+<foo>
+<?target data?>
+<?target data?>
+<?target data?>
+<?target data?>
+</foo>
+</valid>
+<invalid>
+<foo>x</foo>
+</invalid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<invalid>
+<foo bar="x"/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="bar">
+ <empty/>
+ </attribute>
+</element>
+</correct>
+<valid><foo bar=""/></valid>
+<valid><foo bar=" "/></valid>
+<invalid><foo bar="x"/></invalid>
+</testCase>
+<testCase>
+<section>6.2.3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <list>
+ <empty/>
+ </list>
+</element>
+</correct>
+<valid><foo/></valid>
+<valid><foo> </foo></valid>
+<invalid><foo>x</foo></invalid>
+<invalid><foo><bar/></foo></invalid>
+<invalid><foo bar=""/></invalid>
+</testCase>
+<testCase>
+<section>6.2.3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="bar">
+ <list>
+ <empty/>
+ </list>
+ </attribute>
+</element>
+</correct>
+<valid><foo bar=""/></valid>
+<valid><foo bar=" "/></valid>
+<invalid><foo bar="x"/></invalid>
+</testCase>
+<testCase>
+<section>6.2.3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <element name="bar">
+ <empty/>
+ </element>
+ <choice>
+ <empty/>
+ <element name="baz">
+ <empty/>
+ </element>
+ </choice>
+ </group>
+</element>
+</correct>
+<valid>
+<foo><bar/><baz/></foo>
+</valid>
+<valid>
+<foo><bar/></foo>
+</valid>
+<invalid>
+<foo></foo>
+</invalid>
+<invalid>
+<foo><bar/><baz/><baz/></foo>
+</invalid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <empty/>
+ <attribute name="bar">
+ <text/>
+ </attribute>
+ </choice>
+</element>
+</correct>
+<valid>
+<foo bar="x"/>
+</valid>
+<valid>
+<foo/>
+</valid>
+<invalid>
+<foo baz="x"/>
+</invalid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>6.2.4</section>
+<testCase>
+<section>6.2.4</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <text/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+<valid>
+<foo> </foo>
+</valid>
+<valid>
+<foo>x</foo>
+</valid>
+<valid>
+<foo>
+x
+<?target data?>
+y
+</foo>
+</valid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.4</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <text/>
+ <element name="bar">
+ <empty/>
+ </element>
+ </group>
+</element>
+</correct>
+<valid>
+<foo><bar/></foo>
+</valid>
+<valid>
+<foo>
+<bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+x
+<bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+x
+<?target data?>
+y
+<bar/></foo>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo><bar/>x</foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.4</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <element name="bar">
+ <empty/>
+ </element>
+ <text/>
+ </group>
+</element>
+</correct>
+<valid>
+<foo><bar/></foo>
+</valid>
+<valid>
+<foo>
+<bar/>
+</foo>
+</valid>
+<invalid>
+<foo>
+x
+<bar/>
+</foo>
+</invalid>
+<valid>
+<foo>
+<bar/>
+x
+<?target data?>
+y
+</foo>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo><bar/>x</foo>
+</valid>
+</testCase>
+<testCase>
+<section>6.2.4</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ <text/>
+ </interleave>
+</element>
+</correct>
+<valid>
+<foo><bar/></foo>
+</valid>
+<valid>
+<foo>
+<bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+x
+<bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+<bar/>
+x
+<?target data?>
+y
+</foo>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo><bar/>x</foo>
+</valid>
+<valid>
+<foo>x<bar/>x</foo>
+</valid>
+<invalid>
+<foo>x<bar/>x<bar/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.4</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="bar">
+ <text/>
+ </attribute>
+</element>
+</correct>
+<valid>
+<foo bar=""/>
+</valid>
+<valid>
+<foo bar="x"/>
+</valid>
+<valid>
+<foo bar=" "/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo><bar/>x<bar/></foo>
+</invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>6.2.5</section>
+<testCase>
+<section>6.2.5</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </oneOrMore>
+</element>
+</correct>
+<valid>
+<foo><bar/></foo>
+</valid>
+<valid>
+<foo><bar/><bar/></foo>
+</valid>
+<valid>
+<foo><bar/><bar/><bar/></foo>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.5</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <group>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ </group>
+ </oneOrMore>
+</element>
+</correct>
+<valid>
+<foo><bar/><bar/></foo>
+</valid>
+<valid>
+<foo><bar/><bar/><bar/><bar/></foo>
+</valid>
+<valid>
+<foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
+</valid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo><bar/><bar/><bar/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.5</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <attribute>
+ <nsName ns=""/>
+ <text/>
+ </attribute>
+ </oneOrMore>
+</element>
+</correct>
+<valid>
+<foo x=""/>
+</valid>
+<valid>
+<foo x="" y=""/>
+</valid>
+<valid>
+<foo x="" y="" z=""/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo xmlns:ns="http://www.example.com" ns:x=""/>
+</invalid>
+<invalid>
+<foo x="" xmlns:ns="http://www.example.com" ns:x=""/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.5</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <choice>
+ <attribute name="bar">
+ <text/>
+ </attribute>
+ <element name="bar">
+ <text/>
+ </element>
+ </choice>
+ </oneOrMore>
+</element>
+</correct>
+<valid>
+<foo bar=""><bar/><bar/></foo>
+</valid>
+<valid>
+<foo><bar/></foo>
+</valid>
+<valid>
+<foo bar=""/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>6.2.6</section>
+<testCase>
+<section>6.2.6</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="baz">
+ <empty/>
+ </element>
+ </interleave>
+</element>
+</correct>
+<valid>
+<foo><bar/><baz/></foo>
+</valid>
+<valid>
+<foo><baz/><bar/></foo>
+</valid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<invalid>
+<foo><baz/></foo>
+</invalid>
+<invalid>
+<foo><bar/><bar/></foo>
+</invalid>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.6</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <group>
+ <element name="bar1">
+ <empty/>
+ </element>
+ <element name="bar2">
+ <empty/>
+ </element>
+ </group>
+ <element name="baz">
+ <empty/>
+ </element>
+ </interleave>
+</element>
+</correct>
+<valid>
+<foo><baz/><bar1/><bar2/></foo>
+</valid>
+<valid>
+<foo><bar1/><baz/><bar2/></foo>
+</valid>
+<valid>
+<foo><bar1/><bar2/><baz/></foo>
+</valid>
+<invalid>
+<foo><baz/><bar2/><bar1/></foo>
+</invalid>
+<invalid>
+<foo><bar2/><bar1/></foo>
+</invalid>
+<invalid>
+<foo><baz/><bar2/><bar1/></foo>
+</invalid>
+<invalid>
+<foo><baz/><bar1/></foo>
+</invalid>
+<invalid>
+<foo><baz/><bar2/></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.6</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <attribute name="bar">
+ <text/>
+ </attribute>
+ <attribute name="baz">
+ <text/>
+ </attribute>
+ </interleave>
+</element>
+</correct>
+<valid>
+<foo bar="" baz=""/>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo bar=""/>
+</invalid>
+<invalid>
+<foo baz=""/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.6</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ <attribute name="baz">
+ <text/>
+ </attribute>
+ </interleave>
+</element>
+</correct>
+<valid>
+<foo baz=""><bar/></foo>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo bar=""/>
+</invalid>
+<invalid>
+<foo bar=""><baz/><baz/></foo>
+</invalid>
+<invalid>
+<foo><baz/><baz/></foo>
+</invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>6.2.7</section>
+<testCase>
+<section>6.2.7</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute>
+ <name ns="">bar</name>
+ <value type="string" datatypeLibrary="">baz</value>
+ </attribute>
+</element>
+</correct>
+<valid>
+<foo bar="baz"/>
+</valid>
+<invalid>
+<foo bar=" baz"/>
+</invalid>
+<invalid>
+<foo bar="b"/>
+</invalid>
+<invalid>
+<foo bar=""/>
+</invalid>
+<invalid>
+<foo bar=" "/>
+</invalid>
+<invalid>
+<foo><bar>baz</bar></foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.7</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute>
+ <name ns="">bar</name>
+ <choice>
+ <value type="string" datatypeLibrary="">baz</value>
+ <empty/>
+ </choice>
+ </attribute>
+</element>
+</correct>
+<valid>
+<foo bar="baz"/>
+</valid>
+<valid>
+<foo bar=""/>
+</valid>
+<invalid>
+<foo bar=" baz"/>
+</invalid>
+<invalid>
+<foo bar="b"/>
+</invalid>
+<invalid>
+<foo><bar>baz</bar></foo>
+</invalid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.7</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute>
+ <name ns="">bar</name>
+ <value type="string"/>
+ </attribute>
+</element>
+</correct>
+<valid>
+<foo bar=""/>
+</valid>
+<invalid>
+<foo bar=" "/>
+</invalid>
+<invalid>
+<foo bar="x"/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.7</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <name ns="">foo</name>
+ <group>
+ <element>
+ <name ns="">bar</name>
+ <empty/>
+ </element>
+ <element>
+ <name ns="">baz</name>
+ <empty/>
+ </element>
+ </group>
+</element>
+</correct>
+<valid>
+<foo><bar/><baz/></foo>
+</valid>
+<valid>
+<foo>
+<bar/>
+<baz/>
+</foo>
+</valid>
+<valid>
+<foo>
+<bar/>
+&#xD;
+<baz/>
+</foo>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<bar><bar/><baz/></bar>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.7</section>
+<section>6.2.8</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <value type="string"/>
+</element>
+</correct>
+<valid><foo/></valid>
+<invalid><foo> </foo></invalid>
+<invalid><foo>x</foo></invalid>
+</testCase>
+<testCase>
+<section>6.2.7</section>
+<section>6.2.8</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <value type="string"/>
+ <empty/>
+ </choice>
+</element>
+</correct>
+<valid><foo/></valid>
+<valid><foo> </foo></valid>
+<invalid><foo>x</foo></invalid>
+</testCase>
+<testCase>
+<section>6.2.7</section>
+<section>6.2.8</section>
+<section>6.2.10</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <list>
+ <data type="token"/>
+ </list>
+</element>
+</correct>
+<invalid><foo/></invalid>
+<invalid><foo> </foo></invalid>
+<valid><foo>x</foo></valid>
+<valid><foo> x </foo></valid>
+<invalid><foo>x y</foo></invalid>
+</testCase>
+<testCase>
+<section>6.2.7</section>
+<section>6.2.8</section>
+<requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="string"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <param name="minLength">2</param>
+ </data>
+</element>
+</correct>
+<valid><foo>xx</foo></valid>
+<valid><foo>xxx</foo></valid>
+<valid><foo> </foo></valid>
+<valid><foo> </foo></valid>
+<invalid><foo>x</foo></invalid>
+<invalid><foo> </foo></invalid>
+<invalid><foo/></invalid>
+</testCase>
+<testCase>
+<section>6.2.7</section>
+<section>6.2.8</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <value>x</value>
+ <element name="bar">
+ <empty/>
+ </element>
+ </choice>
+</element>
+</correct>
+<valid><foo> x </foo></valid>
+<valid><foo>x</foo></valid>
+<invalid><foo>y</foo></invalid>
+<valid><foo><bar/></foo></valid>
+<valid>
+<foo>
+<bar/>
+</foo>
+</valid>
+<invalid><foo>x<bar/></foo></invalid>
+<invalid><foo/></invalid>
+<invalid><foo><bar/>x</foo></invalid>
+</testCase>
+<testCase>
+<section>6.2.7</section>
+<section>6.2.8</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <value>x</value>
+ <mixed>
+ <element name="bar">
+ <empty/>
+ </element>
+ </mixed>
+ </choice>
+</element>
+</correct>
+<valid><foo> x </foo></valid>
+<valid><foo>x</foo></valid>
+<invalid><foo>y</foo></invalid>
+<valid><foo><bar/></foo></valid>
+<valid>
+<foo>
+<bar/>
+</foo>
+</valid>
+<valid><foo>x<bar/></foo></valid>
+<invalid><foo/></invalid>
+<valid><foo><bar/>x</foo></valid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>6.2.8</section>
+<testCase>
+<section>6.2.8</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="string">
+ <except>
+ <choice>
+ <value>x</value>
+ <value>y</value>
+ </choice>
+ </except>
+ </data>
+</element>
+</correct>
+<valid>
+<foo>xyzzy</foo>
+</valid>
+<invalid>
+<foo>x</foo>
+</invalid>
+<invalid>
+<foo>y</foo>
+</invalid>
+<invalid>
+<foo> x</foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.8</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="string"/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+<testCase>
+<section>6.2.8</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <value/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+<testCase>
+<section>6.2.8</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="string">
+ <except>
+ <value/>
+ </except>
+ </data>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo>x</foo>
+</valid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>6.2.9</section>
+<testCase>
+<section>6.2.9</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="string" datatypeLibrary=""/>
+</element>
+</correct>
+<valid>
+<foo>xyzzy</foo>
+</valid>
+<valid>
+<foo>
+x
+<?target data?>
+y
+<?target data?>
+z
+</foo>
+</valid>
+<valid>
+<foo></foo>
+</valid>
+<valid>
+<foo>
+</foo>
+</valid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<invalid>
+<foo bar=""/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.9</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="token" datatypeLibrary=""/>
+</element>
+</correct>
+<valid>
+<foo>xyzzy</foo>
+</valid>
+<valid>
+<foo>
+x
+<?target data?>
+y
+<?target data?>
+z
+</foo>
+</valid>
+<valid>
+<foo></foo>
+</valid>
+<valid>
+<foo>
+</foo>
+</valid>
+<invalid>
+<foo><bar/></foo>
+</invalid>
+<invalid>
+<foo bar=""/>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.9</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <value type="string" datatypeLibrary="">x</value>
+</element>
+</correct>
+<valid><foo>x</foo></valid>
+<invalid><foo>xy</foo></invalid>
+<invalid><foo> x</foo></invalid>
+<invalid><foo/></invalid>
+</testCase>
+<testCase>
+<section>6.2.9</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <value type="string" datatypeLibrary=""> x</value>
+</element>
+</correct>
+<valid><foo> x</foo></valid>
+<invalid><foo> xy</foo></invalid>
+<invalid><foo>x</foo></invalid>
+<invalid><foo/></invalid>
+</testCase>
+<testCase>
+<section>6.2.9</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <value type="token" datatypeLibrary="">x</value>
+</element>
+</correct>
+<valid><foo>x</foo></valid>
+<valid><foo> x</foo></valid>
+<valid><foo>x </foo></valid>
+<valid><foo>&#xA;&#xD;&#x9;&#x20;x&#xA;&#xD;&#x9;&#x20;</foo></valid>
+<invalid><foo/></invalid>
+<invalid><foo>xy</foo></invalid>
+</testCase>
+<testCase>
+<section>6.2.9</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <value type="token" datatypeLibrary="">x y</value>
+</element>
+</correct>
+<valid><foo>x y</foo></valid>
+<valid><foo> x y </foo></valid>
+<valid><foo>x&#xA;&#xD;&#x9;&#x20;y</foo></valid>
+<invalid><foo>xy</foo></invalid>
+</testCase>
+<testCase>
+<section>6.2.9</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <value type="token" datatypeLibrary="">&#xA;&#xD;&#x9;&#x20;x&#xA;&#xD;&#x9;&#x20;</value>
+</element>
+</correct>
+<valid><foo>x</foo></valid>
+<valid><foo> x</foo></valid>
+<valid><foo>x </foo></valid>
+<valid><foo>&#xD;&#x9;x&#x20;&#xA;</foo></valid>
+<invalid><foo/></invalid>
+<invalid><foo>xy</foo></invalid>
+</testCase>
+<testCase>
+<section>6.2.9</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <value type="token" datatypeLibrary="">x&#xA;&#xD;&#x9;&#x20;y</value>
+</element>
+</correct>
+<valid><foo>x y</foo></valid>
+<valid><foo>x y</foo></valid>
+<valid><foo> x y </foo></valid>
+<valid><foo>x&#xD;&#x9;y</foo></valid>
+<valid><foo>x&#x20;&#xA;y</foo></valid>
+<invalid><foo/></invalid>
+<invalid><foo>xy</foo></invalid>
+</testCase>
+<testCase>
+<section>6.2.9</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="decimal" datatypeLibrary=""/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>6.2.9</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <value type="decimal" datatypeLibrary=""/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>6.2.9</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="string" datatypeLibrary="">
+ <param name="length">2</param>
+ </data>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>6.2.9</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="token" datatypeLibrary="">
+ <param name="length">2</param>
+ </data>
+</element>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<section>6.2.10</section>
+<testCase>
+<section>6.2.10</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <list>
+ <value type="string">x</value>
+ </list>
+</element>
+</correct>
+<valid>
+<foo>x</foo>
+</valid>
+<valid>
+<foo> x </foo>
+</valid>
+<invalid>
+<foo>x x</foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.10</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <list>
+ <oneOrMore>
+ <value type="string">x</value>
+ </oneOrMore>
+ </list>
+</element>
+</correct>
+<valid>
+<foo>x</foo>
+</valid>
+<valid>
+<foo> x x x x </foo>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo>x y</foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.10</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <list>
+ <group>
+ <value type="string">x</value>
+ <value type="string">y</value>
+ </group>
+ </list>
+</element>
+</correct>
+<valid>
+<foo>x y</foo>
+</valid>
+<valid>
+<foo>x y</foo>
+</valid>
+<valid>
+<foo>&#xD;x&#xA;y&#x9;</foo>
+</valid>
+<invalid>
+<foo>x</foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.10</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <list>
+ <group>
+ <data type="token"/>
+ <data type="token"/>
+ </group>
+ </list>
+</element>
+</correct>
+<valid>
+<foo>x y</foo>
+</valid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo>x y z</foo>
+</invalid>
+</testCase>
+<testCase>
+<section>6.2.10</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <list>
+ <value>x y</value>
+ </list>
+</element>
+</correct>
+<invalid>
+<foo>x y</foo>
+</invalid>
+</testCase>
+</testSuite>
+</testSuite>
+</testSuite>
+<testSuite>
+<section>7</section>
+<testSuite>
+<section>7.1</section>
+<testCase>
+<section>7.1.1</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <attribute name="bar">
+ <element name="baz">
+ <empty/>
+ </element>
+ </attribute>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.1</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <attribute name="bar">
+ <choice>
+ <element name="baz">
+ <empty/>
+ </element>
+ <text/>
+ </choice>
+ </attribute>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.1</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <attribute name="bar">
+ <attribute name="baz"/>
+ </attribute>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.1</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <attribute name="bar">
+ <choice>
+ <attribute name="baz"/>
+ <text/>
+ </choice>
+ </attribute>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.2</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <oneOrMore>
+ <group>
+ <attribute name="bar"/>
+ <attribute name="baz"/>
+ </group>
+ </oneOrMore>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.2</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <oneOrMore>
+ <group>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <attribute>
+ <anyName/>
+ </attribute>
+ </group>
+ </oneOrMore>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.2</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <oneOrMore>
+ <choice>
+ <group>
+ <choice>
+ <attribute name="bar"/>
+ <attribute name="baz"/>
+ </choice>
+ <choice>
+ <attribute name="bar"/>
+ <attribute name="baz"/>
+ </choice>
+ </group>
+ <attribute name="bar"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.2</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <oneOrMore>
+ <interleave>
+ <attribute name="bar"/>
+ <attribute name="baz"/>
+ </interleave>
+ </oneOrMore>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.2</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <oneOrMore>
+ <interleave>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <attribute>
+ <anyName/>
+ </attribute>
+ </interleave>
+ </oneOrMore>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.2</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <oneOrMore>
+ <choice>
+ <interleave>
+ <choice>
+ <attribute name="bar"/>
+ <attribute name="baz"/>
+ </choice>
+ <choice>
+ <attribute name="bar"/>
+ <attribute name="baz"/>
+ </choice>
+ </interleave>
+ <attribute name="bar"/>
+ </choice>
+ </oneOrMore>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <list>
+ <list>
+ <data type="token"/>
+ </list>
+ </list>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <list>
+ <choice>
+ <list>
+ <data type="token"/>
+ </list>
+ <data type="token"/>
+ </choice>
+ </list>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <list>
+ <element name="bar">
+ <empty/>
+ </element>
+ </list>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <list>
+ <choice>
+ <data type="token"/>
+ <element name="bar">
+ <empty/>
+ </element>
+ </choice>
+ </list>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <list>
+ <attribute name="bar">
+ <empty/>
+ </attribute>
+ </list>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <list>
+ <choice>
+ <attribute name="bar">
+ <empty/>
+ </attribute>
+ <data type="token"/>
+ </choice>
+ </list>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <list>
+ <choice>
+ <text/>
+ <data type="token"/>
+ </choice>
+ </list>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <list>
+ <interleave>
+ <value>x</value>
+ <value>y</value>
+ </interleave>
+ </list>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.3</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <list>
+ <choice>
+ <interleave>
+ <value>x</value>
+ <value>y</value>
+ </interleave>
+ <value>z</value>
+ </choice>
+ </list>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.4</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <data type="string">
+ <except>
+ <attribute name="bar"/>
+ </except>
+ </data>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.4</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <data type="string">
+ <except>
+ <element name="bar">
+ <empty/>
+ </element>
+ </except>
+ </data>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.4</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <data type="string">
+ <except>
+ <text/>
+ </except>
+ </data>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.4</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <data type="string">
+ <except>
+ <list>
+ <data type="token"/>
+ </list>
+ </except>
+ </data>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.4</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <data type="string">
+ <except>
+ <group>
+ <data type="token"/>
+ <data type="token"/>
+ </group>
+ </except>
+ </data>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.4</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <data type="string">
+ <except>
+ <interleave>
+ <data type="token"/>
+ <data type="token"/>
+ </interleave>
+ </except>
+ </data>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.4</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <data type="string">
+ <except>
+ <oneOrMore>
+ <data type="token"/>
+ </oneOrMore>
+ </except>
+ </data>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.4</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <data type="string">
+ <except>
+ <empty/>
+ </except>
+ </data>
+ </element>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <attribute name="foo"/>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <data type="string"/>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <choice>
+ <data type="string"/>
+ <element name="foo">
+ <empty/>
+ </element>
+ </choice>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <choice>
+ <value>foo</value>
+ <element name="foo">
+ <empty/>
+ </element>
+ </choice>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <text/>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <choice>
+ <text/>
+ <element name="foo">
+ <empty/>
+ </element>
+ </choice>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <list>
+ <data type="token"/>
+ </list>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <choice>
+ <element name="foo">
+ <empty/>
+ </element>
+ <list>
+ <data type="token"/>
+ </list>
+ </choice>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <group>
+ <element name="foo">
+ <empty/>
+ </element>
+ <element name="foo">
+ <empty/>
+ </element>
+ </group>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <choice>
+ <element name="foo">
+ <empty/>
+ </element>
+ <group>
+ <element name="foo">
+ <empty/>
+ </element>
+ <element name="foo">
+ <empty/>
+ </element>
+ </group>
+ </choice>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <interleave>
+ <element name="foo">
+ <empty/>
+ </element>
+ <element name="foo">
+ <empty/>
+ </element>
+ </interleave>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <choice>
+ <element name="foo">
+ <empty/>
+ </element>
+ <interleave>
+ <element name="foo">
+ <empty/>
+ </element>
+ <element name="foo">
+ <empty/>
+ </element>
+ </interleave>
+ </choice>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <oneOrMore>
+ <element name="foo">
+ <empty/>
+ </element>
+ </oneOrMore>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <choice>
+ <oneOrMore>
+ <element name="foo">
+ <empty/>
+ </element>
+ </oneOrMore>
+ <element name="foo">
+ <empty/>
+ </element>
+ </choice>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <empty/>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <choice>
+ <element name="foo">
+ <empty/>
+ </element>
+ <empty/>
+ </choice>
+</start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<section>7</section>
+<section>4.18</section>
+<documentation>Tests that constraints are post-normalization</documentation>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <grammar>
+ <start>
+ <text/>
+ </start>
+ </grammar>
+</element>
+</correct>
+<valid>
+<foo>text</foo>
+</valid>
+</testCase>
+<testCase>
+<section>7.1.5</section>
+<section>7</section>
+<section>4.18</section>
+<incorrect>
+<text xmlns="http://relaxng.org/ns/structure/1.0"/>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.1.1</section>
+<section>7</section>
+<section>4.20</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <optional>
+ <attribute name="bar">
+ <group>
+ <notAllowed/>
+ <attribute name="baz"/>
+ </group>
+ </attribute>
+ </optional>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+<testCase>
+<section>7.1.1</section>
+<section>7</section>
+<section>4.20</section>
+<documentation>The nested attribute element is normalized out because
+of the not allowed.</documentation>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <attribute name="bar">
+ <choice>
+ <text/>
+ <group>
+ <notAllowed/>
+ <attribute name="baz"/>
+ </group>
+ </choice>
+ </attribute>
+</element>
+</correct>
+<valid>
+<foo bar="baz"/>
+</valid>
+</testCase>
+<testCase>
+<section>7.1.2</section>
+<section>7</section>
+<section>4.12</section>
+<documentation>The group element is normalized out.</documentation>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <oneOrMore>
+ <group>
+ <attribute>
+ <anyName/>
+ </attribute>
+ </group>
+ </oneOrMore>
+ </element>
+</start>
+</grammar>
+</correct>
+<valid>
+<foo xyzzy1="val1" xyzzy2="val2"/>
+</valid>
+</testCase>
+<testCase>
+<section>7.1.2</section>
+<section>7</section>
+<section>4.21</section>
+<documentation>The group element is normalized out.</documentation>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <oneOrMore>
+ <group>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <empty/>
+ </group>
+ </oneOrMore>
+ </element>
+</start>
+</grammar>
+</correct>
+<valid>
+<foo xyzzy1="val1" xyzzy2="val2"/>
+</valid>
+</testCase>
+<testCase>
+<section>7.1.2</section>
+<section>7</section>
+<section>4.20</section>
+<documentation>The attribute elements are all normalized out.</documentation>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
+ <optional>
+ <attribute name="a1">
+ <attribute name="a2">
+ <attribute name="a3">
+ <notAllowed/>
+ </attribute>
+ </attribute>
+ </attribute>
+ </optional>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+</testSuite>
+<testSuite>
+<section>7.2</section>
+<testCase>
+<section>7.2</section>
+<incorrect>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="foo">
+ <group>
+ <data type="token"/>
+ <data type="token"/>
+ </group>
+ </element>
+ </start>
+</grammar>
+</incorrect>
+</testCase>
+<testCase>
+<documentation>Checks that normalization of notAllowed happens
+before string sequence checking.</documentation>
+<section>7.2</section>
+<section>4.20</section>
+<correct>
+<choice xmlns="http://relaxng.org/ns/structure/1.0">
+ <element name="foo">
+ <empty/>
+ </element>
+ <group>
+ <notAllowed/>
+ <element name="bar">
+ <group>
+ <data type="token"/>
+ <data type="token"/>
+ </group>
+ </element>
+ </group>
+</choice>
+</correct>
+<valid>
+<foo/>
+</valid>
+</testCase>
+<testCase>
+<section>4.20</section>
+<section>7.2</section>
+<documentation>notAllowed in an element is not normalized</documentation>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <group>
+ <element name="bar">
+ <notAllowed/>
+ </element>
+ <data type="token"/>
+ <data type="token"/>
+ </group>
+ <element name="baz">
+ <empty/>
+ </element>
+ </choice>
+</element>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<section>7.3</section>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="bar"/>
+ <attribute name="bar"/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="bar"/>
+ <zeroOrMore>
+ <attribute name="bar"/>
+ </zeroOrMore>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <attribute name="bar"/>
+ </oneOrMore>
+</element>
+</correct>
+<valid>
+<foo bar="xx"/>
+</valid>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <attribute name="bar"/>
+ <attribute name="bar"/>
+ </interleave>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <optional>
+ <attribute name="bar"/>
+ </optional>
+ <optional>
+ <attribute name="bar"/>
+ </optional>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="bar"/>
+ <oneOrMore>
+ <attribute>
+ <anyName/>
+ </attribute>
+ </oneOrMore>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="bar"/>
+ <oneOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <name>baz</name>
+ </except>
+ </anyName>
+ </attribute>
+ </oneOrMore>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="bar"/>
+ <oneOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <name>bar</name>
+ </except>
+ </anyName>
+ </attribute>
+ </oneOrMore>
+</element>
+</correct>
+<valid>
+<foo bar="val" xyzzy="anotherval"/>
+</valid>
+<valid>
+<foo bar="val" baz=""/>
+</valid>
+<invalid>
+<foo bar="val"/>
+</invalid>
+<invalid>
+<foo/>
+</invalid>
+<invalid>
+<foo xyzzy="val"/>
+</invalid>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="bar"/>
+ <oneOrMore>
+ <attribute>
+ <nsName ns=""/>
+ </attribute>
+ </oneOrMore>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="bar"/>
+ <oneOrMore>
+ <attribute>
+ <nsName ns="">
+ <except>
+ <name>baz</name>
+ </except>
+ </nsName>
+ </attribute>
+ </oneOrMore>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <attribute>
+ <anyName/>
+ </attribute>
+ </oneOrMore>
+ <oneOrMore>
+ <attribute>
+ <nsName ns=""/>
+ </attribute>
+ </oneOrMore>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <attribute>
+ <anyName/>
+ </attribute>
+ </oneOrMore>
+ <oneOrMore>
+ <attribute>
+ <anyName/>
+ </attribute>
+ </oneOrMore>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <attribute>
+ <nsName ns=""/>
+ </attribute>
+ </oneOrMore>
+ <oneOrMore>
+ <attribute>
+ <nsName ns="">
+ <except>
+ <name>bar</name>
+ </except>
+ </nsName>
+ </attribute>
+ </oneOrMore>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <nsName>
+ <except>
+ <name>foo</name>
+ </except>
+ </nsName>
+ </except>
+ </anyName>
+ </attribute>
+ </oneOrMore>
+ <attribute name="foo"/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <nsName>
+ <except>
+ <name>foo</name>
+ </except>
+ </nsName>
+ </except>
+ </anyName>
+ </attribute>
+ </oneOrMore>
+ <oneOrMore>
+ <attribute>
+ <nsName/>
+ </attribute>
+ </oneOrMore>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <nsName>
+ <except>
+ <name>bar</name>
+ </except>
+ </nsName>
+ </except>
+ </anyName>
+ </attribute>
+ </oneOrMore>
+ <attribute name="baz"/>
+</element>
+</correct>
+<valid>
+<foo bar="xx" baz="yy"/>
+</valid>
+<invalid>
+<foo x="xx" baz="yy"/>
+</invalid>
+<valid>
+<foo xmlns:eg="http://www.example.com/" eg:x="xx" baz="yy"/>
+</valid>
+</testCase>
+<testCase>
+<section>7.3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <attribute>
+ <nsName ns="http://www.example.com/1"/>
+ </attribute>
+ </oneOrMore>
+ <oneOrMore>
+ <attribute>
+ <nsName ns="http://www.example.com/2"/>
+ </attribute>
+ </oneOrMore>
+</element>
+</correct>
+<valid>
+<foo xmlns:eg1="http://www.example.com/1"
+ xmlns:eg2="http://www.example.com/2"
+ eg1:x="xx" eg2:y="yy"/>
+</valid>
+</testCase>
+<testCase>
+<section>7.3</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <attribute name="bar"/>
+ <attribute name="bar"/>
+ </choice>
+</element>
+</correct>
+<valid>
+<foo bar="xx"/>
+</valid>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="bar"/>
+ <choice>
+ <attribute name="baz"/>
+ <attribute name="bar"/>
+ </choice>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute><anyName/><text/></attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute><nsName ns =""/><text/></attribute>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute><choice><nsName ns =""/><name>foo</name></choice><text/></attribute>
+</element>
+</incorrect>
+</testCase>
+</testSuite>
+<testSuite>
+<section>7.4</section>
+<testCase>
+<section>7.4</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ </interleave>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.4</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ <interleave>
+ <element name="baz">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ </interleave>
+ </interleave>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.4</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ <group>
+ <element name="baz">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ </group>
+ </interleave>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.4</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ <group>
+ <element name="baz">
+ <empty/>
+ </element>
+ <interleave>
+ <element name="baz">
+ <empty/>
+ </element>
+ <element name="bar">
+ <empty/>
+ </element>
+ </interleave>
+ </group>
+ </interleave>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.4</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ <optional>
+ <element name="bar">
+ <empty/>
+ </element>
+ </optional>
+ </interleave>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.4</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element>
+ <nsName ns=""/>
+ <empty/>
+ </element>
+ </interleave>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.4</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element>
+ <anyName/>
+ <empty/>
+ </element>
+ </interleave>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.4</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <notAllowed/>
+ </element>
+ </interleave>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.4</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element>
+ <anyName>
+ <except>
+ <name>bar</name>
+ </except>
+ </anyName>
+ <empty/>
+ </element>
+ </interleave>
+</element>
+</correct>
+<valid>
+<foo><bar/><baz/></foo>
+</valid>
+</testCase>
+<testCase>
+<section>7.4</section>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <choice>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="bar">
+ <text/>
+ </element>
+ </choice>
+ <element name="baz">
+ <empty/>
+ </element>
+ </interleave>
+</element>
+</correct>
+<valid>
+<foo><bar/><baz/></foo>
+</valid>
+</testCase>
+<testCase>
+<section>7.4</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <text/>
+ <text/>
+ </interleave>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>7.4</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <mixed>
+ <mixed>
+ <element name="bar">
+ <empty/>
+ </element>
+ </mixed>
+ <element name="baz">
+ <empty/>
+ </element>
+ </mixed>
+</element>
+</incorrect>
+</testCase>
+</testSuite>
+</testSuite>
+<testSuite>
+<documentation>Regressions</documentation>
+<testCase>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <element name="foo">
+ <choice>
+ <group>
+ <attribute name="bar"><empty/></attribute>
+ <element name="baz1"><empty/></element>
+ </group>
+ <group>
+ <attribute name="bar"><text/></attribute>
+ <element name="baz2"><empty/></element>
+ </group>
+ </choice>
+ </element>
+</start>
+</grammar>
+</correct>
+<valid>
+<foo bar=" "><baz1/></foo>
+</valid>
+</testCase>
+<testCase>
+<correct>
+<notAllowed xmlns="http://relaxng.org/ns/structure/1.0"/>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+</testCase>
+</testSuite>
+</testSuite>
diff --git a/libxml2/test/relaxng/OpenDocumentSub.rng b/libxml2/test/relaxng/OpenDocumentSub.rng
new file mode 100644
index 0000000..161be66
--- /dev/null
+++ b/libxml2/test/relaxng/OpenDocumentSub.rng
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ OASIS OpenDocument v1.0
+ Relax-NG Schema
+
+ ** It's only a very small sub-set of the schema, meant for debugging text-notes-configuration element **
+-->
+
+<grammar
+ xmlns="http://relaxng.org/ns/structure/1.0"
+ xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
+
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
+
+ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
+ xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
+ xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0"
+ xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
+ xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
+ xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
+ xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
+ xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
+ xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
+ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
+ xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
+ xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
+ xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
+ xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0"
+
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:math="http://www.w3.org/1998/Math/MathML"
+ xmlns:xforms="http://www.w3.org/2002/xforms"
+
+ xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
+ xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
+ xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"
+>
+<define name="office-process-content">
+ <optional>
+ <attribute name="office:process-content" a:defaultValue="true">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<start>
+ <choice>
+ <ref name="office-document-styles"/>
+ </choice>
+</start>
+<define name="office-document-styles">
+ <element name="office:document-styles">
+ <ref name="office-document-common-attrs"/>
+ <ref name="office-styles"/>
+ </element>
+</define>
+<define name="office-document-common-attrs" combine="interleave">
+ <optional>
+ <attribute name="office:version">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="office-styles">
+ <optional>
+ <element name="office:styles">
+ <interleave>
+ <zeroOrMore>
+ <ref name="text-notes-configuration"/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </optional>
+</define>
+<define name="text-notes-configuration">
+ <element name="text:notes-configuration">
+ <ref name="text-notes-configuration-content"/>
+ </element>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <ref name="text-note-class"/>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:citation-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:citation-body-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:default-style-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:master-page-name">
+ <ref name="styleNameRef"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:start-value">
+ <ref name="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <ref name="common-num-format-prefix-suffix-attlist"/>
+ <optional>
+ <ref name="common-num-format-attlist"/>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:start-numbering-at">
+ <choice>
+ <value>document</value>
+ <value>chapter</value>
+ <value>page</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <attribute name="text:footnotes-position">
+ <choice>
+ <value>text</value>
+ <value>page</value>
+ <value>section</value>
+ <value>document</value>
+ </choice>
+ </attribute>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <element name="text:note-continuation-notice-forward">
+ <text/>
+ </element>
+ </optional>
+</define>
+<define name="text-notes-configuration-content" combine="interleave">
+ <optional>
+ <element name="text:note-continuation-notice-backward">
+ <text/>
+ </element>
+ </optional>
+</define>
+<define name="common-num-format-prefix-suffix-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:num-prefix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style:num-suffix">
+ <ref name="string"/>
+ </attribute>
+ </optional>
+</define>
+<define name="common-num-format-attlist" combine="interleave">
+ <choice>
+ <attribute name="style:num-format">
+ <choice>
+ <value>1</value>
+ <value>i</value>
+ <value>I</value>
+ <ref name="string"/>
+ <empty/>
+ </choice>
+ </attribute>
+ <group>
+ <attribute name="style:num-format">
+ <choice>
+ <value>a</value>
+ <value>A</value>
+ </choice>
+ </attribute>
+ <ref name="style-num-letter-sync-attlist"/>
+ </group>
+ <empty/>
+ </choice>
+</define>
+<define name="style-num-letter-sync-attlist" combine="interleave">
+ <optional>
+ <attribute name="style:num-letter-sync">
+ <ref name="boolean"/>
+ </attribute>
+ </optional>
+</define>
+<define name="text-note-class">
+ <attribute name="text:note-class">
+ <choice>
+ <value>footnote</value>
+ <value>endnote</value>
+ </choice>
+ </attribute>
+</define>
+<define name="styleNameRef">
+ <choice>
+ <data type="NCName"/>
+ <empty/>
+ </choice>
+</define>
+<define name="nonNegativeInteger">
+ <data type="nonNegativeInteger"/>
+</define>
+<define name="boolean">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+</define>
+<define name="string">
+ <data type="string"/>
+</define>
+</grammar>
diff --git a/libxml2/test/relaxng/OpenDocumentSub_0.xml b/libxml2/test/relaxng/OpenDocumentSub_0.xml
new file mode 100644
index 0000000..9cfb198
--- /dev/null
+++ b/libxml2/test/relaxng/OpenDocumentSub_0.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<office:document-styles xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" office:version="1.0">
+ <office:styles>
+ <text:notes-configuration text:note-class="endnote" style:num-format="1" text:start-value="0"/>
+ </office:styles>
+</office:document-styles>
diff --git a/libxml2/test/relaxng/addressBook.rng b/libxml2/test/relaxng/addressBook.rng
new file mode 100644
index 0000000..3d910f9
--- /dev/null
+++ b/libxml2/test/relaxng/addressBook.rng
@@ -0,0 +1,24 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <start>
+ <element name="addressBook">
+ <zeroOrMore>
+ <element name="card">
+ <ref name="cardContent"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </start>
+
+ <define name="cardContent">
+ <element name="name">
+ <text/>
+ </element>
+ <element name="email">
+ <text/>
+ </element>
+ </define>
+
+</grammar>
+
+
diff --git a/libxml2/test/relaxng/choice0.rng b/libxml2/test/relaxng/choice0.rng
new file mode 100644
index 0000000..99526e1
--- /dev/null
+++ b/libxml2/test/relaxng/choice0.rng
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="device">
+ <choice>
+ <group>
+ <attribute name="link">
+ <value>ethernet</value>
+ </attribute>
+ <optional>
+ <element name="ethernet-element">
+ <text/>
+ </element>
+ </optional>
+ </group>
+ <group>
+ <attribute name="link">
+ <value>serial</value>
+ </attribute>
+ <optional>
+ <element name="serial-element">
+ <text/>
+ </element>
+ </optional>
+ </group>
+ </choice>
+</element>
diff --git a/libxml2/test/relaxng/choice0_0.xml b/libxml2/test/relaxng/choice0_0.xml
new file mode 100644
index 0000000..113ffa8
--- /dev/null
+++ b/libxml2/test/relaxng/choice0_0.xml
@@ -0,0 +1,2 @@
+<device link="ethernet">
+</device>
diff --git a/libxml2/test/relaxng/choice0_1.xml b/libxml2/test/relaxng/choice0_1.xml
new file mode 100644
index 0000000..f0c441d
--- /dev/null
+++ b/libxml2/test/relaxng/choice0_1.xml
@@ -0,0 +1,2 @@
+<device link="serial">
+</device>
diff --git a/libxml2/test/relaxng/choice0_2.xml b/libxml2/test/relaxng/choice0_2.xml
new file mode 100644
index 0000000..5f67e0b
--- /dev/null
+++ b/libxml2/test/relaxng/choice0_2.xml
@@ -0,0 +1,3 @@
+<device link="ethernet">
+ <ethernet-element/>
+</device>
diff --git a/libxml2/test/relaxng/choice0_3.xml b/libxml2/test/relaxng/choice0_3.xml
new file mode 100644
index 0000000..79ac4a6
--- /dev/null
+++ b/libxml2/test/relaxng/choice0_3.xml
@@ -0,0 +1,3 @@
+<device link="serial">
+ <serial-element/>
+</device>
diff --git a/libxml2/test/relaxng/choice0_4.xml b/libxml2/test/relaxng/choice0_4.xml
new file mode 100644
index 0000000..1de1abc
--- /dev/null
+++ b/libxml2/test/relaxng/choice0_4.xml
@@ -0,0 +1,2 @@
+<device link="unknown">
+</device>
diff --git a/libxml2/test/relaxng/choice0_5.xml b/libxml2/test/relaxng/choice0_5.xml
new file mode 100644
index 0000000..2ac50f7
--- /dev/null
+++ b/libxml2/test/relaxng/choice0_5.xml
@@ -0,0 +1,3 @@
+<device link="ethernet">
+ <serial-element/>
+</device>
diff --git a/libxml2/test/relaxng/choice0_6.xml b/libxml2/test/relaxng/choice0_6.xml
new file mode 100644
index 0000000..1e4d1d2
--- /dev/null
+++ b/libxml2/test/relaxng/choice0_6.xml
@@ -0,0 +1,3 @@
+<device link="serial">
+ <ethernet-element/>
+</device>
diff --git a/libxml2/test/relaxng/choice0_7.xml b/libxml2/test/relaxng/choice0_7.xml
new file mode 100644
index 0000000..f28f89f
--- /dev/null
+++ b/libxml2/test/relaxng/choice0_7.xml
@@ -0,0 +1,3 @@
+<device link="ethernet">
+ <unknown-element/>
+</device>
diff --git a/libxml2/test/relaxng/choice0_8.xml b/libxml2/test/relaxng/choice0_8.xml
new file mode 100644
index 0000000..f810229
--- /dev/null
+++ b/libxml2/test/relaxng/choice0_8.xml
@@ -0,0 +1,3 @@
+<device link="unknown">
+ <unknown-element/>
+</device>
diff --git a/libxml2/test/relaxng/compare0.rng b/libxml2/test/relaxng/compare0.rng
new file mode 100644
index 0000000..a0446c8
--- /dev/null
+++ b/libxml2/test/relaxng/compare0.rng
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<element name="number" xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <attribute name="att1">
+ <value type="integer"> 1 </value>
+ </attribute>
+</element>
+
diff --git a/libxml2/test/relaxng/compare0_0.xml b/libxml2/test/relaxng/compare0_0.xml
new file mode 100644
index 0000000..6a74b2f
--- /dev/null
+++ b/libxml2/test/relaxng/compare0_0.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" ?>
+<number att1="x"></number>
+
diff --git a/libxml2/test/relaxng/comps.rng b/libxml2/test/relaxng/comps.rng
new file mode 100644
index 0000000..86172c1
--- /dev/null
+++ b/libxml2/test/relaxng/comps.rng
@@ -0,0 +1,177 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+<start>
+ <ref name="comps"/>
+</start>
+
+<define name="package-name">
+ <text/>
+</define>
+
+<define name="group-name">
+ <text/>
+</define>
+
+<define name="lang">
+ <text/>
+</define>
+
+<define name="description-text">
+ <text/>
+</define>
+
+<define name="comps">
+ <element name="comps">
+ <oneOrMore>
+ <ref name="group"/>
+ </oneOrMore>
+ <ref name="grouphierarchy"/>
+ <oneOrMore>
+ <ref name="package"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="group">
+ <element name="group">
+ <element name="id">
+ <ref name="group-name"/>
+ </element>
+ <interleave>
+ <ref name="names"/>
+ <optional>
+ <element name="default">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </element>
+ </optional>
+ <optional>
+ <ref name="descriptions"/>
+ </optional>
+ <optional>
+ <element name="uservisible">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </element>
+ </optional>
+ <optional>
+ <element name="langonly">
+ <ref name="lang"/>
+ </element>
+ </optional>
+ </interleave>
+ <optional>
+ <element name="grouplist">
+ <zeroOrMore>
+ <element name="groupreq">
+ <ref name="group-name"/>
+ </element>
+ </zeroOrMore>
+ <zeroOrMore>
+ <element name="metapkg">
+ <attribute name="type">
+ <choice>
+ <value>default</value>
+ <!-- <value>mandatory</value> ?? -->
+ <value>optional</value>
+ </choice>
+ </attribute>
+ <ref name="package-name"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </optional>
+ <optional>
+ <element name="packagelist">
+ <oneOrMore>
+ <element name="packagereq">
+ <attribute name="type">
+ <choice>
+ <value>default</value>
+ <value>mandatory</value>
+ <value>optional</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="requires">
+ <ref name="package-name"/>
+ </attribute>
+ </optional>
+ <ref name="package-name"/>
+ </element>
+ </oneOrMore>
+ </element>
+ </optional>
+ </element>
+</define>
+
+<define name="grouphierarchy">
+ <element name="grouphierarchy">
+ <oneOrMore>
+ <ref name="category"/>
+ </oneOrMore>
+ </element>
+</define>
+
+<define name="category">
+ <element name="category">
+ <ref name="names"/>
+ <optional>
+ <element name="subcategories">
+ <oneOrMore>
+ <element name="subcategory">
+ <ref name="package-name"/>
+ </element>
+ </oneOrMore>
+ </element>
+ </optional>
+ </element>
+</define>
+
+<define name="package">
+ <element name="package">
+ <element name="name">
+ <ref name="package-name"/>
+ </element>
+ <element name="dependencylist">
+ <zeroOrMore>
+ <element name="dependency">
+ <ref name="package-name"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </element>
+</define>
+
+<define name="names">
+ <element name="name">
+ <ref name="description-text"/>
+ </element>
+ <zeroOrMore>
+ <element name="name">
+ <attribute name="xml:lang">
+ <ref name="lang"/>
+ </attribute>
+ <ref name="description-text"/>
+ </element>
+ </zeroOrMore>
+</define>
+
+<define name="descriptions">
+ <element name="description">
+ <ref name="description-text"/>
+ </element>
+ <zeroOrMore>
+ <element name="description">
+ <attribute name="xml:lang">
+ <ref name="lang"/>
+ </attribute>
+ <ref name="description-text"/>
+ </element>
+ </zeroOrMore>
+</define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/comps_0.xml b/libxml2/test/relaxng/comps_0.xml
new file mode 100644
index 0000000..c0168a5
--- /dev/null
+++ b/libxml2/test/relaxng/comps_0.xml
@@ -0,0 +1,17870 @@
+<?xml version="1.0"?>
+<comps>
+<!-- <meta> -->
+<!-- Meta information will go here eventually -->
+<!-- </meta> -->
+ <group>
+ <id>core</id>
+ <name>Core</name>
+ <name xml:lang="cs">Jádro</name>
+ <name xml:lang="da">Grundlæggende</name>
+ <name xml:lang="de">Haupt</name>
+ <name xml:lang="es">Núcleo</name>
+ <name xml:lang="fr">Tore</name>
+ <name xml:lang="is">Lágmarkskerfi</name>
+ <name xml:lang="it">Principale</name>
+ <name xml:lang="ja">コア</name>
+ <name xml:lang="ko">핵심</name>
+ <name xml:lang="no">Kjerne</name>
+ <name xml:lang="pt">Núcleo</name>
+ <name xml:lang="ru">ОÑнова</name>
+ <name xml:lang="sv">Grundläggande</name>
+ <name xml:lang="zh_CN">核心</name>
+ <name xml:lang="zh_TW">主è¦</name>
+ <default>true</default>
+ <description>Smallest possible installation</description>
+ <description xml:lang="cs">Nejmenší možná instalace</description>
+ <description xml:lang="da">Mindst mulige installation</description>
+ <description xml:lang="de">Kleinstmögliche Installation</description>
+ <description xml:lang="es">Instalación lo más pequeña posible</description>
+ <description xml:lang="fr">Plus petite installation possible</description>
+ <description xml:lang="is">Lágmarks uppsetning</description>
+ <description xml:lang="it">Installazione minima</description>
+ <description xml:lang="ja">最低å¯èƒ½ãªã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«</description>
+ <description xml:lang="ko">가능한 최소 설치</description>
+ <description xml:lang="no">Minste mulige installering</description>
+ <description xml:lang="pt">A mais pequena instalação possível</description>
+ <description xml:lang="ru">Минимально Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð°Ñ ÑƒÑтановка</description>
+ <description xml:lang="sv">Minsta möjliga installation</description>
+ <description xml:lang="zh_CN">最å°å®‰è£…</description>
+ <description xml:lang="zh_TW">最å°çš„安è£</description>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="default">ash</packagereq>
+ <packagereq type="mandatory">basesystem</packagereq>
+ <packagereq type="mandatory">bash</packagereq>
+ <packagereq type="mandatory">bdflush</packagereq>
+ <packagereq type="mandatory">cpio</packagereq>
+ <packagereq type="mandatory">e2fsprogs</packagereq>
+ <packagereq type="mandatory">ed</packagereq>
+ <packagereq type="mandatory">file</packagereq>
+ <packagereq type="mandatory">filesystem</packagereq>
+ <packagereq type="mandatory">glibc</packagereq>
+ <packagereq type="mandatory">grub</packagereq>
+ <packagereq type="mandatory">hdparm</packagereq>
+ <packagereq type="mandatory">hotplug</packagereq>
+ <packagereq type="mandatory">initscripts</packagereq>
+ <packagereq type="mandatory">iproute</packagereq>
+ <packagereq type="mandatory">iputils</packagereq>
+ <packagereq type="mandatory">kbd</packagereq>
+ <packagereq type="mandatory">kernel</packagereq>
+ <packagereq type="mandatory">ksymoops</packagereq>
+ <packagereq type="mandatory">libgcc</packagereq>
+ <packagereq type="mandatory">libtermcap</packagereq>
+ <packagereq type="mandatory">losetup</packagereq>
+ <packagereq type="mandatory">passwd</packagereq>
+ <packagereq type="mandatory">procps</packagereq>
+ <packagereq type="mandatory">raidtools</packagereq>
+ <packagereq type="mandatory">readline</packagereq>
+ <packagereq type="mandatory">redhat-logos</packagereq>
+ <packagereq type="mandatory">redhat-release</packagereq>
+ <packagereq type="mandatory">rootfiles</packagereq>
+ <packagereq type="mandatory">rpm</packagereq>
+ <packagereq type="mandatory">setserial</packagereq>
+ <packagereq type="mandatory">setup</packagereq>
+ <packagereq type="mandatory">sysklogd</packagereq>
+ <packagereq type="mandatory">SysVinit</packagereq>
+ <packagereq type="mandatory">termcap</packagereq>
+ <packagereq type="mandatory">util-linux</packagereq>
+ <packagereq type="mandatory">vim-minimal</packagereq>
+<!-- the following are needed for anaconda post-install bits -->
+ <packagereq type="mandatory">authconfig</packagereq>
+ <packagereq type="mandatory">kudzu</packagereq>
+ <packagereq type="default">lilo</packagereq>
+ <packagereq type="mandatory">mouseconfig</packagereq>
+ <packagereq type="mandatory">shadow-utils</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>base</id>
+ <name>Base</name>
+ <name xml:lang="cs">Základ</name>
+ <name xml:lang="da">Base</name>
+ <name xml:lang="de">Basis</name>
+ <name xml:lang="es">Base</name>
+ <name xml:lang="fr">Base</name>
+ <name xml:lang="is">Grunnur</name>
+ <name xml:lang="it">Base</name>
+ <name xml:lang="ja">ベース</name>
+ <name xml:lang="ko">기준</name>
+ <name xml:lang="no">Grunnpakker</name>
+ <name xml:lang="pt">Base</name>
+ <name xml:lang="ru">ОÑнова</name>
+ <name xml:lang="sv">Bas</name>
+ <name xml:lang="zh_CN">基本</name>
+ <name xml:lang="zh_TW">基礎</name>
+ <description></description>
+ <uservisible>false</uservisible>
+ <default>true</default>
+ <grouplist>
+ <groupreq>core</groupreq>
+ <groupreq>dialup</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">acl</packagereq>
+ <packagereq type="default">anacron</packagereq>
+ <packagereq type="default">apmd</packagereq>
+ <packagereq type="mandatory">aspell</packagereq>
+ <packagereq type="mandatory">at</packagereq>
+ <packagereq type="mandatory">attr</packagereq>
+ <packagereq type="mandatory">authconfig</packagereq>
+ <packagereq type="default">autofs</packagereq>
+ <packagereq type="mandatory">bc</packagereq>
+ <packagereq type="mandatory">bind-utils</packagereq>
+ <packagereq type="mandatory">bzip2</packagereq>
+ <packagereq type="mandatory">crontabs</packagereq>
+ <packagereq type="mandatory">cyrus-sasl-plain</packagereq>
+ <packagereq type="mandatory">dhclient</packagereq>
+ <packagereq type="mandatory">diffutils</packagereq>
+ <packagereq type="mandatory">dos2unix</packagereq>
+ <packagereq type="default">dosfstools</packagereq>
+ <packagereq type="default">dump</packagereq>
+ <packagereq type="mandatory">ethtool</packagereq>
+ <packagereq type="mandatory">eject</packagereq>
+ <packagereq type="default">fbset</packagereq>
+ <packagereq type="default">finger</packagereq>
+ <packagereq type="default">ftp</packagereq>
+ <packagereq type="default">gpm</packagereq>
+ <packagereq type="default">irda-utils</packagereq>
+ <packagereq type="mandatory">kbdconfig</packagereq>
+ <packagereq type="default">kernel-pcmcia-cs</packagereq>
+ <packagereq type="optional">krb5-workstation</packagereq>
+ <packagereq type="mandatory">kudzu</packagereq>
+ <packagereq type="default">lftp</packagereq>
+ <packagereq type="mandatory">lha</packagereq>
+ <packagereq type="mandatory">logrotate</packagereq>
+ <packagereq type="mandatory">lsof</packagereq>
+ <packagereq type="default">logwatch</packagereq>
+ <packagereq type="mandatory">lokkit</packagereq>
+ <packagereq type="mandatory">mailcap</packagereq>
+ <packagereq type="mandatory">man</packagereq>
+ <packagereq type="default">man-pages</packagereq>
+ <packagereq type="mandatory">mkbootdisk</packagereq>
+ <packagereq type="mandatory">mt-st</packagereq>
+ <packagereq type="default">mtools</packagereq>
+ <packagereq type="default">mtr</packagereq>
+ <packagereq type="mandatory">netconfig</packagereq>
+ <packagereq type="default">nfs-utils</packagereq>
+ <packagereq type="default">nss_ldap</packagereq>
+ <packagereq type="mandatory">ntsysv</packagereq>
+ <packagereq type="default">openssh-clients</packagereq>
+ <packagereq type="default">pam_krb5</packagereq>
+ <packagereq type="default">pam_smb</packagereq>
+ <packagereq type="mandatory">parted</packagereq>
+ <packagereq type="default">pax</packagereq>
+ <packagereq type="mandatory">pciutils</packagereq>
+ <packagereq type="optional">pidentd</packagereq>
+ <packagereq type="mandatory">pinfo</packagereq>
+ <packagereq type="mandatory">quota</packagereq>
+ <packagereq type="default">rdate</packagereq>
+ <packagereq type="mandatory">redhat-logos</packagereq>
+ <packagereq type="default">reiserfs-utils</packagereq>
+ <packagereq type="default">rp-pppoe</packagereq>
+ <packagereq type="default">rsh</packagereq>
+ <packagereq type="mandatory">rsync</packagereq>
+ <packagereq type="default">jfsutils</packagereq>
+ <packagereq type="default">setuptool</packagereq>
+ <packagereq type="default">sendmail</packagereq>
+ <packagereq type="mandatory">slocate</packagereq>
+ <packagereq type="default">specspo</packagereq>
+ <packagereq type="mandatory">star</packagereq>
+ <packagereq type="default">sudo</packagereq>
+ <packagereq type="default">stunnel</packagereq>
+ <packagereq type="mandatory">talk</packagereq>
+ <packagereq type="default">tcp_wrappers</packagereq>
+ <packagereq type="mandatory">tcsh</packagereq>
+ <packagereq type="mandatory">telnet</packagereq>
+ <packagereq type="mandatory">traceroute</packagereq>
+ <packagereq type="mandatory">time</packagereq>
+ <packagereq type="default">timeconfig</packagereq>
+ <packagereq type="mandatory">tmpwatch</packagereq>
+ <packagereq type="default">up2date</packagereq>
+ <packagereq type="mandatory">utempter</packagereq>
+ <packagereq type="default">wireless-tools</packagereq>
+ <packagereq type="default">rdist</packagereq>
+ <packagereq type="default">tcpdump</packagereq>
+ <packagereq type="default">net-snmp-utils</packagereq>
+ <packagereq type="default">openssh-server</packagereq>
+ <packagereq type="default">wget</packagereq>
+ <packagereq type="mandatory">unix2dos</packagereq>
+ <packagereq type="mandatory">unzip</packagereq>
+ <packagereq type="mandatory">whois</packagereq>
+ <packagereq type="mandatory">vim-common</packagereq>
+ <packagereq type="mandatory">vixie-cron</packagereq>
+ <packagereq type="default">ypbind</packagereq>
+ <packagereq type="mandatory">zip</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>printing</id>
+ <uservisible>true</uservisible>
+ <default>true</default>
+ <name>Printing Support</name>
+ <name xml:lang="cs">Podpora pro tisk</name>
+ <name xml:lang="da">Udskriftsunderstøttelse</name>
+ <name xml:lang="de">Drucker-Support</name>
+ <name xml:lang="es">Soporte para la impresión</name>
+ <name xml:lang="fr">Support d&apos;impression</name>
+ <name xml:lang="is">Prentstuðningur</name>
+ <name xml:lang="it">Supporto per la stampa</name>
+ <name xml:lang="ja">å°åˆ·ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">ì¸ì‡„ 지ì›</name>
+ <name xml:lang="no">Skriverstøtte</name>
+ <name xml:lang="pt">Suporte a Impressão</name>
+ <name xml:lang="ru">Поддержка печати</name>
+ <name xml:lang="sv">Utskriftsstöd</name>
+ <name xml:lang="zh_CN">打å°æ”¯æŒ</name>
+ <name xml:lang="zh_TW">列å°æ”¯æ´</name>
+ <description>Install these tools to enable the system to print or act as a print server.</description>
+ <description xml:lang="cs">Nainstalováním tÄ›chto nástrojů umožníte VaÅ¡emu poÄítaÄi tisknout nebo vystupovat jako tiskový server.</description>
+ <description xml:lang="da">Installér disse værktøjer for at lade systemet udskrive eller fungere som udskriftsserver.</description>
+ <description xml:lang="de">Installieren Sie diese Tools, um es dem System zu ermöglichen zu drucken oder als Drucker-Server zu funktionieren.</description>
+ <description xml:lang="es">Instalar estas herramientas para habilitar el sistema para imprimir o actuar como un servidor de impresión.</description>
+ <description xml:lang="fr">Installer ces outils pour habiliter le système à imprimer ou agir comme un serveur d&apos;impression.</description>
+ <description xml:lang="is">Settu þessa pakka inn ef þú vilt prenta eða setja upp prentþjón.</description>
+ <description xml:lang="it">Installare questi strumenti per permettere al sistema di stampare o fungere da server di stampa.</description>
+ <description xml:lang="ja">ã“れらã®ãƒ„ールをインストールã—ã¦ã‚·ã‚¹ãƒ†ãƒ ã‚’å°åˆ·å¯èƒ½ã«ã€åˆã¯ãƒ—リントサーãƒã¨ã—㦠有効ã«ã—ã¾ã™ã€‚</description>
+ <description xml:lang="ko">시스템ì—ì„œ ì¸ì‡„ 가능하게 하거나 ì¸ì‡„ 서버로 기능하게 하시려면 ì´ ë„구를 설치하십시오.</description>
+ <description xml:lang="no">Installer disse verktøyene for å kunne bruke skriver og å kunne sette opp systemet some utskriftstjener.</description>
+ <description xml:lang="pt">Instale estas ferramentas se desejar imprimir com o computador ou que este funcione como servidor de impressão.</description>
+ <description xml:lang="ru">УÑтановите Ñти пакеты, чтобы получить возможноÑÑ‚ÑŒ печатать файлы или иÑпользовать ÑиÑтему как Ñервер печати.</description>
+ <description xml:lang="sv">Installera dessa verktyg för att låta systemet skriva ut eller agera utskriftsserver.</description>
+ <description xml:lang="zh_CN">安装这些工具æ¥å¯ç”¨æ‰“å°ç³»ç»Ÿæˆ–充当打å°æœåŠ¡å™¨çš„系统。</description>
+ <description xml:lang="zh_TW">請安è£é€™äº›å¥—件,以啟用系統的列å°åŠŸèƒ½æˆ–當作一部列å°ä¼ºæœå™¨ã€‚</description>
+ <grouplist>
+ <metapkg type="optional">cups</metapkg>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">4Suite</packagereq>
+ <packagereq type="mandatory">XFree86-font-utils</packagereq>
+ <packagereq type="mandatory">a2ps</packagereq>
+ <packagereq type="mandatory">ghostscript</packagereq>
+ <packagereq type="default">hpijs</packagereq>
+ <packagereq type="default">LPRng</packagereq>
+ <packagereq type="mandatory">ttfprint</packagereq>
+ <packagereq type="mandatory">redhat-config-printer</packagereq>
+ <packagereq type="default">redhat-switch-printer</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>cups</id>
+ <uservisible>false</uservisible>
+ <default>false</default>
+ <name>Cups</name>
+ <name xml:lang="cs">Cups</name>
+ <name xml:lang="da">CUPS</name>
+ <name xml:lang="de">Cups</name>
+ <name xml:lang="es">Cups</name>
+ <name xml:lang="fr">Coupes </name>
+ <name xml:lang="is">Cups</name>
+ <name xml:lang="it">Cups</name>
+ <name xml:lang="ja">カップ</name>
+ <name xml:lang="ko">CUPS</name>
+ <name xml:lang="no">Cups</name>
+ <name xml:lang="pt">Cups</name>
+ <name xml:lang="ru">Cups</name>
+ <name xml:lang="sv">Cups</name>
+ <name xml:lang="zh_CN">Cups</name>
+ <name xml:lang="zh_TW">Cups</name>
+ <description>Cups printing service and drivers to use it.</description>
+ <description xml:lang="cs">Tisková služba Cups a ovladaÄe pro její použití.</description>
+ <description xml:lang="da">Udskriftstjenesten CUPS og de driverrutiner som behøves for brug af den.</description>
+ <description xml:lang="de">Cups Druckerdienst und Treiber für die Verwendung.</description>
+ <description xml:lang="es">Servicios de impresión cups y drivers para usarlo.</description>
+ <description xml:lang="fr">Service d&apos;impression des coupes et lecteurs pour l&apos;utiliser. </description>
+ <description xml:lang="is">Cups prentkerfið og reklar fyrir það.</description>
+ <description xml:lang="it">Servizio di stampa Cups e relativi driver per utilizzarlo.</description>
+ <description xml:lang="ja">カップå°åˆ·ã‚µãƒ¼ãƒ“スã¨ãれを使用ã™ã‚‹ãƒ‰ãƒ©ã‚¤ãƒãƒ¼ </description>
+ <description xml:lang="ko">CUPS ì¸ì‡„ 서비스와 ì´ ì„œë¹„ìŠ¤ë¥¼ 사용할 ë“œë¼ì´ë²„.</description>
+ <description xml:lang="no">Utskriftssystemet Cups med drivere.</description>
+ <description xml:lang="pt">Serviço de impressão cups e controladores para o utilizar.</description>
+ <description xml:lang="ru">Служба печати Cups и драйверы Ð´Ð»Ñ ÐµÐµ иÑпользованиÑ</description>
+ <description xml:lang="sv">Utskriftstjänsten Cups och de drivrutiner som behövs för användning av den.</description>
+ <description xml:lang="zh_CN">Cups 打å°æœåŠ¡åŠæ‰€éœ€é©±åŠ¨ç¨‹åºã€‚</description>
+ <description xml:lang="zh_TW">Cups 列å°æœå‹™èˆ‡è¦ä½¿ç”¨çš„驅動程å¼ã€‚</description>
+ <packagelist>
+ <packagereq type="mandatory">cups</packagereq>
+ <packagereq type="mandatory">cups-drivers</packagereq>
+ <packagereq type="default">cups-drivers-hpijs</packagereq>
+ <packagereq type="default">cups-drivers-pnm2ppa</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>base-x</id>
+ <uservisible>true</uservisible>
+ <default>true</default>
+ <name>X Window System</name>
+ <name xml:lang="cs">X Window System</name>
+ <name xml:lang="da">Vinduessystemet X</name>
+ <name xml:lang="de">X Window System</name>
+ <name xml:lang="es">Sistema X Window</name>
+ <name xml:lang="fr">Système X Window</name>
+ <name xml:lang="is">X gluggakerfið</name>
+ <name xml:lang="it">Sistema X Window</name>
+ <name xml:lang="ja">X Window System</name>
+ <name xml:lang="ko">X 윈ë„ìš° 시스템</name>
+ <name xml:lang="no">X</name>
+ <name xml:lang="pt">Sistema de Janelas X</name>
+ <name xml:lang="ru">СиÑтема X Window</name>
+ <name xml:lang="sv">Fönstersystemet X</name>
+ <name xml:lang="zh_CN">X 窗å£ç³»ç»Ÿ</name>
+ <name xml:lang="zh_TW">X 視窗系統</name>
+ <description>Install this group of packages to use the base graphical (X) user interface.</description>
+ <description xml:lang="cs">Tuto skupinu balíÄků nainstalujte pro použití grafického (X) uživatelského prostÅ™edí.</description>
+ <description xml:lang="da">Installér denne pakkegruppe for at bruge den grundlæggende grafiske brugergrænseflade (X).</description>
+ <description xml:lang="de">Installieren Sie diese Paketgruppe, um die grafische Hauptbenutzeroberfläche (X) zu verwenden.</description>
+ <description xml:lang="es">Instalar este grupo de paquetes para usar la interfaz de usuario (X) gráfica.</description>
+ <description xml:lang="fr">Installer ce groupe de paquetages pour utiliser l&apos;interface utilisateur graphique de base (X).</description>
+ <description xml:lang="is">Settu þessa pakka inn ef þú vilt nota myndræn forrit (X).</description>
+ <description xml:lang="it">Installare questo gruppo di pacchetti per usare l&apos;interfaccia utente grafica (X) di base.</description>
+ <description xml:lang="ja">ã“ã®ãƒ‘ッケージã®ã‚°ãƒ«ãƒ¼ãƒ—をインストールã—ã¦ã€åŸºæœ¬çš„グラフィカル(X)ユーザーインターフェイスを使用ã—ã¾ã™ã€‚</description>
+ <description xml:lang="ko">기본 그래픽 (X) ì‚¬ìš©ìž ì¸í„°íŽ˜ì´ìŠ¤ë¥¼ 사용하시려면 ì´ íŒ¨í‚¤ì§€ ê·¸ë£¹ì„ ì„¤ì¹˜í•˜ì‹­ì‹œì˜¤.</description>
+ <description xml:lang="no">Installer denne pakkegruppen for å bruke et grafisk grensesnitt (X).</description>
+ <description xml:lang="pt">Instale este grupo de pacotes para usar a interface gráfica básica de utilizador (o X).</description>
+ <description xml:lang="ru">УÑтановите Ñту группу пакетов, чтобы получить графичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (X)</description>
+ <description xml:lang="sv">Installera denna paketgrupp för att använda det grundläggande grafiska gränssnittet (X).</description>
+ <description xml:lang="zh_CN">安装这组软件包æ¥ä½¿ç”¨åŸºç¡€å›¾å½¢åŒ–用户界é¢(X)。</description>
+ <description xml:lang="zh_TW">請安è£é€™å€‹å¥—件群組,以用來使用基礎的圖形 (X) 使用者介é¢ã€‚</description>
+ <grouplist>
+ <groupreq>printing</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="default">authconfig-gtk</packagereq>
+ <packagereq type="mandatory">bitmap-fonts</packagereq>
+ <packagereq type="default">firstboot</packagereq>
+ <packagereq type="mandatory">desktop-backgrounds-basic</packagereq>
+ <packagereq type="default">desktop-backgrounds-extra</packagereq>
+ <packagereq type="default">gdm</packagereq>
+ <packagereq type="default">openssh-askpass</packagereq>
+ <packagereq type="default">openssh-askpass-gnome</packagereq>
+ <packagereq type="default">redhat-config-date</packagereq>
+ <packagereq type="default">redhat-config-network</packagereq>
+ <packagereq type="default">redhat-config-services</packagereq>
+ <packagereq type="default">redhat-config-soundcard</packagereq>
+ <packagereq type="default">redhat-config-users</packagereq>
+ <packagereq type="default">redhat-config-xfree86</packagereq>
+ <packagereq type="default">redhat-logviewer</packagereq>
+ <packagereq type="default">redhat-config-printer-gui</packagereq>
+ <packagereq type="default">redhat-switch-printer-gnome</packagereq>
+ <packagereq type="default">redhat-switchmail-gnome</packagereq>
+ <packagereq type="default">redhat-config-packages</packagereq>
+ <packagereq type="default">switchdesk</packagereq>
+ <packagereq type="default">usermode-gtk</packagereq>
+ <packagereq type="mandatory">XFree86</packagereq>
+ <packagereq type="mandatory">Xtest</packagereq>
+ <packagereq type="mandatory">XFree86-font-utils</packagereq>
+ <packagereq type="mandatory">XFree86-tools</packagereq>
+ <packagereq type="mandatory">XFree86-twm</packagereq>
+ <packagereq type="mandatory">XFree86-xauth</packagereq>
+ <packagereq type="mandatory">XFree86-75dpi-fonts</packagereq>
+ <packagereq type="mandatory">XFree86-100dpi-fonts</packagereq>
+ <packagereq type="mandatory">xinitrc</packagereq>
+ <packagereq type="default">XFree86-xdm</packagereq>
+ <packagereq type="default">up2date-gnome</packagereq>
+ <packagereq type="default">rhn-applet</packagereq>
+ <packagereq type="optional">WindowMaker</packagereq>
+ <packagereq type="default">xisdnload</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>dialup</id>
+ <uservisible>false</uservisible>
+ <default>true</default>
+ <name>Dialup Networking Support</name>
+ <name xml:lang="cs">Podpora vytáÄeného pÅ™ipojení k síti</name>
+ <name xml:lang="da">Understøttelse for opkaldt opkopling</name>
+ <name xml:lang="de">Dialup Netzwerk Support</name>
+ <name xml:lang="es">Soporte de red del marcado</name>
+ <name xml:lang="fr">Support d&apos;accès distant au réseau</name>
+ <name xml:lang="is">Upphringinetsstuðningur</name>
+ <name xml:lang="it">Supporto di networking dialup</name>
+ <name xml:lang="ja">ダイヤルアップãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">전화연결 네트워킹 지ì›</name>
+ <name xml:lang="no">Støtte for oppringt nettverk</name>
+ <name xml:lang="pt">Suporte a Ligações Telefónicas</name>
+ <name xml:lang="ru">Удаленный доÑтуп к Ñети</name>
+ <name xml:lang="sv">Stöd för uppringd uppkoppling</name>
+ <name xml:lang="zh_CN">拨å·è”网支æŒ</name>
+ <name xml:lang="zh_TW">撥號網路支æ´</name>
+ <packagelist>
+ <packagereq type="mandatory">ppp</packagereq>
+ <packagereq type="default">lrzsz</packagereq>
+ <packagereq type="mandatory">minicom</packagereq>
+ <packagereq type="mandatory">statserial</packagereq>
+ <packagereq type="default">wvdial</packagereq>
+ <packagereq type="default">isdn4k-utils</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>gnome-desktop</id>
+ <uservisible>true</uservisible>
+ <default>true</default>
+ <name>GNOME Desktop Environment</name>
+ <name xml:lang="cs">Prostředí pracovní plochy GNOME</name>
+ <name xml:lang="da">Skrivebordsmiljøet Gnome</name>
+ <name xml:lang="de">GNOME Desktopumgebung</name>
+ <name xml:lang="es">Entorno de escritorio de GNOME</name>
+ <name xml:lang="fr">Environnement de bureau GNOME</name>
+ <name xml:lang="is">GNOME skjáborðið</name>
+ <name xml:lang="it">Ambiente desktop di GNOME</name>
+ <name xml:lang="ja">GNOMEデスクトップ環境</name>
+ <name xml:lang="ko">GNOME ë°ìŠ¤í¬íƒ‘ 환경</name>
+ <name xml:lang="no">Skrivebordsmiljøet GNOME</name>
+ <name xml:lang="pt">Ambiente de Trabalho GNOME</name>
+ <name xml:lang="ru">Окружение рабочего Ñтола GNOME</name>
+ <name xml:lang="sv">Skrivbordsmiljön GNOME</name>
+ <name xml:lang="zh_CN">GNOME æ¡Œé¢çŽ¯å¢ƒ</name>
+ <name xml:lang="zh_TW">GNOME æ¡Œé¢ç’°å¢ƒ</name>
+ <description>GNOME is a powerful, graphical user interface which includes a panel, desktop, system icons, and a graphical file manager.</description>
+ <description xml:lang="cs">GNOME je výkonné grafické uživatelské prostředí, které zahrnuje panel, prostředí pracovní plochy, systémové ikony a grafického správce souborů.</description>
+ <description xml:lang="da">Gnome er en stærk grafisk brugergrænseflade som indholder et panel, et skrivebord, systemikoner og en grafisk filbehandler.</description>
+ <description xml:lang="de">GNOME ist eine leistungsstarkes grafisches Benutzerinterface mit Panel, Desktop, Systemsymbolen und grafischem Fenstermanager.</description>
+ <description xml:lang="es">GNOME es una interfaz gráfica de usuario potente que incluye un panel, un escritorio, iconos del sistema y gestores de ficheros gráficos.</description>
+ <description xml:lang="fr">GNOME est une interface utilisateur graphique puissante qui comprend un tableau de bord, un bureau, des icônes de système et un gestionnaire de fichiers graphique.</description>
+ <description xml:lang="is">GNOME er öflugt myndrænt vinnuumhverfi sem inniheldur spjald, skjáborð, kerfissmámyndir og myndrænann skráarstjóra.</description>
+ <description xml:lang="it">GNOME è una potente interfaccia grafica utente che include un pannello, un desktop, icone di sistema e un file manager grafico.</description>
+ <description xml:lang="ja">GNOMEã¯ã€ãƒ‘ãƒãƒ«ã€ãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ—ã€ã‚·ã‚¹ãƒ†ãƒ ã‚¢ã‚¤ã‚³ãƒ³ã€åŠã³ã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ« ファイルマãƒã‚¸ãƒ£ã‚’å«ã‚€å¼·åŠ›ãªã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã§ã™ã€‚</description>
+ <description xml:lang="ko">GNOMEì€ ê°•ë ¥í•œ 그래픽 ì‚¬ìš©ìž ì¸í„°íŽ˜ì´ìŠ¤ë¡œì„œ 패ë„, ë°ìŠ¤í¬íƒ‘, 시스템 ì•„ì´ì½˜ê³¼ 그래픽 íŒŒì¼ ê´€ë¦¬ìž ê¸°ëŠ¥ì„ ê°–ì¶”ê³  있습니다.</description>
+ <description xml:lang="no">GNOME er et kraftig, grafisk brukergrensesnitt som inkluderer et panel, skrivebord, systemikoner og en grafisk filhåndterer</description>
+ <description xml:lang="pt">GNOME is a powerful, graphical user interface which includes a panel, desktop, system icons, and a graphical file manager.</description>
+ <description xml:lang="ru">GNOME - Ñто мощный графичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ, который включает панель, рабочий Ñтол, ÑиÑтемные пиктограммы и графичеÑкий менеджер файлов.</description>
+ <description xml:lang="sv">GNOME är ett kraftfullt, grafiskt användargränssnitt som innehåller en panel, ett skrivbord, systemikoner och en grafisk filhanterare.</description>
+ <description xml:lang="zh_CN">GNOME 是一个功能强大的图形化用户界é¢ï¼Œå®ƒåŒ…括一个é¢æ¿ã€ æ¡Œé¢ã€ç³»ç»Ÿå›¾æ ‡ã€ä»¥åŠå›¾å½¢åŒ–文件管ç†å™¨ã€‚</description>
+ <description xml:lang="zh_TW">GNOME 是一個功能強大的圖形使用者介é¢ï¼Œå®ƒå«æœ‰ä¸€å€‹é¢æ¿ã€æ¡Œé¢ã€ç³»çµ±åœ–示 以åŠä¸€å€‹åœ–形的檔案管ç†å“¡ã€‚</description>
+ <grouplist>
+ <groupreq>base-x</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">control-center</packagereq>
+ <packagereq type="mandatory">desktop-file-utils</packagereq>
+ <packagereq type="default">eog</packagereq>
+ <packagereq type="default">file-roller</packagereq>
+ <packagereq type="default">gconf-editor</packagereq>
+ <packagereq type="default">gedit</packagereq>
+ <packagereq type="default">gftp</packagereq>
+ <packagereq type="default">gimp-print-utils</packagereq>
+ <packagereq type="mandatory">gnome-applets</packagereq>
+ <packagereq type="default">gnome-audio</packagereq>
+ <packagereq type="default">gnome-media</packagereq>
+ <packagereq type="mandatory">gnome-panel</packagereq>
+ <packagereq type="mandatory">gnome-session</packagereq>
+ <packagereq type="mandatory">gnome-spell</packagereq>
+ <packagereq type="default">gnome-system-monitor</packagereq>
+ <packagereq type="mandatory">gnome-terminal</packagereq>
+ <packagereq type="default">gnome-user-docs</packagereq>
+ <packagereq type="mandatory">gnome-utils</packagereq>
+ <packagereq type="default">gnome-vfs-extras</packagereq>
+ <packagereq type="default">gnome-vfs2-extras</packagereq>
+ <packagereq type="default">gqview</packagereq>
+ <packagereq type="default">gtk-engines</packagereq>
+ <packagereq type="default">gtk2-engines</packagereq>
+ <packagereq type="default">ggv</packagereq>
+ <packagereq type="default">mtr-gtk</packagereq>
+ <packagereq type="default">magicdev</packagereq>
+ <packagereq type="default">hwbrowser</packagereq>
+ <packagereq type="mandatory">metacity</packagereq>
+ <packagereq type="mandatory">nautilus</packagereq>
+ <packagereq type="mandatory">switchdesk-gnome</packagereq>
+ <packagereq type="mandatory">yelp</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>kde-desktop</id>
+ <name>KDE Desktop Environment</name>
+ <name xml:lang="cs">Prostředí pracovní plochy KDE</name>
+ <name xml:lang="da">Skrivebordsmiljøet KDE</name>
+ <name xml:lang="de">KDE Desktopumgebung</name>
+ <name xml:lang="es">Entorno de escritorio para KDE</name>
+ <name xml:lang="fr">Environnement de bureau KDE</name>
+ <name xml:lang="is">KDE skjáborðið</name>
+ <name xml:lang="it">Ambiente desktop KDE</name>
+ <name xml:lang="ja">KDEデスクトップ環境</name>
+ <name xml:lang="ko">KDE ë°ìŠ¤í¬íƒ‘ 환경</name>
+ <name xml:lang="no">Skrivebordsmiljøet KDE</name>
+ <name xml:lang="pt">Ambiente de Trabalho KDE</name>
+ <name xml:lang="ru">Окружение рабочего Ñтола KDE</name>
+ <name xml:lang="sv">Skrivbordsmiljön KDE</name>
+ <name xml:lang="zh_CN">KDE æ¡Œé¢çŽ¯å¢ƒ</name>
+ <name xml:lang="zh_TW">KDE æ¡Œé¢ç’°å¢ƒ</name>
+ <description>KDE is a powerful, graphical user interface which includes a panel, desktop, system icons, and a graphical file manager.</description>
+ <description xml:lang="cs">KDE je výkonné grafické uživatelské prostředí, které zahrnuje panel, prostředí pracovní plochy, systémové ikony a grafického správce souborů.</description>
+ <description xml:lang="da">KDE er en stærk, grafisk brugergrænseflade som indholder et panel, et skrivebord, systemikoner og en grafisk filbehandler.</description>
+ <description xml:lang="de">KDE ist eine leistungsstarkes grafisches Benutzerinterface mit Panel, Desktop, Systemsymbolen und grafischem Fenstermanager.</description>
+ <description xml:lang="es">KDE es una interfaz de usuario gráfica y potente que incluye un panel, un escritorio, iconos del sistema y un gestor gráfico de ficheros. </description>
+ <description xml:lang="fr">KDE est une interface utilisateur graphique puissante comprenant un tableau de bord, un bureau, des icônes de système et un gestionnaire de fichier graphique. </description>
+ <description xml:lang="is">KDE er öflugt myndrænt vinnuumhverfi sem inniheldur spjald, skjáborð, kerfissmámyndir og myndrænann skráarstjóra.</description>
+ <description xml:lang="it">KDE è una potente interfaccia grafica utente che include un pannello, un desktop, icone di sistema e un file manager grafico.</description>
+ <description xml:lang="ja">KDEã¯ã€ãƒ‘ãƒãƒ«ã€ãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ—ã€ã‚·ã‚¹ãƒ†ãƒ ã‚¢ã‚¤ã‚³ãƒ³åŠã³ã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ«ãƒ•ã‚¡ã‚¤ãƒ« マãƒã‚¸ãƒ£ã‚’å«ã‚€å¼·åŠ›ãªã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã§ã™ã€‚</description>
+ <description xml:lang="ko">KDE는 강력한 그래픽 ì‚¬ìš©ìž ì¸í„°íŽ˜ì´ìŠ¤ë¡œì„œ 패ë„, ë°ìŠ¤í¬íƒ‘, 시스템 ì•„ì´ì½˜ê³¼ 그래픽 íŒŒì¼ ê´€ë¦¬ìž ê¸°ëŠ¥ì„ ê°–ì¶”ê³  있습니다.</description>
+ <description xml:lang="no">KDE er et kraftig, grafisk brukergrensesnitt som inkluderer et panel, skrivebord, systemikoner og en grafisk filhåndterer.</description>
+ <description xml:lang="pt">O KDE é uma interface gráfica poderosa que inclui um painel, um ambiente de trabalho, os ícones de sistema e um gestor de ficheiros gráfico.</description>
+ <description xml:lang="ru">KDE Ñто мощный графичеÑкий интерфейÑ, включающий в ÑÐµÐ±Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ приложений, рабочий Ñтол, ÑиÑтемные иконки, и графичеÑкий менеджер файлов.</description>
+ <description xml:lang="sv">KDE är ett kraftfullt, grafiskt användargränssnitt som innehåller en panel, ett skrivbord, systemikoner och en grafisk filhanterare.</description>
+ <description xml:lang="zh_CN">KDE 是一个功能强大的图形化用户界é¢ã€‚它包括é¢æ¿ã€æ¡Œé¢ã€ 系统图标ã€ä»¥åŠå›¾å½¢åŒ–文件管ç†å™¨ã€‚</description>
+ <description xml:lang="zh_TW">KDE 是一個功能強大的圖形使用者介é¢ï¼Œå®ƒå«æœ‰ä¸€å€‹é¢æ¿ã€æ¡Œé¢ã€ç³»çµ±åœ–示 以åŠä¸€å€‹åœ–形的檔案管ç†å“¡ã€‚</description>
+ <grouplist>
+ <groupreq>base-x</groupreq>
+ <groupreq>dialup</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="default">ark</packagereq>
+ <packagereq type="mandatory">arts</packagereq>
+ <packagereq type="default">autorun</packagereq>
+ <packagereq type="mandatory">fam</packagereq>
+ <packagereq type="mandatory">htdig</packagereq>
+ <packagereq type="optional">kaboodle</packagereq>
+ <packagereq type="default">kamera</packagereq>
+ <packagereq type="optional">karm</packagereq>
+ <packagereq type="mandatory">kcalc</packagereq>
+ <packagereq type="mandatory">kcharselect</packagereq>
+ <packagereq type="optional">kdeaddons-kate</packagereq>
+ <packagereq type="optional">kdeaddons-noatun</packagereq>
+ <packagereq type="optional">kdeaddons-konqueror</packagereq>
+ <packagereq type="default">kdeaddons-kicker</packagereq>
+ <packagereq type="default">kdeaddons-konqueror</packagereq>
+ <packagereq type="optional">kdeadmin</packagereq>
+ <packagereq type="mandatory">kdeartwork</packagereq>
+ <packagereq type="default">kdeartwork-locolor</packagereq>
+ <packagereq type="mandatory">kdeartwork-screensavers</packagereq>
+ <packagereq type="default">kdemultimedia-arts</packagereq>
+ <packagereq type="default">kdemultimedia-kfile</packagereq>
+ <packagereq type="mandatory">kdepasswd</packagereq>
+ <packagereq type="default">kdepim</packagereq>
+ <packagereq type="mandatory">kdebase</packagereq>
+ <packagereq type="mandatory">kdessh</packagereq>
+ <packagereq type="mandatory">kdf</packagereq>
+ <packagereq type="default">kdict</packagereq>
+ <packagereq type="default">kedit</packagereq>
+ <packagereq type="default">kdeaddons-knewsticker</packagereq>
+ <packagereq type="mandatory">kdeutils-laptop</packagereq>
+ <packagereq type="mandatory">kfloppy</packagereq>
+ <packagereq type="mandatory">kfile-pdf</packagereq>
+ <packagereq type="mandatory">kfile-png</packagereq>
+ <packagereq type="mandatory">khexedit</packagereq>
+ <packagereq type="mandatory">kjots</packagereq>
+ <packagereq type="mandatory">kljettool</packagereq>
+ <packagereq type="mandatory">klprfax</packagereq>
+ <packagereq type="mandatory">klpq</packagereq>
+ <packagereq type="mandatory">kmix</packagereq>
+ <packagereq type="default">kpf</packagereq>
+ <packagereq type="mandatory">kregexpeditor</packagereq>
+ <packagereq type="mandatory">kscd</packagereq>
+ <packagereq type="mandatory">ksnapshot</packagereq>
+ <packagereq type="mandatory">ktimer</packagereq>
+ <packagereq type="default">lisa</packagereq>
+ <packagereq type="mandatory">switchdesk-kde</packagereq>
+ <packagereq type="mandatory">xinetd</packagereq>
+ <packagereq type="default">kppp</packagereq>
+ <packagereq type="default">kpppload</packagereq>
+ <packagereq type="default">kghostview</packagereq>
+ <packagereq type="default">kdvi</packagereq>
+ <packagereq type="default">kiconedit</packagereq>
+ <packagereq type="default">kmail</packagereq>
+ <packagereq type="default">kit</packagereq>
+ <packagereq type="default">koncd</packagereq>
+ <packagereq type="default">kpaint</packagereq>
+ <packagereq type="default">kuickshow</packagereq>
+ <packagereq type="default">kview</packagereq>
+ <packagereq type="default">kviewshell</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>graphical-internet</id>
+ <name>Graphical Internet</name>
+ <name xml:lang="cs">Grafický Internet</name>
+ <name xml:lang="da">Grafisk internet</name>
+ <name xml:lang="de">Grafisches Internet</name>
+ <name xml:lang="es">Internet gráfica</name>
+ <name xml:lang="fr">Internet graphique</name>
+ <name xml:lang="is">Myndræn Internettól</name>
+ <name xml:lang="it">Internet grafico</name>
+ <name xml:lang="ja">グラフィカルインターãƒãƒƒãƒˆ</name>
+ <name xml:lang="ko">그래픽 ì¸í„°ë„·</name>
+ <name xml:lang="no">Grafisk Internet</name>
+ <name xml:lang="pt">Internet em Modo Gráfico</name>
+ <name xml:lang="ru">ГрафичеÑкие ÑредÑтва Интернет</name>
+ <name xml:lang="sv">Grafiskt Internet</name>
+ <name xml:lang="zh_CN">图形化互è”网</name>
+ <name xml:lang="zh_TW">圖形化網際網路</name>
+ <description>This group includes graphical email, Web, and chat clients.</description>
+ <description xml:lang="cs">Tato skupina obsahuje grafické klienty pro email, WWW a chat.</description>
+ <description xml:lang="da">Denne gruppe indeholder grafiske klienter for e-post, netlæsning og chat.</description>
+ <description xml:lang="de">Diese Gruppe umfasst grafische E-Mail, Web und Chat-Clients.</description>
+ <description xml:lang="es">El grupo incluye clientes gráficos de correo electrónico, Web y chat. </description>
+ <description xml:lang="fr">Ce groupe comprend le courrier électronique graphique, Web et les clients de conversation.</description>
+ <description xml:lang="is">Þessi hópur inniheldur myndræn póst, vef og spjallforrit.</description>
+ <description xml:lang="it">Questo gruppo include e-mail, Web e chat client grafici.</description>
+ <description xml:lang="ja">ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã¯ã€ã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ«emailã€Webã€åŠã³ãƒãƒ£ãƒƒãƒˆã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒ å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ ê·¸ë£¹ì—는 그래픽 ì´ë©”ì¼, 웹, 채팅 í´ë¼ì´ì–¸íŠ¸ê°€ í¬í•¨ë˜ì–´ 있습니다.</description>
+ <description xml:lang="no">Denne gruppen inkluderer grafiske epost, web og chat-klienter.</description>
+ <description xml:lang="pt">Este grupo contém clientes gráficso de email, Web e chat.</description>
+ <description xml:lang="ru">Эта группа включает графичеÑкие клиенты Ñлектронной почты, Веб и чата.</description>
+ <description xml:lang="sv">Denna grupp inkluderar grafiska klienter för e-post, webbsurfande och chatt.</description>
+ <description xml:lang="zh_CN">这组软件包包å«å›¾å½¢åŒ–电å­é‚®ä»¶ã€ä¸‡ç»´ç½‘å’ŒèŠå¤©å®¢æˆ·ã€‚</description>
+ <description xml:lang="zh_TW">這個群組包括圖形的電å­éƒµä»¶ã€ç¶²é ä»¥åŠèŠå¤©ç”¨æˆ¶ç«¯ã€‚</description>
+ <uservisible>true</uservisible>
+ <default>true</default>
+ <packagelist>
+ <packagereq type="optional">balsa</packagereq>
+ <packagereq type="default">evolution</packagereq>
+ <packagereq type="default">gaim</packagereq>
+ <packagereq type="optional">galeon</packagereq>
+ <packagereq type="optional">gnomemeeting</packagereq>
+ <packagereq type="default">mozilla</packagereq>
+ <packagereq type="default">mozilla-psm</packagereq>
+ <packagereq type="optional">mozilla-chat</packagereq>
+ <packagereq type="default">mozilla-mail</packagereq>
+ <packagereq type="optional">pan</packagereq>
+ <packagereq type="default">xchat</packagereq>
+ <packagereq type="mandatory">indexhtml</packagereq>
+ <packagereq type="optional">licq-kde</packagereq>
+ <packagereq type="optional">ksirc</packagereq>
+ <packagereq type="optional">kmail</packagereq>
+ <packagereq type="optional">korn</packagereq>
+ <packagereq type="optional">knode</packagereq>
+ <packagereq type="optional">kit</packagereq>
+ <packagereq type="optional">quanta</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>text-internet</id>
+ <name>Text-based Internet</name>
+ <name xml:lang="cs">Textový Internet</name>
+ <name xml:lang="da">Tekstbaseret internet</name>
+ <name xml:lang="de">Textbasiertes Internet</name>
+ <name xml:lang="es">Internet basada en texto</name>
+ <name xml:lang="fr">Internet basé sur texte</name>
+ <name xml:lang="is">Internet með textaskilum</name>
+ <name xml:lang="it">Internet text-based</name>
+ <name xml:lang="ja">テキストベースã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆ</name>
+ <name xml:lang="ko">í…스트-기반 ì¸í„°ë„·</name>
+ <name xml:lang="no">Tekstbaserte Internett-programmer</name>
+ <name xml:lang="pt">Internet em modo texto</name>
+ <name xml:lang="ru">ТеÑтовые ÑредÑтва Интернет</name>
+ <name xml:lang="sv">Textbaserat Internet</name>
+ <name xml:lang="zh_CN">基于文本的互è”网</name>
+ <name xml:lang="zh_TW">文字為主的網際網路</name>
+ <description>This group includes text-based email, Web, and chat clients. These applications do not require the X Window System.</description>
+ <description xml:lang="cs">Tato skupina obsahuje textové klienty pro email, WWW a chat. Tyto aplikace nepotřebují X Window System.</description>
+ <description xml:lang="da">Denne gruppe indeholder tekst-baserede klienter for e-post, netlæsning og chat. Disse programmer kræver ikke vinduessystemet X.</description>
+ <description xml:lang="de">Diese Gruppe enthält text-basierte E-Mail, Web und Chat-Clients. Diese Anwendungen benötigen das X Window System nicht.</description>
+ <description xml:lang="es">Este grupo incluye correo electrónico en forma de texto, Web y clientes de chats. Estas aplicaciones no necesitan el sistema X Window.</description>
+ <description xml:lang="fr">Ce groupe contient une messagerie électronique en modalité texte et des clients de conversation. Ces applications ne nécessitent pas le système X Window.</description>
+ <description xml:lang="is">Þessi hópur inniheldur póst, vef og spjallforrit með textaskilum. Þessi tól þurfa ekki X gluggakerfið.</description>
+ <description xml:lang="it">Questo gruppo include e-mail, Web e chat client text-based. Tali applicazioni non richiedono il sistema X Window.</description>
+ <description xml:lang="ja">ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã¯ã€ãƒ†ã‚­ã‚¹ãƒˆãƒ™ãƒ¼ã‚¹ã®email, Web,åŠã³ãƒãƒ£ãƒƒãƒˆã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒå«ã¾ã‚Œã¦ ã„ã¾ã™ã€‚ã“れらã®ã‚¢ãƒ—リケーションã¯X Window Systemã‚’å¿…è¦ã¨ã—ã¾ã›ã‚“。</description>
+ <description xml:lang="ko">ì´ ê·¸ë¦…ì—는 í…스트-기반 ì´ë©”ì¼, 웹, 채팅 í´ë¼ì´ì–¸íŠ¸ê°€ í¬í•¨ë˜ì–´ 있습니다. X 윈ë„ìš° ì‹œìŠ¤í…œì´ ì—†ì–´ë„ ìž‘ë™í•©ë‹ˆë‹¤.</description>
+ <description xml:lang="no">Denne gruppen inneholder tekstbaserte epost, web og chat-klienter. Disse programmene trenger ikke X.</description>
+ <description xml:lang="pt">Este grupo inclui o email em modo texto, a Web e os clientes de conversação. Estas aplicações não necessitam do X Window System.</description>
+ <description xml:lang="ru">Эта группа Ñодержит текÑтовые Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ñлектронной почтой, интернетом, а также чат-клиенты. ÐŸÑ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð² Ñтой группе не требуют X Window System</description>
+ <description xml:lang="sv">Denna grupp inkluderar text-baserade klienter för e-post, webbsurfande och chatt. Dessa program kräver inte fönstersystemet X.</description>
+ <description xml:lang="zh_CN">这组软件包包å«åŸºäºŽæ–‡æœ¬çš„电å­é‚®ä»¶ã€ä¸‡ç»´ç½‘ã€å’ŒèŠå¤©å®¢æˆ·çš„软件包。 这些应用程åºä¸è¦æ±‚ X 窗å£ç³»ç»Ÿã€‚</description>
+ <description xml:lang="zh_TW">這個群組包括文字為主的電å­éƒµä»¶ã€ç¶²é èˆ‡èŠå¤©ç”¨æˆ¶ç«¯ã€‚ é€™äº›æ‡‰ç”¨ç¨‹å¼ ä¸¦ä¸éœ€è¦ X 視窗系統。</description>
+ <uservisible>true</uservisible>
+ <default>true</default>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="default">fetchmail</packagereq>
+ <packagereq type="optional">epic</packagereq>
+ <packagereq type="optional">lynx</packagereq>
+ <packagereq type="default">mutt</packagereq>
+ <packagereq type="optional">ncftp</packagereq>
+ <packagereq type="optional">pine</packagereq>
+ <packagereq type="default">slrn</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>sound-and-video</id>
+ <name>Sound and Video</name>
+ <name xml:lang="cs">Zvuk a video</name>
+ <name xml:lang="da">Lyd og video</name>
+ <name xml:lang="de">Sound und Video</name>
+ <name xml:lang="es">Sonido y vídeo</name>
+ <name xml:lang="fr">Son et vidéo</name>
+ <name xml:lang="is">Hljóð og mynd</name>
+ <name xml:lang="it">Audio e video</name>
+ <name xml:lang="ja">サウンドã¨ãƒ“デオ</name>
+ <name xml:lang="ko">사운드와 비디오</name>
+ <name xml:lang="no">Lyd og bilde</name>
+ <name xml:lang="pt">Som e Video</name>
+ <name xml:lang="ru">Звук и видео</name>
+ <name xml:lang="sv">Ljud och video</name>
+ <name xml:lang="zh_CN">视频和音频</name>
+ <name xml:lang="zh_TW">音效與視訊</name>
+ <description>From CD recording to playing audio CDs and multimedia files, this package group allows you to work with sound and video on the system.</description>
+ <description xml:lang="cs">Tato skupina balíÄků Vám umožňuje pracovat se zvukem a videem od vypalování CD po pÅ™ehrávání zvukových CD a multimediálních souborů.</description>
+ <description xml:lang="da">Denne gruppe lader dig arbejde med lyd og video på systemet, med altfra cd-optagning til afspilning af lyd-cd&apos;er og multimedie-filer.</description>
+ <description xml:lang="de">Von der Aufnahme von CDs bis zum Abspielen von Audio-CDs ermöglicht Ihnen diese Paketgruppe eine optimale Nutzung der Sound- und Videofunktionen des Systems.</description>
+ <description xml:lang="es">Desde la grabación de CDs hasta la reproducción de CDs de audio y archivos multimedia, este paquete le permite trabajar con audio y video en su sistema.</description>
+ <description xml:lang="ja">CDã®éŒ²éŸ³ã‹ã‚‰ã‚ªãƒ¼ãƒ‡ã‚£ã‚ªCDã¨ãƒžãƒ«ãƒãƒ¡ãƒ‡ã‚£ã‚¢ãƒ•ã‚¡ã‚¤ãƒ«ã®å†ç”Ÿã¾ã§ã€ã“㮠パッケージグループã§ã‚·ã‚¹ãƒ†ãƒ ä¸Šã®ã‚µã‚¦ãƒ³ãƒ‰ã¨ãƒ“デオを機能を使用ã§ãã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ íŒ¨í‚¤ì§€ ê·¸ë£¹ì„ ì‚¬ìš©í•˜ì—¬ CD ë…¹ìŒì—ì„œ 오디오 CD ë° ë©€í‹°ë¯¸ë””ì–´ íŒŒì¼ ìž¬ìƒì— ì´ë¥´ê¸°ê¹Œì§€ 다양한 사운드와 비디오 ìž‘ì—…ì„ ìˆ˜í–‰í•˜ì‹¤ 수 있습니다.</description>
+ <description xml:lang="no">Denne pakkegruppen inneholder programmer for å spille av CDer og multimediefiler samt arbeide med lyd og bilde på systemet.</description>
+ <description xml:lang="pt">Desde a gravação de CDs até à reprodução de CDs áudio e multimédia, este\ngrupo de pacotes permite-lhe lidar com o som e o vídeo no sistema.</description>
+ <description xml:lang="ru">От запиÑи CD до Ð¿Ñ€Ð¾Ð¸Ð³Ñ€Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð·Ð²ÑƒÐºÐ¾Ð²Ñ‹Ñ… диÑков и MP3, Ñта группа пакетов позволÑет работать Ñо звуком и видео в ÑиÑтеме.</description>
+ <description xml:lang="sv">Denna paketgrupp låter dig arbeta med ljud och video, vare sig det gäller cdinspelning eller att lyssna på musikskivor och multimediafiler.</description>
+ <description xml:lang="zh_CN">从光盘录制到播放音频光盘和多媒体文件,该软件包组å…许您使用系统上的音频和视频资æºã€‚</description>
+ <description xml:lang="zh_TW">從燒錄 CD 到播放音效 CD 與多媒體檔案,這個套件群組讓您å¯ä»¥åœ¨ç³»çµ±ä¸Šä½¿ç”¨éŸ³æ•ˆèˆ‡è¦–訊的功能。</description>
+ <uservisible>true</uservisible>
+ <default>true</default>
+ <grouplist>
+ <groupreq>base</groupreq>
+ <groupreq>base-x</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">aumix</packagereq>
+ <packagereq type="default">cdda2wav</packagereq>
+ <packagereq type="default">cdlabelgen</packagereq>
+ <packagereq type="default">cdp</packagereq>
+ <packagereq type="default">cdparanoia</packagereq>
+ <packagereq type="default">cdrecord</packagereq>
+ <packagereq type="default">dvdrecord</packagereq>
+ <packagereq type="optional">dvgrab</packagereq>
+ <packagereq type="default">grip</packagereq>
+ <packagereq type="default">gtoaster</packagereq>
+ <packagereq type="optional">kaboodle</packagereq>
+ <packagereq type="optional">kdeaddons-noatun</packagereq>
+ <packagereq type="optional">kmid</packagereq>
+ <packagereq type="optional">kmidi</packagereq>
+ <packagereq type="optional">koncd</packagereq>
+ <packagereq type="optional">mikmod</packagereq>
+ <packagereq type="optional">sndconfig</packagereq>
+ <packagereq type="mandatory">sox</packagereq>
+ <packagereq type="mandatory">vorbis-tools</packagereq>
+ <packagereq type="default">xawtv</packagereq>
+ <packagereq type="optional">xcdroast</packagereq>
+ <packagereq type="default">xmms</packagereq>
+ <packagereq type="optional">xmms-skins</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>graphics</id>
+ <name>Graphics</name>
+ <name xml:lang="cs">Grafika</name>
+ <name xml:lang="da">Grafik</name>
+ <name xml:lang="de">Grafik</name>
+ <name xml:lang="es">Gráficos</name>
+ <name xml:lang="fr">Graphismes</name>
+ <name xml:lang="is">Myndvinnsla</name>
+ <name xml:lang="it">Grafica</name>
+ <name xml:lang="ja">グラフィクス</name>
+ <name xml:lang="ko">그래픽</name>
+ <name xml:lang="no">Grafikk</name>
+ <name xml:lang="pt">Gráficos</name>
+ <name xml:lang="ru">Графика</name>
+ <name xml:lang="sv">Grafik</name>
+ <name xml:lang="zh_CN">图形</name>
+ <name xml:lang="zh_TW">圖形</name>
+ <description>This group includes packages to help you manipulate and scan images.</description>
+ <description xml:lang="cs">Tato skupina obsahuje balíÄky, které Vám pomohou pracovat s obrázky a skenovat je.</description>
+ <description xml:lang="da">Denne gruppe indeholder pakker som hjælper dig med at manipulere og indlæse billeder.</description>
+ <description xml:lang="de">Diese Gruppe umfasst Pakete, mit denen Sie Bilder bearbeiten und scannen können.</description>
+ <description xml:lang="es">Este grupo incluye paquetes que le permitirán manipular y escanera imágenes.</description>
+ <description xml:lang="fr">Ce groupe comprend des paquetages qui vous aident à manipuler et scanner des images. </description>
+ <description xml:lang="is">Þessi hópur inniheldur pakka sem gera þér kleyft að skanna og breyta myndum.</description>
+ <description xml:lang="it">Questo gruppo include i pacchetti per la manipolazione e la scansione delle immagini.</description>
+ <description xml:lang="ja">ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã¯ã‚¤ãƒ¡ãƒ¼ã‚¸ã®å‡¦ç†ã¨ã‚¹ã‚­ãƒ£ãƒ³ã‚’手ä¼ã†ãƒ‘ッケージãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ ê·¸ë£¹ì— í¬í•¨ëœ 패키지는 ì´ë¯¸ì§€ë¥¼ 스캔, ì¡°ìž‘ ìž‘ì—…ì„ ë„와드립니다.</description>
+ <description xml:lang="no">Denne gruppen inneholder pakker for manipulering og innscanning av bilder.</description>
+ <description xml:lang="pt">Este grupo inclui pacotes que o ajudam a manipular e digitalizar imagens.</description>
+ <description xml:lang="ru">Эта группа Ñодержит Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ñ‹Ðµ Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð¹ и Ñканерами.</description>
+ <description xml:lang="sv">Denna grupp inkluderar paket som hjälper dig manipulera och läsa in bilder.</description>
+ <description xml:lang="zh_CN">这组软件包包括用æ¥å¸®åŠ©æ‚¨æ“作和扫æ图åƒçš„软件包。</description>
+ <description xml:lang="zh_TW">這個群組包括了幫助您處ç†èˆ‡æŽƒæå½±åƒçš„套件。</description>
+ <uservisible>true</uservisible>
+ <default>true</default>
+ <grouplist>
+ <groupreq>base</groupreq>
+ <groupreq>base-x</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="default">ImageMagick</packagereq>
+ <packagereq type="default">sane-frontends</packagereq>
+ <packagereq type="default">xsane</packagereq>
+ <packagereq type="default">xsane-gimp</packagereq>
+ <packagereq type="default">dia</packagereq>
+ <packagereq type="default">gimp</packagereq>
+ <packagereq type="default">gimp-data-extras</packagereq>
+ <packagereq type="default">gtkam</packagereq>
+ <packagereq type="optional">gtkam-gimp</packagereq>
+ <packagereq type="optional">kamera</packagereq>
+ <packagereq type="optional">kcoloredit</packagereq>
+ <packagereq type="optional">kiconedit</packagereq>
+ <packagereq type="optional">kooka</packagereq>
+ <packagereq type="optional">kpaint</packagereq>
+ <packagereq type="optional">kuickshow</packagereq>
+ <packagereq type="default">netpbm-progs</packagereq>
+ <packagereq type="optional">xfig</packagereq>
+ </packagelist>
+ </group>
+
+
+ <group>
+ <id>office</id>
+ <name>Office/Productivity</name>
+ <name xml:lang="cs">Kancelář/produktivita</name>
+ <name xml:lang="da">Kontorprogrammel</name>
+ <name xml:lang="de">Office/Produktivität</name>
+ <name xml:lang="es">Oficina/Productividad</name>
+ <name xml:lang="fr">Bureau/Productivité</name>
+ <name xml:lang="is">Skrifstofuforrit</name>
+ <name xml:lang="it">Office/Produttività</name>
+ <name xml:lang="ja">Office/生産性</name>
+ <name xml:lang="ko">사무/ìƒì‚°ì„±</name>
+ <name xml:lang="no">Kontor/Produktivitet</name>
+ <name xml:lang="pt">Escritório/Produtividade</name>
+ <name xml:lang="ru">ОфиÑные приложениÑ</name>
+ <name xml:lang="sv">Kontorsprogramvara</name>
+ <name xml:lang="zh_CN">办公/生产率</name>
+ <name xml:lang="zh_TW">辦公軟體/作業軟體</name>
+ <description>The applications include office suites, PDF viewers, and more.</description>
+ <description xml:lang="cs">Aplikace zahrnují kancelářské balíky, prohlížeÄe PDF atd.</description>
+ <description xml:lang="da">Programmerne inkluderer suiter med kontorprogrammel, PDF-visere, med mere.</description>
+ <description xml:lang="de">Die Anwendungen enthalten Office-Programme, PDF-Anzeigeprogramme u.v.m.</description>
+ <description xml:lang="es">Las aplicaciones incluyen los paquetes de ofimática, los visualizadores de PDF y mucho más.</description>
+ <description xml:lang="fr">Les applications comprennent des suites de bureau, des afficheurs PDF et bien plus encore.</description>
+ <description xml:lang="is">Forritin innihalda meðal annars skrifstofutól, PDF sjár og fleira.</description>
+ <description xml:lang="it">Le applicazioni includono pacchetti per l&apos;ufficio, programmi per visualizzare i PDF e altro.</description>
+ <description xml:lang="ja">アプリケーションã«ã¯ã€ã‚ªãƒ•ã‚£ã‚¹ã‚»ãƒƒãƒˆã€PDFビューアåŠã³ãã®ä»–ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ ì‘ìš© í”„ë¡œê·¸ëž¨ì€ ì‚¬ë¬´ìš© 프로그램 모ìŒ, PDF 보기 프로그램 ë“±ì„ í¬í•¨í•©ë‹ˆë‹¤.</description>
+ <description xml:lang="no">Applikasjonene innerholder kontorstøtteprogrammer, PDV-lesere og mer.</description>
+ <description xml:lang="pt">As aplicações incluem pacotes de escritório, visualizadores de PDF e outros.</description>
+ <description xml:lang="ru">Эта группа включает в ÑÐµÐ±Ñ Ð¾Ñ„Ð¸Ñные приложениÑ: редакторы текÑта, программы Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра PDF файлов, и проч.</description>
+ <description xml:lang="sv">Programmen inkluderar sviter med kontorsprogramvara, PDF-visare, med mera.</description>
+ <description xml:lang="zh_CN">包括的应用程åºæœ‰åŠžå…¬å¥—件ã€PDF 查看器等等。</description>
+ <description xml:lang="zh_TW">應用程å¼åŒ…括了辦公室套è£è»Ÿé«”ã€PDF 檢視器等等。</description>
+ <uservisible>true</uservisible>
+ <default>true</default>
+ <grouplist>
+ <groupreq>base-x</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="default">openoffice</packagereq>
+ <packagereq type="default">xpdf</packagereq>
+ <packagereq type="optional">MagicPoint</packagereq>
+ <packagereq type="optional">abiword</packagereq>
+ <packagereq type="optional">ggv</packagereq>
+ <packagereq type="optional">gnumeric</packagereq>
+ <packagereq type="optional">gnucash</packagereq>
+ <packagereq type="default">mrproject</packagereq>
+ <packagereq type="optional">kdepim-pilot</packagereq>
+ <packagereq type="optional">koffice</packagereq>
+ <packagereq type="optional">kdvi</packagereq>
+ <packagereq type="optional">kghostview</packagereq>
+ <packagereq type="optional">kfax</packagereq>
+ <packagereq type="optional">tetex-xdvi</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>mail-server</id>
+ <name>Mail Server</name>
+ <name xml:lang="cs">Poštovní server</name>
+ <name xml:lang="da">Postserver</name>
+ <name xml:lang="de">Mail-Server</name>
+ <name xml:lang="es">Servidor de correo </name>
+ <name xml:lang="fr">Serveur de courrier</name>
+ <name xml:lang="is">Póstþjónn</name>
+ <name xml:lang="it">Server Mail</name>
+ <name xml:lang="ja">メールサーãƒ</name>
+ <name xml:lang="ko">ë©”ì¼ ì„œë²„</name>
+ <name xml:lang="no">Eposttjener</name>
+ <name xml:lang="pt">Servidor de Mail</name>
+ <name xml:lang="ru">Сервер Ñлектронной почты</name>
+ <name xml:lang="sv">E-postserver</name>
+ <name xml:lang="zh_CN">邮件æœåŠ¡å™¨</name>
+ <name xml:lang="zh_TW">郵件伺æœå™¨</name>
+ <description>These packages allow you to configure an IMAP or Postfix mail server.</description>
+ <description xml:lang="cs">Tyto balíÄky Vám umožní nakonfigurovat server IMAP nebo poÅ¡tovní server Postfix.</description>
+ <description xml:lang="da">Disse pakker lader dig konfigurere en IMAP- eller Postfix-postserver.</description>
+ <description xml:lang="de">Mit diesen Paketen können Sie einen IMAP oder Postfix Mail-Server konfigurieren.</description>
+ <description xml:lang="es">Estos paquetes le permiten configurar un servidor de correo IMAP o Postfix.</description>
+ <description xml:lang="fr">Ces paquetages vous permettent de configurer un serveur de courrier IMAP ou Postfix.</description>
+ <description xml:lang="is">Þessir pakkar gera þér kleyft að setja upp IMAP eða Postfix pósthús.</description>
+ <description xml:lang="it">Questi pacchetti consentono di configurare un server di posta IMAP o Postfix.</description>
+ <description xml:lang="ja">ã“れらã®ãƒ‘ッケージã§ã€IMAP ã‹ Postfixメールサーãƒã‚’設定ã§ãã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ íŒ¨í‚¤ì§€ëŠ” IMAPê³¼ Postfix ë©”ì¼ ì„œë²„ ì„¤ì •ì„ ë„와ì¤ë‹ˆë‹¤.</description>
+ <description xml:lang="no">Disse pakkene lar deg konfigurere en IMAP eller Postfix eposttjener.</description>
+ <description xml:lang="pt">Este pacotes permitem-lhe configurar os servidores de mail IMAP ou Postfix.</description>
+ <description xml:lang="ru">Эти пакеты позволÑÑŽÑ‚ наÑтроить почтовый Ñервер IMAP или Postfix.</description>
+ <description xml:lang="sv">Dessa paket låter dig konfigurera en IMAP- eller Postfix-epostserver.</description>
+ <description xml:lang="zh_CN">这些软件包å…许您é…ç½® IMAP 或 Postfix 邮件æœåŠ¡å™¨ã€‚</description>
+ <description xml:lang="zh_TW">這些套件讓您å¯ä»¥è¨­å®šä¸€å€‹ IMAP 或 Postfix 郵件伺æœå™¨ã€‚</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">sendmail</packagereq>
+ <packagereq type="default">imap</packagereq>
+ <packagereq type="optional">sendmail-cf</packagereq>
+ <packagereq type="optional">mailman</packagereq>
+ <packagereq type="optional">spamassassin</packagereq>
+ <packagereq type="optional">squirrelmail</packagereq>
+ <packagereq type="optional">postfix</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>network-server</id>
+ <name>Network Servers</name>
+ <name xml:lang="cs">Síťové servery</name>
+ <name xml:lang="da">Netværksservere</name>
+ <name xml:lang="de">Netzwerk-Server</name>
+ <name xml:lang="es">Servidores de red</name>
+ <name xml:lang="fr">Serveur de réseau</name>
+ <name xml:lang="is">Netþjónustur</name>
+ <name xml:lang="it">Server di rete</name>
+ <name xml:lang="ja">ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚µãƒ¼ãƒ</name>
+ <name xml:lang="ko">ë„¤íŠ¸ì›Œí¬ ì„œë²„</name>
+ <name xml:lang="no">Nettverkstjener</name>
+ <name xml:lang="pt">Servidores de Rede</name>
+ <name xml:lang="ru">Сетевые Ñерверы</name>
+ <name xml:lang="sv">Nätverksservrar</name>
+ <name xml:lang="zh_CN">网络æœåŠ¡å™¨</name>
+ <name xml:lang="zh_TW">網路伺æœå™¨</name>
+ <description>These packages include network-based servers such as CIPE, DHCP, and telnet.</description>
+ <description xml:lang="cs">Tyto balíÄky zahrnují síťové servery jako CIPE, DHCP a telnet.</description>
+ <description xml:lang="da">Disse pakker inkluderer netværksbaserede servere som fx CIPE, DHCP og telnet.</description>
+ <description xml:lang="de">Diese Pakete enthalten netzwerkbasierte Server wie CIPE, DHCP und telnet.</description>
+ <description xml:lang="es">Estos paquetes incluyen servidores basados en la red tales como CIPE, DHCP, y telnet.</description>
+ <description xml:lang="fr">Ces paquetages comprennent des serveurs basés sur réseau comme CIPE, DHCP et telnet.</description>
+ <description xml:lang="is">Þessir pakkar innihalda netþjónustur eins og CIPE, DHCP og telnet.</description>
+ <description xml:lang="it">Questi pacchetti includono server network-based quali CIPE, DHCP e telnet.</description>
+ <description xml:lang="ja">ã“れらã®ãƒ‘ッケージã«ã¯ã€CIPE, DHCP, ã‚„ telnetãªã©ã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ™ãƒ¼ã‚¹ã®ã‚µãƒ¼ãƒãŒ å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ íŒ¨í‚¤ì§€ì—는 CIPE, DHCP, telnetê³¼ ê°™ì€ ë„¤íŠ¸ì›Œí¬-기반 서버가 í¬í•¨ë˜ì–´ 있습니다.</description>
+ <description xml:lang="no">Disse pakkene inkluderer nettverks-baserte tjenester som CIPE, DHCP og telnet.</description>
+ <description xml:lang="pt">Estes pacotes incluem servdores de rede como o CIPE, DHCP e telnet.</description>
+ <description xml:lang="ru">Эти пакеты включают в ÑÐµÐ±Ñ Ñ‚Ð°ÐºÐ¸Ðµ Ñетевые ÑервиÑÑ‹, как CIPE, DHCP и telet</description>
+ <description xml:lang="sv">Dessa paket inkluderar nätverksbaserade servrar som exempelvis CIPE, DHCP och telnet.</description>
+ <description xml:lang="zh_CN">这些软件包包括基于网络的æœåŠ¡å™¨ï¼Œä¾‹å¦‚ CIPEã€DHCPã€å’Œ telnet。</description>
+ <description xml:lang="zh_TW">這些套件包括網路為主的伺æœå™¨ï¼Œä¾‹å¦‚ CIPE, DHCP 與 telnet。</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional">amanda-server</packagereq>
+ <packagereq type="optional">am-utils</packagereq>
+ <packagereq type="default">cipe</packagereq>
+ <packagereq type="optional">dhcp</packagereq>
+ <packagereq type="default">finger-server</packagereq>
+ <packagereq type="optional">krb5-server</packagereq>
+ <packagereq type="default">pxe</packagereq>
+ <packagereq type="optional">radvd</packagereq>
+ <packagereq type="default">rsh-server</packagereq>
+ <packagereq type="default">talk-server</packagereq>
+ <packagereq type="default">telnet-server</packagereq>
+ <packagereq type="default">ypserv</packagereq>
+ <packagereq type="optional">zebra</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>news-server</id>
+ <name>News Server</name>
+ <name xml:lang="cs">News server</name>
+ <name xml:lang="da">Nyhedsgruppesserver</name>
+ <name xml:lang="de">News-Server</name>
+ <name xml:lang="es">Servidor de noticias</name>
+ <name xml:lang="fr">Serveur de news</name>
+ <name xml:lang="is">Fréttaþjónn</name>
+ <name xml:lang="it">Server news</name>
+ <name xml:lang="ja">ニュースサーãƒ</name>
+ <name xml:lang="ko">뉴스 서버</name>
+ <name xml:lang="no">News-tjenere</name>
+ <name xml:lang="pt">Servidor de News</name>
+ <name xml:lang="ru">Сервер новоÑтей</name>
+ <name xml:lang="sv">Diskussionsgruppsserver</name>
+ <name xml:lang="zh_CN">æ–°é—»æœåŠ¡å™¨</name>
+ <name xml:lang="zh_TW">æ–°èžä¼ºæœå™¨</name>
+ <description>This group allows you to configure the system as a news server.</description>
+ <description xml:lang="cs">Tato skupina Vám umožní nakonfigurovat poÄítaÄ jako news server.</description>
+ <description xml:lang="da">Denne gruppe lader dig konfigurere systemet som en nyhedsgruppesserver.</description>
+ <description xml:lang="de">Mit dieser Gruppe können Sie das System als News-Server konfigurieren.</description>
+ <description xml:lang="es">Este grupo le permite configurar el sistema como un servidor nuevo.</description>
+ <description xml:lang="fr">Ce groupe vous permet de configurer le système comme nouveau serveur.</description>
+ <description xml:lang="is">Þessi tól gera þér kleyft að stilla vélina sem news þjón.</description>
+ <description xml:lang="it">Questo gruppo consente di configurare il sistema come server news.</description>
+ <description xml:lang="ja">ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã§ã€ãƒ‹ãƒ¥ãƒ¼ã‚¹ã‚µãƒ¼ãƒã¨ã—ã¦ã‚·ã‚¹ãƒ†ãƒ ã‚’設定ã§ãã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ ê·¸ë£¹ì„ ì‚¬ìš©í•˜ì—¬ ì‹œìŠ¤í…œì„ ë‰´ìŠ¤ 서버로 설정하실 수 있습니다.</description>
+ <description xml:lang="no">Disse verktøyene lar deg kjøre en news-tjener på systemet.</description>
+ <description xml:lang="pt">Este grupo permite-lhe configurar o sistema como um servidor de notícias.</description>
+ <description xml:lang="ru">Эта группа позволÑет иÑпользовать ÑиÑтему как Ñервер новоÑтей.</description>
+ <description xml:lang="sv">Denna grupp låter dig konfigurera systemet som en diskussionsgruppsserver.</description>
+ <description xml:lang="zh_CN">这组软件包å…许您把系统é…ç½®æˆæ–°é—»æœåŠ¡å™¨ã€‚</description>
+ <description xml:lang="zh_TW">這個群組讓您å¯ä»¥è¨­å®šç³»çµ±ç‚ºä¸€éƒ¨æ–°èžä¼ºæœå™¨ã€‚</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">inn</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>smb-server</id>
+ <name>Windows File Server</name>
+ <name xml:lang="cs">Souborový server pro Windows</name>
+ <name xml:lang="da">Windows-filserver</name>
+ <name xml:lang="de">Windows Datei-Server</name>
+ <name xml:lang="es">Servidor de ficheros Windows</name>
+ <name xml:lang="fr">Serveur de fichier Windows</name>
+ <name xml:lang="is">Skráaþjónn fyrir Windows</name>
+ <name xml:lang="it">File server Windows</name>
+ <name xml:lang="ja">Windowsファイルサーãƒ</name>
+ <name xml:lang="ko">Windows íŒŒì¼ ì„œë²„</name>
+ <name xml:lang="no">Filtjener for Windows</name>
+ <name xml:lang="pt">Servidor de Ficheiros Windows</name>
+ <name xml:lang="ru">Файловый Ñервер Ð´Ð»Ñ Windows</name>
+ <name xml:lang="sv">Windows-filserver</name>
+ <name xml:lang="zh_CN">Windows 文件æœåŠ¡å™¨</name>
+ <name xml:lang="zh_TW">Windows 檔案伺æœå™¨</name>
+ <description>This package group allows you to share files between Linux and MS Windows(tm) systems.</description>
+ <description xml:lang="cs">Tato skupina balíÄků Vám umožní sdílet soubory mezi systémy Linux a MS Windows (tm).</description>
+ <description xml:lang="da">Denne pakkegruppe lader dig dele filer mellem Linux og system med MS Windows(tm).</description>
+ <description xml:lang="de">Mit dieser Paketgruppe können Sie Dateien in Linux und MS Windows (tm) gemeinsam nutzen.</description>
+ <description xml:lang="es">Este grupo de paquetes le permite compartir ficheros entre los sistemas Linux y MS Windows (tm).</description>
+ <description xml:lang="fr">Ce groupe de paquetages vous permet de partager des fichiers entre les systèmes Linux et Windows (m).</description>
+ <description xml:lang="is">Þessi pakkahópur gerir þér kleyft að skiptast á skrám milli Linux og MS Windows véla.</description>
+ <description xml:lang="it">Questo gruppo di pacchetti consente di condividere i file tra sistemi Linux e MS Windows(tm).</description>
+ <description xml:lang="ja">ã“ã®ãƒ‘ッケージグループã§ã€Linux 㨠MS Windows(tm) システムã®é–“ã§ãƒ•ã‚¡ã‚¤ãƒ«ã‚’共有 ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ íŒ¨í‚¤ì§€ ê·¸ë£¹ì„ ì‚¬ìš©í•˜ì—¬ Linux와 MS Windows (tm) 시스템 사ì´ì—ì„œ 파ì¼ì„ 공유할 수 있습니다.</description>
+ <description xml:lang="no">Denne pakkegruppen lar deg dele filer mellom Linux og MS Windows(tm)-systemer.</description>
+ <description xml:lang="pt">Este grupo de pacotes permite-lhe partilhar os ficheiros entre os sistemas Linux e MS Windows (tm).</description>
+ <description xml:lang="ru">Эта группа пакетов делает возможным доÑтуп к файлам между ÑиÑтемами Linux и MS Windows(tm).</description>
+ <description xml:lang="sv">Denna paketgrupp låter dig dela ut filer mellan Linux och system med MS Windows(tm).</description>
+ <description xml:lang="zh_CN">该软件包组å…许您在 Linux å’Œ MS Windows(tm) 系统间共享文件。</description>
+ <description xml:lang="zh_TW">這個套件群組使您å¯ä»¥åœ¨ Linux 與 MS Windows (tm) 系統間共享檔案。</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">samba-client</packagereq>
+ <packagereq type="mandatory">samba</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>server-cfg</id>
+ <name>Server Configuration Tools</name>
+ <name xml:lang="cs">Nástroje pro konfiguraci serveru</name>
+ <name xml:lang="da">Serverkonfigurationsværktøjer</name>
+ <name xml:lang="de">Server Konfigurationstools</name>
+ <name xml:lang="es">Herramientas de configuración del servidor</name>
+ <name xml:lang="fr">Outils de configuration de serveur</name>
+ <name xml:lang="is">Stillingatól fyrir þjóna</name>
+ <name xml:lang="it">Tool di configurazione del server</name>
+ <name xml:lang="ja">サーãƒè¨­å®šãƒ„ール</name>
+ <name xml:lang="ko">서버 설정 ë„구</name>
+ <name xml:lang="no">Konfigurasjonsverktøy for tjenere</name>
+ <name xml:lang="pt">Ferramentas de Configuração de Servidores</name>
+ <name xml:lang="ru">СредÑтва наÑтройки Ñервера</name>
+ <name xml:lang="sv">Serverkonfigurationsverktyg</name>
+ <name xml:lang="zh_CN">æœåŠ¡å™¨é…置工具</name>
+ <name xml:lang="zh_TW">伺æœå™¨è¨­å®šå·¥å…·</name>
+ <description>This group contains all of Red Hat's custom server configuration tools.</description>
+ <description xml:lang="cs">Tato skupina obsahuje vÅ¡echny nástroje pro konfiguraci serveru od spoleÄnosti Red Hat.</description>
+ <description xml:lang="da">Denne gruppe indholder alle Red Hats specialtilpassede serverkonfigureringsværktøjer.</description>
+ <description xml:lang="de">Diese Gruppe enthält alle Tools für die benutzerdefinierte Konfiguration des Servers von Red Hat.</description>
+ <description xml:lang="es">Este grupo contiene todas las herramientas de configuración del servidor de personalización de Red Hat.</description>
+ <description xml:lang="fr">Ce groupe contient tous les outils de configuration du serveur personnalisé Red Hat.</description>
+ <description xml:lang="is">Þessi hópur inniheldur öll Red Hat stillingatólin.</description>
+ <description xml:lang="it">Questo gruppo contiene tutti gli strumenti per personalizzare la configurazione del server Red Hat.</description>
+ <description xml:lang="ja">ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã¯ã€å…¨ã¦ã®Red Hatカスタムサーãƒè¨­å®šãƒ„ールãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ ê·¸ë£¹ì—는 Red Hatì˜ ì‚¬ìš©ìž ì„¤ì • 서버 설정 ë„구가 ëª¨ë‘ í¬í•¨ë˜ì–´ 있습니다.</description>
+ <description xml:lang="no">Denne gruppen inneholder Red Hats konfigurasjonsverktøy.</description>
+ <description xml:lang="pt">Este grupo contém todas as ferramentas de configuração de servidores da Red Hat.</description>
+ <description xml:lang="ru">Эта группа включает в ÑÐµÐ±Ñ Ð²Ñе ÑредÑтва админиÑÑ‚Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñервера, напиÑанные в Red Hat.</description>
+ <description xml:lang="sv">Denna grupp innehåller alla Red Hats specialanpassade serverkonfigurationsverktyg.</description>
+ <description xml:lang="zh_CN">这组软件包包å«æ‰€æœ‰ Red Hat 的定制æœåŠ¡å™¨é…置工具。</description>
+ <description xml:lang="zh_TW">這個群組包括所有 Red Hat 自訂的伺æœå™¨è¨­å®šå·¥å…·ã€‚</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="default">redhat-config-bind</packagereq>
+ <packagereq type="default">redhat-config-httpd</packagereq>
+ <packagereq type="default">redhat-config-nfs</packagereq>
+ <packagereq type="default">redhat-config-network</packagereq>
+ <packagereq type="default">redhat-config-printer</packagereq>
+ <packagereq type="default">redhat-config-printer-gui</packagereq>
+ <packagereq type="default">redhat-config-securitylevel</packagereq>
+ <packagereq type="default">redhat-config-services</packagereq>
+ <packagereq type="default">redhat-switch-printer</packagereq>
+ <packagereq type="default">redhat-switch-printer-gnome</packagereq>
+ <packagereq type="default">redhat-switchmail</packagereq>
+ <packagereq type="default">redhat-switchmail-gnome</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>ftp-server</id>
+ <name>FTP Server</name>
+ <name xml:lang="cs">FTP server</name>
+ <name xml:lang="da">FTP-server</name>
+ <name xml:lang="de">FTP-Server</name>
+ <name xml:lang="es">Servidor FTP</name>
+ <name xml:lang="fr">Serveur FTP</name>
+ <name xml:lang="is">FTP þjónn</name>
+ <name xml:lang="it">Server FTP</name>
+ <name xml:lang="ja">FTP サーãƒ</name>
+ <name xml:lang="ko">FTP 서버</name>
+ <name xml:lang="no">FTP-tjener</name>
+ <name xml:lang="pt">Servidor FTP</name>
+ <name xml:lang="ru">Сервер FTP</name>
+ <name xml:lang="sv">FTP-server</name>
+ <name xml:lang="zh_CN">FTP æœåŠ¡å™¨</name>
+ <name xml:lang="zh_TW">FTP 伺æœå™¨</name>
+ <description>These tools allow you to run an FTP server on the system.</description>
+ <description xml:lang="cs">Tyto nástroje Vám umožní na poÄítaÄi provozovat FTP server.</description>
+ <description xml:lang="da">Disse værktøjer lader dig køre en FTP-server på systemet.</description>
+ <description xml:lang="de">Mit diesen Tools können Sie einen FTP-Server im System ausführen.</description>
+ <description xml:lang="es">Estas herramientas le permiten ejecutar un servidor FTP en el sistema.</description>
+ <description xml:lang="fr">Ces outils vous permettent d&apos;exécuter un serveur FTP sur le système. </description>
+ <description xml:lang="is">Þessi tól gera þér kleyft að keyra FTP þjón á vélinni.</description>
+ <description xml:lang="it">Questi strumenti consentono di eseguire un server FTP sul sistema.</description>
+ <description xml:lang="ja">ã“れらã®ãƒ„ールã§ã‚·ã‚¹ãƒ†ãƒ ä¸Šã®FTPサーãƒã‚’実行ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ ë„구를 사용하여 시스템 ìƒì—ì„œ FTP 서버를 ìš´ì˜í•˜ì‹¤ 수 있습니다.</description>
+ <description xml:lang="no">Disse verktøyene lar deg kjøre en ftp-tjener på systemet.</description>
+ <description xml:lang="pt">Estas ferramentas permitem-lhe correr um servidor FTP no seu computador.</description>
+ <description xml:lang="ru">Эти ÑредÑтва позволÑÑŽÑ‚ иÑпользовать ÑиÑтему как Ñервер FTP.</description>
+ <description xml:lang="sv">Dessa verktyg låter dig köra en FTP-server på systemet.</description>
+ <description xml:lang="zh_CN">这些工具å…许您在系统上è¿è¡Œ FTP æœåŠ¡å™¨ã€‚</description>
+ <description xml:lang="zh_TW">這些工具讓您å¯ä»¥åœ¨ç³»çµ±ä¸ŠåŸ·è¡Œä¸€å€‹ FTP 伺æœå™¨ã€‚</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">anonftp</packagereq>
+ <packagereq type="mandatory">vsftpd</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>sql-server</id>
+ <name>SQL Database Server</name>
+ <name xml:lang="cs">Databázový server SQL</name>
+ <name xml:lang="da">SQL-databaseserver</name>
+ <name xml:lang="de">SQL Datenbank-Server</name>
+ <name xml:lang="es">Servidor de la base de datos SQL</name>
+ <name xml:lang="fr">Serveur de base de données SQL</name>
+ <name xml:lang="is">SQL gagnagrunnur</name>
+ <name xml:lang="it">Server per database SQL</name>
+ <name xml:lang="ja">SQLデータベースサーãƒ</name>
+ <name xml:lang="ko">SQL ë°ì´í„°ë² ì´ìŠ¤ 서버</name>
+ <name xml:lang="no">Database-tjener</name>
+ <name xml:lang="pt">Servidor de Base de Dados SQL</name>
+ <name xml:lang="ru">Сервер базы данных SQL</name>
+ <name xml:lang="sv">SQL-databasserver</name>
+ <name xml:lang="zh_CN">SQL æ•°æ®åº“æœåŠ¡å™¨</name>
+ <name xml:lang="zh_TW">SQL 資料庫伺æœå™¨</name>
+ <description>This package group allows you to run an SQL server on the system.</description>
+ <description xml:lang="cs">Tato skupina balíÄků Vám umožní na poÄítaÄi provozovat SQL server.</description>
+ <description xml:lang="da">Denne pakkegruppe lader dig køre en SQL-server på systemet.</description>
+ <description xml:lang="de">Mit dieser Paketgruppe können Sie einen SQL-Server im System ausführen.</description>
+ <description xml:lang="es">Este grupo de paquetes le permite ejecutar un servidor SQL en el sistema. </description>
+ <description xml:lang="fr">Ce groupe de paquetages vous permet d&apos;exécuter un serveur SQL sur le système.</description>
+ <description xml:lang="is">Þessi pakkahópur gerir þér kleyft að keyra SQL þjónustu.</description>
+ <description xml:lang="it">Questo gruppo di pacchetti consente di eseguire un server SQL sul sistema.</description>
+ <description xml:lang="ja">ã“ã®ãƒ‘ッケージグループã§ã€ã‚·ã‚¹ãƒ†ãƒ ä¸Šã®SQLサーãƒã‚’実行ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ íŒ¨í‚¤ì§€ ê·¸ë£¹ì„ ì‚¬ìš©í•˜ì—¬ 시스템 ìƒì—ì„œ SQL 서버를 ìš´ì˜í•˜ì‹¤ 수 있습니다.</description>
+ <description xml:lang="no">Denne pakkegruppen lar deg kjøre en database-tjenere på systemet.</description>
+ <description xml:lang="pt">Este grupo de pacotes permite-lhe correr um servidor SQL no seu sistema.</description>
+ <description xml:lang="ru">Ð’ Ñту группу включены различные SQL Ñерверы.</description>
+ <description xml:lang="sv">Denna paketgrupp låter dig köra en SQL-server på systemet.</description>
+ <description xml:lang="zh_CN">该软件包组å…许您在系统上è¿è¡Œ SQL æœåŠ¡å™¨ã€‚</description>
+ <description xml:lang="zh_TW">這個套件群組讓您å¯ä»¥åœ¨ç³»çµ±ä¸ŠåŸ·è¡Œä¸€éƒ¨ SQL 伺æœå™¨ã€‚</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">postgresql-server</packagereq>
+ <packagereq type="mandatory">unixODBC</packagereq>
+ <packagereq type="mandatory">perl-DBD-Pg</packagereq>
+ <packagereq type="mandatory">perl-DB_File</packagereq>
+ <packagereq type="optional">mysql-server</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>web-server</id>
+ <name>Web Server</name>
+ <name xml:lang="cs">WWW server</name>
+ <name xml:lang="da">Webserver</name>
+ <name xml:lang="de">Web-Server</name>
+ <name xml:lang="es">Servidor Web</name>
+ <name xml:lang="fr">Serveur Web</name>
+ <name xml:lang="is">Vefþjónn</name>
+ <name xml:lang="it">Server Web</name>
+ <name xml:lang="ja">Webサーãƒ</name>
+ <name xml:lang="ko">웹 서버</name>
+ <name xml:lang="no">Webtjener</name>
+ <name xml:lang="pt">Servidor Web</name>
+ <name xml:lang="ru">Веб-Ñервер</name>
+ <name xml:lang="sv">Webbserver</name>
+ <name xml:lang="zh_CN">万维网æœåŠ¡å™¨</name>
+ <name xml:lang="zh_TW">網é ä¼ºæœå™¨</name>
+ <description>These tools allow you to run a Web server on the system.</description>
+ <description xml:lang="cs">Tyto nástroje Vám umožní na poÄítaÄi provozovat WWW server.</description>
+ <description xml:lang="da">Disse værktøjer lader dig køre en webserver på systemet.</description>
+ <description xml:lang="de">Mit diesen Tools können Sie einen Web-Server im System ausführen.</description>
+ <description xml:lang="es">Estas herramientas le permiten ejecutar un servidor Web en el sistema.</description>
+ <description xml:lang="fr">Ces outils vous permettent d&apos;exécuter un serveur Web sur le système.</description>
+ <description xml:lang="is">Þessi tól gera þér kleyft að keyra vefþjón á vélinni.</description>
+ <description xml:lang="it">Questi strumenti consentono di eseguire un server Web sul sistema.</description>
+ <description xml:lang="ja">ã“れらã®ãƒ„ールã§ã‚·ã‚¹ãƒ†ãƒ ä¸Šã®Webサーãƒã‚’実行ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ ë„구를 사용하여 시스템 ìƒì—ì„œ 웹서버를 ìš´ì˜í•˜ì‹¤ 수 있습니다.</description>
+ <description xml:lang="no">Disse verktøyene lar deg kjøre en web-tjener på systemet.</description>
+ <description xml:lang="pt">Estas ferramentas permitem-lhe correr um servidor Web no seu computador.</description>
+ <description xml:lang="ru">Эти ÑредÑтва позволÑÑŽÑ‚ иÑпользовать ÑиÑтему как Веб-Ñервер</description>
+ <description xml:lang="sv">Dessa verktyg låter dig köra en webbserver på systemet.</description>
+ <description xml:lang="zh_CN">这些工具å…许您在系统生è¿è¡Œä¸‡ç»´ç½‘æœåŠ¡å™¨ã€‚</description>
+ <description xml:lang="zh_TW">這些工具讓您å¯ä»¥åœ¨ç³»çµ±ä¸ŠåŸ·è¡Œä¸€å€‹ç¶²é ä¼ºæœå™¨ã€‚</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">httpd</packagereq>
+ <packagereq type="mandatory">httpd-manual</packagereq>
+ <packagereq type="default">hwcrypto</packagereq>
+ <packagereq type="default">mod_python</packagereq>
+ <packagereq type="default">mod_perl</packagereq>
+ <packagereq type="default">mod_ssl</packagereq>
+ <packagereq type="default">php</packagereq>
+ <packagereq type="default">php-imap</packagereq>
+ <packagereq type="default">php-ldap</packagereq>
+ <packagereq type="optional">php-pgsql</packagereq>
+ <packagereq type="optional">mod_auth_pgsql</packagereq>
+ <packagereq type="default">squid</packagereq>
+ <packagereq type="default">tux</packagereq>
+ <packagereq type="default">webalizer</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>dns-server</id>
+ <name>DNS Name Server</name>
+ <name xml:lang="cs">Jmenný server DNS</name>
+ <name xml:lang="da">DNS-navneserver</name>
+ <name xml:lang="de">DNS Name-Server</name>
+ <name xml:lang="es">Servidor del nombre DNS</name>
+ <name xml:lang="fr">Nom de serveur DNS</name>
+ <name xml:lang="is">DNS nafnaþjónn</name>
+ <name xml:lang="it">Nome server DNS</name>
+ <name xml:lang="ja">DNSãƒãƒ¼ãƒ ã‚µãƒ¼ãƒ</name>
+ <name xml:lang="ko">DNS ì´ë¦„ 서버</name>
+ <name xml:lang="no">DNS-tjener</name>
+ <name xml:lang="pt">Servidor de Nomes DNS</name>
+ <name xml:lang="ru">Сервер DNS</name>
+ <name xml:lang="sv">DNS-namnserver</name>
+ <name xml:lang="zh_CN">DNS å称æœåŠ¡å™¨</name>
+ <name xml:lang="zh_TW">DNS å稱伺æœå™¨</name>
+ <description>This package group allows you to run a DNS name server (BIND) on the system.</description>
+ <description xml:lang="cs">Tato skupina balíÄků Vám umožní na poÄítaÄi provozovat jmenný server DNS (BIND).</description>
+ <description xml:lang="da">Denne pakkegruppe lader dig køre en DNS-navneserver (BIND) på systemet.</description>
+ <description xml:lang="de">Mit dieser Paketgruppe können Sie einen DNS Name-Server (BIND) im System ausführen.</description>
+ <description xml:lang="es">Este paquete le permite ejecutar un servidor de nombre DNS (BIND) en el sistema.</description>
+ <description xml:lang="fr">Ce groupe de paquetages vous permet d&apos;exécuter un nom de serveur DNS (BIND) sur le système.</description>
+ <description xml:lang="is">Þessi pakkahópur gerir þér kleyft að keyra DNS nafnaþjón (BIND) á vélinni þinni.</description>
+ <description xml:lang="it">Questo gruppo di pacchetti consente di eseguire un name server DNS (BIND) sul sistema.</description>
+ <description xml:lang="ja">ã“ã®ãƒ‘ッケージグループã§ã€ã‚·ã‚¹ãƒ†ãƒ ä¸Šã®DNSãƒãƒ¼ãƒ ã‚µãƒ¼ãƒ(BIND)を実行ã§ãã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ íŒ¨í‚¤ì§€ ê·¸ë£¹ì„ ì‚¬ìš©í•˜ì—¬ 시스템 ìƒì—ì„œ DNS ì´ë¦„ 서버 (BIND)를 ìš´ì˜í•˜ì‹¤ 수 있습니다.</description>
+ <description xml:lang="no">Denne pakkegruppen lar deg kjøre en DNS-tjener (BIND) på systemet.</description>
+ <description xml:lang="pt">Este grupo de pacotes permite-lhe correr um servidor de nomes de DNS (o BIND) no sistema.</description>
+ <description xml:lang="ru">Пакеты в Ñтой группе позволÑÑ‚ вам уÑтановить и наÑтроить DNS (BIND).</description>
+ <description xml:lang="sv">Denna paketgrupp låter dig köra en DNS-namnserver (BIND) på systemet.</description>
+ <description xml:lang="zh_CN">该软件包组å…许您在系统上è¿è¡Œ DNS å称æœåŠ¡å™¨(BIND)。</description>
+ <description xml:lang="zh_TW">這個套件群組讓您å¯ä»¥åœ¨ç³»çµ±ä¸ŠåŸ·è¡Œä¸€éƒ¨ DNS å稱伺æœå™¨ (BIND)。</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="default">caching-nameserver</packagereq>
+ <packagereq type="mandatory">bind</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>authoring-and-publishing</id>
+ <name>Authoring and Publishing</name>
+ <name xml:lang="cs">Tvoření a publikování</name>
+ <name xml:lang="da">Forfatterskab og publicering</name>
+ <name xml:lang="de">Authoring und Publishing</name>
+ <name xml:lang="es">Autorización y publicación</name>
+ <name xml:lang="fr">Authoring et Publishing</name>
+ <name xml:lang="is">Umbrot og ritstörf</name>
+ <name xml:lang="it">Authoring e publishing</name>
+ <name xml:lang="ja">著作ã¨ç™ºè¡Œ</name>
+ <name xml:lang="ko">제작과 출íŒ</name>
+ <name xml:lang="no">Tekstpublisering</name>
+ <name xml:lang="pt">Autoria e Publicação</name>
+ <name xml:lang="ru">Подготовка публикаций</name>
+ <name xml:lang="sv">Författande och publicering</name>
+ <name xml:lang="zh_CN">授æƒå’Œå‡ºç‰ˆ</name>
+ <name xml:lang="zh_TW">編寫與出版</name>
+ <description>These tools allow you to create documentation in the DocBook format and convert them to HTML, PDF, Postscript, and text.</description>
+ <description xml:lang="cs">Tyto nástroje Vám umožní vytvářet dokumentaci ve formátu DocBook a konvertovat ji do HTML, PDF, Postscriptu a textu.</description>
+ <description xml:lang="da">Disse værktøjer lader dig skabe dokumentation i DocBook-formatet og konvertere dem til HTML, PDF, Postscript og tekst.</description>
+ <description xml:lang="de">Mit diesen Tools können Sie Dokumentation im DocBook Format anlegen und diese in die Formate HTML, PDF, Postscript und Text konvertieren.</description>
+ <description xml:lang="es">Estas herramientas le permiten crear documentación en formato DocBook y convertirla a HTML, PDF, Postscript y texto.</description>
+ <description xml:lang="fr">Ces outils vous permettent de créer de la documentation sous format DocBook et de la convertir en HTML, PDF, Postscript et texte.</description>
+ <description xml:lang="is">Þessi tól gera þér kleyft að búa til skjöl á DocBook sniði og breyta þeim í HTML, PDF, Postscript og texta.</description>
+ <description xml:lang="it">Questi strumenti consentono di creare documenti in formato DocBook e di convertirli in HTML, PDF, Postscript e testo.</description>
+ <description xml:lang="ja">ã“れらã®ãƒ„ールã§ã€DocBookå½¢å¼ã§æ–‡æ›¸ã‚’作æˆã—ã¦ã€ãれらをHTML, PDF, Postscript, åŠã³ textã¸å¤‰æ›ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚.</description>
+ <description xml:lang="ko">ì´ ë„구를 사용하여 DocBook 형ì‹ì˜ 문서를 ìƒì„±í•˜ì‹¤ 수 있으며 ìƒì„±ëœ 문서를 HTML, PDF, Postscript와 í…스트 형ì‹ìœ¼ë¡œ 변환하실 수 있습니다.</description>
+ <description xml:lang="no">Disse verktøyene lar deg lage dokumentasjon i DocBook-formatet og konvertere dem til HTML, PDF, Postscript og tekst.</description>
+ <description xml:lang="pt">Estas ferramentas permitem-lhe criar a documentação no formato DocBook e convertê-la para HTML, PDF, PostScript e texto.</description>
+ <description xml:lang="ru">Эти ÑредÑтва позволÑÑŽÑ‚ Ñоздавать документацию в формате DocBook и преобразовывать в HTML, PDF, Postscript и текÑÑ‚.</description>
+ <description xml:lang="sv">Dessa verktyg låter dig skapa dokumentation i DocBook-formatet och konvertera dem till HTML, PDF, Postscript och text.</description>
+ <description xml:lang="zh_CN">这些软件包å…许您创建 DocBook æ ¼å¼çš„文档,并将它们转æ¢æˆ HTML〠PDFã€Postscript 和文本格å¼ã€‚</description>
+ <description xml:lang="zh_TW">這些工具讓您å¯ä»¥å»ºç«‹ DocBook æ ¼å¼çš„說明文件,並且 將它們轉æ›ç‚º HTML, PDF, Postscript 與文字。</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">docbook-dtds</packagereq>
+ <packagereq type="mandatory">docbook-style-dsssl</packagereq>
+ <packagereq type="mandatory">docbook-utils</packagereq>
+ <packagereq type="mandatory">docbook-utils-pdf</packagereq>
+ <packagereq type="mandatory">linuxdoc-tools</packagereq>
+ <packagereq type="mandatory">tetex</packagereq>
+ <packagereq type="mandatory">tetex-afm</packagereq>
+ <packagereq type="default">tetex-xdvi</packagereq>
+ <packagereq type="optional">tetex-latex</packagereq>
+ <packagereq type="mandatory">xmlto</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>engineering-and-scientific</id>
+ <name>Engineering and Scientific</name>
+ <name xml:lang="cs">Vědecké nástroje</name>
+ <name xml:lang="da">Ingeniør- og naturvidenskab</name>
+ <name xml:lang="de">Engineering und Wissenschaft</name>
+ <name xml:lang="es">Ingeniería y científico</name>
+ <name xml:lang="fr">Engineering et Scientifique</name>
+ <name xml:lang="is">Vísindi og verkfræði</name>
+ <name xml:lang="it">Settori engineering e scientifico</name>
+ <name xml:lang="ja">技術系ã¨ç§‘学系</name>
+ <name xml:lang="ko">공학과 과학</name>
+ <name xml:lang="no">Vitenskapelige programmer</name>
+ <name xml:lang="pt">Engenharia e Ciência</name>
+ <name xml:lang="ru">Ðаучные и инженерные</name>
+ <name xml:lang="sv">Konstruktion och forskning</name>
+ <name xml:lang="zh_CN">工程和科学</name>
+ <name xml:lang="zh_TW">工程與科學</name>
+ <description>This group includes packages for performing mathematical and scientific computations and plotting, as well as unit conversion.</description>
+ <description xml:lang="cs">Tato skupina obsahuje balíÄky pro provádÄ›ní matematických a vÄ›deckých výpoÄtů, tvorbu grafů a pÅ™evod mezi jednotkami.</description>
+ <description xml:lang="da">Denne gruppe indeholder pakker for udførsel af matematiske og videnskabelige beregninger og diagramtegning såvel som enhedskonvertering.</description>
+ <description xml:lang="de">Diese Gruppe enthält Pakete für mathematische und wissenschaftliche Berechnungen und Plotting sowie die Konversion von Einheiten.</description>
+ <description xml:lang="es">El grupo incluye paquetes para ejecutar cálculos matemáticos y científicos y trazados, así como la conversión de la unidad.</description>
+ <description xml:lang="fr">Ce groupe comprend les paquetages pour exécuter des calculs mathématiques et scientifiques, le traçage et la conversion des unités.</description>
+ <description xml:lang="is">Þessi hópur inniheldur pakka til að framkvæma stærðfræði og vísindaútreikninga ásamt tólum til að umbreyta milli eininga.</description>
+ <description xml:lang="it">Questo gruppo include i pacchetti per l&apos;esecuzione e il plotting di operazioni matematiche e scientifiche, nonché la conversione di unità.</description>
+ <description xml:lang="ja">ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã¯ã€ãƒ¦ãƒ‹ãƒƒãƒˆå¤‰æ›ã¨å…±ã«ã€æ•°å­¦çš„åŠã³ç§‘学的ãªæ¼”ç®—ã¨ãƒ—ロッティングを 実践ã™ã‚‹ç‚ºã®ãƒ‘ッケージãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ ê·¸ë£¹ì€ ë‹¨ìœ„ 변환 ê¸°ëŠ¥ì„ ë¹„ë¡¯í•˜ì—¬ 수학 계산과 과학 ê³„ì‚°ì„ ìˆ˜í–‰í•˜ê³  출력하는 패키지를 í¬í•¨í•©ë‹ˆë‹¤.</description>
+ <description xml:lang="no">Denne gruppen inneholder pakker for å utføre matematiske og vitenskapelige beregninger/visualiseringer samt enhetskonverteringer.</description>
+ <description xml:lang="pt">Este grupo inclui os pacotes para efecutar cálculos matemáticos e científicos, apresentá-los e efectuar a conversão de unidades.</description>
+ <description xml:lang="ru">Эта группа Ñодержит Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¼Ð°Ñ‚ÐµÐ¼Ð°Ñ‚Ð¸Ñ‡ÐµÑких и прочих научных вычиÑлений и преобразований.</description>
+ <description xml:lang="sv">Denna grupp inkluderar paket för utförande av matematiska och vetenskapliga beräkningar och diagramritning såväl som enhetskonvertering.</description>
+ <description xml:lang="zh_CN">这组软件包包括用æ¥æ‰§è¡Œæ•°å­¦å’Œç§‘学计算ã€ç»˜å›¾ã€ä»¥åŠè®¡é‡å•ä½è½¬æ¢çš„软件包。</description>
+ <description xml:lang="zh_TW">這個群組包括的套件å¯ç”¨ä¾†åŸ·è¡Œæ•¸å­¸èˆ‡ç§‘學的計算與繪圖,以åŠå–®ä½çš„æ›ç®—。</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional">blas</packagereq>
+ <packagereq type="default">gnuplot</packagereq>
+ <packagereq type="optional">lam</packagereq>
+ <packagereq type="optional">lapack</packagereq>
+ <packagereq type="default">octave</packagereq>
+ <packagereq type="optional">pvm</packagereq>
+ <packagereq type="default">units</packagereq>
+ </packagelist>
+ </group>
+
+
+ <group>
+ <id>editors</id>
+ <name>Editors</name>
+ <name xml:lang="cs">Editory</name>
+ <name xml:lang="da">Tekstredigering</name>
+ <name xml:lang="de">Editoren</name>
+ <name xml:lang="es">Editores</name>
+ <name xml:lang="fr">Editeurs</name>
+ <name xml:lang="is">Ritlar</name>
+ <name xml:lang="it">Editor</name>
+ <name xml:lang="ja">エディタ</name>
+ <name xml:lang="ko">편집기</name>
+ <name xml:lang="no">Editorer</name>
+ <name xml:lang="pt">Editores</name>
+ <name xml:lang="ru">Редакторы</name>
+ <name xml:lang="sv">Textredigerare</name>
+ <name xml:lang="zh_CN">编辑器</name>
+ <name xml:lang="zh_TW">編輯器</name>
+ <description>Sometimes called text editors, these are programs that allow you to create and edit files. These include Emacs and Vi.</description>
+ <description xml:lang="cs">NÄ›kdy oznaÄované jako textové editory, tyto programy Vám umožní vytvářet a upravovat soubory. Tato skupina zahrnuje Emacs a Vi.</description>
+ <description xml:lang="da">Dette er programmer som lader dig skabe og redigere filer, og de kaldes ofte for tekstredigerere. Disse inkluderer Emacs og Vi.</description>
+ <description xml:lang="de">Diese auch Text-Editoren genannten Programme ermöglichen das Anlegen und Bearbeiten von Dateien. Dazu gehören Emacs und Vi.</description>
+ <description xml:lang="es">Existen programas que permiten crear y modificar ficheros, a veces llamados editores de texto. Estos incluyen Emacs y Vi.</description>
+ <description xml:lang="fr">Parfois appelés éditeurs de texte, ces programmes vous permettent de créer et d&apos;éditer des fichiers. Ils comprennent Emacs et Vi.</description>
+ <description xml:lang="is">Forrit sem kallast ritlar. Þetta eru tólin sem gera þér kleyft að búa til og breyta skrám. Þetta inniheldur meðal annars Emacs og Vi.</description>
+ <description xml:lang="it">Talvolta definiti editor di testo, questi programmi consentono di creare emodificare i file. Sono inclusi Emacs e Vi.</description>
+ <description xml:lang="ja">時ã«ã¯ãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿ã¨å‘¼ã°ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’作æˆã¨ç·¨é›†ã§ãるプログラム㌠ã‚ã‚Šã¾ã™ã€‚ã“れらã«ã¯Emacs 㨠ViãŒå«ã¾ã‚Œã¾ã™ã€‚</description>
+ <description xml:lang="ko">ê°€ë”씩 í…스트 편집기ë¼ê³ ë„ 불리우는 ì´ í”„ë¡œê·¸ëž¨ì€ íŒŒì¼ì„ ìƒì„±í•˜ê³  íŽ¸ì§‘í•˜ëŠ”ë° ì‚¬ìš©ë©ë‹ˆë‹¤. ì´ëŸ¬í•œ 프로그램ì—는 Emacs와 Viê°€ í¬í•¨ë©ë‹ˆë‹¤.</description>
+ <description xml:lang="no">Disse programmene, ofte kalt teksteditorer, lar deg lage og redigere filer. Emacs og Vi er inkludert her.</description>
+ <description xml:lang="pt">Normalmente chamados editores de texto, estes programas permite-lhe criar e editar ficheiros. Inclui o Emacs e o Vi.</description>
+ <description xml:lang="ru">Эти программы, иногда называемые текÑтовыми редакторами, позволÑÑŽÑ‚ редактировать текÑÑ‚Ñ‹. Включают Emacs and Vi.</description>
+ <description xml:lang="sv">Detta är program som låter dig skapa och redigera filer, och kallas ofta textredigerare. Dessa inkluderar Emacs och Vi.</description>
+ <description xml:lang="zh_CN">有时å«åšæ–‡æœ¬ç¼–辑器。它们是å…许您创建和编辑文件的程åºã€‚包括 Emacs å’Œ Vi。</description>
+ <description xml:lang="zh_TW">這些是讓您å¯ä»¥å»ºç«‹èˆ‡ç·¨è¼¯æª”案的程å¼ï¼Œæœ‰æ™‚候稱為文字編輯器。 這些包括了 Emacs 與 Vi。</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ <metapkg type="default">emacs</metapkg>
+ <metapkg type="optional">xemacs</metapkg>
+ </grouplist>
+ <packagelist>
+ <packagereq type="default">vim-enhanced</packagereq>
+ </packagelist>
+ </group>
+
+
+ <group>
+ <id>emacs</id>
+ <name>Emacs</name>
+ <name xml:lang="cs">Emacs</name>
+ <name xml:lang="da">Emacs</name>
+ <name xml:lang="de">Emacs</name>
+ <name xml:lang="es">Emacs</name>
+ <name xml:lang="fr">Emacs</name>
+ <name xml:lang="is">Emacs</name>
+ <name xml:lang="it">Emacs</name>
+ <name xml:lang="ja">Emacs</name>
+ <name xml:lang="ko">Emacs</name>
+ <name xml:lang="no">Emacs</name>
+ <name xml:lang="pt">Emacs</name>
+ <name xml:lang="ru">Emacs</name>
+ <name xml:lang="sv">Emacs</name>
+ <name xml:lang="zh_CN">Emacs</name>
+ <name xml:lang="zh_TW">Emacs</name>
+ <description>The GNU Emacs text editor.</description>
+ <description xml:lang="cs">Textový editor GNU Emacs.</description>
+ <description xml:lang="da">Tekstredigereren GNU Emacs.</description>
+ <description xml:lang="de">Der Text-Editor GNU Emacs.</description>
+ <description xml:lang="es">Editor de textos Emacs de GNU.</description>
+ <description xml:lang="fr">Editeur de texte GNU Emacs.</description>
+ <description xml:lang="is">GNU Emacs ritillinn.</description>
+ <description xml:lang="it">Editor di testo GNU Emacs.</description>
+ <description xml:lang="ja">GNU Emacsテキストエディタ</description>
+ <description xml:lang="ko">GNU Emacs í…스트 편집기.</description>
+ <description xml:lang="no">Teksteditoren GNU Emacs.</description>
+ <description xml:lang="pt">O editor de texto GNU Emacs.</description>
+ <description xml:lang="ru">ТекÑтовый редактор GNU Emacs.</description>
+ <description xml:lang="sv">Textredigeraren GNU Emacs.</description>
+ <description xml:lang="zh_CN">GNU Emacs 文本编辑器</description>
+ <description xml:lang="zh_TW">GNU Emacs 文字編輯器。</description>
+ <uservisible>false</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">emacs</packagereq>
+ <packagereq type="mandatory">emacs-leim</packagereq>
+ <packagereq type="default">psgml</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>xemacs</id>
+ <name>XEmacs</name>
+ <name xml:lang="cs">XEmacs</name>
+ <name xml:lang="da">XEmacs</name>
+ <name xml:lang="de">XEmacs</name>
+ <name xml:lang="es">XEmacs</name>
+ <name xml:lang="fr">XEmacs</name>
+ <name xml:lang="is">XEmacs</name>
+ <name xml:lang="it">XEmacs</name>
+ <name xml:lang="ja">XEmacs</name>
+ <name xml:lang="ko">XEmacs</name>
+ <name xml:lang="no">XEmacs</name>
+ <name xml:lang="pt">XEmacs</name>
+ <name xml:lang="ru">XEmacs</name>
+ <name xml:lang="sv">XEmacs</name>
+ <name xml:lang="zh_CN">XEmacs</name>
+ <name xml:lang="zh_TW">XEmacs</name>
+ <description>The XEmacs text editor.</description>
+ <description xml:lang="cs">Textový editor XEmacs.</description>
+ <description xml:lang="da">Tekstredigereren XEmacs.</description>
+ <description xml:lang="de">Der Text-Editor XEmacs.</description>
+ <description xml:lang="es">Editor de textos de XEmacs.</description>
+ <description xml:lang="fr">Editeur de texte XEmacs.</description>
+ <description xml:lang="is">XEmacs ritillinn.</description>
+ <description xml:lang="it">Editor di testo XEmacs.</description>
+ <description xml:lang="ja">XEmacsテキストエディタ</description>
+ <description xml:lang="ko">XEmacs í…스트 편집기.</description>
+ <description xml:lang="no">Teksteditoren XEmacs.</description>
+ <description xml:lang="pt">O editor de texto XEmacs.</description>
+ <description xml:lang="ru">ТекÑтовый редактор XEmacs</description>
+ <description xml:lang="sv">Textredigeraren XEmacs.</description>
+ <description xml:lang="zh_CN">XEmacs 文本编辑器</description>
+ <description xml:lang="zh_TW">XEmacs 文字編輯器。</description>
+ <uservisible>false</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">xemacs</packagereq>
+ <packagereq type="mandatory">xemacs-el</packagereq>
+ <packagereq type="default">xemacs-info</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>system-tools</id>
+ <name>System Tools</name>
+ <name xml:lang="cs">Systémové nástroje</name>
+ <name xml:lang="da">Systemværktøjer</name>
+ <name xml:lang="de">Systemtools</name>
+ <name xml:lang="es">Herramientas del sistema </name>
+ <name xml:lang="fr">Outils de système</name>
+ <name xml:lang="is">Kerfistól</name>
+ <name xml:lang="it">Tool di sistema</name>
+ <name xml:lang="ja">システムツールã€</name>
+ <name xml:lang="ko">시스템 ë„구</name>
+ <name xml:lang="no">Systemverktøy</name>
+ <name xml:lang="pt">Ferramentas do Sistema</name>
+ <name xml:lang="ru">СиÑтемные ÑредÑтва</name>
+ <name xml:lang="sv">Systemverktyg</name>
+ <name xml:lang="zh_CN">系统工具</name>
+ <name xml:lang="zh_TW">系統工具</name>
+ <description>This group is a collection of various tools for the system, such as the client for connecting to SMB shares and tools to monitor network traffic.</description>
+ <description xml:lang="cs">Tato skupina je soubor různých systémových nástrojů, např. klient pro připojení ke svazkům SMB a nástroje pro sledování síťového provozu.</description>
+ <description xml:lang="da">Denne gruppe er en samling med diverse værktøjer til systemet, som fx klienten for tilslutning til SMB-delinger og værktøjer for overvågning af netværkstrafik.</description>
+ <description xml:lang="de">Diese Gruppe bietet eine Reihe Systemtools wie beispielsweise den Client für die Verbindung zu SMB-Shares sowie Tools für die Kontrolle des Netzwerkverkehrs.</description>
+ <description xml:lang="es">Este grupo es una colección de varias herramientas para el sistema, tales como el cliente para conectarse a las particiones SMB y herramientas para monitorizar el tráfico de redes. </description>
+ <description xml:lang="fr">Ce groupe est un ensemble de différents outils pour le système, ainsi qu&apos;un client pour la connexion aux parts SMB et d&apos;outils permettant de gérer le trafic dans le réseau. </description>
+ <description xml:lang="is">Þessi hópur inniheldur safn kerfistóla eins og til dæmis tól til að tengjast SMB deildum og tól til að fylgjast með umferð á neti.</description>
+ <description xml:lang="it">Questo gruppo è una raccolta di vari strumenti per il sistema, che comprende ilclient per la connessione alle partizioni SMB e gli strumenti per monitorare il traffico di rete.</description>
+ <description xml:lang="ja">ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¯ã€SMB共有ã¸æŽ¥ç¶šã™ã‚‹ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚„ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯é€šä¿¡é‡ã‚’モニタã™ã‚‹ ツールãªã©ã®ã‚·ã‚¹ãƒ†ãƒ ç”¨ã®å„種ツールã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã§ã™ã€‚</description>
+ <description xml:lang="ko">ì´ ê·¸ë£¹ì€ SMB ê³µìœ ì— ì ‘ì†í•˜ëŠ”ë° ì‚¬ìš©ë˜ëŠ” í´ë¼ì´ì–¸íŠ¸ì™€ ë„¤íŠ¸ì›Œí¬ ì†Œí†µëŸ‰ì„ ê°ì‹œí•˜ëŠ” ë„구와 ê°™ì€ ë‹¤ì–‘í•œ 시스템 ë„구 모ìŒìž…니다.</description>
+ <description xml:lang="no">Denne gruppen er en samling av ulike systemverktøy, som oppkobling mot SMB-ressurser og nettverksovervåkning.</description>
+ <description xml:lang="pt">Este grupo é uma colecção de ferramentas para o sistema, tal como o cliente para se ligar a partilhas de SMB e as ferramentas para monitorizar o tráfego de rede.</description>
+ <description xml:lang="ru">Эта группа Ñодержит различные ÑиÑтемные утилиты: например, Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð´Ð¾Ñтупа к SMB Ñерверам, и программы Ð´Ð»Ñ Ð¼Ð¾Ð½Ð¸Ñ‚Ð¾Ñ€Ð¸Ð½Ð³Ð° Ñетевого траффика.</description>
+ <description xml:lang="sv">Denna grupp är en samling med diverse verktyg för systemet, som exempelvis klienten för anslutning till SMB-utdelningar och verktyg för övervakning av nätverkstrafik.</description>
+ <description xml:lang="zh_CN">这组软件包是å„类系统工具的集åˆï¼Œè­¬å¦‚:连接 SMB 共享的客户;监控网络交通的工具。</description>
+ <description xml:lang="zh_TW">這個群組是系統上許多種工具的收集,例如用來連線到 SMB 共享的用戶端, 以åŠç”¨ä¾†ç›£è¦–網路æµé‡çš„工具。</description>
+ <uservisible>true</uservisible>
+ <packagelist>
+ <packagereq type="optional">amanda-client</packagereq>
+ <packagereq type="default">ethereal</packagereq>
+ <packagereq type="optional">ethereal-gnome</packagereq>
+ <packagereq type="optional">gnome-lokkit</packagereq>
+ <packagereq type="default">nmap</packagereq>
+ <packagereq type="optional">nmap-frontend</packagereq>
+ <packagereq type="optional">rdesktop</packagereq>
+ <packagereq type="default">samba-client</packagereq>
+ <packagereq type="optional">shapecfg</packagereq>
+ <packagereq type="optional">vnc</packagereq>
+ <packagereq type="default">xdelta</packagereq>
+ <packagereq type="optional">mc</packagereq>
+ <packagereq type="default">screen</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>admin-tools</id>
+ <name>Administration Tools</name>
+ <name xml:lang="cs">Nástroje pro administraci</name>
+ <name xml:lang="da">Administrationsværktøjer</name>
+ <name xml:lang="de">Verwaltungstools</name>
+ <name xml:lang="es">Herramientas de administración</name>
+ <name xml:lang="fr">Outils d&apos;administration</name>
+ <name xml:lang="is">Kerfisstjórnunartól</name>
+ <name xml:lang="it">Strumenti amministrativi</name>
+ <name xml:lang="ja">管ç†ãƒ„ール</name>
+ <name xml:lang="ko">관리 ë„구</name>
+ <name xml:lang="no">Administrasjonsverktøy</name>
+ <name xml:lang="pt">Ferramentas de Administração</name>
+ <name xml:lang="ru">СредÑтва админиÑтрированиÑ</name>
+ <name xml:lang="sv">Administrationsverktyg</name>
+ <name xml:lang="zh_CN">管ç†å·¥å…·</name>
+ <name xml:lang="zh_TW">管ç†å·¥å…·</name>
+ <description>This group is a collection of graphical administration tools for the system, such as for managing user accounts and configuring system hardware.</description>
+ <description xml:lang="cs">Tato skupina je soubor grafických nástrojů administrace, napÅ™. pro správu uživatelských úÄtů a nastavení hardware poÄítaÄe.</description>
+ <description xml:lang="da">Denne gruppe er en samling grafiske administrationsværktøjer for systemet, som fx behandling af brugerkonti og konfiguration af systemudstyr.</description>
+ <description xml:lang="de">Diese Gruppe bietet eine Reihe von grafische Verwaltungstools für das System, darunter Tools für die Verwaltung von Benutzeraccounts und die Konfiguration der Systemhardware.</description>
+ <description xml:lang="es">Este grupo es una colección de herramientas de administración gráficas, tales como cuentas de usuario de gestión y configuración del hardware del sistema.</description>
+ <description xml:lang="fr">Ce groupe est un ensemble d&apos;outils d&apos;administration graphique pour le système, ainsi que pour la gestion des comptes utilisateurs et la configuration du matériel système.</description>
+ <description xml:lang="is">Þessi hópur inniheldur safn myndrænna kerfisstjórnunartóla fyrir vélina eins og til dæmis tól til að vinna með notendur og stilla vélbúnað.</description>
+ <description xml:lang="it">Questo gruppo è una raccolta di tool per la gestione della grafica del sistema, che consente di gestire gli account utente e di configurare l&apos;hardware di sistema.</description>
+ <description xml:lang="ja">ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’管ç†ã—ãŸã‚Šã€ã‚·ã‚¹ãƒ†ãƒ ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚’設定ã—ãŸã‚Šã™ã‚‹ システムã®ç‚ºã®ã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ«ç®¡ç†ãƒ„ールã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã§ã™ã€‚</description>
+ <description xml:lang="ko">ì´ ê·¸ë£¹ì€ ì‚¬ìš©ìž ê³„ì •ì„ ê´€ë¦¬í•˜ê³  시스템 하드웨어를 설정하는 그래픽 시스템 관리 ë„구 모ìŒìž…니다. </description>
+ <description xml:lang="no">Denne gruppen er en samling av grafiske administrasjonsverktøy for systemet, inkludert brukeradministrasjon og hardwarekonfigurering.</description>
+ <description xml:lang="pt">Este grupo é uma colecção de ferramentas gráficas de administração para o sistema, tal como a gestão das contas de utilizadores e configurar o &apos;hardware&apos; do sistema.</description>
+ <description xml:lang="ru">Эта группа Ñодержит графичеÑкие Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð½Ð°Ñтройки ÑиÑтемы. С помощью Ñтих приложений можно добавить новых пользователей, наÑтроить звук, разрешение Ñкрана, и проч.</description>
+ <description xml:lang="sv">Denna grupp är en samling grafiska administrationsverktyg för systemet, som exempelvis hantering av användarkonton och konfiguration av systemhårdvara.</description>
+ <description xml:lang="zh_CN">这组软件包包括一个系统图形化管ç†å·¥å…·çš„集åˆï¼Œè­¬å¦‚:管ç†ç”¨æˆ·å¸å·å’Œé…置系统硬件。</description>
+ <description xml:lang="zh_TW">這個群組是系統中圖形管ç†å·¥å…·çš„收集,例如用來管ç†ä½¿ç”¨è€…帳號與 設定系統硬體。</description>
+ <uservisible>true</uservisible>
+ <packagelist>
+ <packagereq type="default">authconfig-gtk</packagereq>
+ <packagereq type="default">redhat-config-date</packagereq>
+ <packagereq type="default">redhat-config-keyboard</packagereq>
+ <packagereq type="default">redhat-config-kickstart</packagereq>
+ <packagereq type="default">redhat-config-language</packagereq>
+ <packagereq type="default">redhat-config-mouse</packagereq>
+ <packagereq type="default">redhat-config-rootpassword</packagereq>
+ <packagereq type="default">redhat-config-soundcard</packagereq>
+ <packagereq type="default">redhat-config-users</packagereq>
+ <packagereq type="default">redhat-config-packages</packagereq>
+ <packagereq type="default">redhat-config-proc</packagereq>
+ <packagereq type="default">redhat-logviewer</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>games</id>
+ <name>Games and Entertainment</name>
+ <name xml:lang="cs">Hry a zábava</name>
+ <name xml:lang="da">Spil og underholdning</name>
+ <name xml:lang="de">Spiele und Zeitvertreib</name>
+ <name xml:lang="es">Juegos y entretenimiento</name>
+ <name xml:lang="fr">Jeux et Divertissements</name>
+ <name xml:lang="is">Leikir og skemmtun</name>
+ <name xml:lang="it">Giochi e divertimento</name>
+ <name xml:lang="ja">ゲームã¨å¨¯æ¥½</name>
+ <name xml:lang="ko">게임과 오ë½</name>
+ <name xml:lang="no">Spill og underholdning</name>
+ <name xml:lang="pt">Jogos e Entretenimento</name>
+ <name xml:lang="ru">Игры и развлечениÑ</name>
+ <name xml:lang="sv">Spel och underhållning</name>
+ <name xml:lang="zh_CN">游æˆå’Œå¨±ä¹</name>
+ <name xml:lang="zh_TW">éŠæˆ²èˆ‡å¨›æ¨‚</name>
+ <description>Various ways to relax and spend your free time.</description>
+ <description xml:lang="cs">Různé způsoby, jak relaxovat a trávit volný Äas.</description>
+ <description xml:lang="da">Diverse måder at slappe af og bruge fritiden.</description>
+ <description xml:lang="de">Verschiedene Möglichkeiten zur Entspannung und zum Zeitvertreib.</description>
+ <description xml:lang="es">Maneras de relajarse y pasar el tiempo libre.</description>
+ <description xml:lang="fr">Différentes manières de vous relaxer et de passer le temps.</description>
+ <description xml:lang="is">Ãmslegt til að slappa af yfir og eyða lausum tíma.</description>
+ <description xml:lang="it">Vari modi per rilassarsi e passare il tempo libero.</description>
+ <description xml:lang="ja">リラックスã—ã¦æš‡ãªæ™‚é–“ã‚’éŽã”ã™ã„ã‚ã„ã‚ãªæ–¹æ³•</description>
+ <description xml:lang="ko">휴ì‹ì„ 취하면서 여가 ì‹œê°„ì„ ë³´ë‚¼ 수 있는 다양한 방법.</description>
+ <description xml:lang="no">Forskjellige måter å slappe av og fordrive fritiden.</description>
+ <description xml:lang="pt">Várias maneiras de relaxar e passar o seu tempo livre.</description>
+ <description xml:lang="ru">Различные ÑпоÑобы раÑÑлабитьÑÑ Ð¸ провеÑти Ñвободное времÑ.</description>
+ <description xml:lang="sv">Diverse sätt att slappna av och fördriva ledig tid.</description>
+ <description xml:lang="zh_CN">放æ¾å’Œæ‰“å‘时间的途径。</description>
+ <description xml:lang="zh_TW">許多種讓您放鬆以åŠæ¶ˆç£¨æ™‚間的方法。</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>base</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">fortune-mod</packagereq>
+ <packagereq type="mandatory">joystick</packagereq>
+ <packagereq type="default">Maelstrom</packagereq>
+ <packagereq type="default">chromium</packagereq>
+ <packagereq type="default">freeciv</packagereq>
+ <packagereq type="default">tuxracer</packagereq>
+ <packagereq type="default">xboard</packagereq>
+ <packagereq type="default">gnome-games</packagereq>
+ <packagereq type="default">kdegames</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>ISO8859-2-support</id>
+ <name>ISO8859-2 Support</name>
+ <name xml:lang="cs">Podpora pro ISO8859-2</name>
+ <name xml:lang="da">Understøttelse for ISO8-859-2</name>
+ <name xml:lang="de">ISO8859-2 Support</name>
+ <name xml:lang="es">Soporte ISO8859-2</name>
+ <name xml:lang="fr">Support ISO8859-2 </name>
+ <name xml:lang="is">ISO8859-2 stuðningur</name>
+ <name xml:lang="it">Supporto ISO8859-2</name>
+ <name xml:lang="ja">ISO8859-2 サãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">ISO8859-2 지ì›</name>
+ <name xml:lang="no">Støtte for ISO8859-2</name>
+ <name xml:lang="pt">Suporte a ISO8859-2</name>
+ <name xml:lang="ru">Поддержка ISO8859-2</name>
+ <name xml:lang="sv">Stöd för ISO8859-2</name>
+ <name xml:lang="zh_CN">ISO8859-2 支æŒ</name>
+ <name xml:lang="zh_TW">ISO8859-2 支æ´</name>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="mandatory">fonts-ISO8859-2</packagereq>
+ <packagereq type="mandatory">fonts-ISO8859-2-75dpi</packagereq>
+ <packagereq type="mandatory">fonts-ISO8859-2-100dpi</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>ISO8859-9-support</id>
+ <name>ISO8859-9 Support</name>
+ <name xml:lang="cs">Podpora pro ISO8859-9</name>
+ <name xml:lang="da">Understøttelse for ISO-8859-9</name>
+ <name xml:lang="de">ISO8859-9 Support</name>
+ <name xml:lang="es">Soporte ISO8859-9</name>
+ <name xml:lang="fr">Support ISO8859-9 </name>
+ <name xml:lang="is">ISO8859-9 stuðningur</name>
+ <name xml:lang="it">Supporto ISO8859-9</name>
+ <name xml:lang="ja">ISO8859-9 サãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">ISO8859-9 지ì›</name>
+ <name xml:lang="no">Støtte for ISO8859-9</name>
+ <name xml:lang="pt">Suporte a ISO8859-9</name>
+ <name xml:lang="ru">Поддержка ISO8859-9</name>
+ <name xml:lang="sv">Stöd för ISO8859-9</name>
+ <name xml:lang="zh_CN">ISO8859-9 支æŒ</name>
+ <name xml:lang="zh_TW">ISO8859-9 支æ´</name>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="mandatory">XFree86-ISO8859-9-75dpi-fonts</packagereq>
+ <packagereq type="mandatory">XFree86-ISO8859-9-100dpi-fonts</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>cyrillic-support</id>
+ <uservisible>false</uservisible>
+ <name>Cyrillic Support</name>
+ <name xml:lang="cs">Podpora pro azbuku</name>
+ <name xml:lang="da">Understøttelse for kyrillisk alfabet</name>
+ <name xml:lang="de">Support für Kyrillisch</name>
+ <name xml:lang="es">Soporte para el cirílico</name>
+ <name xml:lang="fr">Support cyrillique</name>
+ <name xml:lang="is">Kýrílíska</name>
+ <name xml:lang="it">Supporto per il cirillico</name>
+ <name xml:lang="ja">シリル語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">키릴 ë¬¸ìž ì§€ì›</name>
+ <name xml:lang="no">Støtte for kyrillisk</name>
+ <name xml:lang="pt">Suporte a Cirilico</name>
+ <name xml:lang="ru">Поддержка кириллицы</name>
+ <name xml:lang="sv">Stöd för kyrilliskt alfabet</name>
+ <name xml:lang="zh_CN">西里尔语支æŒ</name>
+ <name xml:lang="zh_TW">斯拉夫語支æ´</name>
+ <packagelist>
+ <packagereq type="mandatory">XFree86-cyrillic-fonts</packagereq>
+ <packagereq type="mandatory">fonts-KOI8-R</packagereq>
+ <packagereq type="mandatory">fonts-KOI8-R-100dpi</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>british-support</id>
+ <uservisible>false</uservisible>
+ <name>British Support</name>
+ <name xml:lang="cs">Podpora pro angliÄtinu (Velká Británie)</name>
+ <name xml:lang="da">Understøttelse for britisk engelsk</name>
+ <name xml:lang="de">Support für Englisch (Großbritannien)</name>
+ <name xml:lang="es">Soporte para el inglés británico</name>
+ <name xml:lang="fr">Support anglais</name>
+ <name xml:lang="is">Breska</name>
+ <name xml:lang="it">Supporto per l&apos;inglese britannico</name>
+ <name xml:lang="ja">英国語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">ì˜êµ­ì‹ ì˜ì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for britisk</name>
+ <name xml:lang="pt">Suporte a Inglês Britânico</name>
+ <name xml:lang="ru">Поддержка британÑкого английÑкого</name>
+ <name xml:lang="sv">Stöd för brittisk engelska</name>
+ <name xml:lang="zh_CN">英å¼è‹±è¯­æ”¯æŒ</name>
+ <name xml:lang="zh_TW">英å¼è‹±æ–‡æ”¯æ´</name>
+ <langonly>en_GB</langonly>
+ <packagelist>
+ <packagereq type="mandatory">aspell-en-gb</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-British</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>canadian-support</id>
+ <uservisible>false</uservisible>
+ <name>Canadian Support</name>
+ <name xml:lang="cs">Podpora pro angliÄtinu (Kanada)</name>
+ <name xml:lang="da">Understøttelse for canadisk engelsk</name>
+ <name xml:lang="de">Support für Englisch (Kanada)</name>
+ <name xml:lang="es">Soporte para el francés de Canadá</name>
+ <name xml:lang="fr">Support canadien</name>
+ <name xml:lang="is">Canadíska</name>
+ <name xml:lang="it">Supporto per il canadese</name>
+ <name xml:lang="ja">カナダ英語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">ìºë‚˜ë‹¤ì‹ ì˜ì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for kanadisk</name>
+ <name xml:lang="pt">Suporte a Canadiano</name>
+ <name xml:lang="ru">Поддержка канадÑкого английÑкого</name>
+ <name xml:lang="sv">Stöd för kanadensisk engelska</name>
+ <name xml:lang="zh_CN">加拿大å¼è‹±è¯­æ”¯æŒ</name>
+ <name xml:lang="zh_TW">加拿大英文支æ´</name>
+ <langonly>en_CA</langonly>
+ <packagelist>
+ <packagereq type="mandatory">aspell-en-ca</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>catalan-support</id>
+ <uservisible>false</uservisible>
+ <name>Catalan Support</name>
+ <name xml:lang="cs">Podpora pro katalánštinu</name>
+ <name xml:lang="da">Understøttelse for katalansk</name>
+ <name xml:lang="de">Support für Spanisch (Katalanien)</name>
+ <name xml:lang="es">Soporte para el catalán</name>
+ <name xml:lang="fr">Support catalan</name>
+ <name xml:lang="is">Catalónska</name>
+ <name xml:lang="it">Supporto per il catalano</name>
+ <name xml:lang="ja">カタルーニャ語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">카탈로니아어 지ì›</name>
+ <name xml:lang="no">Støtte for katalansk</name>
+ <name xml:lang="pt">Suporte a Catalão</name>
+ <name xml:lang="ru">Поддержка каталонÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för katalanska</name>
+ <name xml:lang="zh_CN">加泰隆语支æŒ</name>
+ <name xml:lang="zh_TW">加泰隆語支æ´</name>
+ <langonly>ca</langonly>
+ <packagelist>
+ <packagereq type="mandatory">aspell-ca</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Catalan</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>brazilian-support</id>
+ <uservisible>false</uservisible>
+ <name>Brazilian Support</name>
+ <name xml:lang="cs">Podpora pro portugalštinu (Brazílie)</name>
+ <name xml:lang="da">Understøttelse for brasiliansk portugisisk</name>
+ <name xml:lang="de">Support für Portugiesisch (Brasilien)</name>
+ <name xml:lang="es">Soporte para el brasileño</name>
+ <name xml:lang="fr">Support brésilien</name>
+ <name xml:lang="is">Brasílíska</name>
+ <name xml:lang="it">Supporto per il brasiliano</name>
+ <name xml:lang="ja">ブラジル語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">브ë¼ì§ˆì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for portugisisk(Brasil)</name>
+ <name xml:lang="pt">Suporte a Português do Brasil</name>
+ <name xml:lang="ru">Поддержка бразильÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för brasiliansk portugisiska</name>
+ <name xml:lang="zh_CN">巴西语支æŒ</name>
+ <name xml:lang="zh_TW">巴西å¼è‘¡è„牙語支æ´</name>
+ <langonly>pt_BR</langonly>
+ <grouplist>
+ <groupreq>portuguese-support</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">aspell-pt_BR</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Brazil</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>czech-support</id>
+ <uservisible>false</uservisible>
+ <name>Czech Support</name>
+ <name xml:lang="cs">Podpora pro ÄeÅ¡tinu</name>
+ <name xml:lang="da">Understøttelse for tjekkisk</name>
+ <name xml:lang="de">Support für Tschechisch</name>
+ <name xml:lang="es">Soporte para el checo</name>
+ <name xml:lang="fr">Support tchèque</name>
+ <name xml:lang="is">Tjékkneska</name>
+ <name xml:lang="it">Supporto per il ceco</name>
+ <name xml:lang="ja">ãƒã‚§ã‚³èªžã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">체코어 지ì›</name>
+ <name xml:lang="no">Støtte for tsjekkisk</name>
+ <name xml:lang="pt">Suporte a Checo</name>
+ <name xml:lang="ru">Поддержка чешÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för tjeckiska</name>
+ <name xml:lang="zh_CN">æ·å…‹è¯­æ”¯æŒ</name>
+ <name xml:lang="zh_TW">æ·å…‹èªžæ”¯æ´</name>
+ <langonly>cz</langonly>
+ <grouplist>
+ <groupreq>ISO8859-2-support</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Czech</packagereq>
+ <packagereq type="mandatory">man-pages-cs</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>danish-support</id>
+ <uservisible>false</uservisible>
+ <name>Danish Support</name>
+ <name xml:lang="cs">Podpora pro dánštinu</name>
+ <name xml:lang="da">Understøttelse for dansk</name>
+ <name xml:lang="de">Support für Dänisch</name>
+ <name xml:lang="es">Soporte para el danés</name>
+ <name xml:lang="fr">Support danois</name>
+ <name xml:lang="is">Danska</name>
+ <name xml:lang="it">Supporto per il danese</name>
+ <name xml:lang="ja">デンマーク語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">ë´ë§ˆí¬ì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for dansk</name>
+ <name xml:lang="pt">Suporte a Dinamarquês</name>
+ <name xml:lang="ru">Поддержка датÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för danska</name>
+ <name xml:lang="zh_CN">丹麦语支æŒ</name>
+ <name xml:lang="zh_TW">丹麥語支æ´</name>
+ <langonly>da_DK</langonly>
+ <packagelist>
+ <packagereq type="mandatory">aspell-da</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Danish</packagereq>
+ <packagereq type="mandatory">man-pages-da</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>dutch-support</id>
+ <uservisible>false</uservisible>
+ <name>Dutch Support</name>
+ <name xml:lang="cs">Podpora holandštiny</name>
+ <name xml:lang="da">Understøttelse for hollandsk</name>
+ <name xml:lang="de">Support für Holländisch</name>
+ <name xml:lang="es">Soporte para el holandés</name>
+ <name xml:lang="fr">Support hollandais</name>
+ <name xml:lang="is">Hollenska</name>
+ <name xml:lang="it">Supporto per l&apos;olandese</name>
+ <name xml:lang="ja">オランダ語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">네ë¸ëž€ë“œì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for nederlandsk</name>
+ <name xml:lang="pt">Suporte a Holandês</name>
+ <name xml:lang="ru">Поддержка датÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för nederländska</name>
+ <name xml:lang="zh_CN">è·å…°è¯­æ”¯æŒ</name>
+ <name xml:lang="zh_TW">è·è˜­èªžæ”¯æ´</name>
+ <langonly>nl</langonly>
+ <packagelist>
+ <packagereq type="mandatory">aspell-nl</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Dutch</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>estonian-support</id>
+ <uservisible>false</uservisible>
+ <name>Estonian Support</name>
+ <name xml:lang="cs">Podpora pro estonštinu</name>
+ <name xml:lang="da">Understøttelse for estisk</name>
+ <name xml:lang="de">Support für Estonisch</name>
+ <name xml:lang="es">Soporte para el estonio</name>
+ <name xml:lang="fr">Support estonien</name>
+ <name xml:lang="is">Eistneska</name>
+ <name xml:lang="it">Supporto per l&apos;estone</name>
+ <name xml:lang="ja">エストニア語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">ì—스토니아어 지ì›</name>
+ <name xml:lang="no">Støtte for estlandsk</name>
+ <name xml:lang="pt">Suporte a Estónio</name>
+ <name xml:lang="ru">Поддержка ÑÑтонÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för estniska</name>
+ <name xml:lang="zh_CN">爱沙尼亚语支æŒ</name>
+ <name xml:lang="zh_TW">愛沙尼亞語支æ´</name>
+ <langonly>et_EE</langonly>
+ <grouplist>
+ <groupreq>ISO8859-2-support</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Estonian</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>finish-support</id>
+ <uservisible>false</uservisible>
+ <name>Finnish Support</name>
+ <name xml:lang="cs">Podpora pro finštinu</name>
+ <name xml:lang="da">Understøttelse for finsk</name>
+ <name xml:lang="de">Support für Finnisch</name>
+ <name xml:lang="es">Finalizar el soporte</name>
+ <name xml:lang="fr">Support finnois</name>
+ <name xml:lang="is">Finnska</name>
+ <name xml:lang="it">Supporto per il finlandese</name>
+ <name xml:lang="ja">フィンランド語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">핀란드어 지ì›</name>
+ <name xml:lang="no">Støtte for finsk</name>
+ <name xml:lang="pt">Suporte a Finlandês</name>
+ <name xml:lang="ru">Поддержка финÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för finska</name>
+ <name xml:lang="zh_CN">芬兰语支æŒ</name>
+ <name xml:lang="zh_TW">芬蘭語支æ´</name>
+ <langonly>fi_FI</langonly>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Finnish</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>german-support</id>
+ <uservisible>false</uservisible>
+ <name>German Support</name>
+ <name xml:lang="cs">Podpora pro nÄ›mÄinu</name>
+ <name xml:lang="da">Understøttelse for tysk</name>
+ <name xml:lang="de">Support für Deutsch</name>
+ <name xml:lang="es">Soporte para el alemán</name>
+ <name xml:lang="fr">Support allemand</name>
+ <name xml:lang="is">Þýska</name>
+ <name xml:lang="it">Supporto per il tedesco</name>
+ <name xml:lang="ja">ドイツ語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">ë…ì¼ì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for tysk</name>
+ <name xml:lang="pt">Suporte a Alemão</name>
+ <name xml:lang="ru">Поддержка немецкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för tyska</name>
+ <name xml:lang="zh_CN">德语支æŒ</name>
+ <name xml:lang="zh_TW">德語支æ´</name>
+ <langonly>de_DE</langonly>
+ <packagelist>
+ <packagereq type="mandatory">aspell-de</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-German</packagereq>
+ <packagereq type="mandatory">man-pages-de</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>greek-support</id>
+ <uservisible>false</uservisible>
+ <name>Greek Support</name>
+ <name xml:lang="cs">Podpora pro Å™eÄtinu</name>
+ <name xml:lang="da">Understøttelse for græsk</name>
+ <name xml:lang="de">Support für Griechisch</name>
+ <name xml:lang="es">Soporte para el griego</name>
+ <name xml:lang="fr">Support grec</name>
+ <name xml:lang="is">Gríska</name>
+ <name xml:lang="it">Supporto per il greco</name>
+ <name xml:lang="ja">ギリシャ語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">그리스어 지ì›</name>
+ <name xml:lang="no">Støtte for gresk</name>
+ <name xml:lang="pt">Suporte a Grego</name>
+ <name xml:lang="ru">Поддержка гречеÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för grekiska</name>
+ <name xml:lang="zh_CN">希腊语支æŒ</name>
+ <name xml:lang="zh_TW">希臘語支æ´</name>
+ <langonly>el_GR</langonly>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Greek</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>hebrew-support</id>
+ <uservisible>false</uservisible>
+ <name>Hebrew Support</name>
+ <name xml:lang="cs">Podpora pro hebrejštinu</name>
+ <name xml:lang="da">Understøttelse for hebraisk</name>
+ <name xml:lang="de">Support für Hebräisch</name>
+ <name xml:lang="es">Soporte para el hebreo</name>
+ <name xml:lang="fr">Support hébreu</name>
+ <name xml:lang="is">Hebreska</name>
+ <name xml:lang="it">Supporto per l&apos;ebraico</name>
+ <name xml:lang="ja">ヘブライ語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">헤브루어 지ì›</name>
+ <name xml:lang="no">Støtte for hebraisk</name>
+ <name xml:lang="pt">Suporte a Hebreu</name>
+ <name xml:lang="ru">Поддержка Ñзыка иврит</name>
+ <name xml:lang="sv">Stöd för hebreiska</name>
+ <name xml:lang="zh_CN">希伯æ¥è¯­æ”¯æŒ</name>
+ <name xml:lang="zh_TW">希伯來語支æ´</name>
+ <langonly>he_IL</langonly>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Hebrew</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>hungarian-support</id>
+ <uservisible>false</uservisible>
+ <name>Hungarian Support</name>
+ <name xml:lang="cs">Podpora pro maÄarÅ¡tinu</name>
+ <name xml:lang="da">Understøttelse for ungarnsk</name>
+ <name xml:lang="de">Support für Ungarisch</name>
+ <name xml:lang="es">Soporte para el húngaro</name>
+ <name xml:lang="fr">Support hongrois</name>
+ <name xml:lang="is">Ungverska</name>
+ <name xml:lang="it">Supporto per l&apos;ungherese</name>
+ <name xml:lang="ja">ãƒãƒ³ã‚¬ãƒªãƒ¼èªžã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">í—가리아어 지ì›</name>
+ <name xml:lang="no">Støtte for ungarsk</name>
+ <name xml:lang="pt">Suporte a Hungaro</name>
+ <name xml:lang="ru">Поддержка венгерÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för ungerska</name>
+ <name xml:lang="zh_CN">匈牙利语支æŒ</name>
+ <name xml:lang="zh_TW">匈牙利語支æ´</name>
+ <langonly>hu_HU</langonly>
+ <grouplist>
+ <groupreq>ISO8859-2-support</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Hungarian</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>spanish-support</id>
+ <uservisible>false</uservisible>
+ <name>Spanish Support</name>
+ <name xml:lang="cs">Podpora pro španělštinu</name>
+ <name xml:lang="da">Understøttelse for spansk</name>
+ <name xml:lang="de">Support für Spanisch</name>
+ <name xml:lang="es">Soporte para el español</name>
+ <name xml:lang="fr">Support espagnol</name>
+ <name xml:lang="is">Spánska</name>
+ <name xml:lang="it">Supporto per lo spagnolo</name>
+ <name xml:lang="ja">スペイン語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">스페ì¸ì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for spansk</name>
+ <name xml:lang="pt">Suporte a Espanhol</name>
+ <name xml:lang="ru">Поддержка иÑпанÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för spanska</name>
+ <name xml:lang="zh_CN">西ç­ç‰™è¯­æ”¯æŒ</name>
+ <name xml:lang="zh_TW">西ç­ç‰™èªžæ”¯æ´</name>
+ <langonly>es_ES</langonly>
+ <packagelist>
+ <packagereq type="mandatory">aspell-es</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Spanish</packagereq>
+ <packagereq type="mandatory">man-pages-es</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>french-support</id>
+ <uservisible>false</uservisible>
+ <name>French Support</name>
+ <name xml:lang="cs">Podpora pro francouzštinu</name>
+ <name xml:lang="da">Understøttelse for fransk</name>
+ <name xml:lang="de">Support für Französisch</name>
+ <name xml:lang="es">Soporte para el francés</name>
+ <name xml:lang="fr">Support français</name>
+ <name xml:lang="is">Franska</name>
+ <name xml:lang="it">Supporto per il francese</name>
+ <name xml:lang="ja">フランス語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">프랑스어 지ì›</name>
+ <name xml:lang="no">Støtte for fransk</name>
+ <name xml:lang="pt">Suporte a Francês</name>
+ <name xml:lang="ru">Поддержка французÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för franska</name>
+ <name xml:lang="zh_CN">法语支æŒ</name>
+ <name xml:lang="zh_TW">法語支æ´</name>
+ <langonly>fr_FR</langonly>
+ <packagelist>
+ <packagereq type="mandatory">aspell-fr</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-French</packagereq>
+ <packagereq type="mandatory">man-pages-fr</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>icelandic-support</id>
+ <uservisible>false</uservisible>
+ <name>Icelandic Support</name>
+ <name xml:lang="cs">Podpora pro islandštinu</name>
+ <name xml:lang="da">Understøttelse for islandsk</name>
+ <name xml:lang="de">Support für Isländisch</name>
+ <name xml:lang="es">Soporte para el islandés</name>
+ <name xml:lang="fr">Support islandais</name>
+ <name xml:lang="is">Ãslenska</name>
+ <name xml:lang="it">Supporto per l&apos;islandese</name>
+ <name xml:lang="ja">アイスランド語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">ì•„ì´ìŠ¬ëž€ë“œì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for islandsk</name>
+ <name xml:lang="pt">Suporte a Islandês</name>
+ <name xml:lang="ru">Поддержка иÑландÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för isländska</name>
+ <name xml:lang="zh_CN">冰岛语支æŒ</name>
+ <name xml:lang="zh_TW">冰島語支æ´</name>
+ <langonly>is_IS</langonly>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Icelandic</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>italian-support</id>
+ <uservisible>false</uservisible>
+ <name>Italian Support</name>
+ <name xml:lang="cs">Podpora pro italštinu</name>
+ <name xml:lang="da">Understøttelse for italiensk</name>
+ <name xml:lang="de">Support für Italienisch</name>
+ <name xml:lang="es">Soporte para el italiano</name>
+ <name xml:lang="fr">Support italien</name>
+ <name xml:lang="is">Ãtalska</name>
+ <name xml:lang="it">Supporto per l&apos;italiano</name>
+ <name xml:lang="ja">イタリア語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">ì´íƒˆë¦¬ì•„ì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for italiensk</name>
+ <name xml:lang="pt">Suporte a Italiano</name>
+ <name xml:lang="ru">Поддержка итальÑнÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för italienska</name>
+ <name xml:lang="zh_CN">æ„大利语支æŒ</name>
+ <name xml:lang="zh_TW">義大利文支æ´</name>
+ <langonly>it_IT</langonly>
+ <packagelist>
+ <packagereq type="mandatory">aspell-it</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Italian</packagereq>
+ <packagereq type="mandatory">man-pages-it</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>korean-support</id>
+ <uservisible>false</uservisible>
+ <name>Korean Support</name>
+ <name xml:lang="cs">Podpora pro korejštinu</name>
+ <name xml:lang="da">Understøttelse for koreansk</name>
+ <name xml:lang="de">Support für Koreanisch</name>
+ <name xml:lang="es">Soporte para el coreano</name>
+ <name xml:lang="fr">Support coréen</name>
+ <name xml:lang="is">Kóreska</name>
+ <name xml:lang="it">Supporto per il coreano</name>
+ <name xml:lang="ja">韓国語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">한국어 지ì›</name>
+ <name xml:lang="no">Støtte for koreansk</name>
+ <name xml:lang="pt">Suporte a Coreano</name>
+ <name xml:lang="ru">Поддержка корейÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för koreanska</name>
+ <name xml:lang="zh_CN">韩文支æŒ</name>
+ <name xml:lang="zh_TW">韓文支æ´</name>
+ <langonly>ko_KR</langonly>
+ <packagelist>
+ <packagereq type="mandatory">nvi-m17n</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Korean</packagereq>
+ <packagereq type="mandatory">man-pages-ko</packagereq>
+ <packagereq type="mandatory">kWnn-devel</packagereq>
+ <packagereq type="mandatory">ami</packagereq>
+ <packagereq type="mandatory">kWnn</packagereq>
+ <packagereq type="mandatory">hanterm-xf</packagereq>
+ <packagereq type="mandatory">h2ps</packagereq>
+ <packagereq type="mandatory">nhpf</packagereq>
+ <packagereq type="mandatory">ttfonts-ko</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>norwegian-support</id>
+ <uservisible>false</uservisible>
+ <name>Norwegian Support</name>
+ <name xml:lang="cs">Podpora pro norštinu</name>
+ <name xml:lang="da">Understøttelse for norsk</name>
+ <name xml:lang="de">Support für Norwegisch</name>
+ <name xml:lang="es">Soporte para el noruego</name>
+ <name xml:lang="fr">Support norvégien</name>
+ <name xml:lang="is">Norska</name>
+ <name xml:lang="it">Supporto per il norvegese</name>
+ <name xml:lang="ja">ノルウェー語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">노르웨ì´ì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for norsk</name>
+ <name xml:lang="pt">Suporte a Norueguês</name>
+ <name xml:lang="ru">Поддержка норвежÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för norska</name>
+ <name xml:lang="zh_CN">挪å¨æ”¯æŒ</name>
+ <name xml:lang="zh_TW">挪å¨èªžæ”¯æ´</name>
+ <langonly>no_NO</langonly>
+ <packagelist>
+ <packagereq type="mandatory">aspell-no</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Norwegian</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Norwegian-Nynorsk</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>polish-support</id>
+ <uservisible>false</uservisible>
+ <name>Polish Support</name>
+ <name xml:lang="cs">Podpora pro polštinu</name>
+ <name xml:lang="da">Understøttelse for polsk</name>
+ <name xml:lang="de">Support für Polnisch</name>
+ <name xml:lang="es">Soporte para el polaco</name>
+ <name xml:lang="fr">Support polonais</name>
+ <name xml:lang="is">Pólska</name>
+ <name xml:lang="it">Supporto per il polacco</name>
+ <name xml:lang="ja">ãƒãƒ¼ãƒ©ãƒ³ãƒ‰èªžã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">í´ëž€ë“œì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for polsk</name>
+ <name xml:lang="pt">Suporte a Polaco</name>
+ <name xml:lang="ru">Поддержка польÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för polska</name>
+ <name xml:lang="zh_CN">波兰语支æŒ</name>
+ <name xml:lang="zh_TW">波蘭語支æ´</name>
+ <langonly>pl_PL</langonly>
+ <grouplist>
+ <groupreq>ISO8859-2-support</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Polish</packagereq>
+ <packagereq type="mandatory">man-pages-pl</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>portuguese-support</id>
+ <uservisible>false</uservisible>
+ <name>Portuguese Support</name>
+ <name xml:lang="cs">Podpora pro portugalštinu</name>
+ <name xml:lang="da">Understøttelse for portugisisk</name>
+ <name xml:lang="de">Support für Portugiesisch</name>
+ <name xml:lang="es">Soporte para el portugués</name>
+ <name xml:lang="fr">Support portugais</name>
+ <name xml:lang="is">Portúgalska</name>
+ <name xml:lang="it">Supporto per il portoghese</name>
+ <name xml:lang="ja">ãƒãƒ«ãƒˆã‚¬ãƒ«èªžã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">í¬ë¥´íˆ¬ê°ˆì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for portugisisk</name>
+ <name xml:lang="pt">Suporte a Português</name>
+ <name xml:lang="ru">Поддержка португальÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för portugisiska</name>
+ <name xml:lang="zh_CN">è‘¡è„牙语支æŒ</name>
+ <name xml:lang="zh_TW">è‘¡è„牙語支æ´</name>
+ <langonly>pt</langonly>
+ <packagelist>
+ <packagereq type="mandatory">aspell-pt</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Portuguese</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>romanian-support</id>
+ <uservisible>false</uservisible>
+ <name>Romanian Support</name>
+ <name xml:lang="cs">Podpora pro rumunštinu</name>
+ <name xml:lang="da">Understøttelse for rumænsk</name>
+ <name xml:lang="de">Support für Rumänisch</name>
+ <name xml:lang="es">Soporte para el rumano</name>
+ <name xml:lang="fr">Support roumain</name>
+ <name xml:lang="is">Rómanska</name>
+ <name xml:lang="it">Supporto per il romeno</name>
+ <name xml:lang="ja">ルーマニア語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">루마니아어 지ì›</name>
+ <name xml:lang="no">Støtte for rumensk</name>
+ <name xml:lang="pt">Suporte a Romeno</name>
+ <name xml:lang="ru">Поддержка румынÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för rumänska</name>
+ <name xml:lang="zh_CN">罗马尼亚语支æŒ</name>
+ <name xml:lang="zh_TW">羅馬尼亞語支æ´</name>
+ <langonly>ro_RO</langonly>
+ <grouplist>
+ <groupreq>ISO8859-2-support</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Romanian</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>russian-support</id>
+ <uservisible>false</uservisible>
+ <name>Russian Support</name>
+ <name xml:lang="cs">Podpora pro ruštinu</name>
+ <name xml:lang="da">Understøttelse for russisk</name>
+ <name xml:lang="de">Support für Russisch</name>
+ <name xml:lang="es">Soporte para el ruso</name>
+ <name xml:lang="fr">Support russe</name>
+ <name xml:lang="is">Rússnenska</name>
+ <name xml:lang="it">Supporto per il russo</name>
+ <name xml:lang="ja">ロシア語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">러시아어 지ì›</name>
+ <name xml:lang="no">Støtte for russisk</name>
+ <name xml:lang="pt">Suporte a Russo</name>
+ <name xml:lang="ru">Поддержка руÑÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för ryska</name>
+ <name xml:lang="zh_CN">俄语支æŒ</name>
+ <name xml:lang="zh_TW">俄語支æ´</name>
+ <langonly>ru_RU</langonly>
+ <grouplist>
+ <groupreq>cyrillic-support</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Russian</packagereq>
+ <packagereq type="mandatory">man-pages-ru</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>serbian-support</id>
+ <uservisible>false</uservisible>
+ <name>Serbian Support</name>
+ <name xml:lang="cs">Podpora srbštiny</name>
+ <name xml:lang="da">Understøttelse for serbisk</name>
+ <name xml:lang="de">Support für Serbisch</name>
+ <name xml:lang="es">Soporte para el serbio</name>
+ <name xml:lang="fr">Support serbe</name>
+ <name xml:lang="is">Serbneska</name>
+ <name xml:lang="it">Supporto per il serbo</name>
+ <name xml:lang="ja">シベリア語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">세르비아어 지ì›</name>
+ <name xml:lang="no">Støtte for serbisk</name>
+ <name xml:lang="pt">Suporte a Sérvio</name>
+ <name xml:lang="ru">Поддержка ÑербÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för serbiska</name>
+ <name xml:lang="zh_CN">塞尔维亚语支æŒ</name>
+ <name xml:lang="zh_TW">賽爾維亞語支æ´</name>
+ <langonly>sr_YU</langonly>
+ <grouplist>
+ <groupreq>ISO8859-2-support</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Serbian</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>slovak-support</id>
+ <uservisible>false</uservisible>
+ <name>Slovak Support</name>
+ <name xml:lang="cs">Podpora pro slovenštinu</name>
+ <name xml:lang="da">Understøttelse for slovakisk</name>
+ <name xml:lang="de">Support für Slowakisch</name>
+ <name xml:lang="es">Soporte para el eslovaco</name>
+ <name xml:lang="fr">Support slovaque</name>
+ <name xml:lang="is">Slóvak</name>
+ <name xml:lang="it">Supporto per lo slovacco</name>
+ <name xml:lang="ja">スロãƒã‚­ã‚¢èªžã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">슬로바키아어 지ì›</name>
+ <name xml:lang="no">Støtte for slovakisk</name>
+ <name xml:lang="pt">Suporte a Eslovaco</name>
+ <name xml:lang="ru">Поддержка Ñловацкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för slovakiska</name>
+ <name xml:lang="zh_CN">斯洛ä¼å…‹è¯­æ”¯æŒ</name>
+ <name xml:lang="zh_TW">斯洛ä¼å…‹èªžæ”¯æ´</name>
+ <langonly>sk_SK</langonly>
+ <grouplist>
+ <groupreq>ISO8859-2-support</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Slovak</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>slovenian-support</id>
+ <uservisible>false</uservisible>
+ <name>Slovenian Support</name>
+ <name xml:lang="cs">Podpora pro slovinštinu</name>
+ <name xml:lang="da">Understøttelse for slovensk</name>
+ <name xml:lang="de">Support für Slowenisch</name>
+ <name xml:lang="es">Soporte para el eslovenio</name>
+ <name xml:lang="fr">Support slovène</name>
+ <name xml:lang="is">Slóvnenska</name>
+ <name xml:lang="it">Supporto per lo sloveno</name>
+ <name xml:lang="ja">スロベニア語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">슬로베ì´ì•„ì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for slovensk</name>
+ <name xml:lang="pt">Suporte a Eslovénio</name>
+ <name xml:lang="ru">Поддержка ÑловенÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för slovenska</name>
+ <name xml:lang="zh_CN">斯洛文尼亚语支æŒ</name>
+ <name xml:lang="zh_TW">斯洛法尼亞語支æ´</name>
+ <langonly>sl_SI</langonly>
+ <grouplist>
+ <groupreq>ISO8859-2-support</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Slovenian</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>swedish-support</id>
+ <uservisible>false</uservisible>
+ <name>Swedish Support</name>
+ <name xml:lang="cs">Podpora pro švédštinu</name>
+ <name xml:lang="da">Understøttelse for svensk</name>
+ <name xml:lang="de">Support für Schwedisch</name>
+ <name xml:lang="es">Soporte para el sueco</name>
+ <name xml:lang="fr">Support suédois</name>
+ <name xml:lang="is">Sænska</name>
+ <name xml:lang="it">Supporto per lo svedese</name>
+ <name xml:lang="ja">スウェデーン語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">스웨ë´ì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for svensk</name>
+ <name xml:lang="pt">Suporte a Sueco</name>
+ <name xml:lang="ru">Поддержка шведÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för svenska</name>
+ <name xml:lang="zh_CN">瑞典语支æŒ</name>
+ <name xml:lang="zh_TW">瑞典語支æ´</name>
+ <langonly>sv_SE</langonly>
+ <packagelist>
+ <packagereq type="mandatory">aspell-sv</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Swedish</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>turkish-support</id>
+ <uservisible>false</uservisible>
+ <name>Turkish Support</name>
+ <name xml:lang="cs">Podpora pro tureÄtinu</name>
+ <name xml:lang="da">Understøttelse for tyrkisk</name>
+ <name xml:lang="de">Support für Türkisch</name>
+ <name xml:lang="es">Soporte para el turco</name>
+ <name xml:lang="fr">Support turc</name>
+ <name xml:lang="is">Tyrkneska</name>
+ <name xml:lang="it">Supporto per il turco</name>
+ <name xml:lang="ja">トルコ語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">터키어 지ì›</name>
+ <name xml:lang="no">Støtte for Tyrkisk</name>
+ <name xml:lang="pt">Suporte a Turco</name>
+ <name xml:lang="ru">Поддержка турецкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för turkiska</name>
+ <name xml:lang="zh_CN">土耳其语支æŒ</name>
+ <name xml:lang="zh_TW">土耳其語支æ´</name>
+ <langonly>tr_TR</langonly>
+ <grouplist>
+ <groupreq>ISO8859-9-support</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Turkish</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>ukrainian-support</id>
+ <uservisible>false</uservisible>
+ <name>Ukrainian Support</name>
+ <name xml:lang="cs">Podpora pro ukrajinštinu</name>
+ <name xml:lang="da">Understøttelse for ukrainsk</name>
+ <name xml:lang="de">Support für Ukrainisch</name>
+ <name xml:lang="es">Soporte para el ucraniano </name>
+ <name xml:lang="fr">Support ukrainien</name>
+ <name xml:lang="is">Úkraínska</name>
+ <name xml:lang="it">Supporto per l&apos;ucraino</name>
+ <name xml:lang="ja">ウクライナ語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">ìš°í¬ë¼ì´ë‚˜ì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for ukrainsk</name>
+ <name xml:lang="pt">Suporte a Ucraniano</name>
+ <name xml:lang="ru">Поддержка украинÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för ukrainska</name>
+ <name xml:lang="zh_CN">乌克兰语支æŒ</name>
+ <name xml:lang="zh_TW">çƒå…‹è˜­èªžæ”¯æ´</name>
+ <langonly>uk_UA</langonly>
+ <grouplist>
+ <groupreq>cyrillic-support</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Ukrainian</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>chinese-support</id>
+ <uservisible>false</uservisible>
+ <name>Chinese Support</name>
+ <name xml:lang="cs">Podpora pro ÄínÅ¡tinu</name>
+ <name xml:lang="da">Understøttelse for kinesisk</name>
+ <name xml:lang="de">Support für Chinesisch</name>
+ <name xml:lang="es">Soporte para el chino </name>
+ <name xml:lang="fr">Support chinois</name>
+ <name xml:lang="is">Kínverska</name>
+ <name xml:lang="it">Supporto per il cinese</name>
+ <name xml:lang="ja">中国語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">중국어 지ì›</name>
+ <name xml:lang="no">Støtte for kinesisk</name>
+ <name xml:lang="pt">Suporte a Chinês</name>
+ <name xml:lang="ru">Поддержка китайÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för kinesiska</name>
+ <name xml:lang="zh_CN">中文支æŒ</name>
+ <name xml:lang="zh_TW">中文支æ´</name>
+ <langonly>zh</langonly>
+ <packagelist>
+ <packagereq type="mandatory">nvi-m17n</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Chinese</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Chinese-Big5</packagereq>
+ <packagereq type="mandatory">man-pages-ko</packagereq>
+ <packagereq type="mandatory">cWnn-devel</packagereq>
+ <packagereq type="mandatory">libtabe-devel</packagereq>
+ <packagereq type="mandatory">cWnn</packagereq>
+ <packagereq type="mandatory">miniChinput</packagereq>
+ <packagereq type="mandatory">stardict</packagereq>
+ <packagereq type="mandatory">tWnn</packagereq>
+ <packagereq type="mandatory">ttfonts-zh_TW</packagereq>
+ <packagereq type="mandatory">ttfonts-zh_CN</packagereq>
+ <packagereq type="mandatory">taipeifonts</packagereq>
+ <packagereq type="mandatory">xcin</packagereq>
+ <packagereq type="mandatory">bg5ps</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>japanese-support</id>
+ <uservisible>false</uservisible>
+ <name>Japanese Support</name>
+ <name xml:lang="cs">Podpora pro japonštinu</name>
+ <name xml:lang="da">Understøttelse for japansk</name>
+ <name xml:lang="de">Support für Japanisch</name>
+ <name xml:lang="es">Soporte para el japonés</name>
+ <name xml:lang="fr">Support japonais</name>
+ <name xml:lang="is">Japanska</name>
+ <name xml:lang="it">Supporto per il giapponese</name>
+ <name xml:lang="ja">日本語ã®ã‚µãƒãƒ¼ãƒˆ</name>
+ <name xml:lang="ko">ì¼ë³¸ì–´ 지ì›</name>
+ <name xml:lang="no">Støtte for japansk</name>
+ <name xml:lang="pt">Suporte a Japonês</name>
+ <name xml:lang="ru">Поддержка ÑпонÑкого Ñзыка</name>
+ <name xml:lang="sv">Stöd för japanska</name>
+ <name xml:lang="zh_CN">日语支æŒ</name>
+ <name xml:lang="zh_TW">日文支æ´</name>
+ <langonly>ja_JP</langonly>
+ <packagelist>
+ <packagereq type="mandatory">Canna</packagereq>
+ <packagereq type="mandatory">jcode.pl</packagereq>
+ <packagereq type="mandatory">kakasi-dict</packagereq>
+ <packagereq type="mandatory">kcc</packagereq>
+ <packagereq type="mandatory">kon2</packagereq>
+ <packagereq type="mandatory">kon2-fonts</packagereq>
+ <packagereq type="mandatory">lv</packagereq>
+ <packagereq type="mandatory">nvi-m17n</packagereq>
+ <packagereq type="mandatory">nvi-m17n-canna</packagereq>
+ <packagereq type="mandatory">perl-NKF</packagereq>
+ <packagereq type="mandatory">perl-Text-Kakasi</packagereq>
+ <packagereq type="mandatory">nkf</packagereq>
+ <packagereq type="mandatory">ttfonts-ja</packagereq>
+ <packagereq type="mandatory">watanabe-vf</packagereq>
+ <packagereq type="optional" requires="kdelibs">kde-i18n-Japanese</packagereq>
+ <packagereq type="mandatory">fonts-ja</packagereq>
+ <packagereq type="mandatory">jisksp14</packagereq>
+ <packagereq type="mandatory">jisksp16-1990</packagereq>
+ <packagereq type="mandatory">FreeWnn</packagereq>
+ <packagereq type="mandatory">kappa20</packagereq>
+ <packagereq type="mandatory">kinput2-canna-wnn6</packagereq>
+ <packagereq type="mandatory">knm_new</packagereq>
+ <packagereq type="mandatory">kterm</packagereq>
+ <packagereq type="mandatory">skkdic</packagereq>
+ <packagereq type="mandatory">skkinput</packagereq>
+ <packagereq type="mandatory">man-pages-ja</packagereq>
+ <packagereq type="mandatory">kakasi-devel</packagereq>
+ <packagereq type="mandatory">Wnn6-SDK-devel</packagereq>
+ <packagereq type="mandatory">namazu-devel</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>development-tools</id>
+ <name>Development Tools</name>
+ <name xml:lang="cs">Vývojové nástroje</name>
+ <name xml:lang="da">Udviklingsværktøjer</name>
+ <name xml:lang="de">Entwicklungstools</name>
+ <name xml:lang="es">Herramientas de desarrollo</name>
+ <name xml:lang="fr">Outils de développement</name>
+ <name xml:lang="is">Þróunartól</name>
+ <name xml:lang="it">Strumenti di sviluppo</name>
+ <name xml:lang="ja">開発ツール</name>
+ <name xml:lang="ko">개발용 ë„구</name>
+ <name xml:lang="no">Utviklingsverktøy</name>
+ <name xml:lang="pt">Ferramentas de Desenvolvimento</name>
+ <name xml:lang="ru">СредÑтва разработки</name>
+ <name xml:lang="sv">Utvecklingsverktyg</name>
+ <name xml:lang="zh_CN">å¼€å‘工具</name>
+ <name xml:lang="zh_TW">開發工具</name>
+ <description>These tools include core development tools such as automake, gcc, perl, python, and debuggers.</description>
+ <description xml:lang="cs">Tyto nástroje zahrnují základní vývojové nástroje jako automake, gcc, perl, python a ladící nástroje.</description>
+ <description xml:lang="da">Disse værktøjer inkluderer basale udviklingsværktøjer som fx automake, gcc, perl, python og fejlsøgningsværktøjer.</description>
+ <description xml:lang="de">Zu diesen Tools gehören grundlegende Entwicklungstools wie automake, gcc, perl, python und debuggers.</description>
+ <description xml:lang="es">Estas herramientas incluyen herramientas de desarrollo de núcleo como por ejemplo automake, gcc, perl, python y depuradores.</description>
+ <description xml:lang="fr">Ces outils comprennent des outils de développement mémoire comme automake, gcc, perl, python, ainsi que des débogueurs.</description>
+ <description xml:lang="is">Þessi tól eru meðal annars automake, gcc, perl, python og aflúsunartól.</description>
+ <description xml:lang="it">Questi strumenti includono i principali tool di sviluppo tra cui automake, gcc, perl, python, e i debugger.</description>
+ <description xml:lang="ja">ã“れらã®ãƒ„ールã«ã¯ã€automake, gcc, perl, python, åŠã³ãƒ‡ãƒãƒƒã‚¬ãªã©ã®ã‚³ã‚¢é–‹ç™ºãƒ„ール㌠å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ ë„구ì—는 automake, gcc, perl, pythonê³¼ 디버거와 ê°™ì€ í•µì‹¬ 개발용 ë„구가 í¬í•¨ë˜ì–´ 있습니다.</description>
+ <description xml:lang="no">Disse verktøyene inkluderer utviklingsverktøy som automake, gcc, perl, python og avlusere.</description>
+ <description xml:lang="pt">Estas ferramentas incluem as ferramentas básicas de desenvolvimento como o automake, o gcc, o perl, o python e os depuradores.</description>
+ <description xml:lang="ru">Эти ÑредÑтва включают оÑновные ÑредÑтва разработки, такие как automake, gcc, perl, python и отладчики.</description>
+ <description xml:lang="sv">Dessa verktyg inkluderar kärnutvecklingsverktyg som exempelvis automake, gcc, perl, python och felsökningsverktyg.</description>
+ <description xml:lang="zh_CN">这些工具包括 automakeã€gccã€perlã€python 和调试器之类的核心开å‘工具。</description>
+ <description xml:lang="zh_TW">這些工具包括主è¦çš„開發工具,例如 automake, gcc, perl, python ä»¥åŠ debuggers。</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>development-libs</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="optional">ElectricFence</packagereq>
+ <packagereq type="mandatory">autoconf</packagereq>
+ <packagereq type="default">automake14</packagereq>
+ <packagereq type="default">automake15</packagereq>
+ <packagereq type="mandatory">automake</packagereq>
+ <packagereq type="mandatory">binutils</packagereq>
+ <packagereq type="mandatory">bison</packagereq>
+ <packagereq type="mandatory">byacc</packagereq>
+ <packagereq type="mandatory">cdecl</packagereq>
+ <packagereq type="optional">cproto</packagereq>
+ <packagereq type="default">cvs</packagereq>
+ <packagereq type="optional">ddd</packagereq>
+ <packagereq type="mandatory">dev86</packagereq>
+ <packagereq type="default">diffstat</packagereq>
+ <packagereq type="default">doxygen</packagereq>
+ <packagereq type="optional">dmalloc</packagereq>
+ <packagereq type="optional">expect</packagereq>
+ <packagereq type="mandatory">flex</packagereq>
+ <packagereq type="mandatory">gcc</packagereq>
+ <packagereq type="mandatory">gcc-c++</packagereq>
+ <packagereq type="default">gcc-g77</packagereq>
+ <packagereq type="default">gcc-gnat</packagereq>
+ <packagereq type="default">gcc-java</packagereq>
+ <packagereq type="optional">gcc-objc</packagereq>
+ <packagereq type="mandatory">gdb</packagereq>
+ <packagereq type="mandatory">gettext</packagereq>
+ <packagereq type="default">indent</packagereq>
+ <packagereq type="mandatory">libtool</packagereq>
+ <packagereq type="default">ltrace</packagereq>
+ <packagereq type="mandatory">make</packagereq>
+ <packagereq type="default">memprof</packagereq>
+ <packagereq type="optional">nasm</packagereq>
+ <packagereq type="optional">njamd</packagereq>
+ <packagereq type="default">patchutils</packagereq>
+ <packagereq type="mandatory">perl-CPAN</packagereq>
+ <packagereq type="mandatory">pkgconfig</packagereq>
+ <packagereq type="optional">pmake</packagereq>
+ <packagereq type="optional">pstack</packagereq>
+ <packagereq type="mandatory">python-devel</packagereq>
+ <packagereq type="default">rcs</packagereq>
+ <packagereq type="mandatory">rpm-build</packagereq>
+ <packagereq type="mandatory">redhat-rpm-config</packagereq>
+ <packagereq type="default">splint</packagereq>
+ <packagereq type="mandatory">strace</packagereq>
+ <packagereq type="mandatory">texinfo</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>development-libs</id>
+ <name>Development Libraries</name>
+ <name xml:lang="cs">Knihovny pro vývoj</name>
+ <name xml:lang="da">Udviklingsbiblioteker</name>
+ <name xml:lang="de">Entwicklungsbibliotheken</name>
+ <name xml:lang="es">Librerías de desarrollo</name>
+ <name xml:lang="fr">Bibliothèques de développement</name>
+ <name xml:lang="is">Þróunaraðgerðasöfn</name>
+ <name xml:lang="it">Librerie di sviluppo</name>
+ <name xml:lang="ja">開発ライブラリ</name>
+ <name xml:lang="ko">개발용 ë¼ì´ë¸ŒëŸ¬ë¦¬</name>
+ <name xml:lang="no">Utviklingsbibliotek</name>
+ <name xml:lang="pt">Bibliotecas de Desenvolvimento</name>
+ <name xml:lang="ru">Библиотеки Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸</name>
+ <name xml:lang="sv">Utvecklingsbibliotek</name>
+ <name xml:lang="zh_CN">å¼€å‘库</name>
+ <name xml:lang="zh_TW">開發函å¼åº«</name>
+ <description>The packages in this group are core libraries needed to develop applications.</description>
+ <description xml:lang="cs">BalíÄky v této skupinÄ› jsou základní knihovny potÅ™ebné pro vývoj aplikací.</description>
+ <description xml:lang="da">Pakkerne i denne gruppe er basale biblioteker som behøves til udvikling af program.</description>
+ <description xml:lang="de">Bei den Paketen dieser Gruppe handelt es sich um grundlegende Bibliotheken für die Entwicklung von Anwendungen.</description>
+ <description xml:lang="es">Los paquetes de este grupo son librerías de núcleo necesarias para desarrollar aplicaciones.</description>
+ <description xml:lang="fr">Les paquetages de ce groupe sont des bibliothèques de mémoire nécessaires au développement d&apos;applications.</description>
+ <description xml:lang="is">Pakkarnir í þessum hóp eru grunnaðgerðasöfnin sem þarf til að þróa hugbúnað.</description>
+ <description xml:lang="it">I pacchetti di questo gruppo sono le principali librerie di sviluppo delle applicazioni.</description>
+ <description xml:lang="ja">ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ‘ッケージã¯ã‚¢ãƒ—リケーションã®é–‹ç™ºã«å¿…è¦ãªã‚³ã‚¢ãƒ©ã‚¤ãƒ–ラリã§ã™ã€‚</description>
+ <description xml:lang="ko">ì´ íŒ¨í‚¤ì§€ ê·¸ë£¹ì€ ì‘ìš© í”„ë¡œê·¸ëž¨ì„ ê°œë°œí•˜ëŠ”ë° í•„ìš”í•œ 핵심 ë¼ì´ë¸ŒëŸ¬ë¦¬ìž…니다.</description>
+ <description xml:lang="no">Pakkene i denne gruppen er basis-biblioteker for bruk ved programutvikling.</description>
+ <description xml:lang="pt">Os pacotes neste grupo contém bibliotecas de base necessárias para desenvolver aplicações.</description>
+ <description xml:lang="ru">Эта группа Ñодержит библиотеки необходимые Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ приложений.</description>
+ <description xml:lang="sv">Paketen i denna grupp är kärnbibliotek som behövs för utveckling av program.</description>
+ <description xml:lang="zh_CN">该组中的软件包是开å‘应用程åºæ‰€éœ€çš„核心库。</description>
+ <description xml:lang="zh_TW">這個群組中的套件是用來開發應用程å¼æ‰€éœ€çš„主è¦å‡½å¼åº«ã€‚</description>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="mandatory">curl-devel</packagereq>
+ <packagereq type="mandatory">cyrus-sasl-devel</packagereq>
+ <packagereq type="mandatory">db4-devel</packagereq>
+ <packagereq type="mandatory">db4-utils</packagereq>
+ <packagereq type="mandatory">dialog</packagereq>
+ <packagereq type="mandatory">expat-devel</packagereq>
+ <packagereq type="mandatory">gdbm-devel</packagereq>
+ <packagereq type="mandatory">gmp-devel</packagereq>
+ <packagereq type="mandatory">gpm-devel</packagereq>
+ <packagereq type="mandatory">hesiod-devel</packagereq>
+ <packagereq type="mandatory">krb5-devel</packagereq>
+ <packagereq type="mandatory">krbafs-devel</packagereq>
+ <packagereq type="mandatory">kudzu-devel</packagereq>
+ <packagereq type="mandatory">libcap-devel</packagereq>
+ <packagereq type="mandatory">libtermcap-devel</packagereq>
+ <packagereq type="mandatory">libusb-devel</packagereq>
+ <packagereq type="mandatory">libuser-devel</packagereq>
+ <packagereq type="mandatory">libxml-devel</packagereq>
+ <packagereq type="mandatory">libxml2-devel</packagereq>
+ <packagereq type="mandatory">lockdev-devel</packagereq>
+ <packagereq type="mandatory">modutils-devel</packagereq>
+ <packagereq type="mandatory">ncurses-devel</packagereq>
+ <packagereq type="mandatory">newt-devel</packagereq>
+ <packagereq type="mandatory">openldap-devel</packagereq>
+ <packagereq type="mandatory">openssl-devel</packagereq>
+ <packagereq type="mandatory">pam-devel</packagereq>
+ <packagereq type="mandatory">pciutils-devel</packagereq>
+ <packagereq type="mandatory">readline-devel</packagereq>
+ <packagereq type="mandatory">rpm-devel</packagereq>
+ <packagereq type="mandatory">slang-devel</packagereq>
+ <packagereq type="mandatory">swig</packagereq>
+ <packagereq type="mandatory">zlib-devel</packagereq>
+ <packagereq type="default">libogg-devel</packagereq>
+ <packagereq type="default">libvorbis-devel</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>kernel-development</id>
+ <name>Kernel Development</name>
+ <name xml:lang="cs">Vývoj jádra</name>
+ <name xml:lang="da">Kerneudvikling</name>
+ <name xml:lang="de">Kernel-Entwicklung</name>
+ <name xml:lang="es">Desarrollo del kernel</name>
+ <name xml:lang="fr">Développement du noyau</name>
+ <name xml:lang="is">Kjarnaþróun</name>
+ <name xml:lang="it">Sviluppo del kernel</name>
+ <name xml:lang="ja">カーãƒãƒ«é–‹ç™º</name>
+ <name xml:lang="ko">ì»¤ë„ ê°œë°œ</name>
+ <name xml:lang="no">Kjerneutvikling</name>
+ <name xml:lang="pt">Desenvolvimento do Kernel</name>
+ <name xml:lang="ru">СредÑтва Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ Ñдра</name>
+ <name xml:lang="sv">Kärnutveckling</name>
+ <name xml:lang="zh_CN">内核开å‘</name>
+ <name xml:lang="zh_TW">核心開發</name>
+ <description>Install these packages to recompile the kernel.</description>
+ <description xml:lang="cs">Tyto balíÄky nainstalujte pro rekompilaci jádra.</description>
+ <description xml:lang="da">Installér disse pakker for at oversætte om kernen.</description>
+ <description xml:lang="de">Installieren Sie diese Pakete, wenn Sie selber den Kernel übersetzen möchten.</description>
+ <description xml:lang="is">Settu þessa pakka inn ef þú vilt endurþýða kjarnann.</description>
+ <description xml:lang="ja">カーãƒãƒ«ã‚’å†ã‚³ãƒ³ãƒ‘イルã™ã‚‹ç‚ºã«ã“れらã®ãƒ‘ッケージをインストールã—ã¾ã™ã€‚</description>
+ <description xml:lang="ko">커ë„ì„ ìž¬ì»´íŒŒì¼í•˜ì‹œë ¤ë©´ ì´ íŒ¨í‚¤ì§€ë¥¼ 설치하십시오.</description>
+ <description xml:lang="no">Installer disse pakkene for å rekompilere kjernen.</description>
+ <description xml:lang="pt">Instale estes pacotes para recompilar o núcleo.</description>
+ <description xml:lang="ru">УÑтановите Ñти пакеты Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñции Ñдра ÑиÑтемы.</description>
+ <description xml:lang="sv">Installera dessa paket för att kompilera om kärnan.</description>
+ <description xml:lang="zh_CN">安装这些软件包æ¥é‡æ–°ç¼–译内核。</description>
+ <description xml:lang="zh_TW">請安è£é€™äº›å¥—件以é‡æ–°ç·¨è­¯æ ¸å¿ƒã€‚</description>
+ <uservisible>true</uservisible>
+ <grouplist>
+ <groupreq>development-tools</groupreq>
+ </grouplist>
+ <packagelist>
+ <packagereq type="mandatory">kernel-source</packagereq>
+ <packagereq type="mandatory">libattr-devel</packagereq>
+ <packagereq type="mandatory">libacl-devel</packagereq>
+ <packagereq type="default">tk</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>legacy-software-development</id>
+ <name>Legacy Software Development</name>
+ <name xml:lang="cs">Podpora pro vývoj zděděného software</name>
+ <name xml:lang="da">Udvikling af ældre programmel</name>
+ <name xml:lang="de">Legacy-Software Entwicklung</name>
+ <name xml:lang="es">Desarrollo del software de legado</name>
+ <name xml:lang="fr">Développement du logiciel hérité</name>
+ <name xml:lang="is">Þróunartól fyrir gömul forrit</name>
+ <name xml:lang="it">Sviluppo del legacy software</name>
+ <name xml:lang="ja">レガシーソフトウェアーã®é–‹ç™º</name>
+ <name xml:lang="ko">레거시 소프트웨어 개발</name>
+ <name xml:lang="no">Programvareutvikling for eldre systemer.</name>
+ <name xml:lang="pt">Desenvolvimento de Software Legado</name>
+ <name xml:lang="ru">СредÑтва Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ уÑтаревших приложений</name>
+ <name xml:lang="sv">Utveckling av äldre programvara</name>
+ <name xml:lang="zh_CN">原有的软件开å‘</name>
+ <name xml:lang="zh_TW">舊å¼è»Ÿé«”開發</name>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="mandatory">compat-gcc</packagereq>
+ <packagereq type="mandatory">compat-gcc-c++</packagereq>
+ <packagereq type="mandatory">compat-gcc-g77</packagereq>
+ <packagereq type="mandatory">compat-libstdc++</packagereq>
+ <packagereq type="mandatory">compat-libstdc++-devel</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>x-software-development</id>
+ <name>X Software Development</name>
+ <name xml:lang="cs">Vývoj software pro X</name>
+ <name xml:lang="da">X-programmeludvikling</name>
+ <name xml:lang="de">X Softwareentwicklung</name>
+ <name xml:lang="es">Desarrollo del software X</name>
+ <name xml:lang="fr">Développement du logiciel X</name>
+ <name xml:lang="is">Hugbúnaðarþróun fyrir X gluggakerfið</name>
+ <name xml:lang="it">Sviluppo del software X</name>
+ <name xml:lang="ja">Xソフトウェア開発</name>
+ <name xml:lang="ko">X 소프트웨어 개발</name>
+ <name xml:lang="no">Programvareutvikling for X</name>
+ <name xml:lang="pt">Desenvolvimento de Software para X</name>
+ <name xml:lang="ru">Разработка ПО Ð´Ð»Ñ X</name>
+ <name xml:lang="sv">X-programvaruutveckling</name>
+ <name xml:lang="zh_CN">X 软件开å‘</name>
+ <name xml:lang="zh_TW">X 軟體開發</name>
+ <description>These packages allow you to develop applications for the X Window System.</description>
+ <description xml:lang="cs">Tyto balíÄky Vám umožní vyvíjet aplikace pro X Window System.</description>
+ <description xml:lang="da">Disse pakker lader dig udvikle programmer for vinduessystemet X.</description>
+ <description xml:lang="de">Mit diesen Paketen können Sie Anwendungen für das X Window System entwickeln.</description>
+ <description xml:lang="es">Estos paquetes le permiten desarrollar aplicaciones para el sistema X Window.</description>
+ <description xml:lang="fr">Ces paquetages vous permettent de développer les applications pour le système X Window.</description>
+ <description xml:lang="is">Þessir pakkar gera þér kleyft að þróa hugbúnað fyrir X gluggakerfið.</description>
+ <description xml:lang="it">Questi pacchetti consentono di sviluppare applicazioni per il sistema X Window.</description>
+ <description xml:lang="ja">ã“れらã®ãƒ‘ッケージã§X Window System用ã®ã‚¢ãƒ—リケーションを開発ã§ãã¾ã™ã€‚</description>
+ <description xml:lang="ko">ì´ íŒ¨í‚¤ì§€ëŠ” X 윈ë„ìš° 시스템ì—ì„œ ì‚¬ìš©ë  ì‘ìš© í”„ë¡œê·¸ëž¨ì„ ê°œë°œí•  수 있게 í•´ì¤ë‹ˆë‹¤.</description>
+ <description xml:lang="no">Disse pakkene lar deg utvikle programmer for X.</description>
+ <description xml:lang="pt">Este pacotes permitem-lhe desenvolver aplicações para o X Window System.</description>
+ <description xml:lang="ru">Эти пакеты позволÑÑŽÑ‚ разрабатывать Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ X Window System.</description>
+ <description xml:lang="sv">Dessa paket låter dig utveckla program för fönstersystemet X.</description>
+ <description xml:lang="zh_CN">这些软件包å…许您开å‘用于 X 窗å£ç³»ç»Ÿçš„应用程åºã€‚</description>
+ <description xml:lang="zh_TW">這些套件讓您å¯ä»¥ç‚º X 視窗系統開發應用程å¼ã€‚</description>
+ <uservisible>true</uservisible>
+ <packagelist>
+ <packagereq type="mandatory">Glide3-devel</packagereq>
+ <packagereq type="mandatory">XFree86-devel</packagereq>
+ <packagereq type="mandatory">Xaw3d-devel</packagereq>
+ <packagereq type="mandatory">gd-devel</packagereq>
+ <packagereq type="default">lesstif-devel</packagereq>
+ <packagereq type="mandatory">libjpeg-devel</packagereq>
+ <packagereq type="mandatory">libtiff-devel</packagereq>
+ <packagereq type="mandatory">libpng-devel</packagereq>
+ <packagereq type="mandatory">libmng-devel</packagereq>
+ <packagereq type="mandatory">libungif-devel</packagereq>
+ <packagereq type="mandatory">freetype-devel</packagereq>
+ <packagereq type="mandatory">netpbm-devel</packagereq>
+ <packagereq type="default">libpng10-devel</packagereq>
+ <packagereq type="default">openmotif-devel</packagereq>
+ <packagereq type="default">SDL-devel</packagereq>
+ <packagereq type="default">SDL_image-devel</packagereq>
+ <packagereq type="default">SDL_mixer-devel</packagereq>
+ <packagereq type="default">SDL_net-devel</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>gnome-software-development</id>
+ <name>GNOME Software Development</name>
+ <name xml:lang="cs">Vývoj software pro GNOMOE</name>
+ <name xml:lang="da">Gnome-programmeludvikling</name>
+ <name xml:lang="de">GNOME Softwareentwicklung</name>
+ <name xml:lang="es">Desarrollo de software de GNOME</name>
+ <name xml:lang="fr">Développement de logiciel GNOME</name>
+ <name xml:lang="is">Hugbúnaðarþróun fyrir GNOME</name>
+ <name xml:lang="it">Sviluppo del software di GNOME</name>
+ <name xml:lang="ja">GNOME ソフトウェア開発</name>
+ <name xml:lang="ko">GNOME 소프트웨어 개발</name>
+ <name xml:lang="no">Programvareutvikling for GNOME</name>
+ <name xml:lang="pt">Desenvolvimento de Software GNOME</name>
+ <name xml:lang="ru">Разработка Ñ Ð¸Ñпользованием GNOME</name>
+ <name xml:lang="sv">GNOME-programvaruutveckling</name>
+ <name xml:lang="zh_CN">GNOME 软件开å‘</name>
+ <name xml:lang="zh_TW">GNOME 軟體開發</name>
+ <description>Install these packages in order to develop GTK+ and GNOME graphical applications.</description>
+ <description xml:lang="cs">Tyto balíÄky nainstalujte pro vývoj grafických aplikací pro GTK+ a GNOME.</description>
+ <description xml:lang="da">Installér disse pakker for at kunne udvikle grafiske programmer som bruger GTK+ og Gnome.</description>
+ <description xml:lang="de">Installieren Sie diese Pakete, um Applikationen für GTK+ und GNOME zu entwickeln.</description>
+ <description xml:lang="es">Instalar estos paquetes para desarrollar GTK+ y las aplicaciones gráficas de GNOME. </description>
+ <description xml:lang="fr">Installer ces paquetages pour développer les applications graphiques GTK+ et GNOME.</description>
+ <description xml:lang="is">Settu þessa pakka inn ef þú vilt þróa GTK+ og GNOME forrit.</description>
+ <description xml:lang="it">Installare questi pacchetti per sviluppare le applicazioni grafiche GTK+ e GNOME.</description>
+ <description xml:lang="ja">GTK+ 㨠GNOMEã®ã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ«ã‚¢ãƒ—リケーションを開発ã™ã‚‹ç‚ºã«ã¯ã“れら㮠パッケージをインストールã—ã¦ä¸‹ã•ã„。</description>
+ <description xml:lang="ko">GTK+와 GNOME 그래픽 ì‘ìš© í”„ë¡œê·¸ëž¨ì„ ê°œë°œí•˜ì‹œë ¤ë©´ ì´ íŒ¨í‚¤ì§€ë¥¼ 설치하십시오.</description>
+ <description xml:lang="no">Installer disse pakkene for utvikling av GTK+- og GNOME-programmer.</description>
+ <description xml:lang="pt">Instale estes pacotes se quiser desenvolver aplicações gráficas GTK+ ou GNOME.</description>
+ <description xml:lang="ru">УÑтановите Ñти пакеты Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ графичеÑких приложений GTK+ и GNOME.</description>
+ <description xml:lang="sv">Installera dessa paket för att kunna utveckla grafiska program som använder GTK+ och GNOME.</description>
+ <description xml:lang="zh_CN">安装这些软件包æ¥å¼€å‘ GTK+ å’Œ GNOME 图形化应用程åºã€‚</description>
+ <description xml:lang="zh_TW">請安è£é€™äº›å¥—件,用來開發 GTK+ 與 GNOME 的圖形應用程å¼ã€‚</description>
+ <uservisible>true</uservisible>
+ <packagelist>
+ <packagereq type="default">bug-buddy</packagereq>
+ <packagereq type="default">pygtk2-devel</packagereq>
+ <packagereq type="mandatory">glib-devel</packagereq>
+ <packagereq type="mandatory">glib2-devel</packagereq>
+ <packagereq type="mandatory">gtk+-devel</packagereq>
+ <packagereq type="mandatory">GConf-devel</packagereq>
+ <packagereq type="mandatory">GConf2-devel</packagereq>
+ <packagereq type="default">Guppi-devel</packagereq>
+ <packagereq type="mandatory">ORBit-devel</packagereq>
+ <packagereq type="mandatory">ORBit2-devel</packagereq>
+ <packagereq type="mandatory">atk-devel</packagereq>
+ <packagereq type="mandatory">bonobo-activation-devel</packagereq>
+ <packagereq type="default">bonobo-conf-devel</packagereq>
+ <packagereq type="mandatory">bonobo-devel</packagereq>
+ <packagereq type="mandatory">eel2-devel</packagereq>
+ <packagereq type="mandatory">fontconfig-devel</packagereq>
+ <packagereq type="mandatory">gail-devel</packagereq>
+ <packagereq type="mandatory">gal-devel</packagereq>
+ <packagereq type="mandatory">gdk-pixbuf-devel</packagereq>
+ <packagereq type="mandatory">gnome-libs-devel</packagereq>
+ <packagereq type="default">gnome-pilot-devel</packagereq>
+ <packagereq type="mandatory">gnome-print-devel</packagereq>
+ <packagereq type="mandatory">gnome-vfs-devel</packagereq>
+ <packagereq type="mandatory">gnome-vfs2-devel</packagereq>
+ <packagereq type="mandatory">gtkhtml-devel</packagereq>
+ <packagereq type="mandatory">gtk2-devel</packagereq>
+ <packagereq type="default">imlib-devel</packagereq>
+ <packagereq type="mandatory">libIDL-devel</packagereq>
+ <packagereq type="mandatory">libart_lgpl-devel</packagereq>
+ <packagereq type="mandatory">libbonobo-devel</packagereq>
+ <packagereq type="mandatory">libbonoboui-devel</packagereq>
+ <packagereq type="mandatory">libglade-devel</packagereq>
+ <packagereq type="mandatory">libglade2-devel</packagereq>
+ <packagereq type="mandatory">libgnome-devel</packagereq>
+ <packagereq type="mandatory">libgnomecanvas-devel</packagereq>
+ <packagereq type="mandatory">libgnomeui-devel</packagereq>
+ <packagereq type="mandatory">libgtop-devel</packagereq>
+ <packagereq type="mandatory">libole2-devel</packagereq>
+ <packagereq type="mandatory">librsvg-devel</packagereq>
+ <packagereq type="mandatory">librsvg2-devel</packagereq>
+ <packagereq type="mandatory">libunicode-devel</packagereq>
+ <packagereq type="mandatory">libxslt-devel</packagereq>
+ <packagereq type="mandatory">linc-devel</packagereq>
+ <packagereq type="mandatory">oaf-devel</packagereq>
+ <packagereq type="mandatory">pango-devel</packagereq>
+ <packagereq type="optional">glade</packagereq>
+ <packagereq type="optional">glade2</packagereq>
+ </packagelist>
+ </group>
+
+ <group>
+ <id>kde-software-development</id>
+ <name>KDE Software Development</name>
+ <name xml:lang="cs">Vývoj software pro GNOME</name>
+ <name xml:lang="da">KDE-programmeludvikling</name>
+ <name xml:lang="de">KDE Softwareentwicklung</name>
+ <name xml:lang="es">Desarrollo de software para KDE</name>
+ <name xml:lang="fr">Développement de logiciel KDE</name>
+ <name xml:lang="is">Hugbúnaðarþróun fyrir KDE</name>
+ <name xml:lang="it">Sviluppo software KDE</name>
+ <name xml:lang="ja">KDEソフトウェア開発</name>
+ <name xml:lang="ko">KDE 소프트웨어 개발</name>
+ <name xml:lang="no">Programvareutvikling for KDE</name>
+ <name xml:lang="pt">Desenvolvimento de Software KDE</name>
+ <name xml:lang="ru">СредÑтва Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ в KDE</name>
+ <name xml:lang="sv">KDE-programvaruutveckling</name>
+ <name xml:lang="zh_CN">KDE 软件开å‘</name>
+ <name xml:lang="zh_TW">KDE 軟體開發</name>
+ <description>Install these packages to develop QT and KDE graphical applications.</description>
+ <description xml:lang="cs">Tyto balíÄky nainstalujte pro vývoj grafických aplikací pro QT a KDE.</description>
+ <description xml:lang="da">Installér disse pakker for at udvikle grafiske programmer som bruger QT og KDE.</description>
+ <description xml:lang="de">Installieren Sie diese Pakete, um Applikationen für QT und KDE zu entwickeln.</description>
+ <description xml:lang="es">Instalar estos paquetes para desarrollar las aplicaciones gráficas QT y KDE.</description>
+ <description xml:lang="fr">Installer ces paquetages pour développer les applications graphiques QT et KDE.</description>
+ <description xml:lang="is">Settu þessa pakka inn ef þú vilt þróa QT og KDE forrit</description>
+ <description xml:lang="it">Installare questi pacchetti per sviluppare le applicazioni grafiche QT e KDE.</description>
+ <description xml:lang="ja">QTã¨KDEã®ã‚°ãƒ©ãƒ•ã‚£ã‚«ãƒ«ã‚¢ãƒ—リケーション開発ã«ã¯ã“れらã®ãƒ‘ッケージをインストールã—ã¾ã™ã€‚</description>
+ <description xml:lang="ko">QT와 KDE 그래픽 ì‘ìš© í”„ë¡œê·¸ëž¨ì„ ê°œë°œí•˜ì‹œë ¤ë©´ ì´ íŒ¨í‚¤ì§€ë¥¼ 설치하십시오.</description>
+ <description xml:lang="no">Installer disse pakkene for utvikling av QT og KDE-programmer.</description>
+ <description xml:lang="pt">Instale estes pacotes se quiser desenvolver aplicações gráficas QT ou KDE.</description>
+ <description xml:lang="ru">УÑтановите Ñти пакеты Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ приложений QT и KDE.</description>
+ <description xml:lang="sv">Installera dessa paket för att utveckla grafiska program för QT och KDE.</description>
+ <description xml:lang="zh_CN">安装这些软件包æ¥å¼€å‘ QT å’Œ KDE 图形化应用程åºã€‚</description>
+ <description xml:lang="zh_TW">請安è£é€™äº›å¥—件,用來開發 QT 與 KDE 的圖形應用程å¼ã€‚</description>
+ <uservisible>true</uservisible>
+ <packagelist>
+ <packagereq type="mandatory">PyQt-devel</packagereq>
+ <packagereq type="mandatory">arts-devel</packagereq>
+ <packagereq type="mandatory">cdparanoia-devel</packagereq>
+ <packagereq type="mandatory">cervisia</packagereq>
+ <packagereq type="mandatory">cups-devel</packagereq>
+ <packagereq type="mandatory">kdbg</packagereq>
+ <packagereq type="mandatory">kdebase-devel</packagereq>
+ <packagereq type="mandatory">kdelibs-devel</packagereq>
+ <packagereq type="mandatory">kdenetwork-devel</packagereq>
+ <packagereq type="mandatory">kdesdk-kapptemplate</packagereq>
+ <packagereq type="mandatory">kdesdk-kbabel</packagereq>
+ <packagereq type="mandatory">kdesdk-kbugbuster</packagereq>
+ <packagereq type="mandatory">kdesdk-kmtrace</packagereq>
+ <packagereq type="mandatory">kdesdk-kompare</packagereq>
+ <packagereq type="mandatory">kdesdk-kspy</packagereq>
+ <packagereq type="mandatory">kdepim-devel</packagereq>
+ <packagereq type="mandatory">kdevelop</packagereq>
+ <packagereq type="mandatory">kdoc</packagereq>
+ <packagereq type="mandatory">kregexpeditor-devel</packagereq>
+ <packagereq type="mandatory">kviewshell-devel</packagereq>
+ <packagereq type="mandatory">libkscan-devel</packagereq>
+ <packagereq type="mandatory">pilot-link-devel</packagereq>
+ <packagereq type="mandatory">qt-designer</packagereq>
+ <packagereq type="mandatory">qt-devel</packagereq>
+ <packagereq type="mandatory">sane-backends-devel</packagereq>
+ <packagereq type="mandatory">sip-devel</packagereq>
+ <packagereq type="mandatory">libxslt-devel</packagereq>
+ </packagelist>
+ </group>
+
+ <!-- META GROUPS -->
+ <group>
+ <id>workstation-common</id>
+ <uservisible>false</uservisible>
+ <name>Workstation Common</name>
+ <name xml:lang="cs">SpoleÄné pro pracovní stanici</name>
+ <name xml:lang="da">Fælles for arbejdsstation</name>
+ <name xml:lang="de">Workstation Common</name>
+ <name xml:lang="es">Zona común de la estación de trabajo</name>
+ <name xml:lang="fr">Poste de travail commun</name>
+ <name xml:lang="is">Almennt fyrir vinnustöðvar</name>
+ <name xml:lang="it">Workstation Common</name>
+ <name xml:lang="ja">ワークステーション共通</name>
+ <name xml:lang="ko">ì›ìŠ¤í…Œì´ì…˜ 공통</name>
+ <name xml:lang="no">Arbeidsstasjon - felles</name>
+ <name xml:lang="pt">Estação de Trabalho Comum</name>
+ <name xml:lang="ru">Ð¢Ð¸Ð¿Ð¾Ð²Ð°Ñ Ð Ð°Ð±Ð¾Ñ‡Ð°Ñ Ð¡Ñ‚Ð°Ð½Ñ†Ð¸Ñ</name>
+ <name xml:lang="sv">Gemensamt för arbetsstation</name>
+ <name xml:lang="zh_CN">工作站通用</name>
+ <name xml:lang="zh_TW">工作站共åŒ</name>
+ <grouplist>
+ <groupreq>base</groupreq>
+ <groupreq>base-x</groupreq>
+ <groupreq>admin-tools</groupreq>
+ <groupreq>editors</groupreq>
+ <groupreq>sound-and-video</groupreq>
+ <groupreq>dialup</groupreq>
+ <groupreq>office</groupreq>
+ <groupreq>graphical-internet</groupreq>
+ <groupreq>text-internet</groupreq>
+ <groupreq>printing</groupreq>
+ <groupreq>graphics</groupreq>
+ <groupreq>games</groupreq>
+ </grouplist>
+ </group>
+
+ <group>
+ <id>server</id>
+ <uservisible>false</uservisible>
+ <name>Server</name>
+ <name xml:lang="cs">Server</name>
+ <name xml:lang="da">Server</name>
+ <name xml:lang="de">Server</name>
+ <name xml:lang="es">Servidor</name>
+ <name xml:lang="fr">Serveur</name>
+ <name xml:lang="is">Þjónn</name>
+ <name xml:lang="it">Server</name>
+ <name xml:lang="ja">サーãƒ</name>
+ <name xml:lang="ko">서버</name>
+ <name xml:lang="no">Tjener</name>
+ <name xml:lang="pt">Servidor</name>
+ <name xml:lang="ru">Сервер</name>
+ <name xml:lang="sv">Server</name>
+ <name xml:lang="zh_CN">æœåŠ¡å™¨</name>
+ <name xml:lang="zh_TW">伺æœå™¨</name>
+ <grouplist>
+ <groupreq>base</groupreq>
+ <groupreq>printing</groupreq>
+ <groupreq>text-internet</groupreq>
+ <groupreq>dialup</groupreq>
+ <groupreq>web-server</groupreq>
+ <groupreq>smb-server</groupreq>
+ <groupreq>server-cfg</groupreq>
+ <groupreq>admin-tools</groupreq>
+ </grouplist>
+ </group>
+
+ <group>
+ <id>gnome</id>
+ <uservisible>false</uservisible>
+ <name>GNOME</name>
+ <name xml:lang="cs">GNOME</name>
+ <name xml:lang="da">Gnome</name>
+ <name xml:lang="de">GNOME</name>
+ <name xml:lang="es">GNOME</name>
+ <name xml:lang="fr">GNOME</name>
+ <name xml:lang="is">GNOME</name>
+ <name xml:lang="it">GNOME</name>
+ <name xml:lang="ja">GNOME </name>
+ <name xml:lang="ko">GNOME</name>
+ <name xml:lang="no">GNOME</name>
+ <name xml:lang="pt">GNOME</name>
+ <name xml:lang="ru">GNOME</name>
+ <name xml:lang="sv">GNOME</name>
+ <name xml:lang="zh_CN">GNOME</name>
+ <name xml:lang="zh_TW">GNOME</name>
+ <grouplist>
+ <groupreq>gnome-desktop</groupreq>
+ </grouplist>
+ </group>
+
+ <group>
+ <id>kde</id>
+ <uservisible>false</uservisible>
+ <name>KDE</name>
+ <name xml:lang="cs">KDE</name>
+ <name xml:lang="da">KDE</name>
+ <name xml:lang="de">KDE</name>
+ <name xml:lang="es">KDE</name>
+ <name xml:lang="fr">KDE</name>
+ <name xml:lang="is">KDE</name>
+ <name xml:lang="it">KDE</name>
+ <name xml:lang="ja">KDE</name>
+ <name xml:lang="ko">KDE</name>
+ <name xml:lang="no">KDE</name>
+ <name xml:lang="pt">KDE</name>
+ <name xml:lang="ru">KDE</name>
+ <name xml:lang="sv">KDE</name>
+ <name xml:lang="zh_CN">KDE</name>
+ <name xml:lang="zh_TW">KDE</name>
+ <grouplist>
+ <groupreq>kde-desktop</groupreq>
+ </grouplist>
+ </group>
+
+ <group>
+ <id>supported</id>
+ <uservisible>false</uservisible>
+ <name>Supported Packages</name>
+ <name xml:lang="cs">Podporované balíÄky</name>
+ <name xml:lang="da">Pakker som understøttes</name>
+ <name xml:lang="de">Unterstützte Pakete</name>
+ <name xml:lang="es">Paquetes soportados</name>
+ <name xml:lang="fr">Paquetages pris en charge</name>
+ <name xml:lang="is">Studdir pakkar</name>
+ <name xml:lang="it">Pacchetti supportati</name>
+ <name xml:lang="ja">サãƒãƒ¼ãƒˆã•ã‚Œã‚‹ãƒ‘ッケージ</name>
+ <name xml:lang="ko">지ì›í•˜ëŠ” 패키지</name>
+ <name xml:lang="no">Støttede pakker</name>
+ <name xml:lang="pt">Pacotes Suportados</name>
+ <name xml:lang="ru">Поддерживаемые пакеты</name>
+ <name xml:lang="sv">Paket som stöds</name>
+ <name xml:lang="zh_CN">支æŒçš„软件包</name>
+ <name xml:lang="zh_TW">支æ´çš„套件</name>
+ <packagelist>
+ <packagereq type="optional">anaconda</packagereq>
+ <packagereq type="optional">anaconda-help</packagereq>
+ <packagereq type="optional">anaconda-images</packagereq>
+ <packagereq type="optional">anaconda-runtime</packagereq>
+ <packagereq type="optional">booty</packagereq>
+ </packagelist>
+ </group>
+
+ <!-- group hierarchy -->
+ <grouphierarchy>
+ <category>
+ <name>Desktops</name>
+ <name xml:lang="cs">Prostředí pracovní plochy</name>
+ <name xml:lang="da">Skriveborde</name>
+ <name xml:lang="is">Skjáborð</name>
+ <name xml:lang="ja">デスクトップ</name>
+ <name xml:lang="ko">ë°ìŠ¤í¬íƒ‘</name>
+ <name xml:lang="no">Skrivebord</name>
+ <name xml:lang="pt">Ambiente de Trabalho</name>
+ <name xml:lang="ru">Оконные менеджеры</name>
+ <name xml:lang="sv">Skrivbord</name>
+ <name xml:lang="zh_CN">æ¡Œé¢</name>
+ <name xml:lang="zh_TW">æ¡Œé¢</name>
+ <subcategories>
+ <subcategory>base-x</subcategory>
+ <subcategory>gnome-desktop</subcategory>
+ <subcategory>kde-desktop</subcategory>
+ </subcategories>
+ </category>
+ <category>
+ <name>Applications</name>
+ <name xml:lang="cs">Aplikace</name>
+ <name xml:lang="da">Programmer</name>
+ <name xml:lang="is">Forrit</name>
+ <name xml:lang="ja">アプリケーション</name>
+ <name xml:lang="ko">ì‘ìš© 프로그램</name>
+ <name xml:lang="no">Programmer</name>
+ <name xml:lang="pt">Aplicações</name>
+ <name xml:lang="ru">ПриложениÑ</name>
+ <name xml:lang="sv">Program</name>
+ <name xml:lang="zh_CN">应用程åº</name>
+ <name xml:lang="zh_TW">應用程å¼</name>
+ <subcategories>
+ <subcategory>editors</subcategory>
+ <subcategory>engineering-and-scientific</subcategory>
+ <subcategory>graphical-internet</subcategory>
+ <subcategory>text-internet</subcategory>
+ <subcategory>office</subcategory>
+ <subcategory>sound-and-video</subcategory>
+ <subcategory>authoring-and-publishing</subcategory>
+ <subcategory>graphics</subcategory>
+ <subcategory>games</subcategory>
+ </subcategories>
+ </category>
+ <category>
+ <name>Servers</name>
+ <name xml:lang="cs">Servery</name>
+ <name xml:lang="da">Servere</name>
+ <name xml:lang="de">Server</name>
+ <name xml:lang="is">Þjónar</name>
+ <name xml:lang="ja">サーãƒ</name>
+ <name xml:lang="ko">서버</name>
+ <name xml:lang="no">Tjenere</name>
+ <name xml:lang="pt">Servidores</name>
+ <name xml:lang="ru">Серверы</name>
+ <name xml:lang="sv">Servrar</name>
+ <name xml:lang="zh_CN">æœåŠ¡å™¨</name>
+ <name xml:lang="zh_TW">伺æœå™¨</name>
+ <subcategories>
+ <subcategory>server-cfg</subcategory>
+ <subcategory>web-server</subcategory>
+ <subcategory>mail-server</subcategory>
+ <subcategory>smb-server</subcategory>
+ <subcategory>dns-server</subcategory>
+ <subcategory>ftp-server</subcategory>
+ <subcategory>sql-server</subcategory>
+ <subcategory>news-server</subcategory>
+ <subcategory>network-server</subcategory>
+ </subcategories>
+ </category>
+ <category>
+ <name>Development</name>
+ <name xml:lang="cs">Vývoj</name>
+ <name xml:lang="da">Udvikling</name>
+ <name xml:lang="de">Softwareentwicklung</name>
+ <name xml:lang="is">Þróun</name>
+ <name xml:lang="ja">開発</name>
+ <name xml:lang="ko">개발용 ë„구</name>
+ <name xml:lang="no">Utviklingsverktøy</name>
+ <name xml:lang="pt">Desenvolvimento</name>
+ <name xml:lang="ru">Программирование</name>
+ <name xml:lang="sv">Utveckling</name>
+ <name xml:lang="zh_CN">å¼€å‘</name>
+ <name xml:lang="zh_TW">程å¼é–‹ç™¼</name>
+ <subcategories>
+ <subcategory>development-tools</subcategory>
+ <subcategory>kernel-development</subcategory>
+ <subcategory>x-software-development</subcategory>
+ <subcategory>gnome-software-development</subcategory>
+ <subcategory>kde-software-development</subcategory>
+ </subcategories>
+ </category>
+ <category>
+ <name>System</name>
+ <name xml:lang="cs">Systém</name>
+ <name xml:lang="da">System</name>
+ <name xml:lang="de">Systemtools</name>
+ <name xml:lang="is">Kerfi</name>
+ <name xml:lang="ja">システム</name>
+ <name xml:lang="ko">시스템</name>
+ <name xml:lang="no">System</name>
+ <name xml:lang="pt">Sistema</name>
+ <name xml:lang="ru">СиÑтема</name>
+ <name xml:lang="sv">System</name>
+ <name xml:lang="zh_CN">系统</name>
+ <name xml:lang="zh_TW">系統</name>
+ <subcategories>
+ <subcategory>admin-tools</subcategory>
+ <subcategory>system-tools</subcategory>
+ <subcategory>printing</subcategory>
+ </subcategories>
+ </category>
+ </grouphierarchy>
+
+ <!-- packages -->
+ <package>
+ <name>busybox</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libtool-libs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kpaint</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Estonian</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libpng10-devel</name>
+ <dependencylist>
+ <dependency>libpng10</dependency>
+ <dependency>zlib-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tclx</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>tcl</dependency>
+ <dependency>tk</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnomemeeting</name>
+ <dependencylist>
+ <dependency>openh323</dependency>
+ <dependency>pwlib</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>openldap</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>SDL</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtk+-devel</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>glib-devel</dependency>
+ <dependency>XFree86-devel</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gdbm</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cdrecord-devel</name>
+ <dependencylist>
+ <dependency>cdrecord</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wl-xemacs</name>
+ <dependencylist>
+ <dependency>xemacs</dependency>
+ <dependency>wl-common</dependency>
+ <dependency>flim-xemacs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lapack-man</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Compress-Zlib</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>modutils-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnuchess</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-audio</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mikmod</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ruby-tcltk</name>
+ <dependencylist>
+ <dependency>ruby-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>tcl</dependency>
+ <dependency>tk</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>postgresql-libs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tk</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>tcl</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Xbae</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>openmotif</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bzip2-libs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cadaver</name>
+ <dependencylist>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>klpq</name>
+ <dependencylist>
+ <dependency>LPRng</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-es</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>man-pages-es</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fam</name>
+ <dependencylist>
+ <dependency>portmap</dependency>
+ <dependency>xinetd</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openh323</name>
+ <dependencylist>
+ <dependency>pwlib</dependency>
+ <dependency>glibc</dependency>
+ <dependency>openssl</dependency>
+ <dependency>expat</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ncftp</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>basesystem</name>
+ <dependencylist>
+ <dependency>setup</dependency>
+ <dependency>filesystem</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ttfonts-ko</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rpm-build</name>
+ <dependencylist>
+ <dependency>rpm</dependency>
+ <dependency>patch</dependency>
+ <dependency>file</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libelf</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mew-common</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rhmask</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libaio-devel</name>
+ <dependencylist>
+ <dependency>libaio</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lisa</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gimp-perl</name>
+ <dependencylist>
+ <dependency>gimp</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>Gtk-Perl</dependency>
+ <dependency>perl-PDL</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>parted</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>e2fsprogs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>zlib</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dosfstools</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xmms</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>unzip</dependency>
+ <dependency>redhat-menus</dependency>
+ <dependency>redhat-artwork</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>mikmod</dependency>
+ <dependency>libogg</dependency>
+ <dependency>libvorbis</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libtermcap</name>
+ <dependencylist>
+ <dependency>termcap</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>firstboot</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>usermode</dependency>
+ <dependency>metacity</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>redhat-config-date</dependency>
+ <dependency>redhat-config-language</dependency>
+ <dependency>redhat-config-mouse</dependency>
+ <dependency>redhat-config-keyboard</dependency>
+ <dependency>redhat-config-soundcard</dependency>
+ <dependency>redhat-config-securitylevel</dependency>
+ <dependency>redhat-config-rootpassword</dependency>
+ <dependency>redhat-config-packages</dependency>
+ <dependency>up2date</dependency>
+ <dependency>redhat-logos</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libxslt</name>
+ <dependencylist>
+ <dependency>libxml2</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-base-fonts</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-DBD-Pg</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-DBI</dependency>
+ <dependency>glibc</dependency>
+ <dependency>postgresql-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sendmail</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>gawk</dependency>
+ <dependency>sed</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>procmail</dependency>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>db4</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>hesiod</dependency>
+ <dependency>openldap</dependency>
+ <dependency>cyrus-sasl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Devel-Symdump</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openssl-devel</name>
+ <dependencylist>
+ <dependency>openssl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>asp2php</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kernel-pcmcia-cs</name>
+ <dependencylist>
+ <dependency>kernel</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>kudzu</dependency>
+ <dependency>hotplug</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libwnck-devel</name>
+ <dependencylist>
+ <dependency>libwnck</dependency>
+ <dependency>glib2-devel</dependency>
+ <dependency>pango-devel</dependency>
+ <dependency>gtk2-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pump-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ggv</name>
+ <dependencylist>
+ <dependency>GConf2</dependency>
+ <dependency>scrollkeeper</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ncurses-devel</name>
+ <dependencylist>
+ <dependency>ncurses</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-printer</name>
+ <dependencylist>
+ <dependency>alchemist</dependency>
+ <dependency>python</dependency>
+ <dependency>perl</dependency>
+ <dependency>PyXML</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>gzip</dependency>
+ <dependency>sed</dependency>
+ <dependency>LPRng</dependency>
+ <dependency>m4</dependency>
+ <dependency>pnm2ppa</dependency>
+ <dependency>bzip2</dependency>
+ <dependency>foomatic</dependency>
+ <dependency>ghostscript</dependency>
+ <dependency>newt</dependency>
+ <dependency>Omni-foomatic</dependency>
+ <dependency>mpage</dependency>
+ <dependency>usermode</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libao-devel</name>
+ <dependencylist>
+ <dependency>libao</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mew</name>
+ <dependencylist>
+ <dependency>emacs</dependency>
+ <dependency>mew-common</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xinetd</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>filesystem</dependency>
+ <dependency>setup</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>knewsticker</name>
+ <dependencylist>
+ <dependency>kdenetwork-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>galeon</name>
+ <dependencylist>
+ <dependency>glib</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>libxml</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>GConf</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>oaf</dependency>
+ <dependency>gnome-vfs</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>libglade</dependency>
+ <dependency>mozilla</dependency>
+ <dependency>perl</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libxslt-devel</name>
+ <dependencylist>
+ <dependency>libxslt</dependency>
+ <dependency>libxml2-devel</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vim-X11</name>
+ <dependencylist>
+ <dependency>vim-common</dependency>
+ <dependency>libacl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>gpm</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>perl</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>symlinks</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rpm2html</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>popt</dependency>
+ <dependency>rpm</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtkam</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>gphoto2</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sh-utils</name>
+ <dependencylist>
+ <dependency>pam</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-twm</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>alchemist</name>
+ <dependencylist>
+ <dependency>libxml2</dependency>
+ <dependency>libxslt</dependency>
+ <dependency>glibc</dependency>
+ <dependency>python</dependency>
+ <dependency>glib</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>njamd</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xosview</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dictd</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ethereal-gnome</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>usermode</dependency>
+ <dependency>ethereal</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ <dependency>libpcap</dependency>
+ <dependency>net-snmp</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>netpbm-devel</name>
+ <dependencylist>
+ <dependency>netpbm</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mouseconfig</name>
+ <dependencylist>
+ <dependency>findutils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>newt</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdeaddons-kate</name>
+ <dependencylist>
+ <dependency>kdebase</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vlock</name>
+ <dependencylist>
+ <dependency>pam</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-lsb</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>gawk</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>cpio</dependency>
+ <dependency>grep</dependency>
+ <dependency>gzip</dependency>
+ <dependency>net-tools</dependency>
+ <dependency>util-linux</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>mount</dependency>
+ <dependency>procps</dependency>
+ <dependency>sed</dependency>
+ <dependency>bash</dependency>
+ <dependency>tar</dependency>
+ <dependency>psmisc</dependency>
+ <dependency>SysVinit</dependency>
+ <dependency>binutils</dependency>
+ <dependency>at</dependency>
+ <dependency>bc</dependency>
+ <dependency>diffutils</dependency>
+ <dependency>vixie-cron</dependency>
+ <dependency>file</dependency>
+ <dependency>findutils</dependency>
+ <dependency>glibc-common</dependency>
+ <dependency>LPRng</dependency>
+ <dependency>m4</dependency>
+ <dependency>make</dependency>
+ <dependency>man</dependency>
+ <dependency>passwd</dependency>
+ <dependency>patch</dependency>
+ <dependency>rsync</dependency>
+ <dependency>time</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>postfix</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>usermode-gtk</name>
+ <dependencylist>
+ <dependency>usermode</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ltrace</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-XML-Parser</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-libwww-perl</dependency>
+ <dependency>perl-URI</dependency>
+ <dependency>glibc</dependency>
+ <dependency>expat</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fortune-mod</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gphoto2-devel</name>
+ <dependencylist>
+ <dependency>gphoto2</dependency>
+ <dependency>pkgconfig</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>librsvg-devel</name>
+ <dependencylist>
+ <dependency>librsvg</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-vfs2-devel</name>
+ <dependencylist>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>GConf2-devel</dependency>
+ <dependency>libbonobo-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mysql-devel</name>
+ <dependencylist>
+ <dependency>mysql</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kpppload</name>
+ <dependencylist>
+ <dependency>kdelibs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Filter-Simple</name>
+ <dependencylist>
+ <dependency>perl-Filter</dependency>
+ <dependency>perl-Parse-RecDescent</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gmp-devel</name>
+ <dependencylist>
+ <dependency>gmp</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-kickstart</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>python</dependency>
+ <dependency>hwdata</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kmid</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>WindowMaker-libs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libungif</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-spell</name>
+ <dependencylist>
+ <dependency>gnome-libs</dependency>
+ <dependency>aspell</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>bonobo</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgal19</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>libglade</dependency>
+ <dependency>glib</dependency>
+ <dependency>gdk-pixbuf-gnome</dependency>
+ <dependency>libgnomeprint15</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>oaf</dependency>
+ <dependency>pspell</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vte-devel</name>
+ <dependencylist>
+ <dependency>vte</dependency>
+ <dependency>gtk2-devel</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libbonoboui</name>
+ <dependencylist>
+ <dependency>libxml2</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glibc</dependency>
+ <dependency>atk</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>linc</dependency>
+ <dependency>pango</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>m4</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>timeconfig</name>
+ <dependencylist>
+ <dependency>initscripts</dependency>
+ <dependency>glibc</dependency>
+ <dependency>util-linux</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>gawk</dependency>
+ <dependency>bash</dependency>
+ <dependency>newt</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bash</name>
+ <dependencylist>
+ <dependency>mktemp</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kmix</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Frontier-RPC</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-libwww-perl</dependency>
+ <dependency>perl-XML-Parser</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>blas</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgnomeprintui-devel</name>
+ <dependencylist>
+ <dependency>libgnomeprintui</dependency>
+ <dependency>gtk2-devel</dependency>
+ <dependency>libgnomeprint-devel</dependency>
+ <dependency>libgnomecanvas-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>expat</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nkf</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>authconfig-gtk</name>
+ <dependencylist>
+ <dependency>authconfig</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>pam</dependency>
+ <dependency>python</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>statserial</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdenetwork-devel</name>
+ <dependencylist>
+ <dependency>kdenetwork-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mozilla</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>perl</dependency>
+ <dependency>psmisc</dependency>
+ <dependency>mozilla-nspr</dependency>
+ <dependency>indexhtml</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>compat-libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>portmap</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>util-linux</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Maelstrom</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>SDL</dependency>
+ <dependency>SDL_net</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sysreport</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>gawk</dependency>
+ <dependency>grep</dependency>
+ <dependency>sed</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cdparanoia</name>
+ <dependencylist>
+ <dependency>cdparanoia-libs</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>indent</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xsane</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>sane-backends</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libusb</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>parted-devel</name>
+ <dependencylist>
+ <dependency>parted</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mc</name>
+ <dependencylist>
+ <dependency>pam</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>dev</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>e2fsprogs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ <dependency>gpm</dependency>
+ <dependency>slang</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>autoconf213</name>
+ <dependencylist>
+ <dependency>gawk</dependency>
+ <dependency>m4</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>perl</dependency>
+ <dependency>textutils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ruby-libs</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>setup</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>desktop-backgrounds-basic</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-ISO8859-9-75dpi-fonts</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>db4-utils</name>
+ <dependencylist>
+ <dependency>db4</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>postgresql-jdbc</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Norwegian</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kamera</name>
+ <dependencylist>
+ <dependency>gphoto2</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libusb</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>samba-swat</name>
+ <dependencylist>
+ <dependency>samba</dependency>
+ <dependency>xinetd</dependency>
+ <dependency>libacl</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>cups-libs</dependency>
+ <dependency>pam</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mx</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bg5ps</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ <dependency>freetype</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nautilus</name>
+ <dependencylist>
+ <dependency>fam</dependency>
+ <dependency>filesystem</dependency>
+ <dependency>eog</dependency>
+ <dependency>scrollkeeper</dependency>
+ <dependency>desktop-backgrounds-basic</dependency>
+ <dependency>redhat-menus</dependency>
+ <dependency>redhat-artwork</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>eel2</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>gail</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>gnome-desktop</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>librsvg2</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sendmail-cf</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>diffstat</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-75dpi-fonts</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtk2-devel</name>
+ <dependencylist>
+ <dependency>gtk2</dependency>
+ <dependency>pango-devel</dependency>
+ <dependency>atk-devel</dependency>
+ <dependency>glib2-devel</dependency>
+ <dependency>XFree86-devel</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>compat-libgcj-devel</name>
+ <dependencylist>
+ <dependency>zip</dependency>
+ <dependency>compat-libgcj</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>SDL_mixer-devel</name>
+ <dependencylist>
+ <dependency>SDL_mixer</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Serbian</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ncurses4</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openldap-devel</name>
+ <dependencylist>
+ <dependency>openldap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kon2-fonts</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>routed</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-vfs2</name>
+ <dependencylist>
+ <dependency>gnome-mime-data</dependency>
+ <dependency>redhat-menus</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>perl</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>fam</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ImageMagick-c++</name>
+ <dependencylist>
+ <dependency>ImageMagick</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glib-devel</name>
+ <dependencylist>
+ <dependency>glib</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xloadimage</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>eruby</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>eruby-libs</dependency>
+ <dependency>ruby-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cyrus-sasl-gssapi</name>
+ <dependencylist>
+ <dependency>cyrus-sasl</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>passivetex</name>
+ <dependencylist>
+ <dependency>tetex</dependency>
+ <dependency>xmltex</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-pilot-devel</name>
+ <dependencylist>
+ <dependency>ORBit-devel</dependency>
+ <dependency>pilot-link-devel</dependency>
+ <dependency>gnome-pilot</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>emacs-leim</name>
+ <dependencylist>
+ <dependency>emacs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgnomeui-devel</name>
+ <dependencylist>
+ <dependency>libgnomeui</dependency>
+ <dependency>zlib-devel</dependency>
+ <dependency>esound-devel</dependency>
+ <dependency>ORBit2-devel</dependency>
+ <dependency>glib2-devel</dependency>
+ <dependency>pango-devel</dependency>
+ <dependency>gtk2-devel</dependency>
+ <dependency>GConf2-devel</dependency>
+ <dependency>gnome-vfs2-devel</dependency>
+ <dependency>libgnomecanvas-devel</dependency>
+ <dependency>bonobo-activation-devel</dependency>
+ <dependency>libbonobo-devel</dependency>
+ <dependency>libbonoboui-devel</dependency>
+ <dependency>libxml2-devel</dependency>
+ <dependency>libgnome-devel</dependency>
+ <dependency>libart_lgpl-devel</dependency>
+ <dependency>libglade2-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rhpl</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtk-engines</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>imlib</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Xft</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>freetype</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lam</name>
+ <dependencylist>
+ <dependency>openssh-server</dependency>
+ <dependency>openssh-clients</dependency>
+ <dependency>bash</dependency>
+ <dependency>libaio</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>jadetex</name>
+ <dependencylist>
+ <dependency>sgml-common</dependency>
+ <dependency>tetex</dependency>
+ <dependency>tetex-latex</dependency>
+ <dependency>openjade</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-vfs-extras</name>
+ <dependencylist>
+ <dependency>gnome-vfs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>cups-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>jfsutils</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cWnn-devel</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>inn-devel</name>
+ <dependencylist>
+ <dependency>inn</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xdelta</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>glib</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ghostscript-gtk</name>
+ <dependencylist>
+ <dependency>ghostscript</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fonts-ISO8859-2-100dpi</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>netdump-server</name>
+ <dependencylist>
+ <dependency>shadow-utils</dependency>
+ <dependency>openssh-server</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Crypt-SSLeay</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell</name>
+ <dependencylist>
+ <dependency>pspell</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libtool-libs</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdemultimedia-kfile</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libogg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libvorbis</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openh323-devel</name>
+ <dependencylist>
+ <dependency>openh323</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lha</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>postfix</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>pcre</dependency>
+ <dependency>cyrus-sasl</dependency>
+ <dependency>openssl</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>db4</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mrproject</name>
+ <dependencylist>
+ <dependency>glib</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>libxml</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>oaf</dependency>
+ <dependency>gnome-vfs</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>bonobo</dependency>
+ <dependency>popt</dependency>
+ <dependency>gnome-print</dependency>
+ <dependency>gal</dependency>
+ <dependency>libglade</dependency>
+ <dependency>libmrproject</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pciutils</name>
+ <dependencylist>
+ <dependency>kernel</dependency>
+ <dependency>hwdata</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Glide3</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libwvstreams</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>openssl</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wine</name>
+ <dependencylist>
+ <dependency>shadow-utils</dependency>
+ <dependency>cups-libs</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>arts</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>sane-backends</dependency>
+ <dependency>libusb</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openssh-clients</name>
+ <dependencylist>
+ <dependency>openssh</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qtcups</name>
+ <dependencylist>
+ <dependency>cups</dependency>
+ <dependency>qt</dependency>
+ <dependency>desktop-file-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>cups-libs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libIDL-devel</name>
+ <dependencylist>
+ <dependency>libIDL</dependency>
+ <dependency>pkgconfig</dependency>
+ <dependency>glib2-devel</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mars-nwe</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>ipxutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gdbm</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>man-pages-fr</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Time-HiRes</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>x3270</name>
+ <dependencylist>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>desktop-file-utils</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xmms-skins</name>
+ <dependencylist>
+ <dependency>xmms</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>anonftp</name>
+ <dependencylist>
+ <dependency>vsftpd</dependency>
+ <dependency>grep</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>gzip</dependency>
+ <dependency>cpio</dependency>
+ <dependency>tar</dependency>
+ <dependency>libtermcap</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>python-tools</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bonobo-conf</name>
+ <dependencylist>
+ <dependency>bonobo</dependency>
+ <dependency>GConf</dependency>
+ <dependency>oaf</dependency>
+ <dependency>glib</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>esound</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libungif-devel</name>
+ <dependencylist>
+ <dependency>libungif</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-devel</name>
+ <dependencylist>
+ <dependency>fontconfig</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kregexpeditor</name>
+ <dependencylist>
+ <dependency>kdelibs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ttfonts-ja</name>
+ <dependencylist>
+ <dependency>fontconfig</dependency>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cipe</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lslk</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libmng-devel</name>
+ <dependencylist>
+ <dependency>libmng</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>im-sdk</name>
+ <dependencylist>
+ <dependency>Canna-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>pam</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fonts-KOI8-R-75dpi</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mozilla-nss</name>
+ <dependencylist>
+ <dependency>mozilla-nspr</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>doxygen-doxywizard</name>
+ <dependencylist>
+ <dependency>doxygen</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kmidi</name>
+ <dependencylist>
+ <dependency>timidity++</dependency>
+ <dependency>arts</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-logos</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>compat-gcc-g77</name>
+ <dependencylist>
+ <dependency>compat-gcc</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Dutch</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdemultimedia-libs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libogg</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libvorbis</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>quanta</name>
+ <dependencylist>
+ <dependency>kdelibs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-libs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>grep</dependency>
+ <dependency>textutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>freetype</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>atk-devel</name>
+ <dependencylist>
+ <dependency>atk</dependency>
+ <dependency>glib2-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>giftrans</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtk2-engines</name>
+ <dependencylist>
+ <dependency>gtk2</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>foomatic</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-DateManip</dependency>
+ <dependency>perl-libxml-enno</dependency>
+ <dependency>perl-libxml-perl</dependency>
+ <dependency>perl-Parse-Yapp</dependency>
+ <dependency>perl-XML-Dumper</dependency>
+ <dependency>perl-XML-Encoding</dependency>
+ <dependency>perl-XML-Parser</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ <dependency>perl-libwww-perl</dependency>
+ <dependency>perl-XML-Grove</dependency>
+ <dependency>perl-XML-Twig</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ncpfs</name>
+ <dependencylist>
+ <dependency>ipxutils</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-mime-data</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ImageMagick-c++-devel</name>
+ <dependencylist>
+ <dependency>ImageMagick</dependency>
+ <dependency>ImageMagick-c++</dependency>
+ <dependency>ImageMagick-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kcharselect</name>
+ <dependencylist>
+ <dependency>kdebase</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dhclient</name>
+ <dependencylist>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libdbi</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Slovenian</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xmltex</name>
+ <dependencylist>
+ <dependency>tetex</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libxml2-devel</name>
+ <dependencylist>
+ <dependency>libxml2</dependency>
+ <dependency>zlib-devel</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>amanda-server</name>
+ <dependencylist>
+ <dependency>gnuplot</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>grep</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>xinetd</dependency>
+ <dependency>amanda</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>readline</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>diskcheck</name>
+ <dependencylist>
+ <dependency>crontabs</dependency>
+ <dependency>postfix</dependency>
+ <dependency>grep</dependency>
+ <dependency>bash</dependency>
+ <dependency>python</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>e2fsprogs-devel</name>
+ <dependencylist>
+ <dependency>e2fsprogs</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pdksh</name>
+ <dependencylist>
+ <dependency>grep</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fonts-ja</name>
+ <dependencylist>
+ <dependency>XFree86-100dpi-fonts</dependency>
+ <dependency>XFree86-75dpi-fonts</dependency>
+ <dependency>chkfontpath</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kWnn-devel</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>awesfx</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-doc</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-applets</name>
+ <dependencylist>
+ <dependency>scrollkeeper</dependency>
+ <dependency>gnome-panel</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>gail</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>libgtop2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-SGMLSpm</name>
+ <dependencylist>
+ <dependency>openjade</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libtool-libs13</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>koffice</name>
+ <dependencylist>
+ <dependency>kdelibs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>arts</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>libxslt</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>docbook-style-dsssl</name>
+ <dependencylist>
+ <dependency>openjade</dependency>
+ <dependency>docbook-dtds</dependency>
+ <dependency>sgml-common</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libavc1394-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cyrus-sasl-devel</name>
+ <dependencylist>
+ <dependency>cyrus-sasl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>pam</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>umb-scheme</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>eel2-devel</name>
+ <dependencylist>
+ <dependency>eel2</dependency>
+ <dependency>gtk2-devel</dependency>
+ <dependency>libgnomeui-devel</dependency>
+ <dependency>gnome-vfs2-devel</dependency>
+ <dependency>librsvg2-devel</dependency>
+ <dependency>bonobo-activation-devel</dependency>
+ <dependency>libxml2-devel</dependency>
+ <dependency>libart_lgpl-devel</dependency>
+ <dependency>gail-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>expect</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>tcl</dependency>
+ <dependency>tk</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gimp-print-cups</name>
+ <dependencylist>
+ <dependency>cups</dependency>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>cups-libs</dependency>
+ <dependency>gimp-print</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-kerberos</name>
+ <dependencylist>
+ <dependency>atk</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ftp</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>enscript</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>noatun</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdemultimedia-arts</dependency>
+ <dependency>arts</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgnomeprint-devel</name>
+ <dependencylist>
+ <dependency>libgnomeprint</dependency>
+ <dependency>glib2-devel</dependency>
+ <dependency>pango-devel</dependency>
+ <dependency>libxml2-devel</dependency>
+ <dependency>libart_lgpl-devel</dependency>
+ <dependency>libbonobo-devel</dependency>
+ <dependency>bonobo-activation-devel</dependency>
+ <dependency>freetype</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>freeciv</name>
+ <dependencylist>
+ <dependency>desktop-file-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ <dependency>Xaw3d</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>librpm404</name>
+ <dependencylist>
+ <dependency>gawk</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-print-devel</name>
+ <dependencylist>
+ <dependency>gnome-print</dependency>
+ <dependency>gdk-pixbuf-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>librep-devel</name>
+ <dependencylist>
+ <dependency>librep</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gdbm</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtkhtml2-devel</name>
+ <dependencylist>
+ <dependency>gtkhtml2</dependency>
+ <dependency>gtk2-devel</dependency>
+ <dependency>libxml2-devel</dependency>
+ <dependency>gnome-vfs2-devel</dependency>
+ <dependency>gail-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xtraceroute</name>
+ <dependencylist>
+ <dependency>gtkglarea</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>compat-libstdc++-devel</name>
+ <dependencylist>
+ <dependency>compat-libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>losetup</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ntp</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>sed</dependency>
+ <dependency>libcap</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sharutils</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>postgresql-python</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>mx</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>postgresql-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>PyQt-examples</name>
+ <dependencylist>
+ <dependency>PyQt</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>SDL_mixer</name>
+ <dependencylist>
+ <dependency>SDL</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libogg</dependency>
+ <dependency>libvorbis</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ktalkd</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ash</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>grep</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>eruby-libs</name>
+ <dependencylist>
+ <dependency>ruby-libs</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdebase-devel</name>
+ <dependencylist>
+ <dependency>kdebase</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdebindings-qtc</name>
+ <dependencylist>
+ <dependency>qt</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>VFlib2</name>
+ <dependencylist>
+ <dependency>XFree86-truetype-fonts</dependency>
+ <dependency>glibc</dependency>
+ <dependency>freetype</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xsane-gimp</name>
+ <dependencylist>
+ <dependency>gawk</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>gimp</dependency>
+ <dependency>glib</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>sane-backends</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libusb</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libtabe-devel</name>
+ <dependencylist>
+ <dependency>libtabe</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-media</name>
+ <dependencylist>
+ <dependency>scrollkeeper</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>gail</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openssh</name>
+ <dependencylist>
+ <dependency>util-linux</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openssl</name>
+ <dependencylist>
+ <dependency>mktemp</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>festival</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>stardict</name>
+ <dependencylist>
+ <dependency>openmotif</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qmkbootdisk</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>qt</dependency>
+ <dependency>mkbootdisk</dependency>
+ <dependency>desktop-file-utils</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ImageMagick</name>
+ <dependencylist>
+ <dependency>bzip2</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libungif</dependency>
+ <dependency>zlib</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libxml2</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wordtrans-web</name>
+ <dependencylist>
+ <dependency>wordtrans</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nedit</name>
+ <dependencylist>
+ <dependency>openmotif</dependency>
+ <dependency>desktop-file-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fonts-KOI8-R-100dpi</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>oaf-devel</name>
+ <dependencylist>
+ <dependency>oaf</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ipxutils</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kudzu-devel</name>
+ <dependencylist>
+ <dependency>pciutils-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ethereal</name>
+ <dependencylist>
+ <dependency>libpcap</dependency>
+ <dependency>net-snmp</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bootparamd</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>portmap</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>licq-gnome</name>
+ <dependencylist>
+ <dependency>licq</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdbg</name>
+ <dependencylist>
+ <dependency>gdb</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>usbview</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cups</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>cups-libs</dependency>
+ <dependency>htmlview</dependency>
+ <dependency>xinetd</dependency>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>pam</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gpm</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>glibc</dependency>
+ <dependency>info</dependency>
+ <dependency>pam</dependency>
+ <dependency>bash</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pmake</name>
+ <dependencylist>
+ <dependency>mktemp</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Xbae-devel</name>
+ <dependencylist>
+ <dependency>Xbae</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pkgconfig</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>php-mysql</name>
+ <dependencylist>
+ <dependency>php</dependency>
+ <dependency>perl</dependency>
+ <dependency>grep</dependency>
+ <dependency>mysql</dependency>
+ <dependency>zlib</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>jed</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>slang</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>autorun</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>krb5-server</name>
+ <dependencylist>
+ <dependency>krb5-libs</dependency>
+ <dependency>grep</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gkrellm</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>imlib</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kmessedwords</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtkhtml</name>
+ <dependencylist>
+ <dependency>gnome-print</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>pspell</dependency>
+ <dependency>bonobo</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>libcapplet0</dependency>
+ <dependency>esound</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgal19</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>libghttp</dependency>
+ <dependency>libglade</dependency>
+ <dependency>glib</dependency>
+ <dependency>gdk-pixbuf-gnome</dependency>
+ <dependency>libgnomeprint15</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>oaf</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kernel-bigmem</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>modutils</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>mkinitrd</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qt-PostgreSQL</name>
+ <dependencylist>
+ <dependency>qt</dependency>
+ <dependency>glibc</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>postgresql-libs</dependency>
+ <dependency>Xft</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>setuptool</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>newt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lrzsz</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>skkdic</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wordtrans</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>beecrypt</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>isdn4k-utils-devel</name>
+ <dependencylist>
+ <dependency>isdn4k-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>grep</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>pcre</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>guile</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>readline</dependency>
+ <dependency>umb-scheme</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ttfprint</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mkbootdisk</name>
+ <dependencylist>
+ <dependency>mkinitrd</dependency>
+ <dependency>dosfstools</dependency>
+ <dependency>syslinux</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tree</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>isdn4k-utils</name>
+ <dependencylist>
+ <dependency>initscripts</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>glibc</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>PyQt</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>qt</dependency>
+ <dependency>sip</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>h2ps</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openmotif</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnupg</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>openldap</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Italian</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>emacs-el</name>
+ <dependencylist>
+ <dependency>emacs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>python-docs</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-httpd</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>alchemist</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>pygtk2</dependency>
+ <dependency>gnome-python2</dependency>
+ <dependency>httpd</dependency>
+ <dependency>usermode</dependency>
+ <dependency>4Suite</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kstars</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cproto</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-British</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libraw1394-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>knotes</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ORBit</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openssl095a</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Spanish</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Parse-RecDescent</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>linuxdoc-tools</name>
+ <dependencylist>
+ <dependency>openjade</dependency>
+ <dependency>tetex-latex</dependency>
+ <dependency>gawk</dependency>
+ <dependency>groff</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libxml-devel</name>
+ <dependencylist>
+ <dependency>libxml</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fonts-KOI8-R</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>compat-libgcj</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>zip</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-ISO8859-2-100dpi-fonts</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>amanda-devel</name>
+ <dependencylist>
+ <dependency>amanda</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>genromfs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>python-devel</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kvoctrain</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>licq-qt</name>
+ <dependencylist>
+ <dependency>licq</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>automake14</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>automake15</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-date</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>gnome-python2-canvas</dependency>
+ <dependency>usermode</dependency>
+ <dependency>ntp</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gimp-print</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ghostscript</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-sv</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wireless-tools</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>passwd</name>
+ <dependencylist>
+ <dependency>pam</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ <dependency>popt</dependency>
+ <dependency>libuser</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>php-ldap</name>
+ <dependencylist>
+ <dependency>php</dependency>
+ <dependency>perl</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>openldap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>quota</name>
+ <dependencylist>
+ <dependency>kernel</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>isdn4k-utils-vboxgetty</name>
+ <dependencylist>
+ <dependency>isdn4k-utils</dependency>
+ <dependency>tcl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>SDL</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gdk-pixbuf</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>desktop-file-utils</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gdm</name>
+ <dependencylist>
+ <dependency>shadow-utils</dependency>
+ <dependency>scrollkeeper</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>librsvg2</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>pam</dependency>
+ <dependency>xinitrc</dependency>
+ <dependency>usermode</dependency>
+ <dependency>xsri</dependency>
+ <dependency>util-linux</dependency>
+ <dependency>redhat-artwork</dependency>
+ <dependency>redhat-menus</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libwnck</name>
+ <dependencylist>
+ <dependency>glib2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glibc</dependency>
+ <dependency>atk</dependency>
+ <dependency>pango</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>eel2</name>
+ <dependencylist>
+ <dependency>gtk2</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>librsvg2</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>gail</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>atk</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>usermode</name>
+ <dependencylist>
+ <dependency>util-linux</dependency>
+ <dependency>pam</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libuser</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>hesiod-devel</name>
+ <dependencylist>
+ <dependency>hesiod</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sendmail-doc</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qt-designer</name>
+ <dependencylist>
+ <dependency>qt-devel</dependency>
+ <dependency>glibc</dependency>
+ <dependency>qt</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>Xft</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdelibs</name>
+ <dependencylist>
+ <dependency>qt</dependency>
+ <dependency>arts</dependency>
+ <dependency>cups-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>python</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>pcre</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>libxslt</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>postgresql-contrib</name>
+ <dependencylist>
+ <dependency>postgresql-libs</dependency>
+ <dependency>postgresql</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>perl</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>pam</dependency>
+ <dependency>readline</dependency>
+ <dependency>libtermcap</dependency>
+ <dependency>zlib</dependency>
+ <dependency>perl-DBD-Pg</dependency>
+ <dependency>perl-DBI</dependency>
+ <dependency>postgresql-perl</dependency>
+ <dependency>perl-Time-HiRes</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gsl</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pam</name>
+ <dependencylist>
+ <dependency>cracklib</dependency>
+ <dependency>cracklib-dicts</dependency>
+ <dependency>glib</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>grep</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>sed</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>db4</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mozilla-dom-inspector</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>mozilla</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>mozilla-nspr</dependency>
+ <dependency>compat-libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>librsvg2-devel</name>
+ <dependencylist>
+ <dependency>librsvg2</dependency>
+ <dependency>gtk2-devel</dependency>
+ <dependency>libxml2-devel</dependency>
+ <dependency>freetype-devel</dependency>
+ <dependency>libart_lgpl-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ac-archive</name>
+ <dependencylist>
+ <dependency>autoconf</dependency>
+ <dependency>perl</dependency>
+ <dependency>automake</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bonobo-activation-devel</name>
+ <dependencylist>
+ <dependency>bonobo-activation</dependency>
+ <dependency>ORBit2-devel</dependency>
+ <dependency>libxml2-devel</dependency>
+ <dependency>glib2-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>anaconda-runtime</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mozilla-nspr-devel</name>
+ <dependencylist>
+ <dependency>mozilla-nspr</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-mouse</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>usermode</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>pyxf86config</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openldap-servers</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>make</dependency>
+ <dependency>openldap</dependency>
+ <dependency>openssl</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>libtool-libs</dependency>
+ <dependency>pam</dependency>
+ <dependency>cyrus-sasl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-XML-Twig</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-XML-Parser</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>stunnel</name>
+ <dependencylist>
+ <dependency>textutils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>glibc</dependency>
+ <dependency>words</dependency>
+ <dependency>net-tools</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>glibc-common</dependency>
+ <dependency>make</dependency>
+ <dependency>openssl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ddskk</name>
+ <dependencylist>
+ <dependency>emacs</dependency>
+ <dependency>apel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdeartwork-kworldclock</name>
+ <dependencylist>
+ <dependency>kdetoys</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-system-monitor</name>
+ <dependencylist>
+ <dependency>libgnomeui</dependency>
+ <dependency>libgtop2</dependency>
+ <dependency>libwnck</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cdp</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>findutils</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>isicom</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>popt</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>finger-server</name>
+ <dependencylist>
+ <dependency>xinetd</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fontconfig</name>
+ <dependencylist>
+ <dependency>freetype</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>expat</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>up2date-gnome</name>
+ <dependencylist>
+ <dependency>up2date</dependency>
+ <dependency>usermode</dependency>
+ <dependency>pam</dependency>
+ <dependency>pygtk2</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>gnome-python2</dependency>
+ <dependency>gnome-python2-canvas</dependency>
+ <dependency>usermode-gtk</dependency>
+ <dependency>python</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>patchutils</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sox-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-tools</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>freetype</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gcc-c++</name>
+ <dependencylist>
+ <dependency>gcc</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libstdc++-devel</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gimp-print-utils</name>
+ <dependencylist>
+ <dependency>gimp-print</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gsl-devel</name>
+ <dependencylist>
+ <dependency>gsl</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>iptables</name>
+ <dependencylist>
+ <dependency>kernel</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kinput2-canna-wnn6</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>Canna-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>Wnn6-SDK</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kviewshell-devel</name>
+ <dependencylist>
+ <dependency>kviewshell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-XML-Dumper</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-XML-Parser</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>unix2dos</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>licq-text</name>
+ <dependencylist>
+ <dependency>licq</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libdbi-devel</name>
+ <dependencylist>
+ <dependency>libdbi</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>prelink</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kernel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>compat-gcc-c++</name>
+ <dependencylist>
+ <dependency>compat-gcc</dependency>
+ <dependency>compat-libstdc++</dependency>
+ <dependency>compat-libstdc++-devel</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdepim-cellphone</name>
+ <dependencylist>
+ <dependency>kdepim</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bitmap-fonts</name>
+ <dependencylist>
+ <dependency>fontconfig</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gdbm-devel</name>
+ <dependencylist>
+ <dependency>gdbm</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdvi</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>kviewshell</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdeaddons-noatun</name>
+ <dependencylist>
+ <dependency>noatun</dependency>
+ <dependency>kdemultimedia-arts</dependency>
+ <dependency>arts</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>SDL</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aumix-X11</name>
+ <dependencylist>
+ <dependency>aumix</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>gpm</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libelf-devel</name>
+ <dependencylist>
+ <dependency>libelf</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tetex-dvips</name>
+ <dependencylist>
+ <dependency>tetex</dependency>
+ <dependency>psutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-CPAN</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>patch</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mew-xemacs</name>
+ <dependencylist>
+ <dependency>xemacs</dependency>
+ <dependency>mew-common</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libelf</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdesdk-kspy</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgnome-devel</name>
+ <dependencylist>
+ <dependency>libgnome</dependency>
+ <dependency>zlib-devel</dependency>
+ <dependency>esound-devel</dependency>
+ <dependency>ORBit2-devel</dependency>
+ <dependency>glib2-devel</dependency>
+ <dependency>libbonobo-devel</dependency>
+ <dependency>GConf2-devel</dependency>
+ <dependency>gnome-vfs2-devel</dependency>
+ <dependency>libxml2-devel</dependency>
+ <dependency>libxslt-devel</dependency>
+ <dependency>bonobo-activation-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>taipeifonts</name>
+ <dependencylist>
+ <dependency>grep</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-python2</name>
+ <dependencylist>
+ <dependency>gnome-python2-bonobo</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pcre-devel</name>
+ <dependencylist>
+ <dependency>pcre</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dump</name>
+ <dependencylist>
+ <dependency>setup</dependency>
+ <dependency>rmt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nut</name>
+ <dependencylist>
+ <dependency>nut-client</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openssh-askpass</name>
+ <dependencylist>
+ <dependency>openssh</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rdesktop</name>
+ <dependencylist>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sed</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>LPRng</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>gawk</dependency>
+ <dependency>bash</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pygtk2-libglade</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mgetty</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ark</name>
+ <dependencylist>
+ <dependency>zip</dependency>
+ <dependency>unzip</dependency>
+ <dependency>tar</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mdadm</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-xtrap-clients</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libaio</name>
+ <dependencylist>
+ <dependency>initscripts</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libart_lgpl-devel</name>
+ <dependencylist>
+ <dependency>libart_lgpl</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xawtv</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>usermode</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libungif-progs</name>
+ <dependencylist>
+ <dependency>libungif</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kernel-debug</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>modutils</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>mkinitrd</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>indexhtml</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libmng-static</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>timidity++</name>
+ <dependencylist>
+ <dependency>arts</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>libogg</dependency>
+ <dependency>slang</dependency>
+ <dependency>libvorbis</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>finger</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glibc-debug-static</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>glibc-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libpng</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgnomeprint</name>
+ <dependencylist>
+ <dependency>urw-fonts</dependency>
+ <dependency>ghostscript</dependency>
+ <dependency>ghostscript-fonts</dependency>
+ <dependency>libxml</dependency>
+ <dependency>perl</dependency>
+ <dependency>XFree86</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>freetype</dependency>
+ <dependency>glib2</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>irb</name>
+ <dependencylist>
+ <dependency>ruby</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdebindings</name>
+ <dependencylist>
+ <dependency>kdelibs</dependency>
+ <dependency>kdebase</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kterm</name>
+ <dependencylist>
+ <dependency>utempter</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libole2-devel</name>
+ <dependencylist>
+ <dependency>libole2</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-terminal</name>
+ <dependencylist>
+ <dependency>vte</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-DateManip</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wl</name>
+ <dependencylist>
+ <dependency>emacs</dependency>
+ <dependency>wl-common</dependency>
+ <dependency>flim</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cyrus-sasl</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>db4</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>pam</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>WindowMaker</name>
+ <dependencylist>
+ <dependency>cpp</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libungif</dependency>
+ <dependency>WindowMaker-libs</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Guppi-devel</name>
+ <dependencylist>
+ <dependency>Guppi</dependency>
+ <dependency>gnome-libs-devel</dependency>
+ <dependency>gnome-print-devel</dependency>
+ <dependency>bonobo-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pydict</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>newt</name>
+ <dependencylist>
+ <dependency>slang</dependency>
+ <dependency>glibc</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xchat</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-print</name>
+ <dependencylist>
+ <dependency>gnome-libs</dependency>
+ <dependency>urw-fonts</dependency>
+ <dependency>ghostscript</dependency>
+ <dependency>ghostscript-fonts</dependency>
+ <dependency>libxml</dependency>
+ <dependency>perl</dependency>
+ <dependency>XFree86</dependency>
+ <dependency>libgnomeprint15</dependency>
+ <dependency>bash</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>freetype</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mrtg</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>gd</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libpng</dependency>
+ <dependency>zlib</dependency>
+ <dependency>perl-CGI</dependency>
+ <dependency>perl-URI</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Xaw3d-devel</name>
+ <dependencylist>
+ <dependency>Xaw3d</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kfile-pdf</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sysstat</name>
+ <dependencylist>
+ <dependency>kernel</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>grep</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>vixie-cron</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fonts-ISO8859-2</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>arts-devel</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>arts</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdeartwork-screensavers</name>
+ <dependencylist>
+ <dependency>kdebase</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>iptables-ipv6</name>
+ <dependencylist>
+ <dependency>iptables</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lsof</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>binutils</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>freetype-demos</name>
+ <dependencylist>
+ <dependency>freetype</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-RPM2</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libelf</dependency>
+ <dependency>popt</dependency>
+ <dependency>rpm</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>namazu</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-File-MMagic</dependency>
+ <dependency>perl-NKF</dependency>
+ <dependency>kakasi</dependency>
+ <dependency>perl-Text-Kakasi</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ElectricFence</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>autoconvert-xchat</name>
+ <dependencylist>
+ <dependency>xchat</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Gtk-Perl</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>gtkglarea</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>libglade</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng10</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ <dependency>perl-libwww-perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cdicconf</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libglade</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>krbafs-utils</name>
+ <dependencylist>
+ <dependency>krbafs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>krb5-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>byacc</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>memprof</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>binutils</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-rpm-config</name>
+ <dependencylist>
+ <dependency>rpm-build</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Japanese</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>compat-slang</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Inline</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtkglarea</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mod_perl</name>
+ <dependencylist>
+ <dependency>httpd</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glibc-kernheaders</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>specspo</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-printer-gui</name>
+ <dependencylist>
+ <dependency>redhat-config-printer</dependency>
+ <dependency>pygtk2</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>gnome-python2</dependency>
+ <dependency>gnome-python2-gtkhtml2</dependency>
+ <dependency>usermode</dependency>
+ <dependency>python</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ncurses</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nfs-utils</name>
+ <dependencylist>
+ <dependency>kernel</dependency>
+ <dependency>portmap</dependency>
+ <dependency>sed</dependency>
+ <dependency>gawk</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>grep</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>util-linux</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gal</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gedit</name>
+ <dependencylist>
+ <dependency>scrollkeeper</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>eel2</dependency>
+ <dependency>gail</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeprint</dependency>
+ <dependency>libgnomeprintui</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libpng10</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>squirrelmail</name>
+ <dependencylist>
+ <dependency>httpd</dependency>
+ <dependency>php</dependency>
+ <dependency>perl</dependency>
+ <dependency>tmpwatch</dependency>
+ <dependency>postfix</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>imap</name>
+ <dependencylist>
+ <dependency>pam</dependency>
+ <dependency>xinetd</dependency>
+ <dependency>bash</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>metacity</name>
+ <dependencylist>
+ <dependency>redhat-artwork</dependency>
+ <dependency>bash</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xpdf-japanese</name>
+ <dependencylist>
+ <dependency>xpdf</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>librep</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>gmp</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>busybox-anaconda</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>readline-devel</name>
+ <dependencylist>
+ <dependency>readline</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>amanda-client</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>grep</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>xinetd</dependency>
+ <dependency>amanda</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>readline</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdeaddons-knewsticker</name>
+ <dependencylist>
+ <dependency>kdebase</dependency>
+ <dependency>kdenetwork-libs</dependency>
+ <dependency>knewsticker</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pam_krb5</name>
+ <dependencylist>
+ <dependency>krbafs</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>irda-utils</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>grep</dependency>
+ <dependency>modutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>hwcrypto</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>gawk</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdebindings-kmozilla</name>
+ <dependencylist>
+ <dependency>mozilla</dependency>
+ <dependency>kdebase</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdebindings</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cdparanoia-libs</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-DBD-MySQL</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-DBI</dependency>
+ <dependency>glibc</dependency>
+ <dependency>mysql</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kaboodle</name>
+ <dependencylist>
+ <dependency>arts</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tripwire</name>
+ <dependencylist>
+ <dependency>sed</dependency>
+ <dependency>grep</dependency>
+ <dependency>gzip</dependency>
+ <dependency>tar</dependency>
+ <dependency>gawk</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cdecl</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>readline</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>net-snmp-devel</name>
+ <dependencylist>
+ <dependency>net-snmp</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libart_lgpl</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>freetype-devel</name>
+ <dependencylist>
+ <dependency>freetype</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libxml</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tetex</name>
+ <dependencylist>
+ <dependency>tmpwatch</dependency>
+ <dependency>dialog</dependency>
+ <dependency>ed</dependency>
+ <dependency>info</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>tetex-fonts</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ksymoops</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gimp</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>desktop-file-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>glib</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libpng10</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Canna</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>setup</dependency>
+ <dependency>grep</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>Canna-libs</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Wnn6-SDK-devel</name>
+ <dependencylist>
+ <dependency>Wnn6-SDK</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openmotif21</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>make</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>balsa</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>libesmtp</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgal19</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>libglade</dependency>
+ <dependency>glib</dependency>
+ <dependency>gdk-pixbuf-gnome</dependency>
+ <dependency>libgnomeprint15</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>gtkhtml</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>openldap</dependency>
+ <dependency>libtool-libs</dependency>
+ <dependency>pcre</dependency>
+ <dependency>pspell</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>slang-devel</name>
+ <dependencylist>
+ <dependency>slang</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ruby-mode</name>
+ <dependencylist>
+ <dependency>emacs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vnc-server</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>bash</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>beecrypt-devel</name>
+ <dependencylist>
+ <dependency>beecrypt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gconf-editor</name>
+ <dependencylist>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ipchains</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>karm</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>itcl</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>tcl</dependency>
+ <dependency>tk</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Korean</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>php-dbg-server</name>
+ <dependencylist>
+ <dependency>php</dependency>
+ <dependency>perl</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>SDL_image-devel</name>
+ <dependencylist>
+ <dependency>SDL_image</dependency>
+ <dependency>SDL-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kit</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fam-devel</name>
+ <dependencylist>
+ <dependency>fam</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>exmh</name>
+ <dependencylist>
+ <dependency>nmh</dependency>
+ <dependency>tk</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Filter</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgcj-devel</name>
+ <dependencylist>
+ <dependency>zip</dependency>
+ <dependency>libgcj</dependency>
+ <dependency>gawk</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-utils</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>e2fsprogs</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>gnome-panel</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-python2-canvas</name>
+ <dependencylist>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>pygtk2</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libxml10</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gqview</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>desktop-file-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>libpng</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ImageMagick-perl</name>
+ <dependencylist>
+ <dependency>ImageMagick</dependency>
+ <dependency>perl</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cups-libs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>openssl</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>GConf2-devel</name>
+ <dependencylist>
+ <dependency>GConf2</dependency>
+ <dependency>libxml2-devel</dependency>
+ <dependency>ORBit2-devel</dependency>
+ <dependency>glib2-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ghostscript-devel</name>
+ <dependencylist>
+ <dependency>ghostscript</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>slrn</name>
+ <dependencylist>
+ <dependency>slang</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ORBit2-devel</name>
+ <dependencylist>
+ <dependency>indent</dependency>
+ <dependency>glib2-devel</dependency>
+ <dependency>linc-devel</dependency>
+ <dependency>libIDL-devel</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libIDL</dependency>
+ <dependency>linc</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdeadmin</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>usermode</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>pam</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gzip</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>less</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lilo</name>
+ <dependencylist>
+ <dependency>mkinitrd</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Russian</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nss_db-compat</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dejagnu</name>
+ <dependencylist>
+ <dependency>tcl</dependency>
+ <dependency>expect</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>librsvg2</name>
+ <dependencylist>
+ <dependency>gtk2</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>popt</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>libpng</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kernel-uml</name>
+ <dependencylist>
+ <dependency>kernel-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-logviewer</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>usermode</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>spamassassin</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>perl-Net-DNS</dependency>
+ <dependency>perl-Time-HiRes</dependency>
+ <dependency>procmail</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>db4</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>mrtg</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rhn-applet</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>rpm</dependency>
+ <dependency>rpm-python</dependency>
+ <dependency>rhnlib</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>pygtk2</dependency>
+ <dependency>up2date-gnome</dependency>
+ <dependency>gnome-python2</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>gnome-python2-gtkhtml2</dependency>
+ <dependency>up2date</dependency>
+ <dependency>e2fsprogs</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mysql</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>info</dependency>
+ <dependency>grep</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl-DBI</dependency>
+ <dependency>perl-DBD-MySQL</dependency>
+ <dependency>perl</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ <dependency>perl-CGI</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>netconfig</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>newt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgnomeprintui</name>
+ <dependencylist>
+ <dependency>gtk2</dependency>
+ <dependency>libgnomeprint</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>glib2</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Chinese</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libpcap</name>
+ <dependencylist>
+ <dependency>kernel</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>w3c-libwww</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdessh</name>
+ <dependencylist>
+ <dependency>openssh-clients</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tuxracer</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>SDL</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>tcl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>skkinput</name>
+ <dependencylist>
+ <dependency>dbskkd-cdb</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lokkit</name>
+ <dependencylist>
+ <dependency>iptables</dependency>
+ <dependency>glibc</dependency>
+ <dependency>newt</dependency>
+ <dependency>popt</dependency>
+ <dependency>slang</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kernel-utils</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ <dependency>net-snmp</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>compat-pwdb</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kfax</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>kviewshell</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libattr-devel</name>
+ <dependencylist>
+ <dependency>libattr</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdebase</name>
+ <dependencylist>
+ <dependency>kdelibs</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>xinitrc</dependency>
+ <dependency>XFree86-xdm</dependency>
+ <dependency>cdparanoia-libs</dependency>
+ <dependency>desktop-backgrounds-basic</dependency>
+ <dependency>redhat-menus</dependency>
+ <dependency>redhat-artwork</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>desktop-file-utils</dependency>
+ <dependency>lm_sensors</dependency>
+ <dependency>glibc</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>XFree86-xfs</dependency>
+ <dependency>bash</dependency>
+ <dependency>arts</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>openssl</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>openldap</dependency>
+ <dependency>pam</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libvorbis</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gd-devel</name>
+ <dependencylist>
+ <dependency>gd</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kjots</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cups-drivers-hpijs</name>
+ <dependencylist>
+ <dependency>hpijs</dependency>
+ <dependency>ghostscript</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>postgresql-devel</name>
+ <dependencylist>
+ <dependency>postgresql-libs</dependency>
+ <dependency>bash</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>pam</dependency>
+ <dependency>readline</dependency>
+ <dependency>libtermcap</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>eruby-devel</name>
+ <dependencylist>
+ <dependency>eruby-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>desktop-backgrounds-extra</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>w3m-el</name>
+ <dependencylist>
+ <dependency>w3m-el-common</dependency>
+ <dependency>emacs</dependency>
+ <dependency>flim</dependency>
+ <dependency>w3m</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bonobo-activation</name>
+ <dependencylist>
+ <dependency>linc</dependency>
+ <dependency>glibc</dependency>
+ <dependency>perl</dependency>
+ <dependency>glib2</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>w3c-libwww-devel</name>
+ <dependencylist>
+ <dependency>w3c-libwww</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ktimer</name>
+ <dependencylist>
+ <dependency>kdelibs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>magicdev</name>
+ <dependencylist>
+ <dependency>gnome-mime-data</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-TermReadKey</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pyOpenSSL</name>
+ <dependencylist>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rsync</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgnat</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libpng-devel</name>
+ <dependencylist>
+ <dependency>libpng</dependency>
+ <dependency>zlib-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>g-wrap-devel</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>g-wrap</dependency>
+ <dependency>guile-devel</dependency>
+ <dependency>bash</dependency>
+ <dependency>guile</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gcc-g77</name>
+ <dependencylist>
+ <dependency>gcc</dependency>
+ <dependency>libf2c</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>termcap</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tetex-latex</name>
+ <dependencylist>
+ <dependency>tetex</dependency>
+ <dependency>netpbm-progs</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vnc-doc</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>klettres</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdebindings-qtjava</name>
+ <dependencylist>
+ <dependency>qt</dependency>
+ <dependency>libgcj</dependency>
+ <dependency>jdkgcj</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cWnn</name>
+ <dependencylist>
+ <dependency>FreeWnn-common</dependency>
+ <dependency>cWnn-common</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vnc</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xemacs</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>ctags</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>perl</dependency>
+ <dependency>Canna-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>db4</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>openldap</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>libpng</dependency>
+ <dependency>postgresql-libs</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>FreeWnn-libs</dependency>
+ <dependency>openmotif</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgal19</name>
+ <dependencylist>
+ <dependency>gal</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdesdk-kbugbuster</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sysklogd</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dvdrecord</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kedit</name>
+ <dependencylist>
+ <dependency>kdelibs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>GConf2</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>glibc</dependency>
+ <dependency>atk</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sylpheed</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgtop2</name>
+ <dependencylist>
+ <dependency>glib2</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glibc</name>
+ <dependencylist>
+ <dependency>glibc-common</dependency>
+ <dependency>basesystem</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86</name>
+ <dependencylist>
+ <dependency>utempter</dependency>
+ <dependency>cpp</dependency>
+ <dependency>XFree86-xauth</dependency>
+ <dependency>Glide3</dependency>
+ <dependency>XFree86-xfs</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>XFree86-base-fonts</dependency>
+ <dependency>pam</dependency>
+ <dependency>kernel</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>freetype</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>x3270-x11</name>
+ <dependencylist>
+ <dependency>x3270</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Wnn6-SDK</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdepim-pilot</name>
+ <dependencylist>
+ <dependency>kdepim</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>pilot-link</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libtermcap-devel</name>
+ <dependencylist>
+ <dependency>libtermcap</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>epic</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libtiff-devel</name>
+ <dependencylist>
+ <dependency>libtiff</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>FreeWnn-devel</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bc</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>grep</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>compat-gcc</name>
+ <dependencylist>
+ <dependency>binutils</dependency>
+ <dependency>glibc-devel</dependency>
+ <dependency>info</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtkam-gimp</name>
+ <dependencylist>
+ <dependency>gtkam</dependency>
+ <dependency>gimp</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>gawk</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>gphoto2</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wget</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdesdk-kapptemplate</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libdbi-dbd-mysql</name>
+ <dependencylist>
+ <dependency>libdbi</dependency>
+ <dependency>glibc</dependency>
+ <dependency>mysql</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sawfish</name>
+ <dependencylist>
+ <dependency>librep</dependency>
+ <dependency>rep-gtk</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>atk</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>gmp</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>imlib</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>pango</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libungif</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdepim-devel</name>
+ <dependencylist>
+ <dependency>kdepim</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdemultimedia-arts</name>
+ <dependencylist>
+ <dependency>kdemultimedia-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>arts</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libogg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libvorbis</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>postgresql</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>postgresql-libs</dependency>
+ <dependency>bash</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>pam</dependency>
+ <dependency>readline</dependency>
+ <dependency>libtermcap</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mgetty-voice</name>
+ <dependencylist>
+ <dependency>mgetty</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>freetype-utils</name>
+ <dependencylist>
+ <dependency>freetype</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-bind</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>alchemist</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>gnome-python2</dependency>
+ <dependency>bind</dependency>
+ <dependency>4Suite</dependency>
+ <dependency>usermode</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>words</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>FreeWnn-common</name>
+ <dependencylist>
+ <dependency>grep</dependency>
+ <dependency>textutils</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-xfree86</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>python</dependency>
+ <dependency>usermode</dependency>
+ <dependency>hwdata</dependency>
+ <dependency>kudzu</dependency>
+ <dependency>pyxf86config</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dialog</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pccts</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glib2</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ncurses-c++-devel</name>
+ <dependencylist>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdesdk-kmtrace</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>hesiod</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libmrproject-devel</name>
+ <dependencylist>
+ <dependency>libmrproject</dependency>
+ <dependency>gtk+-devel</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Finnish</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>webalizer</name>
+ <dependencylist>
+ <dependency>shadow-utils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>db4</dependency>
+ <dependency>gd</dependency>
+ <dependency>libpng</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kernel-BOOT</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>modutils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>SDL_image</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>SDL</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>httpd-devel</name>
+ <dependencylist>
+ <dependency>libtool</dependency>
+ <dependency>httpd</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdesdk-gimp</name>
+ <dependencylist>
+ <dependency>gimp</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xemacs-el</name>
+ <dependencylist>
+ <dependency>xemacs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pilot-link095-compat</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>shapecfg</name>
+ <dependencylist>
+ <dependency>kernel</dependency>
+ <dependency>iproute</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dhcp-devel</name>
+ <dependencylist>
+ <dependency>dhcp</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>GConf</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>glib</dependency>
+ <dependency>oaf</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>libxml</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>popt</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sox</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libogg</dependency>
+ <dependency>libvorbis</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bdflush</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pcre</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sane-frontends</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>gimp</dependency>
+ <dependency>sane-backends</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libusb</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-devel</name>
+ <dependencylist>
+ <dependency>pspell-devel</dependency>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sane-backends</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>grep</dependency>
+ <dependency>textutils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libusb</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>php-snmp</name>
+ <dependencylist>
+ <dependency>php</dependency>
+ <dependency>perl</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>net-snmp</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>man-pages-ru</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>recode-devel</name>
+ <dependencylist>
+ <dependency>recode</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ctags</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tcpdump</name>
+ <dependencylist>
+ <dependency>kernel</dependency>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>zisofs-tools</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Polish</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>docbook-utils</name>
+ <dependencylist>
+ <dependency>docbook-style-dsssl</dependency>
+ <dependency>docbook-dtds</dependency>
+ <dependency>perl-SGMLSpm</dependency>
+ <dependency>which</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qt-MySQL</name>
+ <dependencylist>
+ <dependency>qt</dependency>
+ <dependency>glibc</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>mysql</dependency>
+ <dependency>Xft</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>traceroute</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cyrus-sasl-plain</name>
+ <dependencylist>
+ <dependency>cyrus-sasl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>pam</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>file-roller</name>
+ <dependencylist>
+ <dependency>scrollkeeper</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mod_auth_pgsql</name>
+ <dependencylist>
+ <dependency>httpd</dependency>
+ <dependency>glibc</dependency>
+ <dependency>postgresql-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-truetype-fonts</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-python2-applet</name>
+ <dependencylist>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>gnome-panel</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libcapplet0-devel</name>
+ <dependencylist>
+ <dependency>libcapplet0</dependency>
+ <dependency>gnome-libs-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rp-pppoe</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>ppp</dependency>
+ <dependency>kernel</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>info</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pwlib-devel</name>
+ <dependencylist>
+ <dependency>pwlib</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>expat</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>attr</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libattr</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdesdk-kompare</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>man-pages-it</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mtr</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cervisia</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fontconfig-devel</name>
+ <dependencylist>
+ <dependency>fontconfig</dependency>
+ <dependency>freetype-devel</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>autofs</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>sed</dependency>
+ <dependency>gawk</dependency>
+ <dependency>textutils</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>grep</dependency>
+ <dependency>procps</dependency>
+ <dependency>redhat-release</dependency>
+ <dependency>glibc</dependency>
+ <dependency>hesiod</dependency>
+ <dependency>openldap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ppp</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>pam</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>autoconf</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>gawk</dependency>
+ <dependency>m4</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>perl</dependency>
+ <dependency>textutils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xinitrc</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>bash</dependency>
+ <dependency>switchdesk</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pam-devel</name>
+ <dependencylist>
+ <dependency>pam</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mozilla-mail</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>mozilla</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>mozilla-nspr</dependency>
+ <dependency>compat-libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ypserv</name>
+ <dependencylist>
+ <dependency>gawk</dependency>
+ <dependency>make</dependency>
+ <dependency>portmap</dependency>
+ <dependency>bash</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gdbm</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>arpwatch</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-vfs</name>
+ <dependencylist>
+ <dependency>glib</dependency>
+ <dependency>GConf</dependency>
+ <dependency>oaf</dependency>
+ <dependency>gnome-mime-data</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mailx</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ksirc</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Date-Calc</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>perl-Bit-Vector</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>diffutils</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ruby-docs</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>curl</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>hpijs</name>
+ <dependencylist>
+ <dependency>ghostscript</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tix</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>tcl</dependency>
+ <dependency>tk</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnuplot</name>
+ <dependencylist>
+ <dependency>gd</dependency>
+ <dependency>libpng</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-NKF</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nc</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kgeo</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kviewshell</name>
+ <dependencylist>
+ <dependency>kview</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cups-drivers</name>
+ <dependencylist>
+ <dependency>cups</dependency>
+ <dependency>ghostscript</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>plugger</name>
+ <dependencylist>
+ <dependency>mozilla</dependency>
+ <dependency>mikmod</dependency>
+ <dependency>xloadimage</dependency>
+ <dependency>sox</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>FreeWnn</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>grep</dependency>
+ <dependency>textutils</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>FreeWnn-common</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>korn</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>kdenetwork-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-session</name>
+ <dependencylist>
+ <dependency>redhat-artwork</dependency>
+ <dependency>redhat-logos</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdeartwork</name>
+ <dependencylist>
+ <dependency>kdebase</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>GConf-devel</name>
+ <dependencylist>
+ <dependency>GConf</dependency>
+ <dependency>ORBit-devel</dependency>
+ <dependency>glib-devel</dependency>
+ <dependency>oaf-devel</dependency>
+ <dependency>gtk+-devel</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Digest-HMAC</name>
+ <dependencylist>
+ <dependency>perl-Digest-SHA1</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-desktop</name>
+ <dependencylist>
+ <dependency>redhat-artwork</dependency>
+ <dependency>redhat-menus</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>htdig-web</name>
+ <dependencylist>
+ <dependency>htdig</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libogg</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ncompress</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pwlib</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>openssl</dependency>
+ <dependency>expat</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dos2unix</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qt2-designer</name>
+ <dependencylist>
+ <dependency>qt2-devel</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libmng</dependency>
+ <dependency>libpng</dependency>
+ <dependency>compat-libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xemacs-info</name>
+ <dependencylist>
+ <dependency>xemacs</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>hanterm-xf</name>
+ <dependencylist>
+ <dependency>XFree86-libs</dependency>
+ <dependency>Xaw3d</dependency>
+ <dependency>ttfonts-ko</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libtermcap</dependency>
+ <dependency>utempter</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgnomecanvas</name>
+ <dependencylist>
+ <dependency>gtk2</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>time</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kxmlrpcd</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-lokkit</name>
+ <dependencylist>
+ <dependency>gnome-libs</dependency>
+ <dependency>iptables</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nasm</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gv</name>
+ <dependencylist>
+ <dependency>ghostscript</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>Xaw3d</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cyrus-sasl-md5</name>
+ <dependencylist>
+ <dependency>cyrus-sasl</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gkermit</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>iputils</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-HTML-Tagset</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-cyrillic-fonts</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>python-optik</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-switchmail</name>
+ <dependencylist>
+ <dependency>newt</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>python</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gd</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pciutils-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>recode</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>php-pgsql</name>
+ <dependencylist>
+ <dependency>php</dependency>
+ <dependency>perl</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>postgresql-libs</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fileutils</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>grep</dependency>
+ <dependency>bash</dependency>
+ <dependency>libacl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xsnow</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wmix</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dtach</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>klprfax</name>
+ <dependencylist>
+ <dependency>LPRng</dependency>
+ <dependency>kdebase</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gcc-objc</name>
+ <dependencylist>
+ <dependency>gcc</dependency>
+ <dependency>libobjc</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kview</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rpm-devel</name>
+ <dependencylist>
+ <dependency>rpm</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>libelf</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tcllib</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lftp</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>unzip</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>psacct</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openssl096</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kcc</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>linc-devel</name>
+ <dependencylist>
+ <dependency>linc</dependency>
+ <dependency>pkgconfig</dependency>
+ <dependency>glib2-devel</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mkisofs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-Xnest</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>glibc</dependency>
+ <dependency>pam</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtk2</name>
+ <dependencylist>
+ <dependency>glib2</dependency>
+ <dependency>atk</dependency>
+ <dependency>pango</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>Xft</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtk+</name>
+ <dependencylist>
+ <dependency>glib</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>apmd</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ghostscript</name>
+ <dependencylist>
+ <dependency>VFlib2</dependency>
+ <dependency>zlib</dependency>
+ <dependency>libpng</dependency>
+ <dependency>glib</dependency>
+ <dependency>urw-fonts</dependency>
+ <dependency>ghostscript-fonts</dependency>
+ <dependency>Omni</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>cups-libs</dependency>
+ <dependency>gimp-print</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>freetype</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bind-devel</name>
+ <dependencylist>
+ <dependency>bind</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnucash</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>bonobo</dependency>
+ <dependency>esound</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgal19</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>libghttp</dependency>
+ <dependency>libglade</dependency>
+ <dependency>glib</dependency>
+ <dependency>gdk-pixbuf-gnome</dependency>
+ <dependency>libgnomeprint15</dependency>
+ <dependency>gtkhtml</dependency>
+ <dependency>guile</dependency>
+ <dependency>Guppi</dependency>
+ <dependency>g-wrap</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>oaf</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ <dependency>perl-CPAN</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dia</name>
+ <dependencylist>
+ <dependency>libxml</dependency>
+ <dependency>redhat-menus</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>popt</dependency>
+ <dependency>libunicode</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fbset</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mozilla-devel</name>
+ <dependencylist>
+ <dependency>mozilla</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>mozilla-nspr</dependency>
+ <dependency>compat-libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>a2ps</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>info</dependency>
+ <dependency>psutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>booty</name>
+ <dependencylist>
+ <dependency>rhpl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdenetwork-libs</name>
+ <dependencylist>
+ <dependency>qt</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rusers</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fetchmail</name>
+ <dependencylist>
+ <dependency>postfix</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>hesiod</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tora</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nss_ldap</name>
+ <dependencylist>
+ <dependency>nscd</dependency>
+ <dependency>grep</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>sed</dependency>
+ <dependency>textutils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>openldap</dependency>
+ <dependency>pam</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-python2-nautilus</name>
+ <dependencylist>
+ <dependency>orbit-python</dependency>
+ <dependency>nautilus</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>eel2</dependency>
+ <dependency>gail</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dev</name>
+ <dependencylist>
+ <dependency>shadow-utils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>sed</dependency>
+ <dependency>textutils</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>anaconda</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>rpm404-python</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>python</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>e2fsprogs</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mktemp</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>jisksp14</name>
+ <dependencylist>
+ <dependency>XFree86-xfs</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>imlib-devel</name>
+ <dependencylist>
+ <dependency>imlib</dependency>
+ <dependency>libtiff-devel</dependency>
+ <dependency>libjpeg-devel</dependency>
+ <dependency>zlib-devel</dependency>
+ <dependency>gtk+-devel</dependency>
+ <dependency>libungif-devel</dependency>
+ <dependency>XFree86-devel</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mkinitrd</name>
+ <dependencylist>
+ <dependency>dev</dependency>
+ <dependency>e2fsprogs</dependency>
+ <dependency>bash</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>grep</dependency>
+ <dependency>mount</dependency>
+ <dependency>gzip</dependency>
+ <dependency>tar</dependency>
+ <dependency>modutils</dependency>
+ <dependency>losetup</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>findutils</dependency>
+ <dependency>lvm</dependency>
+ <dependency>filesystem</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>reiserfs-utils</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>php-dbg-base</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kakasi</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nvi-m17n</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>tcsh</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Catalan</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bridge-utils-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kernel-doc</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>macutils</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gawk</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tcl</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>raidtools</name>
+ <dependencylist>
+ <dependency>MAKEDEV</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-panel</name>
+ <dependencylist>
+ <dependency>gnome-desktop</dependency>
+ <dependency>gawk</dependency>
+ <dependency>textutils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libpng</dependency>
+ <dependency>popt</dependency>
+ <dependency>libwnck</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>octave</name>
+ <dependencylist>
+ <dependency>gnuplot</dependency>
+ <dependency>less</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>blas</dependency>
+ <dependency>libf2c</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>lapack</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gimp-devel</name>
+ <dependencylist>
+ <dependency>gtk+-devel</dependency>
+ <dependency>gimp</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libbonoboui-devel</name>
+ <dependencylist>
+ <dependency>libbonoboui</dependency>
+ <dependency>libxml2-devel</dependency>
+ <dependency>ORBit2-devel</dependency>
+ <dependency>bonobo-activation-devel</dependency>
+ <dependency>libbonobo-devel</dependency>
+ <dependency>libgnomecanvas-devel</dependency>
+ <dependency>libgnome-devel</dependency>
+ <dependency>libart_lgpl-devel</dependency>
+ <dependency>gtk2-devel</dependency>
+ <dependency>libglade2-devel</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xpdf</name>
+ <dependencylist>
+ <dependency>urw-fonts</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>unixODBC-kde</name>
+ <dependencylist>
+ <dependency>qt</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>unixODBC</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xpdf-korean</name>
+ <dependencylist>
+ <dependency>xpdf</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>scrollkeeper</name>
+ <dependencylist>
+ <dependency>intltool</dependency>
+ <dependency>docbook-dtds</dependency>
+ <dependency>openjade</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>libxslt</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgnomeui</name>
+ <dependencylist>
+ <dependency>ORBit2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>esound</dependency>
+ <dependency>Xft</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>glibc</dependency>
+ <dependency>atk</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>popt</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cdda2wav</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libraw1394</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bind-utils</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>openssl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-en-gb</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-language</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>usermode</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kudzu</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>modutils</dependency>
+ <dependency>pam</dependency>
+ <dependency>hwdata</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>newt</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nmap</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>man-pages-ja</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>comsat</name>
+ <dependencylist>
+ <dependency>xinetd</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-fr</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pxe</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mozilla-psm</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>mozilla</dependency>
+ <dependency>mozilla-nss</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>mozilla-nspr</dependency>
+ <dependency>compat-libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>zip</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libstdc++-devel</name>
+ <dependencylist>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>db4</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>perl-Filter</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kregexpeditor-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dietlibc</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>w3c-libwww-apps</name>
+ <dependencylist>
+ <dependency>w3c-libwww</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>telnet-server</name>
+ <dependencylist>
+ <dependency>xinetd</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pygtk2-devel</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sudo</name>
+ <dependencylist>
+ <dependency>pam</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bug-buddy</name>
+ <dependencylist>
+ <dependency>gdb</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Hebrew</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ntsysv</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>glibc</dependency>
+ <dependency>newt</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pinfo</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>jisksp16-1990</name>
+ <dependencylist>
+ <dependency>XFree86-xfs</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>netdump</name>
+ <dependencylist>
+ <dependency>openssh</dependency>
+ <dependency>openssh-clients</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>gawk</dependency>
+ <dependency>net-tools</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-services</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>gnome-python2</dependency>
+ <dependency>pygtk2</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>gnome-python2-canvas</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>usermode</dependency>
+ <dependency>usermode-gtk</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lm_sensors</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xfig</name>
+ <dependencylist>
+ <dependency>transfig</dependency>
+ <dependency>xpdf</dependency>
+ <dependency>ImageMagick</dependency>
+ <dependency>aspell</dependency>
+ <dependency>htmlview</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>Xaw3d</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libjpeg-devel</name>
+ <dependencylist>
+ <dependency>libjpeg</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>flim-xemacs</name>
+ <dependencylist>
+ <dependency>xemacs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xpdf-chinese-traditional</name>
+ <dependencylist>
+ <dependency>xpdf</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sip-devel</name>
+ <dependencylist>
+ <dependency>sip</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>htmlview</name>
+ <dependencylist>
+ <dependency>redhat-menus</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xsri</name>
+ <dependencylist>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tar</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-File-MMagic</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wu-ftpd</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>openssl</dependency>
+ <dependency>xinetd</dependency>
+ <dependency>pam</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pilot-link-devel</name>
+ <dependencylist>
+ <dependency>pilot-link</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>keduca</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Hungarian</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>imlib</name>
+ <dependencylist>
+ <dependency>libtiff</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>zlib</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libungif</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>logrotate</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cWnn-common</name>
+ <dependencylist>
+ <dependency>FreeWnn-common</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-libs</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>imlib</dependency>
+ <dependency>esound</dependency>
+ <dependency>htmlview</dependency>
+ <dependency>utempter</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng10</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>htdig</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rdist</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glibc-devel</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>glibc-kernheaders</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gcc</name>
+ <dependencylist>
+ <dependency>cpp</dependency>
+ <dependency>binutils</dependency>
+ <dependency>glibc-devel</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sip</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>python</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mod_ssl</name>
+ <dependencylist>
+ <dependency>openssl</dependency>
+ <dependency>dev</dependency>
+ <dependency>textutils</dependency>
+ <dependency>httpd</dependency>
+ <dependency>make</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kghostview</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>librsvg</name>
+ <dependencylist>
+ <dependency>glib</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>libxml</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>popt</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libpng</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>fonts-ISO8859-2-75dpi</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-desktop-devel</name>
+ <dependencylist>
+ <dependency>gnome-desktop</dependency>
+ <dependency>glib2-devel</dependency>
+ <dependency>gtk2-devel</dependency>
+ <dependency>GConf2-devel</dependency>
+ <dependency>gnome-vfs2-devel</dependency>
+ <dependency>libgnomeui-devel</dependency>
+ <dependency>libgnome-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openoffice-libs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>db4</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rep-gtk</name>
+ <dependencylist>
+ <dependency>librep</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>bash</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>guile-devel</name>
+ <dependencylist>
+ <dependency>guile</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sndconfig</name>
+ <dependencylist>
+ <dependency>sox</dependency>
+ <dependency>kudzu</dependency>
+ <dependency>aumix</dependency>
+ <dependency>kernel</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libxslt-python</name>
+ <dependencylist>
+ <dependency>libxslt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tcsh</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>grep</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nut-client</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-en-ca</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>librpm404-devel</name>
+ <dependencylist>
+ <dependency>librpm404</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nasm-rdoff</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>caching-nameserver</name>
+ <dependencylist>
+ <dependency>bind</dependency>
+ <dependency>textutils</dependency>
+ <dependency>grep</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wmapm</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pspell</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libtool-libs</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kljettool</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pyxf86config</name>
+ <dependencylist>
+ <dependency>glib2</dependency>
+ <dependency>python</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libf2c</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>man</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>less</dependency>
+ <dependency>groff</dependency>
+ <dependency>findutils</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>zlib-devel</name>
+ <dependencylist>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>miniChinput</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>imlib</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>Xft</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bind</name>
+ <dependencylist>
+ <dependency>shadow-utils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>textutils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>sed</dependency>
+ <dependency>bind-utils</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>logwatch</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>textutils</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>grep</dependency>
+ <dependency>mailx</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libglade2-devel</name>
+ <dependencylist>
+ <dependency>libglade2</dependency>
+ <dependency>libxml2-devel</dependency>
+ <dependency>gtk2-devel</dependency>
+ <dependency>python</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pvm</name>
+ <dependencylist>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ <dependency>tcsh</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rpm404-python</name>
+ <dependencylist>
+ <dependency>librpm404</dependency>
+ <dependency>python</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>popt</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>talk</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libao</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qt-Xt</name>
+ <dependencylist>
+ <dependency>qt</dependency>
+ <dependency>glibc</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>Xft</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libuser</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ <dependency>openldap</dependency>
+ <dependency>pam</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libole2</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nss_db</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>make</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sgml-common</name>
+ <dependencylist>
+ <dependency>sh-utils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>grep</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kbd</name>
+ <dependencylist>
+ <dependency>pam</dependency>
+ <dependency>usermode</dependency>
+ <dependency>sed</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gcc-gnat</name>
+ <dependencylist>
+ <dependency>gcc</dependency>
+ <dependency>libgnat</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Archive-Tar</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pine</name>
+ <dependencylist>
+ <dependency>krb5-libs</dependency>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>openldap</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>pam</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mutt</name>
+ <dependencylist>
+ <dependency>slang</dependency>
+ <dependency>postfix</dependency>
+ <dependency>wget</dependency>
+ <dependency>bash</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>cyrus-sasl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>transfig</name>
+ <dependencylist>
+ <dependency>tcsh</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>anaconda-images</name>
+ <dependencylist>
+ <dependency>anaconda-runtime</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>netatalk-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tmpwatch</name>
+ <dependencylist>
+ <dependency>psmisc</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wvdial</name>
+ <dependencylist>
+ <dependency>ppp</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>lockdev</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libwvstreams</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>SDL_net-devel</name>
+ <dependencylist>
+ <dependency>SDL_net</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bonobo-conf-devel</name>
+ <dependencylist>
+ <dependency>bonobo-conf</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdemultimedia-devel</name>
+ <dependencylist>
+ <dependency>kdemultimedia-arts</dependency>
+ <dependency>noatun</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libglade2</name>
+ <dependencylist>
+ <dependency>libxml2</dependency>
+ <dependency>glibc</dependency>
+ <dependency>atk</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Afrikaans</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>jpilot</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>pilot-link</dependency>
+ <dependency>glibc</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pilot-link</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libpng</dependency>
+ <dependency>readline</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ruby</name>
+ <dependencylist>
+ <dependency>ruby-libs</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xcpustate</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Text-Kakasi</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>kakasi</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>apel</name>
+ <dependencylist>
+ <dependency>emacs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>at-spi-devel</name>
+ <dependencylist>
+ <dependency>at-spi</dependency>
+ <dependency>gtk2-devel</dependency>
+ <dependency>libbonobo-devel</dependency>
+ <dependency>ORBit2-devel</dependency>
+ <dependency>gail-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>flex</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>am-utils</name>
+ <dependencylist>
+ <dependency>portmap</dependency>
+ <dependency>grep</dependency>
+ <dependency>gawk</dependency>
+ <dependency>findutils</dependency>
+ <dependency>info</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>hesiod</dependency>
+ <dependency>openldap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sendmail-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Swedish</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>python</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>db4</dependency>
+ <dependency>expat</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>gmp</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ <dependency>libtermcap</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>splint</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdegames</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>arts</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>w3m-el-xemacs</name>
+ <dependencylist>
+ <dependency>w3m-el-common</dependency>
+ <dependency>xemacs</dependency>
+ <dependency>flim-xemacs</dependency>
+ <dependency>w3m</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>SysVinit</name>
+ <dependencylist>
+ <dependency>pam</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>groff-gxditview</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>net-snmp-utils</name>
+ <dependencylist>
+ <dependency>net-snmp</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pango</name>
+ <dependencylist>
+ <dependency>glib2</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>freetype</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>Xft</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wl-common</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libstdc++</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>krb5-devel</name>
+ <dependencylist>
+ <dependency>krb5-libs</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>knm_new</name>
+ <dependencylist>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>compat-gcc-java</name>
+ <dependencylist>
+ <dependency>compat-gcc</dependency>
+ <dependency>compat-libgcj</dependency>
+ <dependency>compat-libgcj-devel</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libjpeg</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cleanfeed</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>expat-devel</name>
+ <dependencylist>
+ <dependency>expat</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wordtrans-qt</name>
+ <dependencylist>
+ <dependency>wordtrans</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qtcups-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>psmisc</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Czech</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xmms-devel</name>
+ <dependencylist>
+ <dependency>xmms</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kpf</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wordtrans-kde</name>
+ <dependencylist>
+ <dependency>wordtrans</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bonobo</name>
+ <dependencylist>
+ <dependency>gnome-libs</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>oaf</dependency>
+ <dependency>libxml</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>esound</dependency>
+ <dependency>freetype</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>libgnomeprint15</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>popt</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openssh-askpass-gnome</name>
+ <dependencylist>
+ <dependency>openssh</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdeaddons-kicker</name>
+ <dependencylist>
+ <dependency>kdebase</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ed</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openoffice</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>perl</dependency>
+ <dependency>openoffice-libs</dependency>
+ <dependency>openoffice-i18n</dependency>
+ <dependency>redhat-menus</dependency>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>mozilla</dependency>
+ <dependency>mozilla-mail</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xtoolwait</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gpm-devel</name>
+ <dependencylist>
+ <dependency>gpm</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgcc</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>zebra</name>
+ <dependencylist>
+ <dependency>grep</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>pam</dependency>
+ <dependency>readline</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libmng</name>
+ <dependencylist>
+ <dependency>zlib</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bitmap-fonts-cjk</name>
+ <dependencylist>
+ <dependency>fontconfig</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgcj</name>
+ <dependencylist>
+ <dependency>zip</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pvm-gui</name>
+ <dependencylist>
+ <dependency>pvm</dependency>
+ <dependency>tcsh</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>tcl</dependency>
+ <dependency>tk</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nhpf</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdeutils-laptop</name>
+ <dependencylist>
+ <dependency>kdebase</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bzip2-devel</name>
+ <dependencylist>
+ <dependency>bzip2</dependency>
+ <dependency>bzip2-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-Mesa-libGL</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gperf</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rwall-server</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>portmap</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libtabe</name>
+ <dependencylist>
+ <dependency>db4</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>postgresql-odbc</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dhcp</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mtx</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openjade</name>
+ <dependencylist>
+ <dependency>sgml-common</dependency>
+ <dependency>docbook-dtds</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdepim</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>perl</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>php-devel</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Parse-Yapp</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-audio-extra</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kcoloredit</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qt2-devel</name>
+ <dependencylist>
+ <dependency>qt2</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libmng</dependency>
+ <dependency>libpng</dependency>
+ <dependency>compat-libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-ISO8859-15-75dpi-fonts</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>procmail</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dev86</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnumeric</name>
+ <dependencylist>
+ <dependency>gnome-libs</dependency>
+ <dependency>libglade</dependency>
+ <dependency>guile</dependency>
+ <dependency>gnome-print</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glibc</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>bonobo</dependency>
+ <dependency>esound</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgal19</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>gdk-pixbuf-gnome</dependency>
+ <dependency>libole2</dependency>
+ <dependency>libgnomeprint15</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>oaf</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rdate</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-switchmail-gnome</name>
+ <dependencylist>
+ <dependency>redhat-switchmail</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>chkconfig</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-XML-Encoding</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-XML-Parser</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qt-ODBC</name>
+ <dependencylist>
+ <dependency>qt</dependency>
+ <dependency>glibc</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>unixODBC</dependency>
+ <dependency>Xft</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glibc-common</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-xdm</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>pam</dependency>
+ <dependency>xinitrc</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdict</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rootfiles</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qt-devel</name>
+ <dependencylist>
+ <dependency>qt</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>Xft</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openoffice-i18n</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>blas-man</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libdbi-dbd-pgsql</name>
+ <dependencylist>
+ <dependency>libdbi</dependency>
+ <dependency>glibc</dependency>
+ <dependency>postgresql-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rarpd</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>slocate</name>
+ <dependencylist>
+ <dependency>shadow-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mt-st</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tftp-server</name>
+ <dependencylist>
+ <dependency>xinetd</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>compat-db</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>compat-libstdc++</dependency>
+ <dependency>tcl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glibc-debug</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>glibc-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tWnn</name>
+ <dependencylist>
+ <dependency>FreeWnn-common</dependency>
+ <dependency>cWnn-common</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tcp_wrappers</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pam_smb</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mtools</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pygtk2</name>
+ <dependencylist>
+ <dependency>gtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-French</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openldap12</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>gdbm</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>open</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-nl</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-no</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vim-minimal</name>
+ <dependencylist>
+ <dependency>vim-common</dependency>
+ <dependency>libacl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rmt</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>SDL_net</name>
+ <dependencylist>
+ <dependency>SDL</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glibc-profile</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>emacspeak</name>
+ <dependencylist>
+ <dependency>emacs</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kWnn</name>
+ <dependencylist>
+ <dependency>FreeWnn-common</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-it</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>groff-perl</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>urw-fonts</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libkscan-devel</name>
+ <dependencylist>
+ <dependency>libkscan</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>alchemist-devel</name>
+ <dependencylist>
+ <dependency>alchemist</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kmail</name>
+ <dependencylist>
+ <dependency>kdenetwork-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xmlto</name>
+ <dependencylist>
+ <dependency>docbook-style-xsl</dependency>
+ <dependency>passivetex</dependency>
+ <dependency>libxslt</dependency>
+ <dependency>docbook-dtds</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-vfs-devel</name>
+ <dependencylist>
+ <dependency>gnome-vfs</dependency>
+ <dependency>GConf-devel</dependency>
+ <dependency>oaf-devel</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>SDL-devel</name>
+ <dependencylist>
+ <dependency>SDL</dependency>
+ <dependency>XFree86-devel</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>comps-extras</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mgetty-sendfax</name>
+ <dependencylist>
+ <dependency>mgetty</dependency>
+ <dependency>netpbm-progs</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rsh</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>postgresql-perl</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>postgresql-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdelibs-devel</name>
+ <dependencylist>
+ <dependency>qt-devel</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>pcre-devel</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kcalc</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ftpcopy</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>psutils</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>authconfig</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>pam</dependency>
+ <dependency>glib2</dependency>
+ <dependency>newt</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libusb</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>hdparm</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-100dpi-fonts</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libcap-devel</name>
+ <dependencylist>
+ <dependency>libcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>postgresql-server</name>
+ <dependencylist>
+ <dependency>shadow-utils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>postgresql</dependency>
+ <dependency>postgresql-libs</dependency>
+ <dependency>bash</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>pam</dependency>
+ <dependency>readline</dependency>
+ <dependency>libtermcap</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Xlt</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>jdkgcj</name>
+ <dependencylist>
+ <dependency>gcc-java</dependency>
+ <dependency>libgcj</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-pt</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-HTML-Parser</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-HTML-Tagset</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kruler</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Xaw3d</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ttcp</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kernel-source</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>gawk</dependency>
+ <dependency>gcc</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lm_sensors-devel</name>
+ <dependencylist>
+ <dependency>lm_sensors</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Xtest</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gftp</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>docbook-dtds</name>
+ <dependencylist>
+ <dependency>xml-common</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>grep</dependency>
+ <dependency>perl</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>sgml-common</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>privoxy</name>
+ <dependencylist>
+ <dependency>shadow-utils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>httpd-manual</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>zsh</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>grep</dependency>
+ <dependency>info</dependency>
+ <dependency>libcap</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pidentd</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>sed</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>util-linux</dependency>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Xft-devel</name>
+ <dependencylist>
+ <dependency>Xft</dependency>
+ <dependency>freetype-devel</dependency>
+ <dependency>fontconfig-devel</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>setserial</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libobjc</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bonobo-devel</name>
+ <dependencylist>
+ <dependency>bonobo</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>control-center</name>
+ <dependencylist>
+ <dependency>xscreensaver</dependency>
+ <dependency>redhat-menus</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>esound</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>freetype</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>gnome-desktop</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>Xft</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xisdnload</name>
+ <dependencylist>
+ <dependency>isdn4k-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xboard</name>
+ <dependencylist>
+ <dependency>gnuchess</dependency>
+ <dependency>info</dependency>
+ <dependency>desktop-file-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtkhtml2</name>
+ <dependencylist>
+ <dependency>gtk2</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>gail</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>pango</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ypbind</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>portmap</dependency>
+ <dependency>yp-tools</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>licq</name>
+ <dependencylist>
+ <dependency>htmlview</dependency>
+ <dependency>desktop-file-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>inews</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libelf</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-securitylevel</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>usermode</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>crontabs</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-vfs2-extras</name>
+ <dependencylist>
+ <dependency>gnome-vfs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>cups-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>net-snmp</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>libelf</dependency>
+ <dependency>popt</dependency>
+ <dependency>rpm</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dbskkd-cdb</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Greek</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libglade-devel</name>
+ <dependencylist>
+ <dependency>libglade</dependency>
+ <dependency>gnome-libs-devel</dependency>
+ <dependency>libxml-devel</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>VFlib2-conf-ja</name>
+ <dependencylist>
+ <dependency>VFlib2</dependency>
+ <dependency>ttfonts-ja</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vixie-cron</name>
+ <dependencylist>
+ <dependency>sysklogd</dependency>
+ <dependency>bash</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-libxml-enno</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-DateManip</dependency>
+ <dependency>perl-libwww-perl</dependency>
+ <dependency>perl-Parse-Yapp</dependency>
+ <dependency>perl-XML-Encoding</dependency>
+ <dependency>perl-XML-Parser</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>which</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libcap</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-packages</name>
+ <dependencylist>
+ <dependency>initscripts</dependency>
+ <dependency>usermode</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>comps-extras</dependency>
+ <dependency>rpm404-python</dependency>
+ <dependency>libxml2-python</dependency>
+ <dependency>gnome-python2</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>samba-client</name>
+ <dependencylist>
+ <dependency>samba-common</dependency>
+ <dependency>bash</dependency>
+ <dependency>libacl</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>cups-libs</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>pam</dependency>
+ <dependency>popt</dependency>
+ <dependency>readline</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kscd</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>perl</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>hwbrowser</name>
+ <dependencylist>
+ <dependency>gnome-python2</dependency>
+ <dependency>usermode</dependency>
+ <dependency>kudzu</dependency>
+ <dependency>parted</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cracklib-dicts</name>
+ <dependencylist>
+ <dependency>words</dependency>
+ <dependency>bash</dependency>
+ <dependency>cracklib</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>man-pages-ko</name>
+ <dependencylist>
+ <dependency>man</dependency>
+ <dependency>gzip</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-pt_BR</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gal-devel</name>
+ <dependencylist>
+ <dependency>gal</dependency>
+ <dependency>libgal19</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Norwegian-Nynorsk</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-python2-gtkhtml2</name>
+ <dependencylist>
+ <dependency>gtkhtml2</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wmclock</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdetoys</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mozilla-nspr</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>eject</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdoc</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>strace</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libbonobo</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>glib2</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pango-devel</name>
+ <dependencylist>
+ <dependency>pango</dependency>
+ <dependency>XFree86-devel</dependency>
+ <dependency>glib2-devel</dependency>
+ <dependency>freetype-devel</dependency>
+ <dependency>fontconfig-devel</dependency>
+ <dependency>Xft-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>elinks</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gpm</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>hwdata</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libusb-devel</name>
+ <dependencylist>
+ <dependency>libusb</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>readline41</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tetex-xdvi</name>
+ <dependencylist>
+ <dependency>tetex-fonts</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>w3c-libwww</dependency>
+ <dependency>VFlib2</dependency>
+ <dependency>Xaw3d</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ktouch</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gail</name>
+ <dependencylist>
+ <dependency>atk</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>iproute</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>docbook-style-xsl</name>
+ <dependencylist>
+ <dependency>docbook-dtds</dependency>
+ <dependency>xml-common</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libkscan</name>
+ <dependencylist>
+ <dependency>sane-backends</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libusb</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ImageMagick-devel</name>
+ <dependencylist>
+ <dependency>ImageMagick</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>docbook-utils-pdf</name>
+ <dependencylist>
+ <dependency>tetex-dvips</dependency>
+ <dependency>jadetex</dependency>
+ <dependency>docbook-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>db4-java</name>
+ <dependencylist>
+ <dependency>db4</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgtop-examples</name>
+ <dependencylist>
+ <dependency>libgtop</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>glib</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>guile</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libIDL</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>linc</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openldap-clients</name>
+ <dependencylist>
+ <dependency>openldap</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>pam</dependency>
+ <dependency>cyrus-sasl</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bash-doc</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>unixODBC-devel</name>
+ <dependencylist>
+ <dependency>unixODBC</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>krb5-workstation</name>
+ <dependencylist>
+ <dependency>krb5-libs</dependency>
+ <dependency>grep</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>up2date</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>rpm</dependency>
+ <dependency>rpm-python</dependency>
+ <dependency>gnupg</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>rhnlib</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>mkinitrd</dependency>
+ <dependency>python-optik</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>newt</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgtop2-devel</name>
+ <dependencylist>
+ <dependency>libgtop2</dependency>
+ <dependency>glib2-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ethtool</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ksnapshot</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vorbis-tools</name>
+ <dependencylist>
+ <dependency>libogg</dependency>
+ <dependency>libvorbis</dependency>
+ <dependency>libao</dependency>
+ <dependency>glibc</dependency>
+ <dependency>curl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Xlt-devel</name>
+ <dependencylist>
+ <dependency>Xlt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-rootpassword</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>usermode</dependency>
+ <dependency>libuser</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pnm2ppa</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdegames-devel</name>
+ <dependencylist>
+ <dependency>kdegames</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cpio</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kfract</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nmap-frontend</name>
+ <dependencylist>
+ <dependency>nmap</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tetex-fonts</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>textutils</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>util-linux</name>
+ <dependencylist>
+ <dependency>pam</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>libtermcap</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>db4</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-Xvfb</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>glibc</dependency>
+ <dependency>pam</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>evolution</name>
+ <dependencylist>
+ <dependency>scrollkeeper</dependency>
+ <dependency>bonobo</dependency>
+ <dependency>GConf</dependency>
+ <dependency>oaf</dependency>
+ <dependency>mozilla-nss</dependency>
+ <dependency>mozilla-nspr</dependency>
+ <dependency>glibc</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>perl</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>bonobo-conf</dependency>
+ <dependency>esound</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgal19</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>libglade</dependency>
+ <dependency>glib</dependency>
+ <dependency>gdk-pixbuf-gnome</dependency>
+ <dependency>libgnomeprint15</dependency>
+ <dependency>gnome-vfs</dependency>
+ <dependency>gnome-pilot</dependency>
+ <dependency>gtkhtml</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>openldap</dependency>
+ <dependency>pilot-link</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lesstif</name>
+ <dependencylist>
+ <dependency>XFree86</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glibc-utils</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>gd</dependency>
+ <dependency>libpng</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qt</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>Xft</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>cups-libs</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libmng</dependency>
+ <dependency>libpng</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libvorbis-devel</name>
+ <dependencylist>
+ <dependency>libogg-devel</dependency>
+ <dependency>libvorbis</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>krb5-libs</name>
+ <dependencylist>
+ <dependency>grep</dependency>
+ <dependency>glibc</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bison</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>net-tools</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libvorbis</name>
+ <dependencylist>
+ <dependency>libogg</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libunicode-devel</name>
+ <dependencylist>
+ <dependency>libunicode</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>amanda</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>grep</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>tar</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>readline</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>autoconvert</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qt2-static</name>
+ <dependencylist>
+ <dependency>qt2-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kernel</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>modutils</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>mkinitrd</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>asp2php-gtk</name>
+ <dependencylist>
+ <dependency>asp2php</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lockdev-devel</name>
+ <dependencylist>
+ <dependency>lockdev</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openmotif-devel</name>
+ <dependencylist>
+ <dependency>openmotif</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>php-manual</name>
+ <dependencylist>
+ <dependency>php</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>adjtimex</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>w3m-el-common</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-nfs</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>nfs-utils</dependency>
+ <dependency>usermode</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>efax</name>
+ <dependencylist>
+ <dependency>make</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>MySQL-python</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>mx</dependency>
+ <dependency>mysql</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tmake</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mailcap</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libghttp</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdepasswd</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-menus</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Portuguese</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-release</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-ca</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ORBit2</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ <dependency>linc</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ipvsadm</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>VFlib2-VFjfm</name>
+ <dependencylist>
+ <dependency>VFlib2</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgnome</name>
+ <dependencylist>
+ <dependency>glib2</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>libxslt</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>utempter</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>esound</dependency>
+ <dependency>linc</dependency>
+ <dependency>popt</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>krbafs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libunicode</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-network</name>
+ <dependencylist>
+ <dependency>initscripts</dependency>
+ <dependency>usermode</dependency>
+ <dependency>alchemist</dependency>
+ <dependency>kudzu</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>gnome-python2</dependency>
+ <dependency>wvdial</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>gnome-python2-canvas</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tux</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-proc</name>
+ <dependencylist>
+ <dependency>procps</dependency>
+ <dependency>usermode</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qt2</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libmng</dependency>
+ <dependency>libpng</dependency>
+ <dependency>compat-libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>audiofile-devel</name>
+ <dependencylist>
+ <dependency>audiofile</dependency>
+ <dependency>pkgconfig</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kakasi-dict</name>
+ <dependencylist>
+ <dependency>kakasi</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>screen</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>pam</dependency>
+ <dependency>utempter</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lynx</name>
+ <dependencylist>
+ <dependency>indexhtml</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>zlib</dependency>
+ <dependency>perl-CGI</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>MyODBC</name>
+ <dependencylist>
+ <dependency>unixODBC</dependency>
+ <dependency>glibc</dependency>
+ <dependency>mysql</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nscd</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kfloppy</name>
+ <dependencylist>
+ <dependency>kdelibs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>joe</name>
+ <dependencylist>
+ <dependency>ncurses</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vte</name>
+ <dependencylist>
+ <dependency>bitmap-fonts</dependency>
+ <dependency>glibc</dependency>
+ <dependency>atk</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>freetype</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>Xft</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-xauth</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtk-doc</name>
+ <dependencylist>
+ <dependency>docbook-utils</dependency>
+ <dependency>openjade</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libghttp-devel</name>
+ <dependencylist>
+ <dependency>libghttp</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tkinter</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ <dependency>tcl</dependency>
+ <dependency>tix</dependency>
+ <dependency>tk</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ORBit-devel</name>
+ <dependencylist>
+ <dependency>indent</dependency>
+ <dependency>glib-devel</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-XML-Grove</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-libxml-perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Canna-devel</name>
+ <dependencylist>
+ <dependency>Canna-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cdrecord</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lockdev</name>
+ <dependencylist>
+ <dependency>shadow-utils</dependency>
+ <dependency>filesystem</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kakasi-devel</name>
+ <dependencylist>
+ <dependency>kakasi</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ami</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-pilot</name>
+ <dependencylist>
+ <dependency>pilot-link</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>libglade</dependency>
+ <dependency>libxml</dependency>
+ <dependency>gnome-vfs</dependency>
+ <dependency>redhat-menus</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>libcapplet0</dependency>
+ <dependency>esound</dependency>
+ <dependency>GConf</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>oaf</dependency>
+ <dependency>popt</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mtr-gtk</name>
+ <dependencylist>
+ <dependency>mtr</dependency>
+ <dependency>usermode</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>libtermcap</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>switchdesk-kde</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libattr</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>modutils</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kappa20</name>
+ <dependencylist>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-DBI</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gdk-pixbuf-gnome</name>
+ <dependencylist>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>esound</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lesstif-devel</name>
+ <dependencylist>
+ <dependency>XFree86-devel</dependency>
+ <dependency>lesstif</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kernel-smp</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>modutils</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>mkinitrd</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-German</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mysql-server</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>mysql</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>at-spi</name>
+ <dependencylist>
+ <dependency>gtk2</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>gail</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>db4-devel</name>
+ <dependencylist>
+ <dependency>db4</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Glide3-devel</name>
+ <dependencylist>
+ <dependency>Glide3</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lv</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>arts</name>
+ <dependencylist>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>glib2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-switch-printer</name>
+ <dependencylist>
+ <dependency>newt</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>python</dependency>
+ <dependency>sh-utils</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>php-dbg-client</name>
+ <dependencylist>
+ <dependency>php-dbg-base</dependency>
+ <dependency>php-dbg-server</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>pcre</dependency>
+ <dependency>readline</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>yp-tools</name>
+ <dependencylist>
+ <dependency>ypbind</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libacl</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libattr</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>PyQt-devel</name>
+ <dependencylist>
+ <dependency>PyQt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Omni-foomatic</name>
+ <dependencylist>
+ <dependency>Omni</dependency>
+ <dependency>foomatic</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>php-imap</name>
+ <dependencylist>
+ <dependency>php</dependency>
+ <dependency>perl</dependency>
+ <dependency>bash</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rhnlib</name>
+ <dependencylist>
+ <dependency>pyOpenSSL</dependency>
+ <dependency>python</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openssl-perl</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>openssl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glib2-devel</name>
+ <dependencylist>
+ <dependency>pkgconfig</dependency>
+ <dependency>glib2</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>radvd</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cracklib</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>php-odbc</name>
+ <dependencylist>
+ <dependency>php</dependency>
+ <dependency>perl</dependency>
+ <dependency>grep</dependency>
+ <dependency>unixODBC</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>esound</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>audiofile</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>talk-server</name>
+ <dependencylist>
+ <dependency>xinetd</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Chinese-Big5</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rsh-server</name>
+ <dependencylist>
+ <dependency>pam</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-URI</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>doxygen</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nasm-doc</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>chkfontpath</name>
+ <dependencylist>
+ <dependency>XFree86-xfs</dependency>
+ <dependency>SysVinit</dependency>
+ <dependency>glibc</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>utempter</name>
+ <dependencylist>
+ <dependency>shadow-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mgetty-viewfax</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libogg-devel</name>
+ <dependencylist>
+ <dependency>libogg</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>netpbm-progs</name>
+ <dependencylist>
+ <dependency>netpbm</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mount</name>
+ <dependencylist>
+ <dependency>mktemp</dependency>
+ <dependency>gawk</dependency>
+ <dependency>diffutils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>licq-kde</name>
+ <dependencylist>
+ <dependency>licq</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cvs</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>tcsh</dependency>
+ <dependency>perl</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pstack</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>netpbm</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>MagicPoint</name>
+ <dependencylist>
+ <dependency>watanabe-vf</dependency>
+ <dependency>VFlib2</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libmng</dependency>
+ <dependency>libpng</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libungif</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgtop</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>glib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gd-progs</name>
+ <dependencylist>
+ <dependency>gd</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>procps</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>man-pages-de</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kfile-png</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pychecker</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>hexedit</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>man-pages-da</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tetex-doc</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libxml2</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-de</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>squid</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>logrotate</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>openldap</dependency>
+ <dependency>pam</dependency>
+ <dependency>perl-URI</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Ukrainian</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aspell-da</name>
+ <dependencylist>
+ <dependency>aspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>imlib-cfgeditor</name>
+ <dependencylist>
+ <dependency>imlib</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Brazil</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>chkconfig</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>texinfo</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>switchdesk</name>
+ <dependencylist>
+ <dependency>textutils</dependency>
+ <dependency>desktop-file-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ttfonts-zh_TW</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>PyXML</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mpage</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>whois</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Net-DNS</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-Digest-HMAC</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pax</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-ISO8859-9-100dpi-fonts</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>iscsi</name>
+ <dependencylist>
+ <dependency>kernel</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sane-backends-devel</name>
+ <dependencylist>
+ <dependency>sane-backends</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgail-gnome</name>
+ <dependencylist>
+ <dependency>atk</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>at-spi</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glade2</name>
+ <dependencylist>
+ <dependency>gail-devel</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeprint</dependency>
+ <dependency>libgnomeprintui</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>units</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>psgml</name>
+ <dependencylist>
+ <dependency>sgml-common</dependency>
+ <dependency>emacs</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Digest-SHA1</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pan</name>
+ <dependencylist>
+ <dependency>gtk2</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ddskk-xemacs</name>
+ <dependencylist>
+ <dependency>xemacs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>man-pages-cs</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mozilla-nss-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>unixODBC</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>qt</dependency>
+ <dependency>readline</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bzip2</name>
+ <dependencylist>
+ <dependency>bzip2-libs</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>namazu-devel</name>
+ <dependencylist>
+ <dependency>namazu</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mod_auth_mysql</name>
+ <dependencylist>
+ <dependency>httpd</dependency>
+ <dependency>glibc</dependency>
+ <dependency>mysql</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>m2crypto</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ <dependency>openssl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openldap</name>
+ <dependencylist>
+ <dependency>cyrus-sasl</dependency>
+ <dependency>cyrus-sasl-md5</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>glibc</dependency>
+ <dependency>openssl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rpm-python</name>
+ <dependencylist>
+ <dependency>rpm</dependency>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>libelf</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gcc-java</name>
+ <dependencylist>
+ <dependency>gcc</dependency>
+ <dependency>libgcj</dependency>
+ <dependency>libgcj-devel</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>php</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>httpd</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>curl</dependency>
+ <dependency>db4</dependency>
+ <dependency>expat</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>gd</dependency>
+ <dependency>gmp</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libtool-libs</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>pam</dependency>
+ <dependency>libpng</dependency>
+ <dependency>pspell</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-soundcard</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>usermode</dependency>
+ <dependency>sox</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tftp</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libacl-devel</name>
+ <dependencylist>
+ <dependency>libacl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>imap-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gdk-pixbuf-devel</name>
+ <dependencylist>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>gdk-pixbuf-gnome</dependency>
+ <dependency>gnome-libs-devel</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdeartwork-locolor</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>filesystem</name>
+ <dependencylist>
+ <dependency>setup</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>namazu-cgi</name>
+ <dependencylist>
+ <dependency>namazu</dependency>
+ <dependency>httpd</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>joystick</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kbdconfig</name>
+ <dependencylist>
+ <dependency>kbd</dependency>
+ <dependency>glibc</dependency>
+ <dependency>newt</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nut-cgi</name>
+ <dependencylist>
+ <dependency>httpd</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gd</dependency>
+ <dependency>libpng</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-user-docs</name>
+ <dependencylist>
+ <dependency>scrollkeeper</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vim-common</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>gawk</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xml-common</name>
+ <dependencylist>
+ <dependency>sh-utils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>grep</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>less</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glut</name>
+ <dependencylist>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgnomecanvas-devel</name>
+ <dependencylist>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>gtk2-devel</dependency>
+ <dependency>libart_lgpl-devel</dependency>
+ <dependency>libglade2-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vsftpd</name>
+ <dependencylist>
+ <dependency>xinetd</dependency>
+ <dependency>logrotate</dependency>
+ <dependency>libcap</dependency>
+ <dependency>glibc</dependency>
+ <dependency>pam</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gdb</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xferstats</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>glib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-python2-gconf</name>
+ <dependencylist>
+ <dependency>GConf2</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>glib2</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>orbit-python-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kon2</name>
+ <dependencylist>
+ <dependency>sh-utils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>termcap</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>samba</name>
+ <dependencylist>
+ <dependency>pam</dependency>
+ <dependency>samba-common</dependency>
+ <dependency>logrotate</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>psmisc</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>sed</dependency>
+ <dependency>bash</dependency>
+ <dependency>tcsh</dependency>
+ <dependency>perl</dependency>
+ <dependency>libacl</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>cups-libs</dependency>
+ <dependency>popt</dependency>
+ <dependency>perl-CGI</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xcdroast</name>
+ <dependencylist>
+ <dependency>cdrecord</dependency>
+ <dependency>mkisofs</dependency>
+ <dependency>cdda2wav</dependency>
+ <dependency>usermode</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libungif</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mingetty</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lapack</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>blas</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xscreensaver</name>
+ <dependencylist>
+ <dependency>fortune-mod</dependency>
+ <dependency>redhat-logos</dependency>
+ <dependency>pam</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-PDL</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gsl</dependency>
+ <dependency>perl-Filter</dependency>
+ <dependency>perl-Inline</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgtop-devel</name>
+ <dependencylist>
+ <dependency>libgtop</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nvi-m17n-canna</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>Canna-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cups-devel</name>
+ <dependencylist>
+ <dependency>cups-libs</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdebindings-devel</name>
+ <dependencylist>
+ <dependency>kdebindings</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>watanabe-vf</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>chromium</name>
+ <dependencylist>
+ <dependency>zlib</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-Mesa-libGLU</dependency>
+ <dependency>qt</dependency>
+ <dependency>SDL</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libbonobo-devel</name>
+ <dependencylist>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation-devel</dependency>
+ <dependency>ORBit2-devel</dependency>
+ <dependency>libxml2-devel</dependency>
+ <dependency>linc-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gmp</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>grip</name>
+ <dependencylist>
+ <dependency>vorbis-tools</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>cdparanoia-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>libghttp</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>jcode.pl</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ruby-devel</name>
+ <dependencylist>
+ <dependency>ruby-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libesmtp-devel</name>
+ <dependencylist>
+ <dependency>libesmtp</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>swig</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>orbit-python</name>
+ <dependencylist>
+ <dependency>ORBit2</dependency>
+ <dependency>linc</dependency>
+ <dependency>libIDL</dependency>
+ <dependency>glib2</dependency>
+ <dependency>python</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libcapplet0</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>esound</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ORBit</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libglade</name>
+ <dependencylist>
+ <dependency>gnome-libs</dependency>
+ <dependency>libxml</dependency>
+ <dependency>glibc</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>esound</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xcin</name>
+ <dependencylist>
+ <dependency>libtabe</dependency>
+ <dependency>glibc</dependency>
+ <dependency>db4</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Romanian</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde2-compat</name>
+ <dependencylist>
+ <dependency>qt2</dependency>
+ <dependency>openssl</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>perl</dependency>
+ <dependency>python</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>cups-libs</dependency>
+ <dependency>fam</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>pcre</dependency>
+ <dependency>libpng</dependency>
+ <dependency>compat-libstdc++</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>libxslt</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ytalk</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Icelandic</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>minicom</name>
+ <dependencylist>
+ <dependency>lockdev</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-Mesa-libGLU</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-Bit-Vector</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>perl-Date-Calc</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rusers-server</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>portmap</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>procps</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>man-pages</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-DB_File</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>db4</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>postgresql-tcl</name>
+ <dependencylist>
+ <dependency>tcl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ <dependency>e2fsprogs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>pam</dependency>
+ <dependency>postgresql-libs</dependency>
+ <dependency>readline</dependency>
+ <dependency>libtermcap</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>grub</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-libs-devel</name>
+ <dependencylist>
+ <dependency>gnome-libs</dependency>
+ <dependency>gtk+-devel</dependency>
+ <dependency>ORBit-devel</dependency>
+ <dependency>imlib-devel</dependency>
+ <dependency>esound-devel</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdf</name>
+ <dependencylist>
+ <dependency>kdebase</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-users</name>
+ <dependencylist>
+ <dependency>libuser</dependency>
+ <dependency>python</dependency>
+ <dependency>pygtk2</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>usermode</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kiconedit</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>switchdesk-gnome</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>pspell-devel</name>
+ <dependencylist>
+ <dependency>pspell</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-libxml-perl</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-XML-Parser</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>intltool</name>
+ <dependencylist>
+ <dependency>patch</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rpm</name>
+ <dependencylist>
+ <dependency>gawk</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>popt</dependency>
+ <dependency>libelf</dependency>
+ <dependency>bash</dependency>
+ <dependency>bzip2-libs</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>automake</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>shadow-utils</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libwvstreams-devel</name>
+ <dependencylist>
+ <dependency>libwvstreams</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-TimeDate</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdeaddons-konqueror</name>
+ <dependencylist>
+ <dependency>kdebase</dependency>
+ <dependency>arts</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ddd</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>openmotif</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libelf</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>x3270-text</name>
+ <dependencylist>
+ <dependency>x3270</dependency>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtkhtml-devel</name>
+ <dependencylist>
+ <dependency>gtkhtml</dependency>
+ <dependency>gnome-libs-devel</dependency>
+ <dependency>gnome-print-devel</dependency>
+ <dependency>libunicode-devel</dependency>
+ <dependency>gdk-pixbuf-devel</dependency>
+ <dependency>libglade-devel</dependency>
+ <dependency>libxml-devel</dependency>
+ <dependency>bonobo-devel</dependency>
+ <dependency>gal-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dvgrab</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libraw1394</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Canna-libs</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cups-drivers-pnm2ppa</name>
+ <dependencylist>
+ <dependency>pnm2ppa</dependency>
+ <dependency>ghostscript</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>anacron</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>vixie-cron</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>syslinux</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-games</name>
+ <dependencylist>
+ <dependency>scrollkeeper</dependency>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>guile</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdesdk-kbabel</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Danish</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mailman</name>
+ <dependencylist>
+ <dependency>shadow-utils</dependency>
+ <dependency>postfix</dependency>
+ <dependency>vixie-cron</dependency>
+ <dependency>httpd</dependency>
+ <dependency>python</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>bash</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>MAKEDEV</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nmh</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>vim-enhanced</name>
+ <dependencylist>
+ <dependency>vim-common</dependency>
+ <dependency>bash</dependency>
+ <dependency>libacl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gpm</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Turkish</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libuser-devel</name>
+ <dependencylist>
+ <dependency>libuser</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libesmtp</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>openssl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Guppi</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>bonobo</dependency>
+ <dependency>esound</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgal19</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>libglade</dependency>
+ <dependency>glib</dependency>
+ <dependency>gdk-pixbuf-gnome</dependency>
+ <dependency>libgnomeprint15</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>oaf</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glut-devel</name>
+ <dependencylist>
+ <dependency>glut</dependency>
+ <dependency>XFree86-Mesa-libGL</dependency>
+ <dependency>XFree86-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glade</name>
+ <dependencylist>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>acl</name>
+ <dependencylist>
+ <dependency>libacl</dependency>
+ <dependency>libattr</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gimp-print-devel</name>
+ <dependencylist>
+ <dependency>gimp-print</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>iptraf</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>khexedit</name>
+ <dependencylist>
+ <dependency>kdelibs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>abiword</name>
+ <dependencylist>
+ <dependency>libpng10</dependency>
+ <dependency>chkfontpath</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>libtool-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>pspell</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libtool</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>autoconf</dependency>
+ <dependency>automake</dependency>
+ <dependency>m4</dependency>
+ <dependency>perl</dependency>
+ <dependency>libtool-libs</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>festival-devel</name>
+ <dependencylist>
+ <dependency>festival</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libgnomeprint15</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>esound</dependency>
+ <dependency>freetype</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libavc1394</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libraw1394</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gail-devel</name>
+ <dependencylist>
+ <dependency>gail</dependency>
+ <dependency>gtk2-devel</dependency>
+ <dependency>libgnomecanvas-devel</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libtiff</name>
+ <dependencylist>
+ <dependency>zlib</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>compat-gcc-objc</name>
+ <dependencylist>
+ <dependency>compat-gcc</dependency>
+ <dependency>libobjc</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-artwork</name>
+ <dependencylist>
+ <dependency>redhat-logos</dependency>
+ <dependency>qt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xdelta-devel</name>
+ <dependencylist>
+ <dependency>xdelta</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>aumix</name>
+ <dependencylist>
+ <dependency>initscripts</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gpm</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>g-wrap</name>
+ <dependencylist>
+ <dependency>guile</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libungif</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mod_python</name>
+ <dependencylist>
+ <dependency>httpd</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>knode</name>
+ <dependencylist>
+ <dependency>kdenetwork-libs</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kooka</name>
+ <dependencylist>
+ <dependency>libkscan</dependency>
+ <dependency>sane-backends</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libusb</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>w3m</name>
+ <dependencylist>
+ <dependency>indexhtml</dependency>
+ <dependency>perl</dependency>
+ <dependency>openssl</dependency>
+ <dependency>ImageMagick</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gpm</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>imlib</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libungif</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>httpd</name>
+ <dependencylist>
+ <dependency>mailcap</dependency>
+ <dependency>gawk</dependency>
+ <dependency>file</dependency>
+ <dependency>findutils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>textutils</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>db4</dependency>
+ <dependency>expat</dependency>
+ <dependency>gdbm</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-ISO8859-15-100dpi-fonts</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rcs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>netatalk</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>initscripts</dependency>
+ <dependency>pam</dependency>
+ <dependency>tcp_wrappers</dependency>
+ <dependency>openssl</dependency>
+ <dependency>cracklib</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>emacs</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>dev</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libungif</dependency>
+ <dependency>Xaw3d</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-libwww-perl</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>perl-URI</dependency>
+ <dependency>perl-HTML-Parser</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>groff</name>
+ <dependencylist>
+ <dependency>mktemp</dependency>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>wine-devel</name>
+ <dependencylist>
+ <dependency>wine</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>glib</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mozilla-js-debugger</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>mozilla</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>hotplug-gtk</name>
+ <dependencylist>
+ <dependency>gnome-libs</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>esound</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>imlib</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>openssh-server</name>
+ <dependencylist>
+ <dependency>openssh</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>pam</dependency>
+ <dependency>bash</dependency>
+ <dependency>krb5-libs</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kde-i18n-Slovak</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-switch-printer-gnome</name>
+ <dependencylist>
+ <dependency>redhat-switch-printer</dependency>
+ <dependency>libglade2</dependency>
+ <dependency>pygtk2-libglade</dependency>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>chkconfig</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>dmalloc</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>unarj</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gaim</name>
+ <dependencylist>
+ <dependency>gtk+</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gnome-desktop</dependency>
+ <dependency>aspell</dependency>
+ <dependency>htmlview</dependency>
+ <dependency>bash</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>esound</dependency>
+ <dependency>gdk-pixbuf</dependency>
+ <dependency>glib</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libmrproject</name>
+ <dependencylist>
+ <dependency>gtk2</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnome-python2-bonobo</name>
+ <dependencylist>
+ <dependency>orbit-python</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>bridge-utils</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>VFlib2-devel</name>
+ <dependencylist>
+ <dependency>VFlib2</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>4Suite</name>
+ <dependencylist>
+ <dependency>python</dependency>
+ <dependency>PyXML</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cdrdao</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>flim</name>
+ <dependencylist>
+ <dependency>emacs</dependency>
+ <dependency>apel</dependency>
+ <dependency>info</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>initscripts</name>
+ <dependencylist>
+ <dependency>mingetty</dependency>
+ <dependency>gawk</dependency>
+ <dependency>sed</dependency>
+ <dependency>mktemp</dependency>
+ <dependency>e2fsprogs</dependency>
+ <dependency>procps</dependency>
+ <dependency>sysklogd</dependency>
+ <dependency>setup</dependency>
+ <dependency>psmisc</dependency>
+ <dependency>which</dependency>
+ <dependency>grep</dependency>
+ <dependency>modutils</dependency>
+ <dependency>util-linux</dependency>
+ <dependency>mount</dependency>
+ <dependency>bash</dependency>
+ <dependency>SysVinit</dependency>
+ <dependency>iproute</dependency>
+ <dependency>iputils</dependency>
+ <dependency>net-tools</dependency>
+ <dependency>bdflush</dependency>
+ <dependency>redhat-release</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>libxml2-python</name>
+ <dependencylist>
+ <dependency>libxml2</dependency>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>xpdf-chinese-simplified</name>
+ <dependencylist>
+ <dependency>xpdf</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-xfs</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>sed</dependency>
+ <dependency>shadow-utils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gphoto2</name>
+ <dependencylist>
+ <dependency>hotplug</dependency>
+ <dependency>glibc</dependency>
+ <dependency>grep</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>lockdev</dependency>
+ <dependency>bash</dependency>
+ <dependency>glib</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>ncurses</dependency>
+ <dependency>readline</dependency>
+ <dependency>libusb</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-CGI</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>lvm</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>newt-devel</name>
+ <dependencylist>
+ <dependency>slang-devel</dependency>
+ <dependency>newt</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>procinfo</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-BSD-Resource</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>koffice-devel</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>krbafs-devel</name>
+ <dependencylist>
+ <dependency>krbafs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>koncd</name>
+ <dependencylist>
+ <dependency>cdrecord</dependency>
+ <dependency>mkisofs</dependency>
+ <dependency>arts</dependency>
+ <dependency>audiofile</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>hotplug</name>
+ <dependencylist>
+ <dependency>usbutils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>compat-libstdc++</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>inn</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>grep</dependency>
+ <dependency>textutils</dependency>
+ <dependency>sed</dependency>
+ <dependency>fileutils</dependency>
+ <dependency>sh-utils</dependency>
+ <dependency>cleanfeed</dependency>
+ <dependency>bash</dependency>
+ <dependency>inews</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>db4</dependency>
+ <dependency>libelf</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>at</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>file</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rwall</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>samba-common</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>libacl</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>cups-libs</dependency>
+ <dependency>pam</dependency>
+ <dependency>popt</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>mozilla-chat</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>mozilla</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>anaconda-help</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>oaf</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>perl</dependency>
+ <dependency>glib</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdevelop</name>
+ <dependencylist>
+ <dependency>kdelibs-devel</dependency>
+ <dependency>make</dependency>
+ <dependency>perl</dependency>
+ <dependency>autoconf</dependency>
+ <dependency>automake</dependency>
+ <dependency>flex</dependency>
+ <dependency>qt-designer</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>uucp</name>
+ <dependencylist>
+ <dependency>fileutils</dependency>
+ <dependency>info</dependency>
+ <dependency>lockdev</dependency>
+ <dependency>bash</dependency>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>freetype</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>perl-suidperl</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gettext</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>python</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libgcj</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cdparanoia-devel</name>
+ <dependencylist>
+ <dependency>cdparanoia-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gtoaster</name>
+ <dependencylist>
+ <dependency>cdrecord</dependency>
+ <dependency>cdrdao</dependency>
+ <dependency>mkisofs</dependency>
+ <dependency>cdda2wav</dependency>
+ <dependency>sox</dependency>
+ <dependency>usermode</dependency>
+ <dependency>glibc</dependency>
+ <dependency>gtk+</dependency>
+ <dependency>glib</dependency>
+ <dependency>ORBit</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>esound-devel</name>
+ <dependencylist>
+ <dependency>esound</dependency>
+ <dependency>audiofile-devel</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gimp-data-extras</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-font-utils</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>freetype</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>redhat-config-keyboard</name>
+ <dependencylist>
+ <dependency>pygtk2</dependency>
+ <dependency>python</dependency>
+ <dependency>usermode</dependency>
+ <dependency>rhpl</dependency>
+ <dependency>pyxf86config</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>stat</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>gnumeric-devel</name>
+ <dependencylist>
+ <dependency>gnumeric</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>star</name>
+ <dependencylist>
+ <dependency>libacl</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>rwho</name>
+ <dependencylist>
+ <dependency>chkconfig</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>nvi-m17n-nocanna</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libtermcap</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>telnet</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>ncurses</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdebindings-kdejava</name>
+ <dependencylist>
+ <dependency>kdelibs</dependency>
+ <dependency>kdebindings-qtjava</dependency>
+ <dependency>libgcj</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>pcre</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kppp</name>
+ <dependencylist>
+ <dependency>usermode</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>man-pages-pl</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+ <package>
+ <name>readline</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>curl-devel</name>
+ <dependencylist>
+ <dependency>curl</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>slang</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>eog</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>libgnomeprint</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>libpng</dependency>
+ <dependency>popt</dependency>
+ <dependency>librsvg2</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kuickshow</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>imlib</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>libpng</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>libtiff</dependency>
+ <dependency>libungif</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>yelp</name>
+ <dependencylist>
+ <dependency>scrollkeeper</dependency>
+ <dependency>gtk2</dependency>
+ <dependency>gnome-vfs2</dependency>
+ <dependency>gtkhtml2</dependency>
+ <dependency>libgnomeui</dependency>
+ <dependency>libbonobo</dependency>
+ <dependency>libart_lgpl</dependency>
+ <dependency>atk</dependency>
+ <dependency>bonobo-activation</dependency>
+ <dependency>libbonoboui</dependency>
+ <dependency>glibc</dependency>
+ <dependency>GConf2</dependency>
+ <dependency>glib2</dependency>
+ <dependency>libgnome</dependency>
+ <dependency>libgnomecanvas</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>linc</dependency>
+ <dependency>ORBit2</dependency>
+ <dependency>pango</dependency>
+ <dependency>popt</dependency>
+ <dependency>libxml2</dependency>
+ <dependency>libxslt</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>Omni</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>cups-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>tetex-afm</name>
+ <dependencylist>
+ <dependency>tetex</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>slrn-pull</name>
+ <dependencylist>
+ <dependency>slrn</dependency>
+ <dependency>bash</dependency>
+ <dependency>openssl</dependency>
+ <dependency>glibc</dependency>
+ <dependency>slang</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>kdebindings-kdec</name>
+ <dependencylist>
+ <dependency>qt</dependency>
+ <dependency>kdebindings-qtc</dependency>
+ <dependency>glibc</dependency>
+ <dependency>kdelibs</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>XFree86-libs</dependency>
+ <dependency>libjpeg</dependency>
+ <dependency>pcre</dependency>
+ <dependency>libpng</dependency>
+ <dependency>libstdc++</dependency>
+ <dependency>zlib</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>usbutils</name>
+ <dependencylist>
+ <dependency>hwdata</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>e2fsprogs</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>audiofile</name>
+ <dependencylist>
+ <dependency>glibc</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>XFree86-ISO8859-2-75dpi-fonts</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ttfonts-zh_CN</name>
+ <dependencylist>
+ <dependency>chkfontpath</dependency>
+ <dependency>XFree86-font-utils</dependency>
+ <dependency>fontconfig</dependency>
+ <dependency>bash</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cdlabelgen</name>
+ <dependencylist>
+ <dependency>perl</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>ghostscript-fonts</name>
+ <dependencylist>
+ <dependency>ghostscript</dependency>
+ <dependency>fontconfig</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>FreeWnn-libs</name>
+ <dependencylist>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>qt2-Xt</name>
+ <dependencylist>
+ <dependency>qt2</dependency>
+ <dependency>glibc</dependency>
+ <dependency>compat-libstdc++</dependency>
+ <dependency>XFree86-libs</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>cpp</name>
+ <dependencylist>
+ <dependency>info</dependency>
+ <dependency>bash</dependency>
+ <dependency>glibc</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>oprofile</name>
+ <dependencylist>
+ <dependency>kernel</dependency>
+ <dependency>bash</dependency>
+ <dependency>binutils</dependency>
+ <dependency>glibc</dependency>
+ <dependency>libgcc</dependency>
+ <dependency>popt</dependency>
+ <dependency>qt</dependency>
+ <dependency>libstdc++</dependency>
+ </dependencylist>
+ </package>
+ <package>
+ <name>sash</name>
+ <dependencylist>
+ </dependencylist>
+ </package>
+</comps>
diff --git a/libxml2/test/relaxng/demo.rng b/libxml2/test/relaxng/demo.rng
new file mode 100644
index 0000000..1a7f17c
--- /dev/null
+++ b/libxml2/test/relaxng/demo.rng
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+
+<include href="demo2.rng">
+<define name="TEI.prose"><ref name="INCLUDE"/></define>
+</include>
+</grammar>
+
+
+
diff --git a/libxml2/test/relaxng/demo.xml b/libxml2/test/relaxng/demo.xml
new file mode 100644
index 0000000..6b0cac1
--- /dev/null
+++ b/libxml2/test/relaxng/demo.xml
@@ -0,0 +1 @@
+<TEI.2>hello</TEI.2> \ No newline at end of file
diff --git a/libxml2/test/relaxng/demo2.rng b/libxml2/test/relaxng/demo2.rng
new file mode 100644
index 0000000..f528f73
--- /dev/null
+++ b/libxml2/test/relaxng/demo2.rng
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:t="http://www.thaiopensource.com/ns/annotations" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+
+ <start>
+ <ref name="TEI.2"/>
+ </start>
+ <define name="IGNORE">
+ <notAllowed/>
+ </define>
+ <define name="INCLUDE">
+ <empty/>
+ </define>
+
+
+ <include href="demo3.rng"/>
+
+ <define name="TEI.2">
+ <element name="TEI.2">
+ <text/>
+ </element>
+ </define>
+
+</grammar> \ No newline at end of file
diff --git a/libxml2/test/relaxng/demo3.rng b/libxml2/test/relaxng/demo3.rng
new file mode 100644
index 0000000..73e1eb6
--- /dev/null
+++ b/libxml2/test/relaxng/demo3.rng
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:t="http://www.thaiopensource.com/ns/annotations" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+
+ <define name="TEI.prose" combine="interleave">
+ <ref name="IGNORE"/>
+ </define>
+
+</grammar> \ No newline at end of file
diff --git a/libxml2/test/relaxng/docbook.rng b/libxml2/test/relaxng/docbook.rng
new file mode 100644
index 0000000..85a6aed
--- /dev/null
+++ b/libxml2/test/relaxng/docbook.rng
@@ -0,0 +1,9141 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id: docbook.rng,v 1.5 2001/10/23 05:56:47 jjc Exp $ -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <start>
+ <choice>
+ <ref name="set"/>
+ <ref name="book"/>
+ <ref name="chapter"/>
+ <ref name="appendix"/>
+ <ref name="article"/>
+ <ref name="part"/>
+ <ref name="reference"/>
+ <ref name="refentry"/>
+ <ref name="section"/>
+ <ref name="sect1"/>
+ <ref name="sect2"/>
+ <ref name="sect3"/>
+ <ref name="sect4"/>
+ <ref name="sect5"/>
+ <ref name="para"/>
+ </choice>
+ </start>
+ <define name="ndxterm.class">
+ <ref name="indexterm"/>
+ </define>
+ <define name="list.class">
+ <choice>
+ <ref name="calloutlist"/>
+ <ref name="glosslist"/>
+ <ref name="itemizedlist"/>
+ <ref name="orderedlist"/>
+ <ref name="segmentedlist"/>
+ <ref name="simplelist"/>
+ <ref name="variablelist"/>
+ </choice>
+ </define>
+ <define name="admon.class">
+ <choice>
+ <ref name="caution"/>
+ <ref name="important"/>
+ <ref name="note"/>
+ <ref name="tip"/>
+ <ref name="warning"/>
+ </choice>
+ </define>
+ <define name="linespecific.class">
+ <choice>
+ <ref name="literallayout"/>
+ <ref name="programlisting"/>
+ <ref name="programlistingco"/>
+ <ref name="screen"/>
+ <ref name="screenco"/>
+ <ref name="screenshot"/>
+ </choice>
+ </define>
+ <define name="method.synop.class">
+ <choice>
+ <ref name="constructorsynopsis"/>
+ <ref name="destructorsynopsis"/>
+ <ref name="methodsynopsis"/>
+ </choice>
+ </define>
+ <define name="synop.class">
+ <choice>
+ <ref name="synopsis"/>
+ <ref name="cmdsynopsis"/>
+ <ref name="funcsynopsis"/>
+ <ref name="classsynopsis"/>
+ <ref name="fieldsynopsis"/>
+ </choice>
+ </define>
+ <define name="para.class">
+ <choice>
+ <ref name="formalpara"/>
+ <ref name="para"/>
+ <ref name="simpara"/>
+ </choice>
+ </define>
+ <define name="informal.class">
+ <choice>
+ <ref name="address"/>
+ <ref name="blockquote"/>
+ <ref name="graphic"/>
+ <ref name="graphicco"/>
+ <ref name="mediaobject"/>
+ <ref name="mediaobjectco"/>
+ <ref name="informalequation"/>
+ <ref name="informalexample"/>
+ <ref name="informalfigure"/>
+ <ref name="informaltable"/>
+ </choice>
+ </define>
+ <define name="formal.class">
+ <choice>
+ <ref name="equation"/>
+ <ref name="example"/>
+ <ref name="figure"/>
+ <ref name="table"/>
+ </choice>
+ </define>
+ <define name="compound.class">
+ <choice>
+ <ref name="msgset"/>
+ <ref name="procedure"/>
+ <ref name="sidebar"/>
+ <ref name="qandaset"/>
+ </choice>
+ </define>
+ <define name="genobj.class">
+ <choice>
+ <ref name="anchor"/>
+ <ref name="bridgehead"/>
+ <ref name="remark"/>
+ <ref name="highlights"/>
+ </choice>
+ </define>
+ <define name="descobj.class">
+ <choice>
+ <ref name="abstract"/>
+ <ref name="authorblurb"/>
+ <ref name="epigraph"/>
+ </choice>
+ </define>
+ <define name="xref.char.class">
+ <choice>
+ <ref name="footnoteref"/>
+ <ref name="xref"/>
+ </choice>
+ </define>
+ <define name="gen.char.class">
+ <choice>
+ <ref name="abbrev"/>
+ <ref name="acronym"/>
+ <ref name="citation"/>
+ <ref name="citerefentry"/>
+ <ref name="citetitle"/>
+ <ref name="emphasis"/>
+ <ref name="firstterm"/>
+ <ref name="foreignphrase"/>
+ <ref name="glossterm"/>
+ <ref name="footnote"/>
+ <ref name="phrase"/>
+ <ref name="quote"/>
+ <ref name="trademark"/>
+ <ref name="wordasword"/>
+ </choice>
+ </define>
+ <define name="link.char.class">
+ <choice>
+ <ref name="link"/>
+ <ref name="olink"/>
+ <ref name="ulink"/>
+ </choice>
+ </define>
+ <define name="tech.char.class">
+ <choice>
+ <ref name="action"/>
+ <ref name="application"/>
+ <ref name="classname"/>
+ <ref name="methodname"/>
+ <ref name="interfacename"/>
+ <ref name="exceptionname"/>
+ <ref name="ooclass"/>
+ <ref name="oointerface"/>
+ <ref name="ooexception"/>
+ <ref name="command"/>
+ <ref name="computeroutput"/>
+ <ref name="database"/>
+ <ref name="email"/>
+ <ref name="envar"/>
+ <ref name="errorcode"/>
+ <ref name="errorname"/>
+ <ref name="errortype"/>
+ <ref name="filename"/>
+ <ref name="function"/>
+ <ref name="guibutton"/>
+ <ref name="guiicon"/>
+ <ref name="guilabel"/>
+ <ref name="guimenu"/>
+ <ref name="guimenuitem"/>
+ <ref name="guisubmenu"/>
+ <ref name="hardware"/>
+ <ref name="interface"/>
+ <ref name="keycap"/>
+ <ref name="keycode"/>
+ <ref name="keycombo"/>
+ <ref name="keysym"/>
+ <ref name="literal"/>
+ <ref name="constant"/>
+ <ref name="markup"/>
+ <ref name="medialabel"/>
+ <ref name="menuchoice"/>
+ <ref name="mousebutton"/>
+ <ref name="option"/>
+ <ref name="optional"/>
+ <ref name="parameter"/>
+ <ref name="prompt"/>
+ <ref name="property"/>
+ <ref name="replaceable"/>
+ <ref name="returnvalue"/>
+ <ref name="sgmltag"/>
+ <ref name="structfield"/>
+ <ref name="structname"/>
+ <ref name="symbol"/>
+ <ref name="systemitem"/>
+ <ref name="token"/>
+ <ref name="type"/>
+ <ref name="userinput"/>
+ <ref name="varname"/>
+ </choice>
+ </define>
+ <define name="base.char.class">
+ <ref name="anchor"/>
+ </define>
+ <define name="docinfo.char.class">
+ <choice>
+ <ref name="author"/>
+ <ref name="authorinitials"/>
+ <ref name="corpauthor"/>
+ <ref name="modespec"/>
+ <ref name="othercredit"/>
+ <ref name="productname"/>
+ <ref name="productnumber"/>
+ <ref name="revhistory"/>
+ </choice>
+ </define>
+ <define name="other.char.class">
+ <choice>
+ <ref name="remark"/>
+ <ref name="subscript"/>
+ <ref name="superscript"/>
+ </choice>
+ </define>
+ <define name="inlineobj.char.class">
+ <choice>
+ <ref name="inlinegraphic"/>
+ <ref name="inlinemediaobject"/>
+ <ref name="inlineequation"/>
+ </choice>
+ </define>
+ <define name="component.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="admon.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="synop.class"/>
+ <ref name="para.class"/>
+ <ref name="informal.class"/>
+ <ref name="formal.class"/>
+ <ref name="compound.class"/>
+ <ref name="genobj.class"/>
+ <ref name="descobj.class"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="sidebar.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="admon.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="synop.class"/>
+ <ref name="para.class"/>
+ <ref name="informal.class"/>
+ <ref name="formal.class"/>
+ <ref name="procedure"/>
+ <ref name="genobj.class"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="qandaset.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="admon.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="synop.class"/>
+ <ref name="para.class"/>
+ <ref name="informal.class"/>
+ <ref name="formal.class"/>
+ <ref name="procedure"/>
+ <ref name="genobj.class"/>
+ <ref name="ndxterm.class"/>
+ </choice>
+ </define>
+ <define name="revdescription.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="admon.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="synop.class"/>
+ <ref name="para.class"/>
+ <ref name="informal.class"/>
+ <ref name="formal.class"/>
+ <ref name="procedure"/>
+ <ref name="genobj.class"/>
+ <ref name="ndxterm.class"/>
+ </choice>
+ </define>
+ <define name="footnote.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="synop.class"/>
+ <ref name="para.class"/>
+ <ref name="informal.class"/>
+ </choice>
+ </define>
+ <define name="example.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="synop.class"/>
+ <ref name="para.class"/>
+ <ref name="informal.class"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="highlights.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="admon.class"/>
+ <ref name="para.class"/>
+ <ref name="ndxterm.class"/>
+ </choice>
+ </define>
+ <define name="para.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="admon.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="informal.class"/>
+ <ref name="formal.class"/>
+ </choice>
+ </define>
+ <define name="admon.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="synop.class"/>
+ <ref name="para.class"/>
+ <ref name="informal.class"/>
+ <ref name="formal.class"/>
+ <ref name="procedure"/>
+ <ref name="sidebar"/>
+ <ref name="anchor"/>
+ <ref name="bridgehead"/>
+ <ref name="remark"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="figure.mix">
+ <choice>
+ <ref name="linespecific.class"/>
+ <ref name="synop.class"/>
+ <ref name="informal.class"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="tabentry.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="admon.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="para.class"/>
+ <ref name="graphic"/>
+ <ref name="mediaobject"/>
+ </choice>
+ </define>
+ <define name="glossdef.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="synop.class"/>
+ <ref name="para.class"/>
+ <ref name="informal.class"/>
+ <ref name="formal.class"/>
+ <ref name="remark"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="legalnotice.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="admon.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="para.class"/>
+ <ref name="blockquote"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="textobject.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="admon.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="para.class"/>
+ <ref name="blockquote"/>
+ </choice>
+ </define>
+ <define name="mediaobject.mix">
+ <choice>
+ <ref name="videoobject"/>
+ <ref name="audioobject"/>
+ <ref name="imageobject"/>
+ </choice>
+ </define>
+ <define name="para.char.mix">
+ <choice>
+ <ref name="xref.char.class"/>
+ <ref name="gen.char.class"/>
+ <ref name="link.char.class"/>
+ <ref name="tech.char.class"/>
+ <ref name="base.char.class"/>
+ <ref name="docinfo.char.class"/>
+ <ref name="other.char.class"/>
+ <ref name="inlineobj.char.class"/>
+ <ref name="synop.class"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="title.char.mix">
+ <choice>
+ <ref name="xref.char.class"/>
+ <ref name="gen.char.class"/>
+ <ref name="link.char.class"/>
+ <ref name="tech.char.class"/>
+ <ref name="base.char.class"/>
+ <ref name="docinfo.char.class"/>
+ <ref name="other.char.class"/>
+ <ref name="inlineobj.char.class"/>
+ <ref name="ndxterm.class"/>
+ </choice>
+ </define>
+ <define name="ndxterm.char.mix">
+ <choice>
+ <ref name="xref.char.class"/>
+ <ref name="gen.char.class"/>
+ <ref name="link.char.class"/>
+ <ref name="tech.char.class"/>
+ <ref name="base.char.class"/>
+ <ref name="docinfo.char.class"/>
+ <ref name="other.char.class"/>
+ <ref name="inlinegraphic"/>
+ <ref name="inlinemediaobject"/>
+ </choice>
+ </define>
+ <define name="cptr.char.mix">
+ <choice>
+ <ref name="link.char.class"/>
+ <ref name="tech.char.class"/>
+ <ref name="base.char.class"/>
+ <ref name="other.char.class"/>
+ <ref name="inlinegraphic"/>
+ <ref name="inlinemediaobject"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="smallcptr.char.mix">
+ <choice>
+ <ref name="replaceable"/>
+ <ref name="inlinegraphic"/>
+ <ref name="inlinemediaobject"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="word.char.mix">
+ <choice>
+ <ref name="acronym"/>
+ <ref name="emphasis"/>
+ <ref name="trademark"/>
+ <ref name="link.char.class"/>
+ <ref name="base.char.class"/>
+ <ref name="other.char.class"/>
+ <ref name="inlinegraphic"/>
+ <ref name="inlinemediaobject"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="docinfo.char.mix">
+ <choice>
+ <ref name="link.char.class"/>
+ <ref name="emphasis"/>
+ <ref name="trademark"/>
+ <ref name="replaceable"/>
+ <ref name="other.char.class"/>
+ <ref name="inlinegraphic"/>
+ <ref name="inlinemediaobject"/>
+ <ref name="ndxterm.class"/>
+ </choice>
+ </define>
+ <define name="formalobject.title.content">
+ <ref name="title"/>
+ <optional>
+ <ref name="titleabbrev"/>
+ </optional>
+ </define>
+ <define name="arch.attrib">
+ <optional>
+ <attribute name="arch">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="condition.attrib">
+ <optional>
+ <attribute name="condition">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="conformance.attrib">
+ <optional>
+ <attribute name="conformance">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="os.attrib">
+ <optional>
+ <attribute name="os">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="revision.attrib">
+ <optional>
+ <attribute name="revision">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="security.attrib">
+ <optional>
+ <attribute name="security">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="userlevel.attrib">
+ <optional>
+ <attribute name="userlevel">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="vendor.attrib">
+ <optional>
+ <attribute name="vendor">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="effectivity.attrib">
+ <ref name="arch.attrib"/>
+ <ref name="condition.attrib"/>
+ <ref name="conformance.attrib"/>
+ <ref name="os.attrib"/>
+ <ref name="revision.attrib"/>
+ <ref name="security.attrib"/>
+ <ref name="userlevel.attrib"/>
+ <ref name="vendor.attrib"/>
+ </define>
+ <define name="id.attrib">
+ <optional>
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="idreq.attrib">
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ </define>
+ <define name="lang.attrib">
+ <optional>
+ <attribute name="lang">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="remap.attrib">
+ <optional>
+ <attribute name="remap">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="role.attrib">
+ <optional>
+ <attribute name="role">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="xreflabel.attrib">
+ <optional>
+ <attribute name="xreflabel">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="revisionflag.attrib">
+ <optional>
+ <attribute name="revisionflag">
+ <choice>
+ <value>changed</value>
+ <value>added</value>
+ <value>deleted</value>
+ <value>off</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="common.attrib">
+ <ref name="id.attrib"/>
+ <ref name="lang.attrib"/>
+ <ref name="remap.attrib"/>
+ <ref name="xreflabel.attrib"/>
+ <ref name="revisionflag.attrib"/>
+ <ref name="effectivity.attrib"/>
+ </define>
+ <define name="idreq.common.attrib">
+ <ref name="idreq.attrib"/>
+ <ref name="lang.attrib"/>
+ <ref name="remap.attrib"/>
+ <ref name="xreflabel.attrib"/>
+ <ref name="revisionflag.attrib"/>
+ <ref name="effectivity.attrib"/>
+ </define>
+ <define name="graphics.attrib">
+ <optional>
+ <attribute name="fileref">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="format">
+ <choice>
+ <value>BMP</value>
+ <value>CGM-CHAR</value>
+ <value>CGM-BINARY</value>
+ <value>CGM-CLEAR</value>
+ <value>DITROFF</value>
+ <value>DVI</value>
+ <value>EPS</value>
+ <value>EQN</value>
+ <value>FAX</value>
+ <value>GIF</value>
+ <value>GIF87a</value>
+ <value>GIF89a</value>
+ <value>JPG</value>
+ <value>JPEG</value>
+ <value>IGES</value>
+ <value>PCX</value>
+ <value>PIC</value>
+ <value>PNG</value>
+ <value>PS</value>
+ <value>SGML</value>
+ <value>TBL</value>
+ <value>TEX</value>
+ <value>TIFF</value>
+ <value>WMF</value>
+ <value>WPG</value>
+ <value>linespecific</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="srccredit">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="depth">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scale">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scalefit">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="keyaction.attrib">
+ <optional>
+ <attribute name="action">
+ <choice>
+ <value>click</value>
+ <value>double-click</value>
+ <value>press</value>
+ <value>seq</value>
+ <value>simul</value>
+ <value>other</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="otheraction">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="label.attrib">
+ <optional>
+ <attribute name="label">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="linespecific.attrib">
+ <optional>
+ <attribute name="format">
+ <value>linespecific</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="linenumbering">
+ <choice>
+ <value>numbered</value>
+ <value>unnumbered</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="linkend.attrib">
+ <optional>
+ <attribute name="linkend">
+ <data type="IDREF"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="linkendreq.attrib">
+ <attribute name="linkend">
+ <data type="IDREF"/>
+ </attribute>
+ </define>
+ <define name="linkends.attrib">
+ <optional>
+ <attribute name="linkends">
+ <data type="IDREFS"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mark.attrib">
+ <optional>
+ <attribute name="mark">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="moreinfo.attrib">
+ <optional>
+ <attribute name="moreinfo">
+ <choice>
+ <value>refentry</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="pagenum.attrib">
+ <optional>
+ <attribute name="pagenum">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="status.attrib">
+ <optional>
+ <attribute name="status">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="width.attrib">
+ <optional>
+ <attribute name="width">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="title.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="title">
+ <element name="title">
+ <ref name="title.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="title.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="title.attlist">
+ <ref name="pagenum.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="title.role.attrib"/>
+ </define>
+ <define name="titleabbrev.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="titleabbrev">
+ <element name="titleabbrev">
+ <ref name="titleabbrev.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="title.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="titleabbrev.attlist">
+ <ref name="common.attrib"/>
+ <ref name="titleabbrev.role.attrib"/>
+ </define>
+ <define name="subtitle.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="subtitle">
+ <element name="subtitle">
+ <ref name="subtitle.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="title.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="subtitle.attlist">
+ <ref name="common.attrib"/>
+ <ref name="subtitle.role.attrib"/>
+ </define>
+ <define name="person.ident.mix">
+ <choice>
+ <ref name="honorific"/>
+ <ref name="firstname"/>
+ <ref name="surname"/>
+ <ref name="lineage"/>
+ <ref name="othername"/>
+ <ref name="affiliation"/>
+ <ref name="authorblurb"/>
+ <ref name="contrib"/>
+ </choice>
+ </define>
+ <define name="bibliocomponent.mix">
+ <choice>
+ <ref name="abbrev"/>
+ <ref name="abstract"/>
+ <ref name="address"/>
+ <ref name="artpagenums"/>
+ <ref name="author"/>
+ <ref name="authorgroup"/>
+ <ref name="authorinitials"/>
+ <ref name="bibliomisc"/>
+ <ref name="biblioset"/>
+ <ref name="collab"/>
+ <ref name="confgroup"/>
+ <ref name="contractnum"/>
+ <ref name="contractsponsor"/>
+ <ref name="copyright"/>
+ <ref name="corpauthor"/>
+ <ref name="corpname"/>
+ <ref name="date"/>
+ <ref name="edition"/>
+ <ref name="editor"/>
+ <ref name="invpartnumber"/>
+ <ref name="isbn"/>
+ <ref name="issn"/>
+ <ref name="issuenum"/>
+ <ref name="orgname"/>
+ <ref name="othercredit"/>
+ <ref name="pagenums"/>
+ <ref name="printhistory"/>
+ <ref name="productname"/>
+ <ref name="productnumber"/>
+ <ref name="pubdate"/>
+ <ref name="publisher"/>
+ <ref name="publishername"/>
+ <ref name="pubsnumber"/>
+ <ref name="releaseinfo"/>
+ <ref name="revhistory"/>
+ <ref name="seriesvolnums"/>
+ <ref name="subtitle"/>
+ <ref name="title"/>
+ <ref name="titleabbrev"/>
+ <ref name="volumenum"/>
+ <ref name="citetitle"/>
+ <ref name="person.ident.mix"/>
+ <ref name="ndxterm.class"/>
+ </choice>
+ </define>
+ <define name="biblioentry.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="biblioentry">
+ <element name="biblioentry">
+ <ref name="biblioentry.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="articleinfo"/>
+ <ref name="bibliocomponent.mix"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="biblioentry.attlist">
+ <ref name="common.attrib"/>
+ <ref name="biblioentry.role.attrib"/>
+ </define>
+ <define name="bibliomixed.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="bibliomixed">
+ <element name="bibliomixed">
+ <ref name="bibliomixed.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="bibliocomponent.mix"/>
+ <ref name="bibliomset"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="bibliomixed.attlist">
+ <ref name="common.attrib"/>
+ <ref name="bibliomixed.role.attrib"/>
+ </define>
+ <define name="articleinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="infoContentModel">
+ <oneOrMore>
+ <choice>
+ <ref name="graphic"/>
+ <ref name="mediaobject"/>
+ <ref name="legalnotice"/>
+ <ref name="modespec"/>
+ <ref name="subjectset"/>
+ <ref name="keywordset"/>
+ <ref name="itermset"/>
+ <ref name="bibliocomponent.mix"/>
+ </choice>
+ </oneOrMore>
+ </define>
+ <define name="articleinfo">
+ <element name="articleinfo">
+ <ref name="articleinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="articleinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="articleinfo.role.attrib"/>
+ </define>
+ <define name="biblioset.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="biblioset">
+ <element name="biblioset">
+ <ref name="biblioset.attlist"/>
+ <oneOrMore>
+ <ref name="bibliocomponent.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="biblioset.attlist">
+ <ref name="common.attrib"/>
+ <ref name="biblioset.role.attrib"/>
+ <optional>
+ <attribute name="relation">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="bibliomset.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="bibliomset">
+ <element name="bibliomset">
+ <ref name="bibliomset.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="bibliocomponent.mix"/>
+ <ref name="bibliomset"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="bibliomset.attlist">
+ <ref name="bibliomset.role.attrib"/>
+ <ref name="common.attrib"/>
+ <optional>
+ <attribute name="relation">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="bibliomisc.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="bibliomisc">
+ <element name="bibliomisc">
+ <ref name="bibliomisc.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="bibliomisc.attlist">
+ <ref name="common.attrib"/>
+ <ref name="bibliomisc.role.attrib"/>
+ </define>
+ <define name="subjectset.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="subjectset">
+ <element name="subjectset">
+ <ref name="subjectset.attlist"/>
+ <oneOrMore>
+ <ref name="subject"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="subjectset.attlist">
+ <ref name="common.attrib"/>
+ <ref name="subjectset.role.attrib"/>
+ <optional>
+ <attribute name="scheme">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="subject.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="subject">
+ <element name="subject">
+ <ref name="subject.attlist"/>
+ <oneOrMore>
+ <ref name="subjectterm"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="subject.attlist">
+ <ref name="common.attrib"/>
+ <ref name="subject.role.attrib"/>
+ <optional>
+ <attribute name="weight">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="subjectterm.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="subjectterm">
+ <element name="subjectterm">
+ <ref name="subjectterm.attlist"/>
+ <text/>
+ </element>
+ </define>
+ <define name="subjectterm.attlist">
+ <ref name="common.attrib"/>
+ <ref name="subjectterm.role.attrib"/>
+ </define>
+ <define name="keywordset.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="keywordset">
+ <element name="keywordset">
+ <ref name="keywordset.attlist"/>
+ <oneOrMore>
+ <ref name="keyword"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="keywordset.attlist">
+ <ref name="common.attrib"/>
+ <ref name="keywordset.role.attrib"/>
+ </define>
+ <define name="keyword.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="keyword">
+ <element name="keyword">
+ <ref name="keyword.attlist"/>
+ <text/>
+ </element>
+ </define>
+ <define name="keyword.attlist">
+ <ref name="common.attrib"/>
+ <ref name="keyword.role.attrib"/>
+ </define>
+ <define name="itermset.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="itermset">
+ <element name="itermset">
+ <ref name="itermset.attlist"/>
+ <oneOrMore>
+ <ref name="indexterm"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="itermset.attlist">
+ <ref name="common.attrib"/>
+ <ref name="itermset.role.attrib"/>
+ </define>
+ <define name="msgset.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="msgset">
+ <element name="msgset">
+ <ref name="msgset.attlist"/>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <choice>
+ <oneOrMore>
+ <ref name="msgentry"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="simplemsgentry"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="msgset.attlist">
+ <ref name="common.attrib"/>
+ <ref name="msgset.role.attrib"/>
+ </define>
+ <define name="msgentry.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="msgentry">
+ <element name="msgentry">
+ <ref name="msgentry.attlist"/>
+ <oneOrMore>
+ <ref name="msg"/>
+ </oneOrMore>
+ <optional>
+ <ref name="msginfo"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="msgexplan"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="msgentry.attlist">
+ <ref name="common.attrib"/>
+ <ref name="msgentry.role.attrib"/>
+ </define>
+ <define name="simplemsgentry.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="simplemsgentry">
+ <element name="simplemsgentry">
+ <ref name="simplemsgentry.attlist"/>
+ <ref name="msgtext"/>
+ <ref name="msgexplan"/>
+ </element>
+ </define>
+ <define name="simplemsgentry.attlist">
+ <ref name="common.attrib"/>
+ <ref name="simplemsgentry.role.attrib"/>
+ <optional>
+ <attribute name="audience">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="level">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="origin">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="msg.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="msg">
+ <element name="msg">
+ <ref name="msg.attlist"/>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <ref name="msgmain"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="msgsub"/>
+ <ref name="msgrel"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="msg.attlist">
+ <ref name="common.attrib"/>
+ <ref name="msg.role.attrib"/>
+ </define>
+ <define name="msgmain.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="msgmain">
+ <element name="msgmain">
+ <ref name="msgmain.attlist"/>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <ref name="msgtext"/>
+ </element>
+ </define>
+ <define name="msgmain.attlist">
+ <ref name="common.attrib"/>
+ <ref name="msgmain.role.attrib"/>
+ </define>
+ <define name="msgsub.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="msgsub">
+ <element name="msgsub">
+ <ref name="msgsub.attlist"/>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <ref name="msgtext"/>
+ </element>
+ </define>
+ <define name="msgsub.attlist">
+ <ref name="common.attrib"/>
+ <ref name="msgsub.role.attrib"/>
+ </define>
+ <define name="msgrel.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="msgrel">
+ <element name="msgrel">
+ <ref name="msgrel.attlist"/>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <ref name="msgtext"/>
+ </element>
+ </define>
+ <define name="msgrel.attlist">
+ <ref name="common.attrib"/>
+ <ref name="msgrel.role.attrib"/>
+ </define>
+ <define name="msginfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="msginfo">
+ <element name="msginfo">
+ <ref name="msginfo.attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="msglevel"/>
+ <ref name="msgorig"/>
+ <ref name="msgaud"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="msginfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="msginfo.role.attrib"/>
+ </define>
+ <define name="msglevel.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="msglevel">
+ <element name="msglevel">
+ <ref name="msglevel.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="msglevel.attlist">
+ <ref name="common.attrib"/>
+ <ref name="msglevel.role.attrib"/>
+ </define>
+ <define name="msgorig.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="msgorig">
+ <element name="msgorig">
+ <ref name="msgorig.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="msgorig.attlist">
+ <ref name="common.attrib"/>
+ <ref name="msgorig.role.attrib"/>
+ </define>
+ <define name="msgaud.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="msgaud">
+ <element name="msgaud">
+ <ref name="msgaud.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="msgaud.attlist">
+ <ref name="common.attrib"/>
+ <ref name="msgaud.role.attrib"/>
+ </define>
+ <define name="msgexplan.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="msgexplan">
+ <element name="msgexplan">
+ <ref name="msgexplan.attlist"/>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="component.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="msgexplan.attlist">
+ <ref name="common.attrib"/>
+ <ref name="msgexplan.role.attrib"/>
+ </define>
+ <define name="qandset.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="qandaset">
+ <element name="qandaset">
+ <ref name="qandaset.attlist"/>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="qandaset.mix"/>
+ </zeroOrMore>
+ <choice>
+ <oneOrMore>
+ <ref name="qandadiv"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="qandaentry"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="qandaset.attlist">
+ <ref name="common.attrib"/>
+ <ref name="qandset.role.attrib"/>
+ <optional>
+ <attribute name="defaultlabel">
+ <choice>
+ <value>qanda</value>
+ <value>number</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="qandadiv.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="qandadiv">
+ <element name="qandadiv">
+ <ref name="qandadiv.attlist"/>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="qandaset.mix"/>
+ </zeroOrMore>
+ <choice>
+ <oneOrMore>
+ <ref name="qandadiv"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="qandaentry"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="qandadiv.attlist">
+ <ref name="common.attrib"/>
+ <ref name="qandadiv.role.attrib"/>
+ </define>
+ <define name="qandaentry.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="qandaentry">
+ <element name="qandaentry">
+ <ref name="qandaentry.attlist"/>
+ <optional>
+ <ref name="revhistory"/>
+ </optional>
+ <ref name="question"/>
+ <zeroOrMore>
+ <ref name="answer"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="qandaentry.attlist">
+ <ref name="common.attrib"/>
+ <ref name="qandaentry.role.attrib"/>
+ </define>
+ <define name="question.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="question">
+ <element name="question">
+ <ref name="question.attlist"/>
+ <optional>
+ <ref name="label"/>
+ </optional>
+ <oneOrMore>
+ <ref name="qandaset.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="question.attlist">
+ <ref name="common.attrib"/>
+ <ref name="question.role.attrib"/>
+ </define>
+ <define name="answer.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="answer">
+ <element name="answer">
+ <ref name="answer.attlist"/>
+ <optional>
+ <ref name="label"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="qandaset.mix"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="qandaentry"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="answer.attlist">
+ <ref name="common.attrib"/>
+ <ref name="answer.role.attrib"/>
+ </define>
+ <define name="label.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="label">
+ <element name="label">
+ <ref name="label.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="word.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="label.attlist">
+ <ref name="common.attrib"/>
+ <ref name="label.role.attrib"/>
+ </define>
+ <define name="procedure.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="procedure">
+ <element name="procedure">
+ <ref name="procedure.attlist"/>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="component.mix"/>
+ </zeroOrMore>
+ <oneOrMore>
+ <ref name="step"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="procedure.attlist">
+ <ref name="common.attrib"/>
+ <ref name="procedure.role.attrib"/>
+ </define>
+ <define name="step.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="step">
+ <element name="step">
+ <ref name="step.attlist"/>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <choice>
+ <group>
+ <oneOrMore>
+ <ref name="component.mix"/>
+ </oneOrMore>
+ <optional>
+ <ref name="substeps"/>
+ <zeroOrMore>
+ <ref name="component.mix"/>
+ </zeroOrMore>
+ </optional>
+ </group>
+ <group>
+ <ref name="substeps"/>
+ <zeroOrMore>
+ <ref name="component.mix"/>
+ </zeroOrMore>
+ </group>
+ </choice>
+ </element>
+ </define>
+ <define name="step.attlist">
+ <ref name="common.attrib"/>
+ <ref name="step.role.attrib"/>
+ <optional>
+ <attribute name="performance">
+ <choice>
+ <value>optional</value>
+ <value>required</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="substeps.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="substeps">
+ <element name="substeps">
+ <ref name="substeps.attlist"/>
+ <oneOrMore>
+ <ref name="step"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="substeps.attlist">
+ <ref name="common.attrib"/>
+ <ref name="substeps.role.attrib"/>
+ <optional>
+ <attribute name="performance">
+ <choice>
+ <value>optional</value>
+ <value>required</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="sidebarinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sidebarinfo">
+ <element name="sidebarinfo">
+ <ref name="sidebarinfo.attlist"/>
+ <text/>
+ </element>
+ </define>
+ <define name="sidebarinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="sidebarinfo.role.attrib"/>
+ </define>
+ <define name="sidebar.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sidebar">
+ <element name="sidebar">
+ <ref name="sidebar.attlist"/>
+ <optional>
+ <ref name="sidebarinfo"/>
+ </optional>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <oneOrMore>
+ <ref name="sidebar.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="sidebar.attlist">
+ <ref name="common.attrib"/>
+ <ref name="sidebar.role.attrib"/>
+ </define>
+ <define name="abstract.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="abstract">
+ <element name="abstract">
+ <ref name="abstract.attlist"/>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <oneOrMore>
+ <ref name="para.class"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="abstract.attlist">
+ <ref name="common.attrib"/>
+ <ref name="abstract.role.attrib"/>
+ </define>
+ <define name="authorblurb.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="authorblurb">
+ <element name="authorblurb">
+ <ref name="authorblurb.attlist"/>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <oneOrMore>
+ <ref name="para.class"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="authorblurb.attlist">
+ <ref name="common.attrib"/>
+ <ref name="authorblurb.role.attrib"/>
+ </define>
+ <define name="blockquote.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="blockquote">
+ <element name="blockquote">
+ <ref name="blockquote.attlist"/>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <optional>
+ <ref name="attribution"/>
+ </optional>
+ <oneOrMore>
+ <ref name="component.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="blockquote.attlist">
+ <ref name="common.attrib"/>
+ <ref name="blockquote.role.attrib"/>
+ </define>
+ <define name="attribution.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="attribution">
+ <element name="attribution">
+ <ref name="attribution.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="attribution.attlist">
+ <ref name="common.attrib"/>
+ <ref name="attribution.role.attrib"/>
+ </define>
+ <define name="bridgehead.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="bridgehead">
+ <element name="bridgehead">
+ <ref name="bridgehead.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="title.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="bridgehead.attlist">
+ <ref name="common.attrib"/>
+ <ref name="bridgehead.role.attrib"/>
+ <optional>
+ <attribute name="renderas">
+ <choice>
+ <value>other</value>
+ <value>sect1</value>
+ <value>sect2</value>
+ <value>sect3</value>
+ <value>sect4</value>
+ <value>sect5</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="remark.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="remark">
+ <element name="remark">
+ <ref name="remark.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="remark.attlist">
+ <ref name="common.attrib"/>
+ <ref name="remark.role.attrib"/>
+ </define>
+ <define name="epigraph.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="epigraph">
+ <element name="epigraph">
+ <ref name="epigraph.attlist"/>
+ <optional>
+ <ref name="attribution"/>
+ </optional>
+ <oneOrMore>
+ <ref name="para.class"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="epigraph.attlist">
+ <ref name="common.attrib"/>
+ <ref name="epigraph.role.attrib"/>
+ </define>
+ <define name="footnote.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="footnote">
+ <element name="footnote">
+ <ref name="footnote.attlist"/>
+ <oneOrMore>
+ <ref name="footnote.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="footnote.attlist">
+ <ref name="label.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="footnote.role.attrib"/>
+ </define>
+ <define name="highlights.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="highlights">
+ <element name="highlights">
+ <ref name="highlights.attlist"/>
+ <oneOrMore>
+ <ref name="highlights.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="highlights.attlist">
+ <ref name="common.attrib"/>
+ <ref name="highlights.role.attrib"/>
+ </define>
+ <define name="formalpara.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="formalpara">
+ <element name="formalpara">
+ <ref name="formalpara.attlist"/>
+ <ref name="title"/>
+ <zeroOrMore>
+ <ref name="ndxterm.class"/>
+ </zeroOrMore>
+ <ref name="para"/>
+ </element>
+ </define>
+ <define name="formalpara.attlist">
+ <ref name="common.attrib"/>
+ <ref name="formalpara.role.attrib"/>
+ </define>
+ <define name="para.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="para">
+ <element name="para">
+ <ref name="para.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="para.char.mix"/>
+ <ref name="para.mix"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="para.attlist">
+ <ref name="common.attrib"/>
+ <ref name="para.role.attrib"/>
+ </define>
+ <define name="simpara.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="simpara">
+ <element name="simpara">
+ <ref name="simpara.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="simpara.attlist">
+ <ref name="common.attrib"/>
+ <ref name="simpara.role.attrib"/>
+ </define>
+ <define name="admon.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="admonitionType">
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <oneOrMore>
+ <ref name="admon.mix"/>
+ </oneOrMore>
+ </define>
+ <define name="important">
+ <element name="important">
+ <ref name="important.attlist"/>
+ <ref name="admonitionType"/>
+ </element>
+ </define>
+ <define name="important.attlist">
+ <ref name="common.attrib"/>
+ <ref name="admon.role.attrib"/>
+ </define>
+ <define name="warning">
+ <element name="warning">
+ <ref name="warning.attlist"/>
+ <ref name="admonitionType"/>
+ </element>
+ </define>
+ <define name="warning.attlist">
+ <ref name="common.attrib"/>
+ <ref name="admon.role.attrib"/>
+ </define>
+ <define name="caution">
+ <element name="caution">
+ <ref name="caution.attlist"/>
+ <ref name="admonitionType"/>
+ </element>
+ </define>
+ <define name="caution.attlist">
+ <ref name="common.attrib"/>
+ <ref name="admon.role.attrib"/>
+ </define>
+ <define name="note">
+ <element name="note">
+ <ref name="note.attlist"/>
+ <ref name="admonitionType"/>
+ </element>
+ </define>
+ <define name="note.attlist">
+ <ref name="common.attrib"/>
+ <ref name="admon.role.attrib"/>
+ </define>
+ <define name="tip">
+ <element name="tip">
+ <ref name="tip.attlist"/>
+ <ref name="admonitionType"/>
+ </element>
+ </define>
+ <define name="tip.attlist">
+ <ref name="common.attrib"/>
+ <ref name="admon.role.attrib"/>
+ </define>
+ <define name="glosslist.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="glosslist">
+ <element name="glosslist">
+ <ref name="glosslist.attlist"/>
+ <oneOrMore>
+ <ref name="glossentry"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="glosslist.attlist">
+ <ref name="common.attrib"/>
+ <ref name="glosslist.role.attrib"/>
+ </define>
+ <define name="glossentry.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="glossentry">
+ <element name="glossentry">
+ <ref name="glossentry.attlist"/>
+ <ref name="glossterm"/>
+ <optional>
+ <ref name="acronym"/>
+ </optional>
+ <optional>
+ <ref name="abbrev"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ndxterm.class"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="revhistory"/>
+ </optional>
+ <choice>
+ <ref name="glosssee"/>
+ <oneOrMore>
+ <ref name="glossdef"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="glossentry.attlist">
+ <ref name="common.attrib"/>
+ <ref name="glossentry.role.attrib"/>
+ <optional>
+ <attribute name="sortas">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="glossdef.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="glossdef">
+ <element name="glossdef">
+ <ref name="glossdef.attlist"/>
+ <oneOrMore>
+ <ref name="glossdef.mix"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="glossseealso"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="glossdef.attlist">
+ <ref name="common.attrib"/>
+ <ref name="glossdef.role.attrib"/>
+ <optional>
+ <attribute name="subject">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="glosssee.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="glosssee">
+ <element name="glosssee">
+ <ref name="glosssee.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="glosssee.attlist">
+ <ref name="common.attrib"/>
+ <ref name="glosssee.role.attrib"/>
+ <optional>
+ <attribute name="otherterm">
+ <data type="IDREF"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="glossseealso.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="glossseealso">
+ <element name="glossseealso">
+ <ref name="glossseealso.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="glossseealso.attlist">
+ <ref name="common.attrib"/>
+ <ref name="glossseealso.role.attrib"/>
+ <optional>
+ <attribute name="otherterm">
+ <data type="IDREF"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="itemizedlist.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="itemizedlist">
+ <element name="itemizedlist">
+ <ref name="itemizedlist.attlist"/>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <oneOrMore>
+ <ref name="listitem"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="itemizedlist.attlist">
+ <ref name="mark.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="itemizedlist.role.attrib"/>
+ <optional>
+ <attribute name="spacing">
+ <choice>
+ <value>normal</value>
+ <value>compact</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="orderedlist.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="orderedlist">
+ <element name="orderedlist">
+ <ref name="orderedlist.attlist"/>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <oneOrMore>
+ <ref name="listitem"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="orderedlist.attlist">
+ <ref name="common.attrib"/>
+ <ref name="orderedlist.role.attrib"/>
+ <optional>
+ <attribute name="numeration">
+ <choice>
+ <value>arabic</value>
+ <value>upperalpha</value>
+ <value>loweralpha</value>
+ <value>upperroman</value>
+ <value>lowerroman</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="inheritnum">
+ <choice>
+ <value>inherit</value>
+ <value>ignore</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="continuation">
+ <choice>
+ <value>continues</value>
+ <value>restarts</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="spacing">
+ <choice>
+ <value>normal</value>
+ <value>compact</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="listitem.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="listitem">
+ <element name="listitem">
+ <ref name="listitem.attlist"/>
+ <oneOrMore>
+ <ref name="component.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="listitem.attlist">
+ <ref name="common.attrib"/>
+ <ref name="listitem.role.attrib"/>
+ <optional>
+ <attribute name="override">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="segmentedlist.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="segmentedlist">
+ <element name="segmentedlist">
+ <ref name="segmentedlist.attlist"/>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <ref name="segtitle"/>
+ <zeroOrMore>
+ <ref name="segtitle"/>
+ </zeroOrMore>
+ <oneOrMore>
+ <ref name="seglistitem"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="segmentedlist.attlist">
+ <ref name="common.attrib"/>
+ <ref name="segmentedlist.role.attrib"/>
+ </define>
+ <define name="segtitle.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="segtitle">
+ <element name="segtitle">
+ <ref name="segtitle.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="title.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="segtitle.attlist">
+ <ref name="common.attrib"/>
+ <ref name="segtitle.role.attrib"/>
+ </define>
+ <define name="seglistitem.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="seglistitem">
+ <element name="seglistitem">
+ <ref name="seglistitem.attlist"/>
+ <ref name="seg"/>
+ <zeroOrMore>
+ <ref name="seg"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="seglistitem.attlist">
+ <ref name="common.attrib"/>
+ <ref name="seglistitem.role.attrib"/>
+ </define>
+ <define name="seg.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="seg">
+ <element name="seg">
+ <ref name="seg.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="seg.attlist">
+ <ref name="common.attrib"/>
+ <ref name="seg.role.attrib"/>
+ </define>
+ <define name="simplelist.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="simplelist">
+ <element name="simplelist">
+ <ref name="simplelist.attlist"/>
+ <oneOrMore>
+ <ref name="member"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="simplelist.attlist">
+ <ref name="common.attrib"/>
+ <ref name="simplelist.role.attrib"/>
+ <optional>
+ <attribute name="columns">
+ <data type="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>inline</value>
+ <value>vert</value>
+ <value>horiz</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="member.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="member">
+ <element name="member">
+ <ref name="member.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="member.attlist">
+ <ref name="common.attrib"/>
+ <ref name="member.role.attrib"/>
+ </define>
+ <define name="variablelist.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="variablelist">
+ <element name="variablelist">
+ <ref name="variablelist.attlist"/>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <oneOrMore>
+ <ref name="varlistentry"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="variablelist.attlist">
+ <ref name="common.attrib"/>
+ <ref name="variablelist.role.attrib"/>
+ <optional>
+ <attribute name="termlength">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="varlistentry.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="varlistentry">
+ <element name="varlistentry">
+ <ref name="varlistentry.attlist"/>
+ <oneOrMore>
+ <ref name="term"/>
+ </oneOrMore>
+ <ref name="listitem"/>
+ </element>
+ </define>
+ <define name="varlistentry.attlist">
+ <ref name="common.attrib"/>
+ <ref name="varlistentry.role.attrib"/>
+ </define>
+ <define name="term.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="term">
+ <element name="term">
+ <ref name="term.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="term.attlist">
+ <ref name="common.attrib"/>
+ <ref name="term.role.attrib"/>
+ </define>
+ <define name="calloutlist.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="calloutlist">
+ <element name="calloutlist">
+ <ref name="calloutlist.attlist"/>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <oneOrMore>
+ <ref name="callout"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="calloutlist.attlist">
+ <ref name="common.attrib"/>
+ <ref name="calloutlist.role.attrib"/>
+ </define>
+ <define name="callout.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="callout">
+ <element name="callout">
+ <ref name="callout.attlist"/>
+ <oneOrMore>
+ <ref name="component.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="callout.attlist">
+ <ref name="common.attrib"/>
+ <ref name="callout.role.attrib"/>
+ <optional>
+ <attribute name="arearefs">
+ <data type="IDREFS"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="example.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="example">
+ <element name="example">
+ <ref name="example.attlist"/>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <oneOrMore>
+ <ref name="example.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="example.attlist">
+ <ref name="label.attrib"/>
+ <ref name="width.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="example.role.attrib"/>
+ </define>
+ <define name="informalexample.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="informalexample">
+ <element name="informalexample">
+ <ref name="informalexample.attlist"/>
+ <oneOrMore>
+ <ref name="example.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="informalexample.attlist">
+ <ref name="width.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="informalexample.role.attrib"/>
+ </define>
+ <define name="programlistingco.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="programlistingco">
+ <element name="programlistingco">
+ <ref name="programlistingco.attlist"/>
+ <ref name="areaspec"/>
+ <ref name="programlisting"/>
+ <zeroOrMore>
+ <ref name="calloutlist"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="programlistingco.attlist">
+ <ref name="common.attrib"/>
+ <ref name="programlistingco.role.attrib"/>
+ </define>
+ <define name="areaspec.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="areaspec">
+ <element name="areaspec">
+ <ref name="areaspec.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="area"/>
+ <ref name="areaset"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="areaspec.attlist">
+ <ref name="common.attrib"/>
+ <ref name="areaspec.role.attrib"/>
+ <optional>
+ <attribute name="units">
+ <choice>
+ <value>calspair</value>
+ <value>linecolumn</value>
+ <value>linerange</value>
+ <value>linecolumnpair</value>
+ <value>other</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="otherunits">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="area.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="area">
+ <element name="area">
+ <ref name="area.attlist"/>
+ </element>
+ </define>
+ <define name="area.attlist">
+ <ref name="label.attrib"/>
+ <ref name="linkends.attrib"/>
+ <ref name="idreq.common.attrib"/>
+ <ref name="area.role.attrib"/>
+ <optional>
+ <attribute name="units">
+ <choice>
+ <value>calspair</value>
+ <value>linecolumn</value>
+ <value>linerange</value>
+ <value>linecolumnpair</value>
+ <value>other</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="otherunits">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ <attribute name="coords">
+ <data type="string"/>
+ </attribute>
+ </define>
+ <define name="areaset.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="areaset">
+ <element name="areaset">
+ <ref name="areaset.attlist"/>
+ <oneOrMore>
+ <ref name="area"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="areaset.attlist">
+ <ref name="label.attrib"/>
+ <ref name="idreq.common.attrib"/>
+ <ref name="areaset.role.attrib"/>
+ <optional>
+ <attribute name="units">
+ <choice>
+ <value>calspair</value>
+ <value>linecolumn</value>
+ <value>linerange</value>
+ <value>linecolumnpair</value>
+ <value>other</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="otherunits">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ <attribute name="coords">
+ <data type="string"/>
+ </attribute>
+ </define>
+ <define name="programlisting.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="programlisting">
+ <element name="programlisting">
+ <ref name="programlisting.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="para.char.mix"/>
+ <ref name="co"/>
+ <ref name="lineannotation"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="programlisting.attlist">
+ <ref name="width.attrib"/>
+ <ref name="linespecific.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="programlisting.role.attrib"/>
+ </define>
+ <define name="literallayout.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="literallayout">
+ <element name="literallayout">
+ <ref name="literallayout.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="para.char.mix"/>
+ <ref name="co"/>
+ <ref name="lineannotation"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="literallayout.attlist">
+ <ref name="width.attrib"/>
+ <ref name="linespecific.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="literallayout.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>monospaced</value>
+ <value>normal</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="screenco.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="screenco">
+ <element name="screenco">
+ <ref name="screenco.attlist"/>
+ <ref name="areaspec"/>
+ <ref name="screen"/>
+ <zeroOrMore>
+ <ref name="calloutlist"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="screenco.attlist">
+ <ref name="common.attrib"/>
+ <ref name="screenco.role.attrib"/>
+ </define>
+ <define name="screen.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="screen">
+ <element name="screen">
+ <ref name="screen.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="para.char.mix"/>
+ <ref name="co"/>
+ <ref name="lineannotation"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="screen.attlist">
+ <ref name="width.attrib"/>
+ <ref name="linespecific.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="screen.role.attrib"/>
+ </define>
+ <define name="screenshot.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="screenshot">
+ <element name="screenshot">
+ <ref name="screenshot.attlist"/>
+ <optional>
+ <ref name="screeninfo"/>
+ </optional>
+ <choice>
+ <ref name="graphic"/>
+ <ref name="graphicco"/>
+ <ref name="mediaobject"/>
+ <ref name="mediaobjectco"/>
+ </choice>
+ </element>
+ </define>
+ <define name="screenshot.attlist">
+ <ref name="common.attrib"/>
+ <ref name="screenshot.role.attrib"/>
+ </define>
+ <define name="screeninfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="screeninfo">
+ <element name="screeninfo">
+ <ref name="screeninfo.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="screeninfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="screeninfo.role.attrib"/>
+ </define>
+ <define name="figure.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="figure">
+ <element name="figure">
+ <ref name="figure.attlist"/>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <oneOrMore>
+ <choice>
+ <ref name="figure.mix"/>
+ <ref name="link.char.class"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="figure.attlist">
+ <ref name="label.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="figure.role.attrib"/>
+ <optional>
+ <attribute name="float">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pgwide">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="informalfigure.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="informalfigure">
+ <element name="informalfigure">
+ <ref name="informalfigure.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="figure.mix"/>
+ <ref name="link.char.class"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="informalfigure.attlist">
+ <ref name="label.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="informalfigure.role.attrib"/>
+ <optional>
+ <attribute name="float">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pgwide">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="graphicco.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="graphicco">
+ <element name="graphicco">
+ <ref name="graphicco.attlist"/>
+ <ref name="areaspec"/>
+ <ref name="graphic"/>
+ <zeroOrMore>
+ <ref name="calloutlist"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="graphicco.attlist">
+ <ref name="common.attrib"/>
+ <ref name="graphicco.role.attrib"/>
+ </define>
+ <define name="graphic.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="graphic">
+ <element name="graphic">
+ <ref name="graphic.attlist"/>
+ </element>
+ </define>
+ <define name="graphic.attlist">
+ <ref name="graphics.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="graphic.role.attrib"/>
+ </define>
+ <define name="inlinegraphic.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="inlinegraphic">
+ <element name="inlinegraphic">
+ <ref name="inlinegraphic.attlist"/>
+ </element>
+ </define>
+ <define name="inlinegraphic.attlist">
+ <ref name="graphics.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="inlinegraphic.role.attrib"/>
+ </define>
+ <define name="mediaobject.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="mediaobject">
+ <element name="mediaobject">
+ <ref name="mediaobject.attlist"/>
+ <optional>
+ <ref name="objectinfo"/>
+ </optional>
+ <ref name="mediaobject.mix"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="mediaobject.mix"/>
+ <ref name="textobject"/>
+ </choice>
+ </zeroOrMore>
+ <optional>
+ <ref name="caption"/>
+ </optional>
+ </element>
+ </define>
+ <define name="mediaobject.attlist">
+ <ref name="common.attrib"/>
+ <ref name="mediaobject.role.attrib"/>
+ </define>
+ <define name="inlinemediaobject.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="inlinemediaobject">
+ <element name="inlinemediaobject">
+ <ref name="inlinemediaobject.attlist"/>
+ <optional>
+ <ref name="objectinfo"/>
+ </optional>
+ <ref name="mediaobject.mix"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="mediaobject.mix"/>
+ <ref name="textobject"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="inlinemediaobject.attlist">
+ <ref name="common.attrib"/>
+ <ref name="inlinemediaobject.role.attrib"/>
+ </define>
+ <define name="videoobject.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="videoobject">
+ <element name="videoobject">
+ <ref name="videoobject.attlist"/>
+ <optional>
+ <ref name="objectinfo"/>
+ </optional>
+ <ref name="videodata"/>
+ </element>
+ </define>
+ <define name="videoobject.attlist">
+ <ref name="common.attrib"/>
+ <ref name="videoobject.role.attrib"/>
+ </define>
+ <define name="audioobject.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="audioobject">
+ <element name="audioobject">
+ <ref name="audioobject.attlist"/>
+ <optional>
+ <ref name="objectinfo"/>
+ </optional>
+ <ref name="audiodata"/>
+ </element>
+ </define>
+ <define name="audioobject.attlist">
+ <ref name="common.attrib"/>
+ <ref name="audioobject.role.attrib"/>
+ </define>
+ <define name="imageobject.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="imageobject">
+ <element name="imageobject">
+ <ref name="imageobject.attlist"/>
+ <optional>
+ <ref name="objectinfo"/>
+ </optional>
+ <ref name="imagedata"/>
+ </element>
+ </define>
+ <define name="imageobject.attlist">
+ <ref name="common.attrib"/>
+ <ref name="imageobject.role.attrib"/>
+ </define>
+ <define name="textobject.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="textobject">
+ <element name="textobject">
+ <ref name="textobject.attlist"/>
+ <optional>
+ <ref name="objectinfo"/>
+ </optional>
+ <choice>
+ <ref name="phrase"/>
+ <oneOrMore>
+ <ref name="textobject.mix"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="textobject.attlist">
+ <ref name="common.attrib"/>
+ <ref name="textobject.role.attrib"/>
+ </define>
+ <define name="objectinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="objectinfo">
+ <element name="objectinfo">
+ <ref name="objectinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="objectinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="objectinfo.role.attrib"/>
+ </define>
+ <define name="objectdata.attrib">
+ <optional>
+ <attribute name="fileref">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="format">
+ <choice>
+ <value>BMP</value>
+ <value>CGM-CHAR</value>
+ <value>CGM-BINARY</value>
+ <value>CGM-CLEAR</value>
+ <value>DITROFF</value>
+ <value>DVI</value>
+ <value>EPS</value>
+ <value>EQN</value>
+ <value>FAX</value>
+ <value>GIF</value>
+ <value>GIF87a</value>
+ <value>GIF89a</value>
+ <value>JPG</value>
+ <value>JPEG</value>
+ <value>IGES</value>
+ <value>PCX</value>
+ <value>PIC</value>
+ <value>PNG</value>
+ <value>PS</value>
+ <value>SGML</value>
+ <value>TBL</value>
+ <value>TEX</value>
+ <value>TIFF</value>
+ <value>WMF</value>
+ <value>WPG</value>
+ <value>linespecific</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="srccredit">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="videodata.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="videodata">
+ <element name="videodata">
+ <ref name="videodata.attlist"/>
+ </element>
+ </define>
+ <define name="videodata.attlist">
+ <ref name="common.attrib"/>
+ <ref name="objectdata.attrib"/>
+ <optional>
+ <attribute name="width">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="depth">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scale">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scalefit">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="audiodata.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="audiodata">
+ <element name="audiodata">
+ <ref name="audiodata.attlist"/>
+ </element>
+ </define>
+ <define name="audiodata.attlist">
+ <ref name="common.attrib"/>
+ <ref name="objectdata.attrib"/>
+ <ref name="audiodata.role.attrib"/>
+ </define>
+ <define name="imagedata.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="imagedata">
+ <element name="imagedata">
+ <ref name="imagedata.attlist"/>
+ </element>
+ </define>
+ <define name="imagedata.attlist">
+ <ref name="common.attrib"/>
+ <ref name="objectdata.attrib"/>
+ <ref name="imagedata.role.attrib"/>
+ <optional>
+ <attribute name="width">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="depth">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scale">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scalefit">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="caption.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="caption">
+ <element name="caption">
+ <ref name="caption.attlist"/>
+ <zeroOrMore>
+ <ref name="textobject.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="caption.attlist">
+ <ref name="common.attrib"/>
+ <ref name="caption.role.attrib"/>
+ </define>
+ <define name="mediaobjectco.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="mediaobjectco">
+ <element name="mediaobjectco">
+ <ref name="mediaobjectco.attlist"/>
+ <optional>
+ <ref name="objectinfo"/>
+ </optional>
+ <ref name="imageobjectco"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="imageobjectco"/>
+ <ref name="textobject"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="mediaobjectco.attlist">
+ <ref name="common.attrib"/>
+ <ref name="mediaobjectco.role.attrib"/>
+ </define>
+ <define name="imageobjectco.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="imageobjectco">
+ <element name="imageobjectco">
+ <ref name="imageobjectco.attlist"/>
+ <ref name="areaspec"/>
+ <ref name="imageobject"/>
+ <zeroOrMore>
+ <ref name="calloutlist"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="imageobjectco.attlist">
+ <ref name="common.attrib"/>
+ <ref name="imageobjectco.role.attrib"/>
+ </define>
+ <define name="equation.content">
+ <optional>
+ <ref name="alt"/>
+ </optional>
+ <choice>
+ <oneOrMore>
+ <ref name="graphic"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="mediaobject"/>
+ </oneOrMore>
+ </choice>
+ </define>
+ <define name="inlineequation.content">
+ <optional>
+ <ref name="alt"/>
+ </optional>
+ <choice>
+ <oneOrMore>
+ <ref name="graphic"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="inlinemediaobject"/>
+ </oneOrMore>
+ </choice>
+ </define>
+ <define name="equation.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="equation">
+ <element name="equation">
+ <ref name="equation.attlist"/>
+ <optional>
+ <ref name="formalobject.title.content"/>
+ </optional>
+ <choice>
+ <ref name="informalequation"/>
+ <ref name="equation.content"/>
+ </choice>
+ </element>
+ </define>
+ <define name="equation.attlist">
+ <ref name="label.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="equation.role.attrib"/>
+ </define>
+ <define name="informalequation.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="informalequation">
+ <element name="informalequation">
+ <ref name="informalequation.attlist"/>
+ <ref name="equation.content"/>
+ </element>
+ </define>
+ <define name="informalequation.attlist">
+ <ref name="common.attrib"/>
+ <ref name="informalequation.role.attrib"/>
+ </define>
+ <define name="inlineequation.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="inlineequation">
+ <element name="inlineequation">
+ <ref name="inlineequation.attlist"/>
+ <ref name="inlineequation.content"/>
+ </element>
+ </define>
+ <define name="inlineequation.attlist">
+ <ref name="common.attrib"/>
+ <ref name="inlineequation.role.attrib"/>
+ </define>
+ <define name="alt.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="alt">
+ <element name="alt">
+ <ref name="alt.attlist"/>
+ <text/>
+ </element>
+ </define>
+ <define name="alt.attlist">
+ <ref name="common.attrib"/>
+ <ref name="alt.role.attrib"/>
+ </define>
+ <define name="synopsis.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="synopsis">
+ <element name="synopsis">
+ <ref name="synopsis.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="para.char.mix"/>
+ <ref name="graphic"/>
+ <ref name="mediaobject"/>
+ <ref name="lineannotation"/>
+ <ref name="co"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="synopsis.attlist">
+ <ref name="label.attrib"/>
+ <ref name="linespecific.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="synopsis.role.attrib"/>
+ </define>
+ <define name="cmdsynopsis.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="cmdsynopsis">
+ <element name="cmdsynopsis">
+ <ref name="cmdsynopsis.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="command"/>
+ <ref name="arg"/>
+ <ref name="group"/>
+ <ref name="sbr"/>
+ </choice>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="synopfragment"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="cmdsynopsis.attlist">
+ <ref name="label.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="cmdsynopsis.role.attrib"/>
+ <optional>
+ <attribute name="sepchar">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="cmdlength">
+ <data type="integer"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="arg.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="arg">
+ <element name="arg">
+ <ref name="arg.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="arg"/>
+ <ref name="group"/>
+ <ref name="option"/>
+ <ref name="synopfragmentref"/>
+ <ref name="replaceable"/>
+ <ref name="sbr"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="arg.attlist">
+ <ref name="common.attrib"/>
+ <ref name="arg.role.attrib"/>
+ <optional>
+ <attribute name="choice">
+ <choice>
+ <value>opt</value>
+ <value>req</value>
+ <value>plain</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rep">
+ <choice>
+ <value>norepeat</value>
+ <value>repeat</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="group.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="group">
+ <element name="group">
+ <ref name="group.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="arg"/>
+ <ref name="group"/>
+ <ref name="option"/>
+ <ref name="synopfragmentref"/>
+ <ref name="replaceable"/>
+ <ref name="sbr"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="group.attlist">
+ <ref name="common.attrib"/>
+ <ref name="group.role.attrib"/>
+ <optional>
+ <attribute name="choice">
+ <choice>
+ <value>opt</value>
+ <value>req</value>
+ <value>plain</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rep">
+ <choice>
+ <value>norepeat</value>
+ <value>repeat</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="sbr.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sbr">
+ <element name="sbr">
+ <ref name="sbr.attlist"/>
+ </element>
+ </define>
+ <define name="sbr.attlist">
+ <ref name="common.attrib"/>
+ <ref name="sbr.role.attrib"/>
+ </define>
+ <define name="synopfragmentref.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="synopfragmentref">
+ <element name="synopfragmentref">
+ <ref name="synopfragmentref.attlist"/>
+ <text/>
+ </element>
+ </define>
+ <define name="synopfragmentref.attlist">
+ <ref name="linkendreq.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="synopfragmentref.role.attrib"/>
+ </define>
+ <define name="synopfragment.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="synopfragment">
+ <element name="synopfragment">
+ <ref name="synopfragment.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="arg"/>
+ <ref name="group"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="synopfragment.attlist">
+ <ref name="idreq.common.attrib"/>
+ <ref name="synopfragment.role.attrib"/>
+ </define>
+ <define name="funcsynopsis.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="funcsynopsis">
+ <element name="funcsynopsis">
+ <ref name="funcsynopsis.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="funcsynopsisinfo"/>
+ <ref name="funcprototype"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="funcsynopsis.attlist">
+ <ref name="label.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="funcsynopsis.role.attrib"/>
+ </define>
+ <define name="funcsynopsisinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="funcsynopsisinfo">
+ <element name="funcsynopsisinfo">
+ <ref name="funcsynopsisinfo.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="cptr.char.mix"/>
+ <ref name="lineannotation"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="funcsynopsisinfo.attlist">
+ <ref name="linespecific.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="funcsynopsisinfo.role.attrib"/>
+ </define>
+ <define name="funcprototype.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="funcprototype">
+ <element name="funcprototype">
+ <ref name="funcprototype.attlist"/>
+ <ref name="funcdef"/>
+ <oneOrMore>
+ <choice>
+ <ref name="void"/>
+ <ref name="varargs"/>
+ <ref name="paramdef"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="funcprototype.attlist">
+ <ref name="common.attrib"/>
+ <ref name="funcprototype.role.attrib"/>
+ </define>
+ <define name="funcdef.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="funcdef">
+ <element name="funcdef">
+ <ref name="funcdef.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="replaceable"/>
+ <ref name="function"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="funcdef.attlist">
+ <ref name="common.attrib"/>
+ <ref name="funcdef.role.attrib"/>
+ </define>
+ <define name="void.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="void">
+ <element name="void">
+ <ref name="void.attlist"/>
+ </element>
+ </define>
+ <define name="void.attlist">
+ <ref name="common.attrib"/>
+ <ref name="void.role.attrib"/>
+ </define>
+ <define name="varargs.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="varargs">
+ <element name="varargs">
+ <ref name="varargs.attlist"/>
+ </element>
+ </define>
+ <define name="varargs.attlist">
+ <ref name="common.attrib"/>
+ <ref name="varargs.role.attrib"/>
+ </define>
+ <define name="paramdef.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="paramdef">
+ <element name="paramdef">
+ <ref name="paramdef.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="replaceable"/>
+ <ref name="parameter"/>
+ <ref name="funcparams"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="paramdef.attlist">
+ <ref name="common.attrib"/>
+ <ref name="paramdef.role.attrib"/>
+ </define>
+ <define name="funcparams.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="funcparams">
+ <element name="funcparams">
+ <ref name="funcparams.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="cptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="funcparams.attlist">
+ <ref name="common.attrib"/>
+ <ref name="funcparams.role.attrib"/>
+ </define>
+ <define name="classsynopsis.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="classsynopsis">
+ <element name="classsynopsis">
+ <ref name="classsynopsis.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="ooclass"/>
+ <ref name="oointerface"/>
+ <ref name="ooexception"/>
+ </choice>
+ </oneOrMore>
+ <zeroOrMore>
+ <choice>
+ <ref name="classsynopsisinfo"/>
+ <ref name="fieldsynopsis"/>
+ <ref name="method.synop.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="classsynopsis.attlist">
+ <ref name="common.attrib"/>
+ <ref name="classsynopsis.role.attrib"/>
+ <optional>
+ <attribute name="language">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>class</value>
+ <value>interface</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="classsynopsisinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="classsynopsisinfo">
+ <element name="classsynopsisinfo">
+ <ref name="classsynopsisinfo.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="cptr.char.mix"/>
+ <ref name="lineannotation"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="classsynopsisinfo.attlist">
+ <ref name="linespecific.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="classsynopsisinfo.role.attrib"/>
+ </define>
+ <define name="ooclass.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="ooclass">
+ <element name="ooclass">
+ <ref name="ooclass.attlist"/>
+ <zeroOrMore>
+ <ref name="modifier"/>
+ </zeroOrMore>
+ <ref name="classname"/>
+ </element>
+ </define>
+ <define name="ooclass.attlist">
+ <ref name="common.attrib"/>
+ <ref name="ooclass.role.attrib"/>
+ </define>
+ <define name="oointerface.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="oointerface">
+ <element name="oointerface">
+ <ref name="oointerface.attlist"/>
+ <zeroOrMore>
+ <ref name="modifier"/>
+ </zeroOrMore>
+ <ref name="interfacename"/>
+ </element>
+ </define>
+ <define name="oointerface.attlist">
+ <ref name="common.attrib"/>
+ <ref name="oointerface.role.attrib"/>
+ </define>
+ <define name="ooexception.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="ooexception">
+ <element name="ooexception">
+ <ref name="ooexception.attlist"/>
+ <zeroOrMore>
+ <ref name="modifier"/>
+ </zeroOrMore>
+ <ref name="exceptionname"/>
+ </element>
+ </define>
+ <define name="ooexception.attlist">
+ <ref name="common.attrib"/>
+ <ref name="ooexception.role.attrib"/>
+ </define>
+ <define name="modifier.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="modifier">
+ <element name="modifier">
+ <ref name="modifier.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="modifier.attlist">
+ <ref name="common.attrib"/>
+ <ref name="modifier.role.attrib"/>
+ </define>
+ <define name="interfacename.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="interfacename">
+ <element name="interfacename">
+ <ref name="interfacename.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="interfacename.attlist">
+ <ref name="common.attrib"/>
+ <ref name="interfacename.role.attrib"/>
+ </define>
+ <define name="exceptionname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="exceptionname">
+ <element name="exceptionname">
+ <ref name="exceptionname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="exceptionname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="exceptionname.role.attrib"/>
+ </define>
+ <define name="fieldsynopsis.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="fieldsynopsis">
+ <element name="fieldsynopsis">
+ <ref name="fieldsynopsis.attlist"/>
+ <zeroOrMore>
+ <ref name="modifier"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="type"/>
+ </optional>
+ <ref name="varname"/>
+ <optional>
+ <ref name="initializer"/>
+ </optional>
+ </element>
+ </define>
+ <define name="fieldsynopsis.attlist">
+ <ref name="common.attrib"/>
+ <ref name="fieldsynopsis.role.attrib"/>
+ </define>
+ <define name="initializer.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="initializer">
+ <element name="initializer">
+ <ref name="initializer.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="initializer.attlist">
+ <ref name="common.attrib"/>
+ <ref name="initializer.role.attrib"/>
+ </define>
+ <define name="constructorsynopsis.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="constructorsynopsis">
+ <element name="constructorsynopsis">
+ <ref name="constructorsynopsis.attlist"/>
+ <zeroOrMore>
+ <ref name="modifier"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="methodname"/>
+ </optional>
+ <choice>
+ <oneOrMore>
+ <ref name="methodparam"/>
+ </oneOrMore>
+ <ref name="void"/>
+ </choice>
+ <zeroOrMore>
+ <ref name="exceptionname"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="constructorsynopsis.attlist">
+ <ref name="common.attrib"/>
+ <ref name="constructorsynopsis.role.attrib"/>
+ </define>
+ <define name="destructorsynopsis.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="destructorsynopsis">
+ <element name="destructorsynopsis">
+ <ref name="destructorsynopsis.attlist"/>
+ <zeroOrMore>
+ <ref name="modifier"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="methodname"/>
+ </optional>
+ <choice>
+ <oneOrMore>
+ <ref name="methodparam"/>
+ </oneOrMore>
+ <ref name="void"/>
+ </choice>
+ <zeroOrMore>
+ <ref name="exceptionname"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="destructorsynopsis.attlist">
+ <ref name="common.attrib"/>
+ <ref name="destructorsynopsis.role.attrib"/>
+ </define>
+ <define name="methodsynopsis.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="methodsynopsis">
+ <element name="methodsynopsis">
+ <ref name="methodsynopsis.attlist"/>
+ <zeroOrMore>
+ <ref name="modifier"/>
+ </zeroOrMore>
+ <optional>
+ <choice>
+ <ref name="type"/>
+ <ref name="void"/>
+ </choice>
+ </optional>
+ <optional>
+ <ref name="methodname"/>
+ </optional>
+ <choice>
+ <oneOrMore>
+ <ref name="methodparam"/>
+ </oneOrMore>
+ <ref name="void"/>
+ </choice>
+ <zeroOrMore>
+ <ref name="exceptionname"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="modifier"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="methodsynopsis.attlist">
+ <ref name="common.attrib"/>
+ <ref name="methodsynopsis.role.attrib"/>
+ </define>
+ <define name="methodname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="methodname">
+ <element name="methodname">
+ <ref name="methodname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="methodname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="methodname.role.attrib"/>
+ </define>
+ <define name="methodparam.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="methodparam">
+ <element name="methodparam">
+ <ref name="methodparam.attlist"/>
+ <zeroOrMore>
+ <element name="modifier">
+ <text/>
+ </element>
+ </zeroOrMore>
+ <optional>
+ <element name="type">
+ <text/>
+ </element>
+ </optional>
+ <choice>
+ <group>
+ <element name="parameter">
+ <text/>
+ </element>
+ <optional>
+ <element name="initializer">
+ <text/>
+ </element>
+ </optional>
+ </group>
+ <element name="funcparams">
+ <text/>
+ </element>
+ </choice>
+ <zeroOrMore>
+ <element name="modifier">
+ <text/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="methodparam.attlist">
+ <ref name="common.attrib"/>
+ <ref name="methodparam.role.attrib"/>
+ <optional>
+ <attribute name="choice">
+ <choice>
+ <value>opt</value>
+ <value>req</value>
+ <value>plain</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rep">
+ <choice>
+ <value>norepeat</value>
+ <value>repeat</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="ackno.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="ackno">
+ <element name="ackno">
+ <ref name="ackno.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="ackno.attlist">
+ <ref name="common.attrib"/>
+ <ref name="ackno.role.attrib"/>
+ </define>
+ <define name="address.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="address">
+ <element name="address">
+ <ref name="address.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="person.ident.mix"/>
+ <ref name="street"/>
+ <ref name="pob"/>
+ <ref name="postcode"/>
+ <ref name="city"/>
+ <ref name="state"/>
+ <ref name="country"/>
+ <ref name="phone"/>
+ <ref name="fax"/>
+ <ref name="email"/>
+ <ref name="otheraddr"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="address.attlist">
+ <ref name="linespecific.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="address.role.attrib"/>
+ </define>
+ <define name="street.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="street">
+ <element name="street">
+ <ref name="street.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="street.attlist">
+ <ref name="common.attrib"/>
+ <ref name="street.role.attrib"/>
+ </define>
+ <define name="pob.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="pob">
+ <element name="pob">
+ <ref name="pob.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="pob.attlist">
+ <ref name="common.attrib"/>
+ <ref name="pob.role.attrib"/>
+ </define>
+ <define name="postcode.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="postcode">
+ <element name="postcode">
+ <ref name="postcode.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="postcode.attlist">
+ <ref name="common.attrib"/>
+ <ref name="postcode.role.attrib"/>
+ </define>
+ <define name="city.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="city">
+ <element name="city">
+ <ref name="city.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="city.attlist">
+ <ref name="common.attrib"/>
+ <ref name="city.role.attrib"/>
+ </define>
+ <define name="state.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="state">
+ <element name="state">
+ <ref name="state.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="state.attlist">
+ <ref name="common.attrib"/>
+ <ref name="state.role.attrib"/>
+ </define>
+ <define name="country.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="country">
+ <element name="country">
+ <ref name="country.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="country.attlist">
+ <ref name="common.attrib"/>
+ <ref name="country.role.attrib"/>
+ </define>
+ <define name="phone.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="phone">
+ <element name="phone">
+ <ref name="phone.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="phone.attlist">
+ <ref name="common.attrib"/>
+ <ref name="phone.role.attrib"/>
+ </define>
+ <define name="fax.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="fax">
+ <element name="fax">
+ <ref name="fax.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="fax.attlist">
+ <ref name="common.attrib"/>
+ <ref name="fax.role.attrib"/>
+ </define>
+ <define name="otheraddr.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="otheraddr">
+ <element name="otheraddr">
+ <ref name="otheraddr.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="otheraddr.attlist">
+ <ref name="common.attrib"/>
+ <ref name="otheraddr.role.attrib"/>
+ </define>
+ <define name="affiliation.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="affiliation">
+ <element name="affiliation">
+ <ref name="affiliation.attlist"/>
+ <optional>
+ <ref name="shortaffil"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="jobtitle"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="orgname"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="orgdiv"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="address"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="affiliation.attlist">
+ <ref name="common.attrib"/>
+ <ref name="affiliation.role.attrib"/>
+ </define>
+ <define name="shortaffil.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="shortaffil">
+ <element name="shortaffil">
+ <ref name="shortaffil.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="shortaffil.attlist">
+ <ref name="common.attrib"/>
+ <ref name="shortaffil.role.attrib"/>
+ </define>
+ <define name="jobtitle.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="jobtitle">
+ <element name="jobtitle">
+ <ref name="jobtitle.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="jobtitle.attlist">
+ <ref name="common.attrib"/>
+ <ref name="jobtitle.role.attrib"/>
+ </define>
+ <define name="orgdiv.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="orgdiv">
+ <element name="orgdiv">
+ <ref name="orgdiv.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="orgdiv.attlist">
+ <ref name="common.attrib"/>
+ <ref name="orgdiv.role.attrib"/>
+ </define>
+ <define name="artpagenums.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="artpagenums">
+ <element name="artpagenums">
+ <ref name="artpagenums.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="artpagenums.attlist">
+ <ref name="common.attrib"/>
+ <ref name="artpagenums.role.attrib"/>
+ </define>
+ <define name="author.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="author">
+ <element name="author">
+ <ref name="author.attlist"/>
+ <oneOrMore>
+ <ref name="person.ident.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="author.attlist">
+ <ref name="common.attrib"/>
+ <ref name="author.role.attrib"/>
+ </define>
+ <define name="authorgroup.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="authorgroup">
+ <element name="authorgroup">
+ <ref name="authorgroup.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="author"/>
+ <ref name="editor"/>
+ <ref name="collab"/>
+ <ref name="corpauthor"/>
+ <ref name="othercredit"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="authorgroup.attlist">
+ <ref name="common.attrib"/>
+ <ref name="authorgroup.role.attrib"/>
+ </define>
+ <define name="collab.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="collab">
+ <element name="collab">
+ <ref name="collab.attlist"/>
+ <ref name="collabname"/>
+ <zeroOrMore>
+ <ref name="affiliation"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="collab.attlist">
+ <ref name="common.attrib"/>
+ <ref name="collab.role.attrib"/>
+ </define>
+ <define name="collabname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="collabname">
+ <element name="collabname">
+ <ref name="collabname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="collabname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="collabname.role.attrib"/>
+ </define>
+ <define name="authorinitials.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="authorinitials">
+ <element name="authorinitials">
+ <ref name="authorinitials.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="authorinitials.attlist">
+ <ref name="common.attrib"/>
+ <ref name="authorinitials.role.attrib"/>
+ </define>
+ <define name="confgroup.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="confgroup">
+ <element name="confgroup">
+ <ref name="confgroup.attlist"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="confdates"/>
+ <ref name="conftitle"/>
+ <ref name="confnum"/>
+ <ref name="address"/>
+ <ref name="confsponsor"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="confgroup.attlist">
+ <ref name="common.attrib"/>
+ <ref name="confgroup.role.attrib"/>
+ </define>
+ <define name="confdates.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="confdates">
+ <element name="confdates">
+ <ref name="confdates.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="confdates.attlist">
+ <ref name="common.attrib"/>
+ <ref name="confdates.role.attrib"/>
+ </define>
+ <define name="conftitle.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="conftitle">
+ <element name="conftitle">
+ <ref name="conftitle.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="conftitle.attlist">
+ <ref name="common.attrib"/>
+ <ref name="conftitle.role.attrib"/>
+ </define>
+ <define name="confnum.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="confnum">
+ <element name="confnum">
+ <ref name="confnum.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="confnum.attlist">
+ <ref name="common.attrib"/>
+ <ref name="confnum.role.attrib"/>
+ </define>
+ <define name="confsponsor.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="confsponsor">
+ <element name="confsponsor">
+ <ref name="confsponsor.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="confsponsor.attlist">
+ <ref name="common.attrib"/>
+ <ref name="confsponsor.role.attrib"/>
+ </define>
+ <define name="contractnum.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="contractnum">
+ <element name="contractnum">
+ <ref name="contractnum.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="contractnum.attlist">
+ <ref name="common.attrib"/>
+ <ref name="contractnum.role.attrib"/>
+ </define>
+ <define name="contractsponsor.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="contractsponsor">
+ <element name="contractsponsor">
+ <ref name="contractsponsor.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="contractsponsor.attlist">
+ <ref name="common.attrib"/>
+ <ref name="contractsponsor.role.attrib"/>
+ </define>
+ <define name="copyright.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="copyright">
+ <element name="copyright">
+ <ref name="copyright.attlist"/>
+ <oneOrMore>
+ <ref name="year"/>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="holder"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="copyright.attlist">
+ <ref name="common.attrib"/>
+ <ref name="copyright.role.attrib"/>
+ </define>
+ <define name="year.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="year">
+ <element name="year">
+ <ref name="year.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="year.attlist">
+ <ref name="common.attrib"/>
+ <ref name="year.role.attrib"/>
+ </define>
+ <define name="holder.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="holder">
+ <element name="holder">
+ <ref name="holder.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="holder.attlist">
+ <ref name="common.attrib"/>
+ <ref name="holder.role.attrib"/>
+ </define>
+ <define name="corpauthor.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="corpauthor">
+ <element name="corpauthor">
+ <ref name="corpauthor.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="corpauthor.attlist">
+ <ref name="common.attrib"/>
+ <ref name="corpauthor.role.attrib"/>
+ </define>
+ <define name="corpname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="corpname">
+ <element name="corpname">
+ <ref name="corpname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="corpname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="corpname.role.attrib"/>
+ </define>
+ <define name="date.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="date">
+ <element name="date">
+ <ref name="date.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="date.attlist">
+ <ref name="common.attrib"/>
+ <ref name="date.role.attrib"/>
+ </define>
+ <define name="edition.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="edition">
+ <element name="edition">
+ <ref name="edition.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="edition.attlist">
+ <ref name="common.attrib"/>
+ <ref name="edition.role.attrib"/>
+ </define>
+ <define name="editor.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="editor">
+ <element name="editor">
+ <ref name="editor.attlist"/>
+ <oneOrMore>
+ <ref name="person.ident.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="editor.attlist">
+ <ref name="common.attrib"/>
+ <ref name="editor.role.attrib"/>
+ </define>
+ <define name="isbn.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="isbn">
+ <element name="isbn">
+ <ref name="isbn.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="isbn.attlist">
+ <ref name="common.attrib"/>
+ <ref name="isbn.role.attrib"/>
+ </define>
+ <define name="issn.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="issn">
+ <element name="issn">
+ <ref name="issn.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="issn.attlist">
+ <ref name="common.attrib"/>
+ <ref name="issn.role.attrib"/>
+ </define>
+ <define name="invpartnumber.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="invpartnumber">
+ <element name="invpartnumber">
+ <ref name="invpartnumber.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="invpartnumber.attlist">
+ <ref name="common.attrib"/>
+ <ref name="invpartnumber.role.attrib"/>
+ </define>
+ <define name="issuenum.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="issuenum">
+ <element name="issuenum">
+ <ref name="issuenum.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="issuenum.attlist">
+ <ref name="common.attrib"/>
+ <ref name="issuenum.role.attrib"/>
+ </define>
+ <define name="legalnotice.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="legalnotice">
+ <element name="legalnotice">
+ <ref name="legalnotice.attlist"/>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <oneOrMore>
+ <ref name="legalnotice.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="legalnotice.attlist">
+ <ref name="common.attrib"/>
+ <ref name="legalnotice.role.attrib"/>
+ </define>
+ <define name="modespec.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="modespec">
+ <element name="modespec">
+ <ref name="modespec.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="modespec.attlist">
+ <ref name="common.attrib"/>
+ <ref name="modespec.role.attrib"/>
+ <optional>
+ <attribute name="application">
+ <choice>
+ <value>BMP</value>
+ <value>CGM-CHAR</value>
+ <value>CGM-BINARY</value>
+ <value>CGM-CLEAR</value>
+ <value>DITROFF</value>
+ <value>DVI</value>
+ <value>EPS</value>
+ <value>EQN</value>
+ <value>FAX</value>
+ <value>GIF</value>
+ <value>GIF87a</value>
+ <value>GIF89a</value>
+ <value>JPG</value>
+ <value>JPEG</value>
+ <value>IGES</value>
+ <value>PCX</value>
+ <value>PIC</value>
+ <value>PNG</value>
+ <value>PS</value>
+ <value>SGML</value>
+ <value>TBL</value>
+ <value>TEX</value>
+ <value>TIFF</value>
+ <value>WMF</value>
+ <value>WPG</value>
+ <value>linespecific</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="orgname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="orgname">
+ <element name="orgname">
+ <ref name="orgname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="orgname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="orgname.role.attrib"/>
+ </define>
+ <define name="othercredit.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="othercredit">
+ <element name="othercredit">
+ <ref name="othercredit.attlist"/>
+ <oneOrMore>
+ <ref name="person.ident.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="othercredit.attlist">
+ <ref name="common.attrib"/>
+ <ref name="othercredit.role.attrib"/>
+ </define>
+ <define name="pagenums.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="pagenums">
+ <element name="pagenums">
+ <ref name="pagenums.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="pagenums.attlist">
+ <ref name="common.attrib"/>
+ <ref name="pagenums.role.attrib"/>
+ </define>
+ <define name="contrib.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="contrib">
+ <element name="contrib">
+ <ref name="contrib.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="contrib.attlist">
+ <ref name="common.attrib"/>
+ <ref name="contrib.role.attrib"/>
+ </define>
+ <define name="firstname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="firstname">
+ <element name="firstname">
+ <ref name="firstname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="firstname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="firstname.role.attrib"/>
+ </define>
+ <define name="honorific.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="honorific">
+ <element name="honorific">
+ <ref name="honorific.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="honorific.attlist">
+ <ref name="common.attrib"/>
+ <ref name="honorific.role.attrib"/>
+ </define>
+ <define name="lineage.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="lineage">
+ <element name="lineage">
+ <ref name="lineage.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="lineage.attlist">
+ <ref name="common.attrib"/>
+ <ref name="lineage.role.attrib"/>
+ </define>
+ <define name="othername.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="othername">
+ <element name="othername">
+ <ref name="othername.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="othername.attlist">
+ <ref name="common.attrib"/>
+ <ref name="othername.role.attrib"/>
+ </define>
+ <define name="surname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="surname">
+ <element name="surname">
+ <ref name="surname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="surname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="surname.role.attrib"/>
+ </define>
+ <define name="printhistory.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="printhistory">
+ <element name="printhistory">
+ <ref name="printhistory.attlist"/>
+ <oneOrMore>
+ <ref name="para.class"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="printhistory.attlist">
+ <ref name="common.attrib"/>
+ <ref name="printhistory.role.attrib"/>
+ </define>
+ <define name="productname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="productname">
+ <element name="productname">
+ <ref name="productname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="productname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="productname.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>service</value>
+ <value>trade</value>
+ <value>registered</value>
+ <value>copyright</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="productnumber.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="productnumber">
+ <element name="productnumber">
+ <ref name="productnumber.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="productnumber.attlist">
+ <ref name="common.attrib"/>
+ <ref name="productnumber.role.attrib"/>
+ </define>
+ <define name="pubdate.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="pubdate">
+ <element name="pubdate">
+ <ref name="pubdate.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="pubdate.attlist">
+ <ref name="common.attrib"/>
+ <ref name="pubdate.role.attrib"/>
+ </define>
+ <define name="publisher.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="publisher">
+ <element name="publisher">
+ <ref name="publisher.attlist"/>
+ <ref name="publishername"/>
+ <zeroOrMore>
+ <ref name="address"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="publisher.attlist">
+ <ref name="common.attrib"/>
+ <ref name="publisher.role.attrib"/>
+ </define>
+ <define name="publishername.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="publishername">
+ <element name="publishername">
+ <ref name="publishername.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="publishername.attlist">
+ <ref name="common.attrib"/>
+ <ref name="publishername.role.attrib"/>
+ </define>
+ <define name="pubsnumber.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="pubsnumber">
+ <element name="pubsnumber">
+ <ref name="pubsnumber.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="pubsnumber.attlist">
+ <ref name="common.attrib"/>
+ <ref name="pubsnumber.role.attrib"/>
+ </define>
+ <define name="releaseinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="releaseinfo">
+ <element name="releaseinfo">
+ <ref name="releaseinfo.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="releaseinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="releaseinfo.role.attrib"/>
+ </define>
+ <define name="revhistory.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="revhistory">
+ <element name="revhistory">
+ <ref name="revhistory.attlist"/>
+ <oneOrMore>
+ <ref name="revision"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="revhistory.attlist">
+ <ref name="common.attrib"/>
+ <ref name="revhistory.role.attrib"/>
+ </define>
+ <define name="revision.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="revision">
+ <element name="revision">
+ <ref name="revision.attlist"/>
+ <ref name="revnumber"/>
+ <ref name="date"/>
+ <zeroOrMore>
+ <ref name="authorinitials"/>
+ </zeroOrMore>
+ <optional>
+ <choice>
+ <ref name="revremark"/>
+ <ref name="revdescription"/>
+ </choice>
+ </optional>
+ </element>
+ </define>
+ <define name="revision.attlist">
+ <ref name="common.attrib"/>
+ <ref name="revision.role.attrib"/>
+ </define>
+ <define name="revnumber.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="revnumber">
+ <element name="revnumber">
+ <ref name="revnumber.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="revnumber.attlist">
+ <ref name="common.attrib"/>
+ <ref name="revnumber.role.attrib"/>
+ </define>
+ <define name="revremark.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="revremark">
+ <element name="revremark">
+ <ref name="revremark.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="revremark.attlist">
+ <ref name="common.attrib"/>
+ <ref name="revremark.role.attrib"/>
+ </define>
+ <define name="revdescription.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="revdescription">
+ <element name="revdescription">
+ <ref name="revdescription.attlist"/>
+ <oneOrMore>
+ <ref name="revdescription.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="revdescription.attlist">
+ <ref name="common.attrib"/>
+ <ref name="revdescription.role.attrib"/>
+ </define>
+ <define name="seriesvolnums.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="seriesvolnums">
+ <element name="seriesvolnums">
+ <ref name="seriesvolnums.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="seriesvolnums.attlist">
+ <ref name="common.attrib"/>
+ <ref name="seriesvolnums.role.attrib"/>
+ </define>
+ <define name="volumenum.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="volumenum">
+ <element name="volumenum">
+ <ref name="volumenum.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="volumenum.attlist">
+ <ref name="common.attrib"/>
+ <ref name="volumenum.role.attrib"/>
+ </define>
+ <define name="accel.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="accel">
+ <element name="accel">
+ <ref name="accel.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="accel.attlist">
+ <ref name="common.attrib"/>
+ <ref name="accel.role.attrib"/>
+ </define>
+ <define name="action.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="action">
+ <element name="action">
+ <ref name="action.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="action.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="action.role.attrib"/>
+ </define>
+ <define name="application.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="application">
+ <element name="application">
+ <ref name="application.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="application.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="application.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>hardware</value>
+ <value>software</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="classname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="classname">
+ <element name="classname">
+ <ref name="classname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="classname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="classname.role.attrib"/>
+ </define>
+ <define name="co.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="co">
+ <element name="co">
+ <ref name="co.attlist"/>
+ </element>
+ </define>
+ <define name="co.attlist">
+ <ref name="label.attrib"/>
+ <ref name="linkends.attrib"/>
+ <ref name="idreq.common.attrib"/>
+ <ref name="co.role.attrib"/>
+ </define>
+ <define name="command.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="command">
+ <element name="command">
+ <ref name="command.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="cptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="command.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="command.role.attrib"/>
+ </define>
+ <define name="computeroutput.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="computeroutput">
+ <element name="computeroutput">
+ <ref name="computeroutput.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="cptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="computeroutput.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="computeroutput.role.attrib"/>
+ </define>
+ <define name="database.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="database">
+ <element name="database">
+ <ref name="database.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="database.attlist">
+ <ref name="common.attrib"/>
+ <ref name="database.role.attrib"/>
+ <ref name="moreinfo.attrib"/>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>name</value>
+ <value>table</value>
+ <value>field</value>
+ <value>key1</value>
+ <value>key2</value>
+ <value>record</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="email.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="email">
+ <element name="email">
+ <ref name="email.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="email.attlist">
+ <ref name="common.attrib"/>
+ <ref name="email.role.attrib"/>
+ </define>
+ <define name="envar.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="envar">
+ <element name="envar">
+ <ref name="envar.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="envar.attlist">
+ <ref name="common.attrib"/>
+ <ref name="envar.role.attrib"/>
+ </define>
+ <define name="errorcode.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="errorcode">
+ <element name="errorcode">
+ <ref name="errorcode.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="errorcode.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="errorcode.role.attrib"/>
+ </define>
+ <define name="errorname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="errorname">
+ <element name="errorname">
+ <ref name="errorname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="errorname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="errorname.role.attrib"/>
+ </define>
+ <define name="errortype.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="errortype">
+ <element name="errortype">
+ <ref name="errortype.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="errortype.attlist">
+ <ref name="common.attrib"/>
+ <ref name="errortype.role.attrib"/>
+ </define>
+ <define name="filename.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="filename">
+ <element name="filename">
+ <ref name="filename.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="filename.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="filename.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>headerfile</value>
+ <value>devicefile</value>
+ <value>libraryfile</value>
+ <value>directory</value>
+ <value>symlink</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="path">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="function.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="function">
+ <element name="function">
+ <ref name="function.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="cptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="function.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="function.role.attrib"/>
+ </define>
+ <define name="guibutton.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="guibutton">
+ <element name="guibutton">
+ <ref name="guibutton.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="smallcptr.char.mix"/>
+ <ref name="accel"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="guibutton.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="guibutton.role.attrib"/>
+ </define>
+ <define name="guiicon.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="guiicon">
+ <element name="guiicon">
+ <ref name="guiicon.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="smallcptr.char.mix"/>
+ <ref name="accel"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="guiicon.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="guiicon.role.attrib"/>
+ </define>
+ <define name="guilabel.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="guilabel">
+ <element name="guilabel">
+ <ref name="guilabel.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="smallcptr.char.mix"/>
+ <ref name="accel"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="guilabel.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="guilabel.role.attrib"/>
+ </define>
+ <define name="guimenu.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="guimenu">
+ <element name="guimenu">
+ <ref name="guimenu.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="smallcptr.char.mix"/>
+ <ref name="accel"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="guimenu.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="guimenu.role.attrib"/>
+ </define>
+ <define name="guimenuitem.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="guimenuitem">
+ <element name="guimenuitem">
+ <ref name="guimenuitem.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="smallcptr.char.mix"/>
+ <ref name="accel"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="guimenuitem.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="guimenuitem.role.attrib"/>
+ </define>
+ <define name="guisubmenu.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="guisubmenu">
+ <element name="guisubmenu">
+ <ref name="guisubmenu.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="smallcptr.char.mix"/>
+ <ref name="accel"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="guisubmenu.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="guisubmenu.role.attrib"/>
+ </define>
+ <define name="hardware.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="hardware">
+ <element name="hardware">
+ <ref name="hardware.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="hardware.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="hardware.role.attrib"/>
+ </define>
+ <define name="interface.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="interface">
+ <element name="interface">
+ <ref name="interface.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="smallcptr.char.mix"/>
+ <ref name="accel"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="interface.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="interface.role.attrib"/>
+ </define>
+ <define name="keycap.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="keycap">
+ <element name="keycap">
+ <ref name="keycap.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="keycap.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="keycap.role.attrib"/>
+ </define>
+ <define name="keycode.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="keycode">
+ <element name="keycode">
+ <ref name="keycode.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="keycode.attlist">
+ <ref name="common.attrib"/>
+ <ref name="keycode.role.attrib"/>
+ </define>
+ <define name="keycombo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="keycombo">
+ <element name="keycombo">
+ <ref name="keycombo.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="keycap"/>
+ <ref name="keycombo"/>
+ <ref name="keysym"/>
+ <ref name="mousebutton"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="keycombo.attlist">
+ <ref name="keyaction.attrib"/>
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="keycombo.role.attrib"/>
+ </define>
+ <define name="keysysm.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="keysym">
+ <element name="keysym">
+ <ref name="keysym.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="keysym.attlist">
+ <ref name="common.attrib"/>
+ <ref name="keysysm.role.attrib"/>
+ </define>
+ <define name="lineannotation.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="lineannotation">
+ <element name="lineannotation">
+ <ref name="lineannotation.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="lineannotation.attlist">
+ <ref name="common.attrib"/>
+ <ref name="lineannotation.role.attrib"/>
+ </define>
+ <define name="literal.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="literal">
+ <element name="literal">
+ <ref name="literal.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="cptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="literal.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="literal.role.attrib"/>
+ </define>
+ <define name="constant.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="constant">
+ <element name="constant">
+ <ref name="constant.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="constant.attlist">
+ <ref name="common.attrib"/>
+ <ref name="constant.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <value>limit</value>
+ </attribute>
+ </optional>
+ </define>
+ <define name="varname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="varname">
+ <element name="varname">
+ <ref name="varname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="varname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="varname.role.attrib"/>
+ </define>
+ <define name="markup.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="markup">
+ <element name="markup">
+ <ref name="markup.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="markup.attlist">
+ <ref name="common.attrib"/>
+ <ref name="markup.role.attrib"/>
+ </define>
+ <define name="medialabel.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="medialabel">
+ <element name="medialabel">
+ <ref name="medialabel.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="medialabel.attlist">
+ <ref name="common.attrib"/>
+ <ref name="medialabel.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>cartridge</value>
+ <value>cdrom</value>
+ <value>disk</value>
+ <value>tape</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="menuchoice.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="menuchoice">
+ <element name="menuchoice">
+ <ref name="menuchoice.attlist"/>
+ <optional>
+ <ref name="shortcut"/>
+ </optional>
+ <oneOrMore>
+ <choice>
+ <ref name="guibutton"/>
+ <ref name="guiicon"/>
+ <ref name="guilabel"/>
+ <ref name="guimenu"/>
+ <ref name="guimenuitem"/>
+ <ref name="guisubmenu"/>
+ <ref name="interface"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="menuchoice.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="menuchoice.role.attrib"/>
+ </define>
+ <define name="shortcut.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="shortcut">
+ <element name="shortcut">
+ <ref name="shortcut.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="keycap"/>
+ <ref name="keycombo"/>
+ <ref name="keysym"/>
+ <ref name="mousebutton"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="shortcut.attlist">
+ <ref name="keyaction.attrib"/>
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="shortcut.role.attrib"/>
+ </define>
+ <define name="mousebutton.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="mousebutton">
+ <element name="mousebutton">
+ <ref name="mousebutton.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="mousebutton.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="mousebutton.role.attrib"/>
+ </define>
+ <define name="msgtext.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="msgtext">
+ <element name="msgtext">
+ <ref name="msgtext.attlist"/>
+ <oneOrMore>
+ <ref name="component.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="msgtext.attlist">
+ <ref name="common.attrib"/>
+ <ref name="msgtext.role.attrib"/>
+ </define>
+ <define name="option.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="option">
+ <element name="option">
+ <ref name="option.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="option.attlist">
+ <ref name="common.attrib"/>
+ <ref name="option.role.attrib"/>
+ </define>
+ <define name="optional.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="optional">
+ <element name="optional">
+ <ref name="optional.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="cptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="optional.attlist">
+ <ref name="common.attrib"/>
+ <ref name="optional.role.attrib"/>
+ </define>
+ <define name="parameter.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="parameter">
+ <element name="parameter">
+ <ref name="parameter.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="parameter.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="parameter.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>command</value>
+ <value>function</value>
+ <value>option</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="prompt.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="prompt">
+ <element name="prompt">
+ <ref name="prompt.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="prompt.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="prompt.role.attrib"/>
+ </define>
+ <define name="property.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="property">
+ <element name="property">
+ <ref name="property.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="property.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="property.role.attrib"/>
+ </define>
+ <define name="replaceable.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="replaceable">
+ <element name="replaceable">
+ <ref name="replaceable.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="link.char.class"/>
+ <ref name="optional"/>
+ <ref name="base.char.class"/>
+ <ref name="other.char.class"/>
+ <ref name="inlinegraphic"/>
+ <ref name="inlinemediaobject"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="replaceable.attlist">
+ <ref name="common.attrib"/>
+ <ref name="replaceable.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>command</value>
+ <value>function</value>
+ <value>option</value>
+ <value>parameter</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="returnvalue.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="returnvalue">
+ <element name="returnvalue">
+ <ref name="returnvalue.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="returnvalue.attlist">
+ <ref name="common.attrib"/>
+ <ref name="returnvalue.role.attrib"/>
+ </define>
+ <define name="sgmltag.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sgmltag">
+ <element name="sgmltag">
+ <ref name="sgmltag.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="sgmltag.attlist">
+ <ref name="common.attrib"/>
+ <ref name="sgmltag.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>attribute</value>
+ <value>attvalue</value>
+ <value>element</value>
+ <value>endtag</value>
+ <value>emptytag</value>
+ <value>genentity</value>
+ <value>numcharref</value>
+ <value>paramentity</value>
+ <value>pi</value>
+ <value>xmlpi</value>
+ <value>starttag</value>
+ <value>sgmlcomment</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="structfield.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="structfield">
+ <element name="structfield">
+ <ref name="structfield.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="structfield.attlist">
+ <ref name="common.attrib"/>
+ <ref name="structfield.role.attrib"/>
+ </define>
+ <define name="structname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="structname">
+ <element name="structname">
+ <ref name="structname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="structname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="structname.role.attrib"/>
+ </define>
+ <define name="symbol.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="symbol">
+ <element name="symbol">
+ <ref name="symbol.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="symbol.attlist">
+ <ref name="common.attrib"/>
+ <ref name="symbol.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <value>limit</value>
+ </attribute>
+ </optional>
+ </define>
+ <define name="systemitem.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="systemitem">
+ <element name="systemitem">
+ <ref name="systemitem.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="smallcptr.char.mix"/>
+ <ref name="acronym"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="systemitem.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="systemitem.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>constant</value>
+ <value>groupname</value>
+ <value>library</value>
+ <value>macro</value>
+ <value>osname</value>
+ <value>resource</value>
+ <value>systemname</value>
+ <value>username</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="token.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="token">
+ <element name="token">
+ <ref name="token.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="token.attlist">
+ <ref name="common.attrib"/>
+ <ref name="token.role.attrib"/>
+ </define>
+ <define name="type.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="type">
+ <element name="type">
+ <ref name="type.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="smallcptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="type.attlist">
+ <ref name="common.attrib"/>
+ <ref name="type.role.attrib"/>
+ </define>
+ <define name="userinput.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="userinput">
+ <element name="userinput">
+ <ref name="userinput.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="cptr.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="userinput.attlist">
+ <ref name="moreinfo.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="userinput.role.attrib"/>
+ </define>
+ <define name="abbrev.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="abbrev">
+ <element name="abbrev">
+ <ref name="abbrev.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="word.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="abbrev.attlist">
+ <ref name="common.attrib"/>
+ <ref name="abbrev.role.attrib"/>
+ </define>
+ <define name="acronym.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="acronym">
+ <element name="acronym">
+ <ref name="acronym.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="word.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="acronym.attlist">
+ <ref name="common.attrib"/>
+ <ref name="acronym.role.attrib"/>
+ </define>
+ <define name="citation.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="citation">
+ <element name="citation">
+ <ref name="citation.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="citation.attlist">
+ <ref name="common.attrib"/>
+ <ref name="citation.role.attrib"/>
+ </define>
+ <define name="citerefentry.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="citerefentry">
+ <element name="citerefentry">
+ <ref name="citerefentry.attlist"/>
+ <ref name="refentrytitle"/>
+ <optional>
+ <ref name="manvolnum"/>
+ </optional>
+ </element>
+ </define>
+ <define name="citerefentry.attlist">
+ <ref name="common.attrib"/>
+ <ref name="citerefentry.role.attrib"/>
+ </define>
+ <define name="refentrytitle.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refentrytitle">
+ <element name="refentrytitle">
+ <ref name="refentrytitle.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="refentrytitle.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refentrytitle.role.attrib"/>
+ </define>
+ <define name="namvolnum.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="manvolnum">
+ <element name="manvolnum">
+ <ref name="manvolnum.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="word.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="manvolnum.attlist">
+ <ref name="common.attrib"/>
+ <ref name="namvolnum.role.attrib"/>
+ </define>
+ <define name="citetitle.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="citetitle">
+ <element name="citetitle">
+ <ref name="citetitle.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="citetitle.attlist">
+ <ref name="common.attrib"/>
+ <ref name="citetitle.role.attrib"/>
+ <optional>
+ <attribute name="pubwork">
+ <choice>
+ <value>article</value>
+ <value>book</value>
+ <value>chapter</value>
+ <value>part</value>
+ <value>refentry</value>
+ <value>section</value>
+ <value>journal</value>
+ <value>series</value>
+ <value>set</value>
+ <value>manuscript</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="emphasis.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="emphasis">
+ <element name="emphasis">
+ <ref name="emphasis.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="emphasis.attlist">
+ <ref name="common.attrib"/>
+ <ref name="emphasis.role.attrib"/>
+ </define>
+ <define name="firstterm.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="firstterm">
+ <element name="firstterm">
+ <ref name="firstterm.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="word.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="firstterm.attlist">
+ <ref name="common.attrib"/>
+ <ref name="firstterm.role.attrib"/>
+ <ref name="linkend.attrib"/>
+ </define>
+ <define name="foreignphrase.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="foreignphrase">
+ <element name="foreignphrase">
+ <ref name="foreignphrase.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="foreignphrase.attlist">
+ <ref name="common.attrib"/>
+ <ref name="foreignphrase.role.attrib"/>
+ </define>
+ <define name="glossterm.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="glossterm">
+ <element name="glossterm">
+ <ref name="glossterm.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="glossterm.attlist">
+ <ref name="common.attrib"/>
+ <ref name="glossterm.role.attrib"/>
+ <ref name="linkend.attrib"/>
+ <optional>
+ <attribute name="baseform">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="phrase.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="phrase">
+ <element name="phrase">
+ <ref name="phrase.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="phrase.attlist">
+ <ref name="common.attrib"/>
+ <ref name="phrase.role.attrib"/>
+ </define>
+ <define name="quote.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="quote">
+ <element name="quote">
+ <ref name="quote.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="quote.attlist">
+ <ref name="common.attrib"/>
+ <ref name="quote.role.attrib"/>
+ </define>
+ <define name="ssscript.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="subscriptContentModel">
+ <zeroOrMore>
+ <choice>
+ <ref name="link.char.class"/>
+ <ref name="emphasis"/>
+ <ref name="replaceable"/>
+ <ref name="symbol"/>
+ <ref name="inlinegraphic"/>
+ <ref name="inlinemediaobject"/>
+ <ref name="base.char.class"/>
+ <ref name="other.char.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="subscript">
+ <element name="subscript">
+ <ref name="subscript.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="subscriptContentModel"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="subscript.attlist">
+ <ref name="common.attrib"/>
+ <ref name="ssscript.role.attrib"/>
+ </define>
+ <define name="superscript">
+ <element name="superscript">
+ <ref name="superscript.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="subscriptContentModel"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="superscript.attlist">
+ <ref name="common.attrib"/>
+ <ref name="ssscript.role.attrib"/>
+ </define>
+ <define name="trademark.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="trademark">
+ <element name="trademark">
+ <ref name="trademark.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="link.char.class"/>
+ <ref name="tech.char.class"/>
+ <ref name="base.char.class"/>
+ <ref name="other.char.class"/>
+ <ref name="inlinegraphic"/>
+ <ref name="inlinemediaobject"/>
+ <ref name="emphasis"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="trademark.attlist">
+ <ref name="common.attrib"/>
+ <ref name="trademark.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>service</value>
+ <value>trade</value>
+ <value>registered</value>
+ <value>copyright</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="wordasword.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="wordasword">
+ <element name="wordasword">
+ <ref name="wordasword.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="word.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="wordasword.attlist">
+ <ref name="common.attrib"/>
+ <ref name="wordasword.role.attrib"/>
+ </define>
+ <define name="link.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="link">
+ <element name="link">
+ <ref name="link.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="link.attlist">
+ <ref name="linkendreq.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="link.role.attrib"/>
+ <optional>
+ <attribute name="endterm">
+ <data type="IDREF"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="olink.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="olink">
+ <element name="olink">
+ <ref name="olink.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="olink.attlist">
+ <ref name="common.attrib"/>
+ <ref name="olink.role.attrib"/>
+ <optional>
+ <attribute name="linkmode">
+ <data type="IDREF"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="localinfo">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="ulink.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="ulink">
+ <element name="ulink">
+ <ref name="ulink.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="ulink.attlist">
+ <ref name="common.attrib"/>
+ <ref name="ulink.role.attrib"/>
+ <attribute name="url">
+ <data type="string"/>
+ </attribute>
+ <optional>
+ <attribute name="type">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="footnoteref.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="footnoteref">
+ <element name="footnoteref">
+ <ref name="footnoteref.attlist"/>
+ </element>
+ </define>
+ <define name="footnoteref.attlist">
+ <ref name="linkendreq.attrib"/>
+ <ref name="label.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="footnoteref.role.attrib"/>
+ </define>
+ <define name="xref.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="xref">
+ <element name="xref">
+ <ref name="xref.attlist"/>
+ </element>
+ </define>
+ <define name="xref.attlist">
+ <ref name="linkendreq.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="xref.role.attrib"/>
+ <optional>
+ <attribute name="endterm">
+ <data type="IDREF"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="anchor.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="anchor">
+ <element name="anchor">
+ <ref name="anchor.attlist"/>
+ </element>
+ </define>
+ <define name="anchor.attlist">
+ <ref name="idreq.attrib"/>
+ <ref name="pagenum.attrib"/>
+ <ref name="remap.attrib"/>
+ <ref name="xreflabel.attrib"/>
+ <ref name="revisionflag.attrib"/>
+ <ref name="effectivity.attrib"/>
+ <ref name="anchor.role.attrib"/>
+ </define>
+ <define name="beginpage.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="beginpage">
+ <element name="beginpage">
+ <ref name="beginpage.attlist"/>
+ </element>
+ </define>
+ <define name="beginpage.attlist">
+ <ref name="pagenum.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="beginpage.role.attrib"/>
+ </define>
+ <define name="indexterm.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="indexterm">
+ <element name="indexterm">
+ <ref name="indexterm.attlist"/>
+ <optional>
+ <ref name="primary"/>
+ </optional>
+ <optional>
+ <choice>
+ <group>
+ <ref name="secondary"/>
+ <optional>
+ <choice>
+ <group>
+ <ref name="tertiary"/>
+ <optional>
+ <choice>
+ <ref name="see"/>
+ <oneOrMore>
+ <ref name="seealso"/>
+ </oneOrMore>
+ </choice>
+ </optional>
+ </group>
+ <ref name="see"/>
+ <oneOrMore>
+ <ref name="seealso"/>
+ </oneOrMore>
+ </choice>
+ </optional>
+ </group>
+ <ref name="see"/>
+ <oneOrMore>
+ <ref name="seealso"/>
+ </oneOrMore>
+ </choice>
+ </optional>
+ </element>
+ </define>
+ <define name="indexterm.attlist">
+ <ref name="common.attrib"/>
+ <ref name="indexterm.role.attrib"/>
+ <ref name="pagenum.attrib"/>
+ <optional>
+ <attribute name="scope">
+ <choice>
+ <value>all</value>
+ <value>global</value>
+ <value>local</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="significance">
+ <choice>
+ <value>preferred</value>
+ <value>normal</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>singular</value>
+ <value>startofrange</value>
+ <value>endofrange</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="startref">
+ <data type="IDREF"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="zone">
+ <data type="IDREFS"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="primsecter.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="primary">
+ <element name="primary">
+ <ref name="primary.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="ndxterm.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="primary.attlist">
+ <ref name="common.attrib"/>
+ <ref name="primsecter.role.attrib"/>
+ <optional>
+ <attribute name="sortas">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="secondary">
+ <element name="secondary">
+ <ref name="secondary.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="ndxterm.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="secondary.attlist">
+ <ref name="common.attrib"/>
+ <ref name="primsecter.role.attrib"/>
+ <optional>
+ <attribute name="sortas">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="tertiary">
+ <element name="tertiary">
+ <ref name="tertiary.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="ndxterm.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="tertiary.attlist">
+ <ref name="common.attrib"/>
+ <ref name="primsecter.role.attrib"/>
+ <optional>
+ <attribute name="sortas">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="seeseealso.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="see">
+ <element name="see">
+ <ref name="see.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="ndxterm.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="see.attlist">
+ <ref name="common.attrib"/>
+ <ref name="seeseealso.role.attrib"/>
+ </define>
+ <define name="seealso">
+ <element name="seealso">
+ <ref name="seealso.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="ndxterm.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="seealso.attlist">
+ <ref name="common.attrib"/>
+ <ref name="seeseealso.role.attrib"/>
+ </define>
+ <define name="appendix.class">
+ <ref name="appendix"/>
+ </define>
+ <define name="article.class">
+ <ref name="article"/>
+ </define>
+ <define name="book.class">
+ <ref name="book"/>
+ </define>
+ <define name="chapter.class">
+ <ref name="chapter"/>
+ </define>
+ <define name="index.class">
+ <choice>
+ <ref name="index"/>
+ <ref name="setindex"/>
+ </choice>
+ </define>
+ <define name="refentry.class">
+ <ref name="refentry"/>
+ </define>
+ <define name="nav.class">
+ <choice>
+ <ref name="toc"/>
+ <ref name="lot"/>
+ <ref name="index"/>
+ <ref name="glossary"/>
+ <ref name="bibliography"/>
+ </choice>
+ </define>
+ <define name="divcomponent.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="admon.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="synop.class"/>
+ <ref name="para.class"/>
+ <ref name="informal.class"/>
+ <ref name="formal.class"/>
+ <ref name="compound.class"/>
+ <ref name="genobj.class"/>
+ <ref name="descobj.class"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="refcomponent.mix">
+ <choice>
+ <ref name="list.class"/>
+ <ref name="admon.class"/>
+ <ref name="linespecific.class"/>
+ <ref name="synop.class"/>
+ <ref name="para.class"/>
+ <ref name="informal.class"/>
+ <ref name="formal.class"/>
+ <ref name="compound.class"/>
+ <ref name="genobj.class"/>
+ <ref name="descobj.class"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="indexdivcomponent.mix">
+ <choice>
+ <ref name="itemizedlist"/>
+ <ref name="orderedlist"/>
+ <ref name="variablelist"/>
+ <ref name="simplelist"/>
+ <ref name="linespecific.class"/>
+ <ref name="synop.class"/>
+ <ref name="para.class"/>
+ <ref name="informal.class"/>
+ <ref name="anchor"/>
+ <ref name="remark"/>
+ <ref name="link.char.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="refname.char.mix">
+ <ref name="tech.char.class"/>
+ </define>
+ <define name="partcontent.mix">
+ <choice>
+ <ref name="appendix.class"/>
+ <ref name="chapter.class"/>
+ <ref name="nav.class"/>
+ <ref name="article.class"/>
+ <ref name="preface"/>
+ <ref name="refentry.class"/>
+ <ref name="reference"/>
+ </choice>
+ </define>
+ <define name="refinline.char.mix">
+ <choice>
+ <ref name="xref.char.class"/>
+ <ref name="gen.char.class"/>
+ <ref name="link.char.class"/>
+ <ref name="tech.char.class"/>
+ <ref name="base.char.class"/>
+ <ref name="docinfo.char.class"/>
+ <ref name="other.char.class"/>
+ <ref name="ndxterm.class"/>
+ <ref name="beginpage"/>
+ </choice>
+ </define>
+ <define name="refclass.char.mix">
+ <ref name="application"/>
+ </define>
+ <define name="div.title.content">
+ <ref name="title"/>
+ <optional>
+ <ref name="subtitle"/>
+ </optional>
+ <optional>
+ <ref name="titleabbrev"/>
+ </optional>
+ </define>
+ <define name="bookcomponent.title.content">
+ <ref name="title"/>
+ <optional>
+ <ref name="subtitle"/>
+ </optional>
+ <optional>
+ <ref name="titleabbrev"/>
+ </optional>
+ </define>
+ <define name="sect.title.content">
+ <ref name="title"/>
+ <optional>
+ <ref name="subtitle"/>
+ </optional>
+ <optional>
+ <ref name="titleabbrev"/>
+ </optional>
+ </define>
+ <define name="refsect.title.content">
+ <ref name="title"/>
+ <optional>
+ <ref name="subtitle"/>
+ </optional>
+ <optional>
+ <ref name="titleabbrev"/>
+ </optional>
+ </define>
+ <define name="bookcomponent.content">
+ <choice>
+ <group>
+ <oneOrMore>
+ <ref name="divcomponent.mix"/>
+ </oneOrMore>
+ <choice>
+ <zeroOrMore>
+ <ref name="sect1"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="refentry.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="simplesect"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="section"/>
+ </zeroOrMore>
+ </choice>
+ </group>
+ <choice>
+ <oneOrMore>
+ <ref name="sect1"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="refentry.class"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="simplesect"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="section"/>
+ </oneOrMore>
+ </choice>
+ </choice>
+ </define>
+ <define name="set.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="set">
+ <element name="set">
+ <ref name="set.attlist"/>
+ <optional>
+ <ref name="div.title.content"/>
+ </optional>
+ <optional>
+ <ref name="setinfo"/>
+ </optional>
+ <optional>
+ <ref name="toc"/>
+ </optional>
+ <oneOrMore>
+ <ref name="book.class"/>
+ </oneOrMore>
+ <optional>
+ <ref name="setindex"/>
+ </optional>
+ </element>
+ </define>
+ <define name="set.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="set.role.attrib"/>
+ <optional>
+ <attribute name="fpi">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="setinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="setinfo">
+ <element name="setinfo">
+ <ref name="setinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="setinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="setinfo.role.attrib"/>
+ <optional>
+ <attribute name="contents">
+ <data type="IDREFS"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="book.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="book">
+ <element name="book">
+ <ref name="book.attlist"/>
+ <optional>
+ <ref name="div.title.content"/>
+ </optional>
+ <optional>
+ <ref name="bookinfo"/>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="dedication"/>
+ <ref name="toc"/>
+ <ref name="lot"/>
+ <ref name="glossary"/>
+ <ref name="bibliography"/>
+ <ref name="preface"/>
+ <ref name="chapter.class"/>
+ <ref name="reference"/>
+ <ref name="part"/>
+ <ref name="article.class"/>
+ <ref name="appendix.class"/>
+ <ref name="index.class"/>
+ <ref name="colophon"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="book.attlist">
+ <ref name="label.attrib"/>
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="book.role.attrib"/>
+ <optional>
+ <attribute name="fpi">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="bookinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="bookinfo">
+ <element name="bookinfo">
+ <ref name="bookinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="bookinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="bookinfo.role.attrib"/>
+ <optional>
+ <attribute name="contents">
+ <data type="IDREFS"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="dedication.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="dedication">
+ <element name="dedication">
+ <ref name="dedication.attlist"/>
+ <optional>
+ <ref name="sect.title.content"/>
+ </optional>
+ <oneOrMore>
+ <ref name="legalnotice.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="dedication.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="dedication.role.attrib"/>
+ </define>
+ <define name="colophon.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="colophon">
+ <element name="colophon">
+ <ref name="colophon.attlist"/>
+ <optional>
+ <ref name="sect.title.content"/>
+ </optional>
+ <oneOrMore>
+ <ref name="textobject.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="colophon.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="colophon.role.attrib"/>
+ </define>
+ <define name="toc.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="toc">
+ <element name="toc">
+ <ref name="toc.attlist"/>
+ <optional>
+ <ref name="bookcomponent.title.content"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="tocfront"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <choice>
+ <ref name="tocpart"/>
+ <ref name="tocchap"/>
+ </choice>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="tocback"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="toc.attlist">
+ <ref name="pagenum.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="toc.role.attrib"/>
+ </define>
+ <define name="tocfront.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="tocfront">
+ <element name="tocfront">
+ <ref name="tocfront.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="tocfront.attlist">
+ <ref name="label.attrib"/>
+ <ref name="linkend.attrib"/>
+ <ref name="pagenum.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="tocfront.role.attrib"/>
+ </define>
+ <define name="tocentry.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="tocentry">
+ <element name="tocentry">
+ <ref name="tocentry.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="tocentry.attlist">
+ <ref name="linkend.attrib"/>
+ <ref name="pagenum.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="tocentry.role.attrib"/>
+ </define>
+ <define name="tocpart.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="tocpart">
+ <element name="tocpart">
+ <ref name="tocpart.attlist"/>
+ <oneOrMore>
+ <ref name="tocentry"/>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="tocchap"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="tocpart.attlist">
+ <ref name="common.attrib"/>
+ <ref name="tocpart.role.attrib"/>
+ </define>
+ <define name="tocchap.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="tocchap">
+ <element name="tocchap">
+ <ref name="tocchap.attlist"/>
+ <oneOrMore>
+ <ref name="tocentry"/>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="toclevel1"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="tocchap.attlist">
+ <ref name="label.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="tocchap.role.attrib"/>
+ </define>
+ <define name="toclevel1.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="toclevel1">
+ <element name="toclevel1">
+ <ref name="toclevel1.attlist"/>
+ <oneOrMore>
+ <ref name="tocentry"/>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="toclevel2"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="toclevel1.attlist">
+ <ref name="common.attrib"/>
+ <ref name="toclevel1.role.attrib"/>
+ </define>
+ <define name="toclevel2.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="toclevel2">
+ <element name="toclevel2">
+ <ref name="toclevel2.attlist"/>
+ <oneOrMore>
+ <ref name="tocentry"/>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="toclevel3"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="toclevel2.attlist">
+ <ref name="common.attrib"/>
+ <ref name="toclevel2.role.attrib"/>
+ </define>
+ <define name="toclevel3.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="toclevel3">
+ <element name="toclevel3">
+ <ref name="toclevel3.attlist"/>
+ <oneOrMore>
+ <ref name="tocentry"/>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="toclevel4"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="toclevel3.attlist">
+ <ref name="common.attrib"/>
+ <ref name="toclevel3.role.attrib"/>
+ </define>
+ <define name="toclevel4.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="toclevel4">
+ <element name="toclevel4">
+ <ref name="toclevel4.attlist"/>
+ <oneOrMore>
+ <ref name="tocentry"/>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="toclevel5"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="toclevel4.attlist">
+ <ref name="common.attrib"/>
+ <ref name="toclevel4.role.attrib"/>
+ </define>
+ <define name="toclevel5.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="toclevel5">
+ <element name="toclevel5">
+ <ref name="toclevel5.attlist"/>
+ <oneOrMore>
+ <ref name="tocentry"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="toclevel5.attlist">
+ <ref name="common.attrib"/>
+ <ref name="toclevel5.role.attrib"/>
+ </define>
+ <define name="tocback.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="tocback">
+ <element name="tocback">
+ <ref name="tocback.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="tocback.attlist">
+ <ref name="label.attrib"/>
+ <ref name="linkend.attrib"/>
+ <ref name="pagenum.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="tocback.role.attrib"/>
+ </define>
+ <define name="lot.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="lot">
+ <element name="lot">
+ <ref name="lot.attlist"/>
+ <optional>
+ <ref name="bookcomponent.title.content"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="lotentry"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="lot.attlist">
+ <ref name="label.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="lot.role.attrib"/>
+ </define>
+ <define name="lotentry.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="lotentry">
+ <element name="lotentry">
+ <ref name="lotentry.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="para.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="lotentry.attlist">
+ <ref name="pagenum.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="linkend.attrib"/>
+ <ref name="lotentry.role.attrib"/>
+ <optional>
+ <attribute name="srccredit">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="appendix.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="appendix">
+ <element name="appendix">
+ <ref name="appendix.attlist"/>
+ <optional>
+ <ref name="appendixinfo"/>
+ </optional>
+ <ref name="bookcomponent.title.content"/>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="tocchap"/>
+ </optional>
+ <ref name="bookcomponent.content"/>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="appendix.attlist">
+ <ref name="label.attrib"/>
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="appendix.role.attrib"/>
+ </define>
+ <define name="chapter.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="chapter">
+ <element name="chapter">
+ <ref name="chapter.attlist"/>
+ <optional>
+ <ref name="chapterinfo"/>
+ </optional>
+ <ref name="bookcomponent.title.content"/>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="tocchap"/>
+ </optional>
+ <ref name="bookcomponent.content"/>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="chapter.attlist">
+ <ref name="label.attrib"/>
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="chapter.role.attrib"/>
+ </define>
+ <define name="part.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="part">
+ <element name="part">
+ <ref name="part.attlist"/>
+ <optional>
+ <ref name="partinfo"/>
+ </optional>
+ <ref name="bookcomponent.title.content"/>
+ <optional>
+ <ref name="partintro"/>
+ </optional>
+ <oneOrMore>
+ <ref name="partcontent.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="part.attlist">
+ <ref name="label.attrib"/>
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="part.role.attrib"/>
+ </define>
+ <define name="preface.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="preface">
+ <element name="preface">
+ <ref name="preface.attlist"/>
+ <optional>
+ <ref name="prefaceinfo"/>
+ </optional>
+ <ref name="bookcomponent.title.content"/>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="tocchap"/>
+ </optional>
+ <ref name="bookcomponent.content"/>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="preface.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="preface.role.attrib"/>
+ </define>
+ <define name="reference.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="reference">
+ <element name="reference">
+ <ref name="reference.attlist"/>
+ <optional>
+ <ref name="referenceinfo"/>
+ </optional>
+ <ref name="bookcomponent.title.content"/>
+ <optional>
+ <ref name="partintro"/>
+ </optional>
+ <oneOrMore>
+ <ref name="refentry.class"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="reference.attlist">
+ <ref name="label.attrib"/>
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="reference.role.attrib"/>
+ </define>
+ <define name="partintro.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="partintro">
+ <element name="partintro">
+ <ref name="partintro.attlist"/>
+ <optional>
+ <ref name="div.title.content"/>
+ </optional>
+ <ref name="bookcomponent.content"/>
+ </element>
+ </define>
+ <define name="partintro.attlist">
+ <ref name="label.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="partintro.role.attrib"/>
+ </define>
+ <define name="appendixinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="appendixinfo">
+ <element name="appendixinfo">
+ <ref name="appendixinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="appendixinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="appendixinfo.role.attrib"/>
+ </define>
+ <define name="bibliographyinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="bibliographyinfo">
+ <element name="bibliographyinfo">
+ <ref name="bibliographyinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="bibliographyinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="bibliographyinfo.role.attrib"/>
+ </define>
+ <define name="chapterinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="chapterinfo">
+ <element name="chapterinfo">
+ <ref name="chapterinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="chapterinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="chapterinfo.role.attrib"/>
+ </define>
+ <define name="glossaryinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="glossaryinfo">
+ <element name="glossaryinfo">
+ <ref name="glossaryinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="glossaryinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="glossaryinfo.role.attrib"/>
+ </define>
+ <define name="indexinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="indexinfo">
+ <element name="indexinfo">
+ <ref name="indexinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="indexinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="indexinfo.role.attrib"/>
+ </define>
+ <define name="setindexinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="setindexinfo">
+ <element name="setindexinfo">
+ <ref name="setindexinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="setindexinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="setindexinfo.role.attrib"/>
+ </define>
+ <define name="partinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="partinfo">
+ <element name="partinfo">
+ <ref name="partinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="partinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="partinfo.role.attrib"/>
+ </define>
+ <define name="prefaceinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="prefaceinfo">
+ <element name="prefaceinfo">
+ <ref name="prefaceinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="prefaceinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="prefaceinfo.role.attrib"/>
+ </define>
+ <define name="refentryinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refentryinfo">
+ <element name="refentryinfo">
+ <ref name="refentryinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="refentryinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refentryinfo.role.attrib"/>
+ </define>
+ <define name="refsect1info.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refsect1info">
+ <element name="refsect1info">
+ <ref name="refsect1info.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="refsect1info.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refsect1info.role.attrib"/>
+ </define>
+ <define name="refsect2info.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refsect2info">
+ <element name="refsect2info">
+ <ref name="refsect2info.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="refsect2info.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refsect2info.role.attrib"/>
+ </define>
+ <define name="refsect3info.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refsect3info">
+ <element name="refsect3info">
+ <ref name="refsect3info.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="refsect3info.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refsect3info.role.attrib"/>
+ </define>
+ <define name="refsynopsisdivinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refsynopsisdivinfo">
+ <element name="refsynopsisdivinfo">
+ <ref name="refsynopsisdivinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="refsynopsisdivinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refsynopsisdivinfo.role.attrib"/>
+ </define>
+ <define name="referenceinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="referenceinfo">
+ <element name="referenceinfo">
+ <ref name="referenceinfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="referenceinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="referenceinfo.role.attrib"/>
+ </define>
+ <define name="sect1info.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sect1info">
+ <element name="sect1info">
+ <ref name="sect1info.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="sect1info.attlist">
+ <ref name="common.attrib"/>
+ <ref name="sect1info.role.attrib"/>
+ </define>
+ <define name="sect2info.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sect2info">
+ <element name="sect2info">
+ <ref name="sect2info.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="sect2info.attlist">
+ <ref name="common.attrib"/>
+ <ref name="sect2info.role.attrib"/>
+ </define>
+ <define name="sect3info.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sect3info">
+ <element name="sect3info">
+ <ref name="sect3info.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="sect3info.attlist">
+ <ref name="common.attrib"/>
+ <ref name="sect3info.role.attrib"/>
+ </define>
+ <define name="sect4info.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sect4info">
+ <element name="sect4info">
+ <ref name="sect4info.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="sect4info.attlist">
+ <ref name="common.attrib"/>
+ <ref name="sect4info.role.attrib"/>
+ </define>
+ <define name="sect5info.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sect5info">
+ <element name="sect5info">
+ <ref name="sect5info.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="sect5info.attlist">
+ <ref name="common.attrib"/>
+ <ref name="sect5info.role.attrib"/>
+ </define>
+ <define name="section.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="section">
+ <element name="section">
+ <ref name="section.attlist"/>
+ <optional>
+ <ref name="sectioninfo"/>
+ </optional>
+ <ref name="sect.title.content"/>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ <choice>
+ <group>
+ <oneOrMore>
+ <ref name="divcomponent.mix"/>
+ </oneOrMore>
+ <choice>
+ <zeroOrMore>
+ <ref name="refentry.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="section"/>
+ </zeroOrMore>
+ </choice>
+ </group>
+ <choice>
+ <oneOrMore>
+ <ref name="refentry.class"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="section"/>
+ </oneOrMore>
+ </choice>
+ </choice>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="section.attlist">
+ <ref name="label.attrib"/>
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="section.role.attrib"/>
+ </define>
+ <define name="sectioninfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sectioninfo">
+ <element name="sectioninfo">
+ <ref name="sectioninfo.attlist"/>
+ <ref name="infoContentModel"/>
+ </element>
+ </define>
+ <define name="sectioninfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="sectioninfo.role.attrib"/>
+ </define>
+ <define name="sect1.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sect1">
+ <element name="sect1">
+ <ref name="sect1.attlist"/>
+ <optional>
+ <ref name="sect1info"/>
+ </optional>
+ <ref name="sect.title.content"/>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ <choice>
+ <group>
+ <oneOrMore>
+ <ref name="divcomponent.mix"/>
+ </oneOrMore>
+ <choice>
+ <zeroOrMore>
+ <ref name="refentry.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="sect2"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="simplesect"/>
+ </zeroOrMore>
+ </choice>
+ </group>
+ <choice>
+ <oneOrMore>
+ <ref name="refentry.class"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="sect2"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="simplesect"/>
+ </oneOrMore>
+ </choice>
+ </choice>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="sect1.attlist">
+ <ref name="label.attrib"/>
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="sect1.role.attrib"/>
+ <optional>
+ <attribute name="renderas">
+ <choice>
+ <value>sect2</value>
+ <value>sect3</value>
+ <value>sect4</value>
+ <value>sect5</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="sect2.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sect2">
+ <element name="sect2">
+ <ref name="sect2.attlist"/>
+ <optional>
+ <ref name="sect2info"/>
+ </optional>
+ <ref name="sect.title.content"/>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ <choice>
+ <group>
+ <oneOrMore>
+ <ref name="divcomponent.mix"/>
+ </oneOrMore>
+ <choice>
+ <zeroOrMore>
+ <ref name="refentry.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="sect3"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="simplesect"/>
+ </zeroOrMore>
+ </choice>
+ </group>
+ <choice>
+ <oneOrMore>
+ <ref name="refentry.class"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="sect3"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="simplesect"/>
+ </oneOrMore>
+ </choice>
+ </choice>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="sect2.attlist">
+ <ref name="label.attrib"/>
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="sect2.role.attrib"/>
+ <optional>
+ <attribute name="renderas">
+ <choice>
+ <value>sect1</value>
+ <value>sect3</value>
+ <value>sect4</value>
+ <value>sect5</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="sect3.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sect3">
+ <element name="sect3">
+ <ref name="sect3.attlist"/>
+ <optional>
+ <ref name="sect3info"/>
+ </optional>
+ <ref name="sect.title.content"/>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ <choice>
+ <group>
+ <oneOrMore>
+ <ref name="divcomponent.mix"/>
+ </oneOrMore>
+ <choice>
+ <zeroOrMore>
+ <ref name="refentry.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="sect4"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="simplesect"/>
+ </zeroOrMore>
+ </choice>
+ </group>
+ <choice>
+ <oneOrMore>
+ <ref name="refentry.class"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="sect4"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="simplesect"/>
+ </oneOrMore>
+ </choice>
+ </choice>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="sect3.attlist">
+ <ref name="label.attrib"/>
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="sect3.role.attrib"/>
+ <optional>
+ <attribute name="renderas">
+ <choice>
+ <value>sect1</value>
+ <value>sect2</value>
+ <value>sect4</value>
+ <value>sect5</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="sect4.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sect4">
+ <element name="sect4">
+ <ref name="sect4.attlist"/>
+ <optional>
+ <ref name="sect4info"/>
+ </optional>
+ <ref name="sect.title.content"/>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ <choice>
+ <group>
+ <oneOrMore>
+ <ref name="divcomponent.mix"/>
+ </oneOrMore>
+ <choice>
+ <zeroOrMore>
+ <ref name="refentry.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="sect5"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="simplesect"/>
+ </zeroOrMore>
+ </choice>
+ </group>
+ <choice>
+ <oneOrMore>
+ <ref name="refentry.class"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="sect5"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="simplesect"/>
+ </oneOrMore>
+ </choice>
+ </choice>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="sect4.attlist">
+ <ref name="label.attrib"/>
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="sect4.role.attrib"/>
+ <optional>
+ <attribute name="renderas">
+ <choice>
+ <value>sect1</value>
+ <value>sect2</value>
+ <value>sect3</value>
+ <value>sect5</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="sect5.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="sect5">
+ <element name="sect5">
+ <ref name="sect5.attlist"/>
+ <optional>
+ <ref name="sect5info"/>
+ </optional>
+ <ref name="sect.title.content"/>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ <choice>
+ <group>
+ <oneOrMore>
+ <ref name="divcomponent.mix"/>
+ </oneOrMore>
+ <choice>
+ <zeroOrMore>
+ <ref name="refentry.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="simplesect"/>
+ </zeroOrMore>
+ </choice>
+ </group>
+ <choice>
+ <oneOrMore>
+ <ref name="refentry.class"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="simplesect"/>
+ </oneOrMore>
+ </choice>
+ </choice>
+ <zeroOrMore>
+ <ref name="nav.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="sect5.attlist">
+ <ref name="label.attrib"/>
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="sect5.role.attrib"/>
+ <optional>
+ <attribute name="renderas">
+ <choice>
+ <value>sect1</value>
+ <value>sect2</value>
+ <value>sect3</value>
+ <value>sect4</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="simplesect.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="simplesect">
+ <element name="simplesect">
+ <ref name="simplesect.attlist"/>
+ <ref name="sect.title.content"/>
+ <oneOrMore>
+ <ref name="divcomponent.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="simplesect.attlist">
+ <ref name="common.attrib"/>
+ <ref name="simplesect.role.attrib"/>
+ </define>
+ <define name="bibliography.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="bibliography">
+ <element name="bibliography">
+ <ref name="bibliography.attlist"/>
+ <zeroOrMore>
+ <ref name="bibliographyinfo"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="bookcomponent.title.content"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="component.mix"/>
+ </zeroOrMore>
+ <choice>
+ <oneOrMore>
+ <ref name="bibliodiv"/>
+ </oneOrMore>
+ <oneOrMore>
+ <choice>
+ <ref name="biblioentry"/>
+ <ref name="bibliomixed"/>
+ </choice>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="bibliography.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="bibliography.role.attrib"/>
+ </define>
+ <define name="bibliodiv.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="bibliodiv">
+ <element name="bibliodiv">
+ <ref name="bibliodiv.attlist"/>
+ <optional>
+ <ref name="sect.title.content"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="component.mix"/>
+ </zeroOrMore>
+ <oneOrMore>
+ <choice>
+ <ref name="biblioentry"/>
+ <ref name="bibliomixed"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="bibliodiv.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="bibliodiv.role.attrib"/>
+ </define>
+ <define name="glossary.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="glossary">
+ <element name="glossary">
+ <ref name="glossary.attlist"/>
+ <zeroOrMore>
+ <ref name="glossaryinfo"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="bookcomponent.title.content"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="component.mix"/>
+ </zeroOrMore>
+ <choice>
+ <oneOrMore>
+ <ref name="glossdiv"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="glossentry"/>
+ </oneOrMore>
+ </choice>
+ <optional>
+ <ref name="bibliography"/>
+ </optional>
+ </element>
+ </define>
+ <define name="glossary.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="glossary.role.attrib"/>
+ </define>
+ <define name="glossdiv.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="glossdiv">
+ <element name="glossdiv">
+ <ref name="glossdiv.attlist"/>
+ <optional>
+ <ref name="sect.title.content"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="component.mix"/>
+ </zeroOrMore>
+ <oneOrMore>
+ <ref name="glossentry"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="glossdiv.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="glossdiv.role.attrib"/>
+ </define>
+ <define name="indexes.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="index">
+ <element name="index">
+ <ref name="index.attlist"/>
+ <zeroOrMore>
+ <ref name="indexinfo"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="bookcomponent.title.content"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="component.mix"/>
+ </zeroOrMore>
+ <choice>
+ <oneOrMore>
+ <ref name="indexdiv"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="indexentry"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="index.attlist">
+ <ref name="common.attrib"/>
+ <ref name="indexes.role.attrib"/>
+ </define>
+ <define name="setindex">
+ <element name="setindex">
+ <ref name="setindex.attlist"/>
+ <zeroOrMore>
+ <ref name="setindexinfo"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="bookcomponent.title.content"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="component.mix"/>
+ </zeroOrMore>
+ <choice>
+ <oneOrMore>
+ <ref name="indexdiv"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="indexentry"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="setindex.attlist">
+ <ref name="common.attrib"/>
+ <ref name="indexes.role.attrib"/>
+ </define>
+ <define name="indexdiv.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="indexdiv">
+ <element name="indexdiv">
+ <ref name="indexdiv.attlist"/>
+ <optional>
+ <ref name="sect.title.content"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="indexdivcomponent.mix"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="indexentry"/>
+ </zeroOrMore>
+ <ref name="segmentedlist"/>
+ </element>
+ </define>
+ <define name="indexdiv.attlist">
+ <ref name="common.attrib"/>
+ <ref name="indexdiv.role.attrib"/>
+ </define>
+ <define name="indexentry.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="indexentry">
+ <element name="indexentry">
+ <ref name="indexentry.attlist"/>
+ <ref name="primaryie"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="seeie"/>
+ <ref name="seealsoie"/>
+ </choice>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="secondaryie"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="seeie"/>
+ <ref name="seealsoie"/>
+ <ref name="tertiaryie"/>
+ </choice>
+ </zeroOrMore>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="indexentry.attlist">
+ <ref name="common.attrib"/>
+ <ref name="indexentry.role.attrib"/>
+ </define>
+ <define name="primsecterie.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="primaryie">
+ <element name="primaryie">
+ <ref name="primaryie.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="ndxterm.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="primaryie.attlist">
+ <ref name="linkends.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="primsecterie.role.attrib"/>
+ </define>
+ <define name="secondaryie">
+ <element name="secondaryie">
+ <ref name="secondaryie.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="ndxterm.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="secondaryie.attlist">
+ <ref name="linkends.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="primsecterie.role.attrib"/>
+ </define>
+ <define name="tertiaryie">
+ <element name="tertiaryie">
+ <ref name="tertiaryie.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="ndxterm.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="tertiaryie.attlist">
+ <ref name="linkends.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="primsecterie.role.attrib"/>
+ </define>
+ <define name="seeie.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="seeie">
+ <element name="seeie">
+ <ref name="seeie.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="ndxterm.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="seeie.attlist">
+ <ref name="linkend.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="seeie.role.attrib"/>
+ </define>
+ <define name="seealsoie.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="seealsoie">
+ <element name="seealsoie">
+ <ref name="seealsoie.attlist"/>
+ <zeroOrMore>
+ <ref name="ndxterm.char.mix"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="seealsoie.attlist">
+ <ref name="linkends.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="seealsoie.role.attrib"/>
+ </define>
+ <define name="refentry.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refentry">
+ <element name="refentry">
+ <ref name="refentry.attlist"/>
+ <zeroOrMore>
+ <ref name="ndxterm.class"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="refentryinfo"/>
+ </optional>
+ <optional>
+ <ref name="refmeta"/>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="remark"/>
+ <ref name="link.char.class"/>
+ </choice>
+ </zeroOrMore>
+ <ref name="refnamediv"/>
+ <optional>
+ <ref name="refsynopsisdiv"/>
+ </optional>
+ <oneOrMore>
+ <ref name="refsect1"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="refentry.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="refentry.role.attrib"/>
+ </define>
+ <define name="refmeta.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refmeta">
+ <element name="refmeta">
+ <ref name="refmeta.attlist"/>
+ <zeroOrMore>
+ <ref name="ndxterm.class"/>
+ </zeroOrMore>
+ <ref name="refentrytitle"/>
+ <optional>
+ <ref name="manvolnum"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="refmiscinfo"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ndxterm.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="refmeta.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refmeta.role.attrib"/>
+ </define>
+ <define name="refmiscinfo.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refmiscinfo">
+ <element name="refmiscinfo">
+ <ref name="refmiscinfo.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="docinfo.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="refmiscinfo.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refmiscinfo.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="refnamediv.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refnamediv">
+ <element name="refnamediv">
+ <ref name="refnamediv.attlist"/>
+ <optional>
+ <ref name="refdescriptor"/>
+ </optional>
+ <oneOrMore>
+ <ref name="refname"/>
+ </oneOrMore>
+ <ref name="refpurpose"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="remark"/>
+ <ref name="link.char.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="refnamediv.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refnamediv.role.attrib"/>
+ </define>
+ <define name="refdescriptor.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refdescriptor">
+ <element name="refdescriptor">
+ <ref name="refdescriptor.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="refname.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="refdescriptor.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refdescriptor.role.attrib"/>
+ </define>
+ <define name="refname.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refname">
+ <element name="refname">
+ <ref name="refname.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="refname.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="refname.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refname.role.attrib"/>
+ </define>
+ <define name="refpurpose.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refpurpose">
+ <element name="refpurpose">
+ <ref name="refpurpose.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="refinline.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="refpurpose.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refpurpose.role.attrib"/>
+ </define>
+ <define name="refclass.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refclass">
+ <element name="refclass">
+ <ref name="refclass.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <ref name="refclass.char.mix"/>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="refclass.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refclass.role.attrib"/>
+ </define>
+ <define name="refsynopsisdiv.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refsynopsisdiv">
+ <element name="refsynopsisdiv">
+ <ref name="refsynopsisdiv.attlist"/>
+ <optional>
+ <ref name="refsynopsisdivinfo"/>
+ </optional>
+ <optional>
+ <ref name="refsect.title.content"/>
+ </optional>
+ <choice>
+ <group>
+ <oneOrMore>
+ <ref name="refcomponent.mix"/>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="refsect2"/>
+ </zeroOrMore>
+ </group>
+ <oneOrMore>
+ <ref name="refsect2"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="refsynopsisdiv.attlist">
+ <ref name="common.attrib"/>
+ <ref name="refsynopsisdiv.role.attrib"/>
+ </define>
+ <define name="refsect1.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refsect1">
+ <element name="refsect1">
+ <ref name="refsect1.attlist"/>
+ <optional>
+ <ref name="refsect1info"/>
+ </optional>
+ <ref name="refsect.title.content"/>
+ <choice>
+ <group>
+ <oneOrMore>
+ <ref name="refcomponent.mix"/>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="refsect2"/>
+ </zeroOrMore>
+ </group>
+ <oneOrMore>
+ <ref name="refsect2"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="refsect1.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="refsect1.role.attrib"/>
+ </define>
+ <define name="refsect2.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refsect2">
+ <element name="refsect2">
+ <ref name="refsect2.attlist"/>
+ <optional>
+ <ref name="refsect2info"/>
+ </optional>
+ <ref name="refsect.title.content"/>
+ <choice>
+ <group>
+ <oneOrMore>
+ <ref name="refcomponent.mix"/>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="refsect3"/>
+ </zeroOrMore>
+ </group>
+ <oneOrMore>
+ <ref name="refsect3"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="refsect2.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="refsect2.role.attrib"/>
+ </define>
+ <define name="refsect3.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="refsect3">
+ <element name="refsect3">
+ <ref name="refsect3.attlist"/>
+ <optional>
+ <ref name="refsect3info"/>
+ </optional>
+ <ref name="refsect.title.content"/>
+ <oneOrMore>
+ <ref name="refcomponent.mix"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="refsect3.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="refsect3.role.attrib"/>
+ </define>
+ <define name="article.role.attrib">
+ <ref name="role.attrib"/>
+ </define>
+ <define name="article">
+ <element name="article">
+ <ref name="article.attlist"/>
+ <optional>
+ <ref name="div.title.content"/>
+ </optional>
+ <optional>
+ <ref name="articleinfo"/>
+ </optional>
+ <optional>
+ <ref name="tocchap"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="lot"/>
+ </zeroOrMore>
+ <ref name="bookcomponent.content"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="nav.class"/>
+ <ref name="appendix.class"/>
+ <ref name="ackno"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="article.attlist">
+ <ref name="status.attrib"/>
+ <ref name="common.attrib"/>
+ <ref name="article.role.attrib"/>
+ <optional>
+ <attribute name="class">
+ <choice>
+ <value>journalarticle</value>
+ <value>productsheet</value>
+ <value>whitepaper</value>
+ <value>techreport</value>
+ <value>specification</value>
+ <value>faq</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="parentbook">
+ <data type="IDREF"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="table.att">
+ <empty/>
+ </define>
+ <define name="tgroup.att">
+ <empty/>
+ </define>
+ <define name="colspec.att">
+ <empty/>
+ </define>
+ <define name="thead.att">
+ <empty/>
+ </define>
+ <define name="tbody.att">
+ <empty/>
+ </define>
+ <define name="row.att">
+ <empty/>
+ </define>
+ <define name="entry.att">
+ <empty/>
+ </define>
+ <define name="table">
+ <element name="table">
+ <ref name="table.attlist"/>
+ <ref name="formalobject.title.content"/>
+ <optional>
+ <ref name="ndxterm.class"/>
+ </optional>
+ <choice>
+ <oneOrMore>
+ <ref name="graphic"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="mediaobject"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="tgroup"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="table.attlist">
+ <ref name="table.att"/>
+ <optional>
+ <attribute name="frame">
+ <choice>
+ <value>top</value>
+ <value>bottom</value>
+ <value>topbot</value>
+ <value>all</value>
+ <value>sides</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="colsep">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowsep">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="informaltable">
+ <element name="informaltable">
+ <ref name="informaltable.attlist"/>
+ <choice>
+ <oneOrMore>
+ <ref name="graphic"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="mediaobject"/>
+ </oneOrMore>
+ <oneOrMore>
+ <ref name="tgroup"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="informaltable.attlist">
+ <ref name="table.att"/>
+ <optional>
+ <attribute name="frame">
+ <choice>
+ <value>top</value>
+ <value>bottom</value>
+ <value>topbot</value>
+ <value>all</value>
+ <value>sides</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="colsep">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowsep">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="tgroup">
+ <element name="tgroup">
+ <ref name="tgroup.attlist"/>
+ <zeroOrMore>
+ <ref name="colspec"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="thead"/>
+ </optional>
+ <ref name="tbody"/>
+ </element>
+ </define>
+ <define name="tgroup.attlist">
+ <ref name="tgroup.att"/>
+ <attribute name="cols">
+ <data type="integer"/>
+ </attribute>
+ <optional>
+ <attribute name="colsep">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowsep">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ <value>justify</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="colspec">
+ <element name="colspec">
+ <ref name="colspec.attlist"/>
+ </element>
+ </define>
+ <define name="colspec.attlist">
+ <ref name="colspec.att"/>
+ <optional>
+ <attribute name="colnum">
+ <data type="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="colname">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="colwidth">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="colsep">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowsep">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ <value>justify</value>
+ <value>char</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="char">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="charoff">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="thead">
+ <element name="thead">
+ <ref name="thead.attlist"/>
+ <oneOrMore>
+ <ref name="row"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="thead.attlist">
+ <ref name="thead.att"/>
+ <optional>
+ <attribute name="valign">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="tbody">
+ <element name="tbody">
+ <ref name="tbody.attlist"/>
+ <oneOrMore>
+ <ref name="row"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="tbody.attlist">
+ <ref name="tbody.att"/>
+ <optional>
+ <attribute name="valign">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="row">
+ <element name="row">
+ <ref name="row.attlist"/>
+ <oneOrMore>
+ <ref name="entry"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="row.attlist">
+ <ref name="row.att"/>
+ <optional>
+ <attribute name="rowsep">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="valign">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="entry">
+ <element name="entry">
+ <ref name="entry.attlist"/>
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <ref name="para.char.mix"/>
+ <ref name="tabentry.mix"/>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ </element>
+ </define>
+ <define name="entry.attlist">
+ <ref name="entry.att"/>
+ <optional>
+ <attribute name="colname">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="namest">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="nameend">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="morerows">
+ <data type="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="colsep">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowsep">
+ <choice>
+ <value>0</value>
+ <value>1</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ <value>justify</value>
+ <value>char</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="char">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="charoff">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="valign">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/docbook_0.xml b/libxml2/test/relaxng/docbook_0.xml
new file mode 100644
index 0000000..ede051d
--- /dev/null
+++ b/libxml2/test/relaxng/docbook_0.xml
@@ -0,0 +1,4448 @@
+<?xml version="1.0"?>
+<!DOCTYPE article [
+<!ENTITY version "1.0.53">
+<!ENTITY mdash "--">
+<!ENTITY hellip "...">
+<!ENTITY copy "&#x00A9;"> <!-- COPYRIGHT SIGN -->
+ <!-- replace version above with actual application version number-->
+ <!-- Template Version: 1.0.1 (do not remove this line) -->
+
+
+
+<!ENTITY APPLET-TEMPLATE-1x-SHELL SYSTEM
+"templates/applet_template_1-applet.sgml.cdata">
+<!ENTITY APPLET-TEMPLATE-1x SYSTEM
+"templates/applet_template_1.sgml.cdata">
+]>
+
+<!-- Version: 1.0.1 -->
+
+<article id="index">
+ <articleinfo>
+
+ <authorgroup>
+
+ <author>
+ <firstname>David</firstname>
+ <surname>Mason</surname>
+ <affiliation>
+ <orgname>Red Hat, Inc.</orgname>
+ <address>
+ <email>dcm@redhat.com</email>
+ </address>
+ </affiliation>
+ </author>
+
+ <author>
+ <firstname>Daniel</firstname>
+ <surname>Mueth</surname>
+ <affiliation>
+ <address>
+ <email>d-mueth@uchicago.edu</email>
+ </address>
+ </affiliation>
+ </author>
+
+ <author>
+ <firstname>Alexander</firstname>
+ <surname>Kirillov</surname>
+ <affiliation>
+ <address>
+ <email>kirillov@math.sunysb.edu</email>
+ </address>
+ </affiliation>
+ </author>
+
+ </authorgroup>
+
+ <releaseinfo>
+ This is a pre-release!
+ </releaseinfo>
+
+ <revhistory>
+ <revision>
+ <revnumber>
+ 0.99
+ </revnumber>
+ <date>
+ 04.10.2000
+ </date>
+ </revision>
+ </revhistory>
+
+ <copyright>
+ <year>2000</year>
+ <holder>Red Hat, Inc., Daniel Mueth, and Alexander Kirillov</holder>
+ </copyright>
+
+ <legalnotice>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the <citetitle>GNU Free Documentation
+ License</citetitle>, Version 1.1 or any later version published
+ by the Free Software Foundation with no Invariant Sections, no
+ Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy
+ of the <citetitle>GNU Free Documentation License</citetitle> from
+ the Free Software Foundation by visiting <ulink type="http"
+ url="http://www.fsf.org">their Web site</ulink> or by writing to:
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+ </para>
+ <para>
+ Many of the names used by companies to distinguish their products and
+ services are claimed as trademarks. Where those names appear in any
+ GNOME documentation, and those trademarks are made aware to the members
+ of the GNOME Documentation Project, the names have been printed in caps
+ or initial caps.
+ </para>
+ </legalnotice>
+
+ <title>The GNOME Handbook of Writing Software Documentation</title>
+
+ </articleinfo>
+
+ <!-- ################# Introduction ############### -->
+
+ <sect1 id="intro">
+ <title>Introduction</title>
+
+ <!-- ####### Introduction | The GNOME Documentation Project ####### -->
+
+ <sect2 id="gdp">
+ <title>The GNOME Documentation Project</title>
+
+ <sect3 id="goals">
+ <title>Goals</title>
+ <para>
+ The GNOME Documentation Project (GDP) aims to provide GNOME
+ and GNOME applications with a complete, intuitive, and clear
+ documentation system. At the center of the GDP is the
+ <application>GNOME Help Browser</application>, which
+ presents a unified interface to GNOME-specific documentation
+ as well as other Linux documentation such as man pages and
+ texinfo documents. The GNOME Help System provides a
+ comprehensive view of documentation on a machine by
+ dynamically assembling the documentation of GNOME
+ applications and components which are installed. The GDP is
+ responsible for writing numerous GNOME-related documents,
+ both for developers and for users. Developer documentation
+ includes <ulink url="http://developer.gnome.org/doc/API/"
+ type="http">APIs for the GNOME libraries</ulink>, <ulink
+ url="http://developer.gnome.org/doc/whitepapers/"
+ type="http"><citetitle>GNOME White
+ Papers</citetitle></ulink>, GNOME developer <ulink
+ url="http://developer.gnome.org/doc/tutorials/"
+ type="http">tutorials</ulink>, the <ulink
+ url="http://developer.gnome.org/doc/FAQ/"
+ type="http"><citetitle>GNOME Developer
+ FAQ</citetitle></ulink>, the <ulink
+ url="http://developer.gnome.org" type="http">GNOME
+ Developer's Website</ulink>, and <citetitle>GNOME
+ Handbook</citetitle>'s, such as the one you are reading.
+ User documentation include the <ulink
+ url="http://www.gnome.org/learn/"
+ type="http"><citetitle>GNOME User's
+ Guide</citetitle></ulink>, the <ulink
+ url="http://www.gnome.org/learn/"
+ type="http"><citetitle>GNOME FAQ</citetitle></ulink>, and
+ GNOME application documentation. Most GNOME applications
+ have their own manual in addition to context sensitive help.
+ </para>
+ </sect3>
+
+ <sect3 id="joining">
+ <title>Joining the GDP</title>
+ <para>
+ Documenting GNOME and all the numerous GNOME applications is
+ a very large project. The GDP is always looking for people
+ to help write, update, and edit documentation. If you are
+ interested in joining the GDP team, you should join the
+ <ulink url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
+ <citetitle>gnome-doc-list mailing list</citetitle> </ulink>.
+ Read <xref linkend="gettingstarted" />, for help selecting a
+ project to work on. Feel free to introduce yourself on the
+ gnome-doc-list mailing list and indicate which project you
+ intend to work on, or else ask for suggestions of important
+ documents which need work done. You may also want to join the
+ #docs IRC channel on irc.gnome.org to meet other GDP members
+ and discuss any questions you may have. For a list of GDP
+ projects and members, see the
+ <ulink url="http://developer.gnome.org/projects/gdp">
+ <citetitle>GDP Website</citetitle></ulink>.
+ </para>
+ </sect3>
+
+ <sect3 id="collaborating">
+ <title>Collaborating with the GDP</title>
+ <para>
+ GNOME developers, packagers, and translators may not be
+ writing GNOME documentation but will want to understand how
+ the GNOME documentation system works and will need to
+ collaborate with GDP members. This document should help to
+ outline the structure of how the GNOME documentation system
+ works. Developers who do not write the documentation for
+ their applications are encouraged to find a GDP member to
+ write the documentation. This is best done by sending an
+ email to the <ulink
+ url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
+ <citetitle>gnome-doc-list mailing list</citetitle> </ulink>
+ describing the application, where it can be downloaded from,
+ and that the developer(s) would like a GDP member to write
+ documentation for the application. The #docs IRC channel on
+ irc.gnome.org is another option for contacting GDP members.
+ </para>
+ </sect3>
+ </sect2>
+
+ <!-- ####### Introduction | Notation and Conventions ####### -->
+
+ <sect2 id="notation">
+ <title>Notation and Conventions</title>
+ <para>
+ This Handbook uses the following notation:
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>
+ <filename class="directory">/usr/bin</filename>
+ </entry>
+ <entry>
+ Directory
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <filename>foo.sgml</filename>
+ </entry>
+ <entry>
+ Filename
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command>command</command>
+ </entry>
+ <entry>
+ Command or text that would be typed.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <command><replaceable>replaceable</replaceable></command>
+ </entry>
+ <entry>
+ "Variable" text that can be replaced.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>Program or Doc Code</literal>
+ </entry>
+ <entry>Program or document code</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </sect2>
+
+ <!-- ####### Introduction | About This Handbook ####### -->
+
+ <sect2 id="about">
+ <title>About This Handbook</title>
+ <para>
+ This Handbook is a guide for both writing documentation for
+ GNOME components and applications and for properly binding and
+ packaging documentation into GNOME applications.
+ </para>
+ <para>
+ This Handbook, like all GNOME documentation, was written in
+ DocBook(SGML) and is available in several formats including
+ SGML, HTML, PostScript, and PDF. For the latest version, see
+ <ulink
+ url="http://developer.gnome.org/projects/gdp/handbook.html">
+ <citetitle>Getting The GNOME Handbook of Writing Software
+ Documentation</citetitle> </ulink>. Alternately, one may
+ download it anonymously from GNOME CVS under <filename
+ class="directory">gnome-docu/gdp</filename>.
+ </para>
+ </sect2>
+ </sect1>
+
+<!-- ################# Getting Started ############### -->
+
+ <sect1 id="gettingstarted">
+ <title>Getting Started Writing GNOME Documentation</title>
+
+<!--####### Getting Started | Selecting A Document ####### -->
+
+ <sect2 id="selecting">
+ <title>Selecting A Document</title>
+
+ <sect3 id="know">
+ <title>Document Something You Know</title>
+ <para>
+ The most frequently asked question of new contributors who
+ join the GDP is "which document should I start
+ with?". Because most people involved are volunteers, we do
+ not <emphasis>assign</emphasis> projects and applications to
+ write documents for. The first step is all yours - you must
+ decide what about GNOME interests you most and find out if
+ it has complete documents or not.
+ </para>
+ <para>
+ It is also important to spend some time with GNOME to make
+ sure you are familiar enough with it to be
+ <emphasis>authoritative</emphasis> in your writing. The
+ best way to do this is to just sit down and play with GNOME
+ as much as possible before starting to write.
+ </para>
+ <para>
+ The easiest way to get started is to improve existing
+ documentation. If you notice some inaccuracies or omissions
+ in the documentation, or you think that you can explain the
+ material more clearly, just send your suggestions to the
+ author of the original documentation or to the GNOME
+ documentation project at <email>docs@gnome.org</email>.
+ </para>
+ </sect3>
+
+ <sect3 id="doctable">
+ <title>The GNOME Documentation Status Table</title>
+ <para>
+ The <citetitle>GDP Documentation Status Table</citetitle>
+ (<citetitle>DocTable</citetitle>) (<ulink
+ url="http://www.gnome.org/gdp/doctable/"
+ type="http">http://www.gnome.org/gdp/doctable/</ulink>) is a
+ web page which tracks the status of all the various
+ documentation components of GNOME. These components include
+ application documentation, internal GNOME component
+ documentation, user documentation, and developer
+ documentation. For each documentation item, it tracks the
+ current status of the documentation, who is working on the
+ particular document, where the documentation can be found,
+ and provides a forum for the discussion of each item.
+ </para>
+ <para>
+ You should use the <citetitle>DocTable</citetitle> to help
+ you select a documentation item which needs work done. Once
+ you have selected an item to work on, please register
+ yourself as an author so that other authors do not duplicate
+ your work and may contact you to help or offer suggestions.
+ Also be sure to keep the status icons up-to-date so that
+ the GDP team can easily identify which items need additional
+ help. The <citetitle>DocTable</citetitle> also allows
+ people to make announcements and suggestions and to discuss
+ issues in the comments section.
+ </para>
+ <note>
+ <title>Note</title>
+ <para>
+ Note that the information in the
+ <citetitle>DocTable</citetitle> may not always be up-to-date
+ or accurate. When you assign yourself to documenting an
+ application, make sure you find out the latest status of
+ documentation by contacting the application author.
+ </para>
+ </note>
+ </sect3>
+ </sect2>
+
+<!-- ####### Getting Started | Installing And Using DocBook ####### -->
+
+ <sect2 id="docbook">
+ <title>Installing and Using DocBook</title>
+ <para>
+ All documentation for the GNOME project is written in SGML
+ using the DocBook DTD. There are many advantages to using
+ this for documentation, not least of which is the single
+ source nature of SGML. To contribute to the GDP you should
+ learn to use DocBook.
+ </para>
+ <note>
+ <title>NOTE</title>
+ <para>
+ To get started writing for the GDP you do not need to rush
+ out and learn DocBook - if you feel it is too much to handle
+ for now, you can submit plain ASCII text to the <ulink
+ url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
+ <citetitle>gnome-doc-list mailing list</citetitle>
+ </ulink>and a volunteer will mark it up for you. Seeing your
+ document marked up will also be a great way for you to start
+ learning DocBook.
+ </para>
+ </note>
+ <sect3 id="installingdocbook">
+ <title>Installing DocBook</title>
+ <para>
+ Download and install the following <ulink
+ url="ftp://sourceware.cygnus.com:/pub/docbook-tools/"
+ type="ftp">DocBook Tools packages</ulink>: jade, docbook,
+ jadetex, sgml-common, and stylesheets. (RPM users should note
+ that jade is platform dependent (eg. i386), while the other packages
+ are in the <filename class="directory">noarch</filename>
+ directory.) You can find more
+ information on DocBook Tools <ulink url="
+ http://sourceware.cygnus.com/docbook-tools/"
+ type="http">here</ulink>.
+ </para>
+ <para>
+ If you are an <application>Emacs</application> user you may
+ want to grab the psgml package as well. This is a major mode
+ for editing sgml files in <application>Emacs</application>.
+ </para>
+ </sect3>
+
+ <sect3 id="gdpstylesheets">
+ <title>GDP Stylesheets</title>
+ <para>
+ The GDP uses its own DocBook stylesheets. To use the GDP
+ stylesheets, you should download the file
+ <filename>gdp-both.dsl</filename> from the <filename
+ class="directory">gnome-docu/gdp/dsssl</filename> module in
+ CVS (or from <ulink
+ url="http://developer.gnome.org/projects/gdp/stylesheets.html">
+ GDP Custom DSSSL Stylesheet</ulink>)and copy it
+<!-- into <filename
+ class="directory">/usr/lib/sgml/stylesheets</filename>. You
+ will need to point DocBook Tools to this stylesheet with the
+ <command><option>-d</option></command> option:
+ <command>db2html -d /usr/lib/sgml/stylesheets/gdp-both.dsl
+ <replaceable>foo.sgml</replaceable></command>. (Creating an
+ alias to include this option and path is convenient.)
+ Alternately, you could overwrite
+ <filename>/usr/lib/sgml/stylesheets/cygnus-both.dsl</filename>
+ with <filename>gdp-both.dsl</filename>.
+-->
+ over the file
+ <filename>/usr/lib/sgml/stylesheets/cygnus-both.dsl</filename>.
+ Alternately, you can download and install the
+ <ulink url="http://people.redhat.com/dcm/software.html"
+ type="http">gnome-doc-tools package</ulink> which will set
+ up the stylesheets as well as the DTD discussed below.
+ </para>
+
+<!-- <note>
+ <para>
+ The current version of the DocBook Tools command
+ <command>db2ps</command> does not have a
+ <command><option>-d</option></command> option. In order to
+ create PostScript output, you must overwrite
+ <filename>/usr/lib/sgml/stylesheets/cygnus-both.dsl</filename>
+ with <filename>gdp-both.dsl</filename>.
+ </para>
+ </note>
+-->
+ </sect3>
+
+ <sect3 id="gdpdtd">
+ <title>GDP DTD (PNG Image Support)</title>
+ <para>
+ Due to some license issues involved with the creation of
+ gifs, the GNOME Documentation Project has decided to use the
+ PNG image format for all images in GNOME documentation. You
+ can read more about the issues involved with gifs at <ulink
+ url="http://www.gnu.org/philosophy/gif.html"
+ type="http">http://www.gnu.org/philosophy/gif.html</ulink>.
+ </para>
+ <para>
+ The current DocBook DTD(3.1) does not include support for
+ embedding PNG images in your documents. Since the GDP uses
+ many screenshots in its documentation, we use our own
+ variation on the DocBook DTD which has PNG image support.
+ We encourage everybody to use this DTD instead of the
+ default DocBook DTD since your source document header and
+ your output document appearance subtly vary between the two
+ DTD's. To install the GDP custom DTD with PNG image support
+ by hand:
+ </para>
+ <itemizedlist mark="opencircle">
+ <listitem>
+ <para>
+ Download <ulink
+ url="http://www.labs.redhat.com/png/png-support.html">the
+ GDP DocBook DTD for PNG support</ulink> and install it
+ where you keep your DTD's. (On Red Hat use <filename
+ class="directory">/usr/lib/sgml/</filename>.) Note that
+ the 3.0 DTD is missing support for the
+ <sgmltag>&lt;legalnotice></sgmltag> tag, so it is
+ recommended that you use version 3.1
+ </para>
+ </listitem>
+ <listitem override="bullet">
+ <para>
+ Add the new DTD to your SGML CATALOG file. The location
+ of your SGML CATALOG file may vary depending upon your
+ distribution. (On Red Hat it is usually in
+ /usr/lib/sgml/CATALOG.) Add the following line to this
+ file:
+ <programlisting>
+PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.0//EN" "png-support-3.0.dtd"
+ </programlisting>
+ If you are using the 3.1 DTD, use:
+ <programlisting>
+PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN" "png-support-3.1.dtd"
+ </programlisting>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Alternately, you can download and install the
+ <ulink url="http://people.redhat.com/dcm/software.html"
+ type="http">gnome-doc-tools package</ulink> which will set
+ up the custom stylesheets and DTD for you.
+ </para>
+ <para>
+ To include PNG files in your documents, you will need to
+ indicate that you are using this special DTD. To do
+ this, use the following headers:
+ </para>
+ <para>
+ Articles:
+ <programlisting>
+<![CDATA[<!DOCTYPE Article PUBLIC "-//GNOME//DTD DocBook PNG Variant
+V1.1//EN"[]>]]>
+ </programlisting>
+ </para>
+ <para>
+ Books:
+ <programlisting>
+<![CDATA[<!DOCTYPE Book PUBLIC "-//GNOME//DTD DocBook PNG Variant
+V1.1//EN"[]>]]>
+ </programlisting>
+ </para>
+
+ </sect3>
+
+ <sect3 id="editors">
+ <title>Editors</title>
+ <para>
+ There are many editors on Linux and UNIX systems available
+ to you. Which editor you use to work on the sgml documents
+ is completely up to you, as long as the editor is able to
+ preserve sgml and produce the source in a format that is
+ readable by everyone.
+ </para>
+ <para>
+ Probably the two most popular editors available are
+ <application>Emacs</application> and
+ <application>vi</application>. These and other editors are
+ used regularly by members of the GDP. Emacs has a major
+ mode, psgml, for editing sgml files which can save you time
+ and effort in adding and closing tags. You will find the
+ psgml package in DocBook Tools, which is the standard set of
+ tools for the GDP. You may find out more about DocBook Tools
+ in <xref linkend="installingdocbook" />.
+ </para>
+ </sect3>
+
+ <sect3 id="make-output">
+ <title>Creating Something Useful with your Docs</title>
+ <para>
+ The tools available in DocBook Tools allow you to convert
+ your sgml document to many different formats including html
+ and Postscript. The primary tool used to do the conversion
+ is an application called <application>Jade</application>. In
+ most cases you will not have to work directly with
+ <application>Jade</application>; Instead, you will use the
+ scripts provided by DocBook Tools.
+ </para>
+ <para>
+ To preview your DocBook document, it is easiest to convert
+ it to <filename>html</filename>. If you have installed the
+ DocBook tools described above, all you have to do is to run
+ the command <prompt>$</prompt><command>db2html
+ mydocument.sgml</command>. If there are no sgml syntax
+ errors, this will create a directory <filename
+ class="directory">mydocument</filename> and place the
+ resulting html files in it. The title page of the document
+ will typically be
+ <filename>mydocument/index.html</filename>. If you have
+ screenshots in your document, you will have to copy these
+ files into the <filename
+ class="directory">mydocument</filename> directory by
+ hand. You can use any web browser to view your document.
+ Note that every time you run <command>db2html</command>, it
+ creates the <filename
+ class="directory">mydocument</filename> directory over, so
+ you will have to copy the screenshots over each time.
+ </para>
+ <para>
+ You can also convert your document to PostScript by running
+ the command <prompt>$</prompt><command>db2ps
+ mydocument.sgml</command>, after which you can print out or
+ view the resulting .ps file.
+ </para>
+ <note>
+ <title>NOTE</title>
+ <para>
+ The html files you get will not look quite the same as the
+ documentation distributed with GNOME unless you have the
+ custom stylesheets installed on your machine. DocBook
+ Tools' default stylesheets will produce a different look
+ to your docs. You can read more about the GDP stylesheets
+ in <xref linkend="gdpstylesheets" />.
+ </para>
+ </note>
+ </sect3>
+
+ <sect3 id="jadeimages">
+ <title>Images in DocBook Tools</title>
+ <para>
+ If your document uses images you will need to take note of a
+ few things that should take place in order for you to make
+ use of those images in your output.
+ </para>
+ <para>
+ The DocBook Tools scripts and applications are smart enough
+ to know that when you are creating html you will be using
+ PNG files and when you are creating Postscript you will be
+ using EPS files (you must use EPS with Postscript).
+ </para>
+ <para>
+ Thus, you should never explicitly
+ include the extension of the image file, since DocBook
+ Tools will automatically insert it for you. For example:
+ </para>
+ <programlisting>
+<![CDATA[
+<figure>
+ <title>My Image</title>
+ <screenshot>
+ <screeninfo>Sample GNOME Display</screeninfo>
+ <graphic format="png" fileref="myfile" srccredit="me">
+ </graphic>
+ </screenshot>
+</figure>
+]]> </programlisting>
+ <para>
+ You will notice in this example that the file
+ <filename>myfile.png</filename> was referred to as simply
+ <filename>myfile</filename>. Now when you run
+ <command>db2html</command> to create an html file, it will
+ automatically look for <filename>myfile.png</filename> in
+ the directory.
+ </para>
+ <para>
+ If you want to create PostScript ouput, you will need to create an
+ EPS version of your image file to be displayed in the
+ PostScript file. There is a simple script available which
+ allows you to change a PNG image into an EPS file
+ easily. You can download this file - img2eps - from <ulink
+ url="http://people.redhat.com/dcm/sgml.html"
+ type="html">http://people.redhat.com/dcm/sgml.html</ulink>
+ (look for the img2eps section). Note that this script is
+ included in the gnome-doc-tools package, so if you are using
+ this package, you should already have
+ <command>img2eps</command> on you system.
+ </para>
+ </sect3>
+
+ <sect3 id="moredocbookinfo">
+ <title>Learning DocBook</title>
+ <para>
+ There are many resources available to help you learn DocBook.
+ The following resources on the web are useful for learning
+ DocBook:
+ </para>
+ <itemizedlist mark="bullet">
+ <listitem>
+ <para>
+ <ulink url="http://www.docbook.org"
+ type="http">http://www.docbook.org</ulink> - Norman
+ Walsh's <citetitle>DocBook: The Definitive
+ Guide</citetitle>. Online O'Reilly book on using
+ DocBook. Contains an excellent element reference. May be
+ too formal for a beginner.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ulink
+ url="http://www.oswg.org/oswg-nightly/oswg/en_US.ISO_8859-1/articles/DocBook-Intro/docbook-intro/index.html"
+ type="http">A Practical Introduction to DocBook</ulink>
+ - The Open Source Writers Group's introduction to using
+ DocBook. This is an excellent HOW-TO type article on
+ getting started.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ulink
+ url="http://nis-www.lanl.gov/~rosalia/mydocs/docbook-intro/docbook-intro.html"
+ type="http">Getting Going with DocBook: Notes for
+ Hackers</ulink> - Mark Galassi's introduction to DocBook
+ for hackers. This has to be one of the first
+ introductions to DocBook ever - still as good as it ever
+ was.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ulink type="http" url="http://www.freebsd.org/tutorials/docproj-primer/">
+ FreeBSD Documentation Project Primer for New
+ Contributors</ulink> - FreeBSD documentation project
+ primer. Chapter 4.2 provides a very good introduction to
+ writing documentation using DocBook. Note that it also
+ describes some custom extensions of DocBook;
+ fortunately, they are clearly marked as such.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Norman Walsh's book is also available in print.
+ </para>
+ <para>
+ The following sections of this document are designed to help
+ documentation authors write correct and consistent DocBook:
+ </para>
+ <itemizedlist mark="bullet">
+ <listitem>
+ <para>
+ <xref linkend="docbookbasics" /> - Descriptions of
+ commonly used DocBook tags.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ You may also discuss specific DocBook questions with GDP
+ members on the #docs IRC channel at irc.gnome.org and on the
+ gnome-doc-list mailing list.
+ </para>
+ </sect3>
+ </sect2>
+
+<!-- ####### Getting Started | GDP Document Examples ####### -->
+<!--
+ <sect2 id="examples">
+ <title>GDP Document Examples</title>
+ <para>
+ Examples of various types of GNOME documents are found in
+ <xref linkend="examples" />. There is also an example GNOME
+ application with documentation called
+ <application>gnome-hello</application> in GNOME cvs.
+ </para>
+ </sect2>
+-->
+<!-- ####### Getting Started | GDP Document Templates ####### -->
+
+ <sect2 id="gdptemplates">
+ <title>GDP Document Templates</title>
+ <para>
+ Templates for various types of GNOME documents are found in
+ <xref linkend="templates" />. They are kept in CVS in
+ gnome-docu/gdp/templates. The easiest source to get them from
+ is probably the <ulink
+ url="http://developer.gnome.org/projects/gdp/templates.html"
+ type="http">GDP
+ Document Templates</ulink> web page, which is typically kept
+ completely up-to-date with CVS and has a basic description of
+ each file from CVS.
+ </para>
+ </sect2>
+
+<!-- ####### Getting Started | Screenshots ####### -->
+
+ <sect2 id="screenshots">
+ <title>Screenshots</title>
+ <para>
+ Most GNOME documents will have screenshots of the particular
+ applet, application, GNOME component, or widget being
+ discussed. As discussed above in <xref linkend="gdpdtd"/> you
+ will need to install the special GDP DocBook DTD which
+ supports PNG images, the format used for all images in GNOME
+ documentation. For the basic DocBook structure used to insert
+ images in a document, see <xref linkend="jadeimages"/> above.
+ </para>
+ <sect3 id="screenshotappearance">
+ <title>Screenshot Appearance</title>
+ <para>
+ For all screenshots of windows that typically have border
+ decorations (e.g. applications and dialogs, but not applets
+ in a <interface>panel</interface>), GDP standards dictate
+ the appearance of the window. (This is to minimize possible
+ confusion to the reader, improve the appearance of GNOME
+ documents, and guarantee the screenshot is readable when
+ printed.) All screenshots should be taken with the SawFish
+ (formerly known as Sawmill) window manager using the
+ MicroGui theme and Helvetica 12pt font. (A different window
+ manager can be used provided the MicroGui theme is available
+ for this window manager and the appearance is identical to
+ that when using the SawFish window manager.) The default
+ GTK+ theme(gtk) and font (Helvetica 12 pt) should be used
+ for all screenshots. If you are unable to provide
+ screenshots in this form, you should create screenshots as
+ you wish them to appear and send them to the
+ <ulink url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
+ <citetitle>gnome-doc-list mailing list</citetitle> </ulink>
+ requesting a GDP member reproduce these screenshots in the
+ correct format and email them to you.
+ </para>
+ </sect3>
+ <sect3 id="screenshottools">
+ <title>Screenshot Tools</title>
+ <para>
+ There are many tools for taking screenshots in
+ GNOME/Linux. Perhaps the most convenient is the
+ <application>Screen-Shooter Applet</application>. Just click
+ on the window icon in the applet and then on the window you
+ would like to take a screenshot of. (Note that
+ at the time of this writing, PNG images taken by
+ screenshooter do not appear properly in
+ <application>Netscape</application> or the
+ <application>GNOME Help Browser</application>. You
+ should save your screenshot as a GIF and
+ then use <command>convert filename.gif
+ filename.png</command>.) For applets
+ in a <interface>Panel</interface>,
+ <application>xv</application> can be used to crop the
+ screenshot to only include the relevant portion of the
+ <interface>Panel</interface>. Note that
+ <application>xv</application> and
+ <application>gimp</application> can both be used for taking
+ screenshots, cropping screenshots, and converting image
+ formats.
+ </para>
+ </sect3>
+ <sect3 id="screenshotfiles">
+ <title>Screenshot Files</title>
+ <para>
+ Screenshots should be kept in the main documentation
+ directory with your SGML file for applets, or should be
+ kept in a directory called "figs" for application and other
+ documentation. After you use <command>db2html</command> to
+ convert your SGML file to HTML (see <xref
+ linkend="make-output"/>), you will need to copy your
+ screenshots (either the individual PNG files for applet
+ documentation, or the whole "figs" directory for other
+ documentation) into the newly created HTML directory. Note
+ that every time you use <command>db2html</command> the HTML
+ directory is erased and rewritten, so do not store your only
+ copy of the screenshots in that directory. If you wish to
+ create PostScript or PDF output, you will need to manually
+ convert the PNG images to EPS as described in <xref
+ linkend="jadeimages"/>, but will not need to copy these
+ images from their default location, as they are included
+ directly into the output(PostScript of PDF) file.
+ </para>
+ </sect3>
+ </sect2>
+
+
+<!-- ####### Getting Started | Application Bugs ####### -->
+
+ <sect2 id="applicationbugs">
+ <title>Application Bugs</title>
+ <para>
+ Documentation authors tend to investigate and test applets and
+ applications more thoroughly than most
+ users. Often documentation authors will discover one or
+ more bugs in the software. These bugs vary from small ones,
+ such as mis-spelled words or missing
+ <interface>About</interface> dialogs in the menu, to large
+ ones which cause the applet to crash. As all users, you
+ should be sure to report these bugs so that application
+ developers know of them and can fix them. The easiest way to
+ submit a bug report is by using the <application>Bug
+ Buddy</application> applet which is part of the gnome-applets
+ package.
+ </para>
+ </sect2>
+
+
+<!-- ####### Getting Started | Using CVS ####### -->
+
+ <sect2 id="cvs">
+ <title>Using CVS</title>
+ <para>
+ CVS (Concurrent Versions System) is a tool that allows
+ multiple developers to concurrently work on a set of
+ documents, keeping track of the modifications made by each
+ person. The files are stored on a server and each developer
+ checks files out, modifies them, and then checks in their
+ modified version of the files. Many GNOME programs and
+ documents are stored in CVS. The GNOME CVS server allows
+ users to anonymously check out CVS files. Most GDP members
+ will need to use anonymous CVS to download the most up-to-date
+ version of documentation or programs. Modified documents will
+ typically be emailed to the the application developer. Core
+ GDP members may also be granted login CVS privileges so they
+ may commit modified files directly to CVS.
+ </para>
+
+ <sect3 id="anonymouscvs">
+ <title>Anonymous CVS</title>
+ <para>
+ To anonymously check out documents from CVS, you must first
+ log in. From the bash shell, you should set your CVSROOT
+ shell variable with <command> export
+ CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome'</command>
+ and then login with <command>cvs login</command>(there is no
+ password, just hit return). As an example, we will use the
+ "gnome-docu/gdp" module which contains this and several
+ other documents. To check these documents out for the first
+ time, type <command>cvs -z3 checkout
+ gnome-docu/gdp</command>. After you have this document
+ checked out and you would like to download any updates on
+ the CVS server, use <command>cvs -z3 update -Pd</command>.
+ </para>
+ </sect3>
+
+ <sect3 id="logincvs">
+ <title>Login CVS</title> <para> If you have been given a
+ login for the GNOME CVS server, you may commit your file
+ modifications to CVS. Be sure to read the following section
+ on CVS etiquette before making any commits to CVS. To log in
+ to the CVS server as user
+ <command><replaceable>username</replaceable></command> with a
+ password, you must first set your CVSROOT shell variable with
+ <command> export
+ CVSROOT=':pserver:<replaceable>username</replaceable>@cvs.gnome.org:/cvs/gnome'</command>.
+ Log in with <command>cvs login</command> and enter your
+ password. You may check out and update modules as described
+ above for anonymous CVS access. As a login CVS user, you may
+ also check modified versions of a file into the CVS server.
+ To check
+ <command><replaceable>filename</replaceable></command> into
+ the CVS server, type <command>cvs -z3 commit
+ <replaceable>filename</replaceable></command>. You will be
+ given a vi editor window to type in a brief log entry,
+ summarizing your changes. The default editor can be changed
+ using the <varname>EDITOR</varname> environment variable or
+ with the <command><option>-e</option></command> option. You
+ may also check in any modifications to files in the working
+ directory and subdirectories using <command>cvs -z3
+ commit</command>. To
+ add a new file to the CVS server, use <command>cvs -z3 add
+ <replaceable>filename</replaceable></command>, followed by the
+ commit command.
+ </para>
+ </sect3>
+
+ <sect3 id="cvsetiquette">
+ <title>CVS Etiquette</title>
+ <para>
+ Because files in CVS are typically used and modified by
+ multiple developers and documentation authors, users should
+ exercise a few simple practices out of courtesy towards the
+ other CVS users and the project leader. First, you should
+ not make CVS commits to a package without first discussing
+ your plans with the project leader. This way, the project
+ leader knows who is modifying the files and generally, what
+ sort of changes/development is being done. Also, whenever a
+ CVS user commits a file to CVS, they should make an entry in
+ the CVS log and in the <filename>ChangeLog</filename> so
+ that other users know who is making modifications and what
+ is being modified. When modifying files created by others,
+ you should follow the indentation scheme used by the initial
+ author.
+ </para>
+ </sect3>
+ </sect2>
+ </sect1>
+
+<!-- ################# The GNOME Documentation System###############
+-->
+
+ <sect1 id="gnomedocsystem">
+ <title>The GNOME Documentation System</title>
+
+<!-- ####### The GNOME Documentation System | The GNOME Help Browser
+####### -->
+
+ <sect2 id="gnomehelpbrowser">
+ <title>The GNOME Help Browser</title>
+ <para>
+ At the core of the GNOME help system is the <application>GNOME
+ Help Browser</application>. The <application>Help
+ Browser</application> provides a unified interface to several
+ distinct documentation systems on Linux/Unix systems: man
+ pages, texinfo pages, Linux Documentation Project(LDP)
+ documents, GNOME application documentation, and other GNOME
+ documents.
+ </para>
+ <para>
+ The <application>GNOME Help Browser</application> works by
+ searching standard directories for documents which are to be
+ presented. Thus, the documentation that appears in the GHB is
+ specific to each computer and will typically only represent
+ software that is installed on the computer.
+ </para>
+ </sect2>
+
+<!-- ####### The GNOME Documentation System | The GNOME Help Browser
+####### -->
+
+ <sect2 id="gnomehelpbrowser2">
+ <title>The GNOME Help Browser (GNOME-2.0)</title> <para> In
+ GNOME 2.0, the <application>GNOME Help Browser</application>
+ will be replaced by <application>Nautilus</application>.
+ Nautilus will be the file manager/graphical shell for GNOME 2.0
+ and will also implement a more sophisticated help system than
+ that used by the <application>GNOME Help Browser</application>
+ used in GNOME 1.0. It will read and display DocBook files
+ directly, avoiding the need for duplicating documents in both
+ DocBook and HTML formats. Its display engine for DocBook will
+ be much faster than running <application>jade</application> to
+ convert to HTML for rendering. Because it uses the original
+ DocBook source for documentation, it will be possible to do more
+ sophisticated searching using the meta information included in
+ the documents. And since Nautilus is a virtual file system
+ layer which is Internet-capable, it will be able to find and
+ display documents which are on the web as well as those on the
+ local file system. For more information on
+ <application>Nautilus</application>, visit the #nautilus IRC
+ channel on irc.gnome.org. </para>
+ </sect2>
+
+<!-- ####### The GNOME Documentation System | GNOME On-The-Fly
+Documentation Generation ####### -->
+
+ <sect2 id="gnomehelponthefly">
+ <title>Dynamic Document Synthesis(GNOME-2.0)</title>
+ <para>
+ GNOME uses the documentation presented by all the various
+ GNOME components and applications installed on the system to
+ present a complete and customized documentation environment
+ describing only components which are currently installed on a
+ users system. Some of this documentation, such as the manuals
+ for applets, will be combined in such a way that it appears to
+ be a single document.
+ </para>
+ <para>
+ By using such a system, you can be sure that any GNOME app you
+ install that has documentation will show up in the index,
+ table of contents, any search you do in the help browser.
+ </para>
+ </sect2>
+
+<!-- ####### The GNOME Documentation System | The GNOME Documentation
+Components ####### -->
+
+ <sect2 id="gnomehelpcomponents">
+ <title>The GNOME Documentation Components</title>
+
+ <sect3 id="applicationmanualsintro">
+ <title>Application Manuals</title>
+ <para>
+ Every GNOME application should have an application manual.
+ An application manual is a document specific to the
+ particular application which explains the various windows
+ and features of the application. Application Manuals
+ typically use screenshots (PNG format) for clarity. Writing
+ application manuals is discussed in more detail in <xref
+ linkend="writingapplicationmanuals" /> below.
+ </para>
+ </sect3>
+
+ <sect3 id="applicationhelpintro">
+ <title>Application Help</title>
+ <para>
+ Applications should have a <guibutton>Help</guibutton>
+ button on screens on which users may need help. These
+ <guibutton>Help</guibutton> buttons should pull up the
+ default help browser, determined by the
+ <varname>ghelp</varname> URL Handler (configured using the
+ <application>Control Center</application>), typically the
+ <application>GNOME Help Browser</application>. The help
+ browser should show either the first page of the application
+ manual, or else the relevant page thereof. Application help
+ is described in more detail in <xref
+ linkend="applicationhelpbuttons" /> below.
+ </para>
+ </sect3>
+
+ <sect3 id="contextsensitivehelpintro">
+ <title>Application Context Sensitive Help (coming in
+ GNOME-2.0)</title>
+ <para>
+ Context sensitive help is a system which will allow the user
+ to query any part (button, widget, etc.) of an application
+ window. This is done by either entering a CS Help mode by
+ clicking on an icon or by right clicking on the application
+ part and selecting "What's This" or whatever is decided on
+ at the time. Context sensitive help is described in more
+ detail in <xref linkend="writingcontextsensitivehelp" />
+ below.
+ </para>
+ </sect3>
+
+ <sect3 id="userguide">
+ <title>The GNOME User Guide</title>
+ <para>
+ The <citetitle>GNOME User Guide</citetitle> describes the
+ GNOME desktop environment and core components of GNOME such
+ as the <application>panel</application> and
+ <application>control center</application>. In GNOME 1.x this
+ was the main and only source of documentation. In GNOME 2.0
+ this will become a document for the web and for printing
+ that is derived from various parts chosen in the system that
+ are necessary for the new user to understand.
+ </para>
+ </sect3>
+
+ <sect3 id="userdocs">
+ <title>User Documents</title>
+ <para>
+ Aside from the <citetitle>GNOME User Guide</citetitle>,
+ there are several other documents to help GNOME users learn
+ GNOME, including the <citetitle>GNOME FAQ</citetitle>,
+ <citetitle>GNOME Installation and Configuration
+ Guide</citetitle>, and the <citetitle>GNOME Administrators
+ Guide</citetitle>.
+ </para>
+ </sect3>
+
+ <sect3 id="developerdocs">
+ <title>Developer Documents</title>
+ <para>
+ There are many White Papers, Tutorials, HOWTO's and FAQ's to
+ make programming GNOME and GNOME applications as easy as
+ possible.
+ </para>
+ <para>
+ API documentation is also available for the GNOME libraries. This is
+ detailed documentation of the code that is used to build GNOME
+ apps. You can keep up with the GNOME API docs on the <ulink
+ url="http://developer.gnome.org/doc/API/" type="http">GNOME API
+ Reference</ulink> page.
+ </para>
+ </sect3>
+
+ <sect3 id="projectdocs">
+ <title>Project Documents</title>
+ <para>
+ Some GNOME projects have documentation to maintain
+ consistency in their product and to help new contributors
+ get up to speed quickly. Among these are the GDP documents,
+ such as the one you are reading now.
+ </para>
+ </sect3>
+ </sect2>
+ </sect1>
+
+
+<!-- ################# DocBook Basics ############### -->
+
+ <sect1 id="docbookbasics">
+ <title>DocBook Basics </title>
+<!-- ####### DocBook Basics | Introduction to DocBook ####### -->
+
+ <sect2 id="introtodocbook">
+ <title>Introduction to DocBook</title>
+ <para>
+ To understand DocBook, a basic understanding of SGML is
+ helpful. SGML stands for Standard General Markup Language and
+ is one of the first markup languages every created. HTML is
+ actually derived from SGML and XML is a subset of SGML. SGML
+ uses what is called a Document Type Definition to specify
+ <emphasis>elements</emphasis> which are contained between
+ brackets, &lt; and >. Text is marked by both beginning and
+ ending elements, for example in the DocBook DTD, one denotes a
+ title with <sgmltag>&lt;title></sgmltag>The
+ Title<sgmltag>&lt;/title></sgmltag>.
+ </para>
+ <para>
+ The DTD (in the case of the GDP, DocBook) defines rules for how the
+ elements can be used. For example, if one element can only be used when
+ embedded within another, this is defined in the DTD.
+ </para>
+ <para>
+ An SGML file is just a plain ASCII file containing the text
+ with the markup specified above. To convert it to some easily
+ readable format, you need special tools. The GDP uses <emphasis>DocBook
+ Tools</emphasis>, a free package of utilities for working with DocBook
+ which includes <emphasis>Jade</emphasis>, which does the SGML/DSSL
+ parsing. You can read more about DocBook Tools in <xref
+ linkend="installingdocbook" />.
+ </para>
+ <para>
+ The final appearance of the output (e.g. PostScript or HTML)
+ is determined by a
+ <emphasis>stylesheet</emphasis>. Stylesheets are files,
+ written in a special language (DSSSL &mdash; Document Style
+ Semantics and Specification Language), which specify the
+ appearance of various DocBook elements, for example,
+ what fonts to use for titles and various inline elements, page
+ numbering style, and much more. DocBook tools come with a
+ collection of stylesheets (Norman Walsh's modular
+ stylesheets); GNOME Document Project uses some customized
+ version of this stylesheets &mdash; see <xref
+ linkend="gdpstylesheets"/>.
+ </para>
+ <para>
+ The advantage of specifying the <emphasis>structure</emphasis>
+ of a document with SGML instead of specifying the
+ <emphasis>appearance</emphasis> of the document with a typical
+ word processor, or with html, is that the resulting document
+ can be processed in a variety of ways using the structural
+ information. Whereas formatting a document for appearance
+ assumes a medium (typically written text on a standard-sized
+ piece of paper), SGML can be processed to produce output for a
+ large variety of media such as text, postscript, HTML,
+ Braille, audio, and potentially many other formats.
+ </para>
+ <para>
+ Using 'content' as the elements to define the text of a document also
+ allows for search engines to make use of the actual elements to make a
+ "smarter search". For example, if you are searching for all documents
+ written by the author "Susie" your search engine could be made smart
+ enough to only search &lt;author> elements, making for a faster and more
+ accurate search.
+ </para>
+ <para>
+ Since the overall appearance of the output is determined not by the DTD
+ or the SGML document, but rather by a stylesheet, the appearance of a
+ document can be easily changed just by changing the stylesheet. This
+ allows everyone in the project to create documents that all look the
+ same.
+ </para>
+ <para>
+ As stated before, the GDP uses the DocBook DTD. For a list of
+ introductory and reference resources on DocBook, see <xref
+ linkend="resources" />. The following sections also provide
+ convenient instructions on which markup tags to use in various
+ circumstances. Be sure to read <xref linkend="conventions" />
+ for GDP documentation-specific guidelines.
+ </para>
+ </sect2>
+
+ <!-- ###### DocBook Basics | XML and SGML ########-->
+ <sect2 id="xml">
+ <title>XML and SGML</title>
+
+ <para> In not so distant future (probably before GNOME 2.0),
+ DocBook itself and GNOME Documentation project will migrate from
+ SGML to XML. This transition should be relatively painless:
+ (almost) all DocBook tags will remain the same. However, XML has
+ stricter syntax rules than SGML; thus, some constructions which
+ are valid in SGML will not be valid in XML. Therefore, to be
+ ready for this transistion, it is <emphasis>strongly
+ advised</emphasis> that the documentation writers conform to XML
+ syntax rules. Here are most important differences:
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term> <emphasis>Minimization</emphasis></term>
+ <listitem>
+
+ <para>
+ It is possible with some implementations of SGML to use
+ minimizations to close elements in a document by using
+ &lt;/>, for example:
+ <literal><sgmltag>&lt;title></sgmltag>The
+ Title<sgmltag>&lt;/></sgmltag></literal>. This is not
+ allowed in XML. You can use <command>sgmlnorm</command> command,
+ included in DocBook Tools package, to expand minimized tags;
+ if you are using <application>Emacs</application> with psgml
+ mode, you can also use menu command
+ <menuchoice>
+ <guimenu>Modify</guimenu>
+ <guimenuitem>Normalize</guimenuitem>
+ </menuchoice>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term> <emphasis>Self-closing tags</emphasis></term>
+ <listitem>
+
+ <para>
+ Also, in SGML some tags are allowed not to have closing
+ tags. For example, it is legal for
+ <sgmltag>&lt;xref></sgmltag> not to have a closing tag:
+ <literal><sgmltag>&lt;xref
+ linkend="someid"></sgmltag></literal>. In
+ XML, it is illegal; instead, you should use
+ <literal><sgmltag>&lt;xref
+ linkend="someid"/></sgmltag></literal> (note the
+ slash!).
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term> <emphasis>Case sensitive tags</emphasis></term>
+ <listitem>
+ <para>
+ In XML, unlike SGML, tags are case-senstive
+ <sgmltag>&lt;title></sgmltag> and
+ <sgmltag>&lt;TITLE></sgmltag> are different tags!
+ Therefore, please always use lowercase tags (except for
+ things like <literal>DOCTYPE, CDATA</literal> and
+ <literal>ENTITY</literal>, which are not DocBook tags).
+ </para>
+ </listitem>
+ </varlistentry>
+
+
+
+</variablelist>
+</sect2>
+
+
+
+ <!-- ####### DocBook Basics | Structure Elements ####### -->
+
+
+ <sect2 id="structure"> <title> Structure Elements</title>
+
+ <sect3 id="section">
+ <title>Sections and paragraphs</title>
+ <para>
+ Top-level element of a book body must be
+ <sgmltag>&lt;chapter></sgmltag>; it may contain one or more
+ <sgmltag>&lt;sect1></sgmltag>, each of them may contain
+ <sgmltag>&lt;sect2></sgmltag> and so on up to
+ <sgmltag>&lt;sect5></sgmltag>. The top-level element of an
+ article body is always
+ <sgmltag>&lt;sect1></sgmltag>. Regardless of which elements
+ you use, give each structural element a unique id, so that
+ you can link to it. For usage example, see the template.
+ </para>
+ <para> Please try to avoid using deeply nested sections; for
+ most situations, <sgmltag>&lt;sect1></sgmltag> and
+ <sgmltag>&lt;sect2></sgmltag> should be sufficient. If not,
+ you probably should split your <sgmltag>&lt;sect1></sgmltag>
+ into several smaller ones.
+ </para>
+ <para> Use the tag <sgmltag>&lt;para></sgmltag> for
+ paragraphs, even if there is only one paragraph in a
+ section&mdash;see template for examples.
+ </para>
+ </sect3>
+
+ <sect3 id="notes">
+ <title>Notes, Warnings, And Tips</title>
+ <para>
+ For notes, tips, warnings, and important information, which
+ should be set apart from the main text (usually as a
+ paragraph with some warning sign on the margin), use tags
+ <sgmltag>&lt;note></sgmltag>, <sgmltag>&lt;tip></sgmltag>,
+ <sgmltag>&lt;warning></sgmltag>,
+ <sgmltag>&lt;important></sgmltag> respectively. For example:
+ <programlisting>
+<![CDATA[
+<tip>
+ <title>TIP</title>
+ <para>
+ To speed up program compilation, use <application>gcc</application>
+ compiler with Pentium optimization.
+ </para>
+</tip>]]> </programlisting> produces
+ </para>
+ <tip id="extip">
+ <title>TIP</title>
+ <para>
+ To speed up program compilation, use
+ <application>gcc</application> compiler with Pentium
+ optimization. </para>
+ </tip>
+ <para>
+ Note that this should not be inside a
+ <sgmltag>&lt;para></sgmltag> but between paragraphs.
+ </para>
+ </sect3>
+ <sect3 id="figures">
+ <title> Screenshots and other figures</title>
+ <para>
+ To include screenshots and other figures, use the following
+ tags:
+
+ <programlisting>
+<![CDATA[
+<figure id="shot1">
+ <title>Screenshot</title>
+ <screenshot>
+ <screeninfo>Screenshot of a program</screeninfo>
+ <graphic format="PNG" fileref="figures/example_screenshot" srccredit="ME">
+ </graphic>
+ </screenshot>
+</figure>]]>
+ </programlisting>
+ replacing <filename>example_screenshot</filename> with the
+ actual file name (without extension). The result will look like this:
+
+ <figure id="shot1">
+ <title>Screenshot</title>
+ <screenshot>
+ <screeninfo>Screenshot of a program</screeninfo>
+ <graphic format="PNG"
+ fileref="figures/example_screenshot" srccredit="ME"/>
+
+ </screenshot>
+ </figure>
+ </para>
+ <note>
+ <title>NOTE</title>
+ <para>
+ Notice in this example that the screenshot file name does
+ not include the file type extension &mdash; to find out
+ why, please read <xref linkend="jadeimages" />.
+ </para>
+ </note>
+ </sect3>
+ <sect3 id="listing">
+ <title>Program listings and terminal session</title> <para>
+ To show a file fragment&mdash;for example, program
+ listing&mdash;use <sgmltag>&lt;programlisting></sgmltag> tag:
+ <programlisting>
+<![CDATA[
+<programlisting>
+[Desktop Entry]
+Name=Gnumeric spreadsheet
+Exec=gnumeric
+Icon=gnome-gnumeric.png
+Terminal=0
+Type=Application
+</programlisting>]]>
+ </programlisting>
+ which produces
+ <programlisting>
+[Desktop Entry]
+Name=Gnumeric spreadsheet
+Exec=gnumeric
+Icon=gnome-gnumeric.png
+Terminal=0
+Type=Application
+ </programlisting>
+ As a matter of fact, all examples in this document were
+ produced using <sgmltag>&lt;programlisting></sgmltag>.
+ </para>
+ <para>
+ To show a record of terminal session&mdash;i.e., sequence of
+ commands entered at the command line&mdash;use
+ <sgmltag>&lt;screen></sgmltag> tag:
+ <programlisting>
+<![CDATA[
+<screen>
+<prompt>bash$</prompt><userinput>make love</userinput>
+make: *** No rule to make target `love'. Stop.
+</screen>]]>
+ </programlisting>
+ which produces
+ <screen>
+<prompt>bash$</prompt><userinput>make love</userinput>
+make: *** No rule to make target `love'. Stop.
+ </screen>
+ Note the use of tags <sgmltag>&lt;prompt></sgmltag> and
+ <sgmltag>&lt;userinput></sgmltag> for marking system prompt
+ and commands entered by user.
+ <note>
+ <title>NOTE</title>
+ <para>
+ Note that both <sgmltag>&lt;programlisting></sgmltag>
+ and <sgmltag>&lt;screen></sgmltag> preserve linebreaks,
+ but interpret SGML tags (unlike LaTeX
+ <markup>verbatim</markup> environment). Take a look at
+ the source of this document to see how you can have SGML
+ tags literally shown but not interpreted,
+ </para>
+ </note>
+ </para>
+ </sect3>
+ <sect3 id="lists">
+ <title> Lists</title>
+ <para>
+ The most common list types in DocBook are
+ <sgmltag>&lt;itemizedlist></sgmltag>,
+ <sgmltag>&lt;orderedlist></sgmltag>, and
+ <sgmltag>&lt;variablelist></sgmltag>.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term> <sgmltag>&lt;itemizedlist></sgmltag></term>
+ <listitem><para>
+ This is the simplest unnumbered list, parallel to
+ <sgmltag>&lt;ul></sgmltag> in HTML. Here is an example:
+ <programlisting>
+<![CDATA[
+<itemizedlist>
+ <listitem>
+ <para>
+ <guilabel>Show backup files</guilabel> &mdash; This will
+ show any backup file that might be on your system.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>Show hidden files</guilabel> &mdash; This will
+ show all "dot files" or files that begin with a dot. This
+ files typically include configuration files and directories.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guilabel>Mix files and directories</guilabel> &mdash; This
+ option will display files and directories in the order you
+ sort them instead of
+ always having directories shown above files.
+ </para>
+ </listitem>
+</itemizedlist>
+]]>
+ </programlisting>
+ and output:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <guilabel>Show backup files</guilabel> &mdash;
+ This will show any backup file that might be on
+ your system.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Show hidden files</guilabel> &mdash;
+ This will show all "dot files" or files that
+ begin with a dot. This files typically include
+ configuration files and directories.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guilabel>Mix files and directories</guilabel>
+ &mdash; This option will display files and
+ directories in the order you sort them instead
+ of always having directories shown above files.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para> Note the use of <sgmltag>&amp;mdash;</sgmltag>
+ for long dash (see <xref linkend="specsymb" />). Also,
+ please note that the result looks much nicer because the
+ terms being explained (<guilabel>Show backup
+ files</guilabel>, etc.) are set in a different font. In
+ this case, it was achieved by using <link
+ linkend="gui"><sgmltag>&lt;guilabel></sgmltag></link>
+ tag. In other cases, use appropriate tags such as
+ <link linkend="gui"><sgmltag>&lt;guimenuitem></sgmltag></link>,
+ <link
+ linkend="filenames"><sgmltag>&lt;command></sgmltag></link>,
+ or &mdash; if none of
+ this applies &mdash; use
+ <link linkend="gui"><sgmltag>&lt;emphasis></sgmltag></link>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term> <sgmltag>&lt;orderedlist></sgmltag></term>
+ <listitem><para>
+ This list is completely analogous to
+ <sgmltag>&lt;itemizedlist></sgmltag> and has the same
+ syntax, but it produces numbered list. By default,
+ this list uses Arabic numerals for numbering entries;
+ you can override this using <sgmltag>numeration</sgmltag>,
+ for example <sgmltag>&lt;orderedlist
+ numeration="lowerroman"></sgmltag>. Possible values of
+ these attribute are <sgmltag>arabic</sgmltag>,
+ <sgmltag>upperalpha</sgmltag>,
+ <sgmltag>loweralpha</sgmltag>,
+ <sgmltag>upperroman</sgmltag>,
+ <sgmltag>lowerroman</sgmltag>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term> <sgmltag>&lt;variablelist></sgmltag></term>
+ <listitem><para> This list is used when each entry is
+ rather long, so it should be formatted as a block of text
+ with some subtitle, like a small subsection. The
+ <sgmltag>&lt;variablelist></sgmltag> is more complicated
+ than itemizedlists, but for larger blocks of text, or when
+ you're explaining or defining something, it's best to use
+ them. Their greatest advantage is that it's easier for a
+ computer to search. The lines you are reading now were
+ produced by <sgmltag>&lt;variablelist></sgmltag>. The
+ source looked liked this:
+ <programlisting>
+<![CDATA[
+<variablelist>
+ <varlistentry>
+ <term> <sgmltag>&lt;itemizedlist></sgmltag></term>
+ <listitem><para>
+ This is the simplest unnumbered list, parallel to
+ <sgmltag>&lt;ul></sgmltag> in HTML. Here is an example:...
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term> <sgmltag>&lt;orderedlist></sgmltag></term>
+ <listitem><para>
+ This list is completely analogous to
+ <sgmltag>&lt;itemizedlist></sgmltag>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term> <sgmltag>&lt;variablelist></sgmltag></term>
+ <listitem><para>
+ This list is used when each entry is rather long,...
+ </para></listitem>
+ </varlistentry>
+</variablelist>
+]]>
+ </programlisting>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ Lists can be nested; in this case, the stylesheets
+ are smart enough to change the numeration (for
+ <sgmltag>&lt;orderedlist></sgmltag>) or marks of each entry
+ (in <sgmltag>&lt;itemizedlist></sgmltag>) for sub-lists
+ </para>
+ </sect3>
+
+ </sect2>
+
+<!-- ####### DocBook Basics | Inline Elements ####### -->
+
+ <sect2 id="inline">
+ <title>Inline Elements</title>
+
+ <sect3 id="gui">
+ <title>GUI elements</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <sgmltag>&lt;guibutton></sgmltag> &mdash; used for
+ buttons, including checkbuttons and radio buttons
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <sgmltag>&lt;guimenu></sgmltag>,
+ <sgmltag>&lt;guisubmenu></sgmltag> &mdash;used for
+ top-level menus and submenus
+ respectively, for example <literal><![CDATA[
+ <guisubmenu>Utilities</guisubmenu> submenu of the
+ <guimenu>Main Menu</guimenu>]]></literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <sgmltag>&lt;guimenuitem></sgmltag>&mdash;an entry in a
+ menu
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <sgmltag>&lt;guiicon></sgmltag>&mdash;an icon
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <sgmltag>&lt;guilabel></sgmltag>&mdash;for items which have
+ labels, like tabs, or bounding boxes.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <sgmltag>&lt;interface></sgmltag>&mdash; for most everything
+ else... a window, a dialog box, the Panel, etc.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ If you need to refer to a sequence of menu choices, such as
+ <menuchoice>
+ <guimenu>Main Menu</guimenu>
+ <guisubmenu>Utilities</guisubmenu> <guimenuitem>GNOME
+ terminal</guimenuitem>
+ </menuchoice>
+ there is a special construction for this, too:
+ <programlisting>
+<![CDATA[
+<menuchoice>
+ <guimenu>Main Menu</guimenu> <guisubmenu>Utilities</guisubmenu>
+ <guimenuitem>GNOME terminal</guimenuitem> </menuchoice>]]>
+ </programlisting>
+ </para>
+ </sect3>
+
+ <sect3 id="links">
+ <title>Links and references</title>
+ <para>
+ To refer to another place in the same document, you can use
+ tags <sgmltag>&lt;xref></sgmltag> and
+ <sgmltag>&lt;link></sgmltag>. The first of them
+ automatically inserts the full name of the element you refer
+ to (section, figure, etc.), while the second just creates a
+ link (in HTML output). Here is an example:
+ <programlisting>
+<![CDATA[An example of a <link linkend="extip">tip</link> was given in
+<xref linkend="notes" />. ]]>
+ </programlisting>
+ which produces: An example of a <link
+ linkend="extip">tip</link> was given in <xref
+ linkend="notes" />.
+ </para>
+ <para>
+ Here <sgmltag>notes</sgmltag> and <sgmltag>extip</sgmltag>
+ are the id attributes of <xref linkend="notes" /> and of the
+ example of a tip in it.
+ </para>
+ <para> To produce a link to an external source, such as a
+ Web page or a local file, use <sgmltag>&lt;ulink></sgmltag>
+ tag, for example:
+ <programlisting>
+<![CDATA[ To find more about GNOME, please visit <ulink type="http"
+url="http://www.gnome.org">GNOME Web page</ulink> ]]>
+ </programlisting>
+ which produces: To find more about GNOME, please visit
+ <ulink type="http" url="http://www.gnome.org">The GNOME Web
+ Site</ulink> You can use any of the standard URL types, such
+ as <literal>http, ftp, file, telnet, mailto</literal> (in
+ most cases, however, use of <literal>mailto</literal> is
+ unnecessary&mdash;see discussion of
+ <sgmltag>&lt;email></sgmltag> tag).
+ </para>
+ </sect3>
+
+ <sect3 id="filenames"> <title>Filenames, commands, and other
+ computer-related things</title>
+ <para>
+ Here are some tags used to describe operating system-related
+ things:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para> <sgmltag>&lt;filename></sgmltag> &mdash; used
+ for filenames,
+ e.g.<sgmltag>&lt;filename></sgmltag>
+ foo.sgml
+ <sgmltag>&lt;/filename></sgmltag>
+ produces: <filename>foo.sgml</filename>.
+ </para>
+ </listitem>
+ <listitem>
+ <para> <sgmltag>&lt;filename
+ class="directory"></sgmltag> &mdash; used for
+ directories, e.g.<sgmltag>&lt;filename
+ class="directory"></sgmltag>/usr/bin
+ <sgmltag>&lt;/filename></sgmltag>
+ produces: <filename
+ class="directory">/usr/bin</filename>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <sgmltag>&lt;application></sgmltag> &mdash; used for
+ application names,
+ e.g. <sgmltag>&lt;application></sgmltag>Gnumeric
+ <sgmltag>&lt;/application></sgmltag> produces:
+ <application>Gnumeric</application>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <sgmltag>&lt;envar></sgmltag> &mdash; used for
+ environment variables, e.g.
+ <sgmltag>&lt;envar></sgmltag>PATH<sgmltag>&lt;/envar></sgmltag>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <sgmltag>&lt;command></sgmltag> &mdash; used for
+ commands entered on command line, e.g.
+ <sgmltag>&lt;command></sgmltag>make install
+ <sgmltag>&lt;/command></sgmltag> produces:
+ <command>make install</command>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <sgmltag>&lt;replaceable></sgmltag> &mdash; used for
+ replaceable text, e.g.
+ <sgmltag>&lt;command></sgmltag>db2html<sgmltag>&lt;replaceable></sgmltag>
+ foo.sgml
+ <sgmltag>&lt;/replaceable></sgmltag><sgmltag>&lt;/command></sgmltag>
+ produces: <command>db2html
+ <replaceable>foo.sgml</replaceable></command>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
+
+ <sect3 id="keys">
+ <title>Keyboard input</title>
+ <para> To mark up text input by the user, use
+ <sgmltag>&lt;userinput></sgmltag>.
+ </para>
+ <para> To mark keystrokes such as shortcuts and other
+ commands, use <sgmltag>&lt;keycap></sgmltag>.
+ This is used for marking up what is printed on the top
+ of the physical key on the keyboard. There are a couple of
+ other tags for keys, too: <sgmltag>&lt;keysym&gt;</sgmltag>
+ and <sgmltag>&lt;keycode&gt;</sgmltag>. However you are
+ unlikely to need these for most documentation. For reference,
+ <sgmltag>&lt;keysym&gt;</sgmltag> is for the <quote>symbolic
+ name</quote> of a key. <sgmltag>&lt;keycode&gt;</sgmltag> is
+ for the <quote>scan code</quote> of a key. These are not
+ terms commonly required in <acronym>GNOME</acronym> documentation,
+ although <sgmltag>&lt;keysym&gt;</sgmltag> is useful for marking
+ up control codes.
+ </para>
+ <para>
+ To mark up a combination of keystrokes, use the
+ <sgmltag>&lt;keycombo></sgmltag> wrapper:
+ <programlisting>
+<![CDATA[
+<keycombo>
+ <keycap>Ctrl</keycap>
+ <keycap>Alt</keycap>
+ <keycap>F1</keycap>
+</keycombo>]]>
+ </programlisting>
+ </para>
+ <para>
+ Finally, if you want to show a shortcut for some menu
+ command, here are the appropriate tags (rather long):
+ <programlisting>
+<![CDATA[
+<menuchoice>
+ <shortcut>
+ <keycombo><keycap>Ctrl</keycap><keycap>q</keycap></keycombo>
+ </shortcut>
+ <guimenuitem> Quit</guimenuitem>
+</menuchoice>]]>
+ </programlisting>
+ which produces simply
+ <menuchoice>
+ <shortcut> <keysym>Ctrl-q</keysym> </shortcut>
+ <guimenuitem> Quit</guimenuitem>
+ </menuchoice>
+ </para>
+ </sect3>
+
+ <sect3 id="email">
+ <title>E-mail addresses</title> <para> To mark up e-mail
+ address, use <sgmltag>&lt;email></sgmltag>:
+ <programlisting>
+<![CDATA[ The easiest way to get in touch with me is by e-mail
+(<email>me@mydomain.com</email>)]]>
+ </programlisting>
+ which produces: The easiest way to get in touch with me is
+ by e-mail (<email>me@mydomain.com</email>) Note that
+ <sgmltag>&lt;email></sgmltag> automatically produces a link
+ in html version.
+ </para>
+ </sect3>
+
+ <sect3 id="specsymb">
+ <title> Special symbols </title>
+ <para>
+ DocBook also provides special means for entering
+ typographic symbols which can not be entered directly
+ form the keyboard (such as copyright sign). This is done using
+ <emphasis>entities</emphasis>, which is SGML analogue of
+ macros, or commands, of LaTeX. They generally have the form
+ <sgmltag>&amp;entityname;</sgmltag>. Note that the semicolon
+ is required.
+ </para>
+ <para>
+ here is partial list of most commonly used enitites:
+ </para>
+ <itemizedlist>
+ <listitem><para>
+ <sgmltag>&amp;amp;</sgmltag> &mdash; ampersend (&amp;)
+ </para></listitem>
+ <listitem><para>
+ <sgmltag>&amp;lt;</sgmltag> &mdash; left angle bracket (&lt;)
+ </para></listitem>
+ <listitem><para>
+ <sgmltag>&amp;copy;</sgmltag> &mdash; copyright sign (&copy;)
+ </para></listitem>
+ <listitem><para>
+ <sgmltag>&amp;mdash;</sgmltag> &mdash; long dash (&mdash;)
+ </para></listitem>
+ <listitem><para>
+ <sgmltag>&amp;hellip;</sgmltag> &mdash; ellipsis (&hellip;)
+ </para></listitem>
+ </itemizedlist>
+ <para>
+ Note that the actual look of the resulting symbols depends
+ on the fonts used by your browser; for example, it might
+ happen that long dash (<sgmltag>&amp;mdash;</sgmltag>) looks
+ exactly like the usual dash (-). However, in the PostScript
+ (and thus, in print) the output will look markedly better if
+ you use appropriate tags.
+ </para>
+ </sect3>
+ </sect2>
+ </sect1>
+
+<!-- ################# GDP Documentation Conventions ############### -->
+
+ <sect1 id="conventions">
+ <title>GDP Documentation Conventions </title>
+
+<!-- ####### GDP Documentation Conventions | All Documentation ####### -->
+
+ <sect2 id="conventionsalldocs">
+ <title>Conventions for All GDP Documentation</title>
+ <sect3 id="xmlcomp">
+ <title> XML compatibility </title>
+ <para>
+ All GNOME documentation should conform to XML syntax
+ requirements, which are stricter than SGML ones &mdash; see
+ <xref linkend="xml" /> for more informaion.
+ </para>
+ </sect3>
+
+ <sect3 id="authorsnames">
+ <title> Authors' names</title>
+ <para>
+ All GNOME documentation should contain the names of both the
+ application authors and documentation authors, as well as a
+ link to the application web page (if it exists) and
+ information for bug submission &mdash; see templates for an
+ example.
+ </para>
+ </sect3>
+ </sect2>
+
+<!-- ####### GDP Documentation Conventions | All Documentation ####### -->
+
+ <sect2 id="conventionsappdocs">
+ <title>Conventions for Application Documentation</title>
+
+ <sect3 id="applicationversionid">
+ <title>Application Version Identification</title>
+ <para>
+ Application documentation should identify the version of the
+ application for which the documentation is written:
+ <programlisting>
+<![CDATA[
+<sect1 id="intro">
+ <title>Introduction</title>
+ <para>
+ blah-blah-blah This document describes version 1.0.53 of gfoo.
+ </para>
+</sect1>]]>
+ </programlisting>
+ </para>
+ </sect3>
+ <sect3 id="license">
+ <title> Copyright information </title>
+ <para> Application
+ documentation should contain a copyright notice, stating the
+ licensing terms. It is suggested that you use the GNU Free
+ Documentation License. You could also use some other license
+ allowing free redistribution, such as GPL or Open Content
+ license. If documentation uses some trademarks (such as UNIX,
+ Linux, Windows, etc.), proper legal junk should also be
+ included (see templates).
+ </para>
+ </sect3>
+ <sect3 id="license2">
+ <title>Software license</title>
+ <para>
+ All GNOME applications must contain information about the
+ license (for software, not for documentation), either in the
+ "About" box or in the manual.
+ </para>
+ </sect3>
+
+ <sect3 id="bugtraq">
+ <title> Bug reporting</title>
+ <para>
+ Application documentation should give an address for
+ reporting bugs and for submitting comments about the
+ documentaion (see templates for an example).
+ </para>
+ </sect3>
+ </sect2>
+ </sect1>
+
+<!-- ################# Writing Application Manuals ###############-->
+
+ <sect1 id="writingapplicationmanuals">
+ <title>Writing Application and Applet Manuals</title>
+ <para>
+ Every GNOME application or applet should have a manual specific
+ to that particular application. This manual should be a complete
+ and authoritative guide. The manual should describe what the
+ program does and how to use it. Manuals will typically describe
+ each window or panel presented to the user using screenshots (in
+ PNG format only) when appropriate. They should also describe
+ each feature and preference option available.
+ </para>
+ <note>
+ <title>Documentation Availability</title>
+ <para>
+ Applications and applets should not rely on documentation
+ which is only available on the internet. All manuals and
+ other documentation should be packaged with the application or
+ applet and be made available to the user through the standard
+ GNOME help system methods described below.
+ </para>
+ </note>
+ <para> Application manuals should be based on the template in
+ <xref linkend="template1" />. Applet manuals should be based on
+ the templates in <xref linkend="template2-1x" /> for GNOME
+ versions 1.x and the templates in <xref linkend="template2-2x" />
+ for GNOME versions 2.x.
+ </para>
+ <note>
+ <title>Manuals For Large Applications</title>
+ <para>
+ Manuals for very large applications, such as GNOME Workshop
+ components should be a <sgmltag>&lt;book></sgmltag> (and thus
+ use <sgmltag>&lt;chapter></sgmltag> for each primary section)
+ , instead of <sgmltag>&lt;article></sgmltag> which most
+ applications use(with each primary section being a
+ <sgmltag>&lt;sect1></sgmltag>).
+ </para>
+ </note>
+ <note>
+ <title>Applet Manuals in GNOME 2.0</title>
+ <para>
+ Note that applet manuals in GNOME 2.0 are treated in a special
+ way. The manuals for all applets are merged into a single
+ virtual document by Nautilus. For this reason, the header
+ information for applet manuals is omitted and the first
+ section of each applet is
+ <sgmltag>&lt;sect1></sgmltag>. Applet manuals will typically
+ have several sections, each of which is
+ <sgmltag>&lt;sect2></sgmltag>.
+ </para>
+ </note>
+ <para>
+ Application manuals should be made available by having a
+ "Manual" entry in the <guimenu>Help</guimenu> pull-down menu
+ at the top of the
+ application, as described in <xref linkend="listingdocsinhelpmenu" />.
+ Applets should make their manuals available by
+ right-clicking on the applet.
+ </para>
+ </sect1>
+
+
+<!-- ############### Listing Documents in the Help Menu ############# -->
+
+ <sect1 id="listingdocsinhelpmenu">
+ <title>Listing Documents in the Help Menu</title>
+
+ <note>
+ <title>Developer Information</title>
+ <para>
+ This section is for developers. Documentation authors
+ generally do not need to know this material.
+ </para>
+ </note>
+ <para>
+ Typically the application manual and possibly additional help
+ documents will be made available to the user under the
+ <guimenu>Help</guimenu> menu at the top right of the
+ application. To do this, you must first write a
+ <filename>topic.dat</filename> file. The format for this file is:
+ <programlisting>
+One line for each 'topic'.
+
+Two columns, as defined by perl -e 'split(/\s+/,$aline,2)'
+
+First column is the HTML file (and optional section) for the topic,
+relative to the app's help file dir.
+
+Second column is the user-visible topic name.
+ </programlisting>
+ For example, <application>Gnumeric</application>'s
+ <filename>topic.dat</filename> file is:
+ <programlisting>
+gnumeric.html Gnumeric manual
+function-reference.html Gnumeric function reference
+ </programlisting>
+ When the application is installed, the
+ <filename>topic.dat</filename> file should be placed in the
+ <filename
+ class="directory">$prefix/share/gnome/help/<replaceable>appname</replaceable>/C/</filename> directory
+ where <replaceable>appname</replaceable> is replaced by the
+ application's name. The application documentation (converted
+ from SGML into HTML with <command>db2html</command>) should be
+ placed in this directory too.
+ </para>
+ <note>
+ <para>
+ If the help files are not present in the correct directory, the
+ menu items will NOT appear when the program is run.
+ </para>
+ </note>
+ <para>
+ The <filename>topic.dat</filename> file is used by the GNOME
+ menu building code to generate the <guimenu>Help</guimenu>
+ menu. When you define your menu:
+<programlisting>
+GnomeUIInfo helpmenu[] = {
+ {GNOME_APP_UI_ITEM,
+ N_("About"), N_("Info about this program"),
+ about_cb, NULL, NULL,
+ GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_ABOUT,
+ 0, 0, NULL},
+ GNOMEUIINFO_SEPARATOR,
+ GNOMEUIINFO_HELP("<emphasis>appname</emphasis>"),
+ GNOMEUIINFO_END
+ };
+</programlisting>
+ the line specifying <varname>GNOMEUIINFO_HELP</varname> causes
+ GNOME to create a menu entry which is tied to the documentation
+ in the directory mentioned above. Also, all the topics in the
+ <filename>topic.dat</filename> file will get menu entries in the
+ <guimenu>Help</guimenu> menu. When the user selects any of these
+ topics from the <guimenu>Help</guimenu> menu, a help browser
+ will be started with the associated HTML documentation.
+ </para>
+ </sect1>
+
+
+<!-- ################# Application Help Buttons ############### -->
+
+ <sect1 id="applicationhelpbuttons">
+ <title>Application Help Buttons</title>
+
+ <note>
+ <title>Developer Information</title>
+ <para>
+ This section is for developers. Documentation authors
+ generally do not need to know this material.
+ </para>
+ </note>
+ <para>
+ Most GNOME applications will have <guibutton>Help</guibutton>
+ buttons. These are most often seen in Preference windows. (All
+ Preference windows should have <guibutton>Help</guibutton>
+ buttons.) Most <guibutton>Help</guibutton> buttons will connect
+ to the application manual, although some may connect to special
+ documents. Because the <guibutton>Help</guibutton> buttons do
+ not generally have their own special documentation, the
+ documentation author(s) do not need to do very much. However,
+ the application author must be careful to guarantee that the
+ application correctly opens the help documentation when the
+ <guibutton>Help</guibutton> buttons are pressed.
+ </para>
+ <para>
+ To make the Help buttons call the correct document in the GNOME Help
+ Browser the developer should add code based on the following example:
+ </para>
+ <programlisting>
+gchar *tmp;
+tmp = gnome_help_file_find_file ("module", "page.html");
+if (tmp) {
+ gnome_help_goto(0, tmp);
+ g_free(tmp);
+}
+ </programlisting>
+ <note>
+ <title>NOTE</title>
+ <para>
+ The example above is in the C language, please refer to other
+ documentation or forums for other GNOME language bindings.
+ </para>
+ </note>
+ </sect1>
+
+<!-- ################# Packaging Applet Documentation ############### -->
+
+ <sect1 id="packagingappletdocs">
+ <title>Packaging Applet Documentation</title>
+ <sect2 id="appletfiles">
+ <title>Applet Documentation Files</title>
+ <para>
+ In GNOME 2.0 each applet will have its own documentation
+ installed separately, and the GNOME 2.0 help
+ browser (<application>Nautilus</application>) will dynamically
+ merge the applet documents into a single virtual book
+ called <citetitle>GNOME Applets</citetitle>. During the
+ transitionary stage between GNOME 1.0 and GNOME 2.0, each
+ applet in the gnome-applets package has its own manual(stored
+ with the applet in CVS), but they are merged together manually
+ to create the <citetitle>GNOME Applets</citetitle> book before
+ distribution. Telsa
+ <email>hobbit@aloss.ukuu.org.uk</email> is the maintainer of
+ this document. Applet documentation should be sent to Telsa
+ (or placed in CVS) who will make sure they are correctly
+ packaged with the applets. The applet author should be
+ contacted to modify the menu items and help buttons to bind to
+ the applet documentation if necessary.
+ </para>
+ <para>
+ Images which are part of the applet documentation should be in
+ PNG format and should reside in the same directory as the SGML
+ document file in CVS(gnome-applets/APPLETNAME/help/C).
+ </para>
+ <para>
+ Applets which are not part of the gnome-applets package must
+ package their documentation with the particular applet
+ package. They should use the same applet template as other
+ applets. However, the <sgmltag>&lt;xref></sgmltag> links to
+ the introductory chapter of the <citetitle>GNOME
+ Applets</citetitle> book must be removed (as the 1.x
+ <application>GNOME Help Browser</application> does not allow
+ you to create links between separate documents) and replaced
+ with suitable text. Note that since this document is not part
+ of the <citetitle>GNOME Applets</citetitle> book, you must
+ remember to add <sgmltag>&lt;legalnotice></sgmltag> and
+ <sgmltag>&lt;copyright></sgmltag> sections.
+ </para>
+ </sect2>
+
+ <sect2 id="appletmenu">
+ <title>Adding Documentation to an Applet Menu</title>
+ <note>
+ <title>Developer Information</title>
+ <para>
+ This section is for developers. Documentation authors
+ generally do not need to know this material.
+ </para>
+ </note>
+ <para>
+ Applets should have <guimenu>About</guimenu> and
+ <guimenu>Manual</guimenu> menu items, typically as the first
+ and second top-most items in the menu respectively. This
+ section describes how the developer creates these menu items
+ and links them to the documentation.
+ </para>
+ <para>
+ To add an applet's manual to its applet menu, use:
+<programlisting>
+/* add an item to the applet menu */
+applet_widget_register_callback(APPLET_WIDGET(applet), "manual",
+_("Manual"), &amp;open_manual, NULL);
+</programlisting>
+ Here the second argument is an arbitrary name for the
+ callback, the third argument is the label which will appear
+ when the user right clicks on the applet, and the fourth
+ argument is the callback function.
+ </para>
+ <para>
+ You will need to write a simple callback function to open the
+ help browser to the appropriate document. This is done using
+ the <function>gnome_help_file_find_file</function> function,
+ as described in <xref linkend="applicationhelpbuttons" />.
+ </para>
+ <para>
+ You will also want to add an <guimenu>About</guimenu> menu
+ item to the applet's menu. This is a
+ stock menu item and is done:
+<programlisting>
+applet_widget_register_stock_callback (APPLET_WIDGET(applet), "about",
+ GNOME_STOCK_MENU_ABOUT, _("About"), &amp;my_applet_cb_about,
+ NULL);
+</programlisting>
+ </para>
+ <para>
+ More information can be found at <ulink type="http"
+ url="http://developer.gnome.org/doc/tutorials/applet/index.html">Writing
+ GNOME panel applets using the GTK+/GTK-- widget set</ulink>.
+ </para>
+ </sect2>
+ </sect1>
+
+
+<!-- ################# Writing Context Sensitive Help ###############
+-->
+
+ <sect1 id="writingcontextsensitivehelp">
+ <title>Writing Context Sensitive Help (coming in GNOME-2.0)</title>
+ <para>
+ Context sensitive help, also known as "pop-up" help, will allow
+ a user to obtain help information about specific buttons or
+ parts of an application.
+ </para>
+ <para>
+ Context sensitive help is still under development and not all
+ the details are available at this time. However, the basics can
+ be shown here so that you can understand how the system will
+ work.
+ </para>
+ <para>
+ The Context Sensitive Help system is designed to allow the
+ developer to give an id to a particular portion of the User
+ Interface, for example, a button. Once the interface is complete
+ a Perl script can then be run against the interface code to
+ create a "map" file. This map file allows the developer or
+ writer to associate particular paragraph sections from an XML
+ document to the interface items.
+ </para>
+ <para>
+ The XML used for the document is a small XML DTD that is being
+ developed to use the same tags (albeit, much fewer) as DocBook
+ so that writers do not have to re-learn a new DTD.
+ </para>
+ <para>
+ Once the document is written and map file is complete, when the
+ user launches context sensitive help on the interface (either by
+ pressing a button and then clicking on the interface item they
+ want information on, or by right mouse clicking on the interface
+ item and selecting a pop-up menu item like "What's This") a
+ small transient window will appear with brief but detailed
+ information on the interface item.
+ </para>
+ </sect1>
+
+<!-- ################# Referring to Other GNOME Documentation
+############# -->
+
+ <sect1 id="referring">
+ <title>Referring to Other GNOME Documentation (coming in
+ GNOME-2.0)</title>
+ <para>
+ In the GNOME 2.0 Help System, you will be able to create links
+ from one document to another. The exact mechanism for doing
+ this is in development.
+ </para>
+ </sect1>
+
+
+<!-- ################# Basics of Documentation Style ############### -->
+
+ <sect1 id="basics">
+ <title>Basics of Documentation Style</title>
+ <para>
+ Most people have never enjoyed reading a software manual, and
+ they probably never will. Many times, they'll read the
+ documentation only when they run into problems, and they'll be
+ frustrated and upset before they even read a word. On the
+ other hand, some readers will read the manual all the way
+ through, or at least look at the introduction before they
+ start. Your document might serve as a reference for an expert
+ or a guide to a beginner, and it must have enough depth to
+ satisfy the first without overwhelming the second. Ideally, it
+ will serve beginners as they <emphasis>become</emphasis>
+ experts. Remember, your goal is to produce <emphasis>complete,
+ intuitive and clear</emphasis> documentation.
+ </para>
+ <para>
+ In order to write useful documentation, you'll have to know who
+ your audience is likely to be. Then, you can look for the
+ problems they're likely to run into, and solve them. It will
+ also help if you focus on the tasks users will perform, and
+ group features accordingly, rather than simply describing
+ features at random.
+ </para>
+
+<!-- *********** Basics of Documentation Style: planning -->
+
+ <sect2 id="styleplanning">
+ <title>Planning</title>
+ <para>
+ Begin documenting by learning how to use the application and
+ reading over any existing documentation. Pay attention to
+ places where your document will differ from the template. It
+ may help to develop a document skeleton: a valid XML or SGML
+ document that has little or no content. For very large
+ applications, you will need to make significant departures
+ from the templates, since you'll be using the
+ <sgmltag>&lt;book></sgmltag> tag instead of
+ <sgmltag>&lt;chapter></sgmltag> or
+ <sgmltag>&lt;article></sgmltag>.
+ </para>
+ </sect2>
+
+
+<!-- ####### Basics of Documentation Style | Balance ####### -->
+ <sect2 id="balance">
+ <title>Achieving a Balanced Style</title>
+
+ <para>
+ Just as you need to juggle expert and novice readers,
+ you'll have to juggle a number of other extremes as you write:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Documents should be complete, yet concise. You should
+ describe every feature, but you'll have decide how much
+ detail is really necessary. It's not, for example,
+ necessary to describe every button and form field in a
+ dialog box, but you should make sure that your readers
+ know how to bring up the dialog and what it does. If
+ you spend fewer words on the obvious, you can spend more
+ time clarifying the ambiguous labels and explaining
+ items that are more complex.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Be engaging and friendly, yet professional. Games
+ documents may be less formal than productivity
+ application documents (people don't
+ <emphasis>use</emphasis> games, they
+ <emphasis>play</emphasis> them), but all of them should
+ maintain a standard of style which holds the reader's
+ interest without resorting to jokes and untranslatable
+ allusions or puns.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Examples, tips, notes, and screenshots are useful to
+ break up long stretches of text, but too many can get in
+ the way, and make your documents too choppy to read.
+ It's good to provide a screenshot of any dialog windows
+ a user might run into, but if a dialog box has several
+ tabs, it's not usually necessary to have one for each.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The GDP strives to have all of its documentation conform
+ to certain standards of style and content, but every
+ document (and every writer) is different. You will need
+ to use your judgement, and write documents to fit with
+ the rest of the project, without compromising the
+ individual needs of your subject, or your own
+ individuality as a writer.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </para>
+ </sect2>
+
+
+<!-- ####### Basics of Documentation Style | Structure ####### -->
+
+ <sect2 id="stylestructure">
+ <title>Structure</title>
+ <para>
+ In general, you won't have to worry too much about structure,
+ because the templates provide you with an excellent example.
+ As a general rule, try to follow that structural example.
+ That means using links, hierarchical nesting, and, if
+ necessary, a glossary or index. You probably won't need to
+ use every available structural tag, but take advantage of
+ what DocBook provides you.
+ </para>
+ <para>
+ As to linking, there's some disagreement about whether to use
+ <sgmltag>&lt;xref></sgmltag> <sgmltag>&lt;link></sgmltag>
+ when you make links within your documents. You'll have to
+ decide, based on the different ways that they are presented
+ in output, which is more appropriate given the context.
+ Regardless of which you use, you should not forget to use
+ them. Help your readers find information that relevant to
+ the issue at hand.
+ </para>
+ <para>
+ The table of contents will be generated automatically, but
+ you will probably have to develop your own index if you wish
+ to have one. The Nautilus Help Browser will have new, and
+ currently unknown, indexing capabilities, so index style and
+ structure are still under discussion. The GNOME User's Guide
+ will contain a glossary in its next versions; unless you're
+ writing a<sgmltag>&lt;book></sgmltag>, it will probably be best to
+ contribute to that rather than developing your own.
+ </para>
+ </sect2>
+<!-- ####### Basics of Documentation Style | Grammar & Spelling ####### -->
+
+ <sect2 id="stylegrammar">
+ <title>Grammar and Spelling</title>
+ <para>
+ Nobody expects you to be perfect; they just expect the
+ documentation for their software to be error-free. That means
+ that, in the same way that developers look for bugs and accept
+ bug reports, writers must check for errors in their documents.
+ Poor grammar, bad spelling, and gross technical errors in
+ draft documents are fine. However, if those problems show up
+ in a "real" release, they can count against the credibility of
+ GNOME and Linux. They'll also make you look bad.
+ </para>
+ <para>
+ There is no substitute for a human proofreader; use a
+ spell-check program, then read it over yourself, and then find
+ someone else to help you. Other GDP members are, of course,
+ willing and able to help you, but non-writers are often at
+ least as helpful.
+ </para>
+ <para>
+ Proofreading documents is both a also a good way to
+ familiarize yourself with documentation, and it certainly
+ makes you valuable to the GDP. Help other writers proof their
+ documents, and they will help you with yours.
+ </para>
+ </sect2>
+ </sect1>
+
+<!-- ################# Teamwork ############### -->
+
+ <sect1 id="teamwork">
+ <title>Teamwork</title> <!-- ####### Teamwork | Working With The
+GDP Team ####### -->
+
+ <sect2 id="teamworkgdp">
+ <title>Working With The GDP Team</title>
+ <para>
+ The GDP team is a valuable resource for any documentation
+ author. GDP members can answer most questions documentation
+ authors have during the course of their work. It is also
+ important to make sure you are not duplicating work of other
+ GDP members by visiting the <citetitle>GDP Documentation
+ Status Table</citetitle> (<ulink
+ url="http://www.gnome.org/gdp/doctable/"
+ type="http">http://www.gnome.org/gdp/doctable/</ulink>) and
+ assigning a documentation item to yourself. This table also
+ provides a forum for making suggestions and announcements for
+ each documentation item. The best way to get in touch with
+ GDP members is on the #docs IRC channel at irc.gnome.org or
+ else by emailing the <ulink type="http"
+ url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
+ <citetitle>gnome-doc-list mailing list</citetitle></ulink>.
+ </para>
+ <para>
+ After an author has finished a document (or even a draft
+ version of the document), it is a good idea to ask a member of
+ the GDP team to read the document, checking it for grammar,
+ proper DocBook markup, and clarity. One may typically find
+ another author to do this by either asking on the #docs IRC
+ channel at irc.gnome.org or by emailing the <ulink type="http"
+ url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
+ <citetitle>gnome-doc-list mailing list</citetitle></ulink>.
+ </para>
+ </sect2>
+
+<!-- ####### Teamwork | Working With Developers ####### -->
+
+ <sect2 id="teamworkdevelopers">
+ <title>Working With Developers</title>
+ <para>
+ Writing documentation typically involves a certain amount of
+ interaction with the developers of GNOME or the application
+ which is being documented. Often a document author will need
+ to ask the developer technical questions during the course of
+ writing a document. After the document is finished, it is good
+ idea to ask the developer to read the document to make sure it
+ is technically correct. The documentation author should also
+ make sure that the application author correctly binds and
+ packages the documentation with the application.
+ </para>
+ </sect2>
+
+<!-- ####### Teamwork | Working With Users #######
+
+ <sect2 id="teamworkusers">
+ <title>Working With Users</title>
+ <para>
+ Some document authors may wish to get feedback on their
+ documents directly from users. This may be done by ...
+ </para>
+ </sect2>-->
+ </sect1>
+
+<!-- ################# Finishing a Document ############### -->
+
+ <sect1 id="finishing">
+ <title>Finishing A Document</title>
+
+<!-- ####### Finishing a Document | Editting the Document ####### -->
+
+ <sect2 id="editting">
+ <title>Editing The Document</title>
+ <para>
+ When the document is finished, the document should be edited
+ by another member of the GDP for spelling, clarity, and
+ DocBook markup. It should also be read by an application
+ author to make sure the document is technically accurate.
+ </para>
+ </sect2>
+
+<!-- ####### Finishing a Document | Submitting the Document ####### -->
+
+ <sect2 id="submitting">
+ <title>Submitting The Document</title>
+ <para>
+ After the document has been edited and checked for technical
+ accuracy, it is ready to be combined with the application or
+ documentation package. This is typically done by passing the
+ document to the application or package developer. In some
+ cases, the documents can be committed directly into CVS,
+ however this should only be done after obtaining permission to
+ make CVS commits from the developer. Note that in many cases,
+ the application may need to be modified to correctly link to
+ the documentation. The packaging system (tarballs and binary
+ packages) may also need to be modified to include the
+ documentation in the package. Generally, this should be done
+ by the developers.
+ </para>
+ <para>
+ The final step is to email the GNOME Translation Team at
+ <email>gnome-i18n@nuclecu.unam.mx</email> to notify them that
+ there is a new document for them to translate.
+ </para>
+ </sect2>
+ </sect1>
+
+<!-- ################# Resources ############### -->
+
+ <sect1 id="resources">
+ <title>Resources</title>
+<!-- ####### Resources | Resources on the Web ####### -->
+
+ <sect2 id="resourcesweb">
+ <title>Resources On The Web</title> <para> The <ulink
+ type="http" url="http://developer.gnome.org/projects/gdp/">GNOME
+ Documentation Project Web page</ulink> lists current GDP
+ projects and members.
+ </para>
+ <para>
+ The <ulink url="http://www.gnome.org/gdp/doctable/"
+ type="http">GDP Documentation Status Table</ulink> tracks the
+ status of all the various documentation components of GNOME.
+ </para>
+ <para>
+ Norman Walsh's <ulink url="http://www.docbook.org"
+ type="http"> <citetitle>DocBook: The Definitive
+ Guide</citetitle></ulink> in an excellent book on DocBook,
+ available both online and in print.
+ </para>
+ </sect2>
+
+<!-- ####### Resources | Books ####### -->
+
+ <sect2 id="resourcesbooks">
+ <title>Books</title>
+ <para>
+ Docbook: The Definitive Guide is available in both printed
+ form and on the web at:
+ <ulink url="http://www.docbook.org/tdg/index.html">
+ <citetitle>Docbook: The Definitive Guide</citetitle>
+ </ulink>
+ </para>
+ </sect2>
+
+<!-- ####### Resources | Mailing Lists ####### -->
+
+ <sect2 id="mailinglists">
+ <title>Mailing Lists</title>
+ <para>
+ The <emphasis>gnome-docs-list</emphasis> mailing list is the
+ main discussion area for all contributors to the GNOME
+ Documentation Project. You can find out how to subscribe to
+ this list on <ulink
+ url="http://www.gnome.org/resources/mailing-lists.html"
+ type="http">GNOME Mailing Lists</ulink>. This is a rather
+ low-volume list, so you will not be flooded with messages.
+ </para>
+ </sect2>
+
+<!-- ####### Resources | IRC ####### -->
+
+ <sect2 id="irc">
+ <title>IRC</title>
+ <para>
+ Internet Relay Chat (IRC) is a fast and easy way to get in
+ touch with other GDP members. There are generally at least a
+ few members here who can answer questions or discuss
+ documentation issues. The IRC channel is #docs at
+ irc.gnome.org.
+ </para>
+ </sect2>
+ </sect1>
+
+<!-- ################# Example Docs ###############
+
+ <appendix id="exampledocs">
+ <title>Example Docs</title>
+
+####### Example Docs | Example 1: Application Manual #######
+
+ <sect1 id="ex1">
+ <title>Example 1: Application Manual</title>
+ <programlisting>
+<![CDATA[ (Put sgml here.)]]> </programlisting>
+ </sect1>
+
+####### Example Docs | Example 2: Applet Manual #######
+
+ <sect1 id="ex2">
+ <title>Example 2: Applet Manual</title>
+ <programlisting>
+<![CDATA[(Put sgml here.)]]> </programlisting>
+ </sect1>
+
+##### Example Docs | Example 3: Application Context Sensitive Help ####
+
+ <sect1 id="ex3">
+ <title>Example 3: Application Context Sensitive Help</title>
+ <programlisting>
+<![CDATA[(Put sgml here.)]]> </programlisting>
+ </sect1>
+
+####### Example Docs | Example 4: Complete Application: gnome-hello #######
+
+ <sect1 id="ex4">
+ <title>Example 4: Complete Application: gnome-hello</title>
+ <programlisting>
+<![CDATA[(Put sgml here.)]]> </programlisting>
+ </sect1>
+
+####### Example Docs | Example 5: Tutorial #######
+
+ <sect1 id="ex5">
+ <title>Example 5: Tutorial</title>
+ <programlisting>
+<![CDATA[(Put sgml here.)]]> </programlisting>
+ </sect1>
+ </appendix>-->
+
+<!-- ################# Document Templates ############### -->
+
+ <appendix id="templates">
+ <title>Document Templates</title>
+<!-- ####### Document Templates | Templates 1: Application Manual ####### -->
+
+ <sect1 id="template1">
+ <title>Template 1: Application Manual</title>
+ <para>
+ The following template should be used for all application
+ manuals. You can always get the latest copy of this
+ template from <ulink type="http"
+ url="http://developer.gnome.org/projects/gdp/templates.html">GDP
+ Documentation Templates</ulink>.
+ <programlisting>
+
+<![CDATA[
+<!DOCTYPE Article PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
+ <!-- if not using PNG graphic, replace reference above with
+ .....PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
+ -->
+<!ENTITY version "1.0.53">
+ <!-- replace version above with actual application version number-->
+ <!-- Template Version: 1.0.1 (do not remove this line) -->
+]>
+
+
+<!-- This is a GNOME documentation template, designed by the GNOME
+ Documentation Project Team. Please use it for writing GNOME
+ documentation, making obvious changes. In particular, all the words
+ written in UPPERCASE (with the exception of GNOME) should be
+ replaced. As for "legalnotice", please leave the reference
+ unchanged.
+
+ Remember that this is a guide, rather than a perfect model to follow
+ slavishly. Make your manual logical and readable. And don't forget
+ to remove these comments in your final documentation! ;-)
+ -->
+
+<!-- =============Document Header ============================= -->
+
+<article id="index"> <!-- please do not change the id -->
+
+ <artheader>
+ <title>MY-GNOME-APP</title>
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-AUTHOR</holder>
+ </copyright>
+
+ <!-- translators: uncomment this:
+
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+
+ -->
+
+ <!-- do not put authorname in the header except in copyright - use
+ section "authors" below -->
+
+ <legalnotice>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the <citetitle>GNU Free
+ Documentation License</citetitle>, Version 1.1 or any later
+ version published by the Free Software Foundation with no
+ Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. You may obtain a copy of the <citetitle>GNU Free
+ Documentation License</citetitle> from the Free Software
+ Foundation by visiting <ulink type="http"
+ url="http://www.fsf.org">their Web site</ulink> or by writing
+ to: Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111-1307, USA.
+ </para>
+ <para>
+ Many of the names used by companies to distinguish their
+ products and services are claimed as trademarks. Where those
+ names appear in any GNOME documentation, and those trademarks
+ are made aware to the members of the GNOME Documentation
+ Project, the names have been printed in caps or initial caps.
+ </para>
+ </legalnotice>
+
+ <!-- this is the version of manual, not application -->
+ <releaseinfo>
+ This is version 1.0 of MY-GNOME-APP manual.
+ </releaseinfo>
+
+ </artheader>
+
+ <!-- ============= Document Body ============================= -->
+
+ <!-- ============= Introduction ============================== -->
+ <sect1 id="intro">
+ <title>Introduction</title>
+
+ <para>
+ <application>MY-GNOME-APP</application> is an application which
+ proves mathematical theorems. It has all the basic features
+ expected from a mathematical theorem prover, as well as a number
+ of advanced ones, such as proof by confusion. In fact, many of
+ the proofs produced by <application>MY-GNOME-APP</application>
+ are so complex that they are capable of proving almost anything
+ with a virtually null likelihood of being disproven. It also has
+ the very popular predecessor of proof by confusion, proof by
+ dialog, first implemented by Plato.
+ </para>
+ <para>
+ It also allows you to save and print theorem proofs and to add
+ comments to the proofs it produces.
+ </para>
+
+ <para>
+ To run <application>MY-GNOME-APP</application>, select
+ <menuchoice>
+ <guisubmenu>SUBMENU</guisubmenu>
+ <guimenuitem>MY-GNOME-APP</guimenuitem>
+ </menuchoice>
+ from the <guimenu>Main Menu</guimenu>, or type
+ <command>MYGNOMEAPP</command> on the command line.
+ </para>
+
+ <para>
+ <application>MY-GNOME-APP</application> is included in the
+ <filename>GNOME-PACKAGE</filename> package, which is part of the
+ GNOME desktop environment. This document describes version
+ &version; of <application>MY-GNOME-APP</application>.
+ </para>
+ </sect1>
+
+
+ <!-- ================ Usage ================================ -->
+ <!-- This section should describe basic usage of the application. -->
+
+ <sect1 id="usage">
+ <title>Using MY-GNOME-APP</title>
+ <para>
+ <application>MY-GNOME-APP</application> can be used to produce a
+ perfect proof of <emphasis>any</emphasis> mathematical theorem
+ (provided, of course, that this theorem is correct), thus
+ providing for new users an easy-to-use graphical interface to
+ modern mathematics. This section describes basic usage of
+ <application>MY-GNOME-APP</application>.
+ </para>
+
+ <!-- ========= Basic Usage =========================== -->
+ <sect2 id="mainwin">
+ <title>Basic usage</title>
+ <para>
+ Starting <application>MY-GNOME-APP</application> opens the
+ <interface>Main window</interface>, shown in <xref
+ linkend="mainwindow-fig">. The window is at first empty.
+
+ <!-- ==== Figure ==== -->
+ <figure id="mainwindow-fig">
+ <title>MY-GNOME-APP Main Window</title>
+ <screenshot>
+ <screeninfo>MY-GNOME-APP Main Window</screeninfo>
+ <graphic fileref="SCREENSHOT" format="png" srccredit="ME">
+ </graphic>
+ </screenshot>
+ </figure>
+ <!-- ==== End of Figure ==== -->
+ </para>
+
+
+ <!-- For this app, one could put "proving" or "edit" (probably even
+ both of them) as sect2's seperate from the main window
+ section. Since they were both so closely involved with the main
+ window, I decided to have them as sect3's isntead. Judgement
+ call. -->
+
+ <sect3 id="proving">
+ <title>Proving a Theorem</title>
+ <para>
+ To get a proof of a theorem, select
+ <menuchoice>
+ <guisubmenu>File</guisubmenu>
+ <guimenuitem>New</guimenuitem>
+ </menuchoice>,
+ which will
+ bring up the <interface>New Proof</interface> dialog box.
+ Enter the statement of the theorem in the
+ <guilabel>Theorem statement</guilabel> field, select your
+ desired proof type from the drop-down menu, and and press
+ <guibutton>Prove!</guibutton>.
+ </para>
+ <para>
+ If <application>MY-GNOME-APP</application> cannot prove the
+ theorem by the method you have chosen, or if you have not
+ selected a proof type at all,
+ <application>MY-GNOME-APP</application> will attempt to
+ choose the one that it thinks is most conclusive. In order,
+ it will attempt to prove the theorem with the following techniques:
+
+ <variablelist>
+ <varlistentry>
+ <term>Deduction</term>
+ <listitem>
+ <para>
+ This is a proof method that is generally accepted
+ for full credit by Logic professors.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Induction</term>
+ <listitem>
+ <para>
+ This logical style will also earn you full credit on
+ your homework.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Dialog</term>
+ <listitem>
+ <para>
+ This logical method is best for Philosophy classes,
+ and will probably only merit partial credit on Logic
+ or Mathematics homework.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Confusion</term>
+ <listitem>
+ <para>
+ Suitable only for political debates, battles of wits
+ against the unarmed, and Philosophy classes focusing
+ on the works of Kant. Use with caution.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ <!-- You might want to include a note, warning, or tip, e.g. -->
+
+ <warning>
+ <title>Proving Incorrect Theorms</title>
+ <para>
+ <application>MY-GNOME-APP</application> cannot prove
+ incorrect theorems. If the theorem you have entered is not
+ demonstrably true, you will get a message to that effect
+ in the main window. To disprove a theorem, ask
+ <application>MY-GNOME-APP</application> to prove its
+ logical inverse.
+ </para>
+ </warning>
+ </sect3>
+ <sect3 id="editing">
+ <title>Editing Proofs</title>
+ <para>
+ Once you have proven the theorem, it will be displayed in
+ the <interface>main window</interface>. There, you can read
+ it over, choose text styles for different portions of it,
+ and make comments on it. This section will guide you through
+ that process.
+ </para>
+ <para>
+ To alter text styles, first select the statement you wish to
+ change by clicking on it once. You can select several
+ statements by Then, choose the style you want to apply from
+ the <guisubmenu>Style</guisubmenu> submenu of the
+ <guimenu>Edit</guimenu> menu.
+ <application>MY-GNOME-APP</application> will convert the
+ text to that style.
+ </para>
+ <para>
+ You can also enter comments on a statement by selecting that
+ statement, and then beginning to type. Comments will appear
+ after the statement you have selected.
+ </para>
+
+ <note>
+ <title>Altering The Proofs Themselves</title>
+ <para>
+ <application>MY-GNOME-APP</application> does not allow you
+ to alter a proof it has produced itself. You can, save
+ your proof as a plain text file (using the
+ <guimenuitem>Save as...</guimenuitem> menu), and alter it
+ that way. Be aware, however, that
+ <application>MY-GNOME-APP</application> uses its own file
+ format for saved proofs, and cannot re-open a file unless
+ it is in the .mga format.
+ </para>
+ </note>
+ </sect3>
+
+
+ <!-- If there are other functions performed from the main window,
+ they belong here. -->
+
+ </sect2>
+
+ <!-- =========================================================
+ Additional Sect2's should describe additional windows, such as
+ larger dialog boxes, or functionality that differs significantly
+ from the most immediate functions of the application. Make the
+ structure logical.
+ ============================================================= -->
+
+
+ <sect2 id="toolbar">
+ <title>Toolbar</title>
+ <para>
+ The toolbar (shown in <xref linkend="figure-usage-toolbar">)
+ provides access to several commonly used routines.
+ <figure id="figure-usage-toolbar">
+ <title>MY-GNOME-APP Toolbar</title>
+ <screenshot>
+ <screeninfo>MY-GNOME-APP Toolbar</screeninfo>
+ <graphic fileref="usage-toolbar.png" format="png"></graphic>
+ </screenshot>
+ </figure>
+ <variablelist>
+ <varlistentry>
+ <term>New</term>
+ <listitem>
+ <para>
+ Brings up the <interface>New Theorem</interface>
+ dialog.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Open</term>
+ <listitem>
+ <para>
+ Open an exisiting theorem you want to prove, or a
+ completed proof you wish to print or format.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Save</term>
+ <listitem>
+ <para>
+ Save the current theorem permanently in a
+ file.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </sect2>
+ <!-- ========= Menus =========================== -->
+
+ <sect2 id="menubar">
+
+ <!-- Describing the menubar ensures comprehensive feature
+ coverage. Nest itemizedlists inside variablelists so that each
+ menu is easily located by indexing software. Proper indentation
+ makes it easier! -->
+
+ <title>Menus</title>
+ <para>
+ The menu bar, located at the top of the <interface>Main
+ Window</interface>, contains the following menus:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><guimenu>File</guimenu></term>
+ <listitem>
+ <para>
+ This menu contains:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <menuchoice>
+ <shortcut>
+ <keycap>F3</keycap>
+ </shortcut>
+ <guimenuitem>Open</guimenuitem>
+ </menuchoice>
+ &mdash; This opens a file which is saved on your computer.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <menuchoice>
+ <shortcut>
+ <keycombo><keycap>Ctrl</keycap><keycap>S</keycap></keycombo>
+ </shortcut>
+ <guimenuitem>Save</guimenuitem>
+ </menuchoice>
+ &mdash; This saves your file.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <menuchoice>
+ <shortcut>
+ <keycombo><keycap>Ctrl</keycap><keycap>W</keycap></keycombo>
+ </shortcut>
+ <guimenuitem>Close</guimenuitem>
+ </menuchoice>
+ &mdash; This closes your file.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <menuchoice>
+ <shortcut>
+ <keycombo><keycap>Ctrl</keycap><keycap>Q</keycap></keycombo>
+ </shortcut>
+ <guimenuitem>Exit</guimenuitem>
+ </menuchoice>
+ &mdash; This quits the application.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guimenu>Edit</guimenu></term>
+ <listitem>
+ <para>
+ This menu contains:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <menuchoice>
+ <shortcut>
+ <keycombo><keycap>Ctrl</keycap><keycap>X</keycap></keycombo>
+ </shortcut>
+ <guimenuitem>Cut</guimenuitem>
+ </menuchoice>
+ &mdash; This removes any text or data which is selected and
+ places it in the buffer.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <menuchoice>
+ <shortcut>
+ <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo>
+ </shortcut>
+ <guimenuitem>Copy</guimenuitem>
+ </menuchoice>
+ &mdash; This copies any text or data which is selected into
+ the buffer.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <menuchoice>
+ <shortcut>
+ <keycombo><keycap>Ctrl</keycap><keycap>V</keycap></keycombo>
+ </shortcut>
+ <guimenuitem>Paste</guimenuitem>
+ </menuchoice>
+ &mdash; This pastes any text or data which is copied into
+ the buffer.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guimenuitem>COMMAND1&hellip;</guimenuitem>
+ &mdash; This opens the <interface>COMMAND1</interface>
+ dialog, which is used to ....
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guimenuitem>COMMAND2</guimenuitem>
+ &mdash; This ....
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term><guimenu>Settings</guimenu></term>
+ <listitem>
+ <para>
+ This menu contains:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <guimenuitem>Preferences&hellip;</guimenuitem>
+ &mdash; This opens the <link
+ linkend="prefs"><interface>Preferences
+ Dialog</interface></link>, which allows you to configure
+ many settings.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guimenuitem>COMMAND3</guimenuitem> &mdash;
+ This command does something.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guimenu>Help</guimenu></term>
+ <listitem>
+ <para>
+ This menu contains:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <guimenuitem>Manual</guimenuitem> &mdash; This
+ opens the <application>GNOME Help
+ Browser</application> and displays this manual.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guimenuitem>About</guimenuitem> &mdash; This
+ opens the <interface>About</interface> dialog
+ which shows basic information about
+ <application>MY-GNOME-APP</application>, such as
+ the author's name, the application version number,
+ and the URL for the application's Web page if one
+ exists.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+ </sect1>
+
+
+
+ <!-- ============= Customization ============================= -->
+
+ <sect1 id="prefs">
+ <title>Customization</title>
+ <para>
+ To change the application settings, select
+ <menuchoice>
+ <guimenu>Settings</guimenu>
+ <guimenuitem>Preferences...</guimenuitem>
+ </menuchoice>. This opens the
+ <interface>Preferences</interface> dialog, shown in <xref
+ linkend="preferences-fig">.
+ </para>
+
+ <figure id="preferences-fig">
+ <title>Preferences Dialog</title>
+ <screenshot>
+ <screeninfo>Preferences Dialog</screeninfo>
+ <graphic fileref="SCREENSHOT" format="png"
+ srccredit="ME">
+ </graphic>
+ </screenshot>
+ </figure>
+
+ <para>
+ The properties in the <guilabel>PREFSTABNAME</guilabel> tab are:
+
+ <!--many people use itemizedlists in cases like this. Variablelists
+ are more appropriate -->
+
+ <variablelist>
+ <varlistentry>
+ <term> <guilabel>Default Text Style</guilabel></term>
+ <listitem>
+ <para>
+ Select the default text style for statements in your
+ proof. You can still change the style for individual
+ proofs or sections of a proof at a later date.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>(Configuration Item Label)</term>
+ <listitem>
+ <para>
+ (Description of Configuration)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>(Configuration Item Label)</term>
+ <listitem>
+ <para>
+ (Description of Configuration)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ <para>
+ The properties in the <guilabel>SECONDTABNAME</guilabel> tab are:
+ <variablelist>
+ <varlistentry>
+ <term>(Configuration Item Label)</term>
+ <listitem>
+ <para>
+ (Description of Configuration)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>(Configuration Item Label)</term>
+ <listitem>
+ <para>
+ (Description of Configuration)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ <para>
+ After you have made all the changes you want, click on
+ <guibutton>OK</guibutton> to apply the changes and close the
+ <interface>Properties</interface> dialog. To cancel the changes
+ and return to previous values, click the
+ <guibutton>Close</guibutton> button.
+ </para>
+
+ </sect1>
+
+
+ <!-- ============= Various Sections ============================= -->
+
+ <!-- Here you should add, if necessary, several more sect1's,
+ describing other windows (besides the main one), file formats,
+ preferences dialogs, etc. as appropriate. Try not to make any of
+ these sections too long. -->
+
+
+ <!-- ============= Bugs ================================== -->
+ <!-- This section should describe known bugs and limitations of
+ the program if there are any - please be frank and list all
+ problems you know of. -->
+ <sect1 id="bugs">
+ <title>Known Bugs and Limitations</title>
+ <para>
+ This application has no known bugs.
+ </para>
+ </sect1>
+
+
+<!-- ============= Authors ================================ -->
+
+ <sect1 id="authors">
+ <title>Authors</title>
+ <para>
+ <application>MY-GNOME-APP</application> was written by GNOME-HACKER
+ (<email>hacker@gnome.org</email>). To find more information about
+ <application>MY-GNOME-APP</application>, please visit the <ulink
+ url="http://www.my-gnome-app.org" type="http">MY-GNOME-APP Web
+ page</ulink>. Please send all comments, suggestions, and bug
+ reports to the <ulink url="http://bugs.gnome.org" type="http">GNOME
+ bug tracking database</ulink>. (Instructions for submitting bug
+ reports can be found <ulink
+ url="http://bugs.gnome.org/Reporting.html" type="http">
+ on-line</ulink>.) You can also use <application>Bug Report
+ Tool</application> (<command>bug-buddy</command>), available in the
+ <guisubmenu>Utilities</guisubmenu> submenu of <guimenu>Main
+ Menu</guimenu>, for submitting bug reports.
+ </para>
+
+ <para>
+ This manual was written by ME
+ (<email>MYNAME@MYADDRESS</email>). Please send all comments and
+ suggestions regarding this manual to the <ulink type="http"
+ url="http://developer.gnome.org/projects/gdp">GNOME Documentation
+ Project</ulink> by sending an email to
+ <email>docs@gnome.org</email>. You can also add your comments online
+ by using the <ulink type="http"
+ url="http://www.gnome.org/gdp/doctable/">GNOME Documentation Status
+ Table</ulink>.
+ </para>
+
+ <!-- For translations: uncomment this:
+
+ <para>
+ Latin translation was done by ME
+ (<email>MYNAME@MYADDRESS</email>). Please send all comments and
+ suggestions regarding this translation to SOMEWHERE.
+ </para>
+
+ -->
+
+ </sect1>
+
+
+ <!-- ============= Application License ============================= -->
+
+ <sect1 id="license">
+ <title>License</title>
+ <para>
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the <citetitle>GNU General Public
+ License</citetitle> as published by the Free Software Foundation;
+ either version 2 of the License, or (at your option) any later
+ version.
+ </para>
+ <para>
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ <citetitle>GNU General Public License</citetitle> for more details.
+ </para>
+ <para>
+ A copy of the <citetitle>GNU General Public License</citetitle> is
+ included as an appendix to the <citetitle>GNOME Users
+ Guide</citetitle>. You may also obtain a copy of the
+ <citetitle>GNU General Public License</citetitle> from the Free
+ Software Foundation by visiting <ulink type="http"
+ url="http://www.fsf.org">their Web site</ulink> or by writing to
+ <address>
+ Free Software Foundation, Inc.
+ <street>59 Temple Place</street> - Suite 330
+ <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>
+ <country>USA</country>
+ </address>
+ </para>
+ </sect1>
+</article>
+
+
+
+
+
+
+
+
+
+]]>
+
+
+</programlisting>
+ </para>
+ </sect1>
+
+<!-- ####### Document Templates | Templates 2-1.x: Applet Manual ####### -->
+
+ <sect1 id="template2-1x">
+ <title>Template 2: Applet Manual For GNOME 1.x</title>
+ <para>
+ The following templates should be used for all applet
+ manuals in GNOME 1.x releases. You can always get the latest
+ copy of these templates from <ulink type="http"
+ url="http://developer.gnome.org/projects/gdp/templates.html">GDP
+ Documentation Templates</ulink>. Note that the template
+ consists of two files; the first file calls the second as an
+ entity. You should name the first file
+ <filename><replaceable>appletname</replaceable>-applet.sgml</filename>
+ and the second file should be named
+ <filename><replaceable>appletname</replaceable>.sgml</filename>,
+ where
+ <filename><replaceable>appletname</replaceable></filename> is
+ the name of the applet.
+ <programlisting>
+
+<![CDATA[
+<!DOCTYPE Article PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
+ <!entity APPLETNAME.sgml SYSTEM "applet_template_1.sgml">
+ <!-- Template Version: 1.0.1 (do not remove this line) -->
+]>
+
+<!-- This is a GNOME documentation template, designed by the GNOME
+ Documentation Project Team. Please use it for writing GNOME
+ documentation, making obvious changes. In particular, all the words
+ written in UPPERCASE (with the exception of GNOME) should be
+ replaced. As for "legalnotice", please leave the reference
+ unchanged,make sure to add/remove trademarks to the list as
+ appropriate for your document.
+
+ Please don't forget to remove these comments in your final documentation,
+ thanks ;-).
+-->
+
+<article id="index"> <!-- please do not change the id -->
+
+ <!-- ============= Document Header ============================= -->
+ <artheader>
+ <title>APPLETNAME Applet</title>
+ <copyright>
+ <year>2000</year>
+ <holder>YOURFULLNAME</holder>
+ </copyright>
+
+ <!-- translators: uncomment this:
+
+ <copyright>
+ <year>2000</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+
+ -->
+
+ <!-- do not put authorname in the header except in copyright - use
+ section "authors" below -->
+
+ <legalnotice>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the <citetitle>GNU Free Documentation
+ License</citetitle>, Version 1.1 or any later version published
+ by the Free Software Foundation with no Invariant Sections, no
+ Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy
+ of the <citetitle>GNU Free Documentation License</citetitle> from
+ the Free Software Foundation by visiting <ulink type="http"
+ url="http://www.fsf.org">their Web site</ulink> or by writing to:
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+ </para>
+ <para>
+ Many of the names used by companies to distinguish their products and
+ services are claimed as trademarks. Where those names appear in any
+ GNOME documentation, and those trademarks are made aware to the members
+ of the GNOME Documentation Project, the names have been printed in caps
+ or initial caps.
+ </para>
+ </legalnotice>
+
+ <releaseinfo>
+ This is version XXX of the APPLETNAME applet manual.
+ </releaseinfo>
+ </artheader>
+
+ <!-- ============= Document Body ============================= -->
+
+ &APPLETNAME.sgml;
+
+</article>
+
+
+]]>
+
+
+</programlisting>
+ <programlisting>
+<![CDATA[
+ <!-- Template Version: 1.0.1 (do not remove this line) -->
+
+ <sect1 id="APPLET">
+ <title>APPLET Applet</title>
+
+ <para>
+ <application>APPLET</application> applet, shown in <xref
+ linkend="APPLETapplet-fig">, allows you to &hellip;. To add this
+ applet to a <interface>Panel</interface>,
+ right-click on the <interface>Panel</interface> and choose
+ <menuchoice>
+ <guimenu>Panel</guimenu>
+ <guisubmenu>Add to panel</guisubmenu>
+ <guisubmenu>Applet</guisubmenu>
+ <guisubmenu>SECTION</guisubmenu>
+ <guimenuitem>APPLET</guimenuitem>
+ </menuchoice>.
+ </para>
+
+ <figure id="APPLETapplet-fig">
+ <title>APPLET Applet</title>
+ <screenshot>
+ <screeninfo>APPLET Applet</screeninfo>
+ <graphic format="png" fileref="APPLET_applet"
+ srccredit="YOURNAME">
+ </graphic>
+ </screenshot>
+ </figure>
+
+ <!-- ============= Usage ================================ -->
+ <sect2 id="APPLET-usage">
+ <title>Usage</title>
+ <para>
+ (Place a short description of how to use the applet here.)
+ </para>
+
+ <para>
+ Right-clicking on the applet brings up a menu containing the
+ following items:
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <guimenuitem>Properties&hellip;</guimenuitem> &mdash;
+ opens the <link linkend="APPLET-prefs">
+ <guilabel>Properties</guilabel></link> dialog.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guimenuitem>Help</guimenuitem> &mdash;
+ displays this document.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guimenuitem>About&hellip;</guimenuitem> &mdash;
+ shows basic information about <application>APPLET
+ Applet</application>, including the applet's version and the
+ author's name.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </para>
+ </sect2>
+
+
+ <!-- ============= Customization ============================= -->
+ <sect2 id="APPLET-prefs">
+ <title>Customization</title>
+ <para>
+ You can customize <application>APPLET</application>
+ applet by right-clicking on it and choosing
+ <guimenuitem>Properties&hellip;</guimenuitem>. This will open the
+ <interface>Properties</interface> dialog(shown in <xref
+ linkend="APPLET-settings-fig">), which allows you to
+ change various settings.
+ </para>
+
+ <figure id="APPLET-settings-fig">
+ <title>Properties dialog</title>
+ <screenshot>
+ <screeninfo>Properties dialog</screeninfo>
+ <graphic format="png" fileref="APPLET_settings"
+ srccredit="YOURNAME">
+ </graphic>
+ </screenshot>
+ </figure>
+
+ <para>
+ The properties are:
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ (Configuration Item Label) &mdash; If this button is
+ checked&hellip;(description)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ (Configuration Item Label) &mdash; Selecting this
+ button&hellip;(description)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ (Configuration Item Label) &mdash; Enter the name of
+ &hellip;(description)
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ After you have made all the changes you want, click on
+ <guibutton>OK</guibutton> to apply the changes and close the
+ <interface>Properties</interface> dialog. To cancel the changes
+ and return to previous values, click the
+ <guibutton>Close</guibutton> button.
+ </para>
+ </sect2>
+
+
+ <!-- ============= Bugs ================================== -->
+ <!-- This section should describe known bugs and limitations of
+ the program if there are any - please be frank and list all
+ problems you know of -->
+ <sect2 id="bugs">
+ <title>Known Bugs and Limitations</title>
+ <para>
+ This applet has no known bugs.
+ </para>
+ </sect2>
+
+
+ <!-- ============= Authors ================================ -->
+
+ <sect2 id="authors">
+ <title>Authors</title>
+ <para>
+ <application>APPLET</application> was written by GNOME-HACKER
+ (<email>hacker@gnome.org</email>). Please send all comments,
+ suggestions, and bug
+ reports to the <ulink url="http://bugs.gnome.org" type="http">GNOME
+ bug tracking database</ulink>. (Instructions for submitting bug
+ reports can be found <ulink
+ url="http://bugs.gnome.org/Reporting.html" type="http">
+ on-line</ulink>. You can also use <application>Bug Report
+ Tool</application> (<command>bug-buddy</command>), available in the
+ <guisubmenu>Utilities</guisubmenu> submenu of <guimenu>Main
+ Menu</guimenu>, for submitting bug reports.
+ </para>
+
+ <para>
+ This manual was written by ME
+ (<email>MYNAME@MYADDRESS</email>). Please send all comments and
+ suggestions regarding this manual to the <ulink type="http"
+ url="http://developer.gnome.org/projects/gdp">GNOME Documentation
+ Project</ulink> by sending an email to
+ <email>docs@gnome.org</email>. You can also submit comments online
+ by using the <ulink type="http"
+ url="http://www.gnome.org/gdp/doctable/">GNOME Documentation
+ Status Table</ulink>.
+ </para>
+
+ <!-- For translations: uncomment this:
+
+ <para>
+ Latin translation was done by ME
+ (<email>MYNAME@MYADDRESS</email>). Please send all comments and
+ suggestions regarding this translation to SOMEWHERE.
+ </para>
+
+ -->
+
+ </sect2>
+
+
+ <!-- ============= Application License ============================= -->
+
+ <sect2 id="license">
+ <title>License</title>
+ <para>
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the <citetitle>GNU General Public
+ License</citetitle> as published by the Free Software Foundation;
+ either version 2 of the License, or (at your option) any later
+ version.
+ </para>
+ <para>
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ <citetitle>GNU General Public License</citetitle> for more details.
+ </para>
+ <para>
+ A copy of the <citetitle>GNU General Public License</citetitle> is
+ included as an appendix to the <citetitle>GNOME Users
+ Guide</citetitle>. You may also obtain a copy of the
+ <citetitle>GNU General Public License</citetitle> from the Free
+ Software Foundation by visiting <ulink type="http"
+ url="http://www.fsf.org">their Web site</ulink> or by writing to
+ <address>
+ Free Software Foundation, Inc.
+ <street>59 Temple Place</street> - Suite 330
+ <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>
+ <country>USA</country>
+ </address>
+ </para>
+ </sect2>
+
+ </sect1>
+
+
+
+
+]]>
+
+
+
+</programlisting>
+ </para>
+ </sect1>
+
+<!-- ####### Document Templates | Templates 2-2.x: Applet Manual ####### -->
+
+ <sect1 id="template2-2x">
+ <title>Template 2: Applet Manual For GNOME 2.x</title>
+ <para>
+ The following templates should be used for all applet
+ manuals in GNOME 2.x releases. You can always get the latest
+ copy of these templates from <ulink type="http"
+ url="http://developer.gnome.org/projects/gdp/templates.html">GDP
+ Documentation Templates</ulink>.
+ </para>
+ <para>
+ Note that this template consists of two files. The first file
+ is an introductory chapter. You should not modify this
+ chapter. The second file is the actual applet document, which
+ you should modify to describe the applet you are documenting.
+ You can name the first file whatever you like, such as
+ <filename>gnome-applets.sgml</filename>. Name the second file
+ according to the applet's name:
+ <filename><replaceable>appletname</replaceable>-applet.sgml</filename>.
+ Make sure you update the entity
+ at the top of the shell document to reflect the new name of
+ the applet document.
+ </para>
+ <para>
+ <programlisting>
+<![CDATA[
+<!DOCTYPE book PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
+<!ENTITY TEMPLATE-APPLET SYSTEM "gnome-applet-template.sgml.part">
+
+]>
+
+<book id="gnome-applets">
+
+ <bookinfo>
+ <title>GNOME Applets</title>
+ <authorgroup>
+ <author><firstname>Telsa</firstname><surname>Gwynne</surname></author>
+ <author><firstname>John</firstname><surname>Fleck</surname></author>
+ <author><firstname>David</firstname><surname>Mason</surname>
+ <affiliation><orgname>Red Hat, Inc.</orgname></affiliation>
+ </author>
+ <author><firstname>Dan</firstname><surname>Mueth</surname></author>
+ <author><firstname>Alexander</firstname><surname>Kirillov</surname></author>
+ </authorgroup>
+ <edition>GNOME Applets version 0.1 for GNOME 1.1.5</edition>
+ <pubdate>2000</pubdate>
+ <copyright>
+ <year>2000</year>
+ <holder>Telsa Gwynne, John Fleck, Red Hat Inc., Dan Mueth, and
+ Alexander Kirillov</holder>
+ </copyright>
+ <legalnotice>
+ <para>
+ Permission is granted to make and distribute verbatim copies of this
+ manual provided the copyright notice and this permission notice are
+ preserved on all copies.
+ </para>
+ <para>
+ Permission is granted to copy and distribute modified versions of
+ this manual under the conditions for verbatim copying, provided that
+ the entire resulting derived work is distributed under the terms of a
+ permission notice identical to this one.
+ </para>
+ <para>
+ Permission is granted to copy and distribute translations of this
+ manual into another language, under the above conditions for modified
+ versions, except that this permission notice may be stated in a
+ translation approved by the Free Software Foundation.
+ </para>
+ <para>
+ Many of the names used by companies to distinguish their products and
+ services are claimed as trademarks. Where those names appear in any
+ GNOME documentation, and those trademarks are made aware to the members
+ of the GNOME Documentation Project, the names have been printed in caps
+ or initial caps.
+ </para>
+ </legalnotice>
+ </bookinfo>
+
+ <!-- #### Introduction ###### -->
+ <chapter id="applets-intro">
+ <title>Introduction</title>
+
+ <!-- #### Intro | What Are Applets? ###### -->
+ <sect1 id="applets-what-are">
+ <title>What Are Applets?</title>
+ <para>
+ Applets are one of the most popular and useful objects you can add
+ to your <interface>Panel</interface> to customize your desktop.
+ An applet is a small application which runs inside a small area of
+ your <interface>Panel</interface>. Applets have been written for
+ a wide range of purposes. Some are very powerful interactive
+ tools, such as the <application>Tasklist</application> Applet
+ which allows you to easily
+ control all of your main applications. Others are simple system
+ monitors, displaying information such as the amount of power left
+ in the battery on your laptop (see <application>Battery Charge
+ Monitor</application>) or weather
+ information(see <application>GNOME Weather</application>). Some
+ are simply for amusement(see <application>Fish</application>).
+ </para>
+
+ <para>
+ Applets are similar to swallowed applications in that both of them
+ reside within the <interface>Panel</interface>. However,
+ swallowed applications are generally applications which were
+ not designed to run within the <interface>Panel</interface>.
+ Typically one will swallow an application which already exists in
+ the main <interface>desktop</interface> area, putting it into your
+ <interface>Panel</interface>. The application will continue to
+ run in the <interface>Panel</interface> until you end the
+ application or unswallow it, placing it back onto the main part of
+ your desktop when you need to.
+ </para>
+
+ <para>
+ <figure id="example-applets-fig">
+ <title>Example Applets</title>
+ <screenshot>
+ <screeninfo>Example Applets</screeninfo>
+ <graphic fileref="example_applets" format="png"
+ srccredit="muet">
+ </graphic>
+ </screenshot>
+ </figure>
+ Several example applets are shown in <xref
+ linkend="example-applets-fig">. From left to right, they are: (1)
+ <application>Mixer Applet</application>, which allows you to turn
+ on/off sound and control its volume by clicking on the applet. (2)
+ <application>Sound Monitor</application> Applet, which displays
+ the current volume of sound being played and allows you to control
+ various sound features. (3) <application>GTCD</application>
+ Applet, a CD player which has all its controls
+ available in the applet and displays the track and time. (4)
+ <application>Drive Mount</application> Applet, used to mount and
+ unmount drives with a single click of the mouse. (5)
+ <application>Desk Guide</application> which allows you to view
+ and control multiple virtual screens. (6)
+ <application>Tasklist</application> Applet which allows you to
+ control your various windows and applications.
+ </para>
+ <para>
+ There are many other applets to choose from. The rest of this
+ chapter will explain the basic information to get you started
+ adding, moving, and removing applets from your
+ <interface>Panels</interface> and using them. The following
+ chapters go through each of the standard GNOME applets describing
+ them in detail. There are also additional applets which can be
+ downloaded off the Web. See <ulink type="http"
+ url="http://www.gnome.org/applist/list-martin.phtml">The GNOME
+ Software Map</ulink> for lists of additional GNOME applications
+ and applets.
+ </para>
+ <para>
+ As you read through the the rest of this chapter, you should try
+ adding and removing applets from your <interface>Panel</interface> and
+ experiment with them freely.
+ </para>
+ </sect1>
+
+ <!-- #### Intro | Adding, Moving, and Removing Applets ###### -->
+ <sect1 id="applet-add-move-replace">
+ <title>Adding, Moving, and Removing Applets</title>
+
+ <sect2 id="adding-applets">
+ <title>Adding Applets to a Panel</title>
+ <para>
+ To add an applet to a <interface>Panel</interface>, right-click
+ on the <interface>Panel</interface> and select
+ <menuchoice><guimenu>Panel</guimenu><guisubmenu>Add to panel</guisubmenu>
+ <guisubmenu>Applet</guisubmenu></menuchoice>. This will show you
+ the menu of all the applets on your system, divided into
+ categories. Choosing any applet from this menu will add it to the
+ <interface>Panel</interface>.
+ </para>
+ </sect2>
+
+ <sect2 id="moving-applets">
+ <title>Moving Applets In or Between Panels</title>
+ <para>
+ It is easy to move applets in a <interface>Panel</interface> or
+ between two <interface>Panels</interface>. If you have a
+ three-button mouse, just move the mouse over the applet, depress
+ the middle mouse button and drag the applet to its new location,
+ releasing the middle mouse button when you are finished. Note
+ that you can drag applets within a <interface>Panel</interface>
+ or between two <interface>Panels</interface> this way. If you
+ don't have a three-button mouse, just
+ right-click on the applet and choose
+ <guimenuitem>Move</guimenuitem>. The cursor will turn into a
+ cross and the applet will move with your mouse until you press
+ any mouse button to indicate you are finished moving it.
+ If, in the course of this movement, it hits
+ other objects, the behavior depends on the global preferences
+ you have set for your <interface>Panels</interface> in the
+ <application>GNOME Control Center</application>: the applet you are
+ moving can switch places with other objects, "push" all objects
+ it meets, or "jump" over all other objects without disturbing
+ them. You can also override the default behavior by holding
+ <keycap>Shift</keycap> button (for "push" mode),
+ <keycap>Ctrl</keycap> (for "switched" mode), or
+ <keycap>Alt</keycap> (for "free" mode, i.e. jumping other other
+ objects without disturbing them) button while dragging.
+ </para>
+ <para>
+ To change the global Panel preferences, right-click on any applet
+ or <interface>Panel</interface> and select
+ <menuchoice>
+ <guimenu>Panel</guimenu>
+ <guimenuitem>Global Preferences...</guimenuitem>
+ </menuchoice>.
+ The <guilabel>Default movement mode</guilabel> is set under the
+ <guilabel>Applets</guilabel> tab.
+ </para>
+ </sect2>
+
+ <sect2 id="removing-applets">
+ <title>Removing Applets from a Panel</title>
+ <para>
+ To remove an applet from a <interface>Panel</interface>,
+ right-click on the applet and select <guimenuitem>Remove from
+ panel...</guimenuitem>.
+ </para>
+ </sect2>
+ </sect1>
+
+
+ <!-- #### Intro | The Right-Click Pop-Up Menu ###### -->
+ <sect1 id="right-click-pop-up-menu">
+ <title>The Right-Click Pop-Up Menu</title>
+ <para>
+ Clicking the right mouse button on any applet brings up
+ a <guimenu>pop-up menu</guimenu>. This
+ menu always has certain standard menu items in it and
+ often has additional items which vary depending on the particular
+ applet.
+ </para>
+ <sect2 id="standard-right-click-items">
+ <title>Standard Pop-Up Items</title>
+ <para>
+ All applets should have the following items in their right-click
+ <guimenu>pop-up menu</guimenu>:
+ <variablelist>
+ <varlistentry>
+ <term>Remove from panel</term>
+ <listitem>
+ <para>
+ The <guimenuitem>Remove from panel</guimenuitem> menu item
+ removes the applet from the <interface>Panel</interface>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Move</term>
+ <listitem>
+ <para>
+ After selecting <guimenuitem>Move</guimenuitem>, your mouse
+ pointer will change appearance (typically to a cross with
+ arrows in each direction). As you move your mouse, the applet
+ will move with it. When you have finished moving the applet,
+ click any mouse button and the applet will anchor in its
+ current position. Note that applets can be moved between two
+ <interface>Panels</interface> this way.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Panel</term>
+ <listitem>
+ <para>
+ The <guisubmenu>Panel</guisubmenu> submenu contains various
+ items and submenus for adding and removing
+ <interface>Panels</interface> and applets and for changing
+ the configuration.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>About</term>
+ <listitem>
+ <para>
+ The <guimenuitem>About...</guimenuitem> menu item brings up a
+ dialogue box containing various information about the applet,
+ typically including the applet's name, version, author,
+ copyright, license and desciption.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Help</term>
+ <listitem>
+ <para>
+ The <guimenuitem>Help</guimenuitem> menu item brings up the help
+ manual for the applet.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </sect2>
+
+ <sect2 id="applet-properties-dialog">
+ <title>The Applet Properties Dialog</title>
+ <para>
+ Many applets have customizable properties. These applets will
+ have a <guimenuitem>Properties...</guimenuitem> menu item in their
+ right-click <guimenu>pop-up menu</guimenu> which brings up the
+ <interface>Properties</interface> dialog where you can alter the
+ appearance or behaviour of the applet.
+ <figure id="example-props-dialog-fig">
+ <title>An Example Applet Properties Dialog</title>
+ <screenshot>
+ <screeninfo>An Example Applets Properties Dialog</screeninfo>
+ <graphic fileref="applet_props_dialog" format="png"
+ srccredit="muet">
+ </graphic>
+ </screenshot>
+ </figure>
+ All <interface>Properties</interface> dialogs have the following
+ buttons at the bottom of the dialog:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <guibutton>OK</guibutton> &mdash;
+ Pressing <guibutton>OK</guibutton> will activate any changes
+ in the properties you have made and close the
+ <interface>Properties</interface> dialog.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guibutton>Apply</guibutton> &mdash;
+ Pressing <guibutton>Apply</guibutton> at any time will
+ make your changes active without closing the
+ <interface>Properties</interface> dialog. This is helpful if
+ you would like to test the effects of the changes you have
+ made but may want to continue changing the properties.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guibutton>Close</guibutton> &mdash;
+ Pressing <guibutton>Close</guibutton> will close the
+ <interface>Properties</interface> dialog. Only changes in the
+ configuration which were previously applied with the
+ <guibutton>Apply</guibutton> button will persist. Other
+ changes will not be made active.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guibutton>Help</guibutton> &mdash;
+ Pressing <guibutton>Help</guibutton> brings up the manual for
+ the application, opening it to the page describing the
+ <interface>Properties</interface> dialog.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </sect2>
+
+ <sect2 id="common-right-click-items">
+ <title>Other Common Pop-Up Items</title>
+ <para>
+ Many applets also have one or more of the following items in their
+ right-click pop-up menu:
+ <variablelist>
+ <varlistentry>
+ <term>Run...</term>
+ <listitem>
+ <para>
+ The <guimenuitem>Run...</guimenuitem> menu item generally
+ invokes a program which is related to the applet in some way
+ but which runs in its own window rather than in the
+ panel. For example:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ The <application>CPU Load</application> applet, which monitors
+ what programs are running, has a <guimenuitem>Run
+ gtop...</guimenuitem> menu item. Selecting this menu item
+ starts <application>GTop</application>, which allows you to
+ view and control programs which are running.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The <application>CD Player</application> applet has a
+ <guimenuitem>Run gtcd...</guimenuitem> menu item which
+ starts the GNOME <application>CD Player</application> when
+ selected, which has more capabilities than the applet.
+ </para>
+ </listitem>
+ </orderedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1 id="feedback">
+ <title>Feedback</title>
+ <sect2 id="reporting-bugs">
+ <title>Reporting Applet Bugs</title>
+ <para>
+ GNOME users are encouraged to report bugs to <ulink type="http"
+ url="http://bugs.gnome.org">The GNOME Bug Tracking
+ System</ulink>. The easiest way to submit bugs is to use the
+ <application>Bug Report Tool</application> program by selecting
+ <menuchoice>
+ <guimenu>Main Menu</guimenu> <guisubmenu>Utilities</guisubmenu>
+ <guimenuitem>Bug Report Tool</guimenuitem>
+ </menuchoice>.
+ Be sure to be complete in describing what you did to cause the
+ bug to surface and, if possible, describe how the developer can
+ reproduce the the scenario.
+ </para>
+ </sect2>
+ <sect2 id="documentation-feedback">
+ <title>Providing Feedback</title>
+ <para>
+ GNOME users are welcome to provide suggestions for how
+ applications and documentation can be improved. Suggestions for
+ application changes should be submitted using the
+ <application>Bug Report Tool</application> discussed above.
+ Suggestions for documentation changes can be emailed directly to
+ the documentation author (whose email should be included in the
+ "Authors" section of the document) or by sending an email to
+ <email>docs@gnome.org</email>.
+ </para>
+ </sect2>
+ <sect2 id="joining-gnome">
+ <title>Joining GNOME</title>
+ <para>
+ GNOME is a community project, created by hundreds of programmers,
+ documentation writers, icon design artists, web masters, and
+ other people, most of whom work on a volunteer basis. New GNOME
+ contributors are always welcome. To join the GNOME team, visit
+ these web sites: developers &mdash; <ulink type="http"
+ url="http://developer.gnome.org">The GNOME Development
+ Site</ulink>, documentation writers &mdash; <ulink type="http"
+ url="http://developer.gnome.org/projects/gdp">The GNOME Documentation
+ Project</ulink>, icon design artists &mdash; <ulink type="http"
+ url="http://gnome-icons.sourceforge.net/">Gnome Icon Web</ulink>,
+ general &mdash; <ulink type="http"
+ url="http://developer.gnome.org/helping/">Helping GNOME</ulink>,
+ or just join the gnome-list email list (see <ulink type="http"
+ url="http://www.gnome.org/resources/mailing-lists.html">GNOME Mailing
+ Lists</ulink>) to discuss what you are interested in doing.
+ </para>
+ </sect2>
+ </sect1>
+ </chapter>
+
+ <!-- ############### Template Applets ##################### -->
+ <chapter id="template-applets">
+ <title>Template Applets</title>
+
+ &TEMPLATE-APPLET
+
+ </chapter>
+
+</book>
+
+
+
+
+
+
+
+]]>
+ </programlisting>
+
+ <programlisting>
+<![CDATA[
+
+ <!-- Please replace everywhere below GNOMEAPPLET with the name of -->
+ <!-- your applet. Most importantly, all id attributes should start -->
+ <!-- with the name of your applet - this is necessary to avoid name -->
+ <!-- conflict among different applets -->
+ <!-- Please replace YOUR-NAME with your name and YOUR-EMAIL with your email-->
+ <!-- Please replace HACKER-NAME with the applet author's name and -->
+ <!-- HACKER-EMAIL with the applet author's email -->
+
+ <!-- You should name your file: GNOMEAPPLET-applet.sgml -->
+ <!-- Screenshots should be in PNG format and placed in the -->
+ <!-- same directory as GNOMEAPPLET-applet.sgml -->
+
+ <!-- Applet docs will be merged into <chapter>'s inside a -->
+ <!-- <book>. Thus, the indentation below (2 spaces before the <sect1>) is -->
+ <!-- correct.-->
+
+ <!-- Permission is granted to make and distribute verbatim copies of -->
+ <!-- this manual provided the copyright notice and this permission -->
+ <!-- notice are preserved on all copies. -->
+ <!-- -->
+ <!-- Permission is granted to copy and distribute modified versions of -->
+ <!-- this manual under the conditions for verbatim copying, provided -->
+ <!-- that the entire resulting derived work is distributed under the -->
+ <!-- terms of a permission notice identical to this one. -->
+ <!-- -->
+ <!-- Permission is granted to copy and distribute translations of this -->
+ <!-- manual into another language, under the above conditions for -->
+ <!-- modified versions, except that this permission notice may be -->
+ <!-- stated in a translation approved by the Foundation. -->
+
+ <!-- ############### GNOMEAPPLET ############### -->
+ <sect1 id="GNOMEAPPLET">
+ <title>GNOMEAPPLET Applet</title>
+
+ <para>
+ <application>GNOMEAPPLET</application> applet, shown in <xref
+ linkend="GNOMEAPPLET-fig">, does this and that. To learn how to
+ add this applet to a <interface>Panel</interface>, see <xref
+ linkend="adding-applets">.
+ </para>
+
+
+ <figure id="GNOMEAPPLET-fig">
+ <title>GNOMEAPPLET</title>
+ <screenshot>
+ <screeninfo>GNOMEAPPLET</screeninfo>
+ <graphic format="png" fileref="GNOMEAPPLET-fig" srccredit="ME">
+ </graphic>
+ </screenshot>
+ </figure>
+
+ <sect2 id="GNOMEAPPLET-usage">
+ <title>Usage</title>
+ <para>
+ This applet does nothing. To use it, just
+ left-click on it and it will instantly do nothing.
+ </para>
+ </sect2>
+
+ <sect2 id="GNOMEAPPLET-right-click">
+ <title>Right-Click Pop-Up Menu Items</title>
+ <para>
+ In addition to the standard menu items (see <xref
+ linkend="standard-right-click-items">), the right-click pop-up menu has
+ the following items:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <guimenuitem>Properties...</guimenuitem> &mdash; This menu
+ item opens the <interface>Properties</interface> dialog (see
+ <xref linkend="GNOMEAPPLET-properties">) which allows you to
+ customize the appearance and behavior of this applet.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <guimenuitem>Run Hello World...</guimenuitem> &mdash; This
+ menu item starts the program <application>Hello
+ World</application>, used to say "hello" to the world.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </sect2>
+
+ <sect2 id="GNOMEAPPLET-properties">
+ <title>Properties</title>
+ <para>
+ You can configure <application>GNOMEAPPLET</application> applet by
+ right-clicking on the applet and choosing the
+ <guimenuitem>Properties...</guimenuitem> menu item. This will open the
+ <interface>Properties</interface> dialog, shown in <xref
+ linkend="GNOMEAPPLET-properties-fig">.
+ </para>
+ <figure id="GNOMEAPPLET-properties-fig">
+ <title>Properties Dialog</title>
+ <screenshot>
+ <screeninfo>Properties Dialog</screeninfo>
+ <graphic format="png" fileref="GNOMEAPPLET-properties" srccredit="ME">
+ </graphic>
+ </screenshot>
+ </figure>
+
+ <para>
+ To change the color of the applet, click on the
+ <guibutton>color</guibutton> button. To change other properties,
+ click on other buttons.
+ </para>
+
+ <para>
+ For more information on the <interface>Properties</interface>
+ dialog, including descriptions of the <guibutton>OK</guibutton>,
+ <guibutton>Apply</guibutton>, <guibutton>Cancel</guibutton>, and
+ <guibutton>Help</guibutton> buttons, see <xref
+ linkend="applet-properties-dialog">.
+ </para>
+ </sect2>
+
+ <sect2 id="GNOMEAPPLET-bugs">
+ <title> Known Bugs and Limitations</title>
+ <para>
+ There are no known bugs in the
+ <application>GNOMEAPPLET</application> applet.
+ </para>
+ </sect2>
+
+ <sect2 id="GNOMEAPPLET-authors">
+ <title>Authors</title>
+ <para>
+ This applet was writen by HACKER-NAME
+ <email>HACKER-EMAIL</email>. The documentation for this applet
+ which you are reading now was written by
+ YOUR-NAME <email>YOUR-EMAIL</email>. For information on submitting
+ bug reports and suggestions for improvements, see <xref
+ linkend="feedback">.
+ </para>
+ </sect2>
+
+ </sect1>
+
+
+
+
+
+]]>
+
+
+</programlisting>
+ </para>
+ </sect1>
+
+<!-- ####### Document Templates | Templates 3: Application Help #######
+
+ <sect1 id="template3">
+ <title>Template 2: Application Help</title>
+ <programlisting>
+<![CDATA[(Put sgml here.)]]> </programlisting>
+ </sect1>
+
+####### Document Templates | Templates 4: Application Context Sensitive Help #######
+
+ <sect1 id="template4">
+ <title>Template 3: Application Context Sensitive Help</title>
+ <para>
+ Context sensitive help is still in development.
+ </para>
+ </sect1>
+
+####### Document Templates | Templates 5: Complete Application: gnome-hello #######
+
+ <sect1 id="template5">
+ <title>Template 4: Complete Application: gnome-hello</title>
+ <programlisting>
+<![CDATA[(Put sgml here.)]]>
+ </programlisting>
+ </sect1>
+
+####### Document Templates | Templates 6: Tutorial #######
+
+ <sect1 id="template6">
+ <title>Template 5: Tutorial</title>
+ <programlisting>
+<![CDATA[(Put sgml here.)]]>
+ </programlisting>
+ </sect1>-->
+ </appendix>
+
+</article>
diff --git a/libxml2/test/relaxng/empty0.rng b/libxml2/test/relaxng/empty0.rng
new file mode 100644
index 0000000..dbe4f5e
--- /dev/null
+++ b/libxml2/test/relaxng/empty0.rng
@@ -0,0 +1,16 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="top"/>
+ </start>
+ <define name="empty">
+ <empty/>
+ </define>
+ <define name="top">
+ <element name="top">
+ <ref name="empty"/>
+ <element name="a">
+ <text/>
+ </element>
+ </element>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/empty0_0.xml b/libxml2/test/relaxng/empty0_0.xml
new file mode 100644
index 0000000..32b42bc
--- /dev/null
+++ b/libxml2/test/relaxng/empty0_0.xml
@@ -0,0 +1,3 @@
+<top>
+ <a/>
+</top>
diff --git a/libxml2/test/relaxng/empty1.rng b/libxml2/test/relaxng/empty1.rng
new file mode 100644
index 0000000..45dceff
--- /dev/null
+++ b/libxml2/test/relaxng/empty1.rng
@@ -0,0 +1,18 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="top"/>
+ </start>
+ <define name="empty">
+ <empty/>
+ </define>
+ <define name="top">
+ <element name="top">
+ <choice>
+ <ref name="empty"/>
+ <element name="a">
+ <text/>
+ </element>
+ </choice>
+ </element>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/empty1_0.xml b/libxml2/test/relaxng/empty1_0.xml
new file mode 100644
index 0000000..32b42bc
--- /dev/null
+++ b/libxml2/test/relaxng/empty1_0.xml
@@ -0,0 +1,3 @@
+<top>
+ <a/>
+</top>
diff --git a/libxml2/test/relaxng/empty1_1.xml b/libxml2/test/relaxng/empty1_1.xml
new file mode 100644
index 0000000..a5a04a7
--- /dev/null
+++ b/libxml2/test/relaxng/empty1_1.xml
@@ -0,0 +1,2 @@
+<top>
+</top>
diff --git a/libxml2/test/relaxng/inline.rng b/libxml2/test/relaxng/inline.rng
new file mode 100644
index 0000000..7b40959
--- /dev/null
+++ b/libxml2/test/relaxng/inline.rng
@@ -0,0 +1,20 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="inline"/>
+ </start>
+
+ <define name="inline">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <element name="code">
+ <ref name="inline"/>
+ </element>
+ <element name="em">
+ <ref name="inline"/>
+ </element>
+ <!-- etc -->
+ </choice>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/inline2.rng b/libxml2/test/relaxng/inline2.rng
new file mode 100644
index 0000000..088dc2b
--- /dev/null
+++ b/libxml2/test/relaxng/inline2.rng
@@ -0,0 +1,21 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <define name="inline">
+ <zeroOrMore>
+ <ref name="inline.class"/>
+ </zeroOrMore>
+ </define>
+
+ <define name="inline.class">
+ <choice>
+ <text/>
+ <element name="bold">
+ <ref name="inline"/>
+ </element>
+ <element name="italic">
+ <ref name="inline"/>
+ </element>
+ </choice>
+ </define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/inline3.rng b/libxml2/test/relaxng/inline3.rng
new file mode 100644
index 0000000..72f9db6
--- /dev/null
+++ b/libxml2/test/relaxng/inline3.rng
@@ -0,0 +1,22 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <define name="inline">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <element name="bold">
+ <ref name="inline"/>
+ </element>
+ <element name="italic">
+ <ref name="inline"/>
+ </element>
+ <ref name="inline.extra"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+
+ <define name="inline.extra">
+ <notAllowed/>
+ </define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/interleave0_0.rng b/libxml2/test/relaxng/interleave0_0.rng
new file mode 100644
index 0000000..b105549
--- /dev/null
+++ b/libxml2/test/relaxng/interleave0_0.rng
@@ -0,0 +1,24 @@
+<element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <element name="card">
+ <interleave>
+ <zeroOrMore>
+ <element name="name">
+ <text/>
+ </element>
+ <element name="email">
+ <text/>
+ </element>
+ </zeroOrMore>
+ <zeroOrMore>
+ <element name="company">
+ <text/>
+ </element>
+ <element name="email">
+ <text/>
+ </element>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </zeroOrMore>
+</element>
diff --git a/libxml2/test/relaxng/interleave1_0.rng b/libxml2/test/relaxng/interleave1_0.rng
new file mode 100644
index 0000000..e8e94d0
--- /dev/null
+++ b/libxml2/test/relaxng/interleave1_0.rng
@@ -0,0 +1,15 @@
+<element name="doc" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="a">
+ <empty/>
+ </element>
+ <zeroOrMore>
+ <element name="b">
+ <empty/>
+ </element>
+ </zeroOrMore>
+ </interleave>
+ <element name="c">
+ <empty/>
+ </element>
+</element>
diff --git a/libxml2/test/relaxng/libvirt.rng b/libxml2/test/relaxng/libvirt.rng
new file mode 100644
index 0000000..c1f586e
--- /dev/null
+++ b/libxml2/test/relaxng/libvirt.rng
@@ -0,0 +1,1258 @@
+<?xml version="1.0"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <!-- We handle only document defining a domain -->
+ <start>
+ <ref name="domain"/>
+ </start>
+
+ <!--
+ We handle only document defining a domain
+ -->
+ <define name="domain">
+ <element name="domain">
+ <ref name="hvs"/>
+ <ref name="ids"/>
+ <interleave>
+ <ref name="os"/>
+ <ref name="clock"/>
+ <ref name="resources"/>
+ <ref name="features"/>
+ <ref name="termination"/>
+ <optional>
+ <ref name="devices"/>
+ </optional>
+ <optional>
+ <ref name="seclabel"/>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+ <define name="seclabel">
+ <element name="seclabel">
+ <attribute name="model">
+ <text/>
+ </attribute>
+ <attribute name="type">
+ <choice>
+ <value>dynamic</value>
+ <value>static</value>
+ </choice>
+ </attribute>
+ <element name="label">
+ <text/>
+ </element>
+ </element>
+ </define>
+ <define name="hvs">
+ <attribute name="type">
+ <choice>
+ <value>xen</value>
+ <value>kvm</value>
+ <value>kqemu</value>
+ <value>qemu</value>
+ <value>lxc</value>
+ <value>openvz</value>
+ <value>test</value>
+ </choice>
+ </attribute>
+ </define>
+ <define name="os">
+ <choice>
+ <ref name="osxen"/>
+ <ref name="oshvm"/>
+ <ref name="osexe"/>
+ </choice>
+ </define>
+ <define name="osxen">
+ <choice>
+ <group>
+ <optional>
+ <ref name="bootloader"/>
+ </optional>
+ <element name="os">
+ <ref name="ostypexen"/>
+ <ref name="osbootkernel"/>
+ </element>
+ </group>
+ <group>
+ <ref name="bootloader"/>
+ <optional>
+ <element name="os">
+ <ref name="ostypexen"/>
+ <optional>
+ <ref name="osbootkernel"/>
+ </optional>
+ </element>
+ </optional>
+ </group>
+ </choice>
+ </define>
+ <define name="oshvm">
+ <element name="os">
+ <ref name="ostypehvm"/>
+ <interleave>
+ <optional>
+ <element name="loader">
+ <ref name="absFilePath"/>
+ </element>
+ </optional>
+ <choice>
+ <ref name="osbootkernel"/>
+ <ref name="osbootdev"/>
+ </choice>
+ </interleave>
+ </element>
+ </define>
+ <define name="ostypexen">
+ <element name="type">
+ <optional>
+ <attribute name="arch">
+ <choice>
+ <value>i686</value>
+ <value>x86_64</value>
+ <value>ia64</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="machine">
+ <choice>
+ <value>xenpv</value>
+ <value>xenner</value>
+ </choice>
+ </attribute>
+ </optional>
+ <choice>
+ <value>xen</value>
+ <value>linux</value>
+ </choice>
+ </element>
+ </define>
+ <define name="ostypehvm">
+ <element name="type">
+ <optional>
+ <choice>
+ <ref name="hvmx86"/>
+ <ref name="hvmmips"/>
+ <ref name="hvmsparc"/>
+ <ref name="hvmppc"/>
+ </choice>
+ </optional>
+ <value>hvm</value>
+ </element>
+ </define>
+ <define name="hvmx86">
+ <group>
+ <attribute name="arch">
+ <choice>
+ <value>i686</value>
+ <value>x86_64</value>
+ </choice>
+ </attribute>
+ <attribute name="machine">
+ <choice>
+ <value>xenfv</value>
+ <value>pc</value>
+ <value>isapc</value>
+ </choice>
+ </attribute>
+ </group>
+ </define>
+ <define name="hvmmips">
+ <group>
+ <attribute name="arch">
+ <value>mips</value>
+ </attribute>
+ <attribute name="machine">
+ <value>mips</value>
+ </attribute>
+ </group>
+ </define>
+ <define name="hvmsparc">
+ <group>
+ <attribute name="arch">
+ <value>sparc</value>
+ </attribute>
+ <attribute name="machine">
+ <value>sun4m</value>
+ </attribute>
+ </group>
+ </define>
+ <define name="hvmppc">
+ <group>
+ <attribute name="arch">
+ <value>ppc</value>
+ </attribute>
+ <attribute name="machine">
+ <choice>
+ <value>g3beige</value>
+ <value>mac99</value>
+ <value>prep</value>
+ </choice>
+ </attribute>
+ </group>
+ </define>
+ <define name="osexe">
+ <element name="os">
+ <element name="type">
+ <value>exe</value>
+ </element>
+ <interleave>
+ <optional>
+ <element name="init">
+ <ref name="absFilePath"/>
+ </element>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+ <!--
+ The Identifiers can be:
+ - an optional id attribute with a number on the domain element
+ - a mandatory name
+ - an optional uuid
+ -->
+ <define name="ids">
+ <optional>
+ <attribute name="id">
+ <ref name="unsignedInt"/>
+ </attribute>
+ </optional>
+ <interleave>
+ <element name="name">
+ <ref name="domainName"/>
+ </element>
+ <optional>
+ <element name="uuid">
+ <ref name="UUID"/>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+ <!--
+ Resources usage defines the amount of memory (maximum and possibly
+ current usage) and number of virtual CPUs used by that domain.
+ We can't check here the rule that currentMemory <= memory
+ -->
+ <define name="resources">
+ <interleave>
+ <element name="memory">
+ <ref name="memoryKB"/>
+ </element>
+ <optional>
+ <element name="currentMemory">
+ <ref name="memoryKB"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="memoryBacking">
+ <optional>
+ <element name="hugepages">
+ <empty/>
+ </element>
+ </optional>
+ </element>
+ </optional>
+ <optional>
+ <element name="vcpu">
+ <optional>
+ <attribute name="cpuset"/>
+ </optional>
+ <ref name="countCPU"/>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+ <define name="clock">
+ <optional>
+ <element name="clock">
+ <attribute name="offset">
+ <choice>
+ <value>localtime</value>
+ <value>utc</value>
+ </choice>
+ </attribute>
+ <empty/>
+ </element>
+ </optional>
+ </define>
+ <!--
+ A bootloader may be used to extract the OS information instead of
+ defining the OS parameter in the instance. It points just to the
+ binary or script used to extract the data from the first disk device.
+ -->
+ <define name="bootloader">
+ <interleave>
+ <element name="bootloader">
+ <choice>
+ <ref name="absFilePath"/>
+ <empty/>
+ </choice>
+ </element>
+ <optional>
+ <element name="bootloader_args">
+ <text/>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+ <define name="osbootkernel">
+ <interleave>
+ <element name="kernel">
+ <ref name="absFilePath"/>
+ </element>
+ <optional>
+ <element name="initrd">
+ <ref name="absFilePath"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="root">
+ <ref name="devicePath"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="cmdline">
+ <text/>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+ <define name="osbootdev">
+ <element name="boot">
+ <attribute name="dev">
+ <choice>
+ <value>hd</value>
+ <value>fd</value>
+ <value>cdrom</value>
+ <value>network</value>
+ </choice>
+ </attribute>
+ <empty/>
+ </element>
+ </define>
+ <define name="diskspec">
+ <optional>
+ <ref name="driver"/>
+ </optional>
+ <ref name="target"/>
+ <optional>
+ <element name="readonly">
+ <empty/>
+ </element>
+ </optional>
+ <optional>
+ <element name="shareable">
+ <empty/>
+ </element>
+ </optional>
+ <optional>
+ <element name="serial">
+ <ref name="diskSerial"/>
+ </element>
+ </optional>
+ </define>
+ <!--
+ A disk description can be either of type file or block
+ The name of the attribute on the source element depends on the type
+
+ -->
+ <define name="disk">
+ <element name="disk">
+ <optional>
+ <attribute name="device">
+ <choice>
+ <value>floppy</value>
+ <value>disk</value>
+ <value>cdrom</value>
+ </choice>
+ </attribute>
+ </optional>
+ <choice>
+ <group>
+ <attribute name="type">
+ <value>file</value>
+ </attribute>
+ <interleave>
+ <optional>
+ <element name="source">
+ <attribute name="file">
+ <ref name="absFilePath"/>
+ </attribute>
+ <empty/>
+ </element>
+ </optional>
+ <ref name="diskspec"/>
+ </interleave>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>block</value>
+ </attribute>
+ <interleave>
+ <optional>
+ <element name="source">
+ <attribute name="dev">
+ <ref name="deviceName"/>
+ </attribute>
+ <empty/>
+ </element>
+ </optional>
+ <ref name="diskspec"/>
+ </interleave>
+ </group>
+ <ref name="diskspec"/>
+ </choice>
+ </element>
+ </define>
+ <define name="target">
+ <element name="target">
+ <attribute name="dev">
+ <ref name="deviceName"/>
+ </attribute>
+ <optional>
+ <attribute name="bus">
+ <choice>
+ <value>ide</value>
+ <value>fdc</value>
+ <value>scsi</value>
+ <value>virtio</value>
+ <value>xen</value>
+ <value>usb</value>
+ <value>uml</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <!--
+ Disk may use a special driver for access. Currently this is
+ only defined for Xen for tap/aio and file, but will certainly be
+ extended in the future, and libvirt doesn't look for specific values.
+ -->
+ <define name="driver">
+ <element name="driver">
+ <choice>
+ <group>
+ <ref name="driverFormat"/>
+ <optional>
+ <ref name="driverCache"/>
+ </optional>
+ </group>
+ <group>
+ <optional>
+ <ref name="driverFormat"/>
+ </optional>
+ <ref name="driverCache"/>
+ </group>
+ </choice>
+ <empty/>
+ </element>
+ </define>
+ <define name="driverFormat">
+ <attribute name="name">
+ <ref name="genericName"/>
+ </attribute>
+ <optional>
+ <attribute name="type">
+ <ref name="genericName"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="driverCache">
+ <attribute name="cache">
+ <choice>
+ <value>none</value>
+ <value>writeback</value>
+ <value>writethrough</value>
+ </choice>
+ </attribute>
+ </define>
+ <define name="filesystem">
+ <element name="filesystem">
+ <choice>
+ <group>
+ <attribute name="type">
+ <value>file</value>
+ </attribute>
+ <interleave>
+ <element name="source">
+ <attribute name="file">
+ <ref name="absFilePath"/>
+ </attribute>
+ <empty/>
+ </element>
+ <ref name="filesystemtgt"/>
+ </interleave>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>block</value>
+ </attribute>
+ <interleave>
+ <element name="source">
+ <attribute name="dev">
+ <ref name="deviceName"/>
+ </attribute>
+ <empty/>
+ </element>
+ <ref name="filesystemtgt"/>
+ </interleave>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>mount</value>
+ </attribute>
+ <interleave>
+ <element name="source">
+ <attribute name="dir">
+ <ref name="absFilePath"/>
+ </attribute>
+ <empty/>
+ </element>
+ <ref name="filesystemtgt"/>
+ </interleave>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>template</value>
+ </attribute>
+ <interleave>
+ <element name="source">
+ <attribute name="name">
+ <ref name="genericName"/>
+ </attribute>
+ <empty/>
+ </element>
+ <ref name="filesystemtgt"/>
+ </interleave>
+ </group>
+ </choice>
+ </element>
+ </define>
+ <define name="filesystemtgt">
+ <element name="target">
+ <attribute name="dir">
+ <ref name="absDirPath"/>
+ </attribute>
+ <empty/>
+ </element>
+ </define>
+ <!--
+ An interface description can either be of type bridge in which case
+ it will use a bridging source, or of type ethernet which uses a device
+ source and a device target instead. They both share a set of interface
+ options. FIXME
+ -->
+ <define name="interface">
+ <element name="interface">
+ <choice>
+ <group>
+ <attribute name="type">
+ <value>bridge</value>
+ </attribute>
+ <interleave>
+ <optional>
+ <element name="source">
+ <attribute name="bridge">
+ <ref name="deviceName"/>
+ </attribute>
+ <empty/>
+ </element>
+ </optional>
+ <ref name="interface-options"/>
+ </interleave>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>ethernet</value>
+ </attribute>
+ <interleave>
+ <optional>
+ <element name="source">
+ <attribute name="dev">
+ <ref name="deviceName"/>
+ </attribute>
+ <empty/>
+ </element>
+ </optional>
+ <ref name="interface-options"/>
+ </interleave>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>network</value>
+ </attribute>
+ <interleave>
+ <element name="source">
+ <attribute name="network">
+ <ref name="deviceName"/>
+ </attribute>
+ <empty/>
+ </element>
+ <ref name="interface-options"/>
+ </interleave>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>user</value>
+ </attribute>
+ <interleave>
+ <ref name="interface-options"/>
+ </interleave>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>internal</value>
+ </attribute>
+ <interleave>
+ <element name="source">
+ <attribute name="name">
+ <ref name="deviceName"/>
+ </attribute>
+ <empty/>
+ </element>
+ <ref name="interface-options"/>
+ </interleave>
+ </group>
+ </choice>
+ </element>
+ </define>
+ <!--
+ The interface options possible are:
+ - the MAC address
+ - the IP address bound to the interface
+ - the name of the script used to set up the binding
+ - the target device used
+ -->
+ <define name="interface-options">
+ <interleave>
+ <optional>
+ <element name="target">
+ <attribute name="dev">
+ <ref name="deviceName"/>
+ </attribute>
+ <empty/>
+ </element>
+ </optional>
+ <optional>
+ <element name="mac">
+ <attribute name="address">
+ <ref name="addrMAC"/>
+ </attribute>
+ <empty/>
+ </element>
+ </optional>
+ <optional>
+ <element name="ip">
+ <attribute name="address">
+ <ref name="addrIP"/>
+ </attribute>
+ <empty/>
+ </element>
+ </optional>
+ <optional>
+ <element name="script">
+ <attribute name="path">
+ <ref name="filePath"/>
+ </attribute>
+ <empty/>
+ </element>
+ </optional>
+ <optional>
+ <element name="model">
+ <attribute name="type"/>
+ <empty/>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+ <!--
+ An emulator description is just a path to the binary used for the task
+ -->
+ <define name="emulator">
+ <element name="emulator">
+ <ref name="absFilePath"/>
+ </element>
+ </define>
+ <!--
+ A graphic description, currently in Xen only 2 types are supported:
+ - sdl with optional display, xauth and fullscreen
+ - vnc with a required port and optional listen IP address, password
+ and keymap
+ -->
+ <define name="graphic">
+ <element name="graphics">
+ <choice>
+ <group>
+ <attribute name="type">
+ <value>sdl</value>
+ </attribute>
+ <optional>
+ <attribute name="display">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xauth">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fullscreen">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ </choice>
+ </attribute>
+ </optional>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>vnc</value>
+ </attribute>
+ <optional>
+ <attribute name="port">
+ <ref name="PortNumber"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="autoport">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="listen">
+ <ref name="addrIP"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="passwd">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="keymap">
+ <text/>
+ </attribute>
+ </optional>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>rdp</value>
+ </attribute>
+ <optional>
+ <attribute name="port">
+ <ref name="PortNumber"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="autoport">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="replaceUser">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="multiUser">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="listen">
+ <ref name="addrIP"/>
+ </attribute>
+ </optional>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>desktop</value>
+ </attribute>
+ <optional>
+ <attribute name="display">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fullscreen">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ </choice>
+ </attribute>
+ </optional>
+ </group>
+ </choice>
+ </element>
+ </define>
+ <!--
+ A graphic description, currently in Xen only 2 types are supported:
+ - sdl with optional display, xauth and fullscreen
+ - vnc with a required port and optional listen IP address, password
+ and keymap
+ -->
+ <define name="video">
+ <element name="video">
+ <optional>
+ <element name="model">
+ <attribute name="type">
+ <choice>
+ <value>vga</value>
+ <value>cirrus</value>
+ <value>vmvga</value>
+ <value>xen</value>
+ <value>vbox</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="vram">
+ <ref name="unsignedInt"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="heads">
+ <ref name="unsignedInt"/>
+ </attribute>
+ </optional>
+ <optional>
+ <element name="acceleration">
+ <optional>
+ <attribute name="accel3d">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accel2d">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </optional>
+ </element>
+ </optional>
+ </element>
+ </define>
+ <!--
+ When a domain terminates multiple policies can be applied depending
+ on how it ended:
+ -->
+ <define name="termination">
+ <interleave>
+ <optional>
+ <element name="on_reboot">
+ <ref name="offOptions"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="on_poweroff">
+ <ref name="offOptions"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="on_crash">
+ <ref name="offOptions"/>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+ <!--
+ Options when a domain terminates:
+ destroy: The domain is cleaned up
+ restart: A new domain is started in place of the old one
+ preserve: The domain will remain in memory until it is destroyed manually
+ rename-restart: a variant of the previous one but where the old domain is
+ renamed before being saved to allow a restart
+ -->
+ <define name="offOptions">
+ <choice>
+ <value>destroy</value>
+ <value>restart</value>
+ <value>preserve</value>
+ <value>rename-restart</value>
+ </choice>
+ </define>
+ <!--
+ Specific setup for a qemu emulated character device. Note: this
+ definition doesn't fully specify the constraints on this node.
+ -->
+ <define name="qemucdev">
+ <attribute name="type">
+ <choice>
+ <value>dev</value>
+ <value>file</value>
+ <value>pipe</value>
+ <value>unix</value>
+ <value>tcp</value>
+ <value>udp</value>
+ <value>null</value>
+ <value>stdio</value>
+ <value>vc</value>
+ <value>pty</value>
+ </choice>
+ </attribute>
+ <interleave>
+ <optional>
+ <oneOrMore>
+ <element name="source">
+ <optional>
+ <attribute name="mode"/>
+ </optional>
+ <optional>
+ <attribute name="path"/>
+ </optional>
+ <optional>
+ <attribute name="host"/>
+ </optional>
+ <optional>
+ <attribute name="service"/>
+ </optional>
+ <optional>
+ <attribute name="wiremode"/>
+ </optional>
+ </element>
+ </oneOrMore>
+ </optional>
+ <optional>
+ <element name="protocol">
+ <optional>
+ <attribute name="type"/>
+ </optional>
+ </element>
+ </optional>
+ <optional>
+ <element name="target">
+ <optional>
+ <attribute name="port"/>
+ </optional>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+ <!--
+ The description for a console
+ just a tty device
+ -->
+ <define name="console">
+ <element name="console">
+ <choice>
+ <group>
+ <optional>
+ <attribute name="tty">
+ <ref name="devicePath"/>
+ </attribute>
+ </optional>
+ <empty/>
+ </group>
+ <ref name="qemucdev"/>
+ </choice>
+ </element>
+ </define>
+ <define name="sound">
+ <element name="sound">
+ <attribute name="model">
+ <choice>
+ <value>sb16</value>
+ <value>es1370</value>
+ <value>pcspk</value>
+ <value>ac97</value>
+ </choice>
+ </attribute>
+ </element>
+ </define>
+ <define name="parallel">
+ <element name="parallel">
+ <ref name="qemucdev"/>
+ </element>
+ </define>
+ <define name="serial">
+ <element name="serial">
+ <ref name="qemucdev"/>
+ </element>
+ </define>
+ <define name="input">
+ <element name="input">
+ <attribute name="type">
+ <choice>
+ <value>tablet</value>
+ <value>mouse</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="bus">
+ <choice>
+ <value>ps2</value>
+ <value>usb</value>
+ <value>xen</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="hostdev">
+ <element name="hostdev">
+ <optional>
+ <attribute name="mode">
+ <choice>
+ <value>subsystem</value>
+ <value>capabilities</value>
+ </choice>
+ </attribute>
+ <attribute name="type">
+ <choice>
+ <value>usb</value>
+ <value>pci</value>
+ </choice>
+ </attribute>
+ <attribute name="managed">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ </choice>
+ </attribute>
+ </optional>
+ <group>
+ <element name="source">
+ <choice>
+ <ref name="usbproduct"/>
+ <ref name="usbaddress"/>
+ <ref name="pciaddress"/>
+ </choice>
+ </element>
+ </group>
+ </element>
+ </define>
+ <define name="usbproduct">
+ <element name="vendor">
+ <attribute name="id">
+ <ref name="usbId"/>
+ </attribute>
+ </element>
+ <element name="product">
+ <attribute name="id">
+ <ref name="usbId"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="usbaddress">
+ <element name="address">
+ <attribute name="bus">
+ <ref name="usbAddr"/>
+ </attribute>
+ <attribute name="device">
+ <ref name="usbAddr"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="pciaddress">
+ <element name="address">
+ <optional>
+ <attribute name="domain">
+ <ref name="pciDomain"/>
+ </attribute>
+ </optional>
+ <attribute name="bus">
+ <ref name="pciBus"/>
+ </attribute>
+ <attribute name="slot">
+ <ref name="pciSlot"/>
+ </attribute>
+ <attribute name="function">
+ <ref name="pciFunc"/>
+ </attribute>
+ </element>
+ </define>
+ <!--
+ Devices attached to a domain.
+ -->
+ <define name="devices">
+ <element name="devices">
+ <interleave>
+ <optional>
+ <ref name="emulator"/>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="disk"/>
+ <ref name="filesystem"/>
+ <ref name="interface"/>
+ <ref name="input"/>
+ <ref name="sound"/>
+ <ref name="hostdev"/>
+ <ref name="graphic"/>
+ <ref name="video"/>
+ <ref name="console"/>
+ <ref name="parallel"/>
+ <ref name="serial"/>
+ </choice>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+ <!--
+ A set of optional features: PAE, APIC and ACPI support
+ -->
+ <define name="features">
+ <optional>
+ <element name="features">
+ <interleave>
+ <optional>
+ <element name="pae">
+ <empty/>
+ </element>
+ </optional>
+ <optional>
+ <element name="apic">
+ <empty/>
+ </element>
+ </optional>
+ <optional>
+ <element name="acpi">
+ <empty/>
+ </element>
+ </optional>
+ </interleave>
+ </element>
+ </optional>
+ </define>
+ <!--
+ Type library
+
+ Our unsignedInt doesn't allow a leading '+' in its lexical form
+ A domain name shoul be made of ascii, numbers, _-+ and is non-empty
+ UUID currently allows only the 32 characters strict syntax
+ memoryKB request at least 4Mbytes though Xen will grow bigger if too low
+ -->
+ <define name="unsignedInt">
+ <data type="unsignedInt">
+ <param name="pattern">[0-9]+</param>
+ </data>
+ </define>
+ <define name="countCPU">
+ <data type="unsignedShort">
+ <param name="pattern">[0-9]+</param>
+ <param name="minInclusive">1</param>
+ </data>
+ </define>
+ <define name="PortNumber">
+ <data type="short">
+ <param name="minInclusive">-1</param>
+ </data>
+ </define>
+ <define name="memoryKB">
+ <data type="unsignedInt">
+ <param name="pattern">[0-9]+</param>
+ <param name="minInclusive">4000</param>
+ </data>
+ </define>
+ <define name="domainName">
+ <data type="string">
+ <param name="pattern">[A-Za-z0-9_\.\+\-&amp;:/]+</param>
+ </data>
+ </define>
+ <define name="diskSerial">
+ <data type="string">
+ <param name="pattern">[A-Za-z0-9_\.\+\-]+</param>
+ </data>
+ </define>
+ <define name="genericName">
+ <data type="string">
+ <param name="pattern">[a-zA-Z0-9_\+\-]+</param>
+ </data>
+ </define>
+ <define name="UUID">
+ <choice>
+ <data type="string">
+ <param name="pattern">[a-fA-F0-9]{32}</param>
+ </data>
+ <data type="string">
+ <param name="pattern">[a-fA-F0-9]{8}\-([a-fA-F0-9]{4}\-){3}[a-fA-F0-9]{12}</param>
+ </data>
+ </choice>
+ </define>
+ <define name="filePath">
+ <data type="string">
+ <param name="pattern">[a-zA-Z0-9_\.\+\-&amp;/%]+</param>
+ </data>
+ </define>
+ <define name="absFilePath">
+ <data type="string">
+ <param name="pattern">/[a-zA-Z0-9_\.\+\-&amp;/%]+</param>
+ </data>
+ </define>
+ <define name="absDirPath">
+ <data type="string">
+ <param name="pattern">/[a-zA-Z0-9_\.\+\-&amp;/%]*</param>
+ </data>
+ </define>
+ <define name="devicePath">
+ <data type="string">
+ <param name="pattern">/[a-zA-Z0-9_\+\-/%]+</param>
+ </data>
+ </define>
+ <define name="deviceName">
+ <data type="string">
+ <param name="pattern">[a-zA-Z0-9_\.\-:/]+</param>
+ </data>
+ </define>
+ <define name="addrMAC">
+ <data type="string">
+ <param name="pattern">([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}</param>
+ </data>
+ </define>
+ <define name="addrIP">
+ <data type="string">
+ <param name="pattern">([0-2]?[0-9]?[0-9]\.){3}[0-2]?[0-9]?[0-9]</param>
+ </data>
+ </define>
+ <define name="usbId">
+ <data type="string">
+ <param name="pattern">(0x)?[0-9a-fA-F]{1,4}</param>
+ </data>
+ </define>
+ <define name="usbAddr">
+ <data type="string">
+ <param name="pattern">(0x)?[0-9a-fA-F]{1,3}</param>
+ </data>
+ </define>
+ <define name="pciDomain">
+ <data type="string">
+ <param name="pattern">(0x)?[0-9a-fA-F]{1,4}</param>
+ </data>
+ </define>
+ <define name="pciBus">
+ <data type="string">
+ <param name="pattern">(0x)?[0-9a-fA-F]{1,2}</param>
+ </data>
+ </define>
+ <define name="pciSlot">
+ <data type="string">
+ <param name="pattern">(0x)?[0-1]?[0-9a-fA-F]</param>
+ </data>
+ </define>
+ <define name="pciFunc">
+ <data type="string">
+ <param name="pattern">(0x)?[0-7]</param>
+ </data>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/libvirt_0.xml b/libxml2/test/relaxng/libvirt_0.xml
new file mode 100644
index 0000000..c17d9d5
--- /dev/null
+++ b/libxml2/test/relaxng/libvirt_0.xml
@@ -0,0 +1,23 @@
+<domain type='xen' id='6'>
+ <name>pvtest</name>
+ <uuid>596a5d2171f48fb2e068e2386a5c413e</uuid>
+ <os>
+ <type>linux</type>
+ <kernel>/var/lib/xen/vmlinuz.2Dn2YT</kernel>
+ <initrd>/var/lib/xen/initrd.img.0u-Vhq</initrd>
+ <cmdline> method=http://download.fedora.devel.redhat.com/pub/fedora/linux/core/test/5.91/x86_64/os </cmdline>
+ </os>
+ <memory>430080</memory>
+ <vcpu>2</vcpu>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>destroy</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <disk type='file' device='disk'>
+ <driver name='file'/>
+ <source file='/root/some.img'/>
+ <target dev='xvda'/>
+ </disk>
+ <graphics type='vnc' port='-1' autoport='yes' listen="127.0.0.1" passwd="123456" keymap="ja"/>
+ </devices>
+</domain>
diff --git a/libxml2/test/relaxng/list.rng b/libxml2/test/relaxng/list.rng
new file mode 100644
index 0000000..57de17c
--- /dev/null
+++ b/libxml2/test/relaxng/list.rng
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar
+ xmlns="http://relaxng.org/ns/structure/1.0"
+ xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+
+<define name="pattern1">
+ <data type="string">
+ <param name="pattern">-?([0-9]+(\.[0-9]*)?|\.[0-9]+)</param>
+ </data>
+</define>
+
+<start>
+ <element name="elem1">
+ <attribute name="attr1">
+ <list>
+ <ref name="pattern1"/>
+ </list>
+ </attribute>
+ </element>
+</start>
+
+</grammar>
diff --git a/libxml2/test/relaxng/list_0.xml b/libxml2/test/relaxng/list_0.xml
new file mode 100644
index 0000000..a6b4d60
--- /dev/null
+++ b/libxml2/test/relaxng/list_0.xml
@@ -0,0 +1 @@
+<elem1 attr1="0"/>
diff --git a/libxml2/test/relaxng/list_1.xml b/libxml2/test/relaxng/list_1.xml
new file mode 100644
index 0000000..a8907cc
--- /dev/null
+++ b/libxml2/test/relaxng/list_1.xml
@@ -0,0 +1 @@
+<elem1 attr1="a"/>
diff --git a/libxml2/test/relaxng/pattern1.rng b/libxml2/test/relaxng/pattern1.rng
new file mode 100644
index 0000000..a585e85
--- /dev/null
+++ b/libxml2/test/relaxng/pattern1.rng
@@ -0,0 +1,8 @@
+<group xmlns="http://relaxng.org/ns/structure/1.0">
+ <element name="a">
+ <text/>
+ </element>
+ <element name="b">
+ <text/>
+ </element>
+</group>
diff --git a/libxml2/test/relaxng/pattern2.rng b/libxml2/test/relaxng/pattern2.rng
new file mode 100644
index 0000000..66a4a44
--- /dev/null
+++ b/libxml2/test/relaxng/pattern2.rng
@@ -0,0 +1,9 @@
+<group xmlns="http://relaxng.org/ns/structure/1.0">
+ <element name="c">
+ <text/>
+ </element>
+ <element name="d">
+ <text/>
+ </element>
+</group>
+
diff --git a/libxml2/test/relaxng/pattern3.rng b/libxml2/test/relaxng/pattern3.rng
new file mode 100644
index 0000000..fa4434f
--- /dev/null
+++ b/libxml2/test/relaxng/pattern3.rng
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <start>
+ <element name="test">
+ <data type="token">
+ <param name="pattern">[a-z]+</param>
+ </data>
+ </element>
+ </start>
+</grammar>
diff --git a/libxml2/test/relaxng/pattern3_1.xml b/libxml2/test/relaxng/pattern3_1.xml
new file mode 100644
index 0000000..f559cd3
--- /dev/null
+++ b/libxml2/test/relaxng/pattern3_1.xml
@@ -0,0 +1 @@
+<test> ooo </test>
diff --git a/libxml2/test/relaxng/proofsystem.rng b/libxml2/test/relaxng/proofsystem.rng
new file mode 100644
index 0000000..7fe6bd3
--- /dev/null
+++ b/libxml2/test/relaxng/proofsystem.rng
@@ -0,0 +1,96 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+ ns="http://relaxng.org/ns/proofsystem">
+
+<start>
+ <element name="proofSystem">
+ <oneOrMore>
+ <element name="rule">
+ <attribute name="name"/>
+ <zeroOrMore>
+ <ref name="antecedent"/>
+ </zeroOrMore>
+ <ref name="consequent"/>
+ </element>
+ </oneOrMore>
+ </element>
+</start>
+
+<define name="formula">
+ <element name="formula">
+ <choice>
+ <ref name="judgement"/>
+ <ref name="expr"/>
+ </choice>
+ </element>
+</define>
+
+<define name="consequent">
+ <ref name="judgement"/>
+</define>
+
+<define name="antecedent">
+ <ref name="judgement"/>
+</define>
+
+<define name="judgement">
+ <choice>
+ <element name="judgement">
+ <attribute name="name"/>
+ <zeroOrMore>
+ <ref name="expr"/>
+ </zeroOrMore>
+ </element>
+ <element name="not">
+ <ref name="judgement"/>
+ </element>
+ </choice>
+</define>
+
+<define name="expr">
+ <choice>
+ <element name="var">
+ <attribute name="range"/>
+ <optional>
+ <attribute name="index"/>
+ </optional>
+ <optional>
+ <attribute name="sub"/>
+ </optional>
+ </element>
+ <element name="function">
+ <attribute name="name"/>
+ <zeroOrMore>
+ <ref name="expr"/>
+ </zeroOrMore>
+ </element>
+ <element name="element">
+ <attribute name="name"/>
+ <zeroOrMore>
+ <element name="attribute">
+ <attribute name="name"/>
+ <ref name="expr"/>
+ </element>
+ </zeroOrMore>
+ <optional>
+ <ref name="context"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="expr"/>
+ </zeroOrMore>
+ </element>
+ <element name="group">
+ <zeroOrMore>
+ <ref name="expr"/>
+ </zeroOrMore>
+ </element>
+ <element name="string"><text/></element>
+ </choice>
+</define>
+
+<define name="context">
+ <element name="context">
+ <ref name="expr"/>
+ </element>
+</define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/rngbug-001.ext b/libxml2/test/relaxng/rngbug-001.ext
new file mode 100644
index 0000000..cb1883d
--- /dev/null
+++ b/libxml2/test/relaxng/rngbug-001.ext
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="e2"/>
+ </start>
+ <define name="e2">
+ <element name="e2">
+ <element name="e3">
+ <text/>
+ </element>
+ </element>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/rngbug-001.rng b/libxml2/test/relaxng/rngbug-001.rng
new file mode 100644
index 0000000..0bb5b0a
--- /dev/null
+++ b/libxml2/test/relaxng/rngbug-001.rng
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="root"/>
+ </start>
+ <define name="root">
+ <element name="root">
+ <interleave>
+ <element name="e1">
+ <text/>
+ </element>
+ <externalRef href="rngbug-001.ext"/>
+ </interleave>
+ </element>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/rngbug-001.xml b/libxml2/test/relaxng/rngbug-001.xml
new file mode 100644
index 0000000..83ba73e
--- /dev/null
+++ b/libxml2/test/relaxng/rngbug-001.xml
@@ -0,0 +1,6 @@
+ <root>
+ <e1>x</e1>
+ <e2>
+ <e3>y</e3>
+ </e2>
+ </root>
diff --git a/libxml2/test/relaxng/spec.rng b/libxml2/test/relaxng/spec.rng
new file mode 100644
index 0000000..9650f71
--- /dev/null
+++ b/libxml2/test/relaxng/spec.rng
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- $Id: spec.rng,v 1.3 2001/10/23 05:54:24 jjc Exp $ -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
+ xmlns:p="http://relaxng.org/ns/proofsystem">
+
+<start>
+ <grammar>
+ <include href="docbook.rng"/>
+ <define name="synop.class" combine="choice">
+ <choice>
+ <parentRef name="rngref"/>
+ <parentRef name="grammarref"/>
+ <grammar>
+ <include href="proofsystem.rng"/>
+ <start combine="choice">
+ <ref name="formula"/>
+ </start>
+ </grammar>
+ </choice>
+ </define>
+ <define name="tech.char.class" combine="choice">
+ <parentRef name="terms"/>
+ </define>
+ </grammar>
+</start>
+
+<define name="rngref">
+ <element name="rngref">
+ <attribute name="src">
+ <data type="anyURI"/>
+ </attribute>
+ </element>
+</define>
+
+<define name="grammarref">
+ <element name="grammarref">
+ <attribute name="src">
+ <data type="anyURI"/>
+ </attribute>
+ </element>
+</define>
+
+<define name="terms">
+ <grammar>
+ <include href="proofsystem.rng">
+ <start>
+ <choice>
+ <ref name="expr"/>
+ <ref name="judgement"/>
+ <ref name="context"/>
+ </choice>
+ </start>
+ </include>
+ </grammar>
+</define>
+
+</grammar>
+
+
diff --git a/libxml2/test/relaxng/spec1.rng b/libxml2/test/relaxng/spec1.rng
new file mode 100644
index 0000000..e8e9ef2
--- /dev/null
+++ b/libxml2/test/relaxng/spec1.rng
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<element name="foo"
+ xmlns="http://relaxng.org/ns/structure/1.0"
+ xmlns:a="http://relaxng.org/ns/annotation/1.0"
+ xmlns:ex1="http://www.example.com/n1"
+ xmlns:ex2="http://www.example.com/n2">
+ <a:documentation>A foo element.</a:documentation>
+ <element name="ex1:bar1">
+ <empty/>
+ </element>
+ <element name="ex2:bar2">
+ <empty/>
+ </element>
+</element>
diff --git a/libxml2/test/relaxng/spec1_1.xml b/libxml2/test/relaxng/spec1_1.xml
new file mode 100644
index 0000000..e12b620
--- /dev/null
+++ b/libxml2/test/relaxng/spec1_1.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<foo><pre1:bar1 xmlns:pre1="http://www.example.com/n1"/><pre2:bar2 xmlns:pre2="http://www.example.com/n2"/></foo>
+
diff --git a/libxml2/test/relaxng/spec_0.xml b/libxml2/test/relaxng/spec_0.xml
new file mode 100644
index 0000000..cb8f7be
--- /dev/null
+++ b/libxml2/test/relaxng/spec_0.xml
@@ -0,0 +1,3589 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE article [
+<!-- ELEMENT declarations work around MSXML bug. -->
+<!ELEMENT section ANY>
+<!ATTLIST section id ID #IMPLIED>
+<!ELEMENT appendix ANY>
+<!ATTLIST appendix id ID #IMPLIED>
+<!ELEMENT bibliomixed ANY>
+<!ATTLIST bibliomixed id ID #IMPLIED>
+]>
+<article status="Committee Specification" xmlns:p="http://relaxng.org/ns/proofsystem">
+
+<articleinfo>
+<releaseinfo>$Id: spec.xml,v 1.159 2001/12/02 12:12:12 jjc Exp $</releaseinfo>
+<title>RELAX NG Specification</title>
+<authorgroup>
+<editor>
+ <firstname>James</firstname><surname>Clark</surname>
+ <affiliation>
+ <address><email>jjc@jclark.com</email></address>
+ </affiliation>
+</editor>
+<editor>
+ <surname>MURATA</surname><firstname>Makoto</firstname>
+ <affiliation>
+ <address><email>EB2M-MRT@asahi-net.or.jp</email></address>
+ </affiliation>
+</editor>
+</authorgroup>
+<pubdate>3 December 2001</pubdate>
+<releaseinfo role="meta">
+$Id: spec.xml,v 1.159 2001/12/02 12:12:12 jjc Exp $
+</releaseinfo>
+
+<copyright><year>2001</year><holder>OASIS</holder></copyright>
+
+<legalnotice>
+
+<para>Copyright &#169; The Organization for the Advancement of
+Structured Information Standards [OASIS] 2001. All Rights
+Reserved.</para>
+
+<para>This document and translations of it may be copied and furnished
+to others, and derivative works that comment on or otherwise explain
+it or assist in its implementation may be prepared, copied, published
+and distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works. However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to OASIS, except as needed for the
+purpose of developing OASIS specifications, in which case the
+procedures for copyrights defined in the OASIS Intellectual Property
+Rights document must be followed, or as required to translate it into
+languages other than English.</para>
+
+<para>The limited permissions granted above are perpetual and will not
+be revoked by OASIS or its successors or assigns.</para>
+
+<para>This document and the information contained herein is provided
+on an <quote>AS IS</quote> basis and OASIS DISCLAIMS ALL WARRANTIES,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE
+USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
+IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
+PURPOSE.</para>
+
+</legalnotice>
+
+<legalnotice role="status"><title>Status of this Document</title>
+
+<para>This Committee Specification was approved for publication by the
+OASIS RELAX NG technical committee. It is a stable document which
+represents the consensus of the committee. Comments on this document
+may be sent to <ulink
+url="mailto:relax-ng-comment@lists.oasis-open.org"
+>relax-ng-comment@lists.oasis-open.org</ulink>.</para>
+
+<para>A list of known errors in this document is available at <ulink
+url="http://www.oasis-open.org/committees/relax-ng/spec-20011203-errata.html"
+>http://www.oasis-open.org/committees/relax-ng/spec-20011203-errata.html</ulink
+>.</para>
+
+</legalnotice>
+
+<abstract>
+<para>This is the definitive specification of RELAX NG, a simple
+schema language for XML, based on <xref linkend="relax"/> and <xref
+linkend="trex"/>. A RELAX NG schema specifies a pattern for the
+structure and content of an XML document. A RELAX NG schema is itself
+an XML document.</para>
+</abstract>
+
+<revhistory>
+<revision>
+ <revnumber>Committee Specification</revnumber>
+ <date>3 December 2001</date>
+</revision>
+<revision>
+ <revnumber>Committee Specification</revnumber>
+ <date>11 August 2001</date>
+</revision>
+</revhistory>
+</articleinfo>
+
+
+<section>
+<title>Introduction</title>
+
+<para>This document specifies</para>
+
+<itemizedlist>
+
+<listitem><para>when an XML document is a correct RELAX NG
+schema</para></listitem>
+
+<listitem><para>when an XML document is valid with respect to a
+correct RELAX NG schema</para></listitem>
+
+</itemizedlist>
+
+<para>An XML document that is being validated with respect to a RELAX NG
+schema is referred to as an instance.</para>
+
+<para>The structure of this document is as follows. <xref
+linkend="data-model"/> describes the data model, which is the
+abstraction of an XML document used throughout the rest of the
+document. <xref linkend="full-syntax"/> describes the syntax of a
+RELAX NG schema; any correct RELAX NG schema must conform to this
+syntax. <xref linkend="simplification"/> describes a sequence of
+transformations that are applied to simplify a RELAX NG schema;
+applying the transformations also involves checking certain
+restrictions that must be satisfied by a correct RELAX NG
+schema. <xref linkend="simple-syntax"/> describes the syntax that
+results from applying the transformations; this simple syntax is a
+subset of the full syntax. <xref linkend="semantics"/> describes the
+semantics of a correct RELAX NG schema that uses the simple syntax;
+the semantics specify when an element is valid with respect to a RELAX
+NG schema. <xref linkend="restriction"/> describes restrictions in
+terms of the simple syntax; a correct RELAX NG schema must be such
+that, after transformation into the simple form, it satisfies these
+restrictions. Finally, <xref linkend="conformance"/> describes
+conformance requirements for RELAX NG validators.</para>
+
+<para>A tutorial is available separately (see <xref
+linkend="tutorial"/>).</para>
+
+</section>
+
+<section id="data-model">
+<title>Data model</title>
+
+<para>RELAX NG deals with XML documents representing both schemas and
+instances through an abstract data model. XML documents representing
+schemas and instances must be well-formed in conformance with <xref
+linkend="xml-rec"/> and must conform to the constraints of <xref
+linkend="xml-names"/>.</para>
+
+<para>An XML document is represented by an element. An element consists
+of</para>
+
+<itemizedlist>
+
+<listitem><para>a name</para></listitem>
+
+<listitem><para>a context</para></listitem>
+
+<listitem><para>a set of attributes</para></listitem>
+
+<listitem><para>an ordered sequence of zero or more children; each
+child is either an element or a non-empty string; the sequence never contains
+two consecutive strings</para></listitem>
+
+</itemizedlist>
+
+<para>A name consists of</para>
+
+<itemizedlist>
+<listitem><para>a string representing the namespace URI; the empty
+string has special significance, representing the absence of any
+namespace</para></listitem>
+
+<listitem><para>a string representing the local name; this string matches the NCName
+production of <xref linkend="xml-names"/></para></listitem>
+</itemizedlist>
+
+<para>A context consists of</para>
+
+<itemizedlist>
+<listitem><para>a base URI</para></listitem>
+<listitem><para>a namespace map; this maps prefixes to namespace URIs,
+and also may specify a default namespace URI (as declared
+by the <literal>xmlns</literal> attribute)</para></listitem>
+</itemizedlist>
+
+<para>An attribute consists of</para>
+
+<itemizedlist>
+<listitem><para>a name</para></listitem>
+<listitem><para>a string representing the value</para></listitem>
+</itemizedlist>
+
+<para>A string consists of a sequence of zero or more characters,
+where a character is as defined in <xref linkend="xml-rec"/>.</para>
+
+<para>The element for an XML document is constructed from an instance
+of the <xref linkend="infoset"/> as follows. We use the notation
+[<replaceable>x</replaceable>] to refer to the value of the
+<replaceable>x</replaceable> property of an information item. An
+element is constructed from a document information item by
+constructing an element from the [document element]. An element is
+constructed from an element information item by constructing the name
+from the [namespace name] and [local name], the context from the [base
+URI] and [in-scope namespaces], the attributes from the [attributes],
+and the children from the [children]. The attributes of an element
+are constructed from the unordered set of attribute information items
+by constructing an attribute for each attribute information item. The
+children of an element are constructed from the list of child
+information items first by removing information items other than
+element information items and character information items, and then by
+constructing an element for each element information item in the list
+and a string for each maximal sequence of character information items.
+An attribute is constructed from an attribute information item by
+constructing the name from the [namespace name] and [local name], and
+the value from the [normalized value]. When constructing the name of
+an element or attribute from the [namespace name] and [local name], if
+the [namespace name] property is not present, then the name is
+constructed from an empty string and the [local name]. A string is
+constructed from a sequence of character information items by
+constructing a character from the [character code] of each character
+information item.</para>
+
+<para>It is possible for there to be multiple distinct infosets for a
+single XML document. This is because XML parsers are not required to
+process all DTD declarations or expand all external parsed general
+entities. Amongst these multiple infosets, there is exactly one
+infoset for which [all declarations processed] is true and which does
+not contain any unexpanded entity reference information items. This
+is the infoset that is the basis for defining the RELAX NG data
+model.</para>
+
+<section id="data-model-example">
+<title>Example</title>
+
+<para>Suppose the document
+<literal>http://www.example.com/doc.xml</literal> is as
+follows:</para>
+
+<programlisting><![CDATA[<?xml version="1.0"?>
+<foo><pre1:bar1 xmlns:pre1="http://www.example.com/n1"/><pre2:bar2
+ xmlns:pre2="http://www.example.com/n2"/></foo>
+]]></programlisting>
+
+<para>The element representing this document has</para>
+
+<itemizedlist>
+<listitem><para>a name which has</para>
+<itemizedlist>
+
+<listitem><para>the empty string as the namespace URI, representing
+the absence of any namespace</para></listitem>
+
+<listitem><para><literal>foo</literal> as the local
+name</para></listitem>
+
+</itemizedlist>
+
+</listitem>
+
+<listitem><para>a context which has</para>
+
+<itemizedlist>
+<listitem><para><literal>http://www.example.com/doc.xml</literal> as the base
+URI</para></listitem>
+
+<listitem><para>a namespace map which</para>
+
+<itemizedlist>
+
+<listitem><para>maps the prefix <literal>xml</literal> to the
+namespace URI
+<literal>http://www.w3.org/XML/1998/namespace</literal>
+(the <literal>xml</literal> prefix is implicitly declared
+by every XML document)</para></listitem>
+
+<listitem><para>specifies the empty string as the default namespace
+URI</para></listitem>
+
+</itemizedlist>
+
+</listitem>
+
+</itemizedlist>
+
+</listitem>
+
+<listitem><para>an empty set of attributes</para></listitem>
+
+<listitem><para>a sequence of children consisting
+of an element which has</para>
+
+<itemizedlist>
+<listitem><para>a name which has</para>
+<itemizedlist>
+
+<listitem><para><literal>http://www.example.com/n1</literal> as the
+namespace URI</para></listitem>
+
+<listitem><para><literal>bar1</literal> as the local
+name</para></listitem>
+
+</itemizedlist>
+
+</listitem>
+
+<listitem><para>a context which has</para>
+
+<itemizedlist>
+<listitem><para><literal>http://www.example.com/doc.xml</literal> as the base
+URI</para></listitem>
+
+<listitem><para>a namespace map which</para>
+
+<itemizedlist>
+
+<listitem><para>maps the prefix <literal>pre1</literal> to the
+namespace URI
+<literal>http://www.example.com/n1</literal></para></listitem>
+
+<listitem><para>maps the prefix <literal>xml</literal> to the
+namespace URI
+<literal>http://www.w3.org/XML/1998/namespace</literal></para></listitem>
+
+<listitem><para>specifies the empty string as the default namespace
+URI</para></listitem>
+
+</itemizedlist>
+
+</listitem>
+
+</itemizedlist>
+
+</listitem>
+
+<listitem><para>an empty set of attributes</para></listitem>
+
+<listitem><para>an empty sequence of children</para></listitem>
+
+</itemizedlist>
+
+<para>followed by an element which has</para>
+
+<itemizedlist>
+<listitem><para>a name which has</para>
+<itemizedlist>
+
+<listitem><para><literal>http://www.example.com/n2</literal> as the
+namespace URI</para></listitem>
+
+<listitem><para><literal>bar2</literal> as the local
+name</para></listitem>
+
+</itemizedlist>
+
+</listitem>
+
+<listitem><para>a context which has</para>
+
+<itemizedlist>
+<listitem><para><literal>http://www.example.com/doc.xml</literal> as the base
+URI</para></listitem>
+
+<listitem><para>a namespace map which</para>
+
+<itemizedlist>
+
+<listitem><para>maps the prefix <literal>pre2</literal> to the
+namespace URI
+<literal>http://www.example.com/n2</literal></para></listitem>
+
+<listitem><para>maps the prefix <literal>xml</literal> to the
+namespace URI
+<literal>http://www.w3.org/XML/1998/namespace</literal></para></listitem>
+
+<listitem><para>specifies the empty string as the default namespace
+URI</para></listitem>
+
+</itemizedlist>
+
+</listitem>
+
+</itemizedlist>
+
+</listitem>
+
+<listitem><para>an empty set of attributes</para></listitem>
+
+<listitem><para>an empty sequence of children</para></listitem>
+
+</itemizedlist>
+
+</listitem>
+</itemizedlist>
+
+</section>
+
+</section>
+
+<section id="full-syntax">
+<title>Full syntax</title>
+
+<para>The following grammar summarizes the syntax of RELAX NG.
+Although we use a notation based on the XML representation of an RELAX
+NG schema as a sequence of characters, the grammar must be understood
+as operating at the data model level. For example, although the
+syntax uses <literal><![CDATA[<text/>]]></literal>, an instance or
+schema can use <literal><![CDATA[<text></text>]]></literal> instead,
+because they both represent the same element at the data model level.
+All elements shown in the grammar are qualified with the namespace
+URI:</para>
+
+<programlisting>http://relaxng.org/ns/structure/1.0</programlisting>
+
+<para>The symbols QName and NCName are defined in <xref
+linkend="xml-names"/>. The anyURI symbol has the same meaning as the
+anyURI datatype of <xref linkend="xmlschema-2"/>: it indicates a
+string that, after escaping of disallowed values as described in
+Section 5.4 of <xref linkend="xlink"/>, is a URI reference as defined
+in <xref linkend="rfc2396"/> (as modified by <xref
+linkend="rfc2732"/>). The symbol string matches any string.</para>
+
+<para>In addition to the attributes shown explicitly, any element can
+have an <literal>ns</literal> attribute and any element can have a
+<literal>datatypeLibrary</literal> attribute. The
+<literal>ns</literal> attribute can have any value. The value of the
+<literal>datatypeLibrary</literal> attribute must match the anyURI
+symbol as described in the previous paragraph; in addition, it must
+not use the relative form of URI reference and must not have a
+fragment identifier; as an exception to this, the value may be the
+empty string.</para>
+
+<para>Any element can also have foreign attributes in addition to the
+attributes shown in the grammar. A foreign attribute is an attribute
+with a name whose namespace URI is neither the empty string nor the
+RELAX NG namespace URI. Any element that cannot have string children
+(that is, any element other than <literal>value</literal>, <literal>param</literal>
+and <literal>name</literal>) may have foreign child elements in addition
+to the child elements shown in the grammar. A foreign element is an
+element with a name whose namespace URI is not the RELAX NG namespace
+URI. There are no constraints on the relative position of foreign
+child elements with respect to other child elements.</para>
+
+<para>Any element can also have as children strings that consist
+entirely of whitespace characters, where a whitespace character is one
+of #x20, #x9, #xD or #xA. There are no constraints on the relative
+position of whitespace string children with respect to child
+elements.</para>
+
+<para>Leading and trailing whitespace is allowed for value of each
+<literal>name</literal>, <literal>type</literal> and
+<literal>combine</literal> attribute and for the content of each
+<literal>name</literal> element.</para>
+
+<grammarref src="full.rng"/>
+
+<section id="full-syntax-example">
+<title>Example</title>
+
+<para>Here is an example of a schema in the full syntax for the
+document in <xref linkend="data-model-example"/>.</para>
+
+<programlisting><![CDATA[<?xml version="1.0"?>
+<element name="foo"
+ xmlns="http://relaxng.org/ns/structure/1.0"
+ xmlns:a="http://relaxng.org/ns/annotation/1.0"
+ xmlns:ex1="http://www.example.com/n1"
+ xmlns:ex2="http://www.example.com/n2">
+ <a:documentation>A foo element.</a:document>
+ <element name="ex1:bar1">
+ <empty/>
+ </element>
+ <element name="ex2:bar2">
+ <empty/>
+ </element>
+</element>]]></programlisting>
+
+</section>
+
+</section>
+
+<section id="simplification">
+<title>Simplification</title>
+
+<para>The full syntax given in the previous section is transformed
+into a simpler syntax by applying the following transformation rules
+in order. The effect must be as if each rule was applied to all
+elements in the schema before the next rule is applied. A
+transformation rule may also specify constraints that must be
+satisfied by a correct schema. The transformation rules are applied
+at the data model level. Before the transformations are applied, the
+schema is parsed into an instance of the data model.</para>
+
+<section>
+<title>Annotations</title>
+
+<para>Foreign attributes and elements are removed.</para>
+
+<note><para>It is safe to remove <literal>xml:base</literal>
+attributes at this stage because <literal>xml:base</literal>
+attributes are used in determining the [base URI] of an element
+information item, which is in turn used to construct the base URI of
+the context of an element. Thus, after a document has been parsed
+into an instance of the data model, <literal>xml:base</literal>
+attributes can be discarded.</para></note>
+
+</section>
+
+<section>
+<title>Whitespace</title>
+
+<para>For each element other than <literal>value</literal> and
+<literal>param</literal>, each child that is a string containing only
+whitespace characters is removed.</para>
+
+<para>Leading and trailing whitespace characters are removed from the
+value of each <literal>name</literal>, <literal>type</literal> and
+<literal>combine</literal> attribute and from the content of each
+<literal>name</literal> element.</para>
+
+</section>
+
+<section>
+<title><literal>datatypeLibrary</literal> attribute</title>
+
+<para>The value of each <literal>datatypeLibary</literal> attribute is
+transformed by escaping disallowed characters as specified in Section
+5.4 of <xref linkend="xlink"/>.</para>
+
+<para>For any <literal>data</literal> or <literal>value</literal>
+element that does not have a <literal>datatypeLibrary</literal>
+attribute, a <literal>datatypeLibrary</literal> attribute is
+added. The value of the added <literal>datatypeLibrary</literal>
+attribute is the value of the <literal>datatypeLibrary</literal>
+attribute of the nearest ancestor element that has a
+<literal>datatypeLibrary</literal> attribute, or the empty string if
+there is no such ancestor. Then, any <literal>datatypeLibrary</literal>
+attribute that is on an element other than <literal>data</literal> or
+<literal>value</literal> is removed.</para>
+
+</section>
+
+<section>
+<title><literal>type</literal> attribute of <literal>value</literal> element</title>
+
+<para>For any <literal>value</literal> element that does not have a
+<literal>type</literal> attribute, a <literal>type</literal> attribute
+is added with value <literal>token</literal> and the value of the
+<literal>datatypeLibrary</literal> attribute is changed to the empty
+string.</para>
+
+</section>
+
+<section id="href">
+<title><literal>href</literal> attribute</title>
+
+<para>The value of the <literal>href</literal> attribute on an
+<literal>externalRef</literal> or <literal>include</literal> element
+is first transformed by escaping disallowed characters as specified in
+Section 5.4 of <xref linkend="xlink"/>. The URI reference is then
+resolved into an absolute form as described in section 5.2 of <xref
+linkend="rfc2396"/> using the base URI from the context of the element
+that bears the <literal>href</literal> attribute.</para>
+
+<para>The value of the <literal>href</literal> attribute will be used
+to construct an element (as specified in <xref
+linkend="data-model"/>). This must be done as follows. The URI
+reference consists of the URI itself and an optional fragment
+identifier. The resource identified by the URI is retrieved. The
+result is a MIME entity: a sequence of bytes labeled with a MIME
+media type. The media type determines how an element is constructed
+from the MIME entity and optional fragment identifier. When the media
+type is <literal>application/xml</literal> or
+<literal>text/xml</literal>, the MIME entity must be parsed as an XML
+document in accordance with the applicable RFC (at the term of writing
+<xref linkend="rfc3023"/>) and an element constructed from the result
+of the parse as specified in <xref linkend="data-model"/>. In
+particular, the <literal>charset</literal> parameter must be handled
+as specified by the RFC. This specification does not define the
+handling of media types other than <literal>application/xml</literal>
+and <literal>text/xml</literal>. The <literal>href</literal> attribute
+must not include a fragment identifier unless the registration of the
+media type of the resource identified by the attribute defines the
+interpretation of fragment identifiers for that media type.</para>
+
+<note><para><xref linkend="rfc3023"/> does not define the
+interpretation of fragment identifiers for
+<literal>application/xml</literal> or
+<literal>text/xml</literal>.</para></note>
+
+</section>
+
+<section>
+<title><literal>externalRef</literal> element</title>
+
+<para>An <literal>externalRef</literal> element is transformed as
+follows. An element is constructed using the URI reference that is
+the value of <literal>href</literal> attribute as specified in <xref
+linkend="href"/>. This element must match the syntax for pattern. The
+element is transformed by recursively applying the rules from this
+subsection and from previous subsections of this section. This must
+not result in a loop. In other words, the transformation of the
+referenced element must not require the dereferencing of an
+<literal>externalRef</literal> attribute with an
+<literal>href</literal> attribute with the same value.</para>
+
+<para>Any <literal>ns</literal> attribute on the
+<literal>externalRef</literal> element is transferred to the
+referenced element if the referenced element does not already have an
+<literal>ns</literal> attribute. The <literal>externalRef</literal>
+element is then replaced by the referenced element.</para>
+
+</section>
+
+<section>
+<title><literal>include</literal> element</title>
+
+<para>An <literal>include</literal> element is transformed as follows.
+An element is constructed using the URI reference that is the value of
+<literal>href</literal> attribute as specified in <xref
+linkend="href"/>. This element must be a <literal>grammar</literal>
+element, matching the syntax for grammar.</para>
+
+<para>This <literal>grammar</literal> element is transformed by
+recursively applying the rules from this subsection and from previous
+subsections of this section. This must not result in a loop. In other
+words, the transformation of the <literal>grammar</literal> element
+must not require the dereferencing of an <literal>include</literal>
+attribute with an <literal>href</literal> attribute with the same
+value.</para>
+
+<para>Define the <firstterm>components</firstterm> of an element to
+be the children of the element together with the components of any
+<literal>div</literal> child elements. If the
+<literal>include</literal> element has a <literal>start</literal>
+component, then the <literal>grammar</literal> element must have a
+<literal>start</literal> component. If the <literal>include</literal>
+element has a <literal>start</literal> component, then all
+<literal>start</literal> components are removed from the
+<literal>grammar</literal> element. If the <literal>include</literal>
+element has a <literal>define</literal> component, then the
+<literal>grammar</literal> element must have a
+<literal>define</literal> component with the same name. For every
+<literal>define</literal> component of the <literal>include</literal>
+element, all <literal>define</literal> components with the same name
+are removed from the <literal>grammar</literal> element.</para>
+
+<para>The <literal>include</literal> element is transformed into a
+<literal>div</literal> element. The attributes of the
+<literal>div</literal> element are the attributes of the
+<literal>include</literal> element other than the
+<literal>href</literal> attribute. The children of the
+<literal>div</literal> element are the <literal>grammar</literal>
+element (after the removal of the <literal>start</literal> and
+<literal>define</literal> components described by the preceding
+paragraph) followed by the children of the <literal>include</literal>
+element. The <literal>grammar</literal> element is then renamed to
+<literal>div</literal>.</para>
+
+</section>
+
+<section>
+<title><literal>name</literal> attribute of <literal>element</literal>
+and <literal>attribute</literal> elements</title>
+
+<para>The <literal>name</literal> attribute on an
+<literal>element</literal> or <literal>attribute</literal> element is
+transformed into a <literal>name</literal> child element.</para>
+
+<para>If an <literal>attribute</literal> element has a
+<literal>name</literal> attribute but no <literal>ns</literal>
+attribute, then an <literal>ns=""</literal> attribute is added to the
+<literal>name</literal> child element.</para>
+
+</section>
+
+<section>
+<title><literal>ns</literal> attribute</title>
+
+<para>For any <literal>name</literal>, <literal>nsName</literal> or
+<literal>value</literal> element that does not have an
+<literal>ns</literal> attribute, an <literal>ns</literal> attribute is
+added. The value of the added <literal>ns</literal> attribute is the
+value of the <literal>ns</literal> attribute of the nearest ancestor
+element that has an <literal>ns</literal> attribute, or the empty
+string if there is no such ancestor. Then, any <literal>ns</literal>
+attribute that is on an element other than <literal>name</literal>,
+<literal>nsName</literal> or <literal>value</literal> is
+removed.</para>
+
+<note><para>The value of the <literal>ns</literal> attribute is
+<emphasis role="strong">not</emphasis> transformed either by escaping
+disallowed characters, or in any other way, because the value of the
+<literal>ns</literal> attribute is compared against namespace URIs in
+the instance, which are not subject to any
+transformation.</para></note>
+
+<note><para>Since <literal>include</literal> and
+<literal>externalRef</literal> elements are resolved after
+<literal>datatypeLibrary</literal> attributes are added but before
+<literal>ns</literal> attributes are added, <literal>ns</literal>
+attributes are inherited into external schemas but
+<literal>datatypeLibrary</literal> attributes are not.</para></note>
+
+</section>
+
+<section>
+<title>QNames</title>
+
+<para>For any <literal>name</literal> element containing a prefix, the
+prefix is removed and an <literal>ns</literal> attribute is added
+replacing any existing <literal>ns</literal> attribute. The value of
+the added <literal>ns</literal> attribute is the value to which the
+namespace map of the context of the <literal>name</literal> element
+maps the prefix. The context must have a mapping for the
+prefix.</para>
+
+</section>
+
+<section>
+<title><literal>div</literal> element</title>
+
+<para>Each <literal>div</literal> element is replaced by its
+children.</para>
+
+</section>
+
+<section id="number-child-elements">
+<title>Number of child elements</title>
+
+<para>A <literal>define</literal>, <literal>oneOrMore</literal>,
+<literal>zeroOrMore</literal>, <literal>optional</literal>, <literal>list</literal> or
+<literal>mixed</literal> element is transformed so that it has exactly
+one child element. If it has more than one child element, then its
+child elements are wrapped in a <literal>group</literal>
+element. Similarly, an <literal>element</literal> element is transformed so
+that it has exactly two child elements, the first being a name class
+and the second being a pattern. If it has more than two child elements,
+then the child elements other than the first are wrapped in a
+<literal>group</literal> element.</para>
+
+<para>A <literal>except</literal> element is transformed
+so that it has exactly one child element. If it has more
+than one child element, then its child elements are wrapped
+in a <literal>choice</literal> element.</para>
+
+<para>If an <literal>attribute</literal> element has only one child
+element (a name class), then a <literal>text</literal> element is
+added.</para>
+
+<para>A <literal>choice</literal>, <literal>group</literal> or
+<literal>interleave</literal> element is transformed so that it has
+exactly two child elements. If it has one child element, then it is
+replaced by its child element. If it has more than two child
+elements, then the first two child elements are combined into a new
+element with the same name as the parent element and with the first
+two child elements as its children. For example,</para>
+
+<programlisting>&lt;choice&gt; <replaceable>p1</replaceable> <replaceable>p2</replaceable> <replaceable>p3</replaceable> &lt;/choice&gt;</programlisting>
+
+<para>is transformed to</para>
+
+<programlisting>&lt;choice&gt; &lt;choice&gt; <replaceable>p1</replaceable> <replaceable>p2</replaceable> &lt;/choice&gt; <replaceable>p3</replaceable> &lt;/choice&gt;</programlisting>
+
+<para>This reduces the number of child elements by one. The
+transformation is applied repeatedly until there are exactly two child
+elements.</para>
+
+</section>
+
+<section>
+<title><literal>mixed</literal> element</title>
+
+<para>A <literal>mixed</literal> element is transformed into an
+interleaving with a <literal>text</literal> element:</para>
+
+<programlisting>&lt;mixed> <replaceable>p</replaceable> &lt;/mixed></programlisting>
+
+<para>is transformed into</para>
+
+<programlisting>&lt;interleave> <replaceable>p</replaceable> &lt;text/> &lt;/interleave></programlisting>
+
+</section>
+
+<section>
+<title><literal>optional</literal> element</title>
+
+<para>An <literal>optional</literal> element is transformed into
+a choice with <literal>empty</literal>:</para>
+
+<programlisting>&lt;optional> <replaceable>p</replaceable> &lt;/optional></programlisting>
+
+<para>is transformed into</para>
+
+<programlisting>&lt;choice> <replaceable>p</replaceable> &lt;empty/> &lt;/choice></programlisting>
+
+</section>
+
+<section>
+<title><literal>zeroOrMore</literal> element</title>
+
+<para>A <literal>zeroOrMore</literal> element is transformed into a choice
+between <literal>oneOrMore</literal> and
+<literal>empty</literal>:</para>
+
+<programlisting>&lt;zeroOrMore> <replaceable>p</replaceable> &lt;/zeroOrMore></programlisting>
+
+<para>is transformed into</para>
+
+<programlisting>&lt;choice> &lt;oneOrMore> <replaceable>p</replaceable> &lt;/oneOrMore> &lt;empty/> &lt;/choice></programlisting>
+
+</section>
+
+<section id="constraints">
+<title>Constraints</title>
+
+<para>In this rule, no transformation is performed, but various
+constraints are checked.</para>
+
+<note><para>The constraints in this section, unlike the constraints
+specified in <xref linkend="restriction"/>, can be checked without
+resolving any <literal>ref</literal> elements, and are accordingly
+applied even to patterns that will disappear during later stages of
+simplification because they are not reachable (see <xref
+linkend="define-ref"/>) or because of <literal>notAllowed</literal>
+(see <xref linkend="notAllowed"/>).</para></note>
+
+<para>An <literal>except</literal> element that is a child of an
+<literal>anyName</literal> element must not have any
+<literal>anyName</literal> descendant elements. An
+<literal>except</literal> element that is a child of an
+<literal>nsName</literal> element must not have any
+<literal>nsName</literal> or <literal>anyName</literal> descendant
+elements.</para>
+
+<para>A <literal>name</literal> element that occurs as the first child
+of an <literal>attribute</literal> element or as the descendant of the
+first child of an <literal>attribute</literal> element and that has an
+<literal>ns</literal> attribute with value equal to the empty string
+must not have content equal to <literal>xmlns</literal>.</para>
+
+<para>A <literal>name</literal> or <literal>nsName</literal> element
+that occurs as the first child of an <literal>attribute</literal>
+element or as the descendant of the first child of an
+<literal>attribute</literal> element must not have an
+<literal>ns</literal> attribute with value
+<literal>http://www.w3.org/2000/xmlns</literal>.</para>
+
+<note><para>The <xref linkend="infoset"/> defines the namespace URI of
+namespace declaration attributes to be
+<literal>http://www.w3.org/2000/xmlns</literal>.</para></note>
+
+<para>A <literal>data</literal> or <literal>value</literal> element
+must be correct in its use of datatypes. Specifically, the
+<literal>type</literal> attribute must identify a datatype within the
+datatype library identified by the value of the
+<literal>datatypeLibrary</literal> attribute. For a
+<literal>data</literal> element, the parameter list must be one that
+is allowed by the datatype (see <xref
+linkend="data-pattern"/>).</para>
+
+</section>
+
+<section>
+<title><literal>combine</literal> attribute</title>
+
+<para>For each <literal>grammar</literal> element, all
+<literal>define</literal> elements with the same name are combined
+together. For any name, there must not be more than one
+<literal>define</literal> element with that name that does not have a
+<literal>combine</literal> attribute. For any name, if there is a
+<literal>define</literal> element with that name that has a
+<literal>combine</literal> attribute with the value
+<literal>choice</literal>, then there must not also be a
+<literal>define</literal> element with that name that has a
+<literal>combine</literal> attribute with the value
+<literal>interleave</literal>. Thus, for any name, if there is more
+than one <literal>define</literal> element with that name, then there
+is a unique value for the <literal>combine</literal> attribute for
+that name. After determining this unique value, the
+<literal>combine</literal> attributes are removed. A pair of
+definitions</para>
+
+<programlisting>&lt;define name="<replaceable>n</replaceable>"&gt;
+ <replaceable>p1</replaceable>
+&lt;/define>
+&lt;define name="<replaceable>n</replaceable>"&gt;
+ <replaceable>p2</replaceable>
+&lt;/define></programlisting>
+
+<para>is combined into</para>
+
+<programlisting>&lt;define name="<replaceable>n</replaceable>">
+ &lt;<replaceable>c</replaceable>&gt;
+ <replaceable>p1</replaceable>
+ <replaceable>p2</replaceable>
+ &lt;/<replaceable>c</replaceable>&gt;
+&lt;/define></programlisting>
+
+<para>where <replaceable>c</replaceable> is the value of the
+<literal>combine</literal> attribute. Pairs of definitions are
+combined until there is exactly one <literal>define</literal> element
+for each name.</para>
+
+<para>Similarly, for each <literal>grammar</literal> element all
+<literal>start</literal> elements are combined together. There must
+not be more than one <literal>start</literal> element that does not
+have a <literal>combine</literal> attribute. If there is a
+<literal>start</literal> element that has a <literal>combine</literal>
+attribute with the value <literal>choice</literal>, there must not
+also be a <literal>start</literal> element that has a
+<literal>combine</literal> attribute with the value
+<literal>interleave</literal>.</para>
+
+</section>
+
+<section>
+<title><literal>grammar</literal> element</title>
+
+<para>In this rule, the schema is transformed so that its top-level
+element is <literal>grammar</literal> and so that it has no other
+<literal>grammar</literal> elements.</para>
+
+<para>Define the <firstterm>in-scope grammar</firstterm> for an
+element to be the nearest ancestor <literal>grammar</literal> element. A
+<literal>ref</literal> element <firstterm>refers to</firstterm> a
+<literal>define</literal> element if the value of their
+<literal>name</literal> attributes is the same and their in-scope
+grammars are the same. A <literal>parentRef</literal> element
+<firstterm>refers to</firstterm> a <literal>define</literal> element
+if the value of their <literal>name</literal> attributes is the same
+and the in-scope grammar of the in-scope grammar of the
+<literal>parentRef</literal> element is the same as the in-scope
+grammar of the <literal>define</literal> element. Every
+<literal>ref</literal> or <literal>parentRef</literal> element must
+refer to a <literal>define</literal> element. A
+<literal>grammar</literal> must have a <literal>start</literal> child
+element.</para>
+
+<para>First, transform the top-level pattern
+<replaceable>p</replaceable> into
+<literal>&lt;grammar>&lt;start><replaceable>p</replaceable>&lt;/start>&lt;/grammar></literal>.
+Next, rename <literal>define</literal> elements so that no two
+<literal>define</literal> elements anywhere in the schema have the
+same name. To rename a <literal>define</literal> element, change the
+value of its <literal>name</literal> attribute and change the value of
+the <literal>name</literal> attribute of all <literal>ref</literal>
+and <literal>parentRef</literal> elements that refer to that
+<literal>define</literal> element. Next, move all
+<literal>define</literal> elements to be children of the top-level
+<literal>grammar</literal> element, replace each nested
+<literal>grammar</literal> element by the child of its
+<literal>start</literal> element and rename each
+<literal>parentRef</literal> element to <literal>ref</literal>.</para>
+
+</section>
+
+
+<section id="define-ref">
+<title><literal>define</literal> and <literal>ref</literal> elements</title>
+
+<para>In this rule, the grammar is transformed so that every
+<literal>element</literal> element is the child of a
+<literal>define</literal> element, and the child of every
+<literal>define</literal> element is an <literal>element</literal>
+element.</para>
+
+<para>First, remove any <literal>define</literal> element that is not
+<firstterm>reachable</firstterm>. A <literal>define</literal> element
+is reachable if there is reachable <literal>ref</literal> element
+referring to it. A <literal>ref</literal> element is reachable if it
+is the descendant of the <literal>start</literal> element or of a
+reachable <literal>define</literal> element. Now, for
+each <literal>element</literal> element that is not the child of a
+<literal>define</literal> element, add a <literal>define</literal>
+element to the <literal>grammar</literal> element, and replace the
+<literal>element</literal> element by a <literal>ref</literal> element
+referring to the added <literal>define</literal> element. The value of
+the <literal>name</literal> attribute of the added
+<literal>define</literal> element must be different from value of the
+<literal>name</literal> attribute of all other
+<literal>define</literal> elements. The child of the added
+<literal>define</literal> element is the <literal>element</literal>
+element.</para>
+
+<para>Define a <literal>ref</literal> element to be
+<firstterm>expandable</firstterm> if it refers to a
+<literal>define</literal> element whose child is not an
+<literal>element</literal> element. For each <literal>ref</literal>
+element that is expandable and is a descendant of a
+<literal>start</literal> element or an <literal>element</literal>
+element, expand it by replacing the <literal>ref</literal> element by
+the child of the <literal>define</literal> element to which it refers and
+then recursively expanding any expandable <literal>ref</literal>
+elements in this replacement. This must not result in a loop.
+In other words expanding the replacement of a
+<literal>ref</literal> element having a <literal>name</literal> with
+value <replaceable>n</replaceable> must not require the expansion of
+<literal>ref</literal> element also having a <literal>name</literal>
+with value <replaceable>n</replaceable>. Finally, remove any
+<literal>define</literal> element whose child is not an
+<literal>element</literal> element.</para>
+
+</section>
+
+<section id="notAllowed">
+<title><literal>notAllowed</literal> element</title>
+
+<para>In this rule, the grammar is transformed so that a
+<literal>notAllowed</literal> element occurs only as the child of
+a <literal>start</literal> or <literal>element</literal> element. An
+<literal>attribute</literal>, <literal>list</literal>,
+<literal>group</literal>, <literal>interleave</literal>,
+or <literal>oneOrMore</literal> element that has a
+<literal>notAllowed</literal> child element is transformed into a
+<literal>notAllowed</literal> element. A <literal>choice</literal>
+element that has two <literal>notAllowed</literal> child elements is
+transformed into a <literal>notAllowed</literal> element. A
+<literal>choice</literal> element that has one
+<literal>notAllowed</literal> child element is transformed into its
+other child element. An <literal>except</literal> element that has a
+<literal>notAllowed</literal> child element is removed.
+The preceding transformations are applied
+repeatedly until none of them is applicable any more.
+Any <literal>define</literal> element that is no longer reachable
+is removed.</para>
+
+</section>
+
+<section>
+<title><literal>empty</literal> element</title>
+
+<para>In this rule, the grammar is transformed so that an
+<literal>empty</literal> element does not occur as a child of a
+<literal>group</literal>, <literal>interleave</literal>, or
+<literal>oneOrMore</literal> element or as the second child of
+a <literal>choice</literal> element. A <literal>group</literal>,
+<literal>interleave</literal> or <literal>choice</literal> element
+that has two <literal>empty</literal> child elements is transformed
+into an <literal>empty</literal> element. A <literal>group</literal>
+or <literal>interleave</literal> element that has one
+<literal>empty</literal> child element is transformed into its other
+child element. A <literal>choice</literal> element whose
+second child element is an <literal>empty</literal> element is
+transformed by interchanging its two child elements. A
+<literal>oneOrMore</literal> element that has an
+<literal>empty</literal> child element is transformed into an
+<literal>empty</literal> element. The preceding transformations are applied
+repeatedly until none of them is applicable any more.</para>
+
+</section>
+
+</section>
+
+<section id="simple-syntax">
+<title>Simple syntax</title>
+
+<para>After applying all the rules in <xref
+linkend="simplification"/>, the schema will match the following
+grammar:</para>
+
+<grammarref src="simple.rng"/>
+
+<para>With this grammar, no elements or attributes are allowed other
+than those explicitly shown.</para>
+
+<section id="simple-syntax-example">
+<title>Example</title>
+
+<para>The following is an example of how the schema in <xref
+linkend="full-syntax-example"/> can be transformed into the simple
+syntax:</para>
+
+<programlisting><![CDATA[<?xml version="1.0"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="foo.element"/>
+ </start>
+
+ <define name="foo.element">
+ <element>
+ <name ns="">foo</name>
+ <group>
+ <ref name="bar1.element"/>
+ <ref name="bar2.element"/>
+ </group>
+ </element>
+ </define>
+
+ <define name="bar1.element">
+ <element>
+ <name ns="http://www.example.com/n1">bar1</name>
+ <empty/>
+ </element>
+ </define>
+
+ <define name="bar2.element">
+ <element>
+ <name ns="http://www.example.com/n2">bar2</name>
+ <empty/>
+ </element>
+ </define>
+</grammar>]]></programlisting>
+
+<note><para>Strictly speaking, the result of simplification is an
+instance of the data model rather than an XML document. For
+convenience, we use an XML document to represent an instance of the
+data model.</para></note>
+
+</section>
+
+</section>
+
+<section id="semantics">
+<title>Semantics</title>
+
+<para>In this section, we define the semantics of a correct RELAX NG
+schema that has been transformed into the simple syntax. The
+semantics of a RELAX NG schema consist of a specification of what XML
+documents are valid with respect to that schema. The semantics are
+described formally. The formalism uses axioms and inference rules.
+Axioms are propositions that are provable unconditionally. An
+inference rule consists of one or more antecedents and exactly one
+consequent. An antecedent is either positive or negative. If all the
+positive antecedents of an inference rule are provable and none of the
+negative antecedents are provable, then the consequent of the
+inference rule is provable. An XML document is valid with respect to a
+RELAX NG schema if and only if the proposition that it is valid is
+provable in the formalism specified in this section.</para>
+
+<note><para>This kind of formalism is similar to a proof system.
+However, a traditional proof system only has positive
+antecedents.</para></note>
+
+<para>The notation for inference rules separates the antecedents from
+the consequent by a horizontal line: the antecedents are above the
+line; the consequent is below the line. If an antecedent is of the
+form not(<replaceable>p</replaceable>), then it is a negative
+antecedent; otherwise, it is a positive antecedent. Both axioms and
+inferences
+rules may use variables. A variable has a name and optionally a
+subscript. The name of a variable is italicized. Each variable has a
+range that is determined by its name. Axioms and inference rules are
+implicitly universally quantified over the variables they contain. We
+explain this further below.</para>
+
+<para>The possibility that an inference rule or axiom may contain more
+than one occurrence of a particular variable requires that an identity
+relation be defined on each kind of object over which a variable can
+range. The identity relation for all kinds of object is value-based.
+Two objects of a particular kind are identical if the constituents of
+the objects are identical. For example, two attributes are considered
+the same if they have the same name and the same value. Two characters
+are identical if their Unicode character codes are the same.</para>
+
+<section id="name-classes">
+<title>Name classes</title>
+
+<para>The main semantic concept for name classes is that of a name
+belonging to a name class. A name class is an element that matches the
+production nameClass. A name is as defined in <xref
+linkend="data-model"/>: it consists of a namespace URI and a local
+name.</para>
+
+<para>We use the following notation:</para>
+
+<variablelist>
+
+<varlistentry><term><p:var range="name"/></term><listitem><para>is a variable
+that ranges over names</para></listitem></varlistentry>
+
+<varlistentry><term><p:var range="nameClass"/></term><listitem><para>ranges over name classes</para></listitem></varlistentry>
+
+<varlistentry><term><p:judgement name="belongs">
+ <p:var range="name"/>
+ <p:var range="nameClass"/>
+ </p:judgement></term><listitem><para>
+
+asserts that name <p:var range="name"/> is a member of name class <p:var range="nameClass"/>
+
+</para></listitem></varlistentry>
+
+</variablelist>
+
+<para>We are now ready for our first axiom, which is called "anyName
+1":</para>
+
+<p:proofSystem>
+ <p:rule name="anyName 1">
+ <p:judgement name="belongs">
+ <p:var range="name"/>
+ <p:element name="anyName"/>
+ </p:judgement>
+ </p:rule>
+</p:proofSystem>
+
+<para>This says for any name <p:var range="name"/>, <p:var
+range="name"/> belongs to the name class <p:element name="anyName"/>,
+in other words <p:element name="anyName"/> matches any name. Note the
+effect of the implicit universal quantification over the variables in
+the axiom: this is what makes the axiom apply for any name <p:var
+range="name"/>.</para>
+
+<para>Our first inference rule is almost as simple:</para>
+
+<p:proofSystem>
+ <p:rule name="anyName 2">
+ <p:not>
+ <p:judgement name="belongs">
+ <p:var range="name"/>
+ <p:var range="nameClass"/>
+ </p:judgement>
+ </p:not>
+ <p:judgement name="belongs">
+ <p:var range="name"/>
+ <p:element name="anyName">
+ <p:element name="except">
+ <p:var range="nameClass"/>
+ </p:element>
+ </p:element>
+ </p:judgement>
+ </p:rule>
+
+</p:proofSystem>
+
+<para>This says that for any name <p:var range="name"/>
+and for any name class <p:var range="nameClass"/>,
+if <p:var range="name"/> does not belong to <p:var range="nameClass"/>,
+then <p:var range="name"/> belongs to
+ <p:element name="anyName">
+ <p:element name="except">
+ <p:var range="nameClass"/>
+ </p:element>
+ </p:element>. In other words, <p:element name="anyName">
+ <p:element name="except">
+ <p:var range="nameClass"/>
+ </p:element>
+ </p:element> matches any name that does not match <p:var range="nameClass"/>.</para>
+
+<para>We now need the following additional notation:</para>
+
+<variablelist>
+
+<varlistentry><term><p:var range="ncname"/></term>
+
+<listitem><para>ranges over local names; a local name is a string that
+matches the NCName production of <xref linkend="xml-names"/>, that is,
+a name with no colons</para></listitem>
+</varlistentry>
+
+<varlistentry><term><p:var range="uri"/></term><listitem><para>ranges over URIs</para></listitem></varlistentry>
+
+<varlistentry>
+<term>
+ <p:function name="name">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ </p:function>
+</term>
+<listitem><para>constructs a name with URI <p:var range="uri"/> and local
+name <p:var range="ncname"/></para></listitem>
+</varlistentry>
+
+</variablelist>
+
+<para>The remaining axioms and inference rules for name classes are as
+follows:</para>
+
+<p:proofSystem>
+
+ <p:rule name="nsName 1">
+ <p:judgement name="belongs">
+ <p:function name="name">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ </p:function>
+ <p:element name="nsName">
+ <p:attribute name="ns">
+ <p:var range="uri"/>
+ </p:attribute>
+ </p:element>
+ </p:judgement>
+ </p:rule>
+
+ <p:rule name="nsName 2">
+ <p:not>
+ <p:judgement name="belongs">
+ <p:function name="name">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ </p:function>
+ <p:var range="nameClass"/>
+ </p:judgement>
+ </p:not>
+ <p:judgement name="belongs">
+ <p:function name="name">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ </p:function>
+ <p:element name="nsName">
+ <p:attribute name="ns">
+ <p:var range="uri"/>
+ </p:attribute>
+ <p:element name="except">
+ <p:var range="nameClass"/>
+ </p:element>
+ </p:element>
+ </p:judgement>
+ </p:rule>
+
+ <p:rule name="name">
+ <p:judgement name="belongs">
+ <p:function name="name">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ </p:function>
+ <p:element name="name">
+ <p:attribute name="ns">
+ <p:var range="uri"/>
+ </p:attribute>
+ <p:var range="ncname"/>
+ </p:element>
+ </p:judgement>
+ </p:rule>
+
+ <p:rule name="name choice 1">
+ <p:judgement name="belongs">
+ <p:var range="name"/>
+ <p:var range="nameClass" sub="1"/>
+ </p:judgement>
+ <p:judgement name="belongs">
+ <p:var range="name"/>
+ <p:element name="choice">
+ <p:var range="nameClass" sub="1"/>
+ <p:var range="nameClass" sub="2"/>
+ </p:element>
+ </p:judgement>
+ </p:rule>
+
+ <p:rule name="name choice 2">
+ <p:judgement name="belongs">
+ <p:var range="name"/>
+ <p:var range="nameClass" sub="2"/>
+ </p:judgement>
+ <p:judgement name="belongs">
+ <p:var range="name"/>
+ <p:element name="choice">
+ <p:var range="nameClass" sub="1"/>
+ <p:var range="nameClass" sub="2"/>
+ </p:element>
+ </p:judgement>
+ </p:rule>
+
+</p:proofSystem>
+
+</section>
+
+
+<section>
+<title>Patterns</title>
+
+<para>The axioms and inference rules for patterns use the following
+notation:</para>
+
+<variablelist>
+
+<varlistentry><term><p:var range="context"/></term><listitem><para>ranges
+over contexts (as defined in <xref
+linkend="data-model"/>)</para></listitem></varlistentry>
+
+<varlistentry><term><p:var range="att"/></term><listitem><para>ranges over
+sets of attributes; a set with a single member
+is considered the same as that member</para></listitem></varlistentry>
+
+<varlistentry><term><p:var
+range="mixed"/></term><listitem><para>ranges over sequences of
+elements and strings; a sequence with a single member is considered
+the same as that member; the sequences ranged over by <p:var
+range="mixed"/> may contain consecutive strings and may contain strings
+that are empty; thus, there are sequences ranged over by <p:var
+range="mixed"/> that cannot occur as the children of an
+element</para></listitem></varlistentry>
+
+<varlistentry><term><p:var range="pattern"/></term><listitem><para>ranges
+over patterns (elements matching the pattern
+production)</para></listitem></varlistentry>
+
+<varlistentry><term><p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ <p:var range="pattern"/>
+ </p:judgement></term><listitem><para>
+
+asserts that with respect to context <p:var range="context"/>, the
+attributes <p:var range="att"/> and the sequence of elements and
+strings <p:var range="mixed"/> matches the pattern <p:var
+range="pattern"/></para></listitem></varlistentry>
+
+</variablelist>
+
+<section id="choice-pattern">
+<title><literal>choice</literal> pattern</title>
+
+<para>The semantics of the <literal>choice</literal> pattern are as follows:</para>
+
+<p:proofSystem>
+ <p:rule name="choice 1">
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ <p:var range="pattern" sub="1"/>
+ </p:judgement>
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ <p:element name="choice">
+ <p:var range="pattern" sub="1"/>
+ <p:var range="pattern" sub="2"/>
+ </p:element>
+ </p:judgement>
+
+ </p:rule>
+
+ <p:rule name="choice 2">
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ <p:var range="pattern" sub="2"/>
+ </p:judgement>
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ <p:element name="choice">
+ <p:var range="pattern" sub="1"/>
+ <p:var range="pattern" sub="2"/>
+ </p:element>
+ </p:judgement>
+
+ </p:rule>
+
+
+</p:proofSystem>
+
+</section>
+
+<section>
+<title><literal>group</literal> pattern</title>
+
+<para>We use the following additional notation:</para>
+
+<variablelist>
+
+<varlistentry><term><p:function name="append">
+ <p:var range="mixed" sub="1"/>
+ <p:var range="mixed" sub="2"/>
+ </p:function></term><listitem>
+<para>represents the concatenation of the sequences <p:var range="mixed" sub="1"/> and <p:var range="mixed" sub="2"/>
+
+</para></listitem></varlistentry>
+
+<varlistentry><term><p:function name="union">
+ <p:var range="att" sub="1"/>
+ <p:var range="att" sub="2"/>
+ </p:function></term><listitem>
+<para>represents the union of <p:var range="att" sub="1"/>
+and <p:var range="att" sub="2"/></para>
+</listitem>
+</varlistentry>
+
+</variablelist>
+
+<para>The semantics of the <literal>group</literal> pattern are as follows:</para>
+
+<p:proofSystem>
+ <p:rule name="group">
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att" sub="1"/>
+ <p:var range="mixed" sub="1"/>
+ <p:var range="pattern" sub="1"/>
+ </p:judgement>
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att" sub="2"/>
+ <p:var range="mixed" sub="2"/>
+ <p:var range="pattern" sub="2"/>
+ </p:judgement>
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="union">
+ <p:var range="att" sub="1"/>
+ <p:var range="att" sub="2"/>
+ </p:function>
+ <p:function name="append">
+ <p:var range="mixed" sub="1"/>
+ <p:var range="mixed" sub="2"/>
+ </p:function>
+ <p:element name="group">
+ <p:var range="pattern" sub="1"/>
+ <p:var range="pattern" sub="2"/>
+ </p:element>
+ </p:judgement>
+
+ </p:rule>
+
+</p:proofSystem>
+
+<note><para>The restriction in <xref linkend="attribute-restrictions"/>
+ensures that the set of attributes constructed in the consequent will
+not have multiple attributes with the same name.</para></note>
+
+</section>
+
+
+<section id="empty-pattern">
+<title><literal>empty</literal> pattern</title>
+
+<para>We use the following additional notation:</para>
+
+<variablelist>
+<varlistentry><term><p:function name="emptySequence"/></term><listitem><para>represents an empty sequence</para></listitem></varlistentry>
+
+<varlistentry><term><p:function name="emptySet"/></term><listitem><para>represents an empty set</para></listitem></varlistentry>
+
+</variablelist>
+
+<para>The semantics of the <literal>empty</literal> pattern are as follows:</para>
+
+<p:proofSystem>
+ <p:rule name="empty">
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="emptySet"/>
+ <p:function name="emptySequence"/>
+ <p:element name="empty"></p:element>
+ <p:function name="emptySet"/>
+ <p:function name="emptySet"/>
+ </p:judgement>
+ </p:rule>
+</p:proofSystem>
+
+</section>
+
+
+<section id="text-pattern">
+<title><literal>text</literal> pattern</title>
+
+<para>We use the following additional notation:</para>
+
+<variablelist>
+<varlistentry><term><p:var range="string"/></term><listitem><para>ranges
+over strings</para></listitem></varlistentry>
+</variablelist>
+
+<para>The semantics of the <literal>text</literal> pattern are as follows:</para>
+
+<p:proofSystem>
+ <p:rule name="text 1">
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="emptySet"/>
+ <p:function name="emptySequence"/>
+ <p:element name="text"></p:element>
+ <p:function name="emptySet"/>
+ <p:function name="emptySet"/>
+ </p:judgement>
+ </p:rule>
+
+ <p:rule name="text 2">
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="emptySet"/>
+ <p:var range="mixed"/>
+ <p:element name="text"></p:element>
+ <p:function name="emptySet"/>
+ <p:function name="emptySet"/>
+ </p:judgement>
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="emptySet"/>
+ <p:function name="append">
+ <p:var range="mixed"/>
+ <p:var range="string"/>
+ </p:function>
+ <p:element name="text"></p:element>
+ <p:function name="emptySet"/>
+ <p:function name="emptySet"/>
+ </p:judgement>
+ </p:rule>
+
+</p:proofSystem>
+
+<para>The effect of the above rule is that a <literal>text</literal>
+element matches zero or more strings.</para>
+
+</section>
+
+
+<section>
+<title><literal>oneOrMore</literal> pattern</title>
+
+<para>We use the following additional notation:</para>
+
+<variablelist>
+<varlistentry><term><p:judgement name="disjoint">
+ <p:var range="att" sub="1"/>
+ <p:var range="att" sub="2"/>
+ </p:judgement></term><listitem><para>
+asserts that there is no name that is
+the name of both an attribute in <p:var range="att" sub="1"/>
+and of an attribute in <p:var range="att" sub="2"/>
+</para></listitem></varlistentry>
+</variablelist>
+
+<para>The semantics of the <literal>oneOrMore</literal> pattern are as follows:</para>
+
+<p:proofSystem>
+ <p:rule name="oneOrMore 1">
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ <p:element name="oneOrMore">
+ <p:var range="pattern"/>
+ </p:element>
+ </p:judgement>
+ </p:rule>
+
+ <p:rule name="oneOrMore 2">
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att" sub="1"/>
+ <p:var range="mixed" sub="1"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att" sub="2"/>
+ <p:var range="mixed" sub="2"/>
+ <p:element name="oneOrMore">
+ <p:var range="pattern"/>
+ </p:element>
+ </p:judgement>
+
+ <p:judgement name="disjoint">
+ <p:var range="att" sub="1"/>
+ <p:var range="att" sub="2"/>
+ </p:judgement>
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="union">
+ <p:var range="att" sub="1"/>
+ <p:var range="att" sub="2"/>
+ </p:function>
+ <p:function name="append">
+ <p:var range="mixed" sub="1"/>
+ <p:var range="mixed" sub="2"/>
+ </p:function>
+ <p:element name="oneOrMore">
+ <p:var range="pattern"/>
+ </p:element>
+ </p:judgement>
+ </p:rule>
+
+</p:proofSystem>
+
+</section>
+
+
+<section>
+<title><literal>interleave</literal> pattern</title>
+
+<para>We use the following additional notation:</para>
+
+<variablelist>
+<varlistentry><term><p:judgement name="interleave">
+ <p:var range="mixed" sub="1"/>
+ <p:var range="mixed" sub="2"/>
+ <p:var range="mixed" sub="3"/>
+ </p:judgement></term><listitem><para>
+
+asserts that <p:var range="mixed" sub="1"/>
+is an interleaving of <p:var range="mixed" sub="2"/>
+and <p:var range="mixed" sub="3"/>
+</para></listitem></varlistentry>
+
+</variablelist>
+
+<para>The semantics of interleaving are defined by the following rules.</para>
+
+
+<p:proofSystem>
+ <p:rule name="interleaves 1">
+
+ <p:judgement name="interleave">
+ <p:function name="emptySequence"/>
+ <p:function name="emptySequence"/>
+ <p:function name="emptySequence"/>
+ </p:judgement>
+
+ </p:rule>
+
+ <p:rule name="interleaves 2">
+
+ <p:judgement name="interleave">
+ <p:var range="mixed" sub="1"/>
+ <p:var range="mixed" sub="2"/>
+ <p:var range="mixed" sub="3"/>
+ </p:judgement>
+
+ <p:judgement name="interleave">
+ <p:function name="append">
+ <p:var range="mixed" sub="4"/>
+ <p:var range="mixed" sub="1"/>
+ </p:function>
+ <p:function name="append">
+ <p:var range="mixed" sub="4"/>
+ <p:var range="mixed" sub="2"/>
+ </p:function>
+ <p:var range="mixed" sub="3"/>
+ </p:judgement>
+
+ </p:rule>
+
+ <p:rule name="interleaves 3">
+
+ <p:judgement name="interleave">
+ <p:var range="mixed" sub="1"/>
+ <p:var range="mixed" sub="2"/>
+ <p:var range="mixed" sub="3"/>
+ </p:judgement>
+
+ <p:judgement name="interleave">
+ <p:function name="append">
+ <p:var range="mixed" sub="4"/>
+ <p:var range="mixed" sub="1"/>
+ </p:function>
+ <p:var range="mixed" sub="2"/>
+ <p:function name="append">
+ <p:var range="mixed" sub="4"/>
+ <p:var range="mixed" sub="3"/>
+ </p:function>
+ </p:judgement>
+
+ </p:rule>
+
+</p:proofSystem>
+
+<para>For example, the interleavings of
+<literal><![CDATA[<a/><a/>]]></literal> and
+<literal><![CDATA[<b/>]]></literal> are
+<literal><![CDATA[<a/><a/><b/>]]></literal>,
+<literal><![CDATA[<a/><b/><a/>]]></literal>, and
+<literal><![CDATA[<b/><a/><a/>]]></literal>.</para>
+
+<para>The semantics of the <literal>interleave</literal> pattern are
+as follows:</para>
+
+<p:proofSystem>
+ <p:rule name="interleave">
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att" sub="1"/>
+ <p:var range="mixed" sub="1"/>
+ <p:var range="pattern" sub="1"/>
+ </p:judgement>
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att" sub="2"/>
+ <p:var range="mixed" sub="2"/>
+ <p:var range="pattern" sub="2"/>
+ </p:judgement>
+
+ <p:judgement name="interleave">
+ <p:var range="mixed" sub="3"/>
+ <p:var range="mixed" sub="1"/>
+ <p:var range="mixed" sub="2"/>
+ </p:judgement>
+
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="union">
+ <p:var range="att" sub="1"/>
+ <p:var range="att" sub="2"/>
+ </p:function>
+ <p:var range="mixed" sub="3"/>
+ <p:element name="interleave">
+ <p:var range="pattern" sub="1"/>
+ <p:var range="pattern" sub="2"/>
+ </p:element>
+ </p:judgement>
+
+ </p:rule>
+
+</p:proofSystem>
+
+<note><para>The restriction in <xref linkend="attribute-restrictions"/>
+ensures that the set of attributes constructed in the consequent will
+not have multiple attributes with the same name.</para></note>
+
+</section>
+
+<section id="element-pattern">
+<title><literal>element</literal> and <literal>attribute</literal> pattern</title>
+
+<para>The value of an attribute is always a single string, which may
+be empty. Thus, the empty sequence is not a possible attribute value.
+On the hand, the children of an element can be an empty sequence and
+cannot consist of an empty string. In order to ensure that validation
+handles attributes and elements consistently, we introduce a variant
+of matching called <firstterm>weak matching</firstterm>. Weak
+matching is used when matching the pattern for the value of an
+attribute or for the attributes and children of an element. We use
+the following notation to define weak matching.</para>
+
+<variablelist>
+
+<varlistentry><term><p:function
+name="emptyString"/></term><listitem><para>represents an empty
+string</para></listitem></varlistentry>
+
+<varlistentry><term><p:var
+range="whiteSpace"/></term><listitem><para>ranges over the empty
+sequence and strings that consist entirely of
+whitespace</para></listitem></varlistentry>
+
+<varlistentry><term><p:judgement name="weakMatch">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ <p:var range="pattern"/>
+ </p:judgement></term><listitem><para>
+
+asserts that with respect to context <p:var range="context"/>, the
+attributes <p:var range="att"/> and the sequence of elements and
+strings <p:var range="mixed"/> weakly matches the pattern <p:var
+range="pattern"/></para></listitem></varlistentry>
+
+</variablelist>
+
+<para>The semantics of weak matching are as follows:</para>
+
+<p:proofSystem>
+ <p:rule name="weak match 1">
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+ <p:judgement name="weakMatch">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+ </p:rule>
+ <p:rule name="weak match 2">
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:function name="emptySequence"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+ <p:judgement name="weakMatch">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="whiteSpace"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+ </p:rule>
+ <p:rule name="weak match 3">
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:function name="emptyString"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+ <p:judgement name="weakMatch">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:function name="emptySequence"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+ </p:rule>
+</p:proofSystem>
+
+<para>We use the following additional notation:</para>
+
+<variablelist>
+
+<varlistentry><term><p:function name="attribute">
+ <p:var range="name"/>
+ <p:var range="string"/>
+ </p:function></term><listitem><para>
+
+constructs an attribute with name <p:var range="name"/>
+and value <p:var range="string"/>
+</para></listitem></varlistentry>
+
+<varlistentry><term><p:function name="element">
+ <p:var range="name"/>
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ </p:function></term><listitem><para>
+
+constructs an element with name <p:var range="name"/>,
+context <p:var range="context"/>,
+attributes <p:var range="att"/>
+and mixed sequence <p:var range="mixed"/> as children
+</para></listitem></varlistentry>
+
+<varlistentry><term><p:judgement name="okAsChildren">
+ <p:var range="mixed"/>
+ </p:judgement></term><listitem><para>
+
+asserts that the mixed sequence <p:var range="mixed"/> can occur as
+the children of an element: it does not contain any member that is an
+empty string, nor does it contain two consecutive members that are
+both strings</para></listitem></varlistentry>
+
+<varlistentry><term><p:judgement name="bind">
+ <p:var range="ncname"/>
+ <p:var range="nameClass"/>
+ <p:var range="pattern"/>
+ </p:judgement></term><listitem><para>
+
+asserts that the grammar contains
+<p:element name="define">
+ <p:attribute name="name">
+ <p:var range="ncname"/>
+ </p:attribute>
+ <p:element name="element">
+ <p:var range="nameClass"/>
+ <p:var range="pattern"/>
+ </p:element>
+</p:element>
+</para></listitem></varlistentry>
+
+</variablelist>
+
+<para>The semantics of the <literal>attribute</literal> pattern are as follows:</para>
+
+<p:proofSystem>
+ <p:rule name="attribute">
+
+ <p:judgement name="weakMatch">
+ <p:var range="context"/>
+ <p:function name="emptySet"/>
+ <p:var range="string"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+
+ <p:judgement name="belongs">
+ <p:var range="name"/>
+ <p:var range="nameClass"/>
+ </p:judgement>
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="attribute">
+ <p:var range="name"/>
+ <p:var range="string"/>
+ </p:function>
+ <p:function name="emptySequence"/>
+ <p:element name="attribute">
+ <p:var range="nameClass"/>
+ <p:var range="pattern"/>
+ </p:element>
+ </p:judgement>
+
+ </p:rule>
+
+</p:proofSystem>
+
+<para>The semantics of the <literal>element</literal> pattern are as follows:</para>
+
+<p:proofSystem>
+ <p:rule name="element">
+
+ <p:judgement name="weakMatch">
+ <p:var range="context" sub="1"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+
+ <p:judgement name="belongs">
+ <p:var range="name"/>
+ <p:var range="nameClass"/>
+ </p:judgement>
+
+ <p:judgement name="okAsChildren">
+ <p:var range="mixed"/>
+ </p:judgement>
+
+ <p:judgement name="bind">
+ <p:var range="ncname"/>
+ <p:var range="nameClass"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+
+ <p:judgement name="match">
+ <p:var range="context" sub="2"/>
+ <p:function name="emptySet"/>
+ <p:function name="append">
+ <p:var range="whiteSpace" sub="1"/>
+ <p:function name="element">
+ <p:var range="name"/>
+ <p:var range="context" sub="1"/>
+ <p:var range="att"/>
+ <p:var range="mixed"/>
+ </p:function>
+ <p:var range="whiteSpace" sub="2"/>
+ </p:function>
+ <p:element name="ref">
+ <p:attribute name="name">
+ <p:var range="ncname"/>
+ </p:attribute>
+ </p:element>
+ </p:judgement>
+
+ </p:rule>
+
+</p:proofSystem>
+
+
+</section>
+
+<section id="data-pattern">
+<title><literal>data</literal> and <literal>value</literal> pattern</title>
+
+<para>RELAX NG relies on datatype libraries to perform datatyping.
+A datatype library is identified by a URI. A datatype within a
+datatype library is identified by an NCName. A datatype library
+provides two services.</para>
+
+<itemizedlist>
+
+<listitem><para>It can determine whether a string is a legal
+representation of a datatype. This service accepts a list of zero or
+more parameters. For example, a string datatype might have a parameter
+specifying the length of a string. The datatype library determines
+what parameters are applicable for each datatype.</para></listitem>
+
+<listitem><para>It can determine whether two strings represent the
+same value of a datatype. This service does not have any
+parameters.</para></listitem>
+
+</itemizedlist>
+
+<para>Both services may make use of the context of a string. For
+example, a datatype representing a QName would use the namespace
+map.</para>
+
+<para>We use the following additional notation:</para>
+
+<variablelist>
+<varlistentry><term><p:judgement name="datatypeAllows">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ <p:var range="params"/>
+ <p:var range="string"/>
+ <p:var range="context"/>
+ </p:judgement></term><listitem><para>
+
+asserts that in the datatype library identified by URI <p:var range="uri"/>, the string <p:var range="string"/> interpreted with
+context <p:var range="context"/> is a legal
+value of datatype <p:var range="ncname"/> with parameters <p:var range="params"/></para></listitem></varlistentry>
+
+<varlistentry><term><p:judgement name="datatypeEqual">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ <p:var range="string" sub="1"/>
+ <p:var range="context" sub="1"/>
+ <p:var range="string" sub="2"/>
+ <p:var range="context" sub="2"/>
+ </p:judgement></term><listitem><para>
+
+asserts that in the datatype library identified by URI <p:var range="uri"/>, string <p:var range="string" sub="1"/> interpreted with
+context <p:var range="context" sub="1"/> represents the same value of
+the datatype <p:var range="ncname"/> as the string <p:var range="string" sub="2"/> interpreted in the context of <p:var range="context" sub="2"/>
+</para></listitem></varlistentry>
+
+<varlistentry><term><p:var range="params"/></term><listitem><para>ranges over sequences of parameters</para></listitem></varlistentry>
+
+<varlistentry><term><p:context>
+ <p:var range="context"/>
+ </p:context></term><listitem><para>
+
+within the start-tag of a pattern refers to the context
+of the pattern element
+</para></listitem></varlistentry>
+
+<varlistentry>
+<term>
+ <p:function name="context">
+ <p:var range="uri"/>
+ <p:var range="context"/>
+ </p:function>
+</term>
+<listitem><para>constructs a context which is the same as <p:var range="context"/>
+except that the default namespace is <p:var range="uri"/>; if <p:var
+range="uri"/> is the empty string, then there is no default namespace
+in the constructed context</para></listitem></varlistentry>
+
+</variablelist>
+
+<para>The datatypeEqual function must be reflexive, transitive
+and symmetric, that is, the following inference rules must hold:</para>
+
+<p:proofSystem>
+ <p:rule name="datatypeEqual reflexive">
+ <p:judgement name="datatypeAllows">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ <p:var range="params"/>
+ <p:var range="string"/>
+ <p:var range="context"/>
+ </p:judgement>
+ <p:judgement name="datatypeEqual">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ <p:var range="string"/>
+ <p:var range="context"/>
+ <p:var range="string"/>
+ <p:var range="context"/>
+ </p:judgement>
+ </p:rule>
+ <p:rule name="datatypeEqual transitive">
+ <p:judgement name="datatypeEqual">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ <p:var range="string" sub="1"/>
+ <p:var range="context" sub="1"/>
+ <p:var range="string" sub="2"/>
+ <p:var range="context" sub="2"/>
+ </p:judgement>
+ <p:judgement name="datatypeEqual">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ <p:var range="string" sub="2"/>
+ <p:var range="context" sub="3"/>
+ <p:var range="string" sub="3"/>
+ <p:var range="context" sub="3"/>
+ </p:judgement>
+ <p:judgement name="datatypeEqual">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ <p:var range="string" sub="1"/>
+ <p:var range="context" sub="1"/>
+ <p:var range="string" sub="3"/>
+ <p:var range="context" sub="3"/>
+ </p:judgement>
+ </p:rule>
+ <p:rule name="datatypeEqual symmetric">
+ <p:judgement name="datatypeEqual">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ <p:var range="string" sub="1"/>
+ <p:var range="context" sub="1"/>
+ <p:var range="string" sub="2"/>
+ <p:var range="context" sub="2"/>
+ </p:judgement>
+ <p:judgement name="datatypeEqual">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ <p:var range="string" sub="2"/>
+ <p:var range="context" sub="2"/>
+ <p:var range="string" sub="1"/>
+ <p:var range="context" sub="1"/>
+ </p:judgement>
+ </p:rule>
+</p:proofSystem>
+
+<para>The semantics of the <literal>data</literal> and
+<literal>value</literal> patterns are as follows:</para>
+
+<p:proofSystem>
+ <p:rule name="value">
+ <p:judgement name="datatypeEqual">
+ <p:var range="uri" sub="1"/>
+ <p:var range="ncname"/>
+ <p:var range="string" sub="1"/>
+ <p:var range="context" sub="1"/>
+ <p:var range="string" sub="2"/>
+ <p:function name="context">
+ <p:var range="uri" sub="2"/>
+ <p:var range="context" sub="2"/>
+ </p:function>
+ </p:judgement>
+ <p:judgement name="match">
+ <p:var range="context" sub="1"/>
+ <p:function name="emptySet"/>
+ <p:var range="string" sub="1"/>
+ <p:element name="value">
+ <p:attribute name="datatypeLibrary">
+ <p:var range="uri" sub="1"/>
+ </p:attribute>
+ <p:attribute name="type">
+ <p:var range="ncname"/>
+ </p:attribute>
+ <p:attribute name="ns">
+ <p:var range="uri" sub="2"/>
+ </p:attribute>
+ <p:context>
+ <p:var range="context" sub="2"/>
+ </p:context>
+ <p:var range="string" sub="2"/>
+ </p:element>
+ <p:function name="emptySet"/>
+ <p:function name="emptySet"/>
+ </p:judgement>
+ </p:rule>
+
+ <p:rule name="data 1">
+ <p:judgement name="datatypeAllows">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ <p:var range="params"/>
+ <p:var range="string"/>
+ <p:var range="context"/>
+ </p:judgement>
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="emptySet"/>
+ <p:var range="string"/>
+ <p:element name="data">
+ <p:attribute name="datatypeLibrary">
+ <p:var range="uri"/>
+ </p:attribute>
+ <p:attribute name="type">
+ <p:var range="ncname"/>
+ </p:attribute>
+ <p:var range="params"/>
+ </p:element>
+ <p:function name="emptySet"/>
+ <p:function name="emptySet"/>
+ </p:judgement>
+ </p:rule>
+
+ <p:rule name="data 2">
+ <p:judgement name="datatypeAllows">
+ <p:var range="uri"/>
+ <p:var range="ncname"/>
+ <p:var range="params"/>
+ <p:var range="string"/>
+ <p:var range="context"/>
+ </p:judgement>
+ <p:not>
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:var range="att"/>
+ <p:var range="string"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+ </p:not>
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="emptySet"/>
+ <p:var range="string"/>
+ <p:element name="data">
+ <p:attribute name="datatypeLibrary">
+ <p:var range="uri"/>
+ </p:attribute>
+ <p:attribute name="type">
+ <p:var range="ncname"/>
+ </p:attribute>
+ <p:var range="params"/>
+ <p:element name="except">
+ <p:var range="pattern"/>
+ </p:element>
+ </p:element>
+ <p:function name="emptySet"/>
+ <p:function name="emptySet"/>
+ </p:judgement>
+ </p:rule>
+
+</p:proofSystem>
+
+</section>
+
+<section id="built-in-datatype">
+<title>Built-in datatype library</title>
+
+<para>The empty URI identifies a special built-in datatype library.
+This provides two datatypes, <literal>string</literal> and
+<literal>token</literal>. No parameters are allowed for either of
+these datatypes.</para>
+
+<variablelist>
+<varlistentry><term>
+ <p:judgement name="equal">
+ <p:var range="string" sub="1"/>
+ <p:var range="string" sub="2"/>
+ </p:judgement></term>
+<listitem><para>asserts that <p:var range="string" sub="1"/>
+and <p:var range="string" sub="2"/> are identical</para></listitem>
+</varlistentry>
+
+<varlistentry><term>
+ <p:function name="normalizeWhiteSpace">
+ <p:var range="string"/>
+ </p:function>
+</term>
+<listitem><para>returns the string <p:var range="string"/>,
+with leading and trailing whitespace characters removed,
+and with each other maximal sequence of whitespace characters
+replaced by a single space character </para></listitem>
+</varlistentry>
+</variablelist>
+
+<para>The semantics of the two built-in datatypes are as
+follows:</para>
+
+<p:proofSystem>
+
+ <p:rule name="string allows">
+ <p:judgement name="datatypeAllows">
+ <p:function name="emptyString"/>
+ <p:string>string</p:string>
+ <p:function name="emptySequence"/>
+ <p:var range="string"/>
+ <p:var range="context"/>
+ </p:judgement>
+ </p:rule>
+
+ <p:rule name="string equal">
+ <p:judgement name="datatypeEqual">
+ <p:function name="emptyString"/>
+ <p:string>string</p:string>
+ <p:var range="string"/>
+ <p:var range="context" sub="1"/>
+ <p:var range="string"/>
+ <p:var range="context" sub="2"/>
+ </p:judgement>
+ </p:rule>
+
+ <p:rule name="token allows">
+ <p:judgement name="datatypeAllows">
+ <p:function name="emptyString"/>
+ <p:string>token</p:string>
+ <p:function name="emptySequence"/>
+ <p:var range="string"/>
+ <p:var range="context"/>
+ </p:judgement>
+ </p:rule>
+
+ <p:rule name="token equal">
+ <p:judgement name="equal">
+ <p:function name="normalizeWhiteSpace">
+ <p:var range="string" sub="1"/>
+ </p:function>
+ <p:function name="normalizeWhiteSpace">
+ <p:var range="string" sub="2"/>
+ </p:function>
+ </p:judgement>
+ <p:judgement name="datatypeEqual">
+ <p:function name="emptyString"/>
+ <p:string>token</p:string>
+ <p:var range="string" sub="1"/>
+ <p:var range="context" sub="1"/>
+ <p:var range="string" sub="2"/>
+ <p:var range="context" sub="2"/>
+ </p:judgement>
+ </p:rule>
+
+</p:proofSystem>
+
+</section>
+
+<section>
+<title><literal>list</literal> pattern</title>
+
+<para>We use the following additional notation:</para>
+
+<variablelist>
+<varlistentry><term><p:function name="split">
+ <p:var range="string"/>
+ </p:function></term><listitem><para>
+
+returns a sequence of strings one for each whitespace delimited token
+of <p:var range="string"/>; each string in the returned sequence will
+be non-empty and will not contain any
+whitespace</para></listitem></varlistentry>
+
+</variablelist>
+
+<para>The semantics of the <literal>list</literal> pattern are as follows:</para>
+
+<p:proofSystem>
+ <p:rule name="list">
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="emptySet"/>
+ <p:function name="split">
+ <p:var range="string"/>
+ </p:function>
+ <p:var range="pattern"/>
+ </p:judgement>
+
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="emptySet"/>
+ <p:var range="string"/>
+ <p:element name="list">
+ <p:var range="pattern"/>
+ </p:element>
+ </p:judgement>
+
+ </p:rule>
+</p:proofSystem>
+
+<note><para>It is crucial in the above inference rule that the
+sequence that is matched against a pattern can contain consecutive
+strings.</para></note>
+
+</section>
+
+</section>
+
+<section id="validity">
+<title>Validity</title>
+
+<para>Now we can define when an element is valid with respect to a
+schema. We use the following additional notation:</para>
+
+<variablelist>
+
+<varlistentry><term><p:var range="element"/></term><listitem><para>ranges over elements</para></listitem></varlistentry>
+
+<varlistentry><term><p:judgement name="valid">
+ <p:var range="element"/>
+ </p:judgement></term><listitem><para>
+
+asserts that the element <p:var range="element"/> is valid with
+respect to the grammar</para></listitem></varlistentry>
+
+<varlistentry><term><p:judgement name="start">
+ <p:var range="pattern"/>
+ </p:judgement></term><listitem><para>
+asserts that the grammar contains
+<p:element name="start"><p:var range="pattern"/> </p:element></para></listitem></varlistentry>
+
+</variablelist>
+
+<para>An element is valid if together with an empty set of attributes
+it matches the <literal>start</literal> pattern of the grammar.</para>
+
+<p:proofSystem>
+ <p:rule name="valid">
+ <p:judgement name="start">
+ <p:var range="pattern"/>
+ </p:judgement>
+ <p:judgement name="match">
+ <p:var range="context"/>
+ <p:function name="emptySet"/>
+ <p:var range="element"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+ <p:judgement name="valid">
+ <p:var range="element"/>
+ </p:judgement>
+ </p:rule>
+
+
+</p:proofSystem>
+
+</section>
+
+<section>
+<title>Example</title>
+
+<para>Let <p:var range="element" sub="0"/> be</para>
+
+<p:formula>
+
+<p:function name="element">
+ <p:function name="name">
+ <p:function name="emptyString"/>
+ <p:string>foo</p:string>
+ </p:function>
+ <p:var range="context" sub="0"/>
+ <p:function name="emptySet"/>
+ <p:var range="mixed"/>
+</p:function>
+
+</p:formula>
+
+<para>where <p:var range="mixed"/> is</para>
+
+<p:formula>
+ <p:function name="append">
+ <p:var range="element" sub="1"/>
+ <p:var range="element" sub="2"/>
+ </p:function>
+</p:formula>
+
+<para>and <p:var range="element" sub="1"/> is</para>
+
+<p:formula>
+ <p:function name="element">
+ <p:function name="name">
+ <p:string>http://www.example.com/n1</p:string>
+ <p:string>bar1</p:string>
+ </p:function>
+ <p:var range="context" sub="1"/>
+ <p:function name="emptySet"/>
+ <p:function name="emptySequence"/>
+ </p:function>
+</p:formula>
+
+<para>and <p:var range="element" sub="2"/> is</para>
+
+<p:formula>
+ <p:function name="element">
+ <p:function name="name">
+ <p:string>http://www.example.com/n2</p:string>
+ <p:string>bar2</p:string>
+ </p:function>
+ <p:var range="context" sub="2"/>
+ <p:function name="emptySet"/>
+ <p:function name="emptySequence"/>
+ </p:function>
+</p:formula>
+
+<para>Assuming appropriate definitions of <p:var range="context"
+sub="0"/>, <p:var range="context" sub="1"/> and <p:var range="context"
+sub="2"/>, this represents the document in <xref
+linkend="data-model-example"/>.</para>
+
+<para>We now show how <p:var range="element" sub="0"/> can be shown to
+be valid with respect to the schema in <xref
+linkend="simple-syntax-example"/>. The schema is equivalent to the
+following propositions:</para>
+
+<p:formula>
+ <p:judgement name="start">
+ <p:element name="ref">
+ <p:attribute name="name"><p:string>foo</p:string></p:attribute>
+ </p:element>
+ </p:judgement>
+</p:formula>
+
+<p:formula>
+ <p:judgement name="bind">
+ <p:string>foo.element</p:string>
+ <p:element name="name">
+ <p:attribute name="ns"><p:function name="emptyString"/></p:attribute>
+ <p:string>foo</p:string>
+ </p:element>
+ <p:element name="group">
+ <p:element name="ref">
+ <p:attribute name="name">
+ <p:string>bar1</p:string>
+ </p:attribute>
+ </p:element>
+ <p:element name="ref">
+ <p:attribute name="name">
+ <p:string>bar2</p:string>
+ </p:attribute>
+ </p:element>
+ </p:element>
+ </p:judgement>
+</p:formula>
+
+<p:formula>
+ <p:judgement name="bind">
+ <p:string>bar1.element</p:string>
+ <p:element name="name">
+ <p:attribute name="ns">
+ <p:string>http://www.example.com/n1</p:string>
+ </p:attribute>
+ <p:string>bar1</p:string>
+ </p:element>
+ <p:element name="empty"/>
+ </p:judgement>
+</p:formula>
+
+<p:formula>
+ <p:judgement name="bind">
+ <p:string>bar2.element</p:string>
+ <p:element name="name">
+ <p:attribute name="ns">
+ <p:string>http://www.example.com/n2</p:string>
+ </p:attribute>
+ <p:string>bar2</p:string>
+ </p:element>
+ <p:element name="empty"/>
+ </p:judgement>
+</p:formula>
+
+
+<para>Let name class <p:var range="nameClass" sub="1"/> be</para>
+
+<p:formula>
+ <p:element name="name">
+ <p:attribute name="ns">
+ <p:string>http://www.example.com/n1</p:string>
+ </p:attribute>
+ <p:string>bar1</p:string>
+ </p:element>
+</p:formula>
+
+<para>and let <p:var range="nameClass" sub="2"/> be</para>
+
+<p:formula>
+ <p:element name="name">
+ <p:attribute name="ns">
+ <p:string>http://www.example.com/n2</p:string>
+ </p:attribute>
+ <p:string>bar2</p:string>
+ </p:element>
+</p:formula>
+
+<para>Then, by the inference rule (name) in <xref
+linkend="name-classes"/>, we have</para>
+
+<p:formula>
+ <p:judgement name="belongs">
+ <p:function name="name">
+ <p:string>http://www.example.com/n1</p:string>
+ <p:string>bar1</p:string>
+ </p:function>
+ <p:var range="nameClass" sub="1"/>
+ </p:judgement>
+</p:formula>
+
+<para>and</para>
+
+<p:formula>
+ <p:judgement name="belongs">
+ <p:function name="name">
+ <p:string>http://www.example.com/n2</p:string>
+ <p:string>bar2</p:string>
+ </p:function>
+ <p:var range="nameClass" sub="2"/>
+ </p:judgement>
+</p:formula>
+
+
+<para>By the inference rule (empty) in <xref linkend="empty-pattern"/>,
+we have</para>
+
+<p:formula>
+ <p:judgement name="match">
+ <p:var range="context" sub="1"/>
+ <p:function name="emptySet"/>
+ <p:function name="emptySequence"/>
+ <p:element name="empty"></p:element>
+ </p:judgement>
+</p:formula>
+
+<para>and</para>
+
+<p:formula>
+ <p:judgement name="match">
+ <p:var range="context" sub="2"/>
+ <p:function name="emptySet"/>
+ <p:function name="emptySequence"/>
+ <p:element name="empty"></p:element>
+ </p:judgement>
+</p:formula>
+
+<para>Thus by the inference rule (element) in <xref
+linkend="element-pattern"/>, we have</para>
+
+<p:formula>
+ <p:judgement name="match">
+ <p:var range="context" sub="0"/>
+ <p:function name="emptySet"/>
+ <p:var range="element" sub="1"/>
+ <p:element name="ref">
+ <p:attribute name="name">
+ <p:string>bar1</p:string>
+ </p:attribute>
+ </p:element>
+ </p:judgement>
+</p:formula>
+
+<para>Note that we have chosen <p:var
+range="context" sub="0"/>, since any context is allowed.</para>
+
+<para>Likewise, we have</para>
+
+<p:formula>
+ <p:judgement name="match">
+ <p:var range="context" sub="0"/>
+ <p:function name="emptySet"/>
+ <p:var range="element" sub="2"/>
+ <p:element name="ref">
+ <p:attribute name="name">
+ <p:string>bar2</p:string>
+ </p:attribute>
+ </p:element>
+ </p:judgement>
+</p:formula>
+
+<para>By the inference rule (group) in <xref
+linkend="choice-pattern"/>, we have</para>
+
+<p:formula>
+ <p:judgement name="match">
+ <p:var range="context" sub="0"/>
+ <p:function name="emptySet"/>
+ <p:function name="append">
+ <p:var range="element" sub="1"/>
+ <p:var range="element" sub="2"/>
+ </p:function>
+ <p:element name="group">
+ <p:element name="ref">
+ <p:attribute name="name">
+ <p:string>bar1</p:string>
+ </p:attribute>
+ </p:element>
+ <p:element name="ref">
+ <p:attribute name="name">
+ <p:string>bar2</p:string>
+ </p:attribute>
+ </p:element>
+ </p:element>
+ </p:judgement>
+</p:formula>
+
+<para>By the inference rule (element) in <xref
+linkend="element-pattern"/>, we have</para>
+
+<p:formula>
+ <p:judgement name="match">
+ <p:var range="context" sub="3"/>
+ <p:function name="emptySet"/>
+ <p:function name="element">
+ <p:function name="name">
+ <p:function name="emptyString"/>
+ <p:string>foo</p:string>
+ </p:function>
+ <p:var range="context" sub="0"/>
+ <p:function name="emptySet"/>
+ <p:var range="mixed"/>
+ </p:function>
+ <p:element name="ref">
+ <p:attribute name="name">
+ <p:string>foo</p:string>
+ </p:attribute>
+ </p:element>
+ </p:judgement>
+</p:formula>
+
+<para>Here <p:var range="context" sub="3"/> is an arbitrary
+context.</para>
+
+<para>Thus we can apply the inference rule (valid) in <xref
+linkend="validity"/> and obtain</para>
+
+<p:formula>
+ <p:judgement name="valid">
+ <p:var range="element" sub="0"/>
+ </p:judgement>
+</p:formula>
+
+</section>
+
+</section>
+
+<section id="restriction">
+<title>Restrictions</title>
+
+<para>The following constraints are all checked after the grammar has
+been transformed to the simple form described in <xref
+linkend="simple-syntax"/>. The purpose of these restrictions is to
+catch user errors and to facilitate implementation.</para>
+
+<section id="contextual-restriction">
+<title>Contextual restrictions</title>
+
+<para>In this section we describe restrictions on where elements are
+allowed in the schema based on the names of the ancestor elements. We
+use the concept of a <firstterm>prohibited path</firstterm> to
+describe these restrictions. A path is a sequence of NCNames separated
+by <literal>/</literal> or <literal>//</literal>.</para>
+
+<itemizedlist>
+
+<listitem><para>An element matches a path
+<replaceable>x</replaceable>, where <replaceable>x</replaceable> is an
+NCName, if and only if the local name of the element is
+<replaceable>x</replaceable></para></listitem>
+
+<listitem><para>An element matches a path
+<replaceable>x</replaceable><literal>/</literal><replaceable>p</replaceable>,
+where <replaceable>x</replaceable> is an NCName and
+<replaceable>p</replaceable> is a path, if and only if the local name
+of the element is <replaceable>x</replaceable> and the element has a
+child that matches <replaceable>p</replaceable></para></listitem>
+
+<listitem><para>An element matches a path
+<replaceable>x</replaceable><literal>//</literal><replaceable>p</replaceable>,
+where <replaceable>x</replaceable> is an NCName and
+<replaceable>p</replaceable> is a path, if and only if the local name
+of the element is <replaceable>x</replaceable> and the element has a
+descendant that matches <replaceable>p</replaceable></para></listitem>
+
+</itemizedlist>
+
+<para>For example, the element</para>
+
+<programlisting><![CDATA[<foo>
+ <bar>
+ <baz/>
+ </bar>
+</foo>]]></programlisting>
+
+<para>matches the paths <literal>foo</literal>,
+<literal>foo/bar</literal>, <literal>foo//bar</literal>,
+<literal>foo//baz</literal>, <literal>foo/bar/baz</literal>,
+<literal>foo/bar//baz</literal> and <literal>foo//bar/baz</literal>,
+but not <literal>foo/baz</literal> or
+<literal>foobar</literal>.</para>
+
+<para>A correct RELAX NG schema must be such that, after
+transformation to the simple form, it does not contain any element
+that matches a prohibited path.</para>
+
+<section>
+<title><literal>attribute</literal> pattern</title>
+
+<para>The following paths are prohibited:</para>
+
+<itemizedlist>
+<listitem><para><literal>attribute//ref</literal></para></listitem>
+<listitem><para><literal>attribute//attribute</literal></para></listitem>
+</itemizedlist>
+
+</section>
+
+<section>
+<title><literal>oneOrMore</literal> pattern</title>
+
+<para>The following paths are prohibited:</para>
+
+<itemizedlist>
+<listitem><para><literal>oneOrMore//group//attribute</literal></para></listitem>
+<listitem><para><literal>oneOrMore//interleave//attribute</literal></para></listitem>
+</itemizedlist>
+
+</section>
+
+<section id="list-restrictions">
+<title><literal>list</literal> pattern</title>
+
+<para>The following paths are prohibited:</para>
+
+<itemizedlist>
+<listitem><para><literal>list//list</literal></para></listitem>
+<listitem><para><literal>list//ref</literal></para></listitem>
+<listitem><para><literal>list//attribute</literal></para></listitem>
+<listitem><para><literal>list//text</literal></para></listitem>
+<listitem><para><literal>list//interleave</literal></para></listitem>
+</itemizedlist>
+</section>
+
+<section id="context-data-except">
+<title><literal>except</literal> in <literal>data</literal> pattern</title>
+
+<para>The following paths are prohibited:</para>
+
+<itemizedlist>
+<listitem><para><literal>data/except//attribute</literal></para></listitem>
+<listitem><para><literal>data/except//ref</literal></para></listitem>
+<listitem><para><literal>data/except//text</literal></para></listitem>
+<listitem><para><literal>data/except//list</literal></para></listitem>
+<listitem><para><literal>data/except//group</literal></para></listitem>
+<listitem><para><literal>data/except//interleave</literal></para></listitem>
+<listitem><para><literal>data/except//oneOrMore</literal></para></listitem>
+<listitem><para><literal>data/except//empty</literal></para></listitem>
+</itemizedlist>
+
+<note><para>This implies that an <literal>except</literal> element
+with a <literal>data</literal> parent can contain only
+<literal>data</literal>, <literal>value</literal> and
+<literal>choice</literal> elements.</para></note>
+
+</section>
+
+<section id="context-start">
+<title><literal>start</literal> element</title>
+
+<para>The following paths are prohibited:</para>
+
+<itemizedlist>
+<listitem><para><literal>start//attribute</literal></para></listitem>
+<listitem><para><literal>start//data</literal></para></listitem>
+<listitem><para><literal>start//value</literal></para></listitem>
+<listitem><para><literal>start//text</literal></para></listitem>
+<listitem><para><literal>start//list</literal></para></listitem>
+<listitem><para><literal>start//group</literal></para></listitem>
+<listitem><para><literal>start//interleave</literal></para></listitem>
+<listitem><para><literal>start//oneOrMore</literal></para></listitem>
+<listitem><para><literal>start//empty</literal></para></listitem>
+</itemizedlist>
+</section>
+
+</section>
+
+<section id="string-sequences">
+<title>String sequences</title>
+
+<para>RELAX NG does not allow a pattern such as:</para>
+
+<programlisting><![CDATA[<element name="foo">
+ <group>
+ <data type="int"/>
+ <element name="bar">
+ <empty/>
+ </element>
+ </group>
+</element>]]></programlisting>
+
+<para>Nor does it allow a pattern such as:</para>
+
+<programlisting><![CDATA[<element name="foo">
+ <group>
+ <data type="int"/>
+ <text/>
+ </group>
+</element>]]></programlisting>
+
+<para>More generally, if the pattern for the content of an element or
+attribute contains</para>
+
+<itemizedlist>
+
+<listitem><para>a pattern that can match a child
+(that is, an <literal>element</literal>, <literal>data</literal>,
+<literal>value</literal>, <literal>list</literal> or
+<literal>text</literal> pattern), and</para></listitem>
+
+<listitem><para>a pattern that matches a single string (that is, a
+<literal>data</literal>, <literal>value</literal> or
+<literal>list</literal> pattern),</para></listitem>
+
+</itemizedlist>
+
+<para>then the two patterns must be alternatives to each other.</para>
+
+<para>This rule does not apply to patterns occurring within a
+<literal>list</literal> pattern.</para>
+
+<para>To formalize this, we use the concept of a content-type. A
+pattern that is allowable as the content of an element has one of
+three content-types: empty, complex and simple. We use the following
+notation.</para>
+
+<variablelist>
+
+<varlistentry>
+<term><p:function name="empty"/></term>
+<listitem><para>returns the empty content-type</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><p:function name="complex"/></term>
+<listitem><para>returns the complex content-type</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><p:function name="simple"/></term>
+<listitem><para>returns the simple content-type</para></listitem>
+</varlistentry>
+
+<varlistentry><term><p:var range="contentType"/></term>
+<listitem><para>ranges over content-types</para></listitem>
+</varlistentry>
+
+<varlistentry><term>
+ <p:judgement name="groupable">
+ <p:var range="contentType" sub="1"/>
+ <p:var range="contentType" sub="2"/>
+ </p:judgement>
+</term>
+<listitem><para>asserts that the content-types <p:var
+range="contentType" sub="1"/> and <p:var range="contentType" sub="2"/>
+are groupable</para></listitem>
+</varlistentry>
+
+</variablelist>
+
+<para>The empty content-type is groupable with anything. In addition,
+the complex content-type is groupable with the complex content-type. The
+following rules formalize this.</para>
+
+<p:proofSystem>
+<p:rule name="group empty 1">
+ <p:judgement name="groupable">
+ <p:function name="empty"/>
+ <p:var range="contentType"/>
+ </p:judgement>
+</p:rule>
+<p:rule name="group empty 2">
+ <p:judgement name="groupable">
+ <p:var range="contentType"/>
+ <p:function name="empty"/>
+ </p:judgement>
+</p:rule>
+<p:rule name="group complex">
+ <p:judgement name="groupable">
+ <p:function name="complex"/>
+ <p:function name="complex"/>
+ </p:judgement>
+</p:rule>
+</p:proofSystem>
+
+<para>Some patterns have a content-type. We use the following
+additional notation.</para>
+
+<variablelist>
+
+<varlistentry><term>
+ <p:judgement name="contentType">
+ <p:var range="pattern"/>
+ <p:var range="contentType"/>
+ </p:judgement>
+</term>
+<listitem><para>asserts that pattern <p:var range="pattern"/> has
+content-type <p:var range="contentType"/></para></listitem>
+</varlistentry>
+
+<varlistentry><term>
+ <p:function name="max">
+ <p:var range="contentType" sub="1"/>
+ <p:var range="contentType" sub="2"/>
+ </p:function>
+</term>
+<listitem><para>returns the maximum of <p:var range="contentType"
+sub="1"/> and <p:var range="contentType" sub="2"/> where the
+content-types in increasing order are <p:function name="empty"/>,
+<p:function name="complex"/>, <p:function
+name="simple"/></para></listitem>
+</varlistentry>
+
+</variablelist>
+
+<para>The following rules define when a pattern has a content-type and,
+if so, what it is.</para>
+
+<p:proofSystem>
+<p:rule name="value">
+ <p:judgement name="contentType">
+ <p:element name="value">
+ <p:attribute name="datatypeLibrary">
+ <p:var range="uri" sub="1"/>
+ </p:attribute>
+ <p:attribute name="type">
+ <p:var range="ncname"/>
+ </p:attribute>
+ <p:attribute name="ns">
+ <p:var range="uri" sub="2"/>
+ </p:attribute>
+ <p:var range="string"/>
+ </p:element>
+ <p:function name="simple"/>
+ </p:judgement>
+</p:rule>
+
+<p:rule name="data 1">
+ <p:judgement name="contentType">
+ <p:element name="data">
+ <p:attribute name="datatypeLibrary">
+ <p:var range="uri"/>
+ </p:attribute>
+ <p:attribute name="type">
+ <p:var range="ncname"/>
+ </p:attribute>
+ <p:var range="params"/>
+ </p:element>
+ <p:function name="simple"/>
+ </p:judgement>
+</p:rule>
+
+<p:rule name="data 2">
+ <p:judgement name="contentType">
+ <p:var range="pattern"/>
+ <p:var range="contentType"/>
+ </p:judgement>
+ <p:judgement name="contentType">
+ <p:element name="data">
+ <p:attribute name="datatypeLibrary">
+ <p:var range="uri"/>
+ </p:attribute>
+ <p:attribute name="type">
+ <p:var range="ncname"/>
+ </p:attribute>
+ <p:var range="params"/>
+ <p:element name="except">
+ <p:var range="pattern"/>
+ </p:element>
+ </p:element>
+ <p:function name="simple"/>
+ </p:judgement>
+</p:rule>
+
+<p:rule name="list">
+ <p:judgement name="contentType">
+ <p:element name="list">
+ <p:var range="pattern"/>
+ </p:element>
+ <p:function name="simple"/>
+ </p:judgement>
+</p:rule>
+
+<p:rule name="text">
+ <p:judgement name="contentType">
+ <p:element name="text"/>
+ <p:function name="complex"/>
+ </p:judgement>
+</p:rule>
+
+<p:rule name="ref">
+ <p:judgement name="contentType">
+ <p:element name="ref">
+ <p:attribute name="name">
+ <p:var range="ncname"/>
+ </p:attribute>
+ </p:element>
+ <p:function name="complex"/>
+ </p:judgement>
+</p:rule>
+
+<p:rule name="empty">
+ <p:judgement name="contentType">
+ <p:element name="empty"/>
+ <p:function name="empty"/>
+ </p:judgement>
+</p:rule>
+
+<p:rule name="attribute">
+ <p:judgement name="contentType">
+ <p:var range="pattern"/>
+ <p:var range="contentType"/>
+ </p:judgement>
+ <p:judgement name="contentType">
+ <p:element name="attribute">
+ <p:var range="nameClass"/>
+ <p:var range="pattern"/>
+ </p:element>
+ <p:function name="empty"/>
+ </p:judgement>
+</p:rule>
+
+<p:rule name="group">
+ <p:judgement name="contentType">
+ <p:var range="pattern" sub="1"/>
+ <p:var range="contentType" sub="1"/>
+ </p:judgement>
+ <p:judgement name="contentType">
+ <p:var range="pattern" sub="2"/>
+ <p:var range="contentType" sub="2"/>
+ </p:judgement>
+ <p:judgement name="groupable">
+ <p:var range="contentType" sub="1"/>
+ <p:var range="contentType" sub="2"/>
+ </p:judgement>
+ <p:judgement name="contentType">
+ <p:element name="group">
+ <p:var range="pattern" sub="1"/>
+ <p:var range="pattern" sub="2"/>
+ </p:element>
+ <p:function name="max">
+ <p:var range="contentType" sub="1"/>
+ <p:var range="contentType" sub="2"/>
+ </p:function>
+ </p:judgement>
+</p:rule>
+
+<p:rule name="interleave">
+ <p:judgement name="contentType">
+ <p:var range="pattern" sub="1"/>
+ <p:var range="contentType" sub="1"/>
+ </p:judgement>
+ <p:judgement name="contentType">
+ <p:var range="pattern" sub="2"/>
+ <p:var range="contentType" sub="2"/>
+ </p:judgement>
+ <p:judgement name="groupable">
+ <p:var range="contentType" sub="1"/>
+ <p:var range="contentType" sub="2"/>
+ </p:judgement>
+ <p:judgement name="contentType">
+ <p:element name="interleave">
+ <p:var range="pattern" sub="1"/>
+ <p:var range="pattern" sub="2"/>
+ </p:element>
+ <p:function name="max">
+ <p:var range="contentType" sub="1"/>
+ <p:var range="contentType" sub="2"/>
+ </p:function>
+ </p:judgement>
+</p:rule>
+
+<p:rule name="oneOrMore">
+ <p:judgement name="contentType">
+ <p:var range="pattern"/>
+ <p:var range="contentType"/>
+ </p:judgement>
+ <p:judgement name="groupable">
+ <p:var range="contentType"/>
+ <p:var range="contentType"/>
+ </p:judgement>
+ <p:judgement name="contentType">
+ <p:element name="oneOrMore">
+ <p:var range="pattern"/>
+ </p:element>
+ <p:var range="contentType"/>
+ </p:judgement>
+</p:rule>
+
+<p:rule name="choice">
+ <p:judgement name="contentType">
+ <p:var range="pattern" sub="1"/>
+ <p:var range="contentType" sub="1"/>
+ </p:judgement>
+ <p:judgement name="contentType">
+ <p:var range="pattern" sub="2"/>
+ <p:var range="contentType" sub="2"/>
+ </p:judgement>
+ <p:judgement name="contentType">
+ <p:element name="choice">
+ <p:var range="pattern" sub="1"/>
+ <p:var range="pattern" sub="2"/>
+ </p:element>
+ <p:function name="max">
+ <p:var range="contentType" sub="1"/>
+ <p:var range="contentType" sub="2"/>
+ </p:function>
+ </p:judgement>
+</p:rule>
+
+</p:proofSystem>
+
+<note><para>The antecedent in the (data 2) rule above is in fact
+redundant because of the prohibited paths in <xref
+linkend="context-data-except"/>.</para></note>
+
+<para>Now we can describe the restriction. We use the following
+notation.</para>
+
+<variablelist>
+
+<varlistentry><term>
+ <p:judgement name="incorrectSchema"/>
+</term>
+<listitem><para>asserts that the schema is incorrect</para></listitem>
+</varlistentry>
+
+</variablelist>
+
+<para>All patterns occurring as the content of an element pattern must
+have a content-type.</para>
+
+<p:proofSystem>
+
+<p:rule name="element">
+ <p:judgement name="bind">
+ <p:var range="ncname"/>
+ <p:var range="nameClass"/>
+ <p:var range="pattern"/>
+ </p:judgement>
+ <p:not>
+ <p:judgement name="contentType">
+ <p:var range="pattern"/>
+ <p:var range="contentType"/>
+ </p:judgement>
+ </p:not>
+ <p:judgement name="incorrectSchema"/>
+</p:rule>
+
+</p:proofSystem>
+
+</section>
+
+<section id="attribute-restrictions">
+<title>Restrictions on attributes</title>
+
+<para>Duplicate attributes are not allowed. More precisely, for a
+pattern <literal>&lt;group> <replaceable>p1</replaceable>
+<replaceable>p2</replaceable> &lt;/group></literal> or
+<literal>&lt;interleave> <replaceable>p1</replaceable>
+<replaceable>p2</replaceable> &lt;/interleave></literal>, there must
+not be a name that belongs to both the name class of an
+<literal>attribute</literal> pattern occurring in
+<replaceable>p1</replaceable> and the name class of an
+<literal>attribute</literal> pattern occurring in
+<replaceable>p2</replaceable>. A pattern <replaceable>p1</replaceable>
+is defined to <firstterm>occur in</firstterm> a pattern
+<replaceable>p2</replaceable> if</para>
+
+<itemizedlist>
+
+<listitem><para><replaceable>p1</replaceable> is
+<replaceable>p2</replaceable>, or</para></listitem>
+
+<listitem><para><replaceable>p2</replaceable> is a
+<literal>choice</literal>, <literal>interleave</literal>,
+<literal>group</literal> or <literal>oneOrMore</literal> element and
+<replaceable>p1</replaceable> occurs in one or more children of
+<replaceable>p2</replaceable>.</para></listitem>
+
+</itemizedlist>
+
+<para>Attributes using infinite name classes must be repeated. More
+precisely, an <literal>attribute</literal> element that has an
+<literal>anyName</literal> or <literal>nsName</literal> descendant
+element must have a <literal>oneOrMore</literal> ancestor
+element.</para>
+
+<note><para>This restriction is necessary for closure under
+negation.</para></note>
+
+</section>
+
+<section id="interleave-restrictions">
+<title>Restrictions on <literal>interleave</literal></title>
+
+<para>For a pattern <literal>&lt;interleave>
+<replaceable>p1</replaceable> <replaceable>p2</replaceable>
+&lt;/interleave></literal>,</para>
+
+<itemizedlist>
+
+<listitem><para>there must not be a name that belongs to both the name
+class of an <literal>element</literal> pattern referenced by a
+<literal>ref</literal> pattern occurring in
+<replaceable>p1</replaceable> and the name class of an
+<literal>element</literal> pattern referenced by a
+<literal>ref</literal> pattern occurring in
+<replaceable>p2</replaceable>, and</para></listitem>
+
+<listitem><para>a <literal>text</literal> pattern must not occur in
+both <replaceable>p1</replaceable> and
+<replaceable>p2</replaceable>.</para></listitem>
+
+</itemizedlist>
+
+<para><xref linkend="attribute-restrictions"/> defines when one
+pattern is considered to occur in another pattern.</para>
+
+</section>
+
+</section>
+
+<section id="conformance">
+<title>Conformance</title>
+
+<para>A conforming RELAX NG validator must be able to determine for
+any XML document whether it is a correct RELAX NG schema. A
+conforming RELAX NG validator must be able to determine for any XML
+document and for any correct RELAX NG schema whether the document is
+valid with respect to the schema.</para>
+
+<para>However, the requirements in the preceding paragraph do not
+apply if the schema uses a datatype library that the validator does
+not support. A conforming RELAX NG validator is only required to
+support the built-in datatype library described in <xref
+linkend="built-in-datatype"/>. A validator that claims conformance to
+RELAX NG should document which datatype libraries it supports. The
+requirements in the preceding paragraph also do not apply if the
+schema includes <literal>externalRef</literal> or
+<literal>include</literal> elements and the validator is unable to
+retrieve the resource identified by the URI or is unable to construct
+an element from the retrieved resource. A validator that claims
+conformance to RELAX NG should document its capabilities for handling
+URI references.</para>
+
+</section>
+
+<appendix>
+<title>RELAX NG schema for RELAX NG</title>
+
+<rngref src="relaxng.rng"/>
+
+</appendix>
+
+<appendix>
+<title>Changes since version 0.9</title>
+
+<para>The changes in this version relative to version 0.9
+are as follows:</para>
+
+<itemizedlist>
+
+<listitem><para>in the namespace URI, <literal>0.9</literal> has been
+changed to <literal>1.0</literal></para></listitem>
+
+<listitem><para><literal>data/except//empty</literal> has been added
+as a prohibited path (see <xref
+linkend="context-data-except"/>)</para></listitem>
+
+<listitem><para><literal>start//empty</literal> has been added
+as a prohibited path (see <xref
+linkend="context-start"/>)</para></listitem>
+
+<listitem><para><xref linkend="number-child-elements"/> now specifies how a
+<literal>list</literal> element with more than one child element is
+transformed</para></listitem>
+
+<listitem><para><xref linkend="notAllowed"/> now specifies how a
+<literal>notAllowed</literal> element occurring in an
+<literal>except</literal> element is transformed</para></listitem>
+
+<listitem><para>although a relative URI is not allowed as the value of
+the <literal>ns</literal> and <literal>datatypeLibrary</literal>
+attributes, an empty string is allowed (see <xref
+linkend="full-syntax"/>)</para></listitem>
+
+<listitem><para>the removal of unreachable definitions in <xref
+linkend="define-ref"/> is now correctly specified</para></listitem>
+
+<listitem><para><xref linkend="notAllowed"/> now specifies that
+<literal>define</literal> elements that are no longer reachable are
+removed</para></listitem>
+
+<listitem><para><xref linkend="constraints"/> has been added; the
+restrictions on the contents of <literal>except</literal> in name
+classes that are now specified in the newly added section were
+previously specified in a subsection of <xref
+linkend="contextual-restriction"/>, which has been
+removed</para></listitem>
+
+<listitem><para>the treatment of element and attribute values that
+consist only of whitespace has been refined (see <xref
+linkend="element-pattern"/> and <xref
+linkend="data-pattern"/>)</para></listitem>
+
+<listitem><para>attributes with infinite name classes are now required
+to be repeated (see <xref
+linkend="attribute-restrictions"/>)</para></listitem>
+
+<listitem><para>restrictions have been imposed on
+<literal>interleave</literal> (see <xref
+linkend="interleave-restrictions"/>); <literal>list//interleave</literal>
+has been added as a prohibited path (see <xref
+linkend="list-restrictions"/>)</para></listitem>
+
+<listitem><para>some of the prohibited paths in <xref
+linkend="contextual-restriction"/> have been corrected to use
+<literal>ref</literal> rather than
+<literal>element</literal></para></listitem>
+
+<listitem><para>an error in the inference rule (text 1) in <xref
+linkend="text-pattern"/> has been corrected</para></listitem>
+
+<listitem><para>the value of the <literal>ns</literal> attribute is
+now unconstrained (see <xref
+linkend="full-syntax"/>)</para></listitem>
+
+</itemizedlist>
+
+</appendix>
+
+<appendix>
+<title>RELAX NG TC (Non-Normative)</title>
+
+<para>This specification was prepared and approved for publication by
+the RELAX NG TC. The current members of the TC are:</para>
+
+<itemizedlist>
+<listitem><para>Fabio Arciniegas</para></listitem>
+<listitem><para>James Clark</para></listitem>
+<listitem><para>Mike Fitzgerald</para></listitem>
+<listitem><para>KAWAGUCHI Kohsuke</para></listitem>
+<listitem><para>Josh Lubell</para></listitem>
+<listitem><para>MURATA Makoto</para></listitem>
+<listitem><para>Norman Walsh</para></listitem>
+<listitem><para>David Webber</para></listitem>
+</itemizedlist>
+
+</appendix>
+
+<bibliography><title>References</title>
+
+<bibliodiv><title>Normative</title>
+
+<bibliomixed id="xml-rec"><abbrev>XML 1.0</abbrev>Tim Bray,
+Jean Paoli, and
+C. M. Sperberg-McQueen, Eve Maler, editors.
+<citetitle><ulink url="http://www.w3.org/TR/REC-xml">Extensible Markup
+Language (XML) 1.0 Second Edition</ulink></citetitle>.
+W3C (World Wide Web Consortium), 2000.</bibliomixed>
+
+<bibliomixed id="xml-names"><abbrev>XML Namespaces</abbrev>Tim Bray,
+Dave Hollander,
+and Andrew Layman, editors.
+<citetitle><ulink url="http://www.w3.org/TR/REC-xml-names/">Namespaces in
+XML</ulink></citetitle>.
+W3C (World Wide Web Consortium), 1999.</bibliomixed>
+
+<bibliomixed id="xlink"><abbrev>XLink</abbrev>Steve DeRose, Eve Maler
+and David Orchard, editors.
+<citetitle><ulink url="http://www.w3.org/TR/xlink/">XML Linking
+Language (XLink) Version 1.0</ulink></citetitle>.
+W3C (World Wide Web Consortium), 2001.</bibliomixed>
+
+<bibliomixed id="infoset"><abbrev>XML Infoset</abbrev>John Cowan, Richard Tobin,
+editors.
+<citetitle><ulink url="http://www.w3.org/TR/xml-infoset/">XML
+Information Set</ulink></citetitle>.
+W3C (World Wide Web Consortium), 2001.</bibliomixed>
+
+<bibliomixed id="rfc2396"><abbrev>RFC 2396</abbrev>T. Berners-Lee, R. Fielding, L. Masinter.
+<citetitle><ulink url="http://www.ietf.org/rfc/rfc2396.txt" >RFC 2396:
+Uniform Resource Identifiers (URI): Generic
+Syntax</ulink></citetitle>.
+IETF (Internet Engineering Task Force). 1998.</bibliomixed>
+
+<bibliomixed id="rfc2732"><abbrev>RFC 2732</abbrev>R. Hinden, B. Carpenter, L. Masinter.
+<citetitle><ulink url="http://www.ietf.org/rfc/rfc2732.txt">RFC 2732: Format for Literal IPv6 Addresses in URL's</ulink></citetitle>.
+IETF (Internet Engineering Task Force), 1999.</bibliomixed>
+
+<bibliomixed id="rfc3023"><abbrev>RFC 3023</abbrev> M. Murata,
+S. St.Laurent, D. Kohn. <citetitle><ulink
+url="http://www.ietf.org/rfc/rfc3023.txt">RFC 3023: XML Media
+Types</ulink></citetitle>. IETF (Internet Engineering Task Force),
+2001.</bibliomixed>
+
+</bibliodiv>
+
+<bibliodiv><title>Non-Normative</title>
+
+<bibliomixed id="xmlschema-2"><abbrev>W3C XML Schema Datatypes</abbrev>Paul V. Biron, Ashok Malhotra, editors.
+<citetitle><ulink url="http://www.w3.org/TR/xmlschema-2/">XML Schema Part 2: Datatypes</ulink></citetitle>.
+W3C (World Wide Web Consortium), 2001.</bibliomixed>
+
+<bibliomixed id="trex"><abbrev>TREX</abbrev>James Clark.
+<citetitle><ulink url="http://www.thaiopensource.com/trex/">TREX - Tree Regular Expressions for XML</ulink></citetitle>.
+Thai Open Source Software Center, 2001.</bibliomixed>
+
+<bibliomixed id="relax"><abbrev>RELAX</abbrev>MURATA Makoto.
+<citetitle><ulink url="http://www.xml.gr.jp/relax/">RELAX (Regular
+Language description for XML)</ulink></citetitle>. INSTAC
+(Information Technology Research and Standardization Center), 2001.</bibliomixed>
+
+<bibliomixed id="xsfd"><abbrev>XML Schema Formal</abbrev>Allen Brown,
+Matthew Fuchs, Jonathan Robie, Philip Wadler, editors.
+<citetitle><ulink url="http://www.w3.org/TR/xmlschema-formal/">XML Schema: Formal Description</ulink></citetitle>.
+W3C (World Wide Web Consortium), 2001.</bibliomixed>
+
+<bibliomixed id="tutorial"><abbrev>Tutorial</abbrev>James Clark,
+Makoto MURATA, editors. <citetitle><ulink
+url="http://www.oasis-open.org/committees/relax-ng/tutorial.html">RELAX
+NG Tutorial</ulink></citetitle>. OASIS, 2001.</bibliomixed>
+
+</bibliodiv>
+
+</bibliography>
+
+</article>
diff --git a/libxml2/test/relaxng/table.rng b/libxml2/test/relaxng/table.rng
new file mode 100644
index 0000000..c14e603
--- /dev/null
+++ b/libxml2/test/relaxng/table.rng
@@ -0,0 +1,21 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<define name="cell.content">
+ <notAllowed/>
+</define>
+
+<start>
+ <element name="table">
+ <oneOrMore>
+ <element name="tr">
+ <oneOrMore>
+ <element name="td">
+ <ref name="cell.content"/>
+ </element>
+ </oneOrMore>
+ </element>
+ </oneOrMore>
+ </element>
+</start>
+
+</grammar>
diff --git a/libxml2/test/relaxng/testsuite.xml b/libxml2/test/relaxng/testsuite.xml
new file mode 100644
index 0000000..09a8f38
--- /dev/null
+++ b/libxml2/test/relaxng/testsuite.xml
@@ -0,0 +1,1708 @@
+<testSuite>
+<author>Daniel Veillard</author>
+<email>daniel@veillard.com</email>
+<documentation>For libxml2 implementation of Relax NG spec.</documentation>
+<testSuite>
+<documentation>Test of node matches</documentation>
+<testCase>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <anyName>
+ <except>
+ <nsName ns="http://example.org"/>
+ </except>
+ </anyName>
+ <empty/>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+<valid>
+<foo xmlns="http://example.org/"/>
+</valid>
+<valid>
+<foo xmlns="http://EXAMPLE.ORG"/>
+</valid>
+<invalid>
+<foo xmlns="http://example.org"/>
+</invalid>
+<invalid>
+<a:foo xmlns:a="http://example.org"/>
+</invalid>
+</testCase>
+<testCase>
+<correct>
+<element name="top" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <element name="foo" ns="http://example.org">
+ <empty/>
+ </element>
+ <element>
+ <anyName>
+ <except>
+ <nsName ns="http://example.org"/>
+ </except>
+ </anyName>
+ <empty/>
+ </element>
+ </interleave>
+</element>
+</correct>
+<invalid>
+<top>
+<foo/>
+<bar/>
+</top>
+</invalid>
+<invalid>
+<top>
+<foo xmlns="http://example.org"/>
+<bar xmlns="http://example.org"/>
+</top>
+</invalid>
+<valid>
+<top>
+<foo xmlns="http://example.org"/>
+<bar/>
+</top>
+</valid>
+<valid>
+<top>
+<bar/>
+<foo xmlns="http://example.org"/>
+</top>
+</valid>
+<valid>
+<top>
+<foo xmlns="http://example.org"/>
+<bar xmlns="http://example.org/"/>
+</top>
+</valid>
+<valid>
+<top>
+<bar xmlns="http://example.org/"/>
+<foo xmlns="http://example.org"/>
+</top>
+</valid>
+</testCase>
+</testSuite>
+<testSuite>
+<documentation>Test of indeterminism</documentation>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </zeroOrMore>
+ <element name="baz">
+ <empty/>
+ </element>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo>
+ <baz/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <baz/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+ <bar/>
+ <baz/>
+</foo>
+</valid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+ <bar/>
+ <bar/>
+</foo>
+</valid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </zeroOrMore>
+ <element name="baz">
+ <empty/>
+ </element>
+ </group>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo>
+ <baz/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <baz/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+ <bar/>
+ <baz/>
+</foo>
+</valid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </group>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+ <bar/>
+ <bar/>
+</foo>
+</valid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </zeroOrMore>
+ <element name="baz">
+ <empty/>
+ </element>
+ </choice>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+<valid>
+<foo>
+ <baz/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+ <bar/>
+</foo>
+</valid>
+<invalid>
+<foo>
+ <bar/>
+ <baz/>
+</foo>
+</invalid>
+<invalid>
+<foo>
+ <bar/>
+ <bar/>
+ <bar/>
+ <bar/>
+ <baz/>
+</foo>
+</invalid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </zeroOrMore>
+ <element name="baz">
+ <empty/>
+ </element>
+ </choice>
+ <element name="baz">
+ <empty/>
+ </element>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo>
+ <baz/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <baz/>
+ <baz/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+ <bar/>
+ <baz/>
+</foo>
+</valid>
+<invalid>
+<foo>
+ <bar/>
+ <baz/>
+ <baz/>
+</foo>
+</invalid>
+<invalid>
+<foo>
+ <baz/>
+ <bar/>
+ <baz/>
+</foo>
+</invalid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </choice>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+<valid>
+<foo>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+ <bar/>
+ <bar/>
+</foo>
+</valid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <zeroOrMore>
+ <choice>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="baz">
+ <empty/>
+ </element>
+ </choice>
+ </zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </choice>
+</element>
+</correct>
+<valid>
+<foo/>
+</valid>
+<valid>
+<foo>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <baz/>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+ <bar/>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <baz/>
+ <baz/>
+ <baz/>
+ <baz/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <baz/>
+ <bar/>
+ <baz/>
+ <bar/>
+</foo>
+</valid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <optional>
+ <element name="bar">
+ <empty/>
+ </element>
+ </optional>
+ <element name="baz">
+ <empty/>
+ </element>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo>
+ <baz/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <baz/>
+</foo>
+</valid>
+<invalid>
+<foo>
+ <bar/>
+ <bar/>
+ <baz/>
+</foo>
+</invalid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <optional>
+ <element name="bar">
+ <empty/>
+ </element>
+ </optional>
+ <element name="bar">
+ <empty/>
+ </element>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+</foo>
+</valid>
+<invalid>
+<foo>
+ <bar/>
+ <bar/>
+ <bar/>
+</foo>
+</invalid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <optional>
+ <oneOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </oneOrMore>
+ </optional>
+ <element name="baz">
+ <empty/>
+ </element>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo>
+ <baz/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <baz/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+ <baz/>
+</foo>
+</valid>
+<invalid>
+<foo>
+ <bar/>
+ <bar/>
+</foo>
+</invalid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <optional>
+ <oneOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </oneOrMore>
+ </optional>
+ <element name="bar">
+ <empty/>
+ </element>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+ <bar/>
+</foo>
+</valid>
+</testCase>
+<testCase>
+<correct>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <group>
+ <zeroOrMore>
+ <choice>
+ <element name="bar">
+ <empty/>
+ </element>
+ <element name="baz">
+ <empty/>
+ </element>
+ </choice>
+ </zeroOrMore>
+ <element name="bar">
+ <empty/>
+ </element>
+ </group>
+</element>
+</correct>
+<invalid>
+<foo/>
+</invalid>
+<valid>
+<foo>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <baz/>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <bar/>
+ <bar/>
+ <bar/>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <baz/>
+ <baz/>
+ <baz/>
+ <bar/>
+</foo>
+</valid>
+<valid>
+<foo>
+ <baz/>
+ <bar/>
+ <baz/>
+ <bar/>
+</foo>
+</valid>
+<invalid>
+<foo>
+ <bar/>
+ <baz/>
+ <bar/>
+ <baz/>
+</foo>
+</invalid>
+</testCase>
+<testCase>
+<correct>
+<element name="list" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <element name="label">
+ <empty/>
+ </element>
+ <optional>
+ <element name="opt">
+ <empty/>
+ </element>
+ </optional>
+ <element name="item">
+ <empty/>
+ </element>
+ </oneOrMore>
+</element>
+</correct>
+<invalid>
+<list>
+</list>
+</invalid>
+<valid>
+<list>
+ <label/>
+ <item/>
+</list>
+</valid>
+<valid>
+<list>
+ <label/>
+ <item/>
+ <label/>
+ <item/>
+</list>
+</valid>
+<valid>
+<list>
+ <label/>
+ <opt/>
+ <item/>
+ <label/>
+ <opt/>
+ <item/>
+</list>
+</valid>
+<invalid>
+<list>
+ <label/>
+ <item/>
+ <label/>
+ <opt/>
+ <opt/>
+ <item/>
+</list>
+</invalid>
+</testCase>
+<testCase>
+<correct>
+<element name="list" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <element name="label">
+ <empty/>
+ </element>
+ <zeroOrMore>
+ <element name="opt">
+ <empty/>
+ </element>
+ </zeroOrMore>
+ <element name="item">
+ <empty/>
+ </element>
+ </oneOrMore>
+</element>
+</correct>
+<invalid>
+<list>
+</list>
+</invalid>
+<valid>
+<list>
+ <label/>
+ <item/>
+</list>
+</valid>
+<valid>
+<list>
+ <label/>
+ <item/>
+ <label/>
+ <item/>
+</list>
+</valid>
+<valid>
+<list>
+ <label/>
+ <opt/>
+ <item/>
+ <label/>
+ <opt/>
+ <item/>
+</list>
+</valid>
+<valid>
+<list>
+ <label/>
+ <item/>
+ <label/>
+ <opt/>
+ <opt/>
+ <item/>
+</list>
+</valid>
+</testCase>
+<testCase>
+<correct>
+<element name="list" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <element name="label">
+ <empty/>
+ </element>
+ <zeroOrMore>
+ <element name="opt">
+ <empty/>
+ </element>
+ <element name="opt2">
+ <empty/>
+ </element>
+ </zeroOrMore>
+ <element name="item">
+ <empty/>
+ </element>
+ </oneOrMore>
+</element>
+</correct>
+<invalid>
+<list>
+</list>
+</invalid>
+<valid>
+<list>
+ <label/>
+ <item/>
+</list>
+</valid>
+<valid>
+<list>
+ <label/>
+ <item/>
+ <label/>
+ <item/>
+</list>
+</valid>
+<valid>
+<list>
+ <label/>
+ <opt/>
+ <opt2/>
+ <item/>
+ <label/>
+ <opt/>
+ <opt2/>
+ <item/>
+</list>
+</valid>
+<valid>
+<list>
+ <label/>
+ <item/>
+ <label/>
+ <opt/>
+ <opt2/>
+ <opt/>
+ <opt2/>
+ <item/>
+</list>
+</valid>
+<invalid>
+<list>
+ <label/>
+ <opt/>
+ <item/>
+ <label/>
+ <item/>
+</list>
+</invalid>
+<invalid>
+<list>
+ <label/>
+ <item/>
+ <label/>
+ <opt2/>
+ <opt/>
+ <item/>
+</list>
+</invalid>
+<invalid>
+<list>
+ <label/>
+ <item/>
+ <label/>
+ <opt/>
+ <opt2/>
+ <opt/>
+ <item/>
+</list>
+</invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<documentation>Test of grammars merging</documentation>
+<testCase>
+<resource name="dbk.rng">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="p"/>
+ </start>
+ <define name="p.ext">
+ <notAllowed/>
+ </define>
+ <define name="p">
+ <element name="p">
+ <choice>
+ <ref name="p.ext"/>
+ <empty/>
+ <element name="a">
+ <text/>
+ </element>
+ </choice>
+ </element>
+ </define>
+</grammar>
+</resource>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <grammar>
+ <include href="dbk.rng"/>
+ <define name="p.ext" combine="choice">
+ <element name="b">
+ <text/>
+ </element>
+ </define>
+ </grammar>
+ </start>
+</grammar>
+</correct>
+<valid>
+<p/>
+</valid>
+<valid>
+<p>
+ <a/>
+</p>
+</valid>
+<valid>
+<p>
+ <b/>
+</p>
+</valid>
+<invalid>
+<b/>
+</invalid>
+<invalid>
+<p>
+ <b/>
+ <b/>
+</p>
+</invalid>
+</testCase>
+<testCase>
+<resource name="dbk.rng">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="p"/>
+ </start>
+ <define name="p.ext">
+ <notAllowed/>
+ </define>
+ <define name="p">
+ <element name="p">
+ <choice>
+ <ref name="p.ext"/>
+ <empty/>
+ <element name="a">
+ <text/>
+ </element>
+ </choice>
+ </element>
+ </define>
+ <define name="c">
+ <element name="c">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</resource>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <grammar>
+ <include href="dbk.rng"/>
+ <define name="p.ext" combine="choice">
+ <choice>
+ <ref name="c"/>
+ <parentRef name="d"/>
+ <element name="b">
+ <text/>
+ </element>
+ </choice>
+ </define>
+ </grammar>
+ </start>
+ <define name="d">
+ <element name="d">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</correct>
+<valid>
+<p/>
+</valid>
+<valid>
+<p>
+ <a/>
+</p>
+</valid>
+<valid>
+<p>
+ <b/>
+</p>
+</valid>
+<valid>
+<p>
+ <c/>
+</p>
+</valid>
+<valid>
+<p>
+ <d/>
+</p>
+</valid>
+<invalid>
+<b/>
+</invalid>
+<invalid>
+<c/>
+</invalid>
+<invalid>
+<d/>
+</invalid>
+<invalid>
+<p>
+ <b/>
+ <c/>
+</p>
+</invalid>
+<invalid>
+<p>
+ <d/>
+ <c/>
+</p>
+</invalid>
+</testCase>
+<testCase>
+<resource name="dbk.rng">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="p"/>
+ </start>
+ <define name="p.ext">
+ <notAllowed/>
+ </define>
+ <define name="p">
+ <element name="p">
+ <choice>
+ <ref name="p.ext"/>
+ <empty/>
+ <element name="a">
+ <text/>
+ </element>
+ </choice>
+ </element>
+ </define>
+ <define name="c">
+ <element name="c">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</resource>
+<resource name="proof.rng">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="e"/>
+ </start>
+ <define name="d">
+ <element name="d">
+ <empty/>
+ </element>
+ </define>
+ <define name="e">
+ <element name="e">
+ <empty/>
+ </element>
+ </define>
+ <define name="f">
+ <element name="f">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</resource>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <grammar>
+ <include href="dbk.rng"/>
+ <define name="p.ext" combine="choice">
+ <choice>
+ <ref name="c"/>
+ <grammar>
+ <include href="proof.rng"/>
+ <start combine="choice">
+ <ref name="d"/>
+ </start>
+ </grammar>
+ <element name="b">
+ <text/>
+ </element>
+ </choice>
+ </define>
+ </grammar>
+ </start>
+ <define name="g">
+ <element name="g">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</correct>
+<valid>
+<p/>
+</valid>
+<valid>
+<p>
+ <a/>
+</p>
+</valid>
+<valid>
+<p>
+ <b/>
+</p>
+</valid>
+<valid>
+<p>
+ <c/>
+</p>
+</valid>
+<valid>
+<p>
+ <d/>
+</p>
+</valid>
+<valid>
+<p>
+ <e/>
+</p>
+</valid>
+<invalid>
+<p>
+ <f/>
+</p>
+</invalid>
+<invalid>
+<p>
+ <g/>
+</p>
+</invalid>
+<invalid>
+<b/>
+</invalid>
+<invalid>
+<c/>
+</invalid>
+<invalid>
+<d/>
+</invalid>
+<invalid>
+<e/>
+</invalid>
+<invalid>
+<f/>
+</invalid>
+<invalid>
+<g/>
+</invalid>
+<invalid>
+<p>
+ <d/>
+ <c/>
+</p>
+</invalid>
+<invalid>
+<p>
+ <d/>
+ <e/>
+</p>
+</invalid>
+</testCase>
+<testCase>
+<resource name="dbk.rng">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="p"/>
+ </start>
+ <define name="p.ext">
+ <notAllowed/>
+ </define>
+ <define name="p">
+ <element name="p">
+ <choice>
+ <ref name="p.ext"/>
+ <empty/>
+ <element name="a">
+ <text/>
+ </element>
+ </choice>
+ </element>
+ </define>
+ <define name="c">
+ <element name="c">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</resource>
+<resource name="proof.rng">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+ ns="http://example.org/ns/proofsystem">
+ <start>
+ <ref name="e"/>
+ </start>
+ <define name="d">
+ <element name="d">
+ <empty/>
+ </element>
+ </define>
+ <define name="e">
+ <element name="e">
+ <empty/>
+ </element>
+ </define>
+ <define name="f">
+ <element name="f">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</resource>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <grammar>
+ <include href="dbk.rng"/>
+ <define name="p.ext" combine="choice">
+ <choice>
+ <ref name="c"/>
+ <grammar>
+ <include href="proof.rng"/>
+ <start combine="choice">
+ <ref name="d"/>
+ </start>
+ </grammar>
+ <element name="b">
+ <text/>
+ </element>
+ </choice>
+ </define>
+ </grammar>
+ </start>
+ <define name="g">
+ <element name="g">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</correct>
+<valid>
+<p/>
+</valid>
+<valid>
+<p>
+ <a/>
+</p>
+</valid>
+<valid>
+<p>
+ <b/>
+</p>
+</valid>
+<valid>
+<p>
+ <c/>
+</p>
+</valid>
+<valid>
+<p xmlns:p="http://example.org/ns/proofsystem">
+ <p:d/>
+</p>
+</valid>
+<invalid>
+<p>
+ <d/>
+</p>
+</invalid>
+<valid>
+<p xmlns:p="http://example.org/ns/proofsystem">
+ <p:e/>
+</p>
+</valid>
+<invalid>
+<p>
+ <e/>
+</p>
+</invalid>
+<invalid>
+<p xmlns:p="http://example.org/ns/proofsystem">
+ <p:f/>
+</p>
+</invalid>
+<invalid>
+<p>
+ <f/>
+</p>
+</invalid>
+<invalid>
+<p>
+ <g/>
+</p>
+</invalid>
+<invalid>
+<b/>
+</invalid>
+<invalid>
+<c/>
+</invalid>
+<invalid>
+<d/>
+</invalid>
+<invalid>
+<e/>
+</invalid>
+<invalid>
+<f/>
+</invalid>
+<invalid>
+<g/>
+</invalid>
+<invalid>
+<p xmlns:p="http://example.org/ns/proofsystem">
+ <p:d/>
+ <c/>
+</p>
+</invalid>
+<invalid>
+<p xmlns:p="http://example.org/ns/proofsystem">
+ <p:d/>
+ <p:e/>
+</p>
+</invalid>
+</testCase>
+<testCase>
+<resource name="ext.rng">
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="p"/>
+ </start>
+ <define name="p">
+ <element name="p">
+ <empty/>
+ </element>
+ </define>
+</grammar>
+</resource>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="top">
+ <choice>
+ <ref name="include1"/>
+ <ref name="include2"/>
+ </choice>
+ </element>
+ </start>
+ <define name="include1">
+ <grammar>
+ <include href="ext.rng">
+ <start>
+ <element name="a">
+ <choice>
+ <empty/>
+ <ref name="p"/>
+ </choice>
+ </element>
+ </start>
+ </include>
+ </grammar>
+ </define>
+ <define name="include2">
+ <grammar>
+ <include href="ext.rng">
+ <start>
+ <element name="b">
+ <choice>
+ <empty/>
+ <ref name="p"/>
+ </choice>
+ </element>
+ </start>
+ </include>
+ </grammar>
+ </define>
+</grammar>
+</correct>
+<invalid>
+<top/>
+</invalid>
+<invalid>
+<a/>
+</invalid>
+<invalid>
+<b/>
+</invalid>
+<invalid>
+<p/>
+</invalid>
+<valid>
+<top>
+ <a/>
+</top>
+</valid>
+<valid>
+<top>
+ <b/>
+</top>
+</valid>
+<valid>
+<top>
+ <a>
+ <p/>
+ </a>
+</top>
+</valid>
+<valid>
+<top>
+ <b>
+ <p/>
+ </b>
+</top>
+</valid>
+</testCase>
+</testSuite>
+<testSuite>
+<documentation>Test of ID/IDREF</documentation>
+<testCase>
+<correct>
+<element name="top" xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <zeroOrMore>
+ <choice>
+ <element name="ref">
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ <text/>
+ </element>
+ <element name="xref">
+ <attribute name="link">
+ <data type="IDREF"/>
+ </attribute>
+ <text/>
+ </element>
+ </choice>
+ </zeroOrMore>
+</element>
+</correct>
+<valid>
+<top>
+</top>
+</valid>
+<invalid>
+<top>
+ <xref link="id1"/>
+</top>
+</invalid>
+<valid>
+<top>
+ <ref id="id1"/>
+</top>
+</valid>
+<valid>
+<top>
+ <xref link="id1"/>
+ <ref id="id1"/>
+</top>
+</valid>
+<valid>
+<top>
+ <xref link=" id1 "/>
+ <ref id=" id1 "/>
+ <xref link="id1 "/>
+ <xref link=" id1"/>
+</top>
+</valid>
+<valid>
+<top>
+ <ref id="id1"/>
+ <xref link="id1"/>
+</top>
+</valid>
+<invalid>
+<top>
+ <ref id="id1"/>
+ <ref id="id1"/>
+</top>
+</invalid>
+</testCase>
+<testCase>
+<correct>
+<element name="top" xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <zeroOrMore>
+ <choice>
+ <element name="ref">
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ <text/>
+ </element>
+ <element name="xref">
+ <attribute name="link">
+ <data type="IDREFS"/>
+ </attribute>
+ <text/>
+ </element>
+ </choice>
+ </zeroOrMore>
+</element>
+</correct>
+<valid>
+<top>
+</top>
+</valid>
+<invalid>
+<top>
+ <xref link="id1"/>
+</top>
+</invalid>
+<valid>
+<top>
+ <ref id="id1"/>
+</top>
+</valid>
+<valid>
+<top>
+ <xref link="id1"/>
+ <ref id="id1"/>
+</top>
+</valid>
+<valid>
+<top>
+ <xref link="id1 id1"/>
+ <ref id="id1"/>
+</top>
+</valid>
+<valid>
+<top>
+ <ref id="id1"/>
+ <xref link="id1"/>
+</top>
+</valid>
+<valid>
+<top>
+ <ref id="id2"/>
+ <xref link="id1 id2"/>
+ <ref id="id1"/>
+</top>
+</valid>
+<valid>
+<top>
+ <ref id="id2"/>
+ <xref link=" id2 id1 id2 "/>
+ <ref id="id1"/>
+</top>
+</valid>
+<invalid>
+<top>
+ <ref id="id2"/>
+ <xref link="id1 id2"/>
+</top>
+</invalid>
+<invalid>
+<top>
+ <xref link="id1 id2"/>
+ <ref id="id1"/>
+</top>
+</invalid>
+<invalid>
+<top>
+ <ref id="id1"/>
+ <ref id="id1"/>
+</top>
+</invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<documentation>Test of ENTITY/ENTITIES</documentation>
+<testCase>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <data type="ENTITY"/>
+</element>
+</correct>
+<invalid>
+<doc></doc>
+</invalid>
+<invalid>
+<doc>foo</doc>
+</invalid>
+<valid dtd="&#10;&lt;!DOCTYPE doc [&#10;&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg&gt;&#10;]&gt;">
+<doc>foo</doc>
+</valid>
+<valid dtd="&#10;&lt;!DOCTYPE doc [&#10;&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg&gt;&#10;]&gt;">
+<doc> foo </doc>
+</valid>
+<invalid dtd="&#10;&lt;!DOCTYPE doc [&#10;&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg&gt;&#10;]&gt;">
+<doc>foo bar</doc>
+</invalid>
+</testCase>
+<testCase>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <data type="ENTITIES"/>
+</element>
+</correct>
+<invalid>
+<doc></doc>
+</invalid>
+<invalid>
+<doc>foo</doc>
+</invalid>
+<valid dtd="&#10;&lt;!DOCTYPE doc [&#10;&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg&gt; &#10;&lt;!ENTITY bar SYSTEM 'whatever' NDATA jpeg&gt; &#10;]&gt;">
+<doc> foo bar </doc>
+</valid>
+<valid dtd="&#10;&lt;!DOCTYPE doc [&#10;&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg&gt; &#10;&lt;!ENTITY bar SYSTEM 'whatever' NDATA jpeg&gt; &#10;]&gt;">
+<doc> foo bar foo</doc>
+</valid>
+<invalid dtd="&#10;&lt;!DOCTYPE doc [&#10;&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg&gt;]&gt;">
+<doc>foo bar</doc>
+</invalid>
+</testCase>
+</testSuite>
+<testSuite>
+<documentation>Test of Mixed</documentation>
+<testCase>
+<correct>
+<element name="mix" xmlns="http://relaxng.org/ns/structure/1.0">
+ <mixed>
+ <zeroOrMore>
+ <choice>
+ <element name="a">
+ <empty/>
+ </element>
+ <element name="b">
+ <empty/>
+ </element>
+ <element name="c">
+ <empty/>
+ </element>
+ </choice>
+ </zeroOrMore>
+ </mixed>
+ <element name="d">
+ <empty/>
+ </element>
+</element>
+</correct>
+<valid>
+<mix>
+ <d/>
+</mix>
+</valid>
+<valid>
+<mix>
+ <b/>
+ <a/>
+ <c/>
+ <b/>
+ <d/>
+</mix>
+</valid>
+<valid>
+<mix>
+ mixed
+ <c/>
+ <d/>
+</mix>
+</valid>
+<valid>
+<mix>
+ <c/>
+ mixed
+ <d/>
+</mix>
+</valid>
+<valid>
+<mix>
+ <b/>
+ is
+ <a/>
+ inter
+ <c/>
+ mixed
+ <b/>
+ <d/>
+</mix>
+</valid>
+<valid>
+<mix>
+ mixed
+ <b/>
+ .
+ <d/>
+</mix>
+</valid>
+<valid>
+<mix>
+ this
+ <b/>
+ is
+ <a/>
+ inter
+ <c/>
+ mixed
+ <b/>
+ .
+ <d/>
+</mix>
+</valid>
+</testCase>
+</testSuite>
+</testSuite>
diff --git a/libxml2/test/relaxng/tutor10_1.rng b/libxml2/test/relaxng/tutor10_1.rng
new file mode 100644
index 0000000..98df277
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_10.rng b/libxml2/test/relaxng/tutor10_10.rng
new file mode 100644
index 0000000..375b628
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_10_1.xml b/libxml2/test/relaxng/tutor10_10_1.xml
new file mode 100644
index 0000000..607982a
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_1_1.xml b/libxml2/test/relaxng/tutor10_1_1.xml
new file mode 100644
index 0000000..898193d
--- /dev/null
+++ b/libxml2/test/relaxng/tutor10_1_1.xml
@@ -0,0 +1 @@
+<foo xmlns="http://www.example.com"/>
diff --git a/libxml2/test/relaxng/tutor10_1_2.xml b/libxml2/test/relaxng/tutor10_1_2.xml
new file mode 100644
index 0000000..16d900a
--- /dev/null
+++ b/libxml2/test/relaxng/tutor10_1_2.xml
@@ -0,0 +1 @@
+<e:foo xmlns:e="http://www.example.com"/>
diff --git a/libxml2/test/relaxng/tutor10_1_3.xml b/libxml2/test/relaxng/tutor10_1_3.xml
new file mode 100644
index 0000000..756c73f
--- /dev/null
+++ b/libxml2/test/relaxng/tutor10_1_3.xml
@@ -0,0 +1 @@
+<example:foo xmlns:example="http://www.example.com"/>
diff --git a/libxml2/test/relaxng/tutor10_1_4.xml b/libxml2/test/relaxng/tutor10_1_4.xml
new file mode 100644
index 0000000..f1999f8
--- /dev/null
+++ b/libxml2/test/relaxng/tutor10_1_4.xml
@@ -0,0 +1 @@
+<foo/>
diff --git a/libxml2/test/relaxng/tutor10_1_5.xml b/libxml2/test/relaxng/tutor10_1_5.xml
new file mode 100644
index 0000000..ed0f048
--- /dev/null
+++ b/libxml2/test/relaxng/tutor10_1_5.xml
@@ -0,0 +1 @@
+<e:foo xmlns:e="http://WWW.EXAMPLE.COM"/>
diff --git a/libxml2/test/relaxng/tutor10_1_6.xml b/libxml2/test/relaxng/tutor10_1_6.xml
new file mode 100644
index 0000000..7dd6aed
--- /dev/null
+++ b/libxml2/test/relaxng/tutor10_1_6.xml
@@ -0,0 +1 @@
+<example:foo xmlns:example="http://www.example.net"/>
diff --git a/libxml2/test/relaxng/tutor10_2.rng b/libxml2/test/relaxng/tutor10_2.rng
new file mode 100644
index 0000000..ebf08de
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_2_1.xml b/libxml2/test/relaxng/tutor10_2_1.xml
new file mode 100644
index 0000000..24e0b22
--- /dev/null
+++ b/libxml2/test/relaxng/tutor10_2_1.xml
@@ -0,0 +1 @@
+<foo xmlns=""/>
diff --git a/libxml2/test/relaxng/tutor10_2_2.xml b/libxml2/test/relaxng/tutor10_2_2.xml
new file mode 100644
index 0000000..f1999f8
--- /dev/null
+++ b/libxml2/test/relaxng/tutor10_2_2.xml
@@ -0,0 +1 @@
+<foo/>
diff --git a/libxml2/test/relaxng/tutor10_2_3.xml b/libxml2/test/relaxng/tutor10_2_3.xml
new file mode 100644
index 0000000..898193d
--- /dev/null
+++ b/libxml2/test/relaxng/tutor10_2_3.xml
@@ -0,0 +1 @@
+<foo xmlns="http://www.example.com"/>
diff --git a/libxml2/test/relaxng/tutor10_2_4.xml b/libxml2/test/relaxng/tutor10_2_4.xml
new file mode 100644
index 0000000..16d900a
--- /dev/null
+++ b/libxml2/test/relaxng/tutor10_2_4.xml
@@ -0,0 +1 @@
+<e:foo xmlns:e="http://www.example.com"/>
diff --git a/libxml2/test/relaxng/tutor10_3.rng b/libxml2/test/relaxng/tutor10_3.rng
new file mode 100644
index 0000000..86f8cd1
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_3_1.xml b/libxml2/test/relaxng/tutor10_3_1.xml
new file mode 100644
index 0000000..693df18
--- /dev/null
+++ b/libxml2/test/relaxng/tutor10_3_1.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card><name>foo</name><email>bar</email></card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor10_4.rng b/libxml2/test/relaxng/tutor10_4.rng
new file mode 100644
index 0000000..9a0ad34
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_4_1.xml b/libxml2/test/relaxng/tutor10_4_1.xml
new file mode 100644
index 0000000..693df18
--- /dev/null
+++ b/libxml2/test/relaxng/tutor10_4_1.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card><name>foo</name><email>bar</email></card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor10_5.rng b/libxml2/test/relaxng/tutor10_5.rng
new file mode 100644
index 0000000..85f5418
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_5_1.xml b/libxml2/test/relaxng/tutor10_5_1.xml
new file mode 100644
index 0000000..94e62f0
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_6.rng b/libxml2/test/relaxng/tutor10_6.rng
new file mode 100644
index 0000000..fd50547
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_6_1.xml b/libxml2/test/relaxng/tutor10_6_1.xml
new file mode 100644
index 0000000..94e62f0
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_7.rng b/libxml2/test/relaxng/tutor10_7.rng
new file mode 100644
index 0000000..ce93df7
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_7_1.xml b/libxml2/test/relaxng/tutor10_7_1.xml
new file mode 100644
index 0000000..740d0d3
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_7_2.xml b/libxml2/test/relaxng/tutor10_7_2.xml
new file mode 100644
index 0000000..97436e5
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_7_3.xml b/libxml2/test/relaxng/tutor10_7_3.xml
new file mode 100644
index 0000000..7f58a8b
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_8.rng b/libxml2/test/relaxng/tutor10_8.rng
new file mode 100644
index 0000000..caeffec
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_8_1.xml b/libxml2/test/relaxng/tutor10_8_1.xml
new file mode 100644
index 0000000..740d0d3
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_8_2.xml b/libxml2/test/relaxng/tutor10_8_2.xml
new file mode 100644
index 0000000..97436e5
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_8_3.xml b/libxml2/test/relaxng/tutor10_8_3.xml
new file mode 100644
index 0000000..7f58a8b
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_9.rng b/libxml2/test/relaxng/tutor10_9.rng
new file mode 100644
index 0000000..c954a91
--- /dev/null
+++ b/libxml2/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/libxml2/test/relaxng/tutor10_9_1.xml b/libxml2/test/relaxng/tutor10_9_1.xml
new file mode 100644
index 0000000..607982a
--- /dev/null
+++ b/libxml2/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>
diff --git a/libxml2/test/relaxng/tutor11_1.rng b/libxml2/test/relaxng/tutor11_1.rng
new file mode 100644
index 0000000..2511af1
--- /dev/null
+++ b/libxml2/test/relaxng/tutor11_1.rng
@@ -0,0 +1,22 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <start>
+ <ref name="anyElement"/>
+ </start>
+
+ <define name="anyElement">
+ <element>
+ <anyName/>
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <text/>
+ <ref name="anyElement"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor11_1_1.xml b/libxml2/test/relaxng/tutor11_1_1.xml
new file mode 100644
index 0000000..2511af1
--- /dev/null
+++ b/libxml2/test/relaxng/tutor11_1_1.xml
@@ -0,0 +1,22 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <start>
+ <ref name="anyElement"/>
+ </start>
+
+ <define name="anyElement">
+ <element>
+ <anyName/>
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <text/>
+ <ref name="anyElement"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor11_1_2.xml b/libxml2/test/relaxng/tutor11_1_2.xml
new file mode 100644
index 0000000..f45fc3b
--- /dev/null
+++ b/libxml2/test/relaxng/tutor11_1_2.xml
@@ -0,0 +1,7 @@
+<addressBook>
+ <card>
+ <name>foo</name>
+ <email>bar</email>
+ <note>this guy is <em>annoying</em> !</note>
+ </card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor11_1_3.xml b/libxml2/test/relaxng/tutor11_1_3.xml
new file mode 100644
index 0000000..c778ce0
--- /dev/null
+++ b/libxml2/test/relaxng/tutor11_1_3.xml
@@ -0,0 +1,4197 @@
+<?xml version='1.0' encoding='ISO-8859-1' standalone='no'?>
+<!DOCTYPE spec SYSTEM "../valid/dtds/spec.dtd" [
+
+<!-- LAST TOUCHED BY: Tim Bray, 8 February 1997 -->
+
+<!-- The words 'FINAL EDIT' in comments mark places where changes
+need to be made after approval of the document by the ERB, before
+publication. -->
+
+<!ENTITY XML.version "1.0">
+<!ENTITY doc.date "10 February 1998">
+<!ENTITY iso6.doc.date "19980210">
+<!ENTITY w3c.doc.date "02-Feb-1998">
+<!ENTITY draft.day '10'>
+<!ENTITY draft.month 'February'>
+<!ENTITY draft.year '1998'>
+
+<!ENTITY WebSGML
+ 'WebSGML Adaptations Annex to ISO 8879'>
+
+<!ENTITY lt "<">
+<!ENTITY gt ">">
+<!ENTITY xmlpio "'&lt;?xml'">
+<!ENTITY pic "'?>'">
+<!ENTITY br "\n">
+<!ENTITY cellback '#c0d9c0'>
+<!ENTITY mdash "--"> <!-- &#x2014, but nsgmls doesn't grok hex -->
+<!ENTITY com "--">
+<!ENTITY como "--">
+<!ENTITY comc "--">
+<!ENTITY hcro "&amp;#x">
+<!-- <!ENTITY nbsp " "> -->
+<!ENTITY nbsp "&#160;">
+<!ENTITY magicents "<code>amp</code>,
+<code>lt</code>,
+<code>gt</code>,
+<code>apos</code>,
+<code>quot</code>">
+
+<!-- audience and distribution status: for use at publication time -->
+<!ENTITY doc.audience "public review and discussion">
+<!ENTITY doc.distribution "may be distributed freely, as long as
+all text and legal notices remain intact">
+
+]>
+
+<!-- for Panorama *-->
+<?VERBATIM "eg" ?>
+
+<spec>
+<header>
+<title>Extensible Markup Language (XML) 1.0</title>
+<version></version>
+<w3c-designation>REC-xml-&iso6.doc.date;</w3c-designation>
+<w3c-doctype>W3C Recommendation</w3c-doctype>
+<pubdate><day>&draft.day;</day><month>&draft.month;</month><year>&draft.year;</year></pubdate>
+
+<publoc>
+<loc href="http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;">
+http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;</loc>
+<loc href="http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.xml">
+http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.xml</loc>
+<loc href="http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.html">
+http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.html</loc>
+<loc href="http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.pdf">
+http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.pdf</loc>
+<loc href="http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.ps">
+http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.ps</loc>
+</publoc>
+<latestloc>
+<loc href="http://www.w3.org/TR/REC-xml">
+http://www.w3.org/TR/REC-xml</loc>
+</latestloc>
+<prevlocs>
+<loc href="http://www.w3.org/TR/PR-xml-971208">
+http://www.w3.org/TR/PR-xml-971208</loc>
+<!--
+<loc href='http://www.w3.org/TR/WD-xml-961114'>
+http://www.w3.org/TR/WD-xml-961114</loc>
+<loc href='http://www.w3.org/TR/WD-xml-lang-970331'>
+http://www.w3.org/TR/WD-xml-lang-970331</loc>
+<loc href='http://www.w3.org/TR/WD-xml-lang-970630'>
+http://www.w3.org/TR/WD-xml-lang-970630</loc>
+<loc href='http://www.w3.org/TR/WD-xml-970807'>
+http://www.w3.org/TR/WD-xml-970807</loc>
+<loc href='http://www.w3.org/TR/WD-xml-971117'>
+http://www.w3.org/TR/WD-xml-971117</loc>-->
+</prevlocs>
+<authlist>
+<author><name>Tim Bray</name>
+<affiliation>Textuality and Netscape</affiliation>
+<email
+href="mailto:tbray@textuality.com">tbray@textuality.com</email></author>
+<author><name>Jean Paoli</name>
+<affiliation>Microsoft</affiliation>
+<email href="mailto:jeanpa@microsoft.com">jeanpa@microsoft.com</email></author>
+<author><name>C. M. Sperberg-McQueen</name>
+<affiliation>University of Illinois at Chicago</affiliation>
+<email href="mailto:cmsmcq@uic.edu">cmsmcq@uic.edu</email></author>
+</authlist>
+<abstract>
+<p>The Extensible Markup Language (XML) is a subset of
+SGML that is completely described in this document. Its goal is to
+enable generic SGML to be served, received, and processed on the Web
+in the way that is now possible with HTML. XML has been designed for
+ease of implementation and for interoperability with both SGML and
+HTML.</p>
+</abstract>
+<status>
+<p>This document has been reviewed by W3C Members and
+other interested parties and has been endorsed by the
+Director as a W3C Recommendation. It is a stable
+document and may be used as reference material or cited
+as a normative reference from another document. W3C's
+role in making the Recommendation is to draw attention
+to the specification and to promote its widespread
+deployment. This enhances the functionality and
+interoperability of the Web.</p>
+<p>
+This document specifies a syntax created by subsetting an existing,
+widely used international text processing standard (Standard
+Generalized Markup Language, ISO 8879:1986(E) as amended and
+corrected) for use on the World Wide Web. It is a product of the W3C
+XML Activity, details of which can be found at <loc
+href='http://www.w3.org/XML'>http://www.w3.org/XML</loc>. A list of
+current W3C Recommendations and other technical documents can be found
+at <loc href='http://www.w3.org/TR'>http://www.w3.org/TR</loc>.
+</p>
+<p>This specification uses the term URI, which is defined by <bibref
+ref="Berners-Lee"/>, a work in progress expected to update <bibref
+ref="RFC1738"/> and <bibref ref="RFC1808"/>.
+</p>
+<p>The list of known errors in this specification is
+available at
+<loc href='http://www.w3.org/XML/xml-19980210-errata'>http://www.w3.org/XML/xml-19980210-errata</loc>.</p>
+<p>Please report errors in this document to
+<loc href='mailto:xml-editor@w3.org'>xml-editor@w3.org</loc>.
+</p>
+</status>
+
+
+<pubstmt>
+<p>Chicago, Vancouver, Mountain View, et al.:
+World-Wide Web Consortium, XML Working Group, 1996, 1997.</p>
+</pubstmt>
+<sourcedesc>
+<p>Created in electronic form.</p>
+</sourcedesc>
+<langusage>
+<language id='EN'>English</language>
+<language id='ebnf'>Extended Backus-Naur Form (formal grammar)</language>
+</langusage>
+<revisiondesc>
+<slist>
+<sitem>1997-12-03 : CMSMcQ : yet further changes</sitem>
+<sitem>1997-12-02 : TB : further changes (see TB to XML WG,
+2 December 1997)</sitem>
+<sitem>1997-12-02 : CMSMcQ : deal with as many corrections and
+comments from the proofreaders as possible:
+entify hard-coded document date in pubdate element,
+change expansion of entity WebSGML,
+update status description as per Dan Connolly (am not sure
+about refernece to Berners-Lee et al.),
+add 'The' to abstract as per WG decision,
+move Relationship to Existing Standards to back matter and
+combine with References,
+re-order back matter so normative appendices come first,
+re-tag back matter so informative appendices are tagged informdiv1,
+remove XXX XXX from list of 'normative' specs in prose,
+move some references from Other References to Normative References,
+add RFC 1738, 1808, and 2141 to Other References (they are not
+normative since we do not require the processor to enforce any
+rules based on them),
+add reference to 'Fielding draft' (Berners-Lee et al.),
+move notation section to end of body,
+drop URIchar non-terminal and use SkipLit instead,
+lose stray reference to defunct nonterminal 'markupdecls',
+move reference to Aho et al. into appendix (Tim's right),
+add prose note saying that hash marks and fragment identifiers are
+NOT part of the URI formally speaking, and are NOT legal in
+system identifiers (processor 'may' signal an error).
+Work through:
+Tim Bray reacting to James Clark,
+Tim Bray on his own,
+Eve Maler,
+
+NOT DONE YET:
+change binary / text to unparsed / parsed.
+handle James's suggestion about &lt; in attriubte values
+uppercase hex characters,
+namechar list,
+</sitem>
+<sitem>1997-12-01 : JB : add some column-width parameters</sitem>
+<sitem>1997-12-01 : CMSMcQ : begin round of changes to incorporate
+recent WG decisions and other corrections:
+binding sources of character encoding info (27 Aug / 3 Sept),
+correct wording of Faust quotation (restore dropped line),
+drop SDD from EncodingDecl,
+change text at version number 1.0,
+drop misleading (wrong!) sentence about ignorables and extenders,
+modify definition of PCData to make bar on msc grammatical,
+change grammar's handling of internal subset (drop non-terminal markupdecls),
+change definition of includeSect to allow conditional sections,
+add integral-declaration constraint on internal subset,
+drop misleading / dangerous sentence about relationship of
+entities with system storage objects,
+change table body tag to htbody as per EM change to DTD,
+add rule about space normalization in public identifiers,
+add description of how to generate our name-space rules from
+Unicode character database (needs further work!).
+</sitem>
+<sitem>1997-10-08 : TB : Removed %-constructs again, new rules
+for PE appearance.</sitem>
+<sitem>1997-10-01 : TB : Case-sensitive markup; cleaned up
+element-type defs, lotsa little edits for style</sitem>
+<sitem>1997-09-25 : TB : Change to elm's new DTD, with
+substantial detail cleanup as a side-effect</sitem>
+<sitem>1997-07-24 : CMSMcQ : correct error (lost *) in definition
+of ignoreSectContents (thanks to Makoto Murata)</sitem>
+<sitem>Allow all empty elements to have end-tags, consistent with
+SGML TC (as per JJC).</sitem>
+<sitem>1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections:
+introduce the term 'empty-element tag', note that all empty elements
+may use it, and elements declared EMPTY must use it.
+Add WFC requiring encoding decl to come first in an entity.
+Redefine notations to point to PIs as well as binary entities.
+Change autodetection table by removing bytes 3 and 4 from
+examples with Byte Order Mark.
+Add content model as a term and clarify that it applies to both
+mixed and element content.
+</sitem>
+<sitem>1997-06-30 : CMSMcQ : change date, some cosmetic changes,
+changes to productions for choice, seq, Mixed, NotationType,
+Enumeration. Follow James Clark's suggestion and prohibit
+conditional sections in internal subset. TO DO: simplify
+production for ignored sections as a result, since we don't
+need to worry about parsers which don't expand PErefs finding
+a conditional section.</sitem>
+<sitem>1997-06-29 : TB : various edits</sitem>
+<sitem>1997-06-29 : CMSMcQ : further changes:
+Suppress old FINAL EDIT comments and some dead material.
+Revise occurrences of % in grammar to exploit Henry Thompson's pun,
+especially markupdecl and attdef.
+Remove RMD requirement relating to element content (?).
+</sitem>
+<sitem>1997-06-28 : CMSMcQ : Various changes for 1 July draft:
+Add text for draconian error handling (introduce
+the term Fatal Error).
+RE deleta est (changing wording from
+original announcement to restrict the requirement to validating
+parsers).
+Tag definition of validating processor and link to it.
+Add colon as name character.
+Change def of %operator.
+Change standard definitions of lt, gt, amp.
+Strip leading zeros from #x00nn forms.</sitem>
+<sitem>1997-04-02 : CMSMcQ : final corrections of editorial errors
+found in last night's proofreading. Reverse course once more on
+well-formed: Webster's Second hyphenates it, and that's enough
+for me.</sitem>
+<sitem>1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self</sitem>
+<sitem>1997-03-31 : Tim Bray : many changes</sitem>
+<sitem>1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling),
+some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous
+declarations. Changed Ident element to accept def attribute.
+Allow normalization of Unicode characters. move def of systemliteral
+into section on literals.</sitem>
+<sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from
+Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson,
+Paul Grosso, and self. Among other things: give in on "well formed"
+(Terry is right), tentatively rename QuotedCData as AttValue
+and Literal as EntityValue to be more informative, since attribute
+values are the <emph>only</emph> place QuotedCData was used, and
+vice versa for entity text and Literal. (I'd call it Entity Text,
+but 8879 uses that name for both internal and external entities.)</sitem>
+<sitem>1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply
+my changes dated 03-20 and 03-21. Normalize old 'may not' to 'must not'
+except in the one case where it meant 'may or may not'.</sitem>
+<sitem>1997-03-21 : TB : massive changes on plane flight from Chicago
+to Vancouver</sitem>
+<sitem>1997-03-21 : CMSMcQ : correct as many reported errors as possible.
+</sitem>
+<sitem>1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec.</sitem>
+<sitem>1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for
+WWW conference April 1997: restore some of the internal entity
+references (e.g. to docdate, etc.), change character xA0 to &amp;nbsp;
+and define nbsp as &amp;#160;, and refill a lot of paragraphs for
+legibility.</sitem>
+<sitem>1996-11-12 : CMSMcQ : revise using Tim's edits:
+Add list type of NUMBERED and change most lists either to
+BULLETS or to NUMBERED.
+Suppress QuotedNames, Names (not used).
+Correct trivial-grammar doc type decl.
+Rename 'marked section' as 'CDATA section' passim.
+Also edits from James Clark:
+Define the set of characters from which [^abc] subtracts.
+Charref should use just [0-9] not Digit.
+Location info needs cleaner treatment: remove? (ERB
+question).
+One example of a PI has wrong pic.
+Clarify discussion of encoding names.
+Encoding failure should lead to unspecified results; don't
+prescribe error recovery.
+Don't require exposure of entity boundaries.
+Ignore white space in element content.
+Reserve entity names of the form u-NNNN.
+Clarify relative URLs.
+And some of my own:
+Correct productions for content model: model cannot
+consist of a name, so "elements ::= cp" is no good.
+</sitem>
+<sitem>1996-11-11 : CMSMcQ : revise for style.
+Add new rhs to entity declaration, for parameter entities.</sitem>
+<sitem>1996-11-10 : CMSMcQ : revise for style.
+Fix / complete section on names, characters.
+Add sections on parameter entities, conditional sections.
+Still to do: Add compatibility note on deterministic content models.
+Finish stylistic revision.</sitem>
+<sitem>1996-10-31 : TB : Add Entity Handling section</sitem>
+<sitem>1996-10-30 : TB : Clean up term &amp; termdef. Slip in
+ERB decision re EMPTY.</sitem>
+<sitem>1996-10-28 : TB : Change DTD. Implement some of Michael's
+suggestions. Change comments back to //. Introduce language for
+XML namespace reservation. Add section on white-space handling.
+Lots more cleanup.</sitem>
+<sitem>1996-10-24 : CMSMcQ : quick tweaks, implement some ERB
+decisions. Characters are not integers. Comments are /* */ not //.
+Add bibliographic refs to 10646, HyTime, Unicode.
+Rename old Cdata as MsData since it's <emph>only</emph> seen
+in marked sections. Call them attribute-value pairs not
+name-value pairs, except once. Internal subset is optional, needs
+'?'. Implied attributes should be signaled to the app, not
+have values supplied by processor.</sitem>
+<sitem>1996-10-16 : TB : track down &amp; excise all DSD references;
+introduce some EBNF for entity declarations.</sitem>
+<sitem>1996-10-?? : TB : consistency check, fix up scraps so
+they all parse, get formatter working, correct a few productions.</sitem>
+<sitem>1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and
+organizational changes:
+Replace a few literals with xmlpio and
+pic entities, to make them consistent and ensure we can change pic
+reliably when the ERB votes.
+Drop paragraph on recognizers from notation section.
+Add match, exact match to terminology.
+Move old 2.2 XML Processors and Apps into intro.
+Mention comments, PIs, and marked sections in discussion of
+delimiter escaping.
+Streamline discussion of doctype decl syntax.
+Drop old section of 'PI syntax' for doctype decl, and add
+section on partial-DTD summary PIs to end of Logical Structures
+section.
+Revise DSD syntax section to use Tim's subset-in-a-PI
+mechanism.</sitem>
+<sitem>1996-10-10 : TB : eliminate name recognizers (and more?)</sitem>
+<sitem>1996-10-09 : CMSMcQ : revise for style, consistency through 2.3
+(Characters)</sitem>
+<sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience,
+at least temporarily, and revise quickly</sitem>
+<sitem>1996-10-08 : TB : first major homogenization pass</sitem>
+<sitem>1996-10-08 : TB : turn "current" attribute on div type into
+CDATA</sitem>
+<sitem>1996-10-02 : TB : remould into skeleton + entities</sitem>
+<sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange
+ with Tim.</sitem>
+<sitem>1996-09-20 : CMSMcQ : finish transcribing notes.</sitem>
+<sitem>1996-09-19 : CMSMcQ : begin transcribing notes for draft.</sitem>
+<sitem>1996-09-13 : CMSMcQ : made outline from notes of 09-06,
+do some housekeeping</sitem>
+</slist>
+</revisiondesc>
+</header>
+<body>
+<div1 id='sec-intro'>
+<head>Introduction</head>
+<p>Extensible Markup Language, abbreviated XML, describes a class of
+data objects called <termref def="dt-xml-doc">XML documents</termref> and
+partially describes the behavior of
+computer programs which process them. XML is an application profile or
+restricted form of SGML, the Standard Generalized Markup
+Language <bibref ref='ISO8879'/>.
+By construction, XML documents
+are conforming SGML documents.
+</p>
+<p>XML documents are made up of storage units called <termref
+def="dt-entity">entities</termref>, which contain either parsed
+or unparsed data.
+Parsed data is made up of <termref def="dt-character">characters</termref>,
+some
+of which form <termref def="dt-chardata">character data</termref>,
+and some of which form <termref def="dt-markup">markup</termref>.
+Markup encodes a description of the document's storage layout and
+logical structure. XML provides a mechanism to impose constraints on
+the storage layout and logical structure.</p>
+<p><termdef id="dt-xml-proc" term="XML Processor">A software module
+called an <term>XML processor</term> is used to read XML documents
+and provide access to their content and structure.</termdef> <termdef
+id="dt-app" term="Application">It is assumed that an XML processor is
+doing its work on behalf of another module, called the
+<term>application</term>.</termdef> This specification describes the
+required behavior of an XML processor in terms of how it must read XML
+data and the information it must provide to the application.</p>
+
+<div2 id='sec-origin-goals'>
+<head>Origin and Goals</head>
+<p>XML was developed by an XML Working Group (originally known as the
+SGML Editorial Review Board) formed under the auspices of the World
+Wide Web Consortium (W3C) in 1996.
+It was chaired by Jon Bosak of Sun
+Microsystems with the active participation of an XML Special
+Interest Group (previously known as the SGML Working Group) also
+organized by the W3C. The membership of the XML Working Group is given
+in an appendix. Dan Connolly served as the WG's contact with the W3C.
+</p>
+<p>The design goals for XML are:<olist>
+<item><p>XML shall be straightforwardly usable over the
+Internet.</p></item>
+<item><p>XML shall support a wide variety of applications.</p></item>
+<item><p>XML shall be compatible with SGML.</p></item>
+<item><p>It shall be easy to write programs which process XML
+documents.</p></item>
+<item><p>The number of optional features in XML is to be kept to the
+absolute minimum, ideally zero.</p></item>
+<item><p>XML documents should be human-legible and reasonably
+clear.</p></item>
+<item><p>The XML design should be prepared quickly.</p></item>
+<item><p>The design of XML shall be formal and concise.</p></item>
+<item><p>XML documents shall be easy to create.</p></item>
+<item><p>Terseness in XML markup is of minimal importance.</p></item></olist>
+</p>
+<p>This specification,
+together with associated standards
+(Unicode and ISO/IEC 10646 for characters,
+Internet RFC 1766 for language identification tags,
+ISO 639 for language name codes, and
+ISO 3166 for country name codes),
+provides all the information necessary to understand
+XML Version &XML.version;
+and construct computer programs to process it.</p>
+<p>This version of the XML specification
+<!-- is for &doc.audience;.-->
+&doc.distribution;.</p>
+
+</div2>
+
+
+
+
+<div2 id='sec-terminology'>
+<head>Terminology</head>
+
+<p>The terminology used to describe XML documents is defined in the body of
+this specification.
+The terms defined in the following list are used in building those
+definitions and in describing the actions of an XML processor:
+<glist>
+<gitem>
+<label>may</label>
+<def><p><termdef id="dt-may" term="May">Conforming documents and XML
+processors are permitted to but need not behave as
+described.</termdef></p></def>
+</gitem>
+<gitem>
+<label>must</label>
+<def><p>Conforming documents and XML processors
+are required to behave as described; otherwise they are in error.
+<!-- do NOT change this! this is what defines a violation of
+a 'must' clause as 'an error'. -MSM -->
+</p></def>
+</gitem>
+<gitem>
+<label>error</label>
+<def><p><termdef id='dt-error' term='Error'
+>A violation of the rules of this
+specification; results are
+undefined. Conforming software may detect and report an error and may
+recover from it.</termdef></p></def>
+</gitem>
+<gitem>
+<label>fatal error</label>
+<def><p><termdef id="dt-fatal" term="Fatal Error">An error
+which a conforming <termref def="dt-xml-proc">XML processor</termref>
+must detect and report to the application.
+After encountering a fatal error, the
+processor may continue
+processing the data to search for further errors and may report such
+errors to the application. In order to support correction of errors,
+the processor may make unprocessed data from the document (with
+intermingled character data and markup) available to the application.
+Once a fatal error is detected, however, the processor must not
+continue normal processing (i.e., it must not
+continue to pass character data and information about the document's
+logical structure to the application in the normal way).
+</termdef></p></def>
+</gitem>
+<gitem>
+<label>at user option</label>
+<def><p>Conforming software may or must (depending on the modal verb in the
+sentence) behave as described; if it does, it must
+provide users a means to enable or disable the behavior
+described.</p></def>
+</gitem>
+<gitem>
+<label>validity constraint</label>
+<def><p>A rule which applies to all
+<termref def="dt-valid">valid</termref> XML documents.
+Violations of validity constraints are errors; they must, at user option,
+be reported by
+<termref def="dt-validating">validating XML processors</termref>.</p></def>
+</gitem>
+<gitem>
+<label>well-formedness constraint</label>
+<def><p>A rule which applies to all <termref
+def="dt-wellformed">well-formed</termref> XML documents.
+Violations of well-formedness constraints are
+<termref def="dt-fatal">fatal errors</termref>.</p></def>
+</gitem>
+
+<gitem>
+<label>match</label>
+<def><p><termdef id="dt-match" term="match">(Of strings or names:)
+Two strings or names being compared must be identical.
+Characters with multiple possible representations in ISO/IEC 10646 (e.g.
+characters with
+both precomposed and base+diacritic forms) match only if they have the
+same representation in both strings.
+At user option, processors may normalize such characters to
+some canonical form.
+No case folding is performed.
+(Of strings and rules in the grammar:)
+A string matches a grammatical production if it belongs to the
+language generated by that production.
+(Of content and content models:)
+An element matches its declaration when it conforms
+in the fashion described in the constraint
+<specref ref='elementvalid'/>.
+</termdef>
+</p></def>
+</gitem>
+<gitem>
+<label>for compatibility</label>
+<def><p><termdef id="dt-compat" term="For Compatibility">A feature of
+XML included solely to ensure that XML remains compatible with SGML.
+</termdef></p></def>
+</gitem>
+<gitem>
+<label>for interoperability</label>
+<def><p><termdef id="dt-interop" term="For interoperability">A
+non-binding recommendation included to increase the chances that XML
+documents can be processed by the existing installed base of SGML
+processors which predate the
+&WebSGML;.</termdef></p></def>
+</gitem>
+</glist>
+</p>
+</div2>
+
+
+</div1>
+<!-- &Docs; -->
+
+<div1 id='sec-documents'>
+<head>Documents</head>
+
+<p><termdef id="dt-xml-doc" term="XML Document">
+A data object is an
+<term>XML document</term> if it is
+<termref def="dt-wellformed">well-formed</termref>, as
+defined in this specification.
+A well-formed XML document may in addition be
+<termref def="dt-valid">valid</termref> if it meets certain further
+constraints.</termdef></p>
+
+<p>Each XML document has both a logical and a physical structure.
+Physically, the document is composed of units called <termref
+def="dt-entity">entities</termref>. An entity may <termref
+def="dt-entref">refer</termref> to other entities to cause their
+inclusion in the document. A document begins in a "root" or <termref
+def="dt-docent">document entity</termref>.
+Logically, the document is composed of declarations, elements,
+comments,
+character references, and
+processing
+instructions, all of which are indicated in the document by explicit
+markup.
+The logical and physical structures must nest properly, as described
+in <specref ref='wf-entities'/>.
+</p>
+
+<div2 id='sec-well-formed'>
+<head>Well-Formed XML Documents</head>
+
+<p><termdef id="dt-wellformed" term="Well-Formed">
+A textual object is
+a well-formed XML document if:</termdef>
+<olist>
+<item><p>Taken as a whole, it
+matches the production labeled <nt def='NT-document'>document</nt>.</p></item>
+<item><p>It
+meets all the well-formedness constraints given in this specification.</p>
+</item>
+<item><p>Each of the <termref def='dt-parsedent'>parsed entities</termref>
+which is referenced directly or indirectly within the document is
+<titleref href='wf-entities'>well-formed</titleref>.</p></item>
+</olist></p>
+<p>
+<scrap lang='ebnf' id='document'>
+<head>Document</head>
+<prod id='NT-document'><lhs>document</lhs>
+<rhs><nt def='NT-prolog'>prolog</nt>
+<nt def='NT-element'>element</nt>
+<nt def='NT-Misc'>Misc</nt>*</rhs></prod>
+</scrap>
+</p>
+<p>Matching the <nt def="NT-document">document</nt> production
+implies that:
+<olist>
+<item><p>It contains one or more
+<termref def="dt-element">elements</termref>.</p>
+</item>
+<!--* N.B. some readers (notably JC) find the following
+paragraph awkward and redundant. I agree it's logically redundant:
+it *says* it is summarizing the logical implications of
+matching the grammar, and that means by definition it's
+logically redundant. I don't think it's rhetorically
+redundant or unnecessary, though, so I'm keeping it. It
+could however use some recasting when the editors are feeling
+stronger. -MSM *-->
+<item><p><termdef id="dt-root" term="Root Element">There is exactly
+one element, called the <term>root</term>, or document element, no
+part of which appears in the <termref
+def="dt-content">content</termref> of any other element.</termdef>
+For all other elements, if the start-tag is in the content of another
+element, the end-tag is in the content of the same element. More
+simply stated, the elements, delimited by start- and end-tags, nest
+properly within each other.
+</p></item>
+</olist>
+</p>
+<p><termdef id="dt-parentchild" term="Parent/Child">As a consequence
+of this,
+for each non-root element
+<code>C</code> in the document, there is one other element <code>P</code>
+in the document such that
+<code>C</code> is in the content of <code>P</code>, but is not in
+the content of any other element that is in the content of
+<code>P</code>.
+<code>P</code> is referred to as the
+<term>parent</term> of <code>C</code>, and <code>C</code> as a
+<term>child</term> of <code>P</code>.</termdef></p></div2>
+
+<div2 id="charsets">
+<head>Characters</head>
+
+<p><termdef id="dt-text" term="Text">A parsed entity contains
+<term>text</term>, a sequence of
+<termref def="dt-character">characters</termref>,
+which may represent markup or character data.</termdef>
+<termdef id="dt-character" term="Character">A <term>character</term>
+is an atomic unit of text as specified by
+ISO/IEC 10646 <bibref ref="ISO10646"/>.
+Legal characters are tab, carriage return, line feed, and the legal
+graphic characters of Unicode and ISO/IEC 10646.
+The use of "compatibility characters", as defined in section 6.8
+of <bibref ref='Unicode'/>, is discouraged.
+</termdef>
+<scrap lang="ebnf" id="char32">
+<head>Character Range</head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id="NT-Char"><lhs>Char</lhs>
+<rhs>#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
+| [#x10000-#x10FFFF]</rhs>
+<com>any Unicode character, excluding the
+surrogate blocks, FFFE, and FFFF.</com> </prod>
+</prodgroup>
+</scrap>
+</p>
+
+<p>The mechanism for encoding character code points into bit patterns may
+vary from entity to entity. All XML processors must accept the UTF-8
+and UTF-16 encodings of 10646; the mechanisms for signaling which of
+the two is in use, or for bringing other encodings into play, are
+discussed later, in <specref ref='charencoding'/>.
+</p>
+<!--
+<p>Regardless of the specific encoding used, any character in the ISO/IEC
+10646 character set may be referred to by the decimal or hexadecimal
+equivalent of its
+UCS-4 code value.
+</p>-->
+</div2>
+
+<div2 id='sec-common-syn'>
+<head>Common Syntactic Constructs</head>
+
+<p>This section defines some symbols used widely in the grammar.</p>
+<p><nt def="NT-S">S</nt> (white space) consists of one or more space (#x20)
+characters, carriage returns, line feeds, or tabs.
+
+<scrap lang="ebnf" id='white'>
+<head>White Space</head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id='NT-S'><lhs>S</lhs>
+<rhs>(#x20 | #x9 | #xD | #xA)+</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>Characters are classified for convenience as letters, digits, or other
+characters. Letters consist of an alphabetic or syllabic
+base character possibly
+followed by one or more combining characters, or of an ideographic
+character.
+Full definitions of the specific characters in each class
+are given in <specref ref='CharClasses'/>.</p>
+<p><termdef id="dt-name" term="Name">A <term>Name</term> is a token
+beginning with a letter or one of a few punctuation characters, and continuing
+with letters, digits, hyphens, underscores, colons, or full stops, together
+known as name characters.</termdef>
+Names beginning with the string "<code>xml</code>", or any string
+which would match <code>(('X'|'x') ('M'|'m') ('L'|'l'))</code>, are
+reserved for standardization in this or future versions of this
+specification.
+</p>
+<note>
+<p>The colon character within XML names is reserved for experimentation with
+name spaces.
+Its meaning is expected to be
+standardized at some future point, at which point those documents
+using the colon for experimental purposes may need to be updated.
+(There is no guarantee that any name-space mechanism
+adopted for XML will in fact use the colon as a name-space delimiter.)
+In practice, this means that authors should not use the colon in XML
+names except as part of name-space experiments, but that XML processors
+should accept the colon as a name character.</p>
+</note>
+<p>An
+<nt def='NT-Nmtoken'>Nmtoken</nt> (name token) is any mixture of
+name characters.
+<scrap lang='ebnf'>
+<head>Names and Tokens</head>
+<prod id='NT-NameChar'><lhs>NameChar</lhs>
+<rhs><nt def="NT-Letter">Letter</nt>
+| <nt def='NT-Digit'>Digit</nt>
+| '.' | '-' | '_' | ':'
+| <nt def='NT-CombiningChar'>CombiningChar</nt>
+| <nt def='NT-Extender'>Extender</nt></rhs>
+</prod>
+<prod id='NT-Name'><lhs>Name</lhs>
+<rhs>(<nt def='NT-Letter'>Letter</nt> | '_' | ':')
+(<nt def='NT-NameChar'>NameChar</nt>)*</rhs></prod>
+<prod id='NT-Names'><lhs>Names</lhs>
+<rhs><nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>)*</rhs></prod>
+<prod id='NT-Nmtoken'><lhs>Nmtoken</lhs>
+<rhs>(<nt def='NT-NameChar'>NameChar</nt>)+</rhs></prod>
+<prod id='NT-Nmtokens'><lhs>Nmtokens</lhs>
+<rhs><nt def='NT-Nmtoken'>Nmtoken</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Nmtoken'>Nmtoken</nt>)*</rhs></prod>
+</scrap>
+</p>
+<p>Literal data is any quoted string not containing
+the quotation mark used as a delimiter for that string.
+Literals are used
+for specifying the content of internal entities
+(<nt def='NT-EntityValue'>EntityValue</nt>),
+the values of attributes (<nt def='NT-AttValue'>AttValue</nt>),
+and external identifiers
+(<nt def="NT-SystemLiteral">SystemLiteral</nt>).
+Note that a <nt def='NT-SystemLiteral'>SystemLiteral</nt>
+can be parsed without scanning for markup.
+<scrap lang='ebnf'>
+<head>Literals</head>
+<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
+<rhs>'"'
+([^%&amp;"]
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+'"'
+</rhs>
+<rhs>|&nbsp;
+"'"
+([^%&amp;']
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-Reference'>Reference</nt>)*
+"'"</rhs>
+</prod>
+<prod id='NT-AttValue'><lhs>AttValue</lhs>
+<rhs>'"'
+([^&lt;&amp;"]
+| <nt def='NT-Reference'>Reference</nt>)*
+'"'
+</rhs>
+<rhs>|&nbsp;
+"'"
+([^&lt;&amp;']
+| <nt def='NT-Reference'>Reference</nt>)*
+"'"</rhs>
+</prod>
+<prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs>
+<rhs>('"' [^"]* '"') |&nbsp;("'" [^']* "'")
+</rhs>
+</prod>
+<prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs>
+<rhs>'"' <nt def='NT-PubidChar'>PubidChar</nt>*
+'"'
+| "'" (<nt def='NT-PubidChar'>PubidChar</nt> - "'")* "'"</rhs>
+</prod>
+<prod id="NT-PubidChar"><lhs>PubidChar</lhs>
+<rhs>#x20 | #xD | #xA
+|&nbsp;[a-zA-Z0-9]
+|&nbsp;[-'()+,./:=?;!*#@$_%]</rhs>
+</prod>
+</scrap>
+</p>
+
+</div2>
+
+<div2 id='syntax'>
+<head>Character Data and Markup</head>
+
+<p><termref def='dt-text'>Text</termref> consists of intermingled
+<termref def="dt-chardata">character
+data</termref> and markup.
+<termdef id="dt-markup" term="Markup"><term>Markup</term> takes the form of
+<termref def="dt-stag">start-tags</termref>,
+<termref def="dt-etag">end-tags</termref>,
+<termref def="dt-empty">empty-element tags</termref>,
+<termref def="dt-entref">entity references</termref>,
+<termref def="dt-charref">character references</termref>,
+<termref def="dt-comment">comments</termref>,
+<termref def="dt-cdsection">CDATA section</termref> delimiters,
+<termref def="dt-doctype">document type declarations</termref>, and
+<termref def="dt-pi">processing instructions</termref>.
+</termdef>
+</p>
+<p><termdef id="dt-chardata" term="Character Data">All text that is not markup
+constitutes the <term>character data</term> of
+the document.</termdef></p>
+<p>The ampersand character (&amp;) and the left angle bracket (&lt;)
+may appear in their literal form <emph>only</emph> when used as markup
+delimiters, or within a <termref def="dt-comment">comment</termref>, a
+<termref def="dt-pi">processing instruction</termref>,
+or a <termref def="dt-cdsection">CDATA section</termref>.
+
+They are also legal within the <termref def='dt-litentval'>literal entity
+value</termref> of an internal entity declaration; see
+<specref ref='wf-entities'/>.
+<!-- FINAL EDIT: restore internal entity decl or leave it out. -->
+If they are needed elsewhere,
+they must be <termref def="dt-escape">escaped</termref>
+using either <termref def='dt-charref'>numeric character references</termref>
+or the strings
+"<code>&amp;amp;</code>" and "<code>&amp;lt;</code>" respectively.
+The right angle
+bracket (>) may be represented using the string
+"<code>&amp;gt;</code>", and must, <termref def='dt-compat'>for
+compatibility</termref>,
+be escaped using
+"<code>&amp;gt;</code>" or a character reference
+when it appears in the string
+"<code>]]&gt;</code>"
+in content,
+when that string is not marking the end of
+a <termref def="dt-cdsection">CDATA section</termref>.
+</p>
+<p>
+In the content of elements, character data
+is any string of characters which does
+not contain the start-delimiter of any markup.
+In a CDATA section, character data
+is any string of characters not including the CDATA-section-close
+delimiter, "<code>]]&gt;</code>".</p>
+<p>
+To allow attribute values to contain both single and double quotes, the
+apostrophe or single-quote character (') may be represented as
+"<code>&amp;apos;</code>", and the double-quote character (") as
+"<code>&amp;quot;</code>".
+<scrap lang="ebnf">
+<head>Character Data</head>
+<prod id='NT-CharData'>
+<lhs>CharData</lhs>
+<rhs>[^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</rhs>
+</prod>
+</scrap>
+</p>
+</div2>
+
+<div2 id='sec-comments'>
+<head>Comments</head>
+
+<p><termdef id="dt-comment" term="Comment"><term>Comments</term> may
+appear anywhere in a document outside other
+<termref def='dt-markup'>markup</termref>; in addition,
+they may appear within the document type declaration
+at places allowed by the grammar.
+They are not part of the document's <termref def="dt-chardata">character
+data</termref>; an XML
+processor may, but need not, make it possible for an application to
+retrieve the text of comments.
+<termref def="dt-compat">For compatibility</termref>, the string
+"<code>--</code>" (double-hyphen) must not occur within
+comments.
+<scrap lang="ebnf">
+<head>Comments</head>
+<prod id='NT-Comment'><lhs>Comment</lhs>
+<rhs>'&lt;!--'
+((<nt def='NT-Char'>Char</nt> - '-')
+| ('-' (<nt def='NT-Char'>Char</nt> - '-')))*
+'-->'</rhs>
+</prod>
+</scrap>
+</termdef></p>
+<p>An example of a comment:
+<eg>&lt;!&como; declarations for &lt;head> &amp; &lt;body> &comc;&gt;</eg>
+</p>
+</div2>
+
+<div2 id='sec-pi'>
+<head>Processing Instructions</head>
+
+<p><termdef id="dt-pi" term="Processing instruction"><term>Processing
+instructions</term> (PIs) allow documents to contain instructions
+for applications.
+
+<scrap lang="ebnf">
+<head>Processing Instructions</head>
+<prod id='NT-PI'><lhs>PI</lhs>
+<rhs>'&lt;?' <nt def='NT-PITarget'>PITarget</nt>
+(<nt def='NT-S'>S</nt>
+(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)))?
+&pic;</rhs></prod>
+<prod id='NT-PITarget'><lhs>PITarget</lhs>
+<rhs><nt def='NT-Name'>Name</nt> -
+(('X' | 'x') ('M' | 'm') ('L' | 'l'))</rhs>
+</prod>
+</scrap></termdef>
+PIs are not part of the document's <termref def="dt-chardata">character
+data</termref>, but must be passed through to the application. The
+PI begins with a target (<nt def='NT-PITarget'>PITarget</nt>) used
+to identify the application to which the instruction is directed.
+The target names "<code>XML</code>", "<code>xml</code>", and so on are
+reserved for standardization in this or future versions of this
+specification.
+The
+XML <termref def='dt-notation'>Notation</termref> mechanism
+may be used for
+formal declaration of PI targets.
+</p>
+</div2>
+
+<div2 id='sec-cdata-sect'>
+<head>CDATA Sections</head>
+
+<p><termdef id="dt-cdsection" term="CDATA Section"><term>CDATA sections</term>
+may occur
+anywhere character data may occur; they are
+used to escape blocks of text containing characters which would
+otherwise be recognized as markup. CDATA sections begin with the
+string "<code>&lt;![CDATA[</code>" and end with the string
+"<code>]]&gt;</code>":
+<scrap lang="ebnf">
+<head>CDATA Sections</head>
+<prod id='NT-CDSect'><lhs>CDSect</lhs>
+<rhs><nt def='NT-CDStart'>CDStart</nt>
+<nt def='NT-CData'>CData</nt>
+<nt def='NT-CDEnd'>CDEnd</nt></rhs></prod>
+<prod id='NT-CDStart'><lhs>CDStart</lhs>
+<rhs>'&lt;![CDATA['</rhs>
+</prod>
+<prod id='NT-CData'><lhs>CData</lhs>
+<rhs>(<nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+</rhs>
+</prod>
+<prod id='NT-CDEnd'><lhs>CDEnd</lhs>
+<rhs>']]&gt;'</rhs>
+</prod>
+</scrap>
+
+Within a CDATA section, only the <nt def='NT-CDEnd'>CDEnd</nt> string is
+recognized as markup, so that left angle brackets and ampersands may occur in
+their literal form; they need not (and cannot) be escaped using
+"<code>&amp;lt;</code>" and "<code>&amp;amp;</code>". CDATA sections
+cannot nest.</termdef>
+</p>
+
+<p>An example of a CDATA section, in which "<code>&lt;greeting></code>" and
+"<code>&lt;/greeting></code>"
+are recognized as <termref def='dt-chardata'>character data</termref>, not
+<termref def='dt-markup'>markup</termref>:
+<eg>&lt;![CDATA[&lt;greeting>Hello, world!&lt;/greeting>]]&gt;</eg>
+</p>
+</div2>
+
+<div2 id='sec-prolog-dtd'>
+<head>Prolog and Document Type Declaration</head>
+
+<p><termdef id='dt-xmldecl' term='XML Declaration'>XML documents
+may, and should,
+begin with an <term>XML declaration</term> which specifies
+the version of
+XML being used.</termdef>
+For example, the following is a complete XML document, <termref
+def="dt-wellformed">well-formed</termref> but not
+<termref def="dt-valid">valid</termref>:
+<eg><![CDATA[<?xml version="1.0"?>
+<greeting>Hello, world!</greeting>
+]]></eg>
+and so is this:
+<eg><![CDATA[<greeting>Hello, world!</greeting>
+]]></eg>
+</p>
+
+<p>The version number "<code>1.0</code>" should be used to indicate
+conformance to this version of this specification; it is an error
+for a document to use the value "<code>1.0</code>"
+if it does not conform to this version of this specification.
+It is the intent
+of the XML working group to give later versions of this specification
+numbers other than "<code>1.0</code>", but this intent does not
+indicate a
+commitment to produce any future versions of XML, nor if any are produced, to
+use any particular numbering scheme.
+Since future versions are not ruled out, this construct is provided
+as a means to allow the possibility of automatic version recognition, should
+it become necessary.
+Processors may signal an error if they receive documents labeled with
+versions they do not support.
+</p>
+<p>The function of the markup in an XML document is to describe its
+storage and logical structure and to associate attribute-value pairs
+with its logical structures. XML provides a mechanism, the <termref
+def="dt-doctype">document type declaration</termref>, to define
+constraints on the logical structure and to support the use of
+predefined storage units.
+
+<termdef id="dt-valid" term="Validity">An XML document is
+<term>valid</term> if it has an associated document type
+declaration and if the document
+complies with the constraints expressed in it.</termdef></p>
+<p>The document type declaration must appear before
+the first <termref def="dt-element">element</termref> in the document.
+<scrap lang="ebnf" id='xmldoc'>
+<head>Prolog</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-prolog'><lhs>prolog</lhs>
+<rhs><nt def='NT-XMLDecl'>XMLDecl</nt>?
+<nt def='NT-Misc'>Misc</nt>*
+(<nt def='NT-doctypedecl'>doctypedecl</nt>
+<nt def='NT-Misc'>Misc</nt>*)?</rhs></prod>
+<prod id='NT-XMLDecl'><lhs>XMLDecl</lhs>
+<rhs>&xmlpio;
+<nt def='NT-VersionInfo'>VersionInfo</nt>
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>?
+<nt def='NT-SDDecl'>SDDecl</nt>?
+<nt def="NT-S">S</nt>?
+&pic;</rhs>
+</prod>
+<prod id='NT-VersionInfo'><lhs>VersionInfo</lhs>
+<rhs><nt def="NT-S">S</nt> 'version' <nt def='NT-Eq'>Eq</nt>
+(' <nt def="NT-VersionNum">VersionNum</nt> '
+| " <nt def="NT-VersionNum">VersionNum</nt> ")</rhs>
+</prod>
+<prod id='NT-Eq'><lhs>Eq</lhs>
+<rhs><nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?</rhs></prod>
+<prod id="NT-VersionNum">
+<lhs>VersionNum</lhs>
+<rhs>([a-zA-Z0-9_.:] | '-')+</rhs>
+</prod>
+<prod id='NT-Misc'><lhs>Misc</lhs>
+<rhs><nt def='NT-Comment'>Comment</nt> | <nt def='NT-PI'>PI</nt> |
+<nt def='NT-S'>S</nt></rhs></prod>
+</prodgroup>
+</scrap></p>
+
+<p><termdef id="dt-doctype" term="Document Type Declaration">The XML
+<term>document type declaration</term>
+contains or points to
+<termref def='dt-markupdecl'>markup declarations</termref>
+that provide a grammar for a
+class of documents.
+This grammar is known as a document type definition,
+or <term>DTD</term>.
+The document type declaration can point to an external subset (a
+special kind of
+<termref def='dt-extent'>external entity</termref>) containing markup
+declarations, or can
+contain the markup declarations directly in an internal subset, or can do
+both.
+The DTD for a document consists of both subsets taken
+together.</termdef>
+</p>
+<p><termdef id="dt-markupdecl" term="markup declaration">
+A <term>markup declaration</term> is
+an <termref def="dt-eldecl">element type declaration</termref>,
+an <termref def="dt-attdecl">attribute-list declaration</termref>,
+an <termref def="dt-entdecl">entity declaration</termref>, or
+a <termref def="dt-notdecl">notation declaration</termref>.
+</termdef>
+These declarations may be contained in whole or in part
+within <termref def='dt-PE'>parameter entities</termref>,
+as described in the well-formedness and validity constraints below.
+For fuller information, see
+<specref ref="sec-physical-struct"/>.</p>
+<scrap lang="ebnf" id='dtd'>
+<head>Document Type Definition</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-doctypedecl'><lhs>doctypedecl</lhs>
+<rhs>'&lt;!DOCTYPE' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt>
+<nt def='NT-ExternalID'>ExternalID</nt>)?
+<nt def='NT-S'>S</nt>? ('['
+(<nt def='NT-markupdecl'>markupdecl</nt>
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-S'>S</nt>)*
+']'
+<nt def='NT-S'>S</nt>?)? '>'</rhs>
+<vc def="vc-roottype"/>
+</prod>
+<prod id='NT-markupdecl'><lhs>markupdecl</lhs>
+<rhs><nt def='NT-elementdecl'>elementdecl</nt>
+| <nt def='NT-AttlistDecl'>AttlistDecl</nt>
+| <nt def='NT-EntityDecl'>EntityDecl</nt>
+| <nt def='NT-NotationDecl'>NotationDecl</nt>
+| <nt def='NT-PI'>PI</nt>
+| <nt def='NT-Comment'>Comment</nt>
+</rhs>
+<vc def='vc-PEinMarkupDecl'/>
+<wfc def="wfc-PEinInternalSubset"/>
+</prod>
+
+</prodgroup>
+</scrap>
+
+<p>The markup declarations may be made up in whole or in part of
+the <termref def='dt-repltext'>replacement text</termref> of
+<termref def='dt-PE'>parameter entities</termref>.
+The productions later in this specification for
+individual nonterminals (<nt def='NT-elementdecl'>elementdecl</nt>,
+<nt def='NT-AttlistDecl'>AttlistDecl</nt>, and so on) describe
+the declarations <emph>after</emph> all the parameter entities have been
+<termref def='dt-include'>included</termref>.</p>
+
+<vcnote id="vc-roottype">
+<head>Root Element Type</head>
+<p>
+The <nt def='NT-Name'>Name</nt> in the document type declaration must
+match the element type of the <termref def='dt-root'>root element</termref>.
+</p>
+</vcnote>
+
+<vcnote id='vc-PEinMarkupDecl'>
+<head>Proper Declaration/PE Nesting</head>
+<p>Parameter-entity
+<termref def='dt-repltext'>replacement text</termref> must be properly nested
+with markup declarations.
+That is to say, if either the first character
+or the last character of a markup
+declaration (<nt def='NT-markupdecl'>markupdecl</nt> above)
+is contained in the replacement text for a
+<termref def='dt-PERef'>parameter-entity reference</termref>,
+both must be contained in the same replacement text.</p>
+</vcnote>
+<wfcnote id="wfc-PEinInternalSubset">
+<head>PEs in Internal Subset</head>
+<p>In the internal DTD subset,
+<termref def='dt-PERef'>parameter-entity references</termref>
+can occur only where markup declarations can occur, not
+within markup declarations. (This does not apply to
+references that occur in
+external parameter entities or to the external subset.)
+</p>
+</wfcnote>
+<p>
+Like the internal subset, the external subset and
+any external parameter entities referred to in the DTD
+must consist of a series of complete markup declarations of the types
+allowed by the non-terminal symbol
+<nt def="NT-markupdecl">markupdecl</nt>, interspersed with white space
+or <termref def="dt-PERef">parameter-entity references</termref>.
+However, portions of the contents
+of the
+external subset or of external parameter entities may conditionally be ignored
+by using
+the <termref def="dt-cond-section">conditional section</termref>
+construct; this is not allowed in the internal subset.
+
+<scrap id="ext-Subset">
+<head>External Subset</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-extSubset'><lhs>extSubset</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-extSubsetDecl'>extSubsetDecl</nt></rhs></prod>
+<prod id='NT-extSubsetDecl'><lhs>extSubsetDecl</lhs>
+<rhs>(
+<nt def='NT-markupdecl'>markupdecl</nt>
+| <nt def='NT-conditionalSect'>conditionalSect</nt>
+| <nt def='NT-PEReference'>PEReference</nt>
+| <nt def='NT-S'>S</nt>
+)*</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>The external subset and external parameter entities also differ
+from the internal subset in that in them,
+<termref def="dt-PERef">parameter-entity references</termref>
+are permitted <emph>within</emph> markup declarations,
+not only <emph>between</emph> markup declarations.</p>
+<p>An example of an XML document with a document type declaration:
+<eg><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE greeting SYSTEM "hello.dtd">
+<greeting>Hello, world!</greeting>
+]]></eg>
+The <termref def="dt-sysid">system identifier</termref>
+"<code>hello.dtd</code>" gives the URI of a DTD for the document.</p>
+<p>The declarations can also be given locally, as in this
+example:
+<eg><![CDATA[<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE greeting [
+ <!ELEMENT greeting (#PCDATA)>
+]>
+<greeting>Hello, world!</greeting>
+]]></eg>
+If both the external and internal subsets are used, the
+internal subset is considered to occur before the external subset.
+<!-- 'is considered to'? boo. whazzat mean? -->
+This has the effect that entity and attribute-list declarations in the
+internal subset take precedence over those in the external subset.
+</p>
+</div2>
+
+<div2 id='sec-rmd'>
+<head>Standalone Document Declaration</head>
+<p>Markup declarations can affect the content of the document,
+as passed from an <termref def="dt-xml-proc">XML processor</termref>
+to an application; examples are attribute defaults and entity
+declarations.
+The standalone document declaration,
+which may appear as a component of the XML declaration, signals
+whether or not there are such declarations which appear external to
+the <termref def='dt-docent'>document entity</termref>.
+<scrap lang="ebnf" id='fulldtd'>
+<head>Standalone Document Declaration</head>
+<prodgroup pcw2="4" pcw4="19.5" pcw5="9">
+<prod id='NT-SDDecl'><lhs>SDDecl</lhs>
+<rhs>
+<nt def="NT-S">S</nt>
+'standalone' <nt def='NT-Eq'>Eq</nt>
+(("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"'))
+</rhs>
+<vc def='vc-check-rmd'/></prod>
+</prodgroup>
+</scrap></p>
+<p>
+In a standalone document declaration, the value "<code>yes</code>" indicates
+that there
+are no markup declarations external to the <termref def='dt-docent'>document
+entity</termref> (either in the DTD external subset, or in an
+external parameter entity referenced from the internal subset)
+which affect the information passed from the XML processor to
+the application.
+The value "<code>no</code>" indicates that there are or may be such
+external markup declarations.
+Note that the standalone document declaration only
+denotes the presence of external <emph>declarations</emph>; the presence, in a
+document, of
+references to external <emph>entities</emph>, when those entities are
+internally declared,
+does not change its standalone status.</p>
+<p>If there are no external markup declarations, the standalone document
+declaration has no meaning.
+If there are external markup declarations but there is no standalone
+document declaration, the value "<code>no</code>" is assumed.</p>
+<p>Any XML document for which <code>standalone="no"</code> holds can
+be converted algorithmically to a standalone document,
+which may be desirable for some network delivery applications.</p>
+<vcnote id='vc-check-rmd'>
+<head>Standalone Document Declaration</head>
+<p>The standalone document declaration must have
+the value "<code>no</code>" if any external markup declarations
+contain declarations of:</p><ulist>
+<item><p>attributes with <termref def="dt-default">default</termref> values, if
+elements to which
+these attributes apply appear in the document without
+specifications of values for these attributes, or</p></item>
+<item><p>entities (other than &magicents;),
+if <termref def="dt-entref">references</termref> to those
+entities appear in the document, or</p>
+</item>
+<item><p>attributes with values subject to
+<titleref href='AVNormalize'>normalization</titleref>, where the
+attribute appears in the document with a value which will
+change as a result of normalization, or</p>
+</item>
+<item>
+<p>element types with <termref def="dt-elemcontent">element content</termref>,
+if white space occurs
+directly within any instance of those types.
+</p></item>
+</ulist>
+
+</vcnote>
+<p>An example XML declaration with a standalone document declaration:<eg
+>&lt;?xml version="&XML.version;" standalone='yes'?></eg></p>
+</div2>
+<div2 id='sec-white-space'>
+<head>White Space Handling</head>
+
+<p>In editing XML documents, it is often convenient to use "white space"
+(spaces, tabs, and blank lines, denoted by the nonterminal
+<nt def='NT-S'>S</nt> in this specification) to
+set apart the markup for greater readability. Such white space is typically
+not intended for inclusion in the delivered version of the document.
+On the other hand, "significant" white space that should be preserved in the
+delivered version is common, for example in poetry and
+source code.</p>
+<p>An <termref def='dt-xml-proc'>XML processor</termref>
+must always pass all characters in a document that are not
+markup through to the application. A <termref def='dt-validating'>
+validating XML processor</termref> must also inform the application
+which of these characters constitute white space appearing
+in <termref def="dt-elemcontent">element content</termref>.
+</p>
+<p>A special <termref def='dt-attr'>attribute</termref>
+named <kw>xml:space</kw> may be attached to an element
+to signal an intention that in that element,
+white space should be preserved by applications.
+In valid documents, this attribute, like any other, must be
+<termref def="dt-attdecl">declared</termref> if it is used.
+When declared, it must be given as an
+<termref def='dt-enumerated'>enumerated type</termref> whose only
+possible values are "<code>default</code>" and "<code>preserve</code>".
+For example:<eg><![CDATA[ <!ATTLIST poem xml:space (default|preserve) 'preserve'>]]></eg></p>
+<p>The value "<code>default</code>" signals that applications'
+default white-space processing modes are acceptable for this element; the
+value "<code>preserve</code>" indicates the intent that applications preserve
+all the white space.
+This declared intent is considered to apply to all elements within the content
+of the element where it is specified, unless overriden with another instance
+of the <kw>xml:space</kw> attribute.
+</p>
+<p>The <termref def='dt-root'>root element</termref> of any document
+is considered to have signaled no intentions as regards application space
+handling, unless it provides a value for
+this attribute or the attribute is declared with a default value.
+</p>
+
+</div2>
+<div2 id='sec-line-ends'>
+<head>End-of-Line Handling</head>
+<p>XML <termref def='dt-parsedent'>parsed entities</termref> are often stored in
+computer files which, for editing convenience, are organized into lines.
+These lines are typically separated by some combination of the characters
+carriage-return (#xD) and line-feed (#xA).</p>
+<p>To simplify the tasks of <termref def='dt-app'>applications</termref>,
+wherever an external parsed entity or the literal entity value
+of an internal parsed entity contains either the literal
+two-character sequence "#xD#xA" or a standalone literal
+#xD, an <termref def='dt-xml-proc'>XML processor</termref> must
+pass to the application the single character #xA.
+(This behavior can
+conveniently be produced by normalizing all
+line breaks to #xA on input, before parsing.)
+</p>
+</div2>
+<div2 id='sec-lang-tag'>
+<head>Language Identification</head>
+<p>In document processing, it is often useful to
+identify the natural or formal language
+in which the content is
+written.
+A special <termref def="dt-attr">attribute</termref> named
+<kw>xml:lang</kw> may be inserted in
+documents to specify the
+language used in the contents and attribute values
+of any element in an XML document.
+In valid documents, this attribute, like any other, must be
+<termref def="dt-attdecl">declared</termref> if it is used.
+The values of the attribute are language identifiers as defined
+by <bibref ref="RFC1766"/>, "Tags for the Identification of Languages":
+<scrap lang='ebnf'>
+<head>Language Identification</head>
+<prod id='NT-LanguageID'><lhs>LanguageID</lhs>
+<rhs><nt def='NT-Langcode'>Langcode</nt>
+('-' <nt def='NT-Subcode'>Subcode</nt>)*</rhs></prod>
+<prod id='NT-Langcode'><lhs>Langcode</lhs>
+<rhs><nt def='NT-ISO639Code'>ISO639Code</nt> |
+<nt def='NT-IanaCode'>IanaCode</nt> |
+<nt def='NT-UserCode'>UserCode</nt></rhs>
+</prod>
+<prod id='NT-ISO639Code'><lhs>ISO639Code</lhs>
+<rhs>([a-z] | [A-Z]) ([a-z] | [A-Z])</rhs></prod>
+<prod id='NT-IanaCode'><lhs>IanaCode</lhs>
+<rhs>('i' | 'I') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-UserCode'><lhs>UserCode</lhs>
+<rhs>('x' | 'X') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-Subcode'><lhs>Subcode</lhs>
+<rhs>([a-z] | [A-Z])+</rhs></prod>
+</scrap>
+The <nt def='NT-Langcode'>Langcode</nt> may be any of the following:
+<ulist>
+<item><p>a two-letter language code as defined by
+<bibref ref="ISO639"/>, "Codes
+for the representation of names of languages"</p></item>
+<item><p>a language identifier registered with the Internet
+Assigned Numbers Authority <bibref ref='IANA'/>; these begin with the
+prefix "<code>i-</code>" (or "<code>I-</code>")</p></item>
+<item><p>a language identifier assigned by the user, or agreed on
+between parties in private use; these must begin with the
+prefix "<code>x-</code>" or "<code>X-</code>" in order to ensure that they do not conflict
+with names later standardized or registered with IANA</p></item>
+</ulist></p>
+<p>There may be any number of <nt def='NT-Subcode'>Subcode</nt> segments; if
+the first
+subcode segment exists and the Subcode consists of two
+letters, then it must be a country code from
+<bibref ref="ISO3166"/>, "Codes
+for the representation of names of countries."
+If the first
+subcode consists of more than two letters, it must be
+a subcode for the language in question registered with IANA,
+unless the <nt def='NT-Langcode'>Langcode</nt> begins with the prefix
+"<code>x-</code>" or
+"<code>X-</code>". </p>
+<p>It is customary to give the language code in lower case, and
+the country code (if any) in upper case.
+Note that these values, unlike other names in XML documents,
+are case insensitive.</p>
+<p>For example:
+<eg><![CDATA[<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p>
+<p xml:lang="en-GB">What colour is it?</p>
+<p xml:lang="en-US">What color is it?</p>
+<sp who="Faust" desc='leise' xml:lang="de">
+ <l>Habe nun, ach! Philosophie,</l>
+ <l>Juristerei, und Medizin</l>
+ <l>und leider auch Theologie</l>
+ <l>durchaus studiert mit heißem Bemüh'n.</l>
+ </sp>]]></eg></p>
+<!--<p>The xml:lang value is considered to apply both to the contents of an
+element and
+(unless otherwise via attribute default values) to the
+values of all of its attributes with free-text (CDATA) values. -->
+<p>The intent declared with <kw>xml:lang</kw> is considered to apply to
+all attributes and content of the element where it is specified,
+unless overridden with an instance of <kw>xml:lang</kw>
+on another element within that content.</p>
+<!--
+If no
+value is specified for xml:lang on an element, and no default value is
+defined for it in the DTD, then the xml:lang attribute of any element
+takes the same value it has in the parent element, if any. The two
+technical terms in the following example both have the same effective
+value for xml:lang:
+
+ <p xml:lang="en">Here the keywords are
+ <term xml:lang="en">shift</term> and
+ <term>reduce</term>. ...</p>
+
+The application, not the XML processor, is responsible for this '
+inheritance' of attribute values.
+-->
+<p>A simple declaration for <kw>xml:lang</kw> might take
+the form
+<eg>xml:lang NMTOKEN #IMPLIED</eg>
+but specific default values may also be given, if appropriate. In a
+collection of French poems for English students, with glosses and
+notes in English, the xml:lang attribute might be declared this way:
+<eg><![CDATA[ <!ATTLIST poem xml:lang NMTOKEN 'fr'>
+ <!ATTLIST gloss xml:lang NMTOKEN 'en'>
+ <!ATTLIST note xml:lang NMTOKEN 'en'>]]></eg>
+</p>
+
+</div2>
+</div1>
+<!-- &Elements; -->
+
+<div1 id='sec-logical-struct'>
+<head>Logical Structures</head>
+
+<p><termdef id="dt-element" term="Element">Each <termref
+def="dt-xml-doc">XML document</termref> contains one or more
+<term>elements</term>, the boundaries of which are
+either delimited by <termref def="dt-stag">start-tags</termref>
+and <termref def="dt-etag">end-tags</termref>, or, for <termref
+def="dt-empty">empty</termref> elements, by an <termref
+def="dt-eetag">empty-element tag</termref>. Each element has a type,
+identified by name, sometimes called its "generic
+identifier" (GI), and may have a set of
+attribute specifications.</termdef> Each attribute specification
+has a <termref
+def="dt-attrname">name</termref> and a <termref
+def="dt-attrval">value</termref>.
+</p>
+<scrap lang='ebnf'><head>Element</head>
+<prod id='NT-element'><lhs>element</lhs>
+<rhs><nt def='NT-EmptyElemTag'>EmptyElemTag</nt></rhs>
+<rhs>| <nt def='NT-STag'>STag</nt> <nt def='NT-content'>content</nt>
+<nt def='NT-ETag'>ETag</nt></rhs>
+<wfc def='GIMatch'/>
+<vc def='elementvalid'/>
+</prod>
+</scrap>
+<p>This specification does not constrain the semantics, use, or (beyond
+syntax) names of the element types and attributes, except that names
+beginning with a match to <code>(('X'|'x')('M'|'m')('L'|'l'))</code>
+are reserved for standardization in this or future versions of this
+specification.
+</p>
+<wfcnote id='GIMatch'>
+<head>Element Type Match</head>
+<p>
+The <nt def='NT-Name'>Name</nt> in an element's end-tag must match
+the element type in
+the start-tag.
+</p>
+</wfcnote>
+<vcnote id='elementvalid'>
+<head>Element Valid</head>
+<p>An element is
+valid if
+there is a declaration matching
+<nt def='NT-elementdecl'>elementdecl</nt> where the
+<nt def='NT-Name'>Name</nt> matches the element type, and
+one of the following holds:</p>
+<olist>
+<item><p>The declaration matches <kw>EMPTY</kw> and the element has no
+<termref def='dt-content'>content</termref>.</p></item>
+<item><p>The declaration matches <nt def='NT-children'>children</nt> and
+the sequence of
+<termref def="dt-parentchild">child elements</termref>
+belongs to the language generated by the regular expression in
+the content model, with optional white space (characters
+matching the nonterminal <nt def='NT-S'>S</nt>) between each pair
+of child elements.</p></item>
+<item><p>The declaration matches <nt def='NT-Mixed'>Mixed</nt> and
+the content consists of <termref def='dt-chardata'>character
+data</termref> and <termref def='dt-parentchild'>child elements</termref>
+whose types match names in the content model.</p></item>
+<item><p>The declaration matches <kw>ANY</kw>, and the types
+of any <termref def='dt-parentchild'>child elements</termref> have
+been declared.</p></item>
+</olist>
+</vcnote>
+
+<div2 id='sec-starttags'>
+<head>Start-Tags, End-Tags, and Empty-Element Tags</head>
+
+<p><termdef id="dt-stag" term="Start-Tag">The beginning of every
+non-empty XML element is marked by a <term>start-tag</term>.
+<scrap lang='ebnf'>
+<head>Start-tag</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-STag'><lhs>STag</lhs>
+<rhs>'&lt;' <nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)*
+<nt def='NT-S'>S</nt>? '>'</rhs>
+<wfc def="uniqattspec"/>
+</prod>
+<prod id='NT-Attribute'><lhs>Attribute</lhs>
+<rhs><nt def='NT-Name'>Name</nt> <nt def='NT-Eq'>Eq</nt>
+<nt def='NT-AttValue'>AttValue</nt></rhs>
+<vc def='ValueType'/>
+<wfc def='NoExternalRefs'/>
+<wfc def='CleanAttrVals'/></prod>
+</prodgroup>
+</scrap>
+The <nt def='NT-Name'>Name</nt> in
+the start- and end-tags gives the
+element's <term>type</term>.</termdef>
+<termdef id="dt-attr" term="Attribute">
+The <nt def='NT-Name'>Name</nt>-<nt def='NT-AttValue'>AttValue</nt> pairs are
+referred to as
+the <term>attribute specifications</term> of the element</termdef>,
+<termdef id="dt-attrname" term="Attribute Name">with the
+<nt def='NT-Name'>Name</nt> in each pair
+referred to as the <term>attribute name</term></termdef> and
+<termdef id="dt-attrval" term="Attribute Value">the content of the
+<nt def='NT-AttValue'>AttValue</nt> (the text between the
+<code>'</code> or <code>"</code> delimiters)
+as the <term>attribute value</term>.</termdef>
+</p>
+<wfcnote id='uniqattspec'>
+<head>Unique Att Spec</head>
+<p>
+No attribute name may appear more than once in the same start-tag
+or empty-element tag.
+</p>
+</wfcnote>
+<vcnote id='ValueType'>
+<head>Attribute Value Type</head>
+<p>
+The attribute must have been declared; the value must be of the type
+declared for it.
+(For attribute types, see <specref ref='attdecls'/>.)
+</p>
+</vcnote>
+<wfcnote id='NoExternalRefs'>
+<head>No External Entity References</head>
+<p>
+Attribute values cannot contain direct or indirect entity references
+to external entities.
+</p>
+</wfcnote>
+<wfcnote id='CleanAttrVals'>
+<head>No <code>&lt;</code> in Attribute Values</head>
+<p>The <termref def='dt-repltext'>replacement text</termref> of any entity
+referred to directly or indirectly in an attribute
+value (other than "<code>&amp;lt;</code>") must not contain
+a <code>&lt;</code>.
+</p></wfcnote>
+<p>An example of a start-tag:
+<eg>&lt;termdef id="dt-dog" term="dog"></eg></p>
+<p><termdef id="dt-etag" term="End Tag">The end of every element
+that begins with a start-tag must
+be marked by an <term>end-tag</term>
+containing a name that echoes the element's type as given in the
+start-tag:
+<scrap lang='ebnf'>
+<head>End-tag</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-ETag'><lhs>ETag</lhs>
+<rhs>'&lt;/' <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>? '>'</rhs></prod>
+</prodgroup>
+</scrap>
+</termdef></p>
+<p>An example of an end-tag:<eg>&lt;/termdef></eg></p>
+<p><termdef id="dt-content" term="Content">The
+<termref def='dt-text'>text</termref> between the start-tag and
+end-tag is called the element's
+<term>content</term>:
+<scrap lang='ebnf'>
+<head>Content of Elements</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-content'><lhs>content</lhs>
+<rhs>(<nt def='NT-element'>element</nt> | <nt def='NT-CharData'>CharData</nt>
+| <nt def='NT-Reference'>Reference</nt> | <nt def='NT-CDSect'>CDSect</nt>
+| <nt def='NT-PI'>PI</nt> | <nt def='NT-Comment'>Comment</nt>)*</rhs>
+</prod>
+</prodgroup>
+</scrap>
+</termdef></p>
+<p><termdef id="dt-empty" term="Empty">If an element is <term>empty</term>,
+it must be represented either by a start-tag immediately followed
+by an end-tag or by an empty-element tag.</termdef>
+<termdef id="dt-eetag" term="empty-element tag">An
+<term>empty-element tag</term> takes a special form:
+<scrap lang='ebnf'>
+<head>Tags for Empty Elements</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-EmptyElemTag'><lhs>EmptyElemTag</lhs>
+<rhs>'&lt;' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt>
+<nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>?
+'/&gt;'</rhs>
+<wfc def="uniqattspec"/>
+</prod>
+</prodgroup>
+</scrap>
+</termdef></p>
+<p>Empty-element tags may be used for any element which has no
+content, whether or not it is declared using the keyword
+<kw>EMPTY</kw>.
+<termref def='dt-interop'>For interoperability</termref>, the empty-element
+tag must be used, and can only be used, for elements which are
+<termref def='dt-eldecl'>declared</termref> <kw>EMPTY</kw>.</p>
+<p>Examples of empty elements:
+<eg>&lt;IMG align="left"
+ src="http://www.w3.org/Icons/WWW/w3c_home" />
+&lt;br>&lt;/br>
+&lt;br/></eg></p>
+</div2>
+
+<div2 id='elemdecls'>
+<head>Element Type Declarations</head>
+
+<p>The <termref def="dt-element">element</termref> structure of an
+<termref def="dt-xml-doc">XML document</termref> may, for
+<termref def="dt-valid">validation</termref> purposes,
+be constrained
+using element type and attribute-list declarations.
+An element type declaration constrains the element's
+<termref def="dt-content">content</termref>.
+</p>
+
+<p>Element type declarations often constrain which element types can
+appear as <termref def="dt-parentchild">children</termref> of the element.
+At user option, an XML processor may issue a warning
+when a declaration mentions an element type for which no declaration
+is provided, but this is not an error.</p>
+<p><termdef id="dt-eldecl" term="Element Type declaration">An <term>element
+type declaration</term> takes the form:
+<scrap lang='ebnf'>
+<head>Element Type Declaration</head>
+<prodgroup pcw2="5.5" pcw4="18" pcw5="9">
+<prod id='NT-elementdecl'><lhs>elementdecl</lhs>
+<rhs>'&lt;!ELEMENT' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>
+<nt def='NT-contentspec'>contentspec</nt>
+<nt def='NT-S'>S</nt>? '>'</rhs>
+<vc def='EDUnique'/></prod>
+<prod id='NT-contentspec'><lhs>contentspec</lhs>
+<rhs>'EMPTY'
+| 'ANY'
+| <nt def='NT-Mixed'>Mixed</nt>
+| <nt def='NT-children'>children</nt>
+</rhs>
+</prod>
+</prodgroup>
+</scrap>
+where the <nt def='NT-Name'>Name</nt> gives the element type
+being declared.</termdef>
+</p>
+
+<vcnote id='EDUnique'>
+<head>Unique Element Type Declaration</head>
+<p>
+No element type may be declared more than once.
+</p>
+</vcnote>
+
+<p>Examples of element type declarations:
+<eg>&lt;!ELEMENT br EMPTY>
+&lt;!ELEMENT p (#PCDATA|emph)* >
+&lt;!ELEMENT %name.para; %content.para; >
+&lt;!ELEMENT container ANY></eg></p>
+
+<div3 id='sec-element-content'>
+<head>Element Content</head>
+
+<p><termdef id='dt-elemcontent' term='Element content'>An element <termref
+def="dt-stag">type</termref> has
+<term>element content</term> when elements of that
+type must contain only <termref def='dt-parentchild'>child</termref>
+elements (no character data), optionally separated by
+white space (characters matching the nonterminal
+<nt def='NT-S'>S</nt>).
+</termdef>
+In this case, the
+constraint includes a content model, a simple grammar governing
+the allowed types of the child
+elements and the order in which they are allowed to appear.
+The grammar is built on
+content particles (<nt def='NT-cp'>cp</nt>s), which consist of names,
+choice lists of content particles, or
+sequence lists of content particles:
+<scrap lang='ebnf'>
+<head>Element-content Models</head>
+<prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-children'><lhs>children</lhs>
+<rhs>(<nt def='NT-choice'>choice</nt>
+| <nt def='NT-seq'>seq</nt>)
+('?' | '*' | '+')?</rhs></prod>
+<prod id='NT-cp'><lhs>cp</lhs>
+<rhs>(<nt def='NT-Name'>Name</nt>
+| <nt def='NT-choice'>choice</nt>
+| <nt def='NT-seq'>seq</nt>)
+('?' | '*' | '+')?</rhs></prod>
+<prod id='NT-choice'><lhs>choice</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>? cp
+( <nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*
+<nt def='NT-S'>S</nt>? ')'</rhs>
+<vc def='vc-PEinGroup'/></prod>
+<prod id='NT-seq'><lhs>seq</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>? cp
+( <nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*
+<nt def='NT-S'>S</nt>? ')'</rhs>
+<vc def='vc-PEinGroup'/></prod>
+
+</prodgroup>
+</scrap>
+where each <nt def='NT-Name'>Name</nt> is the type of an element which may
+appear as a <termref def="dt-parentchild">child</termref>.
+Any content
+particle in a choice list may appear in the <termref
+def="dt-elemcontent">element content</termref> at the location where
+the choice list appears in the grammar;
+content particles occurring in a sequence list must each
+appear in the <termref def="dt-elemcontent">element content</termref> in the
+order given in the list.
+The optional character following a name or list governs
+whether the element or the content particles in the list may occur one
+or more (<code>+</code>), zero or more (<code>*</code>), or zero or
+one times (<code>?</code>).
+The absence of such an operator means that the element or content particle
+must appear exactly once.
+This syntax
+and meaning are identical to those used in the productions in this
+specification.</p>
+<p>
+The content of an element matches a content model if and only if it is
+possible to trace out a path through the content model, obeying the
+sequence, choice, and repetition operators and matching each element in
+the content against an element type in the content model. <termref
+def='dt-compat'>For compatibility</termref>, it is an error
+if an element in the document can
+match more than one occurrence of an element type in the content model.
+For more information, see <specref ref="determinism"/>.
+<!-- appendix <specref ref="determinism"/>. -->
+<!-- appendix on deterministic content models. -->
+</p>
+<vcnote id='vc-PEinGroup'>
+<head>Proper Group/PE Nesting</head>
+<p>Parameter-entity
+<termref def='dt-repltext'>replacement text</termref> must be properly nested
+with parenthetized groups.
+That is to say, if either of the opening or closing parentheses
+in a <nt def='NT-choice'>choice</nt>, <nt def='NT-seq'>seq</nt>, or
+<nt def='NT-Mixed'>Mixed</nt> construct
+is contained in the replacement text for a
+<termref def='dt-PERef'>parameter entity</termref>,
+both must be contained in the same replacement text.</p>
+<p><termref def='dt-interop'>For interoperability</termref>,
+if a parameter-entity reference appears in a
+<nt def='NT-choice'>choice</nt>, <nt def='NT-seq'>seq</nt>, or
+<nt def='NT-Mixed'>Mixed</nt> construct, its replacement text
+should not be empty, and
+neither the first nor last non-blank
+character of the replacement text should be a connector
+(<code>|</code> or <code>,</code>).
+</p>
+</vcnote>
+<p>Examples of element-content models:
+<eg>&lt;!ELEMENT spec (front, body, back?)>
+&lt;!ELEMENT div1 (head, (p | list | note)*, div2*)>
+&lt;!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*></eg></p>
+</div3>
+
+<div3 id='sec-mixed-content'>
+<head>Mixed Content</head>
+
+<p><termdef id='dt-mixed' term='Mixed Content'>An element
+<termref def='dt-stag'>type</termref> has
+<term>mixed content</term> when elements of that type may contain
+character data, optionally interspersed with
+<termref def="dt-parentchild">child</termref> elements.</termdef>
+In this case, the types of the child elements
+may be constrained, but not their order or their number of occurrences:
+<scrap lang='ebnf'>
+<head>Mixed-content Declaration</head>
+<prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-Mixed'><lhs>Mixed</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>?
+'#PCDATA'
+(<nt def='NT-S'>S</nt>?
+'|'
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Name'>Name</nt>)*
+<nt def='NT-S'>S</nt>?
+')*' </rhs>
+<rhs>| '(' <nt def='NT-S'>S</nt>? '#PCDATA' <nt def='NT-S'>S</nt>? ')'
+</rhs><vc def='vc-PEinGroup'/>
+<vc def='vc-MixedChildrenUnique'/>
+</prod>
+
+</prodgroup>
+</scrap>
+where the <nt def='NT-Name'>Name</nt>s give the types of elements
+that may appear as children.
+</p>
+<vcnote id='vc-MixedChildrenUnique'>
+<head>No Duplicate Types</head>
+<p>The same name must not appear more than once in a single mixed-content
+declaration.
+</p></vcnote>
+<p>Examples of mixed content declarations:
+<eg>&lt;!ELEMENT p (#PCDATA|a|ul|b|i|em)*>
+&lt;!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* >
+&lt;!ELEMENT b (#PCDATA)></eg></p>
+</div3>
+</div2>
+
+<div2 id='attdecls'>
+<head>Attribute-List Declarations</head>
+
+<p><termref def="dt-attr">Attributes</termref> are used to associate
+name-value pairs with <termref def="dt-element">elements</termref>.
+Attribute specifications may appear only within <termref
+def="dt-stag">start-tags</termref>
+and <termref def="dt-eetag">empty-element tags</termref>;
+thus, the productions used to
+recognize them appear in <specref ref='sec-starttags'/>.
+Attribute-list
+declarations may be used:
+<ulist>
+<item><p>To define the set of attributes pertaining to a given
+element type.</p></item>
+<item><p>To establish type constraints for these
+attributes.</p></item>
+<item><p>To provide <termref def="dt-default">default values</termref>
+for attributes.</p></item>
+</ulist>
+</p>
+<p><termdef id="dt-attdecl" term="Attribute-List Declaration">
+<term>Attribute-list declarations</term> specify the name, data type, and default
+value (if any) of each attribute associated with a given element type:
+<scrap lang='ebnf'>
+<head>Attribute-list Declaration</head>
+<prod id='NT-AttlistDecl'><lhs>AttlistDecl</lhs>
+<rhs>'&lt;!ATTLIST' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt>
+<nt def='NT-AttDef'>AttDef</nt>*
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+</prod>
+<prod id='NT-AttDef'><lhs>AttDef</lhs>
+<rhs><nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-AttType'>AttType</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-DefaultDecl'>DefaultDecl</nt></rhs>
+</prod>
+</scrap>
+The <nt def="NT-Name">Name</nt> in the
+<nt def='NT-AttlistDecl'>AttlistDecl</nt> rule is the type of an element. At
+user option, an XML processor may issue a warning if attributes are
+declared for an element type not itself declared, but this is not an
+error. The <nt def='NT-Name'>Name</nt> in the
+<nt def='NT-AttDef'>AttDef</nt> rule is
+the name of the attribute.</termdef></p>
+<p>
+When more than one <nt def='NT-AttlistDecl'>AttlistDecl</nt> is provided for a
+given element type, the contents of all those provided are merged. When
+more than one definition is provided for the same attribute of a
+given element type, the first declaration is binding and later
+declarations are ignored.
+<termref def='dt-interop'>For interoperability,</termref> writers of DTDs
+may choose to provide at most one attribute-list declaration
+for a given element type, at most one attribute definition
+for a given attribute name, and at least one attribute definition
+in each attribute-list declaration.
+For interoperability, an XML processor may at user option
+issue a warning when more than one attribute-list declaration is
+provided for a given element type, or more than one attribute definition
+is provided
+for a given attribute, but this is not an error.
+</p>
+
+<div3 id='sec-attribute-types'>
+<head>Attribute Types</head>
+
+<p>XML attribute types are of three kinds: a string type, a
+set of tokenized types, and enumerated types. The string type may take
+any literal string as a value; the tokenized types have varying lexical
+and semantic constraints, as noted:
+<scrap lang='ebnf'>
+<head>Attribute Types</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-AttType'><lhs>AttType</lhs>
+<rhs><nt def='NT-StringType'>StringType</nt>
+| <nt def='NT-TokenizedType'>TokenizedType</nt>
+| <nt def='NT-EnumeratedType'>EnumeratedType</nt>
+</rhs>
+</prod>
+<prod id='NT-StringType'><lhs>StringType</lhs>
+<rhs>'CDATA'</rhs>
+</prod>
+<prod id='NT-TokenizedType'><lhs>TokenizedType</lhs>
+<rhs>'ID'</rhs>
+<vc def='id'/>
+<vc def='one-id-per-el'/>
+<vc def='id-default'/>
+<rhs>| 'IDREF'</rhs>
+<vc def='idref'/>
+<rhs>| 'IDREFS'</rhs>
+<vc def='idref'/>
+<rhs>| 'ENTITY'</rhs>
+<vc def='entname'/>
+<rhs>| 'ENTITIES'</rhs>
+<vc def='entname'/>
+<rhs>| 'NMTOKEN'</rhs>
+<vc def='nmtok'/>
+<rhs>| 'NMTOKENS'</rhs>
+<vc def='nmtok'/></prod>
+</prodgroup>
+</scrap>
+</p>
+<vcnote id='id' >
+<head>ID</head>
+<p>
+Values of type <kw>ID</kw> must match the
+<nt def='NT-Name'>Name</nt> production.
+A name must not appear more than once in
+an XML document as a value of this type; i.e., ID values must uniquely
+identify the elements which bear them.
+</p>
+</vcnote>
+<vcnote id='one-id-per-el'>
+<head>One ID per Element Type</head>
+<p>No element type may have more than one ID attribute specified.</p>
+</vcnote>
+<vcnote id='id-default'>
+<head>ID Attribute Default</head>
+<p>An ID attribute must have a declared default of <kw>#IMPLIED</kw> or
+<kw>#REQUIRED</kw>.</p>
+</vcnote>
+<vcnote id='idref'>
+<head>IDREF</head>
+<p>
+Values of type <kw>IDREF</kw> must match
+the <nt def="NT-Name">Name</nt> production, and
+values of type <kw>IDREFS</kw> must match
+<nt def="NT-Names">Names</nt>;
+each <nt def='NT-Name'>Name</nt> must match the value of an ID attribute on
+some element in the XML document; i.e. <kw>IDREF</kw> values must
+match the value of some ID attribute.
+</p>
+</vcnote>
+<vcnote id='entname'>
+<head>Entity Name</head>
+<p>
+Values of type <kw>ENTITY</kw>
+must match the <nt def="NT-Name">Name</nt> production,
+values of type <kw>ENTITIES</kw> must match
+<nt def="NT-Names">Names</nt>;
+each <nt def="NT-Name">Name</nt> must
+match the
+name of an <termref def="dt-unparsed">unparsed entity</termref> declared in the
+<termref def="dt-doctype">DTD</termref>.
+</p>
+</vcnote>
+<vcnote id='nmtok'>
+<head>Name Token</head>
+<p>
+Values of type <kw>NMTOKEN</kw> must match the
+<nt def="NT-Nmtoken">Nmtoken</nt> production;
+values of type <kw>NMTOKENS</kw> must
+match <termref def="NT-Nmtokens">Nmtokens</termref>.
+</p>
+</vcnote>
+<!-- why?
+<p>The XML processor must normalize attribute values before
+passing them to the application, as described in
+<specref ref="AVNormalize"/>.</p>-->
+<p><termdef id='dt-enumerated' term='Enumerated Attribute
+Values'><term>Enumerated attributes</term> can take one
+of a list of values provided in the declaration</termdef>. There are two
+kinds of enumerated types:
+<scrap lang='ebnf'>
+<head>Enumerated Attribute Types</head>
+<prod id='NT-EnumeratedType'><lhs>EnumeratedType</lhs>
+<rhs><nt def='NT-NotationType'>NotationType</nt>
+| <nt def='NT-Enumeration'>Enumeration</nt>
+</rhs></prod>
+<prod id='NT-NotationType'><lhs>NotationType</lhs>
+<rhs>'NOTATION'
+<nt def='NT-S'>S</nt>
+'('
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Name'>Name</nt>
+(<nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>?
+<nt def='NT-Name'>Name</nt>)*
+<nt def='NT-S'>S</nt>? ')'
+</rhs>
+<vc def='notatn' /></prod>
+<prod id='NT-Enumeration'><lhs>Enumeration</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>?
+<nt def='NT-Nmtoken'>Nmtoken</nt>
+(<nt def='NT-S'>S</nt>? '|'
+<nt def='NT-S'>S</nt>?
+<nt def='NT-Nmtoken'>Nmtoken</nt>)*
+<nt def='NT-S'>S</nt>?
+')'</rhs>
+<vc def='enum'/></prod>
+</scrap>
+A <kw>NOTATION</kw> attribute identifies a
+<termref def='dt-notation'>notation</termref>, declared in the
+DTD with associated system and/or public identifiers, to
+be used in interpreting the element to which the attribute
+is attached.
+</p>
+
+<vcnote id='notatn'>
+<head>Notation Attributes</head>
+<p>
+Values of this type must match
+one of the <titleref href='Notations'>notation</titleref> names included in
+the declaration; all notation names in the declaration must
+be declared.
+</p>
+</vcnote>
+<vcnote id='enum'>
+<head>Enumeration</head>
+<p>
+Values of this type
+must match one of the <nt def='NT-Nmtoken'>Nmtoken</nt> tokens in the
+declaration.
+</p>
+</vcnote>
+<p><termref def='dt-interop'>For interoperability,</termref> the same
+<nt def='NT-Nmtoken'>Nmtoken</nt> should not occur more than once in the
+enumerated attribute types of a single element type.
+</p>
+</div3>
+
+<div3 id='sec-attr-defaults'>
+<head>Attribute Defaults</head>
+
+<p>An <termref def="dt-attdecl">attribute declaration</termref> provides
+information on whether
+the attribute's presence is required, and if not, how an XML processor should
+react if a declared attribute is absent in a document.
+<scrap lang='ebnf'>
+<head>Attribute Defaults</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-DefaultDecl'><lhs>DefaultDecl</lhs>
+<rhs>'#REQUIRED'
+|&nbsp;'#IMPLIED' </rhs>
+<rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
+<vc def='RequiredAttr'/>
+<vc def='defattrvalid'/>
+<wfc def="CleanAttrVals"/>
+<vc def='FixedAttr'/>
+</prod>
+</prodgroup>
+</scrap>
+
+</p>
+<p>In an attribute declaration, <kw>#REQUIRED</kw> means that the
+attribute must always be provided, <kw>#IMPLIED</kw> that no default
+value is provided.
+<!-- not any more!!
+<kw>#IMPLIED</kw> means that if the attribute is omitted
+from an element of this type,
+the XML processor must inform the application
+that no value was specified; no constraint is placed on the behavior
+of the application. -->
+<termdef id="dt-default" term="Attribute Default">If the
+declaration
+is neither <kw>#REQUIRED</kw> nor <kw>#IMPLIED</kw>, then the
+<nt def='NT-AttValue'>AttValue</nt> value contains the declared
+<term>default</term> value; the <kw>#FIXED</kw> keyword states that
+the attribute must always have the default value.
+If a default value
+is declared, when an XML processor encounters an omitted attribute, it
+is to behave as though the attribute were present with
+the declared default value.</termdef></p>
+<vcnote id='RequiredAttr'>
+<head>Required Attribute</head>
+<p>If the default declaration is the keyword <kw>#REQUIRED</kw>, then
+the attribute must be specified for
+all elements of the type in the attribute-list declaration.
+</p></vcnote>
+<vcnote id='defattrvalid'>
+<head>Attribute Default Legal</head>
+<p>
+The declared
+default value must meet the lexical constraints of the declared attribute type.
+</p>
+</vcnote>
+<vcnote id='FixedAttr'>
+<head>Fixed Attribute Default</head>
+<p>If an attribute has a default value declared with the
+<kw>#FIXED</kw> keyword, instances of that attribute must
+match the default value.
+</p></vcnote>
+
+<p>Examples of attribute-list declarations:
+<eg>&lt;!ATTLIST termdef
+ id ID #REQUIRED
+ name CDATA #IMPLIED>
+&lt;!ATTLIST list
+ type (bullets|ordered|glossary) "ordered">
+&lt;!ATTLIST form
+ method CDATA #FIXED "POST"></eg></p>
+</div3>
+<div3 id='AVNormalize'>
+<head>Attribute-Value Normalization</head>
+<p>Before the value of an attribute is passed to the application
+or checked for validity, the
+XML processor must normalize it as follows:
+<ulist>
+<item><p>a character reference is processed by appending the referenced
+character to the attribute value</p></item>
+<item><p>an entity reference is processed by recursively processing the
+replacement text of the entity</p></item>
+<item><p>a whitespace character (#x20, #xD, #xA, #x9) is processed by
+appending #x20 to the normalized value, except that only a single #x20
+is appended for a "#xD#xA" sequence that is part of an external
+parsed entity or the literal entity value of an internal parsed
+entity</p></item>
+<item><p>other characters are processed by appending them to the normalized
+value</p>
+</item></ulist>
+</p>
+<p>If the declared value is not CDATA, then the XML processor must
+further process the normalized attribute value by discarding any
+leading and trailing space (#x20) characters, and by replacing
+sequences of space (#x20) characters by a single space (#x20)
+character.</p>
+<p>
+All attributes for which no declaration has been read should be treated
+by a non-validating parser as if declared
+<kw>CDATA</kw>.
+</p>
+</div3>
+</div2>
+<div2 id='sec-condition-sect'>
+<head>Conditional Sections</head>
+<p><termdef id='dt-cond-section' term='conditional section'>
+<term>Conditional sections</term> are portions of the
+<termref def='dt-doctype'>document type declaration external subset</termref>
+which are
+included in, or excluded from, the logical structure of the DTD based on
+the keyword which governs them.</termdef>
+<scrap lang='ebnf'>
+<head>Conditional Section</head>
+<prodgroup pcw2="9" pcw4="14.5">
+<prod id='NT-conditionalSect'><lhs>conditionalSect</lhs>
+<rhs><nt def='NT-includeSect'>includeSect</nt>
+| <nt def='NT-ignoreSect'>ignoreSect</nt>
+</rhs>
+</prod>
+<prod id='NT-includeSect'><lhs>includeSect</lhs>
+<rhs>'&lt;![' S? 'INCLUDE' S? '['
+
+<nt def="NT-extSubsetDecl">extSubsetDecl</nt>
+']]&gt;'
+</rhs>
+</prod>
+<prod id='NT-ignoreSect'><lhs>ignoreSect</lhs>
+<rhs>'&lt;![' S? 'IGNORE' S? '['
+<nt def="NT-ignoreSectContents">ignoreSectContents</nt>*
+']]&gt;'</rhs>
+</prod>
+
+<prod id='NT-ignoreSectContents'><lhs>ignoreSectContents</lhs>
+<rhs><nt def='NT-Ignore'>Ignore</nt>
+('&lt;![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt> ']]&gt;'
+<nt def='NT-Ignore'>Ignore</nt>)*</rhs></prod>
+<prod id='NT-Ignore'><lhs>Ignore</lhs>
+<rhs><nt def='NT-Char'>Char</nt>* -
+(<nt def='NT-Char'>Char</nt>* ('&lt;![' | ']]&gt;')
+<nt def='NT-Char'>Char</nt>*)
+</rhs></prod>
+
+</prodgroup>
+</scrap>
+</p>
+<p>Like the internal and external DTD subsets, a conditional section
+may contain one or more complete declarations,
+comments, processing instructions,
+or nested conditional sections, intermingled with white space.
+</p>
+<p>If the keyword of the
+conditional section is <kw>INCLUDE</kw>, then the contents of the conditional
+section are part of the DTD.
+If the keyword of the conditional
+section is <kw>IGNORE</kw>, then the contents of the conditional section are
+not logically part of the DTD.
+Note that for reliable parsing, the contents of even ignored
+conditional sections must be read in order to
+detect nested conditional sections and ensure that the end of the
+outermost (ignored) conditional section is properly detected.
+If a conditional section with a
+keyword of <kw>INCLUDE</kw> occurs within a larger conditional
+section with a keyword of <kw>IGNORE</kw>, both the outer and the
+inner conditional sections are ignored.</p>
+<p>If the keyword of the conditional section is a
+parameter-entity reference, the parameter entity must be replaced by its
+content before the processor decides whether to
+include or ignore the conditional section.</p>
+<p>An example:
+<eg>&lt;!ENTITY % draft 'INCLUDE' >
+&lt;!ENTITY % final 'IGNORE' >
+
+&lt;![%draft;[
+&lt;!ELEMENT book (comments*, title, body, supplements?)>
+]]&gt;
+&lt;![%final;[
+&lt;!ELEMENT book (title, body, supplements?)>
+]]&gt;
+</eg>
+</p>
+</div2>
+
+
+<!--
+<div2 id='sec-pass-to-app'>
+<head>XML Processor Treatment of Logical Structure</head>
+<p>When an XML processor encounters a start-tag, it must make
+at least the following information available to the application:
+<ulist>
+<item>
+<p>the element type's generic identifier</p>
+</item>
+<item>
+<p>the names of attributes known to apply to this element type
+(validating processors must make available names of all attributes
+declared for the element type; non-validating processors must
+make available at least the names of the attributes for which
+values are specified.
+</p>
+</item>
+</ulist>
+</p>
+</div2>
+-->
+
+</div1>
+<!-- &Entities; -->
+
+<div1 id='sec-physical-struct'>
+<head>Physical Structures</head>
+
+<p><termdef id="dt-entity" term="Entity">An XML document may consist
+of one or many storage units. These are called
+<term>entities</term>; they all have <term>content</term> and are all
+(except for the document entity, see below, and
+the <termref def='dt-doctype'>external DTD subset</termref>)
+identified by <term>name</term>.
+</termdef>
+Each XML document has one entity
+called the <termref def="dt-docent">document entity</termref>, which serves
+as the starting point for the <termref def="dt-xml-proc">XML
+processor</termref> and may contain the whole document.</p>
+<p>Entities may be either parsed or unparsed.
+<termdef id="dt-parsedent" term="Text Entity">A <term>parsed entity's</term>
+contents are referred to as its
+<termref def='dt-repltext'>replacement text</termref>;
+this <termref def="dt-text">text</termref> is considered an
+integral part of the document.</termdef></p>
+
+<p><termdef id="dt-unparsed" term="Unparsed Entity">An
+<term>unparsed entity</term>
+is a resource whose contents may or may not be
+<termref def='dt-text'>text</termref>, and if text, may not be XML.
+Each unparsed entity
+has an associated <termref
+def="dt-notation">notation</termref>, identified by name.
+Beyond a requirement
+that an XML processor make the identifiers for the entity and
+notation available to the application,
+XML places no constraints on the contents of unparsed entities.</termdef>
+</p>
+<p>
+Parsed entities are invoked by name using entity references;
+unparsed entities by name, given in the value of <kw>ENTITY</kw>
+or <kw>ENTITIES</kw>
+attributes.</p>
+<p><termdef id='gen-entity' term='general entity'
+><term>General entities</term>
+are entities for use within the document content.
+In this specification, general entities are sometimes referred
+to with the unqualified term <emph>entity</emph> when this leads
+to no ambiguity.</termdef>
+<termdef id='dt-PE' term='Parameter entity'>Parameter entities
+are parsed entities for use within the DTD.</termdef>
+These two types of entities use different forms of reference and
+are recognized in different contexts.
+Furthermore, they occupy different namespaces; a parameter entity and
+a general entity with the same name are two distinct entities.
+</p>
+
+<div2 id='sec-references'>
+<head>Character and Entity References</head>
+<p><termdef id="dt-charref" term="Character Reference">
+A <term>character reference</term> refers to a specific character in the
+ISO/IEC 10646 character set, for example one not directly accessible from
+available input devices.
+<scrap lang='ebnf'>
+<head>Character Reference</head>
+<prod id='NT-CharRef'><lhs>CharRef</lhs>
+<rhs>'&amp;#' [0-9]+ ';' </rhs>
+<rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs>
+<wfc def="wf-Legalchar"/>
+</prod>
+</scrap>
+<wfcnote id="wf-Legalchar">
+<head>Legal Character</head>
+<p>Characters referred to using character references must
+match the production for
+<termref def="NT-Char">Char</termref>.</p>
+</wfcnote>
+If the character reference begins with "<code>&amp;#x</code>", the digits and
+letters up to the terminating <code>;</code> provide a hexadecimal
+representation of the character's code point in ISO/IEC 10646.
+If it begins just with "<code>&amp;#</code>", the digits up to the terminating
+<code>;</code> provide a decimal representation of the character's
+code point.
+</termdef>
+</p>
+<p><termdef id="dt-entref" term="Entity Reference">An <term>entity
+reference</term> refers to the content of a named entity.</termdef>
+<termdef id='dt-GERef' term='General Entity Reference'>References to
+parsed general entities
+use ampersand (<code>&amp;</code>) and semicolon (<code>;</code>) as
+delimiters.</termdef>
+<termdef id='dt-PERef' term='Parameter-entity reference'>
+<term>Parameter-entity references</term> use percent-sign (<code>%</code>) and
+semicolon
+(<code>;</code>) as delimiters.</termdef>
+</p>
+<scrap lang="ebnf">
+<head>Entity Reference</head>
+<prod id='NT-Reference'><lhs>Reference</lhs>
+<rhs><nt def='NT-EntityRef'>EntityRef</nt>
+| <nt def='NT-CharRef'>CharRef</nt></rhs></prod>
+<prod id='NT-EntityRef'><lhs>EntityRef</lhs>
+<rhs>'&amp;' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<wfc def='wf-entdeclared'/>
+<vc def='vc-entdeclared'/>
+<wfc def='textent'/>
+<wfc def='norecursion'/>
+</prod>
+<prod id='NT-PEReference'><lhs>PEReference</lhs>
+<rhs>'%' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<vc def='vc-entdeclared'/>
+<wfc def='norecursion'/>
+<wfc def='indtd'/>
+</prod>
+</scrap>
+
+<wfcnote id='wf-entdeclared'>
+<head>Entity Declared</head>
+<p>In a document without any DTD, a document with only an internal
+DTD subset which contains no parameter entity references, or a document with
+"<code>standalone='yes'</code>",
+the <nt def='NT-Name'>Name</nt> given in the entity reference must
+<termref def="dt-match">match</termref> that in an
+<titleref href='sec-entity-decl'>entity declaration</titleref>, except that
+well-formed documents need not declare
+any of the following entities: &magicents;.
+The declaration of a parameter entity must precede any reference to it.
+Similarly, the declaration of a general entity must precede any
+reference to it which appears in a default value in an attribute-list
+declaration.</p>
+<p>Note that if entities are declared in the external subset or in
+external parameter entities, a non-validating processor is
+<titleref href='include-if-valid'>not obligated to</titleref> read
+and process their declarations; for such documents, the rule that
+an entity must be declared is a well-formedness constraint only
+if <titleref href='sec-rmd'>standalone='yes'</titleref>.</p>
+</wfcnote>
+<vcnote id="vc-entdeclared">
+<head>Entity Declared</head>
+<p>In a document with an external subset or external parameter
+entities with "<code>standalone='no'</code>",
+the <nt def='NT-Name'>Name</nt> given in the entity reference must <termref
+def="dt-match">match</termref> that in an
+<titleref href='sec-entity-decl'>entity declaration</titleref>.
+For interoperability, valid documents should declare the entities
+&magicents;, in the form
+specified in <specref ref="sec-predefined-ent"/>.
+The declaration of a parameter entity must precede any reference to it.
+Similarly, the declaration of a general entity must precede any
+reference to it which appears in a default value in an attribute-list
+declaration.</p>
+</vcnote>
+<!-- FINAL EDIT: is this duplication too clumsy? -->
+<wfcnote id='textent'>
+<head>Parsed Entity</head>
+<p>
+An entity reference must not contain the name of an <termref
+def="dt-unparsed">unparsed entity</termref>. Unparsed entities may be referred
+to only in <termref def="dt-attrval">attribute values</termref> declared to
+be of type <kw>ENTITY</kw> or <kw>ENTITIES</kw>.
+</p>
+</wfcnote>
+<wfcnote id='norecursion'>
+<head>No Recursion</head>
+<p>
+A parsed entity must not contain a recursive reference to itself,
+either directly or indirectly.
+</p>
+</wfcnote>
+<wfcnote id='indtd'>
+<head>In DTD</head>
+<p>
+Parameter-entity references may only appear in the
+<termref def='dt-doctype'>DTD</termref>.
+</p>
+</wfcnote>
+<p>Examples of character and entity references:
+<eg>Type &lt;key>less-than&lt;/key> (&hcro;3C;) to save options.
+This document was prepared on &amp;docdate; and
+is classified &amp;security-level;.</eg></p>
+<p>Example of a parameter-entity reference:
+<eg><![CDATA[<!-- declare the parameter entity "ISOLat2"... -->
+<!ENTITY % ISOLat2
+ SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" >
+<!-- ... now reference it. -->
+%ISOLat2;]]></eg></p>
+</div2>
+
+<div2 id='sec-entity-decl'>
+<head>Entity Declarations</head>
+
+<p><termdef id="dt-entdecl" term="entity declaration">
+Entities are declared thus:
+<scrap lang='ebnf'>
+<head>Entity Declaration</head>
+<prodgroup pcw2="5" pcw4="18.5">
+<prod id='NT-EntityDecl'><lhs>EntityDecl</lhs>
+<rhs><nt def="NT-GEDecl">GEDecl</nt><!--</rhs><com>General entities</com>
+<rhs>--> | <nt def="NT-PEDecl">PEDecl</nt></rhs>
+<!--<com>Parameter entities</com>-->
+</prod>
+<prod id='NT-GEDecl'><lhs>GEDecl</lhs>
+<rhs>'&lt;!ENTITY' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt> <nt def='NT-EntityDef'>EntityDef</nt>
+<nt def='NT-S'>S</nt>? '&gt;'</rhs>
+</prod>
+<prod id='NT-PEDecl'><lhs>PEDecl</lhs>
+<rhs>'&lt;!ENTITY' <nt def='NT-S'>S</nt> '%' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt>
+<nt def='NT-PEDef'>PEDef</nt> <nt def='NT-S'>S</nt>? '&gt;'</rhs>
+<!--<com>Parameter entities</com>-->
+</prod>
+<prod id='NT-EntityDef'><lhs>EntityDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt>
+<!--</rhs>
+<rhs>-->| (<nt def='NT-ExternalID'>ExternalID</nt>
+<nt def='NT-NDataDecl'>NDataDecl</nt>?)</rhs>
+<!-- <nt def='NT-ExternalDef'>ExternalDef</nt></rhs> -->
+</prod>
+<!-- FINAL EDIT: what happened to WFs here? -->
+<prod id='NT-PEDef'><lhs>PEDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt>
+| <nt def='NT-ExternalID'>ExternalID</nt></rhs></prod>
+</prodgroup>
+</scrap>
+The <nt def='NT-Name'>Name</nt> identifies the entity in an
+<termref def="dt-entref">entity reference</termref> or, in the case of an
+unparsed entity, in the value of an <kw>ENTITY</kw> or <kw>ENTITIES</kw>
+attribute.
+If the same entity is declared more than once, the first declaration
+encountered is binding; at user option, an XML processor may issue a
+warning if entities are declared multiple times.</termdef>
+</p>
+
+<div3 id='sec-internal-ent'>
+<head>Internal Entities</head>
+
+<p><termdef id='dt-internent' term="Internal Entity Replacement Text">If
+the entity definition is an
+<nt def='NT-EntityValue'>EntityValue</nt>,
+the defined entity is called an <term>internal entity</term>.
+There is no separate physical
+storage object, and the content of the entity is given in the
+declaration. </termdef>
+Note that some processing of entity and character references in the
+<termref def='dt-litentval'>literal entity value</termref> may be required to
+produce the correct <termref def='dt-repltext'>replacement
+text</termref>: see <specref ref='intern-replacement'/>.
+</p>
+<p>An internal entity is a <termref def="dt-parsedent">parsed
+entity</termref>.</p>
+<p>Example of an internal entity declaration:
+<eg>&lt;!ENTITY Pub-Status "This is a pre-release of the
+ specification."></eg></p>
+</div3>
+
+<div3 id='sec-external-ent'>
+<head>External Entities</head>
+
+<p><termdef id="dt-extent" term="External Entity">If the entity is not
+internal, it is an <term>external
+entity</term>, declared as follows:
+<scrap lang='ebnf'>
+<head>External Entity Declaration</head>
+<!--
+<prod id='NT-ExternalDef'><lhs>ExternalDef</lhs>
+<rhs></prod> -->
+<prod id='NT-ExternalID'><lhs>ExternalID</lhs>
+<rhs>'SYSTEM' <nt def='NT-S'>S</nt>
+<nt def='NT-SystemLiteral'>SystemLiteral</nt></rhs>
+<rhs>| 'PUBLIC' <nt def='NT-S'>S</nt>
+<nt def='NT-PubidLiteral'>PubidLiteral</nt>
+<nt def='NT-S'>S</nt>
+<nt def='NT-SystemLiteral'>SystemLiteral</nt>
+</rhs>
+</prod>
+<prod id='NT-NDataDecl'><lhs>NDataDecl</lhs>
+<rhs><nt def='NT-S'>S</nt> 'NDATA' <nt def='NT-S'>S</nt>
+<nt def='NT-Name'>Name</nt></rhs>
+<vc def='not-declared'/></prod>
+</scrap>
+If the <nt def='NT-NDataDecl'>NDataDecl</nt> is present, this is a
+general <termref def="dt-unparsed">unparsed
+entity</termref>; otherwise it is a parsed entity.</termdef></p>
+<vcnote id='not-declared'>
+<head>Notation Declared</head>
+<p>
+The <nt def='NT-Name'>Name</nt> must match the declared name of a
+<termref def="dt-notation">notation</termref>.
+</p>
+</vcnote>
+<p><termdef id="dt-sysid" term="System Identifier">The
+<nt def='NT-SystemLiteral'>SystemLiteral</nt>
+is called the entity's <term>system identifier</term>. It is a URI,
+which may be used to retrieve the entity.</termdef>
+Note that the hash mark (<code>#</code>) and fragment identifier
+frequently used with URIs are not, formally, part of the URI itself;
+an XML processor may signal an error if a fragment identifier is
+given as part of a system identifier.
+Unless otherwise provided by information outside the scope of this
+specification (e.g. a special XML element type defined by a particular
+DTD, or a processing instruction defined by a particular application
+specification), relative URIs are relative to the location of the
+resource within which the entity declaration occurs.
+A URI might thus be relative to the
+<termref def='dt-docent'>document entity</termref>, to the entity
+containing the <termref def='dt-doctype'>external DTD subset</termref>,
+or to some other <termref def='dt-extent'>external parameter entity</termref>.
+</p>
+<p>An XML processor should handle a non-ASCII character in a URI by
+representing the character in UTF-8 as one or more bytes, and then
+escaping these bytes with the URI escaping mechanism (i.e., by
+converting each byte to %HH, where HH is the hexadecimal notation of the
+byte value).</p>
+<p><termdef id="dt-pubid" term="Public identifier">
+In addition to a system identifier, an external identifier may
+include a <term>public identifier</term>.</termdef>
+An XML processor attempting to retrieve the entity's content may use the public
+identifier to try to generate an alternative URI. If the processor
+is unable to do so, it must use the URI specified in the system
+literal. Before a match is attempted, all strings
+of white space in the public identifier must be normalized to single space characters (#x20),
+and leading and trailing white space must be removed.</p>
+<p>Examples of external entity declarations:
+<eg>&lt;!ENTITY open-hatch
+ SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
+&lt;!ENTITY open-hatch
+ PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
+ "http://www.textuality.com/boilerplate/OpenHatch.xml">
+&lt;!ENTITY hatch-pic
+ SYSTEM "../grafix/OpenHatch.gif"
+ NDATA gif ></eg></p>
+</div3>
+
+</div2>
+
+<div2 id='TextEntities'>
+<head>Parsed Entities</head>
+<div3 id='sec-TextDecl'>
+<head>The Text Declaration</head>
+<p>External parsed entities may each begin with a <term>text
+declaration</term>.
+<scrap lang='ebnf'>
+<head>Text Declaration</head>
+<prodgroup pcw4="12.5" pcw5="13">
+<prod id='NT-TextDecl'><lhs>TextDecl</lhs>
+<rhs>&xmlpio;
+<nt def='NT-VersionInfo'>VersionInfo</nt>?
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>
+<nt def='NT-S'>S</nt>? &pic;</rhs>
+</prod>
+</prodgroup>
+</scrap>
+</p>
+<p>The text declaration must be provided literally, not
+by reference to a parsed entity.
+No text declaration may appear at any position other than the beginning of
+an external parsed entity.</p>
+</div3>
+<div3 id='wf-entities'>
+<head>Well-Formed Parsed Entities</head>
+<p>The document entity is well-formed if it matches the production labeled
+<nt def='NT-document'>document</nt>.
+An external general
+parsed entity is well-formed if it matches the production labeled
+<nt def='NT-extParsedEnt'>extParsedEnt</nt>.
+An external parameter
+entity is well-formed if it matches the production labeled
+<nt def='NT-extPE'>extPE</nt>.
+<scrap lang='ebnf'>
+<head>Well-Formed External Parsed Entity</head>
+<prod id='NT-extParsedEnt'><lhs>extParsedEnt</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-content'>content</nt></rhs>
+</prod>
+<prod id='NT-extPE'><lhs>extPE</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-extSubsetDecl'>extSubsetDecl</nt></rhs>
+</prod>
+</scrap>
+An internal general parsed entity is well-formed if its replacement text
+matches the production labeled
+<nt def='NT-content'>content</nt>.
+All internal parameter entities are well-formed by definition.
+</p>
+<p>A consequence of well-formedness in entities is that the logical
+and physical structures in an XML document are properly nested; no
+<termref def='dt-stag'>start-tag</termref>,
+<termref def='dt-etag'>end-tag</termref>,
+<termref def="dt-empty">empty-element tag</termref>,
+<termref def='dt-element'>element</termref>,
+<termref def='dt-comment'>comment</termref>,
+<termref def='dt-pi'>processing instruction</termref>,
+<termref def='dt-charref'>character
+reference</termref>, or
+<termref def='dt-entref'>entity reference</termref>
+can begin in one entity and end in another.</p>
+</div3>
+<div3 id='charencoding'>
+<head>Character Encoding in Entities</head>
+
+<p>Each external parsed entity in an XML document may use a different
+encoding for its characters. All XML processors must be able to read
+entities in either UTF-8 or UTF-16.
+
+</p>
+<p>Entities encoded in UTF-16 must
+begin with the Byte Order Mark described by ISO/IEC 10646 Annex E and
+Unicode Appendix B (the ZERO WIDTH NO-BREAK SPACE character, #xFEFF).
+This is an encoding signature, not part of either the markup or the
+character data of the XML document.
+XML processors must be able to use this character to
+differentiate between UTF-8 and UTF-16 encoded documents.</p>
+<p>Although an XML processor is required to read only entities in
+the UTF-8 and UTF-16 encodings, it is recognized that other encodings are
+used around the world, and it may be desired for XML processors
+to read entities that use them.
+Parsed entities which are stored in an encoding other than
+UTF-8 or UTF-16 must begin with a <titleref href='TextDecl'>text
+declaration</titleref> containing an encoding declaration:
+<scrap lang='ebnf'>
+<head>Encoding Declaration</head>
+<prod id='NT-EncodingDecl'><lhs>EncodingDecl</lhs>
+<rhs><nt def="NT-S">S</nt>
+'encoding' <nt def='NT-Eq'>Eq</nt>
+('"' <nt def='NT-EncName'>EncName</nt> '"' |
+"'" <nt def='NT-EncName'>EncName</nt> "'" )
+</rhs>
+</prod>
+<prod id='NT-EncName'><lhs>EncName</lhs>
+<rhs>[A-Za-z] ([A-Za-z0-9._] | '-')*</rhs>
+<com>Encoding name contains only Latin characters</com>
+</prod>
+</scrap>
+In the <termref def='dt-docent'>document entity</termref>, the encoding
+declaration is part of the <termref def="dt-xmldecl">XML declaration</termref>.
+The <nt def="NT-EncName">EncName</nt> is the name of the encoding used.
+</p>
+<!-- FINAL EDIT: check name of IANA and charset names -->
+<p>In an encoding declaration, the values
+"<code>UTF-8</code>",
+"<code>UTF-16</code>",
+"<code>ISO-10646-UCS-2</code>", and
+"<code>ISO-10646-UCS-4</code>" should be
+used for the various encodings and transformations of Unicode /
+ISO/IEC 10646, the values
+"<code>ISO-8859-1</code>",
+"<code>ISO-8859-2</code>", ...
+"<code>ISO-8859-9</code>" should be used for the parts of ISO 8859, and
+the values
+"<code>ISO-2022-JP</code>",
+"<code>Shift_JIS</code>", and
+"<code>EUC-JP</code>"
+should be used for the various encoded forms of JIS X-0208-1997. XML
+processors may recognize other encodings; it is recommended that
+character encodings registered (as <emph>charset</emph>s)
+with the Internet Assigned Numbers
+Authority <bibref ref='IANA'/>, other than those just listed, should be
+referred to
+using their registered names.
+Note that these registered names are defined to be
+case-insensitive, so processors wishing to match against them
+should do so in a case-insensitive
+way.</p>
+<p>In the absence of information provided by an external
+transport protocol (e.g. HTTP or MIME),
+it is an <termref def="dt-error">error</termref> for an entity including
+an encoding declaration to be presented to the XML processor
+in an encoding other than that named in the declaration,
+for an encoding declaration to occur other than at the beginning
+of an external entity, or for
+an entity which begins with neither a Byte Order Mark nor an encoding
+declaration to use an encoding other than UTF-8.
+Note that since ASCII
+is a subset of UTF-8, ordinary ASCII entities do not strictly need
+an encoding declaration.</p>
+
+<p>It is a <termref def='dt-fatal'>fatal error</termref> when an XML processor
+encounters an entity with an encoding that it is unable to process.</p>
+<p>Examples of encoding declarations:
+<eg>&lt;?xml encoding='UTF-8'?>
+&lt;?xml encoding='EUC-JP'?></eg></p>
+</div3>
+</div2>
+<div2 id='entproc'>
+<head>XML Processor Treatment of Entities and References</head>
+<p>The table below summarizes the contexts in which character references,
+entity references, and invocations of unparsed entities might appear and the
+required behavior of an <termref def='dt-xml-proc'>XML processor</termref> in
+each case.
+The labels in the leftmost column describe the recognition context:
+<glist>
+<gitem><label>Reference in Content</label>
+<def><p>as a reference
+anywhere after the <termref def='dt-stag'>start-tag</termref> and
+before the <termref def='dt-etag'>end-tag</termref> of an element; corresponds
+to the nonterminal <nt def='NT-content'>content</nt>.</p></def>
+</gitem>
+<gitem>
+<label>Reference in Attribute Value</label>
+<def><p>as a reference within either the value of an attribute in a
+<termref def='dt-stag'>start-tag</termref>, or a default
+value in an <termref def='dt-attdecl'>attribute declaration</termref>;
+corresponds to the nonterminal
+<nt def='NT-AttValue'>AttValue</nt>.</p></def></gitem>
+<gitem>
+<label>Occurs as Attribute Value</label>
+<def><p>as a <nt def='NT-Name'>Name</nt>, not a reference, appearing either as
+the value of an
+attribute which has been declared as type <kw>ENTITY</kw>, or as one of
+the space-separated tokens in the value of an attribute which has been
+declared as type <kw>ENTITIES</kw>.</p>
+</def></gitem>
+<gitem><label>Reference in Entity Value</label>
+<def><p>as a reference
+within a parameter or internal entity's
+<termref def='dt-litentval'>literal entity value</termref> in
+the entity's declaration; corresponds to the nonterminal
+<nt def='NT-EntityValue'>EntityValue</nt>.</p></def></gitem>
+<gitem><label>Reference in DTD</label>
+<def><p>as a reference within either the internal or external subsets of the
+<termref def='dt-doctype'>DTD</termref>, but outside
+of an <nt def='NT-EntityValue'>EntityValue</nt> or
+<nt def="NT-AttValue">AttValue</nt>.</p></def>
+</gitem>
+</glist></p>
+<htable border='1' cellpadding='7' align='center'>
+<htbody>
+<tr><td bgcolor='&cellback;' rowspan='2' colspan='1'></td>
+<td bgcolor='&cellback;' align='center' valign='bottom' colspan='4'>Entity Type</td>
+<td bgcolor='&cellback;' rowspan='2' align='center'>Character</td>
+</tr>
+<tr align='center' valign='bottom'>
+<td bgcolor='&cellback;'>Parameter</td>
+<td bgcolor='&cellback;'>Internal
+General</td>
+<td bgcolor='&cellback;'>External Parsed
+General</td>
+<td bgcolor='&cellback;'>Unparsed</td>
+</tr>
+<tr align='center' valign='middle'>
+
+<td bgcolor='&cellback;' align='right'>Reference
+in Content</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Not recognized</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>Included</titleref></td>
+<td bgcolor='&cellback;'><titleref href='include-if-valid'>Included if validating</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>Included</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>Reference
+in Attribute Value</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Not recognized</titleref></td>
+<td bgcolor='&cellback;'><titleref href='inliteral'>Included in literal</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>Included</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>Occurs as
+Attribute Value</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Not recognized</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='notify'>Notify</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not recognized'>Not recognized</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>Reference
+in EntityValue</td>
+<td bgcolor='&cellback;'><titleref href='inliteral'>Included in literal</titleref></td>
+<td bgcolor='&cellback;'><titleref href='bypass'>Bypassed</titleref></td>
+<td bgcolor='&cellback;'><titleref href='bypass'>Bypassed</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>Included</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>Reference
+in DTD</td>
+<td bgcolor='&cellback;'><titleref href='as-PE'>Included as PE</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+</tr>
+</htbody>
+</htable>
+<div3 id='not-recognized'>
+<head>Not Recognized</head>
+<p>Outside the DTD, the <code>%</code> character has no
+special significance; thus, what would be parameter entity references in the
+DTD are not recognized as markup in <nt def='NT-content'>content</nt>.
+Similarly, the names of unparsed entities are not recognized except
+when they appear in the value of an appropriately declared attribute.
+</p>
+</div3>
+<div3 id='included'>
+<head>Included</head>
+<p><termdef id="dt-include" term="Include">An entity is
+<term>included</term> when its
+<termref def='dt-repltext'>replacement text</termref> is retrieved
+and processed, in place of the reference itself,
+as though it were part of the document at the location the
+reference was recognized.
+The replacement text may contain both
+<termref def='dt-chardata'>character data</termref>
+and (except for parameter entities) <termref def="dt-markup">markup</termref>,
+which must be recognized in
+the usual way, except that the replacement text of entities used to escape
+markup delimiters (the entities &magicents;) is always treated as
+data. (The string "<code>AT&amp;amp;T;</code>" expands to
+"<code>AT&amp;T;</code>" and the remaining ampersand is not recognized
+as an entity-reference delimiter.)
+A character reference is <term>included</term> when the indicated
+character is processed in place of the reference itself.
+</termdef></p>
+</div3>
+<div3 id='include-if-valid'>
+<head>Included If Validating</head>
+<p>When an XML processor recognizes a reference to a parsed entity, in order
+to <termref def="dt-valid">validate</termref>
+the document, the processor must
+<termref def="dt-include">include</termref> its
+replacement text.
+If the entity is external, and the processor is not
+attempting to validate the XML document, the
+processor <termref def="dt-may">may</termref>, but need not,
+include the entity's replacement text.
+If a non-validating parser does not include the replacement text,
+it must inform the application that it recognized, but did not
+read, the entity.</p>
+<p>This rule is based on the recognition that the automatic inclusion
+provided by the SGML and XML entity mechanism, primarily designed
+to support modularity in authoring, is not necessarily
+appropriate for other applications, in particular document browsing.
+Browsers, for example, when encountering an external parsed entity reference,
+might choose to provide a visual indication of the entity's
+presence and retrieve it for display only on demand.
+</p>
+</div3>
+<div3 id='forbidden'>
+<head>Forbidden</head>
+<p>The following are forbidden, and constitute
+<termref def='dt-fatal'>fatal</termref> errors:
+<ulist>
+<item><p>the appearance of a reference to an
+<termref def='dt-unparsed'>unparsed entity</termref>.
+</p></item>
+<item><p>the appearance of any character or general-entity reference in the
+DTD except within an <nt def='NT-EntityValue'>EntityValue</nt> or
+<nt def="NT-AttValue">AttValue</nt>.</p></item>
+<item><p>a reference to an external entity in an attribute value.</p>
+</item>
+</ulist>
+</p>
+</div3>
+<div3 id='inliteral'>
+<head>Included in Literal</head>
+<p>When an <termref def='dt-entref'>entity reference</termref> appears in an
+attribute value, or a parameter entity reference appears in a literal entity
+value, its <termref def='dt-repltext'>replacement text</termref> is
+processed in place of the reference itself as though it
+were part of the document at the location the reference was recognized,
+except that a single or double quote character in the replacement text
+is always treated as a normal data character and will not terminate the
+literal.
+For example, this is well-formed:
+<eg><![CDATA[<!ENTITY % YN '"Yes"' >
+<!ENTITY WhatHeSaid "He said &YN;" >]]></eg>
+while this is not:
+<eg>&lt;!ENTITY EndAttr "27'" >
+&lt;element attribute='a-&amp;EndAttr;></eg>
+</p></div3>
+<div3 id='notify'>
+<head>Notify</head>
+<p>When the name of an <termref def='dt-unparsed'>unparsed
+entity</termref> appears as a token in the
+value of an attribute of declared type <kw>ENTITY</kw> or <kw>ENTITIES</kw>,
+a validating processor must inform the
+application of the <termref def='dt-sysid'>system</termref>
+and <termref def='dt-pubid'>public</termref> (if any)
+identifiers for both the entity and its associated
+<termref def="dt-notation">notation</termref>.</p>
+</div3>
+<div3 id='bypass'>
+<head>Bypassed</head>
+<p>When a general entity reference appears in the
+<nt def='NT-EntityValue'>EntityValue</nt> in an entity declaration,
+it is bypassed and left as is.</p>
+</div3>
+<div3 id='as-PE'>
+<head>Included as PE</head>
+<p>Just as with external parsed entities, parameter entities
+need only be <titleref href='include-if-valid'>included if
+validating</titleref>.
+When a parameter-entity reference is recognized in the DTD
+and included, its
+<termref def='dt-repltext'>replacement
+text</termref> is enlarged by the attachment of one leading and one following
+space (#x20) character; the intent is to constrain the replacement
+text of parameter
+entities to contain an integral number of grammatical tokens in the DTD.
+</p>
+</div3>
+
+</div2>
+<div2 id='intern-replacement'>
+<head>Construction of Internal Entity Replacement Text</head>
+<p>In discussing the treatment
+of internal entities, it is
+useful to distinguish two forms of the entity's value.
+<termdef id="dt-litentval" term='Literal Entity Value'>The <term>literal
+entity value</term> is the quoted string actually
+present in the entity declaration, corresponding to the
+non-terminal <nt def='NT-EntityValue'>EntityValue</nt>.</termdef>
+<termdef id='dt-repltext' term='Replacement Text'>The <term>replacement
+text</term> is the content of the entity, after
+replacement of character references and parameter-entity
+references.
+</termdef></p>
+
+<p>The literal entity value
+as given in an internal entity declaration
+(<nt def='NT-EntityValue'>EntityValue</nt>) may contain character,
+parameter-entity, and general-entity references.
+Such references must be contained entirely within the
+literal entity value.
+The actual replacement text that is
+<termref def='dt-include'>included</termref> as described above
+must contain the <emph>replacement text</emph> of any
+parameter entities referred to, and must contain the character
+referred to, in place of any character references in the
+literal entity value; however,
+general-entity references must be left as-is, unexpanded.
+For example, given the following declarations:
+
+<eg><![CDATA[<!ENTITY % pub "&#xc9;ditions Gallimard" >
+<!ENTITY rights "All rights reserved" >
+<!ENTITY book "La Peste: Albert Camus,
+&#xA9; 1947 %pub;. &rights;" >]]></eg>
+then the replacement text for the entity "<code>book</code>" is:
+<eg>La Peste: Albert Camus,
+&#169; 1947 &#201;ditions Gallimard. &amp;rights;</eg>
+The general-entity reference "<code>&amp;rights;</code>" would be expanded
+should the reference "<code>&amp;book;</code>" appear in the document's
+content or an attribute value.</p>
+<p>These simple rules may have complex interactions; for a detailed
+discussion of a difficult example, see
+<specref ref='sec-entexpand'/>.
+</p>
+
+</div2>
+<div2 id='sec-predefined-ent'>
+<head>Predefined Entities</head>
+<p><termdef id="dt-escape" term="escape">Entity and character
+references can both be used to <term>escape</term> the left angle bracket,
+ampersand, and other delimiters. A set of general entities
+(&magicents;) is specified for this purpose.
+Numeric character references may also be used; they are
+expanded immediately when recognized and must be treated as
+character data, so the numeric character references
+"<code>&amp;#60;</code>" and "<code>&amp;#38;</code>" may be used to
+escape <code>&lt;</code> and <code>&amp;</code> when they occur
+in character data.</termdef></p>
+<p>All XML processors must recognize these entities whether they
+are declared or not.
+<termref def='dt-interop'>For interoperability</termref>,
+valid XML documents should declare these
+entities, like any others, before using them.
+If the entities in question are declared, they must be declared
+as internal entities whose replacement text is the single
+character being escaped or a character reference to
+that character, as shown below.
+<eg><![CDATA[<!ENTITY lt "&#38;#60;">
+<!ENTITY gt "&#62;">
+<!ENTITY amp "&#38;#38;">
+<!ENTITY apos "&#39;">
+<!ENTITY quot "&#34;">
+]]></eg>
+Note that the <code>&lt;</code> and <code>&amp;</code> characters
+in the declarations of "<code>lt</code>" and "<code>amp</code>"
+are doubly escaped to meet the requirement that entity replacement
+be well-formed.
+</p>
+</div2>
+
+<div2 id='Notations'>
+<head>Notation Declarations</head>
+
+<p><termdef id="dt-notation" term="Notation"><term>Notations</term> identify by
+name the format of <termref def="dt-extent">unparsed
+entities</termref>, the
+format of elements which bear a notation attribute,
+or the application to which
+a <termref def="dt-pi">processing instruction</termref> is
+addressed.</termdef></p>
+<p><termdef id="dt-notdecl" term="Notation Declaration">
+<term>Notation declarations</term>
+provide a name for the notation, for use in
+entity and attribute-list declarations and in attribute specifications,
+and an external identifier for the notation which may allow an XML
+processor or its client application to locate a helper application
+capable of processing data in the given notation.
+<scrap lang='ebnf'>
+<head>Notation Declarations</head>
+<prod id='NT-NotationDecl'><lhs>NotationDecl</lhs>
+<rhs>'&lt;!NOTATION' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>
+<nt def='NT-S'>S</nt>
+(<nt def='NT-ExternalID'>ExternalID</nt> |
+<nt def='NT-PublicID'>PublicID</nt>)
+<nt def='NT-S'>S</nt>? '>'</rhs></prod>
+<prod id='NT-PublicID'><lhs>PublicID</lhs>
+<rhs>'PUBLIC' <nt def='NT-S'>S</nt>
+<nt def='NT-PubidLiteral'>PubidLiteral</nt>
+</rhs></prod>
+</scrap>
+</termdef></p>
+<p>XML processors must provide applications with the name and external
+identifier(s) of any notation declared and referred to in an attribute
+value, attribute definition, or entity declaration. They may
+additionally resolve the external identifier into the
+<termref def="dt-sysid">system identifier</termref>,
+file name, or other information needed to allow the
+application to call a processor for data in the notation described. (It
+is not an error, however, for XML documents to declare and refer to
+notations for which notation-specific applications are not available on
+the system where the XML processor or application is running.)</p>
+</div2>
+
+
+<div2 id='sec-doc-entity'>
+<head>Document Entity</head>
+
+<p><termdef id="dt-docent" term="Document Entity">The <term>document
+entity</term> serves as the root of the entity
+tree and a starting-point for an <termref def="dt-xml-proc">XML
+processor</termref>.</termdef>
+This specification does
+not specify how the document entity is to be located by an XML
+processor; unlike other entities, the document entity has no name and might
+well appear on a processor input stream
+without any identification at all.</p>
+</div2>
+
+
+</div1>
+<!-- &Conformance; -->
+
+<div1 id='sec-conformance'>
+<head>Conformance</head>
+
+<div2 id='proc-types'>
+<head>Validating and Non-Validating Processors</head>
+<p>Conforming <termref def="dt-xml-proc">XML processors</termref> fall into two
+classes: validating and non-validating.</p>
+<p>Validating and non-validating processors alike must report
+violations of this specification's well-formedness constraints
+in the content of the
+<termref def='dt-docent'>document entity</termref> and any
+other <termref def='dt-parsedent'>parsed entities</termref> that
+they read.</p>
+<p><termdef id="dt-validating" term="Validating Processor">
+<term>Validating processors</term> must report
+violations of the constraints expressed by the declarations in the
+<termref def="dt-doctype">DTD</termref>, and
+failures to fulfill the validity constraints given
+in this specification.
+</termdef>
+To accomplish this, validating XML processors must read and process the entire
+DTD and all external parsed entities referenced in the document.
+</p>
+<p>Non-validating processors are required to check only the
+<termref def='dt-docent'>document entity</termref>, including
+the entire internal DTD subset, for well-formedness.
+<termdef id='dt-use-mdecl' term='Process Declarations'>
+While they are not required to check the document for validity,
+they are required to
+<term>process</term> all the declarations they read in the
+internal DTD subset and in any parameter entity that they
+read, up to the first reference
+to a parameter entity that they do <emph>not</emph> read; that is to
+say, they must
+use the information in those declarations to
+<titleref href='AVNormalize'>normalize</titleref> attribute values,
+<titleref href='included'>include</titleref> the replacement text of
+internal entities, and supply
+<titleref href='sec-attr-defaults'>default attribute values</titleref>.
+</termdef>
+They must not <termref def='dt-use-mdecl'>process</termref>
+<termref def='dt-entdecl'>entity declarations</termref> or
+<termref def='dt-attdecl'>attribute-list declarations</termref>
+encountered after a reference to a parameter entity that is not
+read, since the entity may have contained overriding declarations.
+</p>
+</div2>
+<div2 id='safe-behavior'>
+<head>Using XML Processors</head>
+<p>The behavior of a validating XML processor is highly predictable; it
+must read every piece of a document and report all well-formedness and
+validity violations.
+Less is required of a non-validating processor; it need not read any
+part of the document other than the document entity.
+This has two effects that may be important to users of XML processors:
+<ulist>
+<item><p>Certain well-formedness errors, specifically those that require
+reading external entities, may not be detected by a non-validating processor.
+Examples include the constraints entitled
+<titleref href='wf-entdeclared'>Entity Declared</titleref>,
+<titleref href='wf-textent'>Parsed Entity</titleref>, and
+<titleref href='wf-norecursion'>No Recursion</titleref>, as well
+as some of the cases described as
+<titleref href='forbidden'>forbidden</titleref> in
+<specref ref='entproc'/>.</p></item>
+<item><p>The information passed from the processor to the application may
+vary, depending on whether the processor reads
+parameter and external entities.
+For example, a non-validating processor may not
+<titleref href='AVNormalize'>normalize</titleref> attribute values,
+<titleref href='included'>include</titleref> the replacement text of
+internal entities, or supply
+<titleref href='sec-attr-defaults'>default attribute values</titleref>,
+where doing so depends on having read declarations in
+external or parameter entities.</p></item>
+</ulist>
+</p>
+<p>For maximum reliability in interoperating between different XML
+processors, applications which use non-validating processors should not
+rely on any behaviors not required of such processors.
+Applications which require facilities such as the use of default
+attributes or internal entities which are declared in external
+entities should use validating XML processors.</p>
+</div2>
+</div1>
+
+<div1 id='sec-notation'>
+<head>Notation</head>
+
+<p>The formal grammar of XML is given in this specification using a simple
+Extended Backus-Naur Form (EBNF) notation. Each rule in the grammar defines
+one symbol, in the form
+<eg>symbol ::= expression</eg></p>
+<p>Symbols are written with an initial capital letter if they are
+defined by a regular expression, or with an initial lower case letter
+otherwise.
+Literal strings are quoted.
+
+</p>
+
+<p>Within the expression on the right-hand side of a rule, the following
+expressions are used to match strings of one or more characters:
+<glist>
+<gitem>
+<label><code>#xN</code></label>
+<def><p>where <code>N</code> is a hexadecimal integer, the
+expression matches the character in ISO/IEC 10646 whose canonical
+(UCS-4)
+code value, when interpreted as an unsigned binary number, has
+the value indicated. The number of leading zeros in the
+<code>#xN</code> form is insignificant; the number of leading
+zeros in the corresponding code value
+is governed by the character
+encoding in use and is not significant for XML.</p></def>
+</gitem>
+<gitem>
+<label><code>[a-zA-Z]</code>, <code>[#xN-#xN]</code></label>
+<def><p>matches any <termref def='dt-character'>character</termref>
+with a value in the range(s) indicated (inclusive).</p></def>
+</gitem>
+<gitem>
+<label><code>[^a-z]</code>, <code>[^#xN-#xN]</code></label>
+<def><p>matches any <termref def='dt-character'>character</termref>
+with a value <emph>outside</emph> the
+range indicated.</p></def>
+</gitem>
+<gitem>
+<label><code>[^abc]</code>, <code>[^#xN#xN#xN]</code></label>
+<def><p>matches any <termref def='dt-character'>character</termref>
+with a value not among the characters given.</p></def>
+</gitem>
+<gitem>
+<label><code>"string"</code></label>
+<def><p>matches a literal string <termref def="dt-match">matching</termref>
+that given inside the double quotes.</p></def>
+</gitem>
+<gitem>
+<label><code>'string'</code></label>
+<def><p>matches a literal string <termref def="dt-match">matching</termref>
+that given inside the single quotes.</p></def>
+</gitem>
+</glist>
+These symbols may be combined to match more complex patterns as follows,
+where <code>A</code> and <code>B</code> represent simple expressions:
+<glist>
+<gitem>
+<label>(<code>expression</code>)</label>
+<def><p><code>expression</code> is treated as a unit
+and may be combined as described in this list.</p></def>
+</gitem>
+<gitem>
+<label><code>A?</code></label>
+<def><p>matches <code>A</code> or nothing; optional <code>A</code>.</p></def>
+</gitem>
+<gitem>
+<label><code>A B</code></label>
+<def><p>matches <code>A</code> followed by <code>B</code>.</p></def>
+</gitem>
+<gitem>
+<label><code>A | B</code></label>
+<def><p>matches <code>A</code> or <code>B</code> but not both.</p></def>
+</gitem>
+<gitem>
+<label><code>A - B</code></label>
+<def><p>matches any string that matches <code>A</code> but does not match
+<code>B</code>.
+</p></def>
+</gitem>
+<gitem>
+<label><code>A+</code></label>
+<def><p>matches one or more occurrences of <code>A</code>.</p></def>
+</gitem>
+<gitem>
+<label><code>A*</code></label>
+<def><p>matches zero or more occurrences of <code>A</code>.</p></def>
+</gitem>
+
+</glist>
+Other notations used in the productions are:
+<glist>
+<gitem>
+<label><code>/* ... */</code></label>
+<def><p>comment.</p></def>
+</gitem>
+<gitem>
+<label><code>[ wfc: ... ]</code></label>
+<def><p>well-formedness constraint; this identifies by name a
+constraint on
+<termref def="dt-wellformed">well-formed</termref> documents
+associated with a production.</p></def>
+</gitem>
+<gitem>
+<label><code>[ vc: ... ]</code></label>
+<def><p>validity constraint; this identifies by name a constraint on
+<termref def="dt-valid">valid</termref> documents associated with
+a production.</p></def>
+</gitem>
+</glist>
+</p></div1>
+
+</body>
+<back>
+<!-- &SGML; -->
+
+
+<!-- &Biblio; -->
+<div1 id='sec-bibliography'>
+
+<head>References</head>
+<div2 id='sec-existing-stds'>
+<head>Normative References</head>
+
+<blist>
+<bibl id='IANA' key='IANA'>
+(Internet Assigned Numbers Authority) <emph>Official Names for
+Character Sets</emph>,
+ed. Keld Simonsen et al.
+See <loc href='ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets'>ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets</loc>.
+</bibl>
+
+<bibl id='RFC1766' key='IETF RFC 1766'>
+IETF (Internet Engineering Task Force).
+<emph>RFC 1766: Tags for the Identification of Languages</emph>,
+ed. H. Alvestrand.
+1995.
+</bibl>
+
+<bibl id='ISO639' key='ISO 639'>
+(International Organization for Standardization).
+<emph>ISO 639:1988 (E).
+Code for the representation of names of languages.</emph>
+[Geneva]: International Organization for
+Standardization, 1988.</bibl>
+
+<bibl id='ISO3166' key='ISO 3166'>
+(International Organization for Standardization).
+<emph>ISO 3166-1:1997 (E).
+Codes for the representation of names of countries and their subdivisions
+&mdash; Part 1: Country codes</emph>
+[Geneva]: International Organization for
+Standardization, 1997.</bibl>
+
+<bibl id='ISO10646' key='ISO/IEC 10646'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10646-1993 (E). Information technology &mdash; Universal
+Multiple-Octet Coded Character Set (UCS) &mdash; Part 1:
+Architecture and Basic Multilingual Plane.</emph>
+[Geneva]: International Organization for
+Standardization, 1993 (plus amendments AM 1 through AM 7).
+</bibl>
+
+<bibl id='Unicode' key='Unicode'>The Unicode Consortium.
+<emph>The Unicode Standard, Version 2.0.</emph>
+Reading, Mass.: Addison-Wesley Developers Press, 1996.</bibl>
+
+</blist>
+
+</div2>
+
+<div2><head>Other References</head>
+
+<blist>
+
+<bibl id='Aho' key='Aho/Ullman'>Aho, Alfred V.,
+Ravi Sethi, and Jeffrey D. Ullman.
+<emph>Compilers: Principles, Techniques, and Tools</emph>.
+Reading: Addison-Wesley, 1986, rpt. corr. 1988.</bibl>
+
+<bibl id="Berners-Lee" xml-link="simple" key="Berners-Lee et al.">
+Berners-Lee, T., R. Fielding, and L. Masinter.
+<emph>Uniform Resource Identifiers (URI): Generic Syntax and
+Semantics</emph>.
+1997.
+(Work in progress; see updates to RFC1738.)</bibl>
+
+<bibl id='ABK' key='Brüggemann-Klein'>Brüggemann-Klein, Anne.
+<emph>Regular Expressions into Finite Automata</emph>.
+Extended abstract in I. Simon, Hrsg., LATIN 1992,
+S. 97-98. Springer-Verlag, Berlin 1992.
+Full Version in Theoretical Computer Science 120: 197-213, 1993.
+
+</bibl>
+
+<bibl id='ABKDW' key='Brüggemann-Klein and Wood'>Brüggemann-Klein, Anne,
+and Derick Wood.
+<emph>Deterministic Regular Languages</emph>.
+Universität Freiburg, Institut für Informatik,
+Bericht 38, Oktober 1991.
+</bibl>
+
+<bibl id='Clark' key='Clark'>James Clark.
+Comparison of SGML and XML. See
+<loc href='http://www.w3.org/TR/NOTE-sgml-xml-971215'>http://www.w3.org/TR/NOTE-sgml-xml-971215</loc>.
+</bibl>
+<bibl id="RFC1738" xml-link="simple" key="IETF RFC1738">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1738: Uniform Resource Locators (URL)</emph>,
+ed. T. Berners-Lee, L. Masinter, M. McCahill.
+1994.
+</bibl>
+
+<bibl id="RFC1808" xml-link="simple" key="IETF RFC1808">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1808: Relative Uniform Resource Locators</emph>,
+ed. R. Fielding.
+1995.
+</bibl>
+
+<bibl id="RFC2141" xml-link="simple" key="IETF RFC2141">
+IETF (Internet Engineering Task Force).
+<emph>RFC 2141: URN Syntax</emph>,
+ed. R. Moats.
+1997.
+</bibl>
+
+<bibl id='ISO8879' key='ISO 8879'>ISO
+(International Organization for Standardization).
+<emph>ISO 8879:1986(E). Information processing &mdash; Text and Office
+Systems &mdash; Standard Generalized Markup Language (SGML).</emph> First
+edition &mdash; 1986-10-15. [Geneva]: International Organization for
+Standardization, 1986.
+</bibl>
+
+
+<bibl id='ISO10744' key='ISO/IEC 10744'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10744-1992 (E). Information technology &mdash;
+Hypermedia/Time-based Structuring Language (HyTime).
+</emph>
+[Geneva]: International Organization for
+Standardization, 1992.
+<emph>Extended Facilities Annexe.</emph>
+[Geneva]: International Organization for
+Standardization, 1996.
+</bibl>
+
+
+
+</blist>
+</div2>
+</div1>
+<div1 id='CharClasses'>
+<head>Character Classes</head>
+<p>Following the characteristics defined in the Unicode standard,
+characters are classed as base characters (among others, these
+contain the alphabetic characters of the Latin alphabet, without
+diacritics), ideographic characters, and combining characters (among
+others, this class contains most diacritics); these classes combine
+to form the class of letters. Digits and extenders are
+also distinguished.
+<scrap lang="ebnf" id="CHARACTERS">
+<head>Characters</head>
+<prodgroup pcw3="3" pcw4="15">
+<prod id="NT-Letter"><lhs>Letter</lhs>
+<rhs><nt def="NT-BaseChar">BaseChar</nt>
+| <nt def="NT-Ideographic">Ideographic</nt></rhs> </prod>
+<prod id='NT-BaseChar'><lhs>BaseChar</lhs>
+<rhs>[#x0041-#x005A]
+|&nbsp;[#x0061-#x007A]
+|&nbsp;[#x00C0-#x00D6]
+|&nbsp;[#x00D8-#x00F6]
+|&nbsp;[#x00F8-#x00FF]
+|&nbsp;[#x0100-#x0131]
+|&nbsp;[#x0134-#x013E]
+|&nbsp;[#x0141-#x0148]
+|&nbsp;[#x014A-#x017E]
+|&nbsp;[#x0180-#x01C3]
+|&nbsp;[#x01CD-#x01F0]
+|&nbsp;[#x01F4-#x01F5]
+|&nbsp;[#x01FA-#x0217]
+|&nbsp;[#x0250-#x02A8]
+|&nbsp;[#x02BB-#x02C1]
+|&nbsp;#x0386
+|&nbsp;[#x0388-#x038A]
+|&nbsp;#x038C
+|&nbsp;[#x038E-#x03A1]
+|&nbsp;[#x03A3-#x03CE]
+|&nbsp;[#x03D0-#x03D6]
+|&nbsp;#x03DA
+|&nbsp;#x03DC
+|&nbsp;#x03DE
+|&nbsp;#x03E0
+|&nbsp;[#x03E2-#x03F3]
+|&nbsp;[#x0401-#x040C]
+|&nbsp;[#x040E-#x044F]
+|&nbsp;[#x0451-#x045C]
+|&nbsp;[#x045E-#x0481]
+|&nbsp;[#x0490-#x04C4]
+|&nbsp;[#x04C7-#x04C8]
+|&nbsp;[#x04CB-#x04CC]
+|&nbsp;[#x04D0-#x04EB]
+|&nbsp;[#x04EE-#x04F5]
+|&nbsp;[#x04F8-#x04F9]
+|&nbsp;[#x0531-#x0556]
+|&nbsp;#x0559
+|&nbsp;[#x0561-#x0586]
+|&nbsp;[#x05D0-#x05EA]
+|&nbsp;[#x05F0-#x05F2]
+|&nbsp;[#x0621-#x063A]
+|&nbsp;[#x0641-#x064A]
+|&nbsp;[#x0671-#x06B7]
+|&nbsp;[#x06BA-#x06BE]
+|&nbsp;[#x06C0-#x06CE]
+|&nbsp;[#x06D0-#x06D3]
+|&nbsp;#x06D5
+|&nbsp;[#x06E5-#x06E6]
+|&nbsp;[#x0905-#x0939]
+|&nbsp;#x093D
+|&nbsp;[#x0958-#x0961]
+|&nbsp;[#x0985-#x098C]
+|&nbsp;[#x098F-#x0990]
+|&nbsp;[#x0993-#x09A8]
+|&nbsp;[#x09AA-#x09B0]
+|&nbsp;#x09B2
+|&nbsp;[#x09B6-#x09B9]
+|&nbsp;[#x09DC-#x09DD]
+|&nbsp;[#x09DF-#x09E1]
+|&nbsp;[#x09F0-#x09F1]
+|&nbsp;[#x0A05-#x0A0A]
+|&nbsp;[#x0A0F-#x0A10]
+|&nbsp;[#x0A13-#x0A28]
+|&nbsp;[#x0A2A-#x0A30]
+|&nbsp;[#x0A32-#x0A33]
+|&nbsp;[#x0A35-#x0A36]
+|&nbsp;[#x0A38-#x0A39]
+|&nbsp;[#x0A59-#x0A5C]
+|&nbsp;#x0A5E
+|&nbsp;[#x0A72-#x0A74]
+|&nbsp;[#x0A85-#x0A8B]
+|&nbsp;#x0A8D
+|&nbsp;[#x0A8F-#x0A91]
+|&nbsp;[#x0A93-#x0AA8]
+|&nbsp;[#x0AAA-#x0AB0]
+|&nbsp;[#x0AB2-#x0AB3]
+|&nbsp;[#x0AB5-#x0AB9]
+|&nbsp;#x0ABD
+|&nbsp;#x0AE0
+|&nbsp;[#x0B05-#x0B0C]
+|&nbsp;[#x0B0F-#x0B10]
+|&nbsp;[#x0B13-#x0B28]
+|&nbsp;[#x0B2A-#x0B30]
+|&nbsp;[#x0B32-#x0B33]
+|&nbsp;[#x0B36-#x0B39]
+|&nbsp;#x0B3D
+|&nbsp;[#x0B5C-#x0B5D]
+|&nbsp;[#x0B5F-#x0B61]
+|&nbsp;[#x0B85-#x0B8A]
+|&nbsp;[#x0B8E-#x0B90]
+|&nbsp;[#x0B92-#x0B95]
+|&nbsp;[#x0B99-#x0B9A]
+|&nbsp;#x0B9C
+|&nbsp;[#x0B9E-#x0B9F]
+|&nbsp;[#x0BA3-#x0BA4]
+|&nbsp;[#x0BA8-#x0BAA]
+|&nbsp;[#x0BAE-#x0BB5]
+|&nbsp;[#x0BB7-#x0BB9]
+|&nbsp;[#x0C05-#x0C0C]
+|&nbsp;[#x0C0E-#x0C10]
+|&nbsp;[#x0C12-#x0C28]
+|&nbsp;[#x0C2A-#x0C33]
+|&nbsp;[#x0C35-#x0C39]
+|&nbsp;[#x0C60-#x0C61]
+|&nbsp;[#x0C85-#x0C8C]
+|&nbsp;[#x0C8E-#x0C90]
+|&nbsp;[#x0C92-#x0CA8]
+|&nbsp;[#x0CAA-#x0CB3]
+|&nbsp;[#x0CB5-#x0CB9]
+|&nbsp;#x0CDE
+|&nbsp;[#x0CE0-#x0CE1]
+|&nbsp;[#x0D05-#x0D0C]
+|&nbsp;[#x0D0E-#x0D10]
+|&nbsp;[#x0D12-#x0D28]
+|&nbsp;[#x0D2A-#x0D39]
+|&nbsp;[#x0D60-#x0D61]
+|&nbsp;[#x0E01-#x0E2E]
+|&nbsp;#x0E30
+|&nbsp;[#x0E32-#x0E33]
+|&nbsp;[#x0E40-#x0E45]
+|&nbsp;[#x0E81-#x0E82]
+|&nbsp;#x0E84
+|&nbsp;[#x0E87-#x0E88]
+|&nbsp;#x0E8A
+|&nbsp;#x0E8D
+|&nbsp;[#x0E94-#x0E97]
+|&nbsp;[#x0E99-#x0E9F]
+|&nbsp;[#x0EA1-#x0EA3]
+|&nbsp;#x0EA5
+|&nbsp;#x0EA7
+|&nbsp;[#x0EAA-#x0EAB]
+|&nbsp;[#x0EAD-#x0EAE]
+|&nbsp;#x0EB0
+|&nbsp;[#x0EB2-#x0EB3]
+|&nbsp;#x0EBD
+|&nbsp;[#x0EC0-#x0EC4]
+|&nbsp;[#x0F40-#x0F47]
+|&nbsp;[#x0F49-#x0F69]
+|&nbsp;[#x10A0-#x10C5]
+|&nbsp;[#x10D0-#x10F6]
+|&nbsp;#x1100
+|&nbsp;[#x1102-#x1103]
+|&nbsp;[#x1105-#x1107]
+|&nbsp;#x1109
+|&nbsp;[#x110B-#x110C]
+|&nbsp;[#x110E-#x1112]
+|&nbsp;#x113C
+|&nbsp;#x113E
+|&nbsp;#x1140
+|&nbsp;#x114C
+|&nbsp;#x114E
+|&nbsp;#x1150
+|&nbsp;[#x1154-#x1155]
+|&nbsp;#x1159
+|&nbsp;[#x115F-#x1161]
+|&nbsp;#x1163
+|&nbsp;#x1165
+|&nbsp;#x1167
+|&nbsp;#x1169
+|&nbsp;[#x116D-#x116E]
+|&nbsp;[#x1172-#x1173]
+|&nbsp;#x1175
+|&nbsp;#x119E
+|&nbsp;#x11A8
+|&nbsp;#x11AB
+|&nbsp;[#x11AE-#x11AF]
+|&nbsp;[#x11B7-#x11B8]
+|&nbsp;#x11BA
+|&nbsp;[#x11BC-#x11C2]
+|&nbsp;#x11EB
+|&nbsp;#x11F0
+|&nbsp;#x11F9
+|&nbsp;[#x1E00-#x1E9B]
+|&nbsp;[#x1EA0-#x1EF9]
+|&nbsp;[#x1F00-#x1F15]
+|&nbsp;[#x1F18-#x1F1D]
+|&nbsp;[#x1F20-#x1F45]
+|&nbsp;[#x1F48-#x1F4D]
+|&nbsp;[#x1F50-#x1F57]
+|&nbsp;#x1F59
+|&nbsp;#x1F5B
+|&nbsp;#x1F5D
+|&nbsp;[#x1F5F-#x1F7D]
+|&nbsp;[#x1F80-#x1FB4]
+|&nbsp;[#x1FB6-#x1FBC]
+|&nbsp;#x1FBE
+|&nbsp;[#x1FC2-#x1FC4]
+|&nbsp;[#x1FC6-#x1FCC]
+|&nbsp;[#x1FD0-#x1FD3]
+|&nbsp;[#x1FD6-#x1FDB]
+|&nbsp;[#x1FE0-#x1FEC]
+|&nbsp;[#x1FF2-#x1FF4]
+|&nbsp;[#x1FF6-#x1FFC]
+|&nbsp;#x2126
+|&nbsp;[#x212A-#x212B]
+|&nbsp;#x212E
+|&nbsp;[#x2180-#x2182]
+|&nbsp;[#x3041-#x3094]
+|&nbsp;[#x30A1-#x30FA]
+|&nbsp;[#x3105-#x312C]
+|&nbsp;[#xAC00-#xD7A3]
+</rhs></prod>
+<prod id='NT-Ideographic'><lhs>Ideographic</lhs>
+<rhs>[#x4E00-#x9FA5]
+|&nbsp;#x3007
+|&nbsp;[#x3021-#x3029]
+</rhs></prod>
+<prod id='NT-CombiningChar'><lhs>CombiningChar</lhs>
+<rhs>[#x0300-#x0345]
+|&nbsp;[#x0360-#x0361]
+|&nbsp;[#x0483-#x0486]
+|&nbsp;[#x0591-#x05A1]
+|&nbsp;[#x05A3-#x05B9]
+|&nbsp;[#x05BB-#x05BD]
+|&nbsp;#x05BF
+|&nbsp;[#x05C1-#x05C2]
+|&nbsp;#x05C4
+|&nbsp;[#x064B-#x0652]
+|&nbsp;#x0670
+|&nbsp;[#x06D6-#x06DC]
+|&nbsp;[#x06DD-#x06DF]
+|&nbsp;[#x06E0-#x06E4]
+|&nbsp;[#x06E7-#x06E8]
+|&nbsp;[#x06EA-#x06ED]
+|&nbsp;[#x0901-#x0903]
+|&nbsp;#x093C
+|&nbsp;[#x093E-#x094C]
+|&nbsp;#x094D
+|&nbsp;[#x0951-#x0954]
+|&nbsp;[#x0962-#x0963]
+|&nbsp;[#x0981-#x0983]
+|&nbsp;#x09BC
+|&nbsp;#x09BE
+|&nbsp;#x09BF
+|&nbsp;[#x09C0-#x09C4]
+|&nbsp;[#x09C7-#x09C8]
+|&nbsp;[#x09CB-#x09CD]
+|&nbsp;#x09D7
+|&nbsp;[#x09E2-#x09E3]
+|&nbsp;#x0A02
+|&nbsp;#x0A3C
+|&nbsp;#x0A3E
+|&nbsp;#x0A3F
+|&nbsp;[#x0A40-#x0A42]
+|&nbsp;[#x0A47-#x0A48]
+|&nbsp;[#x0A4B-#x0A4D]
+|&nbsp;[#x0A70-#x0A71]
+|&nbsp;[#x0A81-#x0A83]
+|&nbsp;#x0ABC
+|&nbsp;[#x0ABE-#x0AC5]
+|&nbsp;[#x0AC7-#x0AC9]
+|&nbsp;[#x0ACB-#x0ACD]
+|&nbsp;[#x0B01-#x0B03]
+|&nbsp;#x0B3C
+|&nbsp;[#x0B3E-#x0B43]
+|&nbsp;[#x0B47-#x0B48]
+|&nbsp;[#x0B4B-#x0B4D]
+|&nbsp;[#x0B56-#x0B57]
+|&nbsp;[#x0B82-#x0B83]
+|&nbsp;[#x0BBE-#x0BC2]
+|&nbsp;[#x0BC6-#x0BC8]
+|&nbsp;[#x0BCA-#x0BCD]
+|&nbsp;#x0BD7
+|&nbsp;[#x0C01-#x0C03]
+|&nbsp;[#x0C3E-#x0C44]
+|&nbsp;[#x0C46-#x0C48]
+|&nbsp;[#x0C4A-#x0C4D]
+|&nbsp;[#x0C55-#x0C56]
+|&nbsp;[#x0C82-#x0C83]
+|&nbsp;[#x0CBE-#x0CC4]
+|&nbsp;[#x0CC6-#x0CC8]
+|&nbsp;[#x0CCA-#x0CCD]
+|&nbsp;[#x0CD5-#x0CD6]
+|&nbsp;[#x0D02-#x0D03]
+|&nbsp;[#x0D3E-#x0D43]
+|&nbsp;[#x0D46-#x0D48]
+|&nbsp;[#x0D4A-#x0D4D]
+|&nbsp;#x0D57
+|&nbsp;#x0E31
+|&nbsp;[#x0E34-#x0E3A]
+|&nbsp;[#x0E47-#x0E4E]
+|&nbsp;#x0EB1
+|&nbsp;[#x0EB4-#x0EB9]
+|&nbsp;[#x0EBB-#x0EBC]
+|&nbsp;[#x0EC8-#x0ECD]
+|&nbsp;[#x0F18-#x0F19]
+|&nbsp;#x0F35
+|&nbsp;#x0F37
+|&nbsp;#x0F39
+|&nbsp;#x0F3E
+|&nbsp;#x0F3F
+|&nbsp;[#x0F71-#x0F84]
+|&nbsp;[#x0F86-#x0F8B]
+|&nbsp;[#x0F90-#x0F95]
+|&nbsp;#x0F97
+|&nbsp;[#x0F99-#x0FAD]
+|&nbsp;[#x0FB1-#x0FB7]
+|&nbsp;#x0FB9
+|&nbsp;[#x20D0-#x20DC]
+|&nbsp;#x20E1
+|&nbsp;[#x302A-#x302F]
+|&nbsp;#x3099
+|&nbsp;#x309A
+</rhs></prod>
+<prod id='NT-Digit'><lhs>Digit</lhs>
+<rhs>[#x0030-#x0039]
+|&nbsp;[#x0660-#x0669]
+|&nbsp;[#x06F0-#x06F9]
+|&nbsp;[#x0966-#x096F]
+|&nbsp;[#x09E6-#x09EF]
+|&nbsp;[#x0A66-#x0A6F]
+|&nbsp;[#x0AE6-#x0AEF]
+|&nbsp;[#x0B66-#x0B6F]
+|&nbsp;[#x0BE7-#x0BEF]
+|&nbsp;[#x0C66-#x0C6F]
+|&nbsp;[#x0CE6-#x0CEF]
+|&nbsp;[#x0D66-#x0D6F]
+|&nbsp;[#x0E50-#x0E59]
+|&nbsp;[#x0ED0-#x0ED9]
+|&nbsp;[#x0F20-#x0F29]
+</rhs></prod>
+<prod id='NT-Extender'><lhs>Extender</lhs>
+<rhs>#x00B7
+|&nbsp;#x02D0
+|&nbsp;#x02D1
+|&nbsp;#x0387
+|&nbsp;#x0640
+|&nbsp;#x0E46
+|&nbsp;#x0EC6
+|&nbsp;#x3005
+|&nbsp;[#x3031-#x3035]
+|&nbsp;[#x309D-#x309E]
+|&nbsp;[#x30FC-#x30FE]
+</rhs></prod>
+
+</prodgroup>
+</scrap>
+</p>
+<p>The character classes defined here can be derived from the
+Unicode character database as follows:
+<ulist>
+<item>
+<p>Name start characters must have one of the categories Ll, Lu,
+Lo, Lt, Nl.</p>
+</item>
+<item>
+<p>Name characters other than Name-start characters
+must have one of the categories Mc, Me, Mn, Lm, or Nd.</p>
+</item>
+<item>
+<p>Characters in the compatibility area (i.e. with character code
+greater than #xF900 and less than #xFFFE) are not allowed in XML
+names.</p>
+</item>
+<item>
+<p>Characters which have a font or compatibility decomposition (i.e. those
+with a "compatibility formatting tag" in field 5 of the database --
+marked by field 5 beginning with a "&lt;") are not allowed.</p>
+</item>
+<item>
+<p>The following characters are treated as name-start characters
+rather than name characters, because the property file classifies
+them as Alphabetic: [#x02BB-#x02C1], #x0559, #x06E5, #x06E6.</p>
+</item>
+<item>
+<p>Characters #x20DD-#x20E0 are excluded (in accordance with
+Unicode, section 5.14).</p>
+</item>
+<item>
+<p>Character #x00B7 is classified as an extender, because the
+property list so identifies it.</p>
+</item>
+<item>
+<p>Character #x0387 is added as a name character, because #x00B7
+is its canonical equivalent.</p>
+</item>
+<item>
+<p>Characters ':' and '_' are allowed as name-start characters.</p>
+</item>
+<item>
+<p>Characters '-' and '.' are allowed as name characters.</p>
+</item>
+</ulist>
+</p>
+</div1>
+<inform-div1 id="sec-xml-and-sgml">
+<head>XML and SGML</head>
+
+<p>XML is designed to be a subset of SGML, in that every
+<termref def="dt-valid">valid</termref> XML document should also be a
+conformant SGML document.
+For a detailed comparison of the additional restrictions that XML places on
+documents beyond those of SGML, see <bibref ref='Clark'/>.
+</p>
+</inform-div1>
+<inform-div1 id="sec-entexpand">
+<head>Expansion of Entity and Character References</head>
+<p>This appendix contains some examples illustrating the
+sequence of entity- and character-reference recognition and
+expansion, as specified in <specref ref='entproc'/>.</p>
+<p>
+If the DTD contains the declaration
+<eg><![CDATA[<!ENTITY example "<p>An ampersand (&#38;#38;) may be escaped
+numerically (&#38;#38;#38;) or with a general entity
+(&amp;amp;).</p>" >
+]]></eg>
+then the XML processor will recognize the character references
+when it parses the entity declaration, and resolve them before
+storing the following string as the
+value of the entity "<code>example</code>":
+<eg><![CDATA[<p>An ampersand (&#38;) may be escaped
+numerically (&#38;#38;) or with a general entity
+(&amp;amp;).</p>
+]]></eg>
+A reference in the document to "<code>&amp;example;</code>"
+will cause the text to be reparsed, at which time the
+start- and end-tags of the "<code>p</code>" element will be recognized
+and the three references will be recognized and expanded,
+resulting in a "<code>p</code>" element with the following content
+(all data, no delimiters or markup):
+<eg><![CDATA[An ampersand (&) may be escaped
+numerically (&#38;) or with a general entity
+(&amp;).
+]]></eg>
+</p>
+<p>A more complex example will illustrate the rules and their
+effects fully. In the following example, the line numbers are
+solely for reference.
+<eg><![CDATA[1 <?xml version='1.0'?>
+2 <!DOCTYPE test [
+3 <!ELEMENT test (#PCDATA) >
+4 <!ENTITY % xx '&#37;zz;'>
+5 <!ENTITY % zz '&#60;!ENTITY tricky "error-prone" >' >
+6 %xx;
+7 ]>
+8 <test>This sample shows a &tricky; method.</test>
+]]></eg>
+This produces the following:
+<ulist spacing="compact">
+<item><p>in line 4, the reference to character 37 is expanded immediately,
+and the parameter entity "<code>xx</code>" is stored in the symbol
+table with the value "<code>%zz;</code>". Since the replacement text
+is not rescanned, the reference to parameter entity "<code>zz</code>"
+is not recognized. (And it would be an error if it were, since
+"<code>zz</code>" is not yet declared.)</p></item>
+<item><p>in line 5, the character reference "<code>&amp;#60;</code>" is
+expanded immediately and the parameter entity "<code>zz</code>" is
+stored with the replacement text
+"<code>&lt;!ENTITY tricky "error-prone" ></code>",
+which is a well-formed entity declaration.</p></item>
+<item><p>in line 6, the reference to "<code>xx</code>" is recognized,
+and the replacement text of "<code>xx</code>" (namely
+"<code>%zz;</code>") is parsed. The reference to "<code>zz</code>"
+is recognized in its turn, and its replacement text
+("<code>&lt;!ENTITY tricky "error-prone" ></code>") is parsed.
+The general entity "<code>tricky</code>" has now been
+declared, with the replacement text "<code>error-prone</code>".</p></item>
+<item><p>
+in line 8, the reference to the general entity "<code>tricky</code>" is
+recognized, and it is expanded, so the full content of the
+"<code>test</code>" element is the self-describing (and ungrammatical) string
+<emph>This sample shows a error-prone method.</emph>
+</p></item>
+</ulist>
+</p>
+</inform-div1>
+<inform-div1 id="determinism">
+<head>Deterministic Content Models</head>
+<p><termref def='dt-compat'>For compatibility</termref>, it is
+required
+that content models in element type declarations be deterministic.
+</p>
+<!-- FINAL EDIT: WebSGML allows ambiguity? -->
+<p>SGML
+requires deterministic content models (it calls them
+"unambiguous"); XML processors built using SGML systems may
+flag non-deterministic content models as errors.</p>
+<p>For example, the content model <code>((b, c) | (b, d))</code> is
+non-deterministic, because given an initial <code>b</code> the parser
+cannot know which <code>b</code> in the model is being matched without
+looking ahead to see which element follows the <code>b</code>.
+In this case, the two references to
+<code>b</code> can be collapsed
+into a single reference, making the model read
+<code>(b, (c | d))</code>. An initial <code>b</code> now clearly
+matches only a single name in the content model. The parser doesn't
+need to look ahead to see what follows; either <code>c</code> or
+<code>d</code> would be accepted.</p>
+<p>More formally: a finite state automaton may be constructed from the
+content model using the standard algorithms, e.g. algorithm 3.5
+in section 3.9
+of Aho, Sethi, and Ullman <bibref ref='Aho'/>.
+In many such algorithms, a follow set is constructed for each
+position in the regular expression (i.e., each leaf
+node in the
+syntax tree for the regular expression);
+if any position has a follow set in which
+more than one following position is
+labeled with the same element type name,
+then the content model is in error
+and may be reported as an error.
+</p>
+<p>Algorithms exist which allow many but not all non-deterministic
+content models to be reduced automatically to equivalent deterministic
+models; see Brüggemann-Klein 1991 <bibref ref='ABK'/>.</p>
+</inform-div1>
+<inform-div1 id="sec-guessing">
+<head>Autodetection of Character Encodings</head>
+<p>The XML encoding declaration functions as an internal label on each
+entity, indicating which character encoding is in use. Before an XML
+processor can read the internal label, however, it apparently has to
+know what character encoding is in use&mdash;which is what the internal label
+is trying to indicate. In the general case, this is a hopeless
+situation. It is not entirely hopeless in XML, however, because XML
+limits the general case in two ways: each implementation is assumed
+to support only a finite set of character encodings, and the XML
+encoding declaration is restricted in position and content in order to
+make it feasible to autodetect the character encoding in use in each
+entity in normal cases. Also, in many cases other sources of information
+are available in addition to the XML data stream itself.
+Two cases may be distinguished,
+depending on whether the XML entity is presented to the
+processor without, or with, any accompanying
+(external) information. We consider the first case first.
+</p>
+<p>
+Because each XML entity not in UTF-8 or UTF-16 format <emph>must</emph>
+begin with an XML encoding declaration, in which the first characters
+must be '<code>&lt;?xml</code>', any conforming processor can detect,
+after two to four octets of input, which of the following cases apply.
+In reading this list, it may help to know that in UCS-4, '&lt;' is
+"<code>#x0000003C</code>" and '?' is "<code>#x0000003F</code>", and the Byte
+Order Mark required of UTF-16 data streams is "<code>#xFEFF</code>".</p>
+<p>
+<ulist>
+<item>
+<p><code>00 00 00 3C</code>: UCS-4, big-endian machine (1234 order)</p>
+</item>
+<item>
+<p><code>3C 00 00 00</code>: UCS-4, little-endian machine (4321 order)</p>
+</item>
+<item>
+<p><code>00 00 3C 00</code>: UCS-4, unusual octet order (2143)</p>
+</item>
+<item>
+<p><code>00 3C 00 00</code>: UCS-4, unusual octet order (3412)</p>
+</item>
+<item>
+<p><code>FE FF</code>: UTF-16, big-endian</p>
+</item>
+<item>
+<p><code>FF FE</code>: UTF-16, little-endian</p>
+</item>
+<item>
+<p><code>00 3C 00 3F</code>: UTF-16, big-endian, no Byte Order Mark
+(and thus, strictly speaking, in error)</p>
+</item>
+<item>
+<p><code>3C 00 3F 00</code>: UTF-16, little-endian, no Byte Order Mark
+(and thus, strictly speaking, in error)</p>
+</item>
+<item>
+<p><code>3C 3F 78 6D</code>: UTF-8, ISO 646, ASCII, some part of ISO 8859,
+Shift-JIS, EUC, or any other 7-bit, 8-bit, or mixed-width encoding
+which ensures that the characters of ASCII have their normal positions,
+width,
+and values; the actual encoding declaration must be read to
+detect which of these applies, but since all of these encodings
+use the same bit patterns for the ASCII characters, the encoding
+declaration itself may be read reliably
+</p>
+</item>
+<item>
+<p><code>4C 6F A7 94</code>: EBCDIC (in some flavor; the full
+encoding declaration must be read to tell which code page is in
+use)</p>
+</item>
+<item>
+<p>other: UTF-8 without an encoding declaration, or else
+the data stream is corrupt, fragmentary, or enclosed in
+a wrapper of some kind</p>
+</item>
+</ulist>
+</p>
+<p>
+This level of autodetection is enough to read the XML encoding
+declaration and parse the character-encoding identifier, which is
+still necessary to distinguish the individual members of each family
+of encodings (e.g. to tell UTF-8 from 8859, and the parts of 8859
+from each other, or to distinguish the specific EBCDIC code page in
+use, and so on).
+</p>
+<p>
+Because the contents of the encoding declaration are restricted to
+ASCII characters, a processor can reliably read the entire encoding
+declaration as soon as it has detected which family of encodings is in
+use. Since in practice, all widely used character encodings fall into
+one of the categories above, the XML encoding declaration allows
+reasonably reliable in-band labeling of character encodings, even when
+external sources of information at the operating-system or
+transport-protocol level are unreliable.
+</p>
+<p>
+Once the processor has detected the character encoding in use, it can
+act appropriately, whether by invoking a separate input routine for
+each case, or by calling the proper conversion function on each
+character of input.
+</p>
+<p>
+Like any self-labeling system, the XML encoding declaration will not
+work if any software changes the entity's character set or encoding
+without updating the encoding declaration. Implementors of
+character-encoding routines should be careful to ensure the accuracy
+of the internal and external information used to label the entity.
+</p>
+<p>The second possible case occurs when the XML entity is accompanied
+by encoding information, as in some file systems and some network
+protocols.
+When multiple sources of information are available,
+
+their relative
+priority and the preferred method of handling conflict should be
+specified as part of the higher-level protocol used to deliver XML.
+Rules for the relative priority of the internal label and the
+MIME-type label in an external header, for example, should be part of the
+RFC document defining the text/xml and application/xml MIME types. In
+the interests of interoperability, however, the following rules
+are recommended.
+<ulist>
+<item><p>If an XML entity is in a file, the Byte-Order Mark
+and encoding-declaration PI are used (if present) to determine the
+character encoding. All other heuristics and sources of information
+are solely for error recovery.
+</p></item>
+<item><p>If an XML entity is delivered with a
+MIME type of text/xml, then the <code>charset</code> parameter
+on the MIME type determines the
+character encoding method; all other heuristics and sources of
+information are solely for error recovery.
+</p></item>
+<item><p>If an XML entity is delivered
+with a
+MIME type of application/xml, then the Byte-Order Mark and
+encoding-declaration PI are used (if present) to determine the
+character encoding. All other heuristics and sources of
+information are solely for error recovery.
+</p></item>
+</ulist>
+These rules apply only in the absence of protocol-level documentation;
+in particular, when the MIME types text/xml and application/xml are
+defined, the recommendations of the relevant RFC will supersede
+these rules.
+</p>
+
+</inform-div1>
+
+<inform-div1 id="sec-xml-wg">
+<head>W3C XML Working Group</head>
+
+<p>This specification was prepared and approved for publication by the
+W3C XML Working Group (WG). WG approval of this specification does
+not necessarily imply that all WG members voted for its approval.
+The current and former members of the XML WG are:</p>
+
+<orglist>
+<member><name>Jon Bosak, Sun</name><role>Chair</role></member>
+<member><name>James Clark</name><role>Technical Lead</role></member>
+<member><name>Tim Bray, Textuality and Netscape</name><role>XML Co-editor</role></member>
+<member><name>Jean Paoli, Microsoft</name><role>XML Co-editor</role></member>
+<member><name>C. M. Sperberg-McQueen, U. of Ill.</name><role>XML
+Co-editor</role></member>
+<member><name>Dan Connolly, W3C</name><role>W3C Liaison</role></member>
+<member><name>Paula Angerstein, Texcel</name></member>
+<member><name>Steve DeRose, INSO</name></member>
+<member><name>Dave Hollander, HP</name></member>
+<member><name>Eliot Kimber, ISOGEN</name></member>
+<member><name>Eve Maler, ArborText</name></member>
+<member><name>Tom Magliery, NCSA</name></member>
+<member><name>Murray Maloney, Muzmo and Grif</name></member>
+<member><name>Makoto Murata, Fuji Xerox Information Systems</name></member>
+<member><name>Joel Nava, Adobe</name></member>
+<member><name>Conleth O'Connell, Vignette</name></member>
+<member><name>Peter Sharpe, SoftQuad</name></member>
+<member><name>John Tigue, DataChannel</name></member>
+</orglist>
+
+</inform-div1>
+</back>
+</spec>
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-default-dtd-file:"~/sgml/spec.ced"
+sgml-omittag:t
+sgml-shorttag:t
+End:
+-->
diff --git a/libxml2/test/relaxng/tutor11_2.rng b/libxml2/test/relaxng/tutor11_2.rng
new file mode 100644
index 0000000..038ac48
--- /dev/null
+++ b/libxml2/test/relaxng/tutor11_2.rng
@@ -0,0 +1,14 @@
+<element name="card" ns="http://www.example.com"
+ xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <nsName/>
+ <nsName ns=""/>
+ </except>
+ </anyName>
+ </attribute>
+ </zeroOrMore>
+ <text/>
+</element>
diff --git a/libxml2/test/relaxng/tutor11_2_1.xml b/libxml2/test/relaxng/tutor11_2_1.xml
new file mode 100644
index 0000000..2b84ebb
--- /dev/null
+++ b/libxml2/test/relaxng/tutor11_2_1.xml
@@ -0,0 +1,5 @@
+<card xmlns="http://www.example.com"
+ xmlns:a="http://www.example.com/a" a:foo="works"
+ xmlns:b="http://www.example.com/b" b:foo="works">
+ This should work
+</card>
diff --git a/libxml2/test/relaxng/tutor11_2_2.xml b/libxml2/test/relaxng/tutor11_2_2.xml
new file mode 100644
index 0000000..b06b4e7
--- /dev/null
+++ b/libxml2/test/relaxng/tutor11_2_2.xml
@@ -0,0 +1,5 @@
+<card xmlns="http://www.example.com"
+ xmlns:a="http://www.example.com/a" a:foo="works"
+ xmlns:b="http://www.example.com" b:foo="fails">
+ This should fail
+</card>
diff --git a/libxml2/test/relaxng/tutor11_2_3.xml b/libxml2/test/relaxng/tutor11_2_3.xml
new file mode 100644
index 0000000..c849c03
--- /dev/null
+++ b/libxml2/test/relaxng/tutor11_2_3.xml
@@ -0,0 +1,5 @@
+<card xmlns="http://www.example.com"
+ xmlns:a="http://example.com/a" a:foo="works"
+ b="fails">
+ This should fail
+</card>
diff --git a/libxml2/test/relaxng/tutor11_3.rng b/libxml2/test/relaxng/tutor11_3.rng
new file mode 100644
index 0000000..72e041d
--- /dev/null
+++ b/libxml2/test/relaxng/tutor11_3.rng
@@ -0,0 +1,15 @@
+<element name="example" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <attribute>
+ <anyName/>
+ </attribute>
+ </zeroOrMore>
+ <optional>
+ <attribute name="xml:space">
+ <choice>
+ <value>default</value>
+ <value>preserve</value>
+ </choice>
+ </attribute>
+ </optional>
+</element>
diff --git a/libxml2/test/relaxng/tutor11_3_1.xml b/libxml2/test/relaxng/tutor11_3_1.xml
new file mode 100644
index 0000000..01b47fc
--- /dev/null
+++ b/libxml2/test/relaxng/tutor11_3_1.xml
@@ -0,0 +1 @@
+<example foo="bar" xml:space="default"/>
diff --git a/libxml2/test/relaxng/tutor11_4.rng b/libxml2/test/relaxng/tutor11_4.rng
new file mode 100644
index 0000000..158c7a5
--- /dev/null
+++ b/libxml2/test/relaxng/tutor11_4.rng
@@ -0,0 +1,19 @@
+<element name="example" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <name>xml:space</name>
+ </except>
+ </anyName>
+ </attribute>
+ </zeroOrMore>
+ <optional>
+ <attribute name="xml:space">
+ <choice>
+ <value>default</value>
+ <value>preserve</value>
+ </choice>
+ </attribute>
+ </optional>
+</element>
diff --git a/libxml2/test/relaxng/tutor11_4_1.xml b/libxml2/test/relaxng/tutor11_4_1.xml
new file mode 100644
index 0000000..01b47fc
--- /dev/null
+++ b/libxml2/test/relaxng/tutor11_4_1.xml
@@ -0,0 +1 @@
+<example foo="bar" xml:space="default"/>
diff --git a/libxml2/test/relaxng/tutor12_1.rng b/libxml2/test/relaxng/tutor12_1.rng
new file mode 100644
index 0000000..3902687
--- /dev/null
+++ b/libxml2/test/relaxng/tutor12_1.rng
@@ -0,0 +1,13 @@
+<element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://www.example.com/annotation">
+ <zeroOrMore>
+ <element name="card">
+ <a:documentation>Information about a single email address.</a:documentation>
+ <element name="name">
+ <text/>
+ </element>
+ <element name="email">
+ <text/>
+ </element>
+ </element>
+ </zeroOrMore>
+</element>
diff --git a/libxml2/test/relaxng/tutor12_1_1.xml b/libxml2/test/relaxng/tutor12_1_1.xml
new file mode 100644
index 0000000..693df18
--- /dev/null
+++ b/libxml2/test/relaxng/tutor12_1_1.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card><name>foo</name><email>bar</email></card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor13_1.rng b/libxml2/test/relaxng/tutor13_1.rng
new file mode 100644
index 0000000..f945142
--- /dev/null
+++ b/libxml2/test/relaxng/tutor13_1.rng
@@ -0,0 +1,33 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+<start>
+ <element name="doc">
+ <zeroOrMore>
+ <choice>
+ <element name="p">
+ <ref name="inline"/>
+ </element>
+ <grammar>
+ <include href="table.rng">
+ <define name="cell.content">
+ <parentRef name="inline"/>
+ </define>
+ </include>
+ </grammar>
+ </choice>
+ </zeroOrMore>
+ </element>
+</start>
+
+<define name="inline">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <element name="em">
+ <ref name="inline"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+</define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor13_1_1.xml b/libxml2/test/relaxng/tutor13_1_1.xml
new file mode 100644
index 0000000..a5cb437
--- /dev/null
+++ b/libxml2/test/relaxng/tutor13_1_1.xml
@@ -0,0 +1,12 @@
+<doc>
+ <p>start</p>
+ <table>
+ <tr>
+ <td> <em>hello</em> !</td>
+ </tr>
+ <tr>
+ <td></td>
+ </tr>
+ </table>
+ <p>end</p>
+</doc>
diff --git a/libxml2/test/relaxng/tutor14_1.rng b/libxml2/test/relaxng/tutor14_1.rng
new file mode 100644
index 0000000..8744356
--- /dev/null
+++ b/libxml2/test/relaxng/tutor14_1.rng
@@ -0,0 +1,53 @@
+<element name="html" xmlns="http://relaxng.org/ns/structure/1.0">
+ <element name="head">
+ <element name="title">
+ <text/>
+ </element>
+ </element>
+ <element name="body">
+ <element name="table">
+ <attribute name="class">
+ <value>addressBook</value>
+ </attribute>
+ <oneOrMore>
+ <element name="tr">
+ <attribute name="class">
+ <value>card</value>
+ </attribute>
+ <element name="td">
+ <attribute name="class">
+ <value>name</value>
+ </attribute>
+ <interleave>
+ <text/>
+ <optional>
+ <element name="span">
+ <attribute name="class">
+ <value>givenName</value>
+ </attribute>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="span">
+ <attribute name="class">
+ <value>familyName</value>
+ </attribute>
+ <text/>
+ </element>
+ </optional>
+ </interleave>
+ </element>
+ <element name="td">
+ <attribute name="class">
+ <value>email</value>
+ </attribute>
+ <text/>
+ </element>
+ </element>
+ </oneOrMore>
+ </element>
+ </element>
+</element>
+
+
diff --git a/libxml2/test/relaxng/tutor1_1.rng b/libxml2/test/relaxng/tutor1_1.rng
new file mode 100644
index 0000000..86f8cd1
--- /dev/null
+++ b/libxml2/test/relaxng/tutor1_1.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/libxml2/test/relaxng/tutor1_1_1.xml b/libxml2/test/relaxng/tutor1_1_1.xml
new file mode 100644
index 0000000..edac8ba
--- /dev/null
+++ b/libxml2/test/relaxng/tutor1_1_1.xml
@@ -0,0 +1,10 @@
+<addressBook>
+ <card>
+ <name>John Smith</name>
+ <email>js@example.com</email>
+ </card>
+ <card>
+ <name>Fred Bloggs</name>
+ <email>fb@example.net</email>
+ </card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor1_2.rng b/libxml2/test/relaxng/tutor1_2.rng
new file mode 100644
index 0000000..ed9cf7a
--- /dev/null
+++ b/libxml2/test/relaxng/tutor1_2.rng
@@ -0,0 +1,12 @@
+<element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
+ <oneOrMore>
+ <element name="card">
+ <element name="name">
+ <text/>
+ </element>
+ <element name="email">
+ <text/>
+ </element>
+ </element>
+ </oneOrMore>
+</element>
diff --git a/libxml2/test/relaxng/tutor1_2_1.xml b/libxml2/test/relaxng/tutor1_2_1.xml
new file mode 100644
index 0000000..edac8ba
--- /dev/null
+++ b/libxml2/test/relaxng/tutor1_2_1.xml
@@ -0,0 +1,10 @@
+<addressBook>
+ <card>
+ <name>John Smith</name>
+ <email>js@example.com</email>
+ </card>
+ <card>
+ <name>Fred Bloggs</name>
+ <email>fb@example.net</email>
+ </card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor1_3.rng b/libxml2/test/relaxng/tutor1_3.rng
new file mode 100644
index 0000000..23886d0
--- /dev/null
+++ b/libxml2/test/relaxng/tutor1_3.rng
@@ -0,0 +1,17 @@
+<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>
+ <optional>
+ <element name="note">
+ <text/>
+ </element>
+ </optional>
+ </element>
+ </zeroOrMore>
+</element>
diff --git a/libxml2/test/relaxng/tutor1_3_1.xml b/libxml2/test/relaxng/tutor1_3_1.xml
new file mode 100644
index 0000000..edac8ba
--- /dev/null
+++ b/libxml2/test/relaxng/tutor1_3_1.xml
@@ -0,0 +1,10 @@
+<addressBook>
+ <card>
+ <name>John Smith</name>
+ <email>js@example.com</email>
+ </card>
+ <card>
+ <name>Fred Bloggs</name>
+ <email>fb@example.net</email>
+ </card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor1_4.rng b/libxml2/test/relaxng/tutor1_4.rng
new file mode 100644
index 0000000..5744fce
--- /dev/null
+++ b/libxml2/test/relaxng/tutor1_4.rng
@@ -0,0 +1,12 @@
+<rng:element name="addressBook" xmlns:rng="http://relaxng.org/ns/structure/1.0">
+ <rng:zeroOrMore>
+ <rng:element name="card">
+ <rng:element name="name">
+ <rng:text/>
+ </rng:element>
+ <rng:element name="email">
+ <rng:text/>
+ </rng:element>
+ </rng:element>
+ </rng:zeroOrMore>
+</rng:element>
diff --git a/libxml2/test/relaxng/tutor1_4_1.xml b/libxml2/test/relaxng/tutor1_4_1.xml
new file mode 100644
index 0000000..edac8ba
--- /dev/null
+++ b/libxml2/test/relaxng/tutor1_4_1.xml
@@ -0,0 +1,10 @@
+<addressBook>
+ <card>
+ <name>John Smith</name>
+ <email>js@example.com</email>
+ </card>
+ <card>
+ <name>Fred Bloggs</name>
+ <email>fb@example.net</email>
+ </card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor2_1.rng b/libxml2/test/relaxng/tutor2_1.rng
new file mode 100644
index 0000000..76a3ce4
--- /dev/null
+++ b/libxml2/test/relaxng/tutor2_1.rng
@@ -0,0 +1,27 @@
+<element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <element name="card">
+ <choice>
+ <element name="name">
+ <text/>
+ </element>
+ <group>
+ <element name="givenName">
+ <text/>
+ </element>
+ <element name="familyName">
+ <text/>
+ </element>
+ </group>
+ </choice>
+ <element name="email">
+ <text/>
+ </element>
+ <optional>
+ <element name="note">
+ <text/>
+ </element>
+ </optional>
+ </element>
+ </zeroOrMore>
+</element>
diff --git a/libxml2/test/relaxng/tutor2_1_1.xml b/libxml2/test/relaxng/tutor2_1_1.xml
new file mode 100644
index 0000000..79b5584
--- /dev/null
+++ b/libxml2/test/relaxng/tutor2_1_1.xml
@@ -0,0 +1,11 @@
+<addressBook>
+ <card>
+ <givenName>John</givenName>
+ <familyName>Smith</familyName>
+ <email>js@example.com</email>
+ </card>
+ <card>
+ <name>Fred Bloggs</name>
+ <email>fb@example.net</email>
+ </card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor3_1.rng b/libxml2/test/relaxng/tutor3_1.rng
new file mode 100644
index 0000000..78d6736
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_1.rng
@@ -0,0 +1,12 @@
+<element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <element name="card">
+ <attribute name="name">
+ <text/>
+ </attribute>
+ <attribute name="email">
+ <text/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+</element>
diff --git a/libxml2/test/relaxng/tutor3_1_1.xml b/libxml2/test/relaxng/tutor3_1_1.xml
new file mode 100644
index 0000000..f9849e6
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_1_1.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card name="John Smith" email="js@example.com"/>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor3_1_2.xml b/libxml2/test/relaxng/tutor3_1_2.xml
new file mode 100644
index 0000000..e9a766f
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_1_2.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card email="js@example.com" name="John Smith"/>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor3_2.rng b/libxml2/test/relaxng/tutor3_2.rng
new file mode 100644
index 0000000..eeb6fa4
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_2.rng
@@ -0,0 +1,8 @@
+<element name="card" xmlns="http://relaxng.org/ns/structure/1.0">
+ <element name="name">
+ <text/>
+ </element>
+ <element name="email">
+ <text/>
+ </element>
+</element>
diff --git a/libxml2/test/relaxng/tutor3_2_1.xml b/libxml2/test/relaxng/tutor3_2_1.xml
new file mode 100644
index 0000000..73c2fa6
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_2_1.xml
@@ -0,0 +1 @@
+<card><email>js@example.com</email><name>John Smith</name></card>
diff --git a/libxml2/test/relaxng/tutor3_3.rng b/libxml2/test/relaxng/tutor3_3.rng
new file mode 100644
index 0000000..66193e8
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_3.rng
@@ -0,0 +1,17 @@
+<element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <element name="card">
+ <attribute name="name">
+ <text/>
+ </attribute>
+ <attribute name="email">
+ <text/>
+ </attribute>
+ <optional>
+ <attribute name="note">
+ <text/>
+ </attribute>
+ </optional>
+ </element>
+ </zeroOrMore>
+</element>
diff --git a/libxml2/test/relaxng/tutor3_3_1.xml b/libxml2/test/relaxng/tutor3_3_1.xml
new file mode 100644
index 0000000..d9c9560
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_3_1.xml
@@ -0,0 +1,4 @@
+<addressBook>
+ <card name="foo" email="bar"/>
+ <card name="foo2" note="second" email="bar2"/>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor3_4.rng b/libxml2/test/relaxng/tutor3_4.rng
new file mode 100644
index 0000000..9a63917
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_4.rng
@@ -0,0 +1,22 @@
+<element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <element name="card">
+ <choice>
+ <attribute name="name">
+ <text/>
+ </attribute>
+ <group>
+ <attribute name="givenName">
+ <text/>
+ </attribute>
+ <attribute name="familyName">
+ <text/>
+ </attribute>
+ </group>
+ </choice>
+ <attribute name="email">
+ <text/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+</element>
diff --git a/libxml2/test/relaxng/tutor3_4_1.xml b/libxml2/test/relaxng/tutor3_4_1.xml
new file mode 100644
index 0000000..bb2a54b
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_4_1.xml
@@ -0,0 +1,4 @@
+<addressBook>
+ <card name="foo" email="bar"/>
+ <card givenName="d" familyName="v" email="bar"/>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor3_5.rng b/libxml2/test/relaxng/tutor3_5.rng
new file mode 100644
index 0000000..829f219
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_5.rng
@@ -0,0 +1,22 @@
+<element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <element name="card">
+ <choice>
+ <element name="name">
+ <text/>
+ </element>
+ <attribute name="name">
+ <text/>
+ </attribute>
+ </choice>
+ <choice>
+ <element name="email">
+ <text/>
+ </element>
+ <attribute name="email">
+ <text/>
+ </attribute>
+ </choice>
+ </element>
+ </zeroOrMore>
+</element>
diff --git a/libxml2/test/relaxng/tutor3_5_1.xml b/libxml2/test/relaxng/tutor3_5_1.xml
new file mode 100644
index 0000000..a457220
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_5_1.xml
@@ -0,0 +1,7 @@
+<addressBook>
+<card name="John Smith" email="js@example.com"/>
+<card email="js@example.com" name="John Smith"/>
+<card email="js@example.com"><name>John Smith</name></card>
+<card name="John Smith"><email>js@example.com</email></card>
+<card><name>John Smith</name><email>js@example.com</email></card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor3_5_2.xml b/libxml2/test/relaxng/tutor3_5_2.xml
new file mode 100644
index 0000000..baa56dc
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_5_2.xml
@@ -0,0 +1,3 @@
+<addressBook>
+<card><email>js@example.com</email><name>John Smith</name></card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor3_6.rng b/libxml2/test/relaxng/tutor3_6.rng
new file mode 100644
index 0000000..1c8814a
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_6.rng
@@ -0,0 +1,8 @@
+<element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <element name="card">
+ <attribute name="email"/>
+ </element>
+ </zeroOrMore>
+</element>
+
diff --git a/libxml2/test/relaxng/tutor3_6_1.xml b/libxml2/test/relaxng/tutor3_6_1.xml
new file mode 100644
index 0000000..8081734
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_6_1.xml
@@ -0,0 +1,3 @@
+<addressBook>
+<card email="js@example.com"/>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor3_7.rng b/libxml2/test/relaxng/tutor3_7.rng
new file mode 100644
index 0000000..84ff576
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_7.rng
@@ -0,0 +1,2 @@
+<element name="x" xmlns="http://relaxng.org/ns/structure/1.0"/>
+
diff --git a/libxml2/test/relaxng/tutor3_7_1.xml b/libxml2/test/relaxng/tutor3_7_1.xml
new file mode 100644
index 0000000..61aa6d7
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_7_1.xml
@@ -0,0 +1 @@
+<x/>
diff --git a/libxml2/test/relaxng/tutor3_8.rng b/libxml2/test/relaxng/tutor3_8.rng
new file mode 100644
index 0000000..1b780e6
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_8.rng
@@ -0,0 +1,17 @@
+<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>
+ <optional>
+ <element name="prefersHTML">
+ <empty/>
+ </element>
+ </optional>
+ </element>
+ </zeroOrMore>
+</element>
diff --git a/libxml2/test/relaxng/tutor3_8_1.xml b/libxml2/test/relaxng/tutor3_8_1.xml
new file mode 100644
index 0000000..8d47e27
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_8_1.xml
@@ -0,0 +1,4 @@
+<addressBook>
+ <card><name>foo</name><email>bar</email><prefersHTML/></card>
+ <card><name>foo</name><email>bar</email></card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor3_9.rng b/libxml2/test/relaxng/tutor3_9.rng
new file mode 100644
index 0000000..a3895cc
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_9.rng
@@ -0,0 +1,5 @@
+<element name="card" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="email">
+ <text/>
+ </attribute>
+</element>
diff --git a/libxml2/test/relaxng/tutor3_9_1.xml b/libxml2/test/relaxng/tutor3_9_1.xml
new file mode 100644
index 0000000..9153bc8
--- /dev/null
+++ b/libxml2/test/relaxng/tutor3_9_1.xml
@@ -0,0 +1 @@
+<card email="foo"/>
diff --git a/libxml2/test/relaxng/tutor4_1.rng b/libxml2/test/relaxng/tutor4_1.rng
new file mode 100644
index 0000000..dd10602
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_1.rng
@@ -0,0 +1,22 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <start>
+ <element name="addressBook">
+ <zeroOrMore>
+ <element name="card">
+ <ref name="cardContent"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </start>
+
+ <define name="cardContent">
+ <element name="name">
+ <text/>
+ </element>
+ <element name="email">
+ <text/>
+ </element>
+ </define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor4_1_1.xml b/libxml2/test/relaxng/tutor4_1_1.xml
new file mode 100644
index 0000000..9b8616a
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_1_1.xml
@@ -0,0 +1,4 @@
+<addressBook>
+ <card><name>John Smith</name><email>js@example.com"</email></card>
+ <card><name>John Smith2</name><email>js2@example.com"</email></card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor4_2.rng b/libxml2/test/relaxng/tutor4_2.rng
new file mode 100644
index 0000000..644b06e
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_2.rng
@@ -0,0 +1,34 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <start>
+ <ref name="AddressBook"/>
+ </start>
+
+ <define name="AddressBook">
+ <element name="addressBook">
+ <zeroOrMore>
+ <ref name="Card"/>
+ </zeroOrMore>
+ </element>
+ </define>
+
+ <define name="Card">
+ <element name="card">
+ <ref name="Name"/>
+ <ref name="Email"/>
+ </element>
+ </define>
+
+ <define name="Name">
+ <element name="name">
+ <text/>
+ </element>
+ </define>
+
+ <define name="Email">
+ <element name="email">
+ <text/>
+ </element>
+ </define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor4_2_1.xml b/libxml2/test/relaxng/tutor4_2_1.xml
new file mode 100644
index 0000000..9b8616a
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_2_1.xml
@@ -0,0 +1,4 @@
+<addressBook>
+ <card><name>John Smith</name><email>js@example.com"</email></card>
+ <card><name>John Smith2</name><email>js2@example.com"</email></card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor4_3.rng b/libxml2/test/relaxng/tutor4_3.rng
new file mode 100644
index 0000000..0f2a0a9
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_3.rng
@@ -0,0 +1,27 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="p">
+ <ref name="inline"/>
+ </element>
+ </start>
+
+ <define name="inline">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <element name="bold">
+ <ref name="inline"/>
+ </element>
+ <element name="italic">
+ <ref name="inline"/>
+ </element>
+ <element name="span">
+ <optional>
+ <attribute name="style"/>
+ </optional>
+ <ref name="inline"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/tutor4_3_1.xml b/libxml2/test/relaxng/tutor4_3_1.xml
new file mode 100644
index 0000000..31ee882
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_3_1.xml
@@ -0,0 +1 @@
+<p></p>
diff --git a/libxml2/test/relaxng/tutor4_3_2.xml b/libxml2/test/relaxng/tutor4_3_2.xml
new file mode 100644
index 0000000..3a8b953
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_3_2.xml
@@ -0,0 +1 @@
+<p>a</p>
diff --git a/libxml2/test/relaxng/tutor4_3_3.xml b/libxml2/test/relaxng/tutor4_3_3.xml
new file mode 100644
index 0000000..dbf9bd5
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_3_3.xml
@@ -0,0 +1 @@
+<p><bold></bold></p>
diff --git a/libxml2/test/relaxng/tutor4_3_4.xml b/libxml2/test/relaxng/tutor4_3_4.xml
new file mode 100644
index 0000000..5c284e6
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_3_4.xml
@@ -0,0 +1 @@
+<p><bold><italic>c</italic></bold></p>
diff --git a/libxml2/test/relaxng/tutor4_3_5.xml b/libxml2/test/relaxng/tutor4_3_5.xml
new file mode 100644
index 0000000..ddc7af2
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_3_5.xml
@@ -0,0 +1 @@
+<p>a<bold>b<italic>c</italic>d</bold>e<span>f</span>g</p>
diff --git a/libxml2/test/relaxng/tutor4_3_6.xml b/libxml2/test/relaxng/tutor4_3_6.xml
new file mode 100644
index 0000000..f715763
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_3_6.xml
@@ -0,0 +1 @@
+<p>a<bold>b<span style="foo">c</span>d</bold>e<italic>f</italic>g</p>
diff --git a/libxml2/test/relaxng/tutor4_4.rng b/libxml2/test/relaxng/tutor4_4.rng
new file mode 100644
index 0000000..4e4f19c
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_4.rng
@@ -0,0 +1,28 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="p">
+ <ref name="inline"/>
+ </element>
+ </start>
+
+ <define name="inline">
+ <choice>
+ <text/>
+ <element name="bold">
+ <ref name="inline"/>
+ </element>
+ <element name="italic">
+ <ref name="inline"/>
+ </element>
+ <element name="span">
+ <optional>
+ <attribute name="style"/>
+ </optional>
+ <ref name="inline"/>
+ </element>
+ </choice>
+ <optional>
+ <ref name="inline"/>
+ </optional>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/tutor4_4_1.xml b/libxml2/test/relaxng/tutor4_4_1.xml
new file mode 100644
index 0000000..ddc7af2
--- /dev/null
+++ b/libxml2/test/relaxng/tutor4_4_1.xml
@@ -0,0 +1 @@
+<p>a<bold>b<italic>c</italic>d</bold>e<span>f</span>g</p>
diff --git a/libxml2/test/relaxng/tutor5_1.rng b/libxml2/test/relaxng/tutor5_1.rng
new file mode 100644
index 0000000..503a043
--- /dev/null
+++ b/libxml2/test/relaxng/tutor5_1.rng
@@ -0,0 +1,3 @@
+<element name="number" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="int" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
+</element>
diff --git a/libxml2/test/relaxng/tutor5_1_1.xml b/libxml2/test/relaxng/tutor5_1_1.xml
new file mode 100644
index 0000000..aa01853
--- /dev/null
+++ b/libxml2/test/relaxng/tutor5_1_1.xml
@@ -0,0 +1 @@
+<number>5</number>
diff --git a/libxml2/test/relaxng/tutor5_2.rng b/libxml2/test/relaxng/tutor5_2.rng
new file mode 100644
index 0000000..9d749dc
--- /dev/null
+++ b/libxml2/test/relaxng/tutor5_2.rng
@@ -0,0 +1,9 @@
+<element name="point" xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <element name="x">
+ <data type="double"/>
+ </element>
+ <element name="y">
+ <data type="double"/>
+ </element>
+</element>
diff --git a/libxml2/test/relaxng/tutor5_2_1.xml b/libxml2/test/relaxng/tutor5_2_1.xml
new file mode 100644
index 0000000..75c387d
--- /dev/null
+++ b/libxml2/test/relaxng/tutor5_2_1.xml
@@ -0,0 +1 @@
+<point><x>1</x><y>5.20</y></point>
diff --git a/libxml2/test/relaxng/tutor5_3.rng b/libxml2/test/relaxng/tutor5_3.rng
new file mode 100644
index 0000000..e49f6ec
--- /dev/null
+++ b/libxml2/test/relaxng/tutor5_3.rng
@@ -0,0 +1,6 @@
+<element name="bad" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="string"/>
+ <element name="note">
+ <text/>
+ </element>
+</element>
diff --git a/libxml2/test/relaxng/tutor5_3_1.xml b/libxml2/test/relaxng/tutor5_3_1.xml
new file mode 100644
index 0000000..bd73098
--- /dev/null
+++ b/libxml2/test/relaxng/tutor5_3_1.xml
@@ -0,0 +1 @@
+<bad>5<note>fails</note></bad>
diff --git a/libxml2/test/relaxng/tutor5_4.rng b/libxml2/test/relaxng/tutor5_4.rng
new file mode 100644
index 0000000..e6aae94
--- /dev/null
+++ b/libxml2/test/relaxng/tutor5_4.rng
@@ -0,0 +1,6 @@
+<element name="ok" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="string"/>
+ <attribute name="note">
+ <text/>
+ </attribute>
+</element>
diff --git a/libxml2/test/relaxng/tutor5_4_1.xml b/libxml2/test/relaxng/tutor5_4_1.xml
new file mode 100644
index 0000000..c9cdef4
--- /dev/null
+++ b/libxml2/test/relaxng/tutor5_4_1.xml
@@ -0,0 +1 @@
+<ok note="foo">5</ok>
diff --git a/libxml2/test/relaxng/tutor5_5.rng b/libxml2/test/relaxng/tutor5_5.rng
new file mode 100644
index 0000000..b620ab8
--- /dev/null
+++ b/libxml2/test/relaxng/tutor5_5.rng
@@ -0,0 +1,5 @@
+<element name="email" xmlns="http://relaxng.org/ns/structure/1.0">
+ <data type="string">
+ <param name="maxLength">127</param>
+ </data>
+</element>
diff --git a/libxml2/test/relaxng/tutor6_1.rng b/libxml2/test/relaxng/tutor6_1.rng
new file mode 100644
index 0000000..7a06092
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_1.rng
@@ -0,0 +1,10 @@
+<element name="card" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="name"/>
+ <attribute name="email"/>
+ <attribute name="preferredFormat">
+ <choice>
+ <value>html</value>
+ <value>text</value>
+ </choice>
+ </attribute>
+</element>
diff --git a/libxml2/test/relaxng/tutor6_1_1.xml b/libxml2/test/relaxng/tutor6_1_1.xml
new file mode 100644
index 0000000..30460ae
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_1_1.xml
@@ -0,0 +1 @@
+<card name="foo" email="bar" preferredFormat="text"/>
diff --git a/libxml2/test/relaxng/tutor6_1_2.xml b/libxml2/test/relaxng/tutor6_1_2.xml
new file mode 100644
index 0000000..bf3dfc2
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_1_2.xml
@@ -0,0 +1 @@
+<card name="foo" email="bar" preferredFormat="html"/>
diff --git a/libxml2/test/relaxng/tutor6_1_3.xml b/libxml2/test/relaxng/tutor6_1_3.xml
new file mode 100644
index 0000000..6038d79
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_1_3.xml
@@ -0,0 +1 @@
+<card name="foo" email="bar" preferredFormat="error"/>
diff --git a/libxml2/test/relaxng/tutor6_1_4.xml b/libxml2/test/relaxng/tutor6_1_4.xml
new file mode 100644
index 0000000..0ad64dd
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_1_4.xml
@@ -0,0 +1 @@
+<card name="John Smith" email="js@example.com" preferredFormat=" html "/>
diff --git a/libxml2/test/relaxng/tutor6_1_5.xml b/libxml2/test/relaxng/tutor6_1_5.xml
new file mode 100644
index 0000000..c5d22bd
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_1_5.xml
@@ -0,0 +1,2 @@
+<card name="John Smith" email="js@example.com" preferredFormat="html"/>
+
diff --git a/libxml2/test/relaxng/tutor6_2.rng b/libxml2/test/relaxng/tutor6_2.rng
new file mode 100644
index 0000000..1237fa7
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_2.rng
@@ -0,0 +1,14 @@
+<element name="card" xmlns="http://relaxng.org/ns/structure/1.0">
+ <element name="name">
+ <text/>
+ </element>
+ <element name="email">
+ <text/>
+ </element>
+ <element name="preferredFormat">
+ <choice>
+ <value>html</value>
+ <value>text</value>
+ </choice>
+ </element>
+</element>
diff --git a/libxml2/test/relaxng/tutor6_2_1.xml b/libxml2/test/relaxng/tutor6_2_1.xml
new file mode 100644
index 0000000..5064bf2
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_2_1.xml
@@ -0,0 +1,5 @@
+<card>
+ <name>John Smith</name>
+ <email>js@example.com</email>
+ <preferredFormat>text</preferredFormat>
+</card>
diff --git a/libxml2/test/relaxng/tutor6_2_2.xml b/libxml2/test/relaxng/tutor6_2_2.xml
new file mode 100644
index 0000000..57da2e8
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_2_2.xml
@@ -0,0 +1,5 @@
+<card>
+ <name>John Smith</name>
+ <email>js@example.com</email>
+ <preferredFormat>html</preferredFormat>
+</card>
diff --git a/libxml2/test/relaxng/tutor6_2_3.xml b/libxml2/test/relaxng/tutor6_2_3.xml
new file mode 100644
index 0000000..acca979
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_2_3.xml
@@ -0,0 +1,5 @@
+<card>
+ <name>John Smith</name>
+ <email>js@example.com</email>
+ <preferredFormat> html </preferredFormat>
+</card>
diff --git a/libxml2/test/relaxng/tutor6_2_4.xml b/libxml2/test/relaxng/tutor6_2_4.xml
new file mode 100644
index 0000000..c3f723b
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_2_4.xml
@@ -0,0 +1,5 @@
+<card>
+ <name>John Smith</name>
+ <email>js@example.com</email>
+ <preferredFormat>error</preferredFormat>
+</card>
diff --git a/libxml2/test/relaxng/tutor6_3.rng b/libxml2/test/relaxng/tutor6_3.rng
new file mode 100644
index 0000000..0683d0b
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_3.rng
@@ -0,0 +1,10 @@
+<element name="card" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="name"/>
+ <attribute name="email"/>
+ <attribute name="preferredFormat">
+ <choice>
+ <value type="string">html</value>
+ <value type="string">text</value>
+ </choice>
+ </attribute>
+</element>
diff --git a/libxml2/test/relaxng/tutor6_3_1.xml b/libxml2/test/relaxng/tutor6_3_1.xml
new file mode 100644
index 0000000..0ad64dd
--- /dev/null
+++ b/libxml2/test/relaxng/tutor6_3_1.xml
@@ -0,0 +1 @@
+<card name="John Smith" email="js@example.com" preferredFormat=" html "/>
diff --git a/libxml2/test/relaxng/tutor7_1.rng b/libxml2/test/relaxng/tutor7_1.rng
new file mode 100644
index 0000000..116e912
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_1.rng
@@ -0,0 +1,7 @@
+<element name="vector" xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <list>
+ <data type="float"/>
+ <data type="float"/>
+ </list>
+</element>
diff --git a/libxml2/test/relaxng/tutor7_1_1.xml b/libxml2/test/relaxng/tutor7_1_1.xml
new file mode 100644
index 0000000..3f03eea
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_1_1.xml
@@ -0,0 +1 @@
+<vector>1.2 3.4</vector>
diff --git a/libxml2/test/relaxng/tutor7_1_2.xml b/libxml2/test/relaxng/tutor7_1_2.xml
new file mode 100644
index 0000000..adbfdbd
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_1_2.xml
@@ -0,0 +1 @@
+<vector>1.2</vector>
diff --git a/libxml2/test/relaxng/tutor7_1_3.xml b/libxml2/test/relaxng/tutor7_1_3.xml
new file mode 100644
index 0000000..f9eeb5c
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_1_3.xml
@@ -0,0 +1 @@
+<vector>1.2 3.4 5.6</vector>
diff --git a/libxml2/test/relaxng/tutor7_1_4.xml b/libxml2/test/relaxng/tutor7_1_4.xml
new file mode 100644
index 0000000..c9bda7f
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_1_4.xml
@@ -0,0 +1 @@
+<vector> 1.2 3.4 </vector>
diff --git a/libxml2/test/relaxng/tutor7_2.rng b/libxml2/test/relaxng/tutor7_2.rng
new file mode 100644
index 0000000..a1c71d2
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_2.rng
@@ -0,0 +1,8 @@
+<element name="vector" xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <list>
+ <oneOrMore>
+ <data type="double"/>
+ </oneOrMore>
+ </list>
+</element>
diff --git a/libxml2/test/relaxng/tutor7_2_1.xml b/libxml2/test/relaxng/tutor7_2_1.xml
new file mode 100644
index 0000000..adbfdbd
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_2_1.xml
@@ -0,0 +1 @@
+<vector>1.2</vector>
diff --git a/libxml2/test/relaxng/tutor7_2_2.xml b/libxml2/test/relaxng/tutor7_2_2.xml
new file mode 100644
index 0000000..f9eeb5c
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_2_2.xml
@@ -0,0 +1 @@
+<vector>1.2 3.4 5.6</vector>
diff --git a/libxml2/test/relaxng/tutor7_2_3.xml b/libxml2/test/relaxng/tutor7_2_3.xml
new file mode 100644
index 0000000..5274bad
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_2_3.xml
@@ -0,0 +1 @@
+<vector> 1.2 3.4 </vector>
diff --git a/libxml2/test/relaxng/tutor7_2_4.xml b/libxml2/test/relaxng/tutor7_2_4.xml
new file mode 100644
index 0000000..719ba5f
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_2_4.xml
@@ -0,0 +1 @@
+<vector></vector>
diff --git a/libxml2/test/relaxng/tutor7_3.rng b/libxml2/test/relaxng/tutor7_3.rng
new file mode 100644
index 0000000..cbedaf9
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_3.rng
@@ -0,0 +1,9 @@
+<element name="path" xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <list>
+ <oneOrMore>
+ <data type="double"/>
+ <data type="double"/>
+ </oneOrMore>
+ </list>
+</element>
diff --git a/libxml2/test/relaxng/tutor7_3_1.xml b/libxml2/test/relaxng/tutor7_3_1.xml
new file mode 100644
index 0000000..bf61b50
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_3_1.xml
@@ -0,0 +1 @@
+<path>1.2 3.4</path>
diff --git a/libxml2/test/relaxng/tutor7_3_2.xml b/libxml2/test/relaxng/tutor7_3_2.xml
new file mode 100644
index 0000000..45b4857
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_3_2.xml
@@ -0,0 +1 @@
+<path>1.2 3.4 5 6 7 8</path>
diff --git a/libxml2/test/relaxng/tutor7_3_3.xml b/libxml2/test/relaxng/tutor7_3_3.xml
new file mode 100644
index 0000000..4abd17d
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_3_3.xml
@@ -0,0 +1 @@
+<path> 1.2 3.4 5 6 </path>
diff --git a/libxml2/test/relaxng/tutor7_3_4.xml b/libxml2/test/relaxng/tutor7_3_4.xml
new file mode 100644
index 0000000..62099ae
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_3_4.xml
@@ -0,0 +1 @@
+<path>1.2 3.4 5.6</path>
diff --git a/libxml2/test/relaxng/tutor7_3_5.xml b/libxml2/test/relaxng/tutor7_3_5.xml
new file mode 100644
index 0000000..fef5f25
--- /dev/null
+++ b/libxml2/test/relaxng/tutor7_3_5.xml
@@ -0,0 +1 @@
+<path>1.2</path>
diff --git a/libxml2/test/relaxng/tutor8_1.rng b/libxml2/test/relaxng/tutor8_1.rng
new file mode 100644
index 0000000..c7bbe8b
--- /dev/null
+++ b/libxml2/test/relaxng/tutor8_1.rng
@@ -0,0 +1,15 @@
+<element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
+ <zeroOrMore>
+ <element name="card">
+ <interleave>
+ <element name="name">
+ <text/>
+ </element>
+ <element name="email">
+ <text/>
+ </element>
+ </interleave>
+ </element>
+ </zeroOrMore>
+</element>
+
diff --git a/libxml2/test/relaxng/tutor8_1_1.xml b/libxml2/test/relaxng/tutor8_1_1.xml
new file mode 100644
index 0000000..8f1e1a8
--- /dev/null
+++ b/libxml2/test/relaxng/tutor8_1_1.xml
@@ -0,0 +1,6 @@
+<addressBook>
+ <card>
+ <email>b@b</email>
+ <name>b</name>
+ </card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor8_1_2.xml b/libxml2/test/relaxng/tutor8_1_2.xml
new file mode 100644
index 0000000..c1f3767
--- /dev/null
+++ b/libxml2/test/relaxng/tutor8_1_2.xml
@@ -0,0 +1,7 @@
+<addressBook>
+ <card>
+ <name>b</name>
+ <email>b@b</email>
+ </card>
+</addressBook>
+
diff --git a/libxml2/test/relaxng/tutor8_2.rng b/libxml2/test/relaxng/tutor8_2.rng
new file mode 100644
index 0000000..495968e
--- /dev/null
+++ b/libxml2/test/relaxng/tutor8_2.rng
@@ -0,0 +1,57 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="head"/>
+ </start>
+ <define name="head">
+ <element name="head">
+ <interleave>
+ <ref name="title"/>
+ <optional>
+ <ref name="base"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="style"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="script"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="link"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="meta"/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="title">
+ <element name="title">
+ <text/>
+ </element>
+ </define>
+ <define name="base">
+ <element name="base">
+ <text/>
+ </element>
+ </define>
+ <define name="style">
+ <element name="style">
+ <text/>
+ </element>
+ </define>
+ <define name="script">
+ <element name="script">
+ <text/>
+ </element>
+ </define>
+ <define name="meta">
+ <element name="meta">
+ <text/>
+ </element>
+ </define>
+ <define name="link">
+ <element name="link">
+ <text/>
+ </element>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/tutor8_2_1.xml b/libxml2/test/relaxng/tutor8_2_1.xml
new file mode 100644
index 0000000..fed80d4
--- /dev/null
+++ b/libxml2/test/relaxng/tutor8_2_1.xml
@@ -0,0 +1,5 @@
+<head>
+ <meta>meta1</meta>
+ <title>foo</title>
+ <meta>meta2</meta>
+</head>
diff --git a/libxml2/test/relaxng/tutor8_2_2.xml b/libxml2/test/relaxng/tutor8_2_2.xml
new file mode 100644
index 0000000..24c2e6b
--- /dev/null
+++ b/libxml2/test/relaxng/tutor8_2_2.xml
@@ -0,0 +1,36 @@
+<head>
+ <meta>meta</meta>
+ <meta>meta</meta>
+ <script>script</script>
+ <link>link</link>
+ <style>link</style>
+ <script>script</script>
+ <link>link</link>
+ <style>link</style>
+ <base>base</base>
+ <title>foo</title>
+ <meta>meta</meta>
+ <script>script</script>
+ <link>link</link>
+ <style>link</style>
+ <meta>meta</meta>
+ <meta>meta</meta>
+ <meta>meta</meta>
+ <meta>meta</meta>
+ <meta>meta</meta>
+ <script>script</script>
+ <link>link</link>
+ <style>link</style>
+ <script>script</script>
+ <link>link</link>
+ <style>link</style>
+ <script>script</script>
+ <link>link</link>
+ <style>link</style>
+ <script>script</script>
+ <link>link</link>
+ <style>link</style>
+ <script>script</script>
+ <link>link</link>
+ <style>link</style>
+</head>
diff --git a/libxml2/test/relaxng/tutor8_2_3.xml b/libxml2/test/relaxng/tutor8_2_3.xml
new file mode 100644
index 0000000..920f99d
--- /dev/null
+++ b/libxml2/test/relaxng/tutor8_2_3.xml
@@ -0,0 +1,3 @@
+<head>
+ <title>title</title>
+</head>
diff --git a/libxml2/test/relaxng/tutor8_2_4.xml b/libxml2/test/relaxng/tutor8_2_4.xml
new file mode 100644
index 0000000..68f3865
--- /dev/null
+++ b/libxml2/test/relaxng/tutor8_2_4.xml
@@ -0,0 +1,6 @@
+<head>
+ <meta>meta1</meta>
+ <title>foo</title>
+ <meta>meta2</meta>
+ <title>error</title>
+</head>
diff --git a/libxml2/test/relaxng/tutor8_2_5.xml b/libxml2/test/relaxng/tutor8_2_5.xml
new file mode 100644
index 0000000..75b9d53
--- /dev/null
+++ b/libxml2/test/relaxng/tutor8_2_5.xml
@@ -0,0 +1,3 @@
+<head>
+ <meta>meta2</meta>
+</head>
diff --git a/libxml2/test/relaxng/tutor8_2_6.xml b/libxml2/test/relaxng/tutor8_2_6.xml
new file mode 100644
index 0000000..20fb4c7
--- /dev/null
+++ b/libxml2/test/relaxng/tutor8_2_6.xml
@@ -0,0 +1,5 @@
+<head>
+ <base>base</base>
+ <title>foo</title>
+ <base>error</base>
+</head>
diff --git a/libxml2/test/relaxng/tutor8_3.rng b/libxml2/test/relaxng/tutor8_3.rng
new file mode 100644
index 0000000..b68814d
--- /dev/null
+++ b/libxml2/test/relaxng/tutor8_3.rng
@@ -0,0 +1,9 @@
+<element name="content" xmlns="http://relaxng.org/ns/structure/1.0">
+ <interleave>
+ <text/>
+ <element name="p">
+ <text/>
+ </element>
+ </interleave>
+</element>
+
diff --git a/libxml2/test/relaxng/tutor8_3_1.xml b/libxml2/test/relaxng/tutor8_3_1.xml
new file mode 100644
index 0000000..86ea447
--- /dev/null
+++ b/libxml2/test/relaxng/tutor8_3_1.xml
@@ -0,0 +1 @@
+<content> how are you <p> 'yau de poelle </p> ? </content>
diff --git a/libxml2/test/relaxng/tutor9_1.rng b/libxml2/test/relaxng/tutor9_1.rng
new file mode 100644
index 0000000..43a59fc
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_1.rng
@@ -0,0 +1,17 @@
+<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>
+ <optional>
+ <element name="note">
+ <externalRef href="inline.rng"/>
+ </element>
+ </optional>
+ </element>
+ </zeroOrMore>
+</element>
diff --git a/libxml2/test/relaxng/tutor9_10.rng b/libxml2/test/relaxng/tutor9_10.rng
new file mode 100644
index 0000000..c5b38db
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_10.rng
@@ -0,0 +1,26 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <include href="inline3.rng"/>
+
+ <start>
+ <element name="doc">
+ <zeroOrMore>
+ <element name="p">
+ <ref name="inline"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </start>
+
+ <define name="inline.extra" combine="choice">
+ <choice>
+ <element name="code">
+ <ref name="inline"/>
+ </element>
+ <element name="em">
+ <ref name="inline"/>
+ </element>
+ </choice>
+ </define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor9_10_1.xml b/libxml2/test/relaxng/tutor9_10_1.xml
new file mode 100644
index 0000000..139a079
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_10_1.xml
@@ -0,0 +1,3 @@
+<doc>
+ <p>a<bold>b<em>c<italic>d</italic>e</em>f</bold>g</p>
+</doc>
diff --git a/libxml2/test/relaxng/tutor9_11.rng b/libxml2/test/relaxng/tutor9_11.rng
new file mode 100644
index 0000000..cf63b02
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_11.rng
@@ -0,0 +1,16 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <include href="addressBook.rng">
+
+ <define name="cardContent">
+ <element name="name">
+ <text/>
+ </element>
+ <element name="emailAddress">
+ <text/>
+ </element>
+ </define>
+
+ </include>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor9_11_1.xml b/libxml2/test/relaxng/tutor9_11_1.xml
new file mode 100644
index 0000000..c542fa6
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_11_1.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card><name>foo</name><emailAddress>bar</emailAddress></card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor9_12.rng b/libxml2/test/relaxng/tutor9_12.rng
new file mode 100644
index 0000000..be10b85
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_12.rng
@@ -0,0 +1,22 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <start>
+ <element name="addressBook">
+ <zeroOrMore>
+ <element name="card">
+ <ref name="cardContent"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </start>
+
+ <define name="cardContent">
+ <element name="name">
+ <text/>
+ </element>
+ <element name="emailAddress">
+ <text/>
+ </element>
+ </define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor9_12_1.xml b/libxml2/test/relaxng/tutor9_12_1.xml
new file mode 100644
index 0000000..c542fa6
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_12_1.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card><name>foo</name><emailAddress>bar</emailAddress></card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor9_1_1.xml b/libxml2/test/relaxng/tutor9_1_1.xml
new file mode 100644
index 0000000..f45fc3b
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_1_1.xml
@@ -0,0 +1,7 @@
+<addressBook>
+ <card>
+ <name>foo</name>
+ <email>bar</email>
+ <note>this guy is <em>annoying</em> !</note>
+ </card>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor9_2.rng b/libxml2/test/relaxng/tutor9_2.rng
new file mode 100644
index 0000000..cb434bd
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_2.rng
@@ -0,0 +1,7 @@
+<element name="data" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <externalRef href="pattern1.rng"/>
+ <externalRef href="pattern2.rng"/>
+ </choice>
+</element>
+
diff --git a/libxml2/test/relaxng/tutor9_2_1.xml b/libxml2/test/relaxng/tutor9_2_1.xml
new file mode 100644
index 0000000..2ca54ee
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_2_1.xml
@@ -0,0 +1,4 @@
+<data>
+ <a>a</a>
+ <b>a</b>
+</data>
diff --git a/libxml2/test/relaxng/tutor9_2_2.xml b/libxml2/test/relaxng/tutor9_2_2.xml
new file mode 100644
index 0000000..2ca54ee
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_2_2.xml
@@ -0,0 +1,4 @@
+<data>
+ <a>a</a>
+ <b>a</b>
+</data>
diff --git a/libxml2/test/relaxng/tutor9_3.rng b/libxml2/test/relaxng/tutor9_3.rng
new file mode 100644
index 0000000..62c6e7d
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_3.rng
@@ -0,0 +1,37 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="data">
+ <interleave>
+ <text/>
+ <ref name="inline.class"/>
+ </interleave>
+ </element>
+ </start>
+
+ <define name="inline.class" combine="choice">
+ <element name="bold">
+ <ref name="inline"/>
+ </element>
+ </define>
+
+ <define name="inline.class" combine="choice">
+ <element name="italic">
+ <ref name="inline"/>
+ </element>
+ </define>
+
+ <define name="inline">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <element name="code">
+ <ref name="inline"/>
+ </element>
+ <element name="em">
+ <ref name="inline"/>
+ </element>
+ <!-- etc -->
+ </choice>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/tutor9_3_1.xml b/libxml2/test/relaxng/tutor9_3_1.xml
new file mode 100644
index 0000000..50bfa20
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_3_1.xml
@@ -0,0 +1 @@
+<data> a <bold> b <em> c </em> d </bold> e </data>
diff --git a/libxml2/test/relaxng/tutor9_3_2.xml b/libxml2/test/relaxng/tutor9_3_2.xml
new file mode 100644
index 0000000..f089542
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_3_2.xml
@@ -0,0 +1 @@
+<data> a <italic> b <code> c </code> d <em>foo</em> </italic> e </data>
diff --git a/libxml2/test/relaxng/tutor9_4.rng b/libxml2/test/relaxng/tutor9_4.rng
new file mode 100644
index 0000000..d3b7e8e
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_4.rng
@@ -0,0 +1,36 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <element name="data">
+ <interleave>
+ <text/>
+ <ref name="inline.class"/>
+ </interleave>
+ </element>
+ </start>
+
+ <define name="inline.class">
+ <choice>
+ <element name="bold">
+ <ref name="inline"/>
+ </element>
+ <element name="italic">
+ <ref name="inline"/>
+ </element>
+ </choice>
+ </define>
+
+ <define name="inline">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <element name="code">
+ <ref name="inline"/>
+ </element>
+ <element name="em">
+ <ref name="inline"/>
+ </element>
+ <!-- etc -->
+ </choice>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/libxml2/test/relaxng/tutor9_4_1.xml b/libxml2/test/relaxng/tutor9_4_1.xml
new file mode 100644
index 0000000..50bfa20
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_4_1.xml
@@ -0,0 +1 @@
+<data> a <bold> b <em> c </em> d </bold> e </data>
diff --git a/libxml2/test/relaxng/tutor9_4_2.xml b/libxml2/test/relaxng/tutor9_4_2.xml
new file mode 100644
index 0000000..f089542
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_4_2.xml
@@ -0,0 +1 @@
+<data> a <italic> b <code> c </code> d <em>foo</em> </italic> e </data>
diff --git a/libxml2/test/relaxng/tutor9_5.rng b/libxml2/test/relaxng/tutor9_5.rng
new file mode 100644
index 0000000..b8b0a84
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_5.rng
@@ -0,0 +1,25 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <start>
+ <element name="addressBook">
+ <zeroOrMore>
+ <element name="card">
+ <ref name="card.attlist"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </start>
+
+ <define name="card.attlist" combine="interleave">
+ <attribute name="name">
+ <text/>
+ </attribute>
+ </define>
+
+ <define name="card.attlist" combine="interleave">
+ <attribute name="email">
+ <text/>
+ </attribute>
+ </define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor9_5_1.xml b/libxml2/test/relaxng/tutor9_5_1.xml
new file mode 100644
index 0000000..275753b
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_5_1.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card name="foo" email="bar"/>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor9_5_2.xml b/libxml2/test/relaxng/tutor9_5_2.xml
new file mode 100644
index 0000000..1ff1d3c
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_5_2.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card name="foo"/>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor9_5_3.xml b/libxml2/test/relaxng/tutor9_5_3.xml
new file mode 100644
index 0000000..b70c5bf
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_5_3.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card name="foo" email="bar" error="extra"/>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor9_6.rng b/libxml2/test/relaxng/tutor9_6.rng
new file mode 100644
index 0000000..0730038
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_6.rng
@@ -0,0 +1,24 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <start>
+ <element name="addressBook">
+ <zeroOrMore>
+ <element name="card">
+ <ref name="card.attlist"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </start>
+
+ <define name="card.attlist">
+ <group>
+ <attribute name="name">
+ <text/>
+ </attribute>
+ <attribute name="email">
+ <text/>
+ </attribute>
+ </group>
+ </define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor9_6_1.xml b/libxml2/test/relaxng/tutor9_6_1.xml
new file mode 100644
index 0000000..275753b
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_6_1.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card name="foo" email="bar"/>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor9_6_2.xml b/libxml2/test/relaxng/tutor9_6_2.xml
new file mode 100644
index 0000000..1ff1d3c
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_6_2.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card name="foo"/>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor9_6_3.xml b/libxml2/test/relaxng/tutor9_6_3.xml
new file mode 100644
index 0000000..b70c5bf
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_6_3.xml
@@ -0,0 +1,3 @@
+<addressBook>
+ <card name="foo" email="bar" error="extra"/>
+</addressBook>
diff --git a/libxml2/test/relaxng/tutor9_7.rng b/libxml2/test/relaxng/tutor9_7.rng
new file mode 100644
index 0000000..ae5e509
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_7.rng
@@ -0,0 +1,26 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <include href="inline2.rng"/>
+
+ <start>
+ <element name="doc">
+ <zeroOrMore>
+ <element name="p">
+ <ref name="inline"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </start>
+
+ <define name="inline.class" combine="choice">
+ <choice>
+ <element name="code">
+ <ref name="inline"/>
+ </element>
+ <element name="em">
+ <ref name="inline"/>
+ </element>
+ </choice>
+ </define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor9_7_1.xml b/libxml2/test/relaxng/tutor9_7_1.xml
new file mode 100644
index 0000000..139a079
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_7_1.xml
@@ -0,0 +1,3 @@
+<doc>
+ <p>a<bold>b<em>c<italic>d</italic>e</em>f</bold>g</p>
+</doc>
diff --git a/libxml2/test/relaxng/tutor9_8.rng b/libxml2/test/relaxng/tutor9_8.rng
new file mode 100644
index 0000000..16a141d
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_8.rng
@@ -0,0 +1,42 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <define name="inline">
+ <zeroOrMore>
+ <ref name="inline.class"/>
+ </zeroOrMore>
+ </define>
+
+ <define name="inline.class">
+ <choice>
+ <text/>
+ <element name="bold">
+ <ref name="inline"/>
+ </element>
+ <element name="italic">
+ <ref name="inline"/>
+ </element>
+ </choice>
+ </define>
+
+ <start>
+ <element name="doc">
+ <zeroOrMore>
+ <element name="p">
+ <ref name="inline"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </start>
+
+ <define name="inline.class" combine="choice">
+ <choice>
+ <element name="code">
+ <ref name="inline"/>
+ </element>
+ <element name="em">
+ <ref name="inline"/>
+ </element>
+ </choice>
+ </define>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor9_8_1.xml b/libxml2/test/relaxng/tutor9_8_1.xml
new file mode 100644
index 0000000..139a079
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_8_1.xml
@@ -0,0 +1,3 @@
+<doc>
+ <p>a<bold>b<em>c<italic>d</italic>e</em>f</bold>g</p>
+</doc>
diff --git a/libxml2/test/relaxng/tutor9_9.rng b/libxml2/test/relaxng/tutor9_9.rng
new file mode 100644
index 0000000..9f2e5ea
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_9.rng
@@ -0,0 +1,37 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <define name="inline">
+ <zeroOrMore>
+ <ref name="inline.class"/>
+ </zeroOrMore>
+ </define>
+
+ <define name="inline.class">
+ <choice>
+ <text/>
+ <element name="bold">
+ <ref name="inline"/>
+ </element>
+ <element name="italic">
+ <ref name="inline"/>
+ </element>
+ <element name="code">
+ <ref name="inline"/>
+ </element>
+ <element name="em">
+ <ref name="inline"/>
+ </element>
+ </choice>
+ </define>
+
+ <start>
+ <element name="doc">
+ <zeroOrMore>
+ <element name="p">
+ <ref name="inline"/>
+ </element>
+ </zeroOrMore>
+ </element>
+ </start>
+
+</grammar>
diff --git a/libxml2/test/relaxng/tutor9_9_1.xml b/libxml2/test/relaxng/tutor9_9_1.xml
new file mode 100644
index 0000000..139a079
--- /dev/null
+++ b/libxml2/test/relaxng/tutor9_9_1.xml
@@ -0,0 +1,3 @@
+<doc>
+ <p>a<bold>b<em>c<italic>d</italic>e</em>f</bold>g</p>
+</doc>
diff --git a/libxml2/test/relaxng/tutorA.rng b/libxml2/test/relaxng/tutorA.rng
new file mode 100644
index 0000000..b9ef4e1
--- /dev/null
+++ b/libxml2/test/relaxng/tutorA.rng
@@ -0,0 +1,334 @@
+<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
+ ns="http://relaxng.org/ns/structure/1.0"
+ xmlns="http://relaxng.org/ns/structure/1.0">
+
+ <start>
+ <ref name="pattern"/>
+ </start>
+
+ <define name="pattern">
+ <choice>
+ <element name="element">
+ <choice>
+ <attribute name="name">
+ <data type="QName"/>
+ </attribute>
+ <ref name="open-name-class"/>
+ </choice>
+ <ref name="common-atts"/>
+ <ref name="open-patterns"/>
+ </element>
+ <element name="attribute">
+ <ref name="common-atts"/>
+ <choice>
+ <attribute name="name">
+ <data type="QName"/>
+ </attribute>
+ <ref name="open-name-class"/>
+ </choice>
+ <interleave>
+ <ref name="other"/>
+ <optional>
+ <ref name="pattern"/>
+ </optional>
+ </interleave>
+ </element>
+ <element name="group">
+ <ref name="common-atts"/>
+ <ref name="open-patterns"/>
+ </element>
+ <element name="interleave">
+ <ref name="common-atts"/>
+ <ref name="open-patterns"/>
+ </element>
+ <element name="choice">
+ <ref name="common-atts"/>
+ <ref name="open-patterns"/>
+ </element>
+ <element name="optional">
+ <ref name="common-atts"/>
+ <ref name="open-patterns"/>
+ </element>
+ <element name="zeroOrMore">
+ <ref name="common-atts"/>
+ <ref name="open-patterns"/>
+ </element>
+ <element name="oneOrMore">
+ <ref name="common-atts"/>
+ <ref name="open-patterns"/>
+ </element>
+ <element name="list">
+ <ref name="common-atts"/>
+ <ref name="open-patterns"/>
+ </element>
+ <element name="mixed">
+ <ref name="common-atts"/>
+ <ref name="open-patterns"/>
+ </element>
+ <element name="ref">
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ <ref name="common-atts"/>
+ <ref name="other"/>
+ </element>
+ <element name="parentRef">
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ <ref name="common-atts"/>
+ <ref name="other"/>
+ </element>
+ <element name="empty">
+ <ref name="common-atts"/>
+ <ref name="other"/>
+ </element>
+ <element name="text">
+ <ref name="common-atts"/>
+ <ref name="other"/>
+ </element>
+ <element name="value">
+ <optional>
+ <attribute name="type">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ <ref name="common-atts"/>
+ <text/>
+ </element>
+ <element name="data">
+ <attribute name="type">
+ <data type="NCName"/>
+ </attribute>
+ <ref name="common-atts"/>
+ <interleave>
+ <ref name="other"/>
+ <group>
+ <zeroOrMore>
+ <element name="param">
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ <ref name="common-atts"/>
+ <text/>
+ </element>
+ </zeroOrMore>
+ <optional>
+ <element name="except">
+ <ref name="common-atts"/>
+ <ref name="open-patterns"/>
+ </element>
+ </optional>
+ </group>
+ </interleave>
+ </element>
+ <element name="notAllowed">
+ <ref name="common-atts"/>
+ <ref name="other"/>
+ </element>
+ <element name="externalRef">
+ <attribute name="href">
+ <data type="anyURI"/>
+ </attribute>
+ <ref name="common-atts"/>
+ <ref name="other"/>
+ </element>
+ <element name="grammar">
+ <ref name="common-atts"/>
+ <ref name="grammar-content"/>
+ </element>
+ </choice>
+ </define>
+
+ <define name="grammar-content">
+ <interleave>
+ <ref name="other"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="start-element"/>
+ <ref name="define-element"/>
+ <element name="div">
+ <ref name="common-atts"/>
+ <ref name="grammar-content"/>
+ </element>
+ <element name="include">
+ <attribute name="href">
+ <data type="anyURI"/>
+ </attribute>
+ <ref name="common-atts"/>
+ <ref name="include-content"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+ </interleave>
+ </define>
+
+ <define name="include-content">
+ <interleave>
+ <ref name="other"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="start-element"/>
+ <ref name="define-element"/>
+ <element name="div">
+ <ref name="common-atts"/>
+ <ref name="include-content"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+ </interleave>
+ </define>
+
+ <define name="start-element">
+ <element name="start">
+ <ref name="combine-att"/>
+ <ref name="common-atts"/>
+ <ref name="open-pattern"/>
+ </element>
+ </define>
+
+ <define name="define-element">
+ <element name="define">
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ <ref name="combine-att"/>
+ <ref name="common-atts"/>
+ <ref name="open-patterns"/>
+ </element>
+ </define>
+
+ <define name="combine-att">
+ <optional>
+ <attribute name="combine">
+ <choice>
+ <value>choice</value>
+ <value>interleave</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+
+ <define name="open-patterns">
+ <interleave>
+ <ref name="other"/>
+ <oneOrMore>
+ <ref name="pattern"/>
+ </oneOrMore>
+ </interleave>
+ </define>
+
+ <define name="open-pattern">
+ <interleave>
+ <ref name="other"/>
+ <ref name="pattern"/>
+ </interleave>
+ </define>
+
+ <define name="name-class">
+ <choice>
+ <element name="name">
+ <ref name="common-atts"/>
+ <data type="QName"/>
+ </element>
+ <element name="anyName">
+ <ref name="common-atts"/>
+ <ref name="except-name-class"/>
+ </element>
+ <element name="nsName">
+ <ref name="common-atts"/>
+ <ref name="except-name-class"/>
+ </element>
+ <element name="choice">
+ <ref name="common-atts"/>
+ <ref name="open-name-classes"/>
+ </element>
+ </choice>
+ </define>
+
+ <define name="except-name-class">
+ <interleave>
+ <ref name="other"/>
+ <optional>
+ <element name="except">
+ <ref name="open-name-classes"/>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+
+ <define name="open-name-classes">
+ <interleave>
+ <ref name="other"/>
+ <oneOrMore>
+ <ref name="name-class"/>
+ </oneOrMore>
+ </interleave>
+ </define>
+
+ <define name="open-name-class">
+ <interleave>
+ <ref name="other"/>
+ <ref name="name-class"/>
+ </interleave>
+ </define>
+
+ <define name="common-atts">
+ <optional>
+ <attribute name="ns"/>
+ </optional>
+ <optional>
+ <attribute name="datatypeLibrary">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <nsName/>
+ <nsName ns=""/>
+ </except>
+ </anyName>
+ </attribute>
+ </zeroOrMore>
+ </define>
+
+ <define name="other">
+ <zeroOrMore>
+ <element>
+ <anyName>
+ <except>
+ <nsName/>
+ </except>
+ </anyName>
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <text/>
+ <ref name="any"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </zeroOrMore>
+ </define>
+
+ <define name="any">
+ <element>
+ <anyName/>
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <text/>
+ <ref name="any"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+
+</grammar>
+