blob: d650f54d1fc9b6509b5cbb7c2e0ca7cca9e8685b [file] [log] [blame]
<?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>