<?xml version="1.0" encoding="UTF-8"?>

<xs:schema 
	targetNamespace="http://www.omg.org/PLMServices1.1/ComputationalModel" 
	xmlns:xs="http://www.w3.org/2001/XMLSchema" 
	xmlns="http://www.omg.org/PLMServices1.1/ComputationalModel">
	
<!-- root elements -->

	<xs:element name="Fault" type="PLM_exception"/>
	<xs:element name="Query" type="Query"/>
	<xs:element name="session_id" type="xs:string"/>
	<xs:element name="signature" type="xs:string"/>
	<xs:element name="PLM_properties_descriptor" type="PLM_properties_descriptor"/>
	<xs:element name="PLM_session" type="PLM_session"/>
	<xs:element name="ArrayOfPLM_message" type="ArrayOfPLM_message"/>
	<xs:element name="ArrayOfPLM_property" type="ArrayOfPLM_property"/>
	<xs:element name="ArrayOfstring" type="ArrayOfstring"/>
	<xs:element name="ArrayOfPLM_properties_descriptor" type="ArrayOfPLM_properties_descriptor"/>
	
<!-- array helper types -->
	
	<xs:complexType name="ArrayOfPLM_message">
		<xs:sequence>
			<xs:element name="PLM_message" type="PLM_message" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ArrayOfPLM_property">
		<xs:sequence>
			<xs:element name="PLM_property" type="PLM_property" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ArrayOfstring">
		<xs:sequence>
			<xs:element name="string" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ArrayOfPLM_properties_descriptor">
		<xs:sequence>
			<xs:element name="PLM_properties_descriptor" type="PLM_properties_descriptor" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
			
<!-- exception types -->
			
	<xs:complexType name="PLM_exception">
		<xs:sequence>
			<xs:element name="Message" type="xs:string"/>
			<xs:element name="Linked_exception" type="PLM_exception" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Authentication_exception">
		<xs:complexContent>
			<xs:extension base="PLM_exception"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Authorization_exception">
		<xs:complexContent>
			<xs:extension base="PLM_exception"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Invalid_object_uid_exception">
		<xs:complexContent>
			<xs:extension base="PLM_exception">
				<xs:sequence>
					<xs:element name="Object_uid" type="xs:string"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Object_uid_timeout_exception">
		<xs:complexContent>
			<xs:extension base="Invalid_object_uid_exception"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Invalid_session_id_exception">
		<xs:complexContent>
			<xs:extension base="PLM_exception">
				<xs:sequence>
					<xs:element name="Session_id" type="xs:string"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Session_timeout_exception">
		<xs:complexContent>
			<xs:extension base="Invalid_session_id_exception"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Unsupported_query_exception">
		<xs:complexContent>
			<xs:extension base="PLM_exception"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Unsupported_pattern_exception">
		<xs:complexContent>
			<xs:extension base="PLM_exception"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Unsupported_operation_exception">
		<xs:complexContent>
			<xs:extension base="PLM_exception"/>
		</xs:complexContent>
	</xs:complexType>

<!-- message types -->

	<xs:complexType name="PLM_message">
		<xs:sequence>
			<xs:element name="Message" type="xs:string" minOccurs="0"/>
			<xs:element name="Object_uid" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Object_not_written_message">
		<xs:complexContent>
			<xs:extension base="PLM_message"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Additional_object_written_message">
		<xs:complexContent>
			<xs:extension base="PLM_message"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Object_changed_message">
		<xs:complexContent>
			<xs:extension base="PLM_message">
				<xs:sequence>
					<xs:element name="New_object_uid" type="xs:string" minOccurs="0"/>
					<xs:element name="New_object_id" type="xs:string" minOccurs="0"/>
					<xs:element name="Remainder_unchanged" type="xs:boolean" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Object_not_deleted_message">
		<xs:complexContent>
			<xs:extension base="PLM_message"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Additional_object_deleted_message">
		<xs:complexContent>
			<xs:extension base="PLM_message"/>
		</xs:complexContent>
	</xs:complexType>

<!-- property and property descriptor types -->

	<xs:complexType name="PLM_property">
		<xs:sequence>
			<xs:element name="Name" type="xs:string"/>
			<xs:element name="Value" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PLM_property_descriptor">
		<xs:sequence>
			<xs:element name="Name" type="xs:ID"/>
			<xs:element name="Type" type="xs:string" minOccurs="0"/>
			<xs:element name="Pattern" type="xs:string" minOccurs="0"/>
			<xs:element name="Description" type="xs:string" minOccurs="0"/>
			<xs:element name="Required" type="xs:boolean"/>
			<xs:element name="Enabled_when_true" type="xs:IDREFS" minOccurs="0"/>
			<xs:element name="Enabled_when_not_true" type="xs:IDREFS" minOccurs="0"/>
			<xs:element name="Display_name" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PLM_properties_descriptor">
		<xs:sequence>
			<xs:element name="Name" type="xs:string" minOccurs="0"/>
			<xs:element name="Description" type="xs:string" minOccurs="0"/>
			<xs:element name="Descriptor" type="PLM_property_descriptor" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

<!-- Query and Session definition -->
	
	<xs:complexType name="Query" abstract="true">
		<xs:sequence>
			<xs:element name="Maximum_recursion_number" type="xs:int" minOccurs="0"/>
			<xs:element name="Next_query" type="Query" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Batch_query"> 
		<xs:complexContent> 
			<xs:extension base="Query"> 
				<xs:sequence> 
					<xs:element name="Query" type="Query" maxOccurs="unbounded"/> 
				</xs:sequence> 
			</xs:extension> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Conditional_query"> 
		<xs:complexContent> 
			<xs:extension base="Query"> 
				<xs:sequence> 
					<xs:element name="Condition" type="xs:boolean" minOccurs="0"/> 
					<xs:element name="When_true" type="Query" minOccurs="0"/> 
					<xs:element name="When_not_true" type="Query" minOccurs="0"/> 
				</xs:sequence> 
			</xs:extension> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="PLM_session">
		<xs:sequence>
			<xs:element name="Location" type="xs:anyURI"/>
			<xs:element name="Id" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>

<!-- X_path queries conformance point -->

	<xs:complexType name="X_path">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Expression" type="xs:string"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

<!-- Generic queries conformance point -->

	<xs:complexType name="Location_path">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="First_step" type="Location_step"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Location_step">
		<xs:sequence>
			<xs:element name="Role_name" type="xs:string" minOccurs="0"/>
			<xs:element name="Role_declaring_type_name" type="xs:string" minOccurs="0"/>
			<xs:element name="Inverse" type="xs:boolean" minOccurs="0"/>
			<xs:element name="Related_object_predicate" type="Predicate" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Relating_object_predicate" type="Predicate" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Next_step" type="Location_step" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Predicate" abstract="true"/>
	<xs:complexType name="Attribute_predicate" abstract="true">
		<xs:complexContent>
			<xs:extension base="Predicate">
				<xs:sequence>
					<xs:element name="Attribute_name" type="xs:string"/>
					<xs:element name="Attribute_value" type="xs:string"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Attribute_equals_predicate">
		<xs:complexContent>
			<xs:extension base="Attribute_predicate"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Attribute_greater_than_predicate">
		<xs:complexContent>
			<xs:extension base="Attribute_predicate"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Attribute_less_than_predicate">
		<xs:complexContent>
			<xs:extension base="Attribute_predicate"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Attribute_pattern_predicate">
		<xs:complexContent>
			<xs:extension base="Attribute_predicate"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Negation_predicate">
		<xs:complexContent>
			<xs:extension base="Predicate">
				<xs:sequence>
					<xs:element name="Predicate" type="Predicate"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="String_select_predicate">
		<xs:complexContent>
			<xs:extension base="Predicate">
				<xs:sequence>
					<xs:element name="String_name" type="xs:string"/>
					<xs:element name="String_value" type="xs:string"/>
					<xs:element name="String_language" type="xs:language" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Identifier_predicate">
		<xs:complexContent>
			<xs:extension base="Predicate">
				<xs:sequence>
					<xs:element name="Identifier_name" type="xs:string"/>
					<xs:element name="Identifier_value" type="xs:string"/>
					<xs:element name="Identifier_scope" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Type_predicate">
		<xs:complexContent>
			<xs:extension base="Predicate">
				<xs:sequence>
					<xs:element name="Type_name" type="xs:string"/>
					<xs:element name="Exact_type_match" type="xs:boolean" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Relationship_predicate">
		<xs:complexContent>
			<xs:extension base="Predicate">
				<xs:sequence>
					<xs:element name="Role_name" type="xs:string"/>
					<xs:element name="Role_declaring_type_name" type="xs:string" minOccurs="0"/>
					<xs:element name="Inverse" type="xs:boolean" minOccurs="0"/>
					<xs:element name="Related_object_predicate" type="Predicate" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="Relating_object_predicate" type="Predicate" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Alternative_predicate">
		<xs:complexContent>
			<xs:extension base="Predicate">
				<xs:sequence>
					<xs:element name="Predicate" type="Predicate" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

<!-- Specific queries conformance point -->

	<xs:complexType name="Query_with_relating_type_predicate" abstract="true">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Relating_type_name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Relationship_query" abstract="true"> 
		<xs:complexContent> 
			<xs:extension base="Query"> 
				<xs:sequence> 
					<xs:element name="Relation_type" type="xs:string" minOccurs="0"/> 
					<xs:element name="Inverse" type="xs:boolean" minOccurs="0"/> 
				</xs:sequence> 
			</xs:extension> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Activity_element_query"> 
		<xs:complexContent> 
			<xs:extension base="Query"> 
				<xs:sequence> 
					<xs:element name="Role" type="xs:string" minOccurs="0"/> 
					<xs:element name="Element_type_name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
				</xs:sequence> 
			</xs:extension> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Activity_relationship_query"> 
		<xs:complexContent> 
			<xs:extension base="Relationship_query"/> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Alias_identification_query">
		<xs:complexContent>
			<xs:extension base="Query_with_relating_type_predicate">
				<xs:sequence>
					<xs:element name="Alias_id" type="xs:string" minOccurs="0"/>
					<xs:element name="Alias_version_id" type="xs:string" minOccurs="0"/>
					<xs:element name="Alias_scope" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Alternative_solution_query">
		<xs:complexContent>
			<xs:extension base="Query_with_relating_type_predicate"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Application_context_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Application_domain" type="xs:string" minOccurs="0"/>
					<xs:element name="Life_cycle_stage" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Approval_relationship_query">
		<xs:complexContent>
			<xs:extension base="Relationship_query"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Assembly_component_placement_query">
		<xs:complexContent>
			<xs:extension base="Query"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Assembly_structure_query">
		<xs:complexContent>
			<xs:extension base="Query"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Associated_activity_query"> 
		<xs:complexContent> 
			<xs:extension base="Query_with_relating_type_predicate"> 
				<xs:sequence> 
					<xs:element name="Role" type="xs:string" minOccurs="0"/> 
				</xs:sequence> 
			</xs:extension> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Associated_approval_query">
		<xs:complexContent>
			<xs:extension base="Query_with_relating_type_predicate">
				<xs:sequence>
					<xs:element name="Level" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Associated_classification_query"> 
		<xs:complexContent> 
			<xs:extension base="Query_with_relating_type_predicate"> 
				<xs:sequence> 
					<xs:element name="Role" type="xs:string" minOccurs="0"/> 
				</xs:sequence> 
			</xs:extension> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Associated_date_organization_query"> 
		<xs:complexContent> 
			<xs:extension base="Query_with_relating_type_predicate"> 
				<xs:sequence> 
					<xs:element name="Role" type="xs:string" minOccurs="0"/> 
				</xs:sequence> 
			</xs:extension> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Associated_date_time_query">
		<xs:complexContent>
			<xs:extension base="Query_with_relating_type_predicate">
				<xs:sequence>
					<xs:element name="Role" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Associated_document_query">
		<xs:complexContent>
			<xs:extension base="Query_with_relating_type_predicate">
				<xs:sequence>
					<xs:element name="Role" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Associated_effectivity_query"> 
		<xs:complexContent> 
			<xs:extension base="Query_with_relating_type_predicate"> 
				<xs:sequence> 
					<xs:element name="Role" type="xs:string" minOccurs="0"/> 
				</xs:sequence> 
			</xs:extension> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Associated_file_query">
		<xs:complexContent>
			<xs:extension base="Query"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Associated_item_property_query">
		<xs:complexContent>
			<xs:extension base="Query_with_relating_type_predicate">
				<xs:sequence>
					<xs:element name="Value_name" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Associated_person_organization_query"> 
		<xs:complexContent> 
			<xs:extension base="Query_with_relating_type_predicate"> 
				<xs:sequence> 
					<xs:element name="Role" type="xs:string" minOccurs="0"/> 
				</xs:sequence> 
			</xs:extension> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Associated_process_property_query">
		<xs:complexContent>
			<xs:extension base="Query_with_relating_type_predicate">
				<xs:sequence>
					<xs:element name="Value_name" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Associated_project_query">
		<xs:complexContent>
			<xs:extension base="Query_with_relating_type_predicate">
				<xs:sequence>
					<xs:element name="Role" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Associated_property_query">
		<xs:complexContent>
			<xs:extension base="Query_with_relating_type_predicate">
				<xs:sequence>
					<xs:element name="Value_name" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Class_structure_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Relation_type" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Complex_product_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Id" type="xs:string" minOccurs="0"/>
					<xs:element name="Id_scope" type="xs:string" minOccurs="0"/>
					<xs:element name="Version_id" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Configuration_query">
		<xs:complexContent>
			<xs:extension base="Query_with_relating_type_predicate">
				<xs:sequence>
					<xs:element name="Configuration_type" type="xs:string" minOccurs="0"/>
					<xs:element name="Inheritance_type" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Design_discipline_item_definition_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Id" type="xs:string" minOccurs="0"/>
					<xs:element name="Id_scope" type="xs:string" minOccurs="0"/>
					<xs:element name="Application_domain" type="xs:string" minOccurs="0"/>
					<xs:element name="Life_cycle_stage" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Document_classification_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Classification_name" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Document_property_query">
		<xs:complexContent>
			<xs:extension base="Query"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Document_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Document_id" type="xs:string" minOccurs="0"/>
					<xs:element name="Document_id_scope" type="xs:string" minOccurs="0"/>
					<xs:element name="Name" type="xs:string" minOccurs="0"/>
					<xs:element name="Name_language" type="xs:language" minOccurs="0"/>
					<xs:element name="Version_id" type="xs:string" minOccurs="0"/>
					<xs:element name="Classification_name" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Document_representation_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Id" type="xs:string" minOccurs="0"/>
					<xs:element name="Id_scope" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Document_structure_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Relation_type" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Document_version_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Id" type="xs:string" minOccurs="0"/>
					<xs:element name="Id_scope" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Effectivity_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Id" type="xs:string" minOccurs="0"/>
					<xs:element name="Id_scope" type="xs:string" minOccurs="0"/>
					<xs:element name="Version_id" type="xs:string" minOccurs="0"/>
					<xs:element name="Effectivity_context" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Item_classification_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Classification_name" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Item_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Id" type="xs:string" minOccurs="0"/>
					<xs:element name="Id_scope" type="xs:string" minOccurs="0"/>
					<xs:element name="Name" type="xs:string" minOccurs="0"/>
					<xs:element name="Name_language" type="xs:language" minOccurs="0"/>
					<xs:element name="Version_id" type="xs:string" minOccurs="0"/>
					<xs:element name="Classification_name" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Item_version_relationship_query">
		<xs:complexContent>
			<xs:extension base="Relationship_query"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Item_use_query">
		<xs:complexContent>
			<xs:extension base="Query"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Item_version_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Id" type="xs:string" minOccurs="0"/>
					<xs:element name="Id_scope" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Object_by_uid_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="uid" type="xs:string"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Objects_by_uids_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="uid" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Organization_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Id" type="xs:string" minOccurs="0"/>
					<xs:element name="Id_scope" type="xs:string" minOccurs="0"/>
					<xs:element name="Organization_name" type="xs:string" minOccurs="0"/>
					<xs:element name="Organization_type" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Organization_relationship_query"> 
		<xs:complexContent> 
			<xs:extension base="Relationship_query"/> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Person_in_organization_query"> 
		<xs:complexContent> 
			<xs:extension base="Query"> 
				<xs:sequence>
					<xs:element name="Id" type="xs:string" minOccurs="0"/>
					<xs:element name="Role" type="xs:string" minOccurs="0"/>
					<xs:element name="Person_name" type="xs:string" minOccurs="0"/>
					<xs:element name="Organization_id" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Person_in_organization_relationship_query"> 
		<xs:complexContent> 
			<xs:extension base="Relationship_query"/> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Product_class_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Id" type="xs:string" minOccurs="0"/>
					<xs:element name="Id_scope" type="xs:string" minOccurs="0"/>
					<xs:element name="Name" type="xs:string" minOccurs="0"/>
					<xs:element name="Name_language" type="xs:language" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Product_structure_query">
		<xs:complexContent>
			<xs:extension base="Query">
				<xs:sequence>
					<xs:element name="Relation_type" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Project_assignment_query"> 
		<xs:complexContent> 
			<xs:extension base="Query_with_relating_type_predicate"> 
				<xs:sequence> 
					<xs:element name="Role" type="xs:string" minOccurs="0"/> 
				</xs:sequence> 
			</xs:extension> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Simple_property_query">
		<xs:complexContent>
			<xs:extension base="Query_with_relating_type_predicate">
				<xs:sequence>
					<xs:element name="Value_name" type="xs:string" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="Work_request_activity_query"> 
		<xs:complexContent> 
			<xs:extension base="Query"> 
				<xs:sequence> 
					<xs:element name="Activity_type" type="xs:string" minOccurs="0"/> 
				</xs:sequence> 
			</xs:extension> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Work_request_query"> 
		<xs:complexContent> 
			<xs:extension base="Query"> 
				<xs:sequence> 
					<xs:element name="Id" type="xs:string" minOccurs="0"/> 
					<xs:element name="Request_type" type="xs:string" minOccurs="0"/> 
					<xs:element name="Status" type="xs:string" minOccurs="0"/> 
					<xs:element name="Version_id" type="xs:string" minOccurs="0"/> 
					<xs:element name="Classification_role" type="xs:string" minOccurs="0"/> 
					<xs:element name="Classification_id" type="xs:string" minOccurs="0"/> 
				</xs:sequence> 
			</xs:extension> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Work_request_relationship_query"> 
		<xs:complexContent> 
			<xs:extension base="Relationship_query"/> 
		</xs:complexContent> 
	</xs:complexType> 
	<xs:complexType name="Work_request_scope_query"> 
		<xs:complexContent> 
			<xs:extension base="Query"/> 
		</xs:complexContent> 
	</xs:complexType> 

</xs:schema>
