<?xml version="1.0"?>
<suite>
	<!--
		header. A header can contain any information.
		This example uses Dublin Core, but you may write anything you want.
	-->
	<header xmlns:dc="http://purl.org/dc/elements/1.1/">
		<dc:creator>Sun Microsystems</dc:creator>
		<dc:title>Sample test suite to test the harness code</dc:title>
		
		<author mailto="kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</author>
		<version>$Id: example.rts 954 2001-07-25 01:20:59Z Bear $</version>
	</header>
	
	<!--
		One test case consists of either 1) a valid RELAX NG pattern and several valid/invalid test documents
		or 2) several invalid RELAX NG patterns.
		
		The first <testCase> element is an example of the formar type, the next <testCase> element
		is an example of the latter type.
	-->
	<testCase>
		<header>
			Does the processor support W3C XML Schema as a datatype library?
		</header>
		<validPattern name="W3C XML Schema datatypes test">
			<element name="root" xmlns="http://relaxng.org/ns/structure/0.9" datatypeLibrary="http://www.w3.org/2001/XMLSchema">
				<data type="integer"/>
			</element>
		</validPattern>
		<!--
			<valid> represents a valid instance.
			<invalid> represents an invalid instance.
			These are tested against the pattern specified in the <validPattern> element.
		-->
		<valid>
			<root>5</root>
		</valid>
		<valid>
			<root> -52 </root>
		</valid>
		<invalid>
			<root> abc </root>
		</invalid>
	</testCase>
	
	<testCase>
		<!--
			A test case can contain multiple invalid RELAX NG patterns.
			Processors are required to reject those patterns.
		-->
		<invalidPattern>
			<element name="root" xmlns="http://relaxng.org/ns/structure/0.9">
				<!-- undefined datatype -->
				<data type="integer"/>
			</element>
		</invalidPattern>
		<invalidPattern>
			<element name="root" xmlns="http://relaxng.org/ns/structure/0.9">
				<whatTheHeckIsThis/>
			</element>
		</invalidPattern>
	</testCase>
</suite>