<?xml version="1.0" encoding="ISO_8859-1"?>
<!--
	<!DOCTYPE program SYSTEM "http://www.doc.ic.ac.uk/project/2004/362/g04362341M/DTD/program.dtd">
-->
<program>
	<argument-model>
		<arguments>
			<argument>
				<name>MultiArgC</name>
				<help>
					<overview>A list of numbers to process</overview>
					<validation-info>Must be a list of number</validation-info>
				</help>
				<is-compulsary />
				<text-argument>
					<initial>Starting value</initial>
					<is-multiline />
					<regex>\d+((\n|\n\r|\r)\d+)*</regex>
				</text-argument>
			</argument>
			
			<argument>
				<name>MultiArgNC</name>
				<help>
					<overview>A list of classes to process</overview>
					<validation-info>Must be a list of ASCII based java identifiers</validation-info>
				</help>
				<text-argument>
					<initial>Integer</initial>
					<is-multiline />
					<regex>([_A-Za-z][_a-zA-Z0-9]*)((\n|\n\r|\r)([_A-Za-z][_a-zA-Z0-9]*))*</regex>
				</text-argument>
			</argument>
			
			<argument>
				<name>SingleArgC</name>
				<help>
					<overview>Put anything you like here, I don't care</overview>
					<validation-info>Must match pattern : .*</validation-info>
				</help>
				<is-compulsary />
				<text-argument>
					<initial>Starting value</initial>
					<regex>.*</regex>
				</text-argument>
			</argument>
			<argument>
				<name>SingleArgNC</name>
				<help>
					<overview>A non compulsary argument</overview>
				</help>
				<text-argument>
					<initial>The starting value</initial>
				</text-argument>
			</argument>
			<argument>
				<name>BoolArgC</name>
				<help>
					<overview>A compulsary bool</overview>
				</help>
				<is-compulsary />
				<bool-argument>
					<initially-on />
				</bool-argument>
			</argument>
			<argument>
				<name>BoolArgNC</name>
				<help>
					<overview>A non compulsary bool</overview>
				</help>
				<bool-argument>
				</bool-argument>
			</argument>
			<argument>
				<name>SetArgNC</name>
				<help>
					<overview>A non compulsary set</overview>
				</help>
				<set-argument>
					<initial>A</initial>
					<set-values>
						<set-value>
							<name>A</name>
						</set-value>
						<set-value>
							<name>B</name>
						</set-value>
						<set-value>
							<name>C</name>
						</set-value>
					</set-values>
				</set-argument>
			</argument>
			<argument>
				<name>SetArgC</name>
				<help>
					<overview>A compulsary set</overview>
				</help>
				<is-compulsary />
				<set-argument>
					<initial>B</initial>
					<set-values>
						<set-value>
							<name>A</name>
						</set-value>
						<set-value>
							<name>B</name>
						</set-value>
					</set-values>
				</set-argument>
			</argument>
		</arguments>
		<mappings>
			<mapping>
				<conditions>
					<condition>
						<target>SetArgC</target>

						<set-condition>
							<allowed-values>
								<value>B</value>
							</allowed-values>
						</set-condition>
					</condition>
				</conditions>
				<input-pipes>
					<pipe>
						<name>BStuff-input</name>
						<type>uk.ac.ic.doc.kevlar.publicInterfaces.IType</type>
						<pipe-help>Test pipe</pipe-help>
						<param-name>T</param-name>
					</pipe>
				</input-pipes>
				<output-pipes>
					<pipe>
						<name>BStuff-output</name>
						<type>uk.ac.ic.doc.kevlar.publicInterfaces.IType</type>
						<pipe-help>Test pipe</pipe-help>
						<param-name>T</param-name>
					</pipe>
				</output-pipes>
			</mapping>
		</mappings>
	</argument-model>
	<description-model>
		<name>ArgTest</name>
		<version>
			<major>0</major>
			<minor>1</minor>
		</version>
		<description>A test program with a wide variety of arguments</description>
		<author>Daniel Burke</author>
		<website>http://www.doc.ic.ac.uk/project/2004/362/g04362341M/MavenSite/</website>
		<copyright>
			<name>Daniel Burke</name>
			<year>2004</year>
		</copyright>
		<keywords>
			<keyword>example</keyword>
			<keyword>test</keyword>
			<keyword>arguments</keyword>
		</keywords>
		<program-help>
			&lt;p&gt;
				This is an &lt;b>example&lt;/b&gt; program!
				It uses &lt;i&gt;HTML&lt;/i&gt;
			&lt;/p&gt;
		</program-help>
	</description-model>
	<return-model>
		<return-mappings>
			<return-mapping>
				<value>0</value>
				<message>Current Working Directory Changed</message>
				<is-good/>
			</return-mapping>
			<return-mapping>
				<value>1</value>
				<message>Unexpected error</message>
			</return-mapping>
		</return-mappings>
	</return-model>
</program>