| <?xml version="1.0" encoding="UTF-8"?> |
| <schema targetNamespace="http://www.admin-shell.io/aas/1/0" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:aas="http://www.admin-shell.io/aas/1/0" xmlns:IEC61360="http://www.admin-shell.io/IEC61360/1/0"> |
| <import schemaLocation="IEC61360.xsd" namespace="http://www.admin-shell.io/IEC61360/1/0"/> |
| <element name="aasenv" type="aas:aasenv_t"/> |
| <complexType name="aasenv_t"> |
| <sequence> |
| <element name="assetAdministrationShells" type="aas:assetAdministrationShells_t" minOccurs="0" maxOccurs="1"/> |
| <element name="assets" type="aas:assets_t" minOccurs="0" maxOccurs="1"/> |
| <element name="submodels" type="aas:submodels_t" minOccurs="0" maxOccurs="1"/> |
| <element name="conceptDescriptions" type="aas:conceptDescriptions_t" minOccurs="0" maxOccurs="1"/> |
| </sequence> |
| </complexType> |
| <complexType name="assetAdministrationShells_t"> |
| <sequence> |
| <element name="assetAdministrationShell" type="aas:assetAdministrationShell_t" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <complexType name="assets_t"> |
| <sequence> |
| <element name="asset" type="aas:asset_t" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <complexType name="asset_t"> |
| <sequence> |
| <group ref="aas:identifiable"/> |
| <group ref="aas:hasDataSpecifications"/> |
| <group ref="aas:hasKind"/> |
| <element name="assetIdentificationModelRef" type="aas:reference_t" minOccurs="0" maxOccurs="1"/> |
| </sequence> |
| </complexType> |
| <complexType name="assetAdministrationShell_t"> |
| <sequence> |
| <group ref="aas:identifiable"/> |
| <group ref="aas:hasDataSpecifications"/> |
| <element name="derivedFrom" type="aas:reference_t" minOccurs="0" maxOccurs="1"/> |
| <element name="assetRef" type="aas:reference_t" minOccurs="1" maxOccurs="1"/> |
| <element name="submodelRefs" type="aas:submodelRefs_t" minOccurs="0" maxOccurs="1"/> |
| <element name="views" type="aas:views_t" minOccurs="0" maxOccurs="1"/> |
| <element name="conceptDictionaries" type="aas:conceptDictionaries_t" minOccurs="0" maxOccurs="1"/> |
| </sequence> |
| </complexType> |
| <complexType name="submodel_t"> |
| <sequence> |
| <group ref="aas:identifiable"/> |
| <group ref="aas:hasDataSpecifications"/> |
| <group ref="aas:hasSemantics"/> |
| <group ref="aas:hasKind"/> |
| <group ref="aas:qualifiable"/> |
| <element name="submodelElements" type="aas:submodelElements_t"/> |
| </sequence> |
| </complexType> |
| <complexType name="conceptDescription_t"> |
| <sequence> |
| <group ref="aas:identifiable"/> |
| <group ref="aas:hasDataSpecifications"/> |
| <element name="isCaseOf" type="aas:reference_t" maxOccurs="unbounded" minOccurs="0"/> |
| </sequence> |
| </complexType> |
| <complexType name="view_t"> |
| <sequence> |
| <group ref="aas:referable"/> |
| <group ref="aas:hasSemantics"/> |
| <group ref="aas:hasDataSpecifications"/> |
| <element name="containedElements" type="aas:containedElements_t"/> |
| </sequence> |
| </complexType> |
| <complexType name="submodelElements_t"> |
| <sequence> |
| <element name="submodelElement" type="aas:submodelElement_t" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <complexType name="submodelElementAbstract_t"> |
| <sequence> |
| <group ref="aas:referable"/> |
| <group ref="aas:hasSemantics"/> |
| <group ref="aas:hasDataSpecifications"/> |
| <group ref="aas:hasKind"/> |
| <group ref="aas:qualifiable"/> |
| </sequence> |
| </complexType> |
| <complexType name="submodelRefs_t"> |
| <sequence> |
| <element name="submodelRef" type="aas:reference_t" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <complexType name="views_t"> |
| <sequence> |
| <element name="view" type="aas:view_t" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <complexType name="conceptDictionary_t"> |
| <sequence> |
| <group ref="aas:referable"/> |
| <element name="conceptDescriptionRefs" type="aas:conceptDescriptionsRef_t" minOccurs="0" maxOccurs="1"/> |
| </sequence> |
| </complexType> |
| <complexType name="conceptDescriptions_t"> |
| <sequence> |
| <element name="conceptDescription" type="aas:conceptDescription_t" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <complexType name="conceptDictionaries_t"> |
| <sequence> |
| <element name="conceptDictionary" type="aas:conceptDictionary_t" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <complexType name="submodels_t"> |
| <sequence> |
| <element name="submodel" type="aas:submodel_t" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <complexType name="containedElements_t"> |
| <sequence> |
| <element name="containedElementRef" type="aas:reference_t"/> |
| </sequence> |
| </complexType> |
| <complexType name="submodelElement_t"> |
| <choice> |
| <element name="property" type="aas:property_t"/> |
| <element name="file" type="aas:file_t"/> |
| <element name="blob" type="aas:blob_t"/> |
| <element name="referenceElement" type="aas:referenceElement_t"/> |
| <element name="submodelElementCollection" type="aas:submodelElementCollection_t"/> |
| <element name="relationshipElement" type="aas:relationshipElement_t"/> |
| <element name="operation" type="aas:operation_t"/> |
| <element name="operationVariable" type="aas:operationVariable_t"/> |
| <element name="event" type="aas:event_t"/> |
| </choice> |
| </complexType> |
| <complexType name="property_t"> |
| <complexContent> |
| <extension base="aas:submodelElementAbstract_t"> |
| <sequence> |
| <element name="valueType" type="string"/> |
| <element name="value" type="aas:propertyValueType_t" maxOccurs="1" minOccurs="0"/> |
| <element name="valueId" type="aas:reference_t" maxOccurs="1" minOccurs="0"/> |
| </sequence> |
| </extension> |
| </complexContent> |
| </complexType> |
| <complexType name="file_t"> |
| <complexContent> |
| <extension base="aas:submodelElementAbstract_t"> |
| <sequence> |
| <element name="mimeType" type="string"/> |
| <element name="value" type="aas:pathType_t"/> |
| </sequence> |
| </extension> |
| </complexContent> |
| </complexType> |
| <complexType name="blob_t"> |
| <complexContent> |
| <extension base="aas:submodelElementAbstract_t"> |
| <sequence> |
| <element name="mimeType" type="string"/> |
| <element name="value" type="aas:blobType_t"/> |
| </sequence> |
| </extension> |
| </complexContent> |
| </complexType> |
| <complexType name="referenceElement_t"> |
| <complexContent> |
| <extension base="aas:submodelElementAbstract_t"> |
| <sequence> |
| <element name="value" type="aas:reference_t"/> |
| </sequence> |
| </extension> |
| </complexContent> |
| </complexType> |
| <complexType name="submodelElementCollection_t"> |
| <complexContent> |
| <extension base="aas:submodelElementAbstract_t"> |
| <sequence> |
| <element name="value" type="aas:submodelElements_t"/> |
| <element name="ordered" type="boolean"/> |
| <element name="allowDuplicates" type="boolean"/> |
| </sequence> |
| </extension> |
| </complexContent> |
| </complexType> |
| <complexType name="relationshipElement_t"> |
| <complexContent> |
| <extension base="aas:submodelElementAbstract_t"> |
| <sequence> |
| <element name="first" type="aas:reference_t"/> |
| <element name="second" type="aas:reference_t"/> |
| </sequence> |
| </extension> |
| </complexContent> |
| </complexType> |
| <complexType name="operation_t"> |
| <complexContent> |
| <extension base="aas:submodelElementAbstract_t"> |
| <sequence> |
| <element name="in" type="aas:operationVariable_t"/> |
| <element name="out" type="aas:operationVariable_t"/> |
| </sequence> |
| </extension> |
| </complexContent> |
| </complexType> |
| <complexType name="operationVariable_t"> |
| <complexContent> |
| <extension base="aas:submodelElementAbstract_t"> |
| <sequence> |
| <element name="value" type="aas:submodelElement_t"/> |
| </sequence> |
| </extension> |
| </complexContent> |
| </complexType> |
| <complexType name="event_t"> |
| <complexContent> |
| <extension base="aas:submodelElementAbstract_t"> |
| <sequence/> |
| </extension> |
| </complexContent> |
| </complexType> |
| <complexType name="dataSpecificationContent_t"> |
| <choice> |
| <element name="dataSpecificationIEC61360" type="IEC61360:dataSpecificationIEC61630_t"/> |
| </choice> |
| </complexType> |
| <complexType name="conceptDescriptionsRef_t"> |
| <sequence> |
| <element name="conceptDescriptionRef" type="aas:reference_t" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <complexType name="pathType_t"> |
| <simpleContent> |
| <extension base="string"/> |
| </simpleContent> |
| </complexType> |
| <complexType name="blobType_t"> |
| <simpleContent> |
| <extension base="base64Binary"/> |
| </simpleContent> |
| </complexType> |
| <complexType name="idPropertyDefinition_t"> |
| <simpleContent> |
| <extension base="string"> |
| <attribute name="idType" type="string" /> |
| </extension> |
| </simpleContent> |
| </complexType> |
| <complexType name="idShort_t"> |
| <simpleContent> |
| <extension base="string"/> |
| </simpleContent> |
| </complexType> |
| <complexType name="administration_t"> |
| <sequence> |
| <element name="version" type="string" minOccurs="0" maxOccurs="1" /> |
| <element name="revision" type="string" minOccurs="0" maxOccurs="1" /> |
| </sequence> |
| </complexType> |
| <complexType name="identification_t"> |
| <simpleContent> |
| <extension base="string"> |
| <attribute name="idType" use="optional"> |
| <simpleType> |
| <restriction base="string"> |
| <enumeration value="URI"/> |
| <enumeration value="IRDI"/> |
| <enumeration value="Custom"/> |
| </restriction> |
| </simpleType> |
| </attribute> |
| </extension> |
| </simpleContent> |
| </complexType> |
| <group name="identifiable"> |
| <sequence> |
| <group ref="aas:referable"/> |
| <element name="identification" type="aas:identification_t" minOccurs="0" maxOccurs="1"/> |
| <element name="administration" type="aas:administration_t" minOccurs="0" maxOccurs="1"/> |
| </sequence> |
| </group> |
| <group name="referable"> |
| <sequence> |
| <element name="idShort" type="aas:idShort_t" minOccurs="0" maxOccurs="1"/> |
| <element name="category" type="string" minOccurs="0" maxOccurs="1"/> |
| <element name="description" type="aas:langStrings_t" minOccurs="0" maxOccurs="1"/> |
| <element name="parent" type="string" minOccurs="0" maxOccurs="1"/> |
| </sequence> |
| </group> |
| <complexType name="qualifiers_t"> |
| <sequence> |
| <element name="qualifier" type="string" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <group name="qualifiable"> |
| <sequence> |
| <element name="qualifier" type="aas:constraint_t" minOccurs="0" maxOccurs="1"/> |
| </sequence> |
| </group> |
| <group name="hasDataSpecifications"> |
| <sequence> |
| <element name="embeddedDataSpecification" type="aas:embeddedDataSpecification_t" maxOccurs="unbounded" minOccurs="0"/> |
| </sequence> |
| </group> |
| <group name="hasSemantics"> |
| <sequence> |
| <element name="semanticId" type="aas:semanticId_t" minOccurs="0"/> |
| </sequence> |
| </group> |
| <complexType name="semanticId_t"> |
| <complexContent> |
| <extension base="aas:reference_t"/> |
| </complexContent> |
| </complexType> |
| <complexType name="reference_t"> |
| <sequence> |
| <element name="keys" type="aas:keys_t"/> |
| </sequence> |
| </complexType> |
| <complexType name="qualifier_t"> |
| <sequence> |
| <group ref="aas:hasSemantics"/> |
| <element name="qualifierType" type="string"/> |
| <element name="qualifierValue" type="string" maxOccurs="1" minOccurs="0"/> |
| <element name="qualifierValueId" type="aas:reference_t" maxOccurs="1" minOccurs="0"/> |
| </sequence> |
| </complexType> |
| <complexType name="formula_t"> |
| <sequence> |
| <element name="dependsOn" type="aas:references_t"/> |
| </sequence> |
| </complexType> |
| <complexType name="constraint_t"> |
| <choice> |
| <element name="qualifier" type="aas:qualifier_t"/> |
| <element name="formula" type="aas:formula_t"/> |
| </choice> |
| </complexType> |
| <complexType name="references_t"> |
| <sequence> |
| <element name="reference" type="aas:reference_t" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <group name="hasKind"> |
| <sequence> |
| <element name="kind" minOccurs="0" maxOccurs="1"> |
| <simpleType> |
| <restriction base="string"> |
| <enumeration value="Type"/> |
| <enumeration value="Instance"/> |
| </restriction> |
| </simpleType> |
| </element> |
| </sequence> |
| </group> |
| <complexType name="keys_t"> |
| <sequence> |
| <element ref="aas:key" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <element name="key" type="aas:key_t"/> |
| <attributeGroup name="keyTypes"> |
| <attribute name="localKeyType" use="optional"> |
| <simpleType> |
| <restriction base="string"> |
| <enumeration value="idShort"/> |
| </restriction> |
| </simpleType> |
| </attribute> |
| <attribute name="identifierType" use="optional"> |
| <simpleType> |
| <restriction base="string"> |
| <enumeration value="IRDI"/> |
| <enumeration value="URI"/> |
| <enumeration value="Custom"/> |
| </restriction> |
| </simpleType> |
| </attribute> |
| </attributeGroup> |
| <complexType name="key_t"> |
| <simpleContent> |
| <extension base="string"> |
| <attribute name="type"> |
| <simpleType> |
| <restriction base="string"> |
| <enumeration value="GlobalReference"/> |
| <enumeration value="ConceptDictionary"/> |
| <enumeration value="AccessPermissionRule"/> |
| <enumeration value="DataElement"/> |
| <enumeration value="View"/> |
| <enumeration value="Property"/> |
| <enumeration value="SubmodelElement"/> |
| <enumeration value="File"/> |
| <enumeration value="Blob"/> |
| <enumeration value="ReferenceElement"/> |
| <enumeration value="SubmodelElementCollection"/> |
| <enumeration value="RelationShipElement"/> |
| <enumeration value="Event"/> |
| <enumeration value="Operation"/> |
| <enumeration value="OperationVariable"/> |
| <enumeration value="AssetAdministrationShell"/> |
| <enumeration value="Submodel"/> |
| <enumeration value="ConceptDescription"/> |
| <enumeration value="Asset"/> |
| </restriction> |
| </simpleType> |
| </attribute> |
| <attribute name="idType"> |
| <simpleType> |
| <restriction base="string"> |
| <enumeration value="idShort"/> |
| <enumeration value="IRDI"/> |
| <enumeration value="URI"/> |
| <enumeration value="Custom"/> |
| </restriction> |
| </simpleType> |
| </attribute> |
| <attribute name="local" type="boolean"/> |
| </extension> |
| </simpleContent> |
| </complexType> |
| <complexType name="langString_t"> |
| <simpleContent> |
| <extension base="string"> |
| <attribute name="lang" type="string" /> |
| </extension> |
| </simpleContent> |
| </complexType> |
| <complexType name="langStrings_t"> |
| <sequence> |
| <element name="langString" type="aas:langString_t" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| </complexType> |
| <complexType name="embeddedDataSpecification_t"> |
| <sequence> |
| <element name="hasDataSpecification" type="aas:reference_t" maxOccurs="1" minOccurs="0"/> |
| <element name="dataSpecificationContent" type="aas:dataSpecificationContent_t" maxOccurs="1" minOccurs="0"/> |
| </sequence> |
| </complexType> |
| <complexType name="prvalueType_t"/> |
| <complexType name="propertyValueType_t"> |
| <simpleContent> |
| <extension base="string"/> |
| </simpleContent> |
| </complexType> |
| </schema> |