Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
xml
xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Matthew Langston (private) -->
<xs:schema
	 targetNamespace="http://glast-ground.slac.stanford.edu/pipeline"
	 xmlns="http://glast-ground.slac.stanford.edu/pipeline"
	 xmlns:xs="http://www.w3.org/2001/XMLSchema"
	 elementFormDefault="qualified"
	 version="1.0">
	<xs:element name="pipeline">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="name" type="TaskNameType"/>
				<xs:element name="type" type="TaskType"/>
				<xs:element name="dataset-base-path" type="BasePathType"/>
				<xs:element name="run-log-path" type="RunLogPathType"/>
				<xs:element ref="executable" maxOccurs="unbounded"/>
				<xs:element ref="batch-job-configuration" maxOccurs="unbounded"/>
				<xs:element ref="file" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="foreign-input-file" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="processing-step" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="TaskNameType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TaskType">
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="SimReconDigi"/>
			<xs:enumeration value="test"/>
			<xs:enumeration value="Analysis"/>
			<xs:enumeration value="Reconstruction"/>
			<xs:enumeration value="Digitization"/>
			<xs:enumeration value="Report"/>
			<xs:enumeration value="SystemTest"/>
			<xs:enumeration value="Simulation"/>
			<xs:enumeration value="Reprocessing"/>
			<xs:enumeration value="Conversion"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="BasePathType">
		<xs:restriction base="xs:string">
			<xs:minLength value="0"/>
			<xs:maxLength value="200"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="RunLogPathType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="200"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- Application -->
	<xs:element name="executable" nillable="false">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="ExecutablePathType">
					<xs:attribute name="name" type="ExecutableNameType" use="required"/>
					<xs:attribute name="version" type="ExecutableVersionType" use="required"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="ExecutablePathType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="200"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ExecutableNameType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="20"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ExecutableVersionType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="20"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- JobConfiguration-->
	<xs:element name="batch-job-configuration">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="working-directory" type="WorkingDirectoryType"/>
				<xs:element name="log-file-path" type="LogFilePathType"/>
			</xs:sequence>
			<xs:attribute name="name" type="xs:string" use="required"/>
			<xs:attribute name="queue" type="BatchQueue" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:simpleTypeattribute name="WorkingDirectoryType">
		group" type="BatchGroup" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="WorkingDirectoryType">
		<xs:restriction base="xs:string">
			<xs:minLength value="0"/>
			<xs:maxLength value="200"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="LogFilePathType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="200"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="BatchQueue">
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="long"/>
			<xs:enumeration value="shortshort"/>
			<xs:enumeration value="xlong"/>
			<xs:enumeration value="medium"/>
			<xs:enumeration value="xxl"/>
			<xs:enumeration value="express"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="BatchGroup">
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="none"/>
			<xs:enumeration value="glastgrp"/>
			<xs:enumeration value="glastdata"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- Dataset -->
	<xs:element name="file">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="name" type="DatasetNameType" use="required"/>
					<xs:attribute name="type" type="DatasetType" use="required"/>
					<xs:enumeration value="xlongattribute name="file-type" type="DatasetFileType" use="required"/>
			<xs:enumeration value="medium"/>	</xs:extension>
			</xs:restriction>simpleContent>
		</xs:simpleType>complexType>
	<!-- Dataset -->/xs:element>
	<xs:element name="foreign-input-file">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:string">
					<xs:attribute name="name" type="DatasetNameType" use="required"/>
					<xs:attribute name="typepipeline" type="DatasetTypeTaskNameType" use="required"/>
					<xs:attribute name="file-type" type="DatasetFileTypeDatasetNameType" use="required"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="DatasetNameType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DatasetType">
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="MC"/>
			<xs:enumeration value="Analysis"/>
			<xs:enumeration value="text"/>
			<xs:enumeration value="LDF"/>
			<xs:enumeration value="DIGI"/>
			<xs:enumeration value="RAW"/>
			<xs:enumeration value="rcReport"/>
			<xs:enumeration value="merit"/>
			<xs:enumeration value="svac"/>
			<xs:enumeration value="histogram"/>
			<xs:enumeration value="script"/>
			<xs:enumeration value="log"/>
			<xs:enumeration value="ntuple"/>
			<xs:enumeration value="tree"/>
			<xs:enumeration value="RECON"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DatasetFileType">
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="jobOpt"/>
			<xs:enumeration value="root"/>
			<xs:enumeration value="txt"/>
			<xs:enumeration value="fits"/>
			<xs:enumeration value="pl"/>
			<xs:enumeration value="csh"/>
			<xs:enumeration value="tgz"/>
			<xs:enumeration value="xml"/>
			<xs:enumeration value="sh"/>
			<xs:enumeration value="tar"/>
			<xs:enumeration value="gz"/>
			<xs:enumeration value="tar.gz"/>
			<xs:enumeration value="pdf"/>
			<xs:enumeration value="ps"/>
			<xs:enumeration value="html"/>
			<xs:enumeration value="tex"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:element name="processing-step">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="input-file" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:attribute name="name" type="xs:string" use="required"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="output-file" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:attribute name="name" type="xs:string" use="required"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="name" type="xs:string" use="required"/>
			<xs:attribute name="executable" type="xs:string" use="required"/>
			<xs:attribute name="batch-job-configuration" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
</xs:schema>