diff options
author | Jan Pokorný <jpokorny@redhat.com> | 2013-01-21 18:32:54 +0100 |
---|---|---|
committer | Jan Pokorný <jpokorny@redhat.com> | 2013-01-21 18:32:54 +0100 |
commit | 73e9f64af524be2fc3a34ee1c473b64d12efbef2 (patch) | |
tree | 736a4c64f3d0e913498dae501bbdf3fb79aa12cc /testSuite.rng | |
download | rnc2rng-73e9f64af524be2fc3a34ee1c473b64d12efbef2.tar.gz rnc2rng-73e9f64af524be2fc3a34ee1c473b64d12efbef2.tar.xz rnc2rng-73e9f64af524be2fc3a34ee1c473b64d12efbef2.zip |
Initial commit, based on rnc.zip from gnosis.cx/download/relax
Complete URL: http://www.gnosis.cx/download/relax/rnc.zip
Signed-off-by: David Mertz/www.gnosis.cx
Diffstat (limited to 'testSuite.rng')
-rw-r--r-- | testSuite.rng | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/testSuite.rng b/testSuite.rng new file mode 100644 index 0000000..e3649c6 --- /dev/null +++ b/testSuite.rng @@ -0,0 +1,157 @@ +<?xml version="1.0"?>
+<!-- $Id: testSuite.rng,v 1.10 2002/04/30 07:00:05 jjc Exp $ -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" ns="">
+ <!--
+ Target namespace is intentionally set to "" so as not to interfere with
+ prefix/URI bindings
+ -->
+
+ <start>
+ <ref name="testSuite"/>
+ </start>
+
+ <define name="testSuite">
+ <element name="testSuite">
+ <ref name="header"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="testSuite"/>
+ <ref name="testCase"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+
+ <define name="testCase">
+ <element name="testCase">
+ <ref name="header"/>
+
+ <ref name="resources"/>
+
+ <choice>
+
+ <!-- Incorrect schema -->
+ <element name="incorrect">
+ <ref name="dtd"/>
+ <ref name="anyElement"/>
+ </element>
+
+ <!-- Correct schema and test cases -->
+ <group>
+ <element name="correct">
+ <ref name="dtd"/>
+ <externalRef href="relaxng.rng"/>
+ </element>
+ <zeroOrMore>
+ <choice>
+ <!-- Valid test cases -->
+ <element name="valid">
+ <ref name="dtd"/>
+ <ref name="anyElement"/>
+ </element>
+ <!-- Invalid test cases -->
+ <element name="invalid">
+ <ref name="dtd"/>
+ <ref name="anyElement"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+ </group>
+
+ </choice>
+
+ </element>
+ </define>
+
+ <define name="any">
+ <zeroOrMore>
+ <choice>
+ <ref name="anyElement"/>
+ <attribute>
+ <anyName/>
+ <text/>
+ </attribute>
+ <text/>
+ </choice>
+ </zeroOrMore>
+ </define>
+
+ <define name="anyElement">
+ <element>
+ <anyName/>
+ <ref name="any"/>
+ </element>
+ </define>
+
+ <define name="header">
+ <zeroOrMore>
+ <choice>
+ <element name="title">
+ <text/>
+ </element>
+ <element name="documentation">
+ <text/>
+ </element>
+ <element name="author">
+ <text/>
+ </element>
+ <!-- Email address for correspondence about test cases. -->
+ <element name="email">
+ <text/>
+ </element>
+ <!-- Section of the specification being tested. -->
+ <element name="section">
+ <text/>
+ </element>
+ <element name="requires">
+ <attribute name="datatypeLibrary"/>
+ </element>
+ <element>
+ <anyName>
+ <except>
+ <nsName/>
+ </except>
+ </anyName>
+ <ref name="any"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+ </define>
+
+ <define name="resources">
+ <zeroOrMore>
+ <choice>
+ <element name="resource">
+ <attribute name="name">
+ <ref name="pathSegment"/>
+ </attribute>
+ <ref name="dtd"/>
+ <ref name="anyElement"/>
+ </element>
+ <element name="dir">
+ <attribute name="name">
+ <ref name="pathSegment"/>
+ </attribute>
+ <ref name="resources"/>
+ </element>
+ </choice>
+ </zeroOrMore>
+ </define>
+
+ <define name="dtd">
+ <optional>
+ <attribute name="dtd"/>
+ </optional>
+ </define>
+
+ <!-- A relative URI segment. -->
+
+ <define name="pathSegment">
+ <data datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
+ type="string">
+ <!-- one or more RFC 2396 pchars -->
+ <param name="pattern">([\-A-Za-z0-9:@&=+$,_.!~*'()]|%[0-9a-fA-F][0-9a-fA-F])+</param>
+ </data>
+ </define>
+
+</grammar>
|