<commit_before><?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www-sop.inria.fr/oasis/ProActive/schemas"
	xmlns:pa="http://www-sop.inria.fr/oasis/ProActive/schemas" elementFormDefault="qualified">

	<include schemaLocation="CommonTypes.xsd"></include>

	<attribute name="OSAttr">
		<simpleType>
			<restriction base="string">
				<enumeration value="Unix"></enumeration>
				<enumeration value="Windows"></enumeration>
			</restriction>
		</simpleType>
	</attribute>

	<attribute name="PriorityAttr">
		<simpleType>
			<restriction base="string">
				<enumeration value="Low"></enumeration>
				<enumeration value="Normal"></enumeration>
				<enumeration value="High"></enumeration>
			</restriction>
		</simpleType>
	</attribute>


	<complexType name="jreType">
		<sequence>
			<element name="parameter" type="pa:parameterType" />
		</sequence>
		<attribute name="path" type="string"></attribute>
	</complexType>
	
	<complexType name="valueType">
		<attribute name="value" type="string" />
	</complexType>

	<simpleType name="parameterType">
		<restriction base="string"></restriction>
	</simpleType>


	<complexType name="nodeProviderType">
		<sequence>
			<element name="file" maxOccurs="unbounded">
				<complexType>
					<attribute name="path" type="pa:pathElementGeneralType"></attribute>
				</complexType>
			</element>
			<element name="fileTransfer" type="pa:fileTransferType" minOccurs="0" maxOccurs="unbounded"></element>
			<element name="executable" minOccurs="0">
				<complexType>
					<attribute name="relpath" type="pa:pathElementGeneralType"></attribute>
				</complexType>
			</element>
		</sequence>
		<attribute name="id" type="pa:idType"></attribute>
	</complexType>

	<complexType name="virtualNodeType">
		<sequence>
			<element name="fileTranfer" type="pa:fileTransferType" minOccurs="0" maxOccurs="unbounded"></element>
			<element name="nodeProvider" minOccurs="0" maxOccurs="unbounded">
				<complexType>
					<attribute name="refid" type="pa:idType"></attribute>
					<attribute name="capacity" type="pa:capacityType" />
				</complexType>
			</element>
		</sequence>
		<attribute name="id" type="string" use="required"></attribute>
		<attribute name="capacity" type="pa:capacityType"></attribute>
	</complexType>

	<complexType name="commandType">
		<sequence>
			<element name="path" type="pa:pathElementType" minOccurs="0" />
			<element name="arg" type="string" minOccurs="0" maxOccurs="unbounded" />
			<element name="filetransfer" type="pa:fileTransferType" minOccurs="0" />
		</sequence>
		<attribute name="name" type="pa:parameterType"></attribute>
	</complexType>

	<complexType name="applicationNodeType" abstract="true"></complexType>

	<complexType name="proactiveType">
		<complexContent>
			<extension base="pa:applicationNodeType">
				<sequence>
					<element name="configuration" minOccurs="0">
						<complexType>
							<all>
								<element name="bootClasspath" type="pa:pathType" minOccurs="0"/>
								<element name="java" type="pa:pathElementType" minOccurs="0" maxOccurs="1" />
								<element name="jvmarg" type="pa:valueType" minOccurs="0"/>
								<element name="applicationClasspath" type="pa:classpathType" minOccurs="0" maxOccurs="1"/>
								<element name="proactiveClasspath" type="pa:classpathType" minOccurs="0" maxOccurs="1"/>
								<element name="securityPolicy" type="pa:pathElementType" minOccurs="0" maxOccurs="1"/>
								<element name="log4jProperties" type="pa:pathElementType" minOccurs="0" maxOccurs="1"/>
								<element name="userProperties" type="pa:pathElementType" minOccurs="0" maxOccurs="1"/>
							</all>
						</complexType>
					</element>

					<element name="virtualNode" type="pa:virtualNodeType" maxOccurs="unbounded">
						<unique name="nodeProviderConstraint">
							<selector xpath="pa:nodeProvider"></selector>
							<field xpath="@refid"></field>
						</unique>
					</element>

				</sequence>
				<attribute name="relpath" type="pa:pathElementGeneralType" use="optional"></attribute>
			</extension>
		</complexContent>
	</complexType>

	<complexType name="executableType">
		<complexContent>
			<extension base="pa:applicationNodeType">
				<sequence>
					<element name="nodeProvider" maxOccurs="unbounded">
						<complexType>
							<attribute name="refid" type="string"></attribute>
						</complexType>
					</element>
					<element name="command" type="pa:commandType"></element>
				</sequence>
				<attribute name="instances">
					<simpleType>
						<restriction base="string">
							<enumeration value="onePerHost"></enumeration>
							<enumeration value="onePerVM"></enumeration>
							<enumeration value="onePerCapacity"></enumeration>
						</restriction>
					</simpleType>
				</attribute>
			</extension>
		</complexContent>
	</complexType>

	<element name="abstractApplicationElement" type="pa:applicationNodeType" />

	<element name="executable" type="pa:executableType" substitutionGroup="pa:abstractApplicationElement" />
	<element name="proactive" type="pa:proactiveType" substitutionGroup="pa:abstractApplicationElement" />


	<complexType name="applicationType">
		<sequence>
			<element ref="pa:abstractApplicationElement" maxOccurs="1" minOccurs="1"></element>
		</sequence>
	</complexType>

	<complexType name="ressourcesType">
		<sequence>
			<element name="nodeProvider" type="pa:nodeProviderType" minOccurs="0" maxOccurs="unbounded">
			</element>
		</sequence>
	</complexType>

	<complexType name="GCMApplicationType">
		<sequence>
			<element name="environment" type="pa:environmentType" minOccurs="0" />
			<element name="application" type="pa:applicationType" minOccurs="1" maxOccurs="1"></element>
			<element name="resources" type="pa:ressourcesType" minOccurs="1" maxOccurs="1"></element>
		</sequence>
	</complexType>

	<element name="GCMApplication" type="pa:GCMApplicationType">
		<!-- resource providers refid/id key correctness -->
		<!--  -->
		<key name="idnodeProviders">
			<selector xpath="pa:resources/pa:nodeProvider" />
			<field xpath="@id" />
		</key>
		<keyref name="refIdKeynodeProvider" refer="pa:idnodeProviders">
			<selector xpath="pa:application/pa:executable/pa:nodeProvider"></selector>
			<field xpath="@refid"></field>
		</keyref>
		<keyref name="refIdKeynodeProvider2" refer="pa:idnodeProviders">
			<selector xpath="pa:application/pa:proactive/pa:virtualNode/pa:nodeProvider"></selector>
			<field xpath="@refid"></field>
		</keyref><commit_msg>removed obsolete element in nodeProviderType renamed ressourceType to resourceType<commit_after><?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www-sop.inria.fr/oasis/ProActive/schemas"
	xmlns:pa="http://www-sop.inria.fr/oasis/ProActive/schemas" elementFormDefault="qualified">

	<include schemaLocation="CommonTypes.xsd"></include>

	<attribute name="OSAttr">
		<simpleType>
			<restriction base="string">
				<enumeration value="Unix"></enumeration>
				<enumeration value="Windows"></enumeration>
			</restriction>
		</simpleType>
	</attribute>

	<attribute name="PriorityAttr">
		<simpleType>
			<restriction base="string">
				<enumeration value="Low"></enumeration>
				<enumeration value="Normal"></enumeration>
				<enumeration value="High"></enumeration>
			</restriction>
		</simpleType>
	</attribute>


	<complexType name="jreType">
		<sequence>
			<element name="parameter" type="pa:parameterType" />
		</sequence>
		<attribute name="path" type="string"></attribute>
	</complexType>
	
	<complexType name="valueType">
		<attribute name="value" type="string" />
	</complexType>

	<simpleType name="parameterType">
		<restriction base="string"></restriction>
	</simpleType>


	<complexType name="nodeProviderType">
		<sequence>
			<element name="file" maxOccurs="unbounded">
				<complexType>
					<attribute name="path" type="pa:pathElementGeneralType"></attribute>
				</complexType>
			</element>
			<element name="fileTransfer" type="pa:fileTransferType" minOccurs="0" maxOccurs="unbounded"></element>
		</sequence>
		<attribute name="id" type="pa:idType"></attribute>
	</complexType>

	<complexType name="virtualNodeType">
		<sequence>
			<element name="fileTranfer" type="pa:fileTransferType" minOccurs="0" maxOccurs="unbounded"></element>
			<element name="nodeProvider" minOccurs="0" maxOccurs="unbounded">
				<complexType>
					<attribute name="refid" type="pa:idType"></attribute>
					<attribute name="capacity" type="pa:capacityType" />
				</complexType>
			</element>
		</sequence>
		<attribute name="id" type="string" use="required"></attribute>
		<attribute name="capacity" type="pa:capacityType"></attribute>
	</complexType>

	<complexType name="commandType">
		<sequence>
			<element name="path" type="pa:pathElementType" minOccurs="0" />
			<element name="arg" type="string" minOccurs="0" maxOccurs="unbounded" />
			<element name="filetransfer" type="pa:fileTransferType" minOccurs="0" />
		</sequence>
		<attribute name="name" type="pa:parameterType"></attribute>
	</complexType>

	<complexType name="applicationNodeType" abstract="true"></complexType>

	<complexType name="proactiveType">
		<complexContent>
			<extension base="pa:applicationNodeType">
				<sequence>
					<element name="configuration" minOccurs="0">
						<complexType>
							<all>
								<element name="bootClasspath" type="pa:pathType" minOccurs="0"/>
								<element name="java" type="pa:pathElementType" minOccurs="0" maxOccurs="1" />
								<element name="jvmarg" type="string" minOccurs="0"/>
								<element name="applicationClasspath" type="pa:classpathType" minOccurs="0" maxOccurs="1"/>
								<element name="proactiveClasspath" type="pa:classpathType" minOccurs="0" maxOccurs="1"/>
								<element name="securityPolicy" type="pa:pathElementType" minOccurs="0" maxOccurs="1"/>
								<element name="log4jProperties" type="pa:pathElementType" minOccurs="0" maxOccurs="1"/>
								<element name="userProperties" type="pa:pathElementType" minOccurs="0" maxOccurs="1"/>
							</all>
						</complexType>
					</element>

					<element name="virtualNode" type="pa:virtualNodeType" maxOccurs="unbounded">
						<unique name="nodeProviderConstraint">
							<selector xpath="pa:nodeProvider"></selector>
							<field xpath="@refid"></field>
						</unique>
					</element>

				</sequence>
				<attribute name="relpath" type="pa:pathElementGeneralType" use="optional"></attribute>
			</extension>
		</complexContent>
	</complexType>

	<complexType name="executableType">
		<complexContent>
			<extension base="pa:applicationNodeType">
				<sequence>
					<element name="nodeProvider" maxOccurs="unbounded">
						<complexType>
							<attribute name="refid" type="string"></attribute>
						</complexType>
					</element>
					<element name="command" type="pa:commandType"></element>
				</sequence>
				<attribute name="instances">
					<simpleType>
						<restriction base="string">
							<enumeration value="onePerHost"></enumeration>
							<enumeration value="onePerVM"></enumeration>
							<enumeration value="onePerCapacity"></enumeration>
						</restriction>
					</simpleType>
				</attribute>
			</extension>
		</complexContent>
	</complexType>

	<element name="abstractApplicationElement" type="pa:applicationNodeType" />

	<element name="executable" type="pa:executableType" substitutionGroup="pa:abstractApplicationElement" />
	<element name="proactive" type="pa:proactiveType" substitutionGroup="pa:abstractApplicationElement" />


	<complexType name="applicationType">
		<sequence>
			<element ref="pa:abstractApplicationElement" maxOccurs="1" minOccurs="1"></element>
		</sequence>
	</complexType>

	<complexType name="resourcesType">
		<sequence>
			<element name="nodeProvider" type="pa:nodeProviderType" minOccurs="0" maxOccurs="unbounded">
			</element>
		</sequence>
	</complexType>

	<complexType name="GCMApplicationType">
		<sequence>
			<element name="environment" type="pa:environmentType" minOccurs="0" />
			<element name="application" type="pa:applicationType" minOccurs="1" maxOccurs="1"></element>
			<element name="resources" type="pa:resourcesType" minOccurs="1" maxOccurs="1"></element>
		</sequence>
	</complexType>

	<element name="GCMApplication" type="pa:GCMApplicationType">
		<!-- resource providers refid/id key correctness -->
		<!--  -->
		<key name="idnodeProviders">
			<selector xpath="pa:resources/pa:nodeProvider" />
			<field xpath="@id" />
		</key>
		<keyref name="refIdKeynodeProvider" refer="pa:idnodeProviders">
			<selector xpath="pa:application/pa:executable/pa:nodeProvider"></selector>
			<field xpath="@refid"></field>
		</keyref>
		<keyref name="refIdKeynodeProvider2" refer="pa:idnodeProviders">
			<selector xpath="pa:application/pa:proactive/pa:virtualNode/pa:nodeProvider"></selector>
			<field xpath="@refid"></field>
		</keyref>
{'fraction_non_alphanumeric': 0.16897356143079315, 'fraction_numerical': 0.006143079315707621, 'mean_word_length': 5.347976307996051, 'pattern_counts': {'":': 0, '<': 379, '<?xml version=': 2, '>': 379, 'https://': 0, 'lorem ipsum': 0, 'www.': 6, 'xml': 6}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '987874', 'n_tokens_mistral': 4751, 'n_tokens_neox': 3914, 'n_words': 662}