<commit_before><?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:gcm:application:1.0" xmlns="urn:gcm:application:1.0"
	elementFormDefault="qualified">

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

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

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


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


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

	<xsd:complexType name="valueType">
		<xsd:attribute name="value" type="xsd:string" />
	</xsd:complexType>

	<xsd:complexType name="technicalServiceType">
		<xsd:sequence>
			<xsd:element name="class" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="property" maxOccurs="unbounded">
							<xsd:complexType>
								<xsd:attribute name="name" type="xsd:string" use="required" />
								<xsd:attribute name="value" type="xsd:string" use="required" />
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
					<xsd:attribute name="name" type="xsd:string" use="required" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="nodeProviderType">
		<xsd:sequence>
			<xsd:element name="file" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="path" type="pathElementGeneralType"></xsd:attribute>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute name="id" type="idType"></xsd:attribute>
	</xsd:complexType>

	<xsd:complexType name="virtualNodeType">
		<xsd:sequence>
			<xsd:element name="technicalServices" type="technicalServiceType" minOccurs="0" />
			<xsd:element name="nodeProvider" minOccurs="0" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="technicalServices" type="technicalServiceType" minOccurs="0" />
					</xsd:sequence>
					<xsd:attribute name="refid" type="idType" use="required" />
					<xsd:attribute name="capacity" type="PosintOrVariableType" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:string" use="required"></xsd:attribute>
		<xsd:attribute name="capacity" type="PosintOrVariableType"></xsd:attribute>
	</xsd:complexType>

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

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

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

					<xsd:element name="technicalServices" type="technicalServiceType" minOccurs="0" />

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

				</xsd:sequence>
				<xsd:attribute name="relpath" type="pathElementGeneralType" use="required" />
				<xsd:attribute name="base" use="required">
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:enumeration value="home" />
							<xsd:enumeration value="root" />
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>

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

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

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


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

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

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

	<xsd:element name="GCMApplication" type="GCMApplicationType">
		<!-- resource providers refid/id key correctness -->
		<!--  -->
		<xsd:key name="idnodeProviders">
			<xsd:selector xpath="resources/nodeProvider" />
			<xsd:field xpath="@id" />
		</xsd:key>
		<xsd:keyref name="refIdKeynodeProvider" refer="idnodeProviders">
			<xsd:selector xpath="application/executable/nodeProvider"></xsd:selector>
			<xsd:field xpath="@refid"></xsd:field>
		</xsd:keyref>
		<xsd:keyref name="refIdKeynodeProvider2" refer="idnodeProviders">
			<xsd:selector xpath="application/proactive/virtualNode/nodeProvider"></xsd:selector>
			<xsd:field xpath="@refid"></xsd:field>
		</xsd:keyref>
	</xsd:element>

</xsd:schema><commit_msg>Added <proactiveSecurity> tag requested by Arnaud<commit_after><?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:gcm:application:1.0" xmlns="urn:gcm:application:1.0"
	elementFormDefault="qualified">

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

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

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


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


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

	<xsd:complexType name="valueType">
		<xsd:attribute name="value" type="xsd:string" />
	</xsd:complexType>

	<xsd:complexType name="technicalServiceType">
		<xsd:sequence>
			<xsd:element name="class" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="property" maxOccurs="unbounded">
							<xsd:complexType>
								<xsd:attribute name="name" type="xsd:string" use="required" />
								<xsd:attribute name="value" type="xsd:string" use="required" />
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
					<xsd:attribute name="name" type="xsd:string" use="required" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="nodeProviderType">
		<xsd:sequence>
			<xsd:element name="file" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attribute name="path" type="pathElementGeneralType"></xsd:attribute>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute name="id" type="idType"></xsd:attribute>
	</xsd:complexType>

	<xsd:complexType name="virtualNodeType">
		<xsd:sequence>
			<xsd:element name="technicalServices" type="technicalServiceType" minOccurs="0" />
			<xsd:element name="nodeProvider" minOccurs="0" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="technicalServices" type="technicalServiceType" minOccurs="0" />
					</xsd:sequence>
					<xsd:attribute name="refid" type="idType" use="required" />
					<xsd:attribute name="capacity" type="PosintOrVariableType" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:string" use="required"></xsd:attribute>
		<xsd:attribute name="capacity" type="PosintOrVariableType"></xsd:attribute>
	</xsd:complexType>

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

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

	<xsd:complexType name="proactiveType">
		<xsd:complexContent>
			<xsd:extension base="applicationNodeType">
				<xsd:sequence>
					<xsd:element name="configuration" minOccurs="0">
						<xsd:complexType>
							<xsd:sequence>
								<xsd:element name="bootClasspath" type="pathType" minOccurs="0" />
								<xsd:element name="java" type="pathElementType" minOccurs="0" maxOccurs="1" />
								<xsd:element name="jvmarg" minOccurs="0" maxOccurs="unbounded">
									<xsd:complexType>
										<xsd:attribute name="value" type="xsd:string" />
									</xsd:complexType>
								</xsd:element>
								<xsd:element name="applicationClasspath" type="pathType" minOccurs="0" maxOccurs="1" />
								<xsd:element name="proactiveClasspath" type="classpathType" minOccurs="0" maxOccurs="1" />
								<xsd:element name="securityPolicy" type="pathElementType" minOccurs="0" maxOccurs="1" />
								<xsd:element name="proactiveSecurity" minOccurs="0" maxOccurs="1">
									<xsd:complexType>
										<xsd:sequence>
											<xsd:element name="applicationPolicy" type="pathElementType" />
											<xsd:element name="runtimePolicy" type="pathElementType" />
										</xsd:sequence>
									</xsd:complexType>
								</xsd:element>
								<xsd:element name="log4jProperties" type="pathElementType" minOccurs="0" maxOccurs="1" />
								<xsd:element name="userProperties" type="pathElementType" minOccurs="0" maxOccurs="1" />
							</xsd:sequence>
						</xsd:complexType>
					</xsd:element>

					<xsd:element name="technicalServices" type="technicalServiceType" minOccurs="0" />

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

				</xsd:sequence>
				<xsd:attribute name="relpath" type="pathElementGeneralType" use="required" />
				<xsd:attribute name="base" use="required">
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:enumeration value="home" />
							<xsd:enumeration value="root" />
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>

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

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

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


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

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

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

	<xsd:element name="GCMApplication" type="GCMApplicationType">
		<!-- resource providers refid/id key correctness -->
		<!--  -->
		<xsd:key name="idnodeProviders">
			<xsd:selector xpath="resources/nodeProvider" />
			<xsd:field xpath="@id" />
		</xsd:key>
		<xsd:keyref name="refIdKeynodeProvider" refer="idnodeProviders">
			<xsd:selector xpath="application/executable/nodeProvider"></xsd:selector>
			<xsd:field xpath="@refid"></xsd:field>
		</xsd:keyref>
		<xsd:keyref name="refIdKeynodeProvider2" refer="idnodeProviders">
			<xsd:selector xpath="application/proactive/virtualNode/nodeProvider"></xsd:selector>
			<xsd:field xpath="@refid"></xsd:field>
		</xsd:keyref>
	</xsd:element>

</xsd:schema>
{'fraction_non_alphanumeric': 0.17299889339727037, 'fraction_numerical': 0.005533013648100332, 'mean_word_length': 5.271010023130301, 'pattern_counts': {'":': 0, '<': 436, '<?xml version=': 2, '>': 436, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, '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': '1571597', 'n_tokens_mistral': 6810, 'n_tokens_neox': 5163, 'n_words': 773}