diff options
Diffstat (limited to 'libxml2/test/relaxng')
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 "<ดี/>">
+]>
+<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="ดี">
+ <empty/>
+ </element>
+</element>
+</correct>
+<valid>
+<foo>&dii;</foo>
+</valid>
+</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 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>ี</name>
+ <empty/>
+</element>
+</incorrect>
+</testCase>
+<testCase>
+<section>3</section>
+<incorrect>
+<element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="ี"/>
+ <empty/>
+</element>
+</incorrect>
+</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>
+<correct>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="ดี"/>
+ </start>
+ <define name="ดี">
+ <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:ี">
+ <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="

 	foo

 	" xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="

 	bar

 	"/>
+</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="

 	string

 	">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="

 	string

 	"/>
+</element>
+</correct>
+<valid>
+<foo>X</foo>
+</valid>
+</testCase>
+<testCase>
+<section>4.2</section>
+<correct>
+<element xmlns="http://relaxng.org/ns/structure/1.0">
+ <name>

 	foo

 	</name>
+ <attribute><name>

 	bar

 	</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="

 	choice

 	">
+ <ref name="

 	x

 	"/>
+ </start>
+ <define name="x">
+ <ref name="y"/>
+ </define>
+ <define name="

 	y

 	">
+ <grammar>
+ <start combine="

 	interleave

 	">
+ <parentRef name="

 	z

 	"/>
+ </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/>
+
+<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>

	 x

	 </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

	 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="">

	 x

	 </value>
+</element>
+</correct>
+<valid><foo>x</foo></valid>
+<valid><foo> x</foo></valid>
+<valid><foo>x </foo></valid>
+<valid><foo>
	x 
</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 y </foo></valid>
+<valid><foo>x
	y</foo></valid>
+<valid><foo>x 
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>
x
y	</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'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'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'impression des coupes et lecteurs pour l'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'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'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'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'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'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'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'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'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'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'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'é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'un client pour la connexion aux parts SMB et d'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'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'outils d'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'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 'hardware' 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'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'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'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'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'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'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'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'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'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 "©"> <!-- 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><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, < and >. Text is marked by both beginning and + ending elements, for example in the DocBook DTD, one denotes a + title with <sgmltag><title></sgmltag>The + Title<sgmltag></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 — 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 — 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 <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 + </>, for example: + <literal><sgmltag><title></sgmltag>The + Title<sgmltag></></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><xref></sgmltag> not to have a closing tag: + <literal><sgmltag><xref + linkend="someid"></sgmltag></literal>. In + XML, it is illegal; instead, you should use + <literal><sgmltag><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><title></sgmltag> and + <sgmltag><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><chapter></sgmltag>; it may contain one or more + <sgmltag><sect1></sgmltag>, each of them may contain + <sgmltag><sect2></sgmltag> and so on up to + <sgmltag><sect5></sgmltag>. The top-level element of an + article body is always + <sgmltag><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><sect1></sgmltag> and + <sgmltag><sect2></sgmltag> should be sufficient. If not, + you probably should split your <sgmltag><sect1></sgmltag> + into several smaller ones. + </para> + <para> Use the tag <sgmltag><para></sgmltag> for + paragraphs, even if there is only one paragraph in a + section—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><note></sgmltag>, <sgmltag><tip></sgmltag>, + <sgmltag><warning></sgmltag>, + <sgmltag><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><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 — 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—for example, program + listing—use <sgmltag><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><programlisting></sgmltag>. + </para> + <para> + To show a record of terminal session—i.e., sequence of + commands entered at the command line—use + <sgmltag><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><prompt></sgmltag> and + <sgmltag><userinput></sgmltag> for marking system prompt + and commands entered by user. + <note> + <title>NOTE</title> + <para> + Note that both <sgmltag><programlisting></sgmltag> + and <sgmltag><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><itemizedlist></sgmltag>, + <sgmltag><orderedlist></sgmltag>, and + <sgmltag><variablelist></sgmltag>. + </para> + <variablelist> + <varlistentry> + <term> <sgmltag><itemizedlist></sgmltag></term> + <listitem><para> + This is the simplest unnumbered list, parallel to + <sgmltag><ul></sgmltag> in HTML. Here is an example: + <programlisting> +<![CDATA[ +<itemizedlist> + <listitem> + <para> + <guilabel>Show backup files</guilabel> — This will + show any backup file that might be on your system. + </para> + </listitem> + <listitem> + <para> + <guilabel>Show hidden files</guilabel> — 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> — 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> — + This will show any backup file that might be on + your system. + </para> + </listitem> + + <listitem> + <para> + <guilabel>Show hidden files</guilabel> — + 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> + — 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>&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><guilabel></sgmltag></link> + tag. In other cases, use appropriate tags such as + <link linkend="gui"><sgmltag><guimenuitem></sgmltag></link>, + <link + linkend="filenames"><sgmltag><command></sgmltag></link>, + or — if none of + this applies — use + <link linkend="gui"><sgmltag><emphasis></sgmltag></link>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> <sgmltag><orderedlist></sgmltag></term> + <listitem><para> + This list is completely analogous to + <sgmltag><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><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><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><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><variablelist></sgmltag>. The + source looked liked this: + <programlisting> +<![CDATA[ +<variablelist> + <varlistentry> + <term> <sgmltag><itemizedlist></sgmltag></term> + <listitem><para> + This is the simplest unnumbered list, parallel to + <sgmltag><ul></sgmltag> in HTML. Here is an example:... + </para></listitem> + </varlistentry> + <varlistentry> + <term> <sgmltag><orderedlist></sgmltag></term> + <listitem><para> + This list is completely analogous to + <sgmltag><itemizedlist></sgmltag> + </para></listitem> + </varlistentry> + <varlistentry> + <term> <sgmltag><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><orderedlist></sgmltag>) or marks of each entry + (in <sgmltag><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><guibutton></sgmltag> — used for + buttons, including checkbuttons and radio buttons + </para> + </listitem> + + <listitem> + <para> + <sgmltag><guimenu></sgmltag>, + <sgmltag><guisubmenu></sgmltag> —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><guimenuitem></sgmltag>—an entry in a + menu + </para> + </listitem> + + <listitem> + <para> + <sgmltag><guiicon></sgmltag>—an icon + </para> + </listitem> + + <listitem> + <para> + <sgmltag><guilabel></sgmltag>—for items which have + labels, like tabs, or bounding boxes. + </para> + </listitem> + <listitem> + <para> + <sgmltag><interface></sgmltag>— 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><xref></sgmltag> and + <sgmltag><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><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—see discussion of + <sgmltag><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><filename></sgmltag> — used + for filenames, + e.g.<sgmltag><filename></sgmltag> + foo.sgml + <sgmltag></filename></sgmltag> + produces: <filename>foo.sgml</filename>. + </para> + </listitem> + <listitem> + <para> <sgmltag><filename + class="directory"></sgmltag> — used for + directories, e.g.<sgmltag><filename + class="directory"></sgmltag>/usr/bin + <sgmltag></filename></sgmltag> + produces: <filename + class="directory">/usr/bin</filename>. + </para> + </listitem> + <listitem> + <para> + <sgmltag><application></sgmltag> — used for + application names, + e.g. <sgmltag><application></sgmltag>Gnumeric + <sgmltag></application></sgmltag> produces: + <application>Gnumeric</application>. + </para> + </listitem> + <listitem> + <para> + <sgmltag><envar></sgmltag> — used for + environment variables, e.g. + <sgmltag><envar></sgmltag>PATH<sgmltag></envar></sgmltag>. + </para> + </listitem> + + <listitem> + <para> + <sgmltag><command></sgmltag> — used for + commands entered on command line, e.g. + <sgmltag><command></sgmltag>make install + <sgmltag></command></sgmltag> produces: + <command>make install</command>. + </para> + </listitem> + <listitem> + <para> + <sgmltag><replaceable></sgmltag> — used for + replaceable text, e.g. + <sgmltag><command></sgmltag>db2html<sgmltag><replaceable></sgmltag> + foo.sgml + <sgmltag></replaceable></sgmltag><sgmltag></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><userinput></sgmltag>. + </para> + <para> To mark keystrokes such as shortcuts and other + commands, use <sgmltag><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><keysym></sgmltag> + and <sgmltag><keycode></sgmltag>. However you are + unlikely to need these for most documentation. For reference, + <sgmltag><keysym></sgmltag> is for the <quote>symbolic + name</quote> of a key. <sgmltag><keycode></sgmltag> is + for the <quote>scan code</quote> of a key. These are not + terms commonly required in <acronym>GNOME</acronym> documentation, + although <sgmltag><keysym></sgmltag> is useful for marking + up control codes. + </para> + <para> + To mark up a combination of keystrokes, use the + <sgmltag><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><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><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>&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;</sgmltag> — ampersend (&) + </para></listitem> + <listitem><para> + <sgmltag>&lt;</sgmltag> — left angle bracket (<) + </para></listitem> + <listitem><para> + <sgmltag>&copy;</sgmltag> — copyright sign (©) + </para></listitem> + <listitem><para> + <sgmltag>&mdash;</sgmltag> — long dash (—) + </para></listitem> + <listitem><para> + <sgmltag>&hellip;</sgmltag> — ellipsis (…) + </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>&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 — 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 — 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><book></sgmltag> (and thus + use <sgmltag><chapter></sgmltag> for each primary section) + , instead of <sgmltag><article></sgmltag> which most + applications use(with each primary section being a + <sgmltag><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><sect1></sgmltag>. Applet manuals will typically + have several sections, each of which is + <sgmltag><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><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><legalnotice></sgmltag> and + <sgmltag><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"), &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"), &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><book></sgmltag> tag instead of + <sgmltag><chapter></sgmltag> or + <sgmltag><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><xref></sgmltag> <sgmltag><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><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> + — 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> + — This saves your file. + </para> + </listitem> + <listitem> + <para> + <menuchoice> + <shortcut> + <keycombo><keycap>Ctrl</keycap><keycap>W</keycap></keycombo> + </shortcut> + <guimenuitem>Close</guimenuitem> + </menuchoice> + — This closes your file. + </para> + </listitem> + <listitem> + <para> + <menuchoice> + <shortcut> + <keycombo><keycap>Ctrl</keycap><keycap>Q</keycap></keycombo> + </shortcut> + <guimenuitem>Exit</guimenuitem> + </menuchoice> + — 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> + — 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> + — 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> + — This pastes any text or data which is copied into + the buffer. + </para> + </listitem> + <listitem> + <para> + <guimenuitem>COMMAND1…</guimenuitem> + — This opens the <interface>COMMAND1</interface> + dialog, which is used to .... + </para> + </listitem> + <listitem> + <para> + <guimenuitem>COMMAND2</guimenuitem> + — This .... + </para> + </listitem> + </itemizedlist> + </para> + </listitem> + </varlistentry> + + + <varlistentry> + <term><guimenu>Settings</guimenu></term> + <listitem> + <para> + This menu contains: + <itemizedlist> + <listitem> + <para> + <guimenuitem>Preferences…</guimenuitem> + — 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> — + 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> — This + opens the <application>GNOME Help + Browser</application> and displays this manual. + </para> + </listitem> + + <listitem> + <para> + <guimenuitem>About</guimenuitem> — 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 …. 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…</guimenuitem> — + opens the <link linkend="APPLET-prefs"> + <guilabel>Properties</guilabel></link> dialog. + </para> + </listitem> + + <listitem> + <para> + <guimenuitem>Help</guimenuitem> — + displays this document. + </para> + </listitem> + + <listitem> + <para> + <guimenuitem>About…</guimenuitem> — + 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…</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) — If this button is + checked…(description) + </para> + </listitem> + + <listitem> + <para> + (Configuration Item Label) — Selecting this + button…(description) + </para> + </listitem> + + <listitem> + <para> + (Configuration Item Label) — Enter the name of + …(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> — + 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> — + 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> — + 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> — + 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 — <ulink type="http" + url="http://developer.gnome.org">The GNOME Development + Site</ulink>, documentation writers — <ulink type="http" + url="http://developer.gnome.org/projects/gdp">The GNOME Documentation + Project</ulink>, icon design artists — <ulink type="http" + url="http://gnome-icons.sourceforge.net/">Gnome Icon Web</ulink>, + general — <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> — 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> — 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_\.\+\-&:/]+</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_\.\+\-&/%]+</param> + </data> + </define> + <define name="absFilePath"> + <data type="string"> + <param name="pattern">/[a-zA-Z0-9_\.\+\-&/%]+</param> + </data> + </define> + <define name="absDirPath"> + <data type="string"> + <param name="pattern">/[a-zA-Z0-9_\.\+\-&/%]*</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 © 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><choice> <replaceable>p1</replaceable> <replaceable>p2</replaceable> <replaceable>p3</replaceable> </choice></programlisting>
+
+<para>is transformed to</para>
+
+<programlisting><choice> <choice> <replaceable>p1</replaceable> <replaceable>p2</replaceable> </choice> <replaceable>p3</replaceable> </choice></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><mixed> <replaceable>p</replaceable> </mixed></programlisting>
+
+<para>is transformed into</para>
+
+<programlisting><interleave> <replaceable>p</replaceable> <text/> </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><optional> <replaceable>p</replaceable> </optional></programlisting>
+
+<para>is transformed into</para>
+
+<programlisting><choice> <replaceable>p</replaceable> <empty/> </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><zeroOrMore> <replaceable>p</replaceable> </zeroOrMore></programlisting>
+
+<para>is transformed into</para>
+
+<programlisting><choice> <oneOrMore> <replaceable>p</replaceable> </oneOrMore> <empty/> </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><define name="<replaceable>n</replaceable>">
+ <replaceable>p1</replaceable>
+</define>
+<define name="<replaceable>n</replaceable>">
+ <replaceable>p2</replaceable>
+</define></programlisting>
+
+<para>is combined into</para>
+
+<programlisting><define name="<replaceable>n</replaceable>">
+ <<replaceable>c</replaceable>>
+ <replaceable>p1</replaceable>
+ <replaceable>p2</replaceable>
+ </<replaceable>c</replaceable>>
+</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><grammar><start><replaceable>p</replaceable></start></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><group> <replaceable>p1</replaceable>
+<replaceable>p2</replaceable> </group></literal> or
+<literal><interleave> <replaceable>p1</replaceable>
+<replaceable>p2</replaceable> </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><interleave>
+<replaceable>p1</replaceable> <replaceable>p2</replaceable>
+</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=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> ]>">
+<doc>foo</doc>
+</valid>
+<valid dtd=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> ]>">
+<doc> foo </doc>
+</valid>
+<invalid dtd=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> ]>">
+<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=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> <!ENTITY bar SYSTEM 'whatever' NDATA jpeg> ]>">
+<doc> foo bar </doc>
+</valid>
+<valid dtd=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> <!ENTITY bar SYSTEM 'whatever' NDATA jpeg> ]>">
+<doc> foo bar foo</doc>
+</valid>
+<invalid dtd=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg>]>">
+<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 "'<?xml'"> +<!ENTITY pic "'?>'"> +<!ENTITY br "\n"> +<!ENTITY cellback '#c0d9c0'> +<!ENTITY mdash "--"> <!-- —, but nsgmls doesn't grok hex --> +<!ENTITY com "--"> +<!ENTITY como "--"> +<!ENTITY comc "--"> +<!ENTITY hcro "&#x"> +<!-- <!ENTITY nbsp " "> --> +<!ENTITY nbsp " "> +<!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 < 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 &nbsp; +and define nbsp as &#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 & 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 & 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>'"' +([^%&"] +| <nt def='NT-PEReference'>PEReference</nt> +| <nt def='NT-Reference'>Reference</nt>)* +'"' +</rhs> +<rhs>| +"'" +([^%&'] +| <nt def='NT-PEReference'>PEReference</nt> +| <nt def='NT-Reference'>Reference</nt>)* +"'"</rhs> +</prod> +<prod id='NT-AttValue'><lhs>AttValue</lhs> +<rhs>'"' +([^<&"] +| <nt def='NT-Reference'>Reference</nt>)* +'"' +</rhs> +<rhs>| +"'" +([^<&'] +| <nt def='NT-Reference'>Reference</nt>)* +"'"</rhs> +</prod> +<prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs> +<rhs>('"' [^"]* '"') | ("'" [^']* "'") +</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 +| [a-zA-Z0-9] +| [-'()+,./:=?;!*#@$_%]</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 (&) and the left angle bracket (<) +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;</code>" and "<code>&lt;</code>" respectively. +The right angle +bracket (>) may be represented using the string +"<code>&gt;</code>", and must, <termref def='dt-compat'>for +compatibility</termref>, +be escaped using +"<code>&gt;</code>" or a character reference +when it appears in the string +"<code>]]></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>]]></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>&apos;</code>", and the double-quote character (") as +"<code>&quot;</code>". +<scrap lang="ebnf"> +<head>Character Data</head> +<prod id='NT-CharData'> +<lhs>CharData</lhs> +<rhs>[^<&]* - ([^<&]* ']]>' [^<&]*)</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>'<!--' +((<nt def='NT-Char'>Char</nt> - '-') +| ('-' (<nt def='NT-Char'>Char</nt> - '-')))* +'-->'</rhs> +</prod> +</scrap> +</termdef></p> +<p>An example of a comment: +<eg><!&como; declarations for <head> & <body> &comc;></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>'<?' <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><![CDATA[</code>" and end with the string +"<code>]]></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>'<![CDATA['</rhs> +</prod> +<prod id='NT-CData'><lhs>CData</lhs> +<rhs>(<nt def='NT-Char'>Char</nt>* - +(<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*)) +</rhs> +</prod> +<prod id='NT-CDEnd'><lhs>CDEnd</lhs> +<rhs>']]>'</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>&lt;</code>" and "<code>&amp;</code>". CDATA sections +cannot nest.</termdef> +</p> + +<p>An example of a CDATA section, in which "<code><greeting></code>" and +"<code></greeting></code>" +are recognized as <termref def='dt-chardata'>character data</termref>, not +<termref def='dt-markup'>markup</termref>: +<eg><![CDATA[<greeting>Hello, world!</greeting>]]></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>'<!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 +><?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>'<' <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><</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>&lt;</code>") must not contain +a <code><</code>. +</p></wfcnote> +<p>An example of a start-tag: +<eg><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>'</' <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></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>'<' <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> +</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><IMG align="left" + src="http://www.w3.org/Icons/WWW/w3c_home" /> +<br></br> +<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>'<!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><!ELEMENT br EMPTY> +<!ELEMENT p (#PCDATA|emph)* > +<!ELEMENT %name.para; %content.para; > +<!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><!ELEMENT spec (front, body, back?)> +<!ELEMENT div1 (head, (p | list | note)*, div2*)> +<!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><!ELEMENT p (#PCDATA|a|ul|b|i|em)*> +<!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* > +<!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>'<!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>? '>'</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' +| '#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><!ATTLIST termdef + id ID #REQUIRED + name CDATA #IMPLIED> +<!ATTLIST list + type (bullets|ordered|glossary) "ordered"> +<!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>'<![' S? 'INCLUDE' S? '[' + +<nt def="NT-extSubsetDecl">extSubsetDecl</nt> +']]>' +</rhs> +</prod> +<prod id='NT-ignoreSect'><lhs>ignoreSect</lhs> +<rhs>'<![' S? 'IGNORE' S? '[' +<nt def="NT-ignoreSectContents">ignoreSectContents</nt>* +']]>'</rhs> +</prod> + +<prod id='NT-ignoreSectContents'><lhs>ignoreSectContents</lhs> +<rhs><nt def='NT-Ignore'>Ignore</nt> +('<![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt> ']]>' +<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>* ('<![' | ']]>') +<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><!ENTITY % draft 'INCLUDE' > +<!ENTITY % final 'IGNORE' > + +<![%draft;[ +<!ELEMENT book (comments*, title, body, supplements?)> +]]> +<![%final;[ +<!ELEMENT book (title, body, supplements?)> +]]> +</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>'&#' [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>&#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>&#</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>&</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>'&' <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 <key>less-than</key> (&hcro;3C;) to save options. +This document was prepared on &docdate; and +is classified &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>'<!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>? '>'</rhs> +</prod> +<prod id='NT-PEDecl'><lhs>PEDecl</lhs> +<rhs>'<!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>? '>'</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><!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><!ENTITY open-hatch + SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml"> +<!ENTITY open-hatch + PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN" + "http://www.textuality.com/boilerplate/OpenHatch.xml"> +<!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><?xml encoding='UTF-8'?> +<?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;T;</code>" expands to +"<code>AT&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><!ENTITY EndAttr "27'" > +<element attribute='a-&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 "Éditions Gallimard" > +<!ENTITY rights "All rights reserved" > +<!ENTITY book "La Peste: Albert Camus, +© 1947 %pub;. &rights;" >]]></eg> +then the replacement text for the entity "<code>book</code>" is: +<eg>La Peste: Albert Camus, +© 1947 Éditions Gallimard. &rights;</eg> +The general-entity reference "<code>&rights;</code>" would be expanded +should the reference "<code>&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>&#60;</code>" and "<code>&#38;</code>" may be used to +escape <code><</code> and <code>&</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 "&#60;"> +<!ENTITY gt ">"> +<!ENTITY amp "&#38;"> +<!ENTITY apos "'"> +<!ENTITY quot """> +]]></eg> +Note that the <code><</code> and <code>&</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>'<!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 +— 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 — Universal +Multiple-Octet Coded Character Set (UCS) — 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 — Text and Office +Systems — Standard Generalized Markup Language (SGML).</emph> First +edition — 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 — +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] +| [#x0061-#x007A] +| [#x00C0-#x00D6] +| [#x00D8-#x00F6] +| [#x00F8-#x00FF] +| [#x0100-#x0131] +| [#x0134-#x013E] +| [#x0141-#x0148] +| [#x014A-#x017E] +| [#x0180-#x01C3] +| [#x01CD-#x01F0] +| [#x01F4-#x01F5] +| [#x01FA-#x0217] +| [#x0250-#x02A8] +| [#x02BB-#x02C1] +| #x0386 +| [#x0388-#x038A] +| #x038C +| [#x038E-#x03A1] +| [#x03A3-#x03CE] +| [#x03D0-#x03D6] +| #x03DA +| #x03DC +| #x03DE +| #x03E0 +| [#x03E2-#x03F3] +| [#x0401-#x040C] +| [#x040E-#x044F] +| [#x0451-#x045C] +| [#x045E-#x0481] +| [#x0490-#x04C4] +| [#x04C7-#x04C8] +| [#x04CB-#x04CC] +| [#x04D0-#x04EB] +| [#x04EE-#x04F5] +| [#x04F8-#x04F9] +| [#x0531-#x0556] +| #x0559 +| [#x0561-#x0586] +| [#x05D0-#x05EA] +| [#x05F0-#x05F2] +| [#x0621-#x063A] +| [#x0641-#x064A] +| [#x0671-#x06B7] +| [#x06BA-#x06BE] +| [#x06C0-#x06CE] +| [#x06D0-#x06D3] +| #x06D5 +| [#x06E5-#x06E6] +| [#x0905-#x0939] +| #x093D +| [#x0958-#x0961] +| [#x0985-#x098C] +| [#x098F-#x0990] +| [#x0993-#x09A8] +| [#x09AA-#x09B0] +| #x09B2 +| [#x09B6-#x09B9] +| [#x09DC-#x09DD] +| [#x09DF-#x09E1] +| [#x09F0-#x09F1] +| [#x0A05-#x0A0A] +| [#x0A0F-#x0A10] +| [#x0A13-#x0A28] +| [#x0A2A-#x0A30] +| [#x0A32-#x0A33] +| [#x0A35-#x0A36] +| [#x0A38-#x0A39] +| [#x0A59-#x0A5C] +| #x0A5E +| [#x0A72-#x0A74] +| [#x0A85-#x0A8B] +| #x0A8D +| [#x0A8F-#x0A91] +| [#x0A93-#x0AA8] +| [#x0AAA-#x0AB0] +| [#x0AB2-#x0AB3] +| [#x0AB5-#x0AB9] +| #x0ABD +| #x0AE0 +| [#x0B05-#x0B0C] +| [#x0B0F-#x0B10] +| [#x0B13-#x0B28] +| [#x0B2A-#x0B30] +| [#x0B32-#x0B33] +| [#x0B36-#x0B39] +| #x0B3D +| [#x0B5C-#x0B5D] +| [#x0B5F-#x0B61] +| [#x0B85-#x0B8A] +| [#x0B8E-#x0B90] +| [#x0B92-#x0B95] +| [#x0B99-#x0B9A] +| #x0B9C +| [#x0B9E-#x0B9F] +| [#x0BA3-#x0BA4] +| [#x0BA8-#x0BAA] +| [#x0BAE-#x0BB5] +| [#x0BB7-#x0BB9] +| [#x0C05-#x0C0C] +| [#x0C0E-#x0C10] +| [#x0C12-#x0C28] +| [#x0C2A-#x0C33] +| [#x0C35-#x0C39] +| [#x0C60-#x0C61] +| [#x0C85-#x0C8C] +| [#x0C8E-#x0C90] +| [#x0C92-#x0CA8] +| [#x0CAA-#x0CB3] +| [#x0CB5-#x0CB9] +| #x0CDE +| [#x0CE0-#x0CE1] +| [#x0D05-#x0D0C] +| [#x0D0E-#x0D10] +| [#x0D12-#x0D28] +| [#x0D2A-#x0D39] +| [#x0D60-#x0D61] +| [#x0E01-#x0E2E] +| #x0E30 +| [#x0E32-#x0E33] +| [#x0E40-#x0E45] +| [#x0E81-#x0E82] +| #x0E84 +| [#x0E87-#x0E88] +| #x0E8A +| #x0E8D +| [#x0E94-#x0E97] +| [#x0E99-#x0E9F] +| [#x0EA1-#x0EA3] +| #x0EA5 +| #x0EA7 +| [#x0EAA-#x0EAB] +| [#x0EAD-#x0EAE] +| #x0EB0 +| [#x0EB2-#x0EB3] +| #x0EBD +| [#x0EC0-#x0EC4] +| [#x0F40-#x0F47] +| [#x0F49-#x0F69] +| [#x10A0-#x10C5] +| [#x10D0-#x10F6] +| #x1100 +| [#x1102-#x1103] +| [#x1105-#x1107] +| #x1109 +| [#x110B-#x110C] +| [#x110E-#x1112] +| #x113C +| #x113E +| #x1140 +| #x114C +| #x114E +| #x1150 +| [#x1154-#x1155] +| #x1159 +| [#x115F-#x1161] +| #x1163 +| #x1165 +| #x1167 +| #x1169 +| [#x116D-#x116E] +| [#x1172-#x1173] +| #x1175 +| #x119E +| #x11A8 +| #x11AB +| [#x11AE-#x11AF] +| [#x11B7-#x11B8] +| #x11BA +| [#x11BC-#x11C2] +| #x11EB +| #x11F0 +| #x11F9 +| [#x1E00-#x1E9B] +| [#x1EA0-#x1EF9] +| [#x1F00-#x1F15] +| [#x1F18-#x1F1D] +| [#x1F20-#x1F45] +| [#x1F48-#x1F4D] +| [#x1F50-#x1F57] +| #x1F59 +| #x1F5B +| #x1F5D +| [#x1F5F-#x1F7D] +| [#x1F80-#x1FB4] +| [#x1FB6-#x1FBC] +| #x1FBE +| [#x1FC2-#x1FC4] +| [#x1FC6-#x1FCC] +| [#x1FD0-#x1FD3] +| [#x1FD6-#x1FDB] +| [#x1FE0-#x1FEC] +| [#x1FF2-#x1FF4] +| [#x1FF6-#x1FFC] +| #x2126 +| [#x212A-#x212B] +| #x212E +| [#x2180-#x2182] +| [#x3041-#x3094] +| [#x30A1-#x30FA] +| [#x3105-#x312C] +| [#xAC00-#xD7A3] +</rhs></prod> +<prod id='NT-Ideographic'><lhs>Ideographic</lhs> +<rhs>[#x4E00-#x9FA5] +| #x3007 +| [#x3021-#x3029] +</rhs></prod> +<prod id='NT-CombiningChar'><lhs>CombiningChar</lhs> +<rhs>[#x0300-#x0345] +| [#x0360-#x0361] +| [#x0483-#x0486] +| [#x0591-#x05A1] +| [#x05A3-#x05B9] +| [#x05BB-#x05BD] +| #x05BF +| [#x05C1-#x05C2] +| #x05C4 +| [#x064B-#x0652] +| #x0670 +| [#x06D6-#x06DC] +| [#x06DD-#x06DF] +| [#x06E0-#x06E4] +| [#x06E7-#x06E8] +| [#x06EA-#x06ED] +| [#x0901-#x0903] +| #x093C +| [#x093E-#x094C] +| #x094D +| [#x0951-#x0954] +| [#x0962-#x0963] +| [#x0981-#x0983] +| #x09BC +| #x09BE +| #x09BF +| [#x09C0-#x09C4] +| [#x09C7-#x09C8] +| [#x09CB-#x09CD] +| #x09D7 +| [#x09E2-#x09E3] +| #x0A02 +| #x0A3C +| #x0A3E +| #x0A3F +| [#x0A40-#x0A42] +| [#x0A47-#x0A48] +| [#x0A4B-#x0A4D] +| [#x0A70-#x0A71] +| [#x0A81-#x0A83] +| #x0ABC +| [#x0ABE-#x0AC5] +| [#x0AC7-#x0AC9] +| [#x0ACB-#x0ACD] +| [#x0B01-#x0B03] +| #x0B3C +| [#x0B3E-#x0B43] +| [#x0B47-#x0B48] +| [#x0B4B-#x0B4D] +| [#x0B56-#x0B57] +| [#x0B82-#x0B83] +| [#x0BBE-#x0BC2] +| [#x0BC6-#x0BC8] +| [#x0BCA-#x0BCD] +| #x0BD7 +| [#x0C01-#x0C03] +| [#x0C3E-#x0C44] +| [#x0C46-#x0C48] +| [#x0C4A-#x0C4D] +| [#x0C55-#x0C56] +| [#x0C82-#x0C83] +| [#x0CBE-#x0CC4] +| [#x0CC6-#x0CC8] +| [#x0CCA-#x0CCD] +| [#x0CD5-#x0CD6] +| [#x0D02-#x0D03] +| [#x0D3E-#x0D43] +| [#x0D46-#x0D48] +| [#x0D4A-#x0D4D] +| #x0D57 +| #x0E31 +| [#x0E34-#x0E3A] +| [#x0E47-#x0E4E] +| #x0EB1 +| [#x0EB4-#x0EB9] +| [#x0EBB-#x0EBC] +| [#x0EC8-#x0ECD] +| [#x0F18-#x0F19] +| #x0F35 +| #x0F37 +| #x0F39 +| #x0F3E +| #x0F3F +| [#x0F71-#x0F84] +| [#x0F86-#x0F8B] +| [#x0F90-#x0F95] +| #x0F97 +| [#x0F99-#x0FAD] +| [#x0FB1-#x0FB7] +| #x0FB9 +| [#x20D0-#x20DC] +| #x20E1 +| [#x302A-#x302F] +| #x3099 +| #x309A +</rhs></prod> +<prod id='NT-Digit'><lhs>Digit</lhs> +<rhs>[#x0030-#x0039] +| [#x0660-#x0669] +| [#x06F0-#x06F9] +| [#x0966-#x096F] +| [#x09E6-#x09EF] +| [#x0A66-#x0A6F] +| [#x0AE6-#x0AEF] +| [#x0B66-#x0B6F] +| [#x0BE7-#x0BEF] +| [#x0C66-#x0C6F] +| [#x0CE6-#x0CEF] +| [#x0D66-#x0D6F] +| [#x0E50-#x0E59] +| [#x0ED0-#x0ED9] +| [#x0F20-#x0F29] +</rhs></prod> +<prod id='NT-Extender'><lhs>Extender</lhs> +<rhs>#x00B7 +| #x02D0 +| #x02D1 +| #x0387 +| #x0640 +| #x0E46 +| #x0EC6 +| #x3005 +| [#x3031-#x3035] +| [#x309D-#x309E] +| [#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 "<") 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;) may be escaped +numerically (&#38;#38;) or with a general entity +(&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 (&) may be escaped +numerically (&#38;) or with a general entity +(&amp;).</p> +]]></eg> +A reference in the document to "<code>&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 (&) or with a general entity +(&). +]]></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 '%zz;'> +5 <!ENTITY % zz '<!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>&#60;</code>" is +expanded immediately and the parameter entity "<code>zz</code>" is +stored with the replacement text +"<code><!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><!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—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><?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, '<' 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> + |