Hi all,
I tried to use xerces-J 2 in order to validate xml files against a schema and I get the following error

Cannot find the declaration of element ProactiveDescriptor

in my code I have :

private org.xml.sax.XMLReader parser;

..........................................

parser.setFeature("http://xml.org/sax/features/validation",true);

parser.setFeature("http://apache.org/xml/features/validation/schema",true);

Attached are both the schema and xml file

Any ideas are appreciated

Thanks in advance

Romain

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="qualified" attributeFormDefault="unqualified">
	<!-- 
The following element ProActiveDescriptor defines the root of the schema
-->
	<xs:element name="ProActiveDescriptor" type="ProActiveDescriptorType">
		<xs:annotation>
			<xs:documentation>Deployment Descriptor Schema</xs:documentation>
		</xs:annotation>
		<xs:unique name="processDefid">
			<xs:selector xpath="infrastructure/processes/processDefinition"/>
			<xs:field xpath="@id"/>
			<!--Uniqueness of the id attribute for infrastructure/processes/processDefinition element-->
		</xs:unique>
		<xs:key name="virtualNodeDefinitionName">
			<xs:selector xpath="componentDefinition/virtualNodesDefinition/virtualNode"/>
			<xs:field xpath="@name"/>
			<!-- Key definition for the attribute name located at componentDefinition/virtualNodesDefinition/virtualNode. This key will be used to ensure that the virtualNode attribute of deployment/register element has a corresponding definition in componentDefinition/virtualNodesDefinition/[EMAIL PROTECTED]>
		</xs:key>
		<xs:key name="virtualNodeAcquisitionName">
			<xs:selector xpath="componentDefinition/virtualNodesAcquisition/virtualNode"/>
			<xs:field xpath="@name"/>
			<!-- Key definition for the attribute name located at componentDefinition/virtualNodesAcquisition/virtualNode. This key will be used to ensure that the virtualNode attribute of deployment/lookup element has a corresponding definition in componentDefinition/virtualNodesAcquisition/[EMAIL PROTECTED]>
		</xs:key>
		<xs:key name="vnName">
			<xs:selector xpath="deployment/mapping/map"/>
			<xs:field xpath="@virtualNode"/>
			<!-- Key definition for the attribute virtualNode located at deployment/mapping/map. This key will be used to ensure that the name attribute of virtualNodes/virtualNode element has a corresponding definition in deployment/mapping/[EMAIL PROTECTED]>
		</xs:key>
		<xs:key name="jvmNameinJvmsPart">
			<xs:selector xpath="deployment/jvms/jvm"/>
			<xs:field xpath="@name"/>
			<!--Key definition for the attribute name located at deployment/jvms/jvm. This key will be used to ensure that the value attribute of deployment/mapping/map/jvmSet/vmName element has a corresponding value defined in attribue name of jvms/jvm  -->
		</xs:key>
		<xs:key name="virtualNodeNameForLookup">
			<xs:selector xpath="deployment/lookup"/>
			<xs:field xpath="@virtualNode"/>
			<!--Key definition for the attribute virtualNode located at deployment/lookup. This key will be used to ensure that the name attribute of componentDefinition/virtualNodesAcquisition/virtualNode element has a corresponding value defined in attribue virtualNode of deployment/lookup  -->
		</xs:key>
		<xs:key name="processid">
			<xs:selector xpath="infrastructure/processes/processDefinition"/>
			<xs:field xpath="@id"/>
			<!-- Key definition for the attribute id located at  infrastructure/processes/processDefinition. This key will be used to ensure either that the refid attribute defined in deployment/jvms/jvm/creation/ has a correponding value in infrastructure/processes/[EMAIL PROTECTED] and also that the refid attribute defined in infrastructure/processDefinition/rshProcess-sshProcess-rloginProcess-bsubProcess-globusProcess/[EMAIL PROTECTED] has a correponding value in infrastructure/processes/[EMAIL PROTECTED] -->
		</xs:key>
	</xs:element>
	<!--processReference element is defined as a global element, hence it can be referenced in many part of the document. It has one attribute: refid that must occur once and only once. This element must reference a process defined elsewhere in the infrastructure section. Hence in the infrastructure section there must be an element ProcessDefinition with the corresponding value for id attribute   -->
	<xs:element name="processReference" type="ProcessReferenceType"/>
	<xs:complexType name="ProcessReferenceType">
		<xs:attribute name="refid" type="xs:string" use="required"/>
	</xs:complexType>
	<!--environment element is defined as global element, hence it can be referenced in many part of the document. It has one child: variable element that must occur once and only once. This element is used to defined environment variables for some processes. -->
	<xs:element name="environment" type="EnvironmentType"/>
	<xs:complexType name="EnvironmentType">
		<xs:sequence>
			<xs:element name="variable" type="EnvironmentVariableType"/>
		</xs:sequence>
	</xs:complexType>
	<!--variable element has two attributes: name and value. Both are required.The syntax is for instance name="DISPLAY" value="machine_name0.0"  -->
	<xs:complexType name="EnvironmentVariableType">
		<xs:attribute name="name" type="xs:string" use="required"/>
		<xs:attribute name="value" type="xs:string" use="required"/>
	</xs:complexType>
	<!--ProActiveDescriptor element has three childs: componentDefinition element that must appear once and only once 																	deployment element thay must appear once and only once 																		infrastructure element that must appear once and only once -->
	<xs:complexType name="ProActiveDescriptorType">
		<xs:sequence>
			<xs:element name="componentDefinition" type="ComponentDefinitionType">
				<xs:unique name="idName">
					<xs:selector xpath=".//*"/>
					<xs:field xpath="@name"/>
					<!-- uniqueness of every name attribute in the component definition part -->
				</xs:unique>
				<xs:keyref name="VirtNodeName" refer="vnName">
					<xs:selector xpath="virtualNodesDefinition/virtualNode"/>
					<xs:field xpath="@name"/>
					<!--This section references the vnName key defined above to ensure that the value of attribute name in virtualNodeDefinition/virtualNode element will have the corresponding definition in deployment/mapping/[EMAIL PROTECTED] -->
				</xs:keyref>
				<xs:keyref name="vnNameinAcquisitionPart" refer="virtualNodeNameForLookup">
					<xs:selector xpath="virtualNodesAcquisition/virtualNode"/>
					<xs:field xpath="@name"/>
					<!--This section references the virtualNodeNameForLookup key defined above to ensure that the value of attribute name in virtualNodeAcquisition/virtualNode element will have the corresponding definition in deployment/[EMAIL PROTECTED] -->
				</xs:keyref>
			</xs:element>
			<xs:element name="deployment" type="DeploymentType">
				<xs:keyref name="vnNameinRegisterPart" refer="virtualNodeDefinitionName">
					<xs:selector xpath="register"/>
					<xs:field xpath="@virtualNode"/>
					<!--This section references the virtualNodeDefinitionName key defined above to ensure that the virtualNode attribute of element register has a corresponding value defined in attribute name of  componentDefinition/virtualNodesDefinition/virtualNode-->
				</xs:keyref>
				<xs:keyref name="vmNameinMappingPart" refer="jvmNameinJvmsPart">
					<xs:selector xpath="mapping/map/jvmSet/vmName"/>
					<xs:field xpath="@value"/>
					<!--This section references the jvmNameinJvmsPart key defined above to ensure that the value attribute of element mapping/map/jvmSet/vmName has a corresponding value defined in attribute name of  jvms/jvm-->
				</xs:keyref>
				<xs:keyref name="vnNameinLookupPart" refer="virtualNodeAcquisitionName">
					<xs:selector xpath="lookup"/>
					<xs:field xpath="@virtualNode"/>
					<!--This section references the virtualNodeAcquisitionName key defined above to ensure that the virtualNode attribute of element lookup  has a corresponding value defined in attribute name of  componentDefinition/virtualNodesAcquisition/virtualNode-->
				</xs:keyref>
				<xs:keyref name="processReferenceid" refer="processid">
					<xs:selector xpath="jvms/jvm/creation/processReference"/>
					<xs:field xpath="@refid"/>
					<!-- This section references the processid key reference defined above to ensure that the refid attribute defined in deployment/jvms/jvm/creation/ has a correponding value in infrastructure/processes/[EMAIL PROTECTED]>
				</xs:keyref>
			</xs:element>
			<xs:element name="infrastructure" type="InfrastructureType">
				<xs:keyref name="rshprocessReferenceid" refer="processid">
					<xs:selector xpath="processes/processDefinition/rshProcess/processReference"/>
					<xs:field xpath="@refid"/>
					<!--This section references the processid key defined above to ensure that the refid attribute defined in  processes/processDefinition/rshProcess/processReference has a corresponding value in infrastructure/processes/[EMAIL PROTECTED]>
				</xs:keyref>
				<xs:keyref name="sshprocessReferenceid" refer="processid">
					<xs:selector xpath="processes/processDefinition/sshProcess/processReference"/>
					<xs:field xpath="@refid"/>
					<!--This sectionreferences the processid key defined above to ensure that the refid attribute defined in  processes/processDefinition/sshProcess/processReference has a corresponding value in infrastructure/processes/[EMAIL PROTECTED]>
				</xs:keyref>
				<xs:keyref name="rloginprocessReferenceid" refer="processid">
					<xs:selector xpath="processes/processDefinition/rloginProcess/processReference"/>
					<xs:field xpath="@refid"/>
					<!--This section references the processid key defined above to ensure that the refid attribute defined in  processes/processDefinition/rloginProcess/processReference has a corresponding value in infrastructure/processes/[EMAIL PROTECTED]>
				</xs:keyref>
				<xs:keyref name="bsubprocessReferenceid" refer="processid">
					<xs:selector xpath="processes/processDefinition/bsubProcess/processReference"/>
					<xs:field xpath="@refid"/>
					<!--This section references the processid key defined above to ensure that the refid attribute defined in  processes/processDefinition/bsubProcess/processReference has a corresponding value in infrastructure/processes/[EMAIL PROTECTED]>
				</xs:keyref>
				<xs:keyref name="globusprocessReferenceid" refer="processid">
					<xs:selector xpath="processes/processDefinition/globusProcess/processReference"/>
					<xs:field xpath="@refid"/>
					<!--This section references the processid key defined above to ensure that the refid attribute defined in  processes/processDefinition/globusProcess/processReference has a corresponding value in infrastructure/processes/[EMAIL PROTECTED]>
				</xs:keyref>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<!--component definition element has one child, that is a group of element, one element(or many) of the group has to appear at least once or more -->
	<xs:complexType name="ComponentDefinitionType">
		<xs:group ref="VirtualNodesGroup"/>
	</xs:complexType>
	<!--VirtualNodesGroup is composed of two elements VirtualNodesDefinition where are defined virtualNodes that will be built from the descriptor and VirtualNodesAcquisition where are defined virtualNodes created by performing a lookup with a given protocol(rmi or jini). Both element can appear 0 or more-->
	<xs:group name="VirtualNodesGroup">
		<xs:sequence>
			<xs:element name="virtualNodesDefinition" type="VirtualNodesDefintionType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="virtualNodesAcquisition" type="virtualNodesAcquisitionType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:group>
	<!--virtualnodesDefinition element has one child: virtualNode element that must appear once or more-->
	<xs:complexType name="VirtualNodesDefintionType">
		<xs:sequence>
			<xs:element name="virtualNode" type="VirtualNodeExtType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- virtualNodesAcquisition element has only one child: virtualNode element that must appear once or more-->
	<xs:complexType name="virtualNodesAcquisitionType">
		<xs:sequence>
			<xs:element name="virtualNode" type="VirtualNodeType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- virtualNode element of type VirtualNodeType has one child: information element that may not appear.This elemnt is used to add textual information about the virtualNode	and one attributes: name that must appear once and only once, it may have any value of type string.	-->
	<xs:complexType name="VirtualNodeType">
		<xs:sequence>
			<xs:element name="information" type="xs:string" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="name" type="xs:string" use="required"/>
	</xs:complexType>
	<!--virtualNode of type VirtualNodeExtType is an exyension of VirtualNodeType. It has another attribute: property that may not appear and can take four defined values. This attribute just aims to provide informations about the virtualNode, in case of different people writing different part of the document. If property unique is set whereas the virtualNode has more than one machine defined in the jvmSet element, an exception will be generated when parsing the document, even if the document is valid against the schema. -->
	<xs:complexType name="VirtualNodeExtType">
		<xs:complexContent>
			<xs:extension base="VirtualNodeType">
				<xs:attribute name="property">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="unique"/>
							<xs:enumeration value="unique_singleAO"/>
							<xs:enumeration value="multiple"/>
							<xs:enumeration value="multiple_cyclic"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- deployment element has two child: mapping element that must appear once and only once
									   jvms element that must appear once and only once-->
	<xs:complexType name="DeploymentType">
		<xs:group ref="DeploymentGroup"/>
	</xs:complexType>
	<xs:group name="DeploymentGroup">
		<xs:sequence>
			<xs:element name="register" type="RegisterType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="mapping" type="MappingType" minOccurs="0"/>
			<xs:element name="lookup" type="LookupType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="jvms" type="JvmsType" minOccurs="0"/>
		</xs:sequence>
	</xs:group>
	<xs:complexType name="RegisterType">
		<xs:attribute name="virtualNode" type="xs:string" use="required"/>
		<xs:attribute name="protocol" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="rmi"/>
					<xs:enumeration value="jini"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<!-- mapping element has only one child: map element that must appear once or more-->
	<xs:complexType name="MappingType">
		<xs:sequence>
			<xs:element name="map" type="MapType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- map element has one child: jvmSet element that must appear once and only once
					 one attribute: virtualNode that must appear once and only once, it may have have any value of type string-->
	<xs:complexType name="MapType">
		<xs:sequence>
			<xs:element name="jvmSet" type="JvmSetType"/>
		</xs:sequence>
		<xs:attribute name="virtualNode" type="xs:string" use="required"/>
	</xs:complexType>
	<!-- jvmSet element has one child, it is a choice between an element  vmName that must occur once or more and a group: CurrentVMGroup that must occur once and only once-->
	<xs:complexType name="JvmSetType">
		<xs:sequence>
			<xs:group ref="CurrentVMGroup"/>
		</xs:sequence>
	</xs:complexType>
	<!--CurrentVMGroup consists in two elements  currentJVM  that must occur once and only once and vmName that may not appear, or can appear many times-->
	<xs:group name="CurrentVMGroup">
		<xs:sequence>
			<xs:element name="currentJVM" type="CurrentJVMType" minOccurs="0"/>
			<xs:element name="vmName" type="VmNameType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:group>
	<!--currentVM element has one attribute: protocol wich is required and can take only two values rmi or jini. This element when set, indicates that a node will be created  on the jvm running the program and this node will be mapped on the virtualNode defined in deployment/mapping/[EMAIL PROTECTED]>
	<xs:complexType name="CurrentJVMType">
		<xs:attribute name="protocol" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="rmi"/>
					<xs:enumeration value="jini"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<!-- vmName element is a simpleType that can take any value of type String. This element represents the name of a virtualMachine. This name must have a corresponding value in jvms/jvm section(name attribute)-->
	<xs:complexType name="VmNameType">
		<xs:attribute name="value" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:complexType name="LookupType">
		<xs:complexContent>
			<xs:extension base="RegisterType">
				<xs:attribute name="host" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- jvms element has only one child: jvm element that must appear once or more-->
	<xs:complexType name="JvmsType">
		<xs:sequence>
			<xs:element name="jvm" type="JvmType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!--jvm element has two childs:acquisition element that must appear once and only once
							   creation element that must appear once and only once
				two attributes: name that must appear once and only once. It represents the name of the virtualmachine to be created
							    nodeNumber which is optionnal and represents the number of nodes that will be created on the enclosing jvm. Default is one-->
	<xs:complexType name="JvmType">
		<xs:sequence>
			<xs:element name="acquisition" type="AcquisitionType"/>
			<xs:element name="creation" type="CreationType"/>
		</xs:sequence>
		<xs:attribute name="name" type="xs:string" use="required"/>
		<xs:attribute name="nodeNumber" type="xs:positiveInteger" use="optional"/>
	</xs:complexType>
	<!--acquisition element has one attribute: method that must appear once and only one. It can takes two value: rmi or jini. It represents the protocol to use to acquire the  ProActiveRuntime on the jvm to be created. -->
	<xs:complexType name="AcquisitionType">
		<xs:attribute name="method" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="rmi"/>
					<xs:enumeration value="jini"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<!--creation element has one child: processReference element defined as global element. This element must occur once and only once. The reference is used to map the jvm with a process defined in infrastructure section. This process will originate jvm's creation. Hence such process must exist in the infrastructure section. -->
	<xs:complexType name="CreationType">
		<xs:sequence>
			<xs:element ref="processReference"/>
		</xs:sequence>
	</xs:complexType>
	<!--infrastructure element has one child: processes element that must appear once and only once -->
	<xs:complexType name="InfrastructureType">
		<xs:sequence>
			<xs:element name="processes" type="ProcessesType"/>
		</xs:sequence>
	</xs:complexType>
	<!--processes element has one child: processDefinition element that must appear once or more -->
	<xs:complexType name="ProcessesType">
		<xs:sequence>
			<xs:element name="processDefinition" type="ProcessDefinitionType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- processDefinition element has six childs: jvmProcess, rshProcess, sshProcess, rloginProcess, bsubProcess, globusProcess. But only one child can be present in the parent element. Such processes will be used to create jvms. This element contains also an attribute: id which must appear once and only once and represents the id of the process in order for processes or  jvms(processReference element in deployment/jvms/jvm/creation/processReference)  to reference other processes-->
	<xs:complexType name="ProcessDefinitionType">
		<xs:choice>
			<xs:element name="jvmProcess" type="JvmProcessType"/>
			<xs:element name="rshProcess" type="RshProcessType"/>
			<xs:element name="sshProcess" type="SshProcessType"/>
			<xs:element name="rloginProcess" type="RloginProcessType"/>
			<xs:element name="bsubProcess" type="BsubProcessType"/>
			<xs:element name="globusProcess" type="GlobusProcessType"/>
		</xs:choice>
		<xs:attribute name="id" type="xs:string" use="required"/>
	</xs:complexType>
	<!--jvmProcess element has three childs: classpath, javaPath, policyFile. They may not appear. classpath element represents the classpath value for the enclosing jvmProcess. javaPath represents the location of the java command to run for the jvmProcess. policyFile element represents the location of the policy file to use in the jvmProcess.This element has also one attribute: class which is required. This attribute can take only one value: org.objectweb.proactive.core.process.JVMNodeProcess. This element is used to create a local jvm-->
	<xs:complexType name="JvmProcessType">
		<xs:sequence>
			<xs:element name="classpath" type="ClasspathType" minOccurs="0"/>
			<xs:element name="javaPath" type="FilePathType" minOccurs="0"/>
			<xs:element name="policyFile" type="FilePathType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="class" type="xs:string" use="required" fixed="org.objectweb.proactive.core.process.JVMNodeProcess"/>
	</xs:complexType>
	<!--classpath element has two child: absolutePath and relativePath.  One of the child must appear once or more. Both element can be present in the classpath definition. For instance an absolutePath element followed by a relativePath element-->
	<xs:complexType name="ClasspathType">
		<xs:choice maxOccurs="unbounded">
			<xs:element name="absolutePath" type="AbsolutePathType"/>
			<xs:element name="relativePath" type="RelativePathType"/>
		</xs:choice>
	</xs:complexType>
	<!--elements of type FilePathType have two childs: absolutePath and relativePath. Only one child can be present in the parent element. javaPath, policyFile(defined above), and scriptPath element  are of such type.-->
	<xs:complexType name="FilePathType">
		<xs:choice>
			<xs:element name="absolutePath" type="AbsolutePathType"/>
			<xs:element name="relativePath" type="RelativePathType"/>
		</xs:choice>
	</xs:complexType>
	<!-- path element of type RelativePathType has three attributes:type which is fixed with value relative, origin which can take three values, and value.  -->
	<xs:complexType name="RelativePathType">
		<xs:attribute name="type" type="xs:string" use="required" fixed="relative"/>
		<xs:attribute name="origin" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="userHome"/>
					<xs:enumeration value="workingDirectory"/>
					<xs:enumeration value="fromClasspath"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="value" type="xs:string" use="required"/>
	</xs:complexType>
	<!-- path element of type AbsolutePathType has two attributes:type which is fixed with value absolute and value which is required.  -->
	<xs:complexType name="AbsolutePathType">
		<xs:attribute name="type" type="xs:string" use="required" fixed="absolute"/>
		<xs:attribute name="value" type="xs:string" use="required"/>
	</xs:complexType>
	<!--rshProcess element has two childs: processReference element which represents a process defined elsewhere in the infrastructure section([EMAIL PROTECTED]). Most of time  the referenced process will be a jvmProcess, it means once logged on a remote host with rsh protocol a jvm will be created on the remote host.This element has also an environment element that may not appear and three attributes: class which is required and can take only two values: org.objectweb.proactive.core.process.rsh.RSHJVMProcess or org.objectweb.proactive.core.process.rsh.RSHProcess, username attribute which is optional, and hostname which is required and represents the remote host to log on with rsh-->
	<xs:complexType name="RshProcessType">
		<xs:sequence>
			<xs:element ref="environment" minOccurs="0"/>
			<xs:element ref="processReference" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="class" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="org.objectweb.proactive.core.process.rsh.RSHJVMProcess"/>
					<xs:enumeration value="org.objectweb.proactive.core.process.rsh.RSHProcess"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="username" type="xs:string" use="optional"/>
		<xs:attribute name="hostname" type="xs:string" use="required"/>
	</xs:complexType>
	<!--sshProcess element has two child: processReference element which represents a process defined elsewhere in the infrastructure section([EMAIL PROTECTED]).and environment element that may not appear and three attributes: class which is required and can take only two values: org.objectweb.proactive.core.process.ssh.SSHJVMProcess or org.objectweb.proactive.core.process.ssh.SSHProcess, username attribute which is optional, and hostname which is required and represents the remote host to log on with ssh-->
	<xs:complexType name="SshProcessType">
		<xs:sequence>
			<xs:element ref="environment" minOccurs="0"/>
			<xs:element ref="processReference" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="class" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="org.objectweb.proactive.core.process.ssh.SSHJVMProcess"/>
					<xs:enumeration value="org.objectweb.proactive.core.process.ssh.SSHProcess"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="username" type="xs:string" use="optional"/>
		<xs:attribute name="hostname" type="xs:string" use="required"/>
	</xs:complexType>
	<!--rloginProcess element has two childs: processReference element which represents a process defined elsewhere in the infrastructure section([EMAIL PROTECTED]) and environment element that may not appear and two attributes: class which is required and can take only one value: org.objectweb.proactive.core.process.lsf.RLoginProcess, and hostname which is required and represents the remote host to log on with rlogin-->
	<xs:complexType name="RloginProcessType">
		<xs:sequence>
			<xs:element ref="environment" minOccurs="0"/>
			<xs:element ref="processReference" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="class" type="xs:string" use="required" fixed="org.objectweb.proactive.core.process.lsf.RLoginProcess"/>
		<xs:attribute name="hostname" type="xs:string" use="required"/>
	</xs:complexType>
	<!--bsubProcess element has two childs: processReference element which represents a process defined elsewhere in the infrastructure section([EMAIL PROTECTED])  and may not appear, bsubOption element that may not appear and represents different options of bsub command and one attribute: class which is required and can take only one value: org.objectweb.proactive.core.process.lsf.LSFBSubProcess.This element will be used to run bsub command-->
	<xs:complexType name="BsubProcessType">
		<xs:sequence>
			<xs:element ref="processReference" minOccurs="0"/>
			<xs:element name="bsubOption" type="BsubOptionType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="class" type="xs:string" use="required" fixed="org.objectweb.proactive.core.process.lsf.LSFBSubProcess"/>
	</xs:complexType>
	<!--bsubOption element has three childs:hostlist which represents the -m option of bsub command, processor which indicate the number of processor requested, scriptPath element which represents the location of the startRuntime.sh script to run jobs on LSF cluster.These three elements may not appear -->
	<xs:complexType name="BsubOptionType">
		<xs:sequence>
			<xs:element name="hostlist" type="HostListType" minOccurs="0"/>
			<xs:element name="processor" type="xs:positiveInteger" minOccurs="0"/>
			<xs:element name="scriptPath" type="FilePathType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!--hostlist element is a list of string. For instance galere10.inria.fr pf3.inria.fr galere11.inria.fr -->
	<xs:simpleType name="HostListType">
		<xs:list itemType="xs:string"/>
	</xs:simpleType>
	<!--globusProcess element has three childs: processReference element which represents a process defined elsewhere in the infrastructure section([EMAIL PROTECTED]) , environment, and globusOption element  which represents different options of globus command.They may not appear and two attributes: class which is required and can take only one value: org.objectweb.proactive.core.process.globus.GlobusProcess, and hostname which is required and represents the globus host where the RSL request is destinated -->
	<xs:complexType name="GlobusProcessType">
		<xs:sequence>
			<xs:element ref="environment" minOccurs="0"/>
			<xs:element ref="processReference" minOccurs="0"/>
			<xs:element name="globusOption" type="GlobusOptionType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="class" type="xs:string" use="required" fixed="org.objectweb.proactive.core.process.globus.GlobusProcess"/>
		<xs:attribute name="hostname" type="xs:string" use="required"/>
	</xs:complexType>
	<!--globusOption element has two childs gramPort element and gisPort element. They should not be modified -->
	<xs:complexType name="GlobusOptionType">
		<xs:sequence>
			<xs:element name="gramPort" type="xs:positiveInteger" minOccurs="0"/>
			<xs:element name="gisPort" type="xs:positiveInteger" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<ProActiveDescriptor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:noNamespaceSchemaLocation="http://www-sop.inria.fr/oasis/ProActive/DescriptorSchema.xsd";>
	<componentDefinition>
		<virtualNodesDefinition>
			<virtualNode name="penguinNode" property="multiple"/>
		</virtualNodesDefinition>
	</componentDefinition>
	<deployment>
		<mapping>
			<map virtualNode="penguinNode">
				<jvmSet>
					<vmName value="Jvm1"/>
					<vmName value="Jvm2"/>
					<vmName value="Jvm3"/>
					<vmName value="Jvm4"/>
				</jvmSet>
			</map>
		</mapping>
		<jvms>
			<jvm name="Jvm1">
				<acquisition method="rmi"/>
				<creation>
					<processReference refid="linuxJVM"/>
				</creation>
			</jvm>
			<jvm name="Jvm2">
				<acquisition method="rmi"/>
				<creation>
					<processReference refid="linuxJVM"/>
				</creation>
			</jvm>
			<jvm name="Jvm3">
				<acquisition method="rmi"/>
				<creation>
					<processReference refid="linuxJVM"/>
				</creation>
			</jvm>
			<jvm name="Jvm4">
				<acquisition method="rmi"/>
				<creation>
					<processReference refid="linuxJVM"/>
				</creation>
			</jvm>
		</jvms>
	</deployment>
	<infrastructure>
		<processes>
			<processDefinition id="linuxJVM">
				<jvmProcess class="org.objectweb.proactive.core.process.JVMNodeProcess"/>
			</processDefinition>
		</processes>
	</infrastructure>
</ProActiveDescriptor>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to