<?xml version='1.0' encoding='UTF-8' ?>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema" targetNamespace="urn:ds:engspec:filterimport" xmlns="urn:ds:engspec:filterimport">
<xs:element name = "EnsFilters" >
<xs:annotation>
<xs:documentation>Main node containing all filters to be imported</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element ref="EnsFilter"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name = "EnsFilter">
<xs:annotation>
<xs:documentation>Root node for one filter description</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Attribute" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ReturnedPartType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="Unit" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attribute name = "FilterName" type = "xs:string" use="required">
<xs:annotation>
<xs:documentation>The name to be given to the filter</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name = "FilterType" type = "xs:string" use="required">
<xs:annotation>
<xs:documentation>The filter type. Use internal names</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name = "Attribute">
<xs:annotation>
<xs:documentation>Describe one attribute of the filter</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name = "Name" type = "xs:string" use="required">
<xs:annotation>
<xs:documentation>The PLM Attribute name. Use internal names</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name = "Value" type = "xs:string" use="required">
<xs:annotation>
<xs:documentation>The PLM Attribute value. Only string attributtes are officialy supported</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name = "ReturnedPartType">
<xs:annotation>
<xs:documentation>One returned part type</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name = "Name" type = "xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of the returned part type. Use internal names</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Unit">
<xs:annotation>
<xs:documentation>Node for one Unit</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ReturnedPartType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PlmPart" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attribute name = "Name" type = "xs:string" use="required">
<xs:annotation>
<xs:documentation>The name to be given to the unit</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name = "PlmPart">
<xs:annotation>
<xs:documentation>Node for one PLM Part</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name = "PartName" type = "xs:string" use="required">
<xs:annotation>
<xs:documentation>The name of the part. This is the non-editable name.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name = "PartVersion" type = "xs:string">
<xs:annotation>
<xs:documentation>The majorrevision attribute value</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>