Skip to content

Instantly share code, notes, and snippets.

@christoph2
Created September 15, 2016 14:19
Show Gist options
  • Save christoph2/7f5c7f80080d92c02933a02d60ea9ab5 to your computer and use it in GitHub Desktop.
Save christoph2/7f5c7f80080d92c02933a02d60ea9ab5 to your computer and use it in GitHub Desktop.
KNX ETS4 XML Schema
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:knx="http://knx.org/xml/project/11" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://knx.org/xml/project/11" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
<!-- Simple types -->
<xs:simpleType name="IDREF">
<xs:restriction base="xs:NCName"/>
</xs:simpleType>
<xs:simpleType name="IDREFS">
<xs:list itemType="knx:IDREF"/>
</xs:simpleType>
<xs:simpleType name="Capabilities_t">
<xs:list itemType="knx:Capability_t"/>
</xs:simpleType>
<xs:simpleType name="String20_t">
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String50_t">
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String255_t">
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LanguageDependentString_t">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="LanguageDependentString20_t">
<xs:restriction base="knx:LanguageDependentString_t">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LanguageDependentString50_t">
<xs:restriction base="knx:LanguageDependentString_t">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LanguageDependentString255_t">
<xs:restriction base="knx:LanguageDependentString_t">
<xs:maxLength value="255" fixed="false"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Guid_t">
<xs:restriction base="xs:string">
<xs:pattern value="\{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}\}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Ipv4Address_t">
<xs:restriction base="xs:string">
<xs:pattern value="((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="RegistrationNumber_t">
<xs:restriction base="xs:string">
<xs:pattern value="\d{4}/\d+"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Regex_t">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="Value_t">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="Condition_t">
<xs:restriction base="xs:string">
<xs:pattern value="((-?\d+\s)*-?\d+)|((=|(!=)|&gt;|&lt;|(&gt;=)|(&lt;=))-?\d+)"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="BitOffset_t">
<xs:restriction base="xs:unsignedByte">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="7"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="HardwareVersionNumber">
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="32767"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="AccessLevel_t">
<xs:restriction base="xs:unsignedByte">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="15"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FloatFormat_t">
<xs:restriction base="xs:string">
<xs:pattern value="[#,]*[0,]+(\.0*)?([eE][+-]?0+)?"/>
</xs:restriction>
</xs:simpleType>
<!-- Enumerations -->
<xs:simpleType name="PropType_t">
<xs:restriction base="xs:string">
<xs:enumeration value="PDT_CONTROL"/>
<xs:enumeration value="PDT_CHAR"/>
<xs:enumeration value="PDT_UNSIGNED_CHAR"/>
<xs:enumeration value="PDT_INT"/>
<xs:enumeration value="PDT_UNSIGNED_INT"/>
<xs:enumeration value="PDT_KNX_FLOAT"/>
<xs:enumeration value="PDT_DATE"/>
<xs:enumeration value="PDT_TIME"/>
<xs:enumeration value="PDT_LONG"/>
<xs:enumeration value="PDT_UNSIGNED_LONG"/>
<xs:enumeration value="PDT_FLOAT"/>
<xs:enumeration value="PDT_DOUBLE"/>
<xs:enumeration value="PDT_CHAR_BLOCK"/>
<xs:enumeration value="PDT_POLL_GROUP_SETTINGS"/>
<xs:enumeration value="PDT_SHORT_CHAR_BLOCK"/>
<xs:enumeration value="PDT_DATE_TIME"/>
<xs:enumeration value="PDT_VARIABLE_LENGTH"/>
<xs:enumeration value="PDT_GENERIC_01"/>
<xs:enumeration value="PDT_GENERIC_02"/>
<xs:enumeration value="PDT_GENERIC_03"/>
<xs:enumeration value="PDT_GENERIC_04"/>
<xs:enumeration value="PDT_GENERIC_05"/>
<xs:enumeration value="PDT_GENERIC_06"/>
<xs:enumeration value="PDT_GENERIC_07"/>
<xs:enumeration value="PDT_GENERIC_08"/>
<xs:enumeration value="PDT_GENERIC_09"/>
<xs:enumeration value="PDT_GENERIC_10"/>
<xs:enumeration value="PDT_GENERIC_11"/>
<xs:enumeration value="PDT_GENERIC_12"/>
<xs:enumeration value="PDT_GENERIC_13"/>
<xs:enumeration value="PDT_GENERIC_14"/>
<xs:enumeration value="PDT_GENERIC_15"/>
<xs:enumeration value="PDT_GENERIC_16"/>
<xs:enumeration value="PDT_GENERIC_17"/>
<xs:enumeration value="PDT_GENERIC_18"/>
<xs:enumeration value="PDT_GENERIC_19"/>
<xs:enumeration value="PDT_GENERIC_20"/>
<xs:enumeration value="PDT_UTF-8"/>
<xs:enumeration value="PDT_VERSION"/>
<xs:enumeration value="PDT_ALARM_INFO"/>
<xs:enumeration value="PDT_BINARY_INFORMATION"/>
<xs:enumeration value="PDT_BITSET8"/>
<xs:enumeration value="PDT_BITSET16"/>
<xs:enumeration value="PDT_ENUM8"/>
<xs:enumeration value="PDT_SCALING"/>
<xs:enumeration value="PDT_NE_VL"/>
<xs:enumeration value="PDT_NE_FL"/>
<xs:enumeration value="PDT_FUNCTION"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LdCtrlMemAddrSpace_t">
<xs:restriction base="xs:string">
<xs:enumeration value="Standard"/>
<xs:enumeration value="User"/>
<xs:enumeration value="LcSlave"/>
<xs:enumeration value="LcFilter"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LdCtrlControlVariable_t">
<xs:restriction base="xs:string">
<xs:enumeration value="EnableSegmentWrite"/>
<xs:enumeration value="EnableVerifyOnWriteDirect"/>
<xs:enumeration value="EnableOptimisticWrite"/>
<xs:enumeration value="EnableMemoryAutoVerify"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LdCtrlProcType_t">
<xs:restriction base="xs:string">
<xs:enumeration value="full"/>
<xs:enumeration value="par"/>
<xs:enumeration value="grp"/>
<xs:enumeration value="full,par"/>
<xs:enumeration value="full,grp"/>
<xs:enumeration value="par,grp"/>
<xs:enumeration value="all"/>
<xs:enumeration value="auto"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MemoryType_t">
<xs:restriction base="xs:string">
<xs:enumeration value="RAM"/>
<xs:enumeration value="EEPROM"/>
<xs:enumeration value="FLASH"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Access_t">
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="Read"/>
<xs:enumeration value="ReadWrite"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComObjectPriority_t">
<xs:restriction base="xs:string">
<xs:enumeration value="Low"/>
<xs:enumeration value="High"/>
<xs:enumeration value="Alert"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComObjectSize_t">
<xs:restriction base="xs:string">
<xs:enumeration value="1 Bit"/>
<xs:enumeration value="2 Bit"/>
<xs:enumeration value="3 Bit"/>
<xs:enumeration value="4 Bit"/>
<xs:enumeration value="5 Bit"/>
<xs:enumeration value="6 Bit"/>
<xs:enumeration value="7 Bit"/>
<xs:enumeration value="1 Byte"/>
<xs:enumeration value="2 Bytes"/>
<xs:enumeration value="3 Bytes"/>
<xs:enumeration value="4 Bytes"/>
<xs:enumeration value="5 Bytes"/>
<xs:enumeration value="6 Bytes"/>
<xs:enumeration value="7 Bytes"/>
<xs:enumeration value="8 Bytes"/>
<xs:enumeration value="9 Bytes"/>
<xs:enumeration value="10 Bytes"/>
<xs:enumeration value="11 Bytes"/>
<xs:enumeration value="12 Bytes"/>
<xs:enumeration value="14 Bytes"/>
<xs:enumeration value="LegacyVarData"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Enable_t">
<xs:restriction base="xs:string">
<xs:enumeration value="Enabled"/>
<xs:enumeration value="Disabled"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="LoadProcedureStyle_t">
<xs:restriction base="xs:string">
<xs:enumeration value="DefaultProcedure"/>
<xs:enumeration value="ProductProcedure"/>
<xs:enumeration value="MergedProcedure"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CompletionStatus_t">
<xs:restriction base="xs:string">
<xs:enumeration value="Undefined"/>
<xs:enumeration value="Editing"/>
<xs:enumeration value="FinishedDesign"/>
<xs:enumeration value="FinishedCommissioning"/>
<xs:enumeration value="Tested"/>
<xs:enumeration value="Accepted"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ResourceName_t">
<xs:restriction base="xs:string">
<xs:enumeration value="ManagementStyle"/>
<xs:enumeration value="DeviceManufacturerId"/>
<xs:enumeration value="DeviceBusVoltage"/>
<xs:enumeration value="DevicePeiType"/>
<xs:enumeration value="GroupAddressTableLoadControl"/>
<xs:enumeration value="GroupAddressTableLoadStatus"/>
<xs:enumeration value="GroupAddressTablePtr"/>
<xs:enumeration value="GroupAddressTable"/>
<xs:enumeration value="GroupAssociationTableLoadControl"/>
<xs:enumeration value="GroupAssociationTableLoadStatus"/>
<xs:enumeration value="GroupAssociationTablePtr"/>
<xs:enumeration value="GroupAssociationTable"/>
<xs:enumeration value="GroupObjectTablePtr"/>
<xs:enumeration value="GroupObjectTable"/>
<xs:enumeration value="GroupFilterTablePtr"/>
<xs:enumeration value="GroupFilterTable"/>
<xs:enumeration value="ApplicationId"/>
<xs:enumeration value="ApplicationLoadControl"/>
<xs:enumeration value="ApplicationLoadStatus"/>
<xs:enumeration value="ApplicationRunControl"/>
<xs:enumeration value="ApplicationRunStatus"/>
<xs:enumeration value="PeiprogId"/>
<xs:enumeration value="PeiprogLoadControl"/>
<xs:enumeration value="PeiprogLoadStatus"/>
<xs:enumeration value="PeiprogRunControl"/>
<xs:enumeration value="PeiprogRunStatus"/>
<xs:enumeration value="ApplicationPeiType"/>
<xs:enumeration value="ReConfig"/>
<xs:enumeration value="IndividualAddress"/>
<xs:enumeration value="DomainAddress"/>
<xs:enumeration value="FrequencyChannel"/>
<xs:enumeration value="Sensitivity"/>
<xs:enumeration value="HardwareConfig1"/>
<xs:enumeration value="HardwareConfig2"/>
<xs:enumeration value="HardwareConfig3"/>
<xs:enumeration value="HardwareConfig4"/>
<xs:enumeration value="DeviceOrderId"/>
<xs:enumeration value="DeviceSerialNumber"/>
<xs:enumeration value="ProgrammingMode"/>
<xs:enumeration value="PollingGroupSettings"/>
<xs:enumeration value="ManagementDescriptor01"/>
<xs:enumeration value="RunError"/>
<xs:enumeration value="LcConfig"/>
<xs:enumeration value="LcGrpConfig"/>
<xs:enumeration value="LcError"/>
<xs:enumeration value="LcMode"/>
<xs:enumeration value="GroupObjectTableLoadControl"/>
<xs:enumeration value="GroupObjectTableLoadStatus"/>
<xs:enumeration value="GroupAcknowledgeTable"/>
<xs:enumeration value="HardwareType"/>
<xs:enumeration value="FirmwareVersion"/>
<xs:enumeration value="ManufacturerData"/>
<xs:enumeration value="ApplicationDataPtr"/>
<xs:enumeration value="PeiprogDataPtr"/>
<xs:enumeration value="GroupAddressTableStamp"/>
<xs:enumeration value="GroupAssociationTableStamp"/>
<xs:enumeration value="GroupObjectTableStamp"/>
<xs:enumeration value="GroupFilterTableStamp"/>
<xs:enumeration value="ApplicationStamp"/>
<xs:enumeration value="PeiprogStamp"/>
<xs:enumeration value="MaxApduLength"/>
<xs:enumeration value="GroupFilterTableLoadControl"/>
<xs:enumeration value="GroupFilterTableLoadStatus"/>
<xs:enumeration value="MainLcConfig"/>
<xs:enumeration value="SubLcConfig"/>
<xs:enumeration value="MainLcGrpConfig"/>
<xs:enumeration value="SubLcGrpConfig"/>
<xs:enumeration value="CouplServControl"/>
<xs:enumeration value="MaxRoutingApduLength"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ResourceAccess_t">
<xs:restriction base="xs:string">
<xs:enumeration value="remote"/>
<xs:enumeration value="local1"/>
<xs:enumeration value="local2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ResourceMgmtStyle_t">
<xs:restriction base="xs:string">
<xs:enumeration value="simple"/>
<xs:enumeration value="lsm"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ResourceAddrSpace_t">
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="StandardMemory"/>
<xs:enumeration value="UserMemory"/>
<xs:enumeration value="SystemProperty"/>
<xs:enumeration value="AppProperty"/>
<xs:enumeration value="LcSlaveMemory"/>
<xs:enumeration value="LcFilterMemory"/>
<xs:enumeration value="ADC"/>
<xs:enumeration value="Constant"/>
<xs:enumeration value="Pointer"/>
<xs:enumeration value="Property"/>
<xs:enumeration value="RelativeMemory"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ResourceAccessRights_t">
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="SystemManufacturer"/>
<xs:enumeration value="Manufacturer"/>
<xs:enumeration value="Configuration"/>
<xs:enumeration value="Runtime"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ProcedureType_t">
<xs:restriction base="xs:string">
<xs:enumeration value="Load"/>
<xs:enumeration value="Unload"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GroupAddressStyle_t">
<xs:restriction base="xs:string">
<xs:enumeration value="TwoLevel"/>
<xs:enumeration value="ThreeLevel"/>
<xs:enumeration value="Free"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="BuildingPartType_t">
<xs:restriction base="xs:string">
<xs:enumeration value="Building"/>
<xs:enumeration value="BuildingPart"/>
<xs:enumeration value="Floor"/>
<xs:enumeration value="Room"/>
<xs:enumeration value="DistributionBoard"/>
<xs:enumeration value="Stairway"/>
<xs:enumeration value="Corridor"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ApplicationProgramType_t">
<xs:restriction base="xs:string">
<xs:enumeration value="ApplicationProgram"/>
<xs:enumeration value="PeiProgram"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="RegistrationStatus_t">
<xs:restriction base="xs:string">
<xs:enumeration value="Unregistered"/>
<xs:enumeration value="Registered"/>
<xs:enumeration value="Certified"/>
<xs:enumeration value="FutureUseNotRecommended"/>
<xs:enumeration value="FutureUseNotAllowed"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ProjectTracingLevel_t">
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="OperationUsed"/>
<xs:enumeration value="Detailed"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ToDoStatus_t">
<xs:restriction base="xs:string">
<xs:enumeration value="Open"/>
<xs:enumeration value="Accomplished"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Capability_t">
<xs:restriction base="xs:string">
<xs:enumeration value="AddDeleteDevice"/>
<xs:enumeration value="GroupCommunicationEvents"/>
<xs:enumeration value="GroupCommunicationLimits"/>
<xs:enumeration value="TransferParameters"/>
<xs:enumeration value="ProjectCheck"/>
<xs:enumeration value="Printing"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ApplicationProgramIPConfig_t">
<xs:restriction base="xs:string">
<xs:enumeration value="Custom"/>
<xs:enumeration value="Tool"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="IPConfigAssign_t">
<xs:restriction base="xs:string">
<xs:enumeration value="Fixed"/>
<xs:enumeration value="Auto"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComTableExpectation_t">
<xs:restriction base="xs:string">
<xs:enumeration value="Yes"/>
<xs:enumeration value="No"/>
<xs:enumeration value="Try"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="HorizontalAlignment_t">
<xs:restriction base="xs:string">
<xs:enumeration value="Left"/>
<xs:enumeration value="Middle"/>
<xs:enumeration value="Right"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TextEncoding_t">
<xs:restriction base="xs:string">
<xs:enumeration value="us-ascii"/>
<xs:enumeration value="iso-8859-1"/>
<xs:enumeration value="iso-8859-2"/>
<xs:enumeration value="iso-8859-3"/>
<xs:enumeration value="iso-8859-4"/>
<xs:enumeration value="iso-8859-5"/>
<xs:enumeration value="iso-8859-6"/>
<xs:enumeration value="iso-8859-7"/>
<xs:enumeration value="iso-8859-8"/>
<xs:enumeration value="iso-8859-9"/>
<xs:enumeration value="iso-8859-10"/>
<xs:enumeration value="iso-8859-13"/>
<xs:enumeration value="iso-8859-15"/>
<xs:enumeration value="utf-8"/>
<!--This enum may only contain valid codepages! -->
</xs:restriction>
</xs:simpleType>
<!-- Root element -->
<xs:element name="KNX">
<xs:complexType>
<xs:sequence>
<xs:element name="MasterData" type="knx:MasterData_t" minOccurs="0"/>
<xs:element name="ManufacturerData" type="knx:ManufacturerData_t" minOccurs="0"/>
<xs:element name="Project" type="knx:Project_t" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="CreatedBy" type="xs:string" use="optional"/>
<xs:attribute name="ToolVersion" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<!-- Master data -->
<xs:complexType name="MasterData_t">
<xs:sequence>
<xs:element name="DatapointTypes" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="DatapointType" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="DatapointSubtypes" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="DatapointSubtype" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Number" type="xs:unsignedInt" use="required"/>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="optional"/>
<xs:attribute name="Default" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Number" type="xs:unsignedInt" use="required"/>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="optional"/>
<xs:attribute name="SizeInBit" type="xs:unsignedInt" use="required"/>
<xs:attribute name="Default" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="InterfaceObjectTypes" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="InterfaceObjectType" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Number" type="xs:unsignedInt" use="required"/>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="InterfaceObjectProperties" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="InterfaceObjectProperty" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Number" type="xs:unsignedInt" use="required"/>
<xs:attribute name="ObjectType" type="knx:IDREF" use="optional"/>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="optional"/>
<xs:attribute name="PDT" type="knx:IDREFS" use="optional"/>
<xs:attribute name="Array" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PropertyDataTypes" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="PropertyDataType" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Number" type="xs:unsignedInt" use="required"/>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="Size" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="ReadSize" type="xs:unsignedByte" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MediumTypes" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="MediumType" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Number" type="xs:unsignedInt" use="required"/>
<xs:attribute name="Name" type="knx:String20_t" use="required"/>
<xs:attribute name="Text" type="knx:LanguageDependentString50_t" use="optional"/>
<xs:attribute name="DomainAddressLength" type="xs:short" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MaskVersions" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="MaskVersion" type="knx:MaskVersion_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Manufacturers" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Manufacturer" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderNumberFormattingScript" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="PublicKeys" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="PublicKey" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="RSAKeyValue">
<xs:complexType>
<xs:sequence>
<xs:element name="Modulus" type="xs:base64Binary"/>
<xs:element name="Exponent" type="xs:base64Binary"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Number" type="xs:unsignedInt" use="required"/>
<xs:attribute name="Revoked" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="KnxManufacturerId" type="xs:unsignedShort" use="required"/>
<xs:attribute name="DefaultLanguage" type="xs:language" use="optional"/>
<xs:attribute name="CompatibilityGroup" type="xs:unsignedShort" use="optional"/>
<xs:attribute name="ImportRestriction" use="optional" default="Own">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Own"/>
<xs:enumeration value="Any"/>
<xs:enumeration value="Group"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ImportGroup" use="optional">
<xs:simpleType>
<xs:list itemType="xs:string"/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Languages" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Language" type="knx:LanguageData_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Version" type="xs:unsignedInt" use="required"/>
<xs:attribute name="Signature" type="xs:base64Binary" use="required"/>
</xs:complexType>
<xs:complexType name="MaskVersion_t">
<xs:sequence>
<xs:element name="DownwardCompatibleMasks" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="DownwardCompatibleMask" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="RefId" type="knx:IDREF" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MaskEntries" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="MaskEntry" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Address" type="xs:unsignedShort" use="required"/>
<xs:attribute name="Name" type="knx:String50_t" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="HawkConfigurationData" type="knx:HawkConfigurationData_t" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Name" type="knx:LanguageDependentString50_t" use="required"/>
<xs:attribute name="MaskVersion" type="xs:unsignedShort" use="required"/>
<xs:attribute name="MgmtDescriptor01" type="xs:hexBinary" use="optional"/>
<xs:attribute name="ManagementModel" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="Bcu1"/>
<xs:enumeration value="BimM112"/>
<xs:enumeration value="Bcu2"/>
<xs:enumeration value="PropertyBased"/>
<xs:enumeration value="SystemB"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="MediumTypeRefId" type="knx:IDREF" use="required"/>
<xs:attribute name="OtherMediumTypeRefId" type="knx:IDREF" use="optional"/>
</xs:complexType>
<xs:complexType name="ResourceLocation_t">
<xs:attribute name="AddressSpace" type="knx:ResourceAddrSpace_t" use="required"/>
<xs:attribute name="InterfaceObjectRef" type="xs:unsignedShort" use="optional"/>
<xs:attribute name="PropertyID" type="xs:unsignedShort" use="optional"/>
<xs:attribute name="StartAddress" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0"/>
<xs:attribute name="PtrResource" type="knx:ResourceName_t" use="optional"/>
</xs:complexType>
<xs:complexType name="HawkConfigurationData_t">
<xs:sequence>
<xs:element name="Features" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Feature" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ParameterByteOrder"/>
<xs:enumeration value="FirstAppObjectIdx"/>
<xs:enumeration value="MaxIndividualAddress"/>
<xs:enumeration value="MaxGroupAddress"/>
<xs:enumeration value="PollingGroupSupport"/>
<xs:enumeration value="AuthorizeLevels"/>
<xs:enumeration value="RestartTime"/>
<xs:enumeration value="UnloadedIndividualAddress"/>
<xs:enumeration value="AssociationTableFlavour"/>
<xs:enumeration value="VerifyMode"/>
<xs:enumeration value="MgmtConnTypes"/>
<xs:enumeration value="PropertyMappedLsms"/>
<xs:enumeration value="AllocExtraByte"/>
<xs:enumeration value="MaskdataVersion"/>
<xs:enumeration value="DownloadStamp"/>
<xs:enumeration value="GroupObjectTableFlavour"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Value" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Resources" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Resource" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Location" type="knx:ResourceLocation_t" minOccurs="0"/>
<xs:element name="ImgLocation" type="knx:ResourceLocation_t" minOccurs="0"/>
<xs:element name="ResourceType">
<xs:complexType>
<xs:attribute name="Length" type="xs:unsignedInt" use="required"/>
<xs:attribute name="Flavour" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ByteOrder_BigEndian"/>
<xs:enumeration value="ByteOrder_LittleEndian"/>
<xs:enumeration value="ManagementStyle_Bcu2"/>
<xs:enumeration value="Ptr_StandardMemory"/>
<xs:enumeration value="Ptr_StandardMemory100"/>
<xs:enumeration value="AddressTable_Bcu1"/>
<xs:enumeration value="AddressTable_Bcu1PL"/>
<xs:enumeration value="AddressTable_SystemB"/>
<xs:enumeration value="AssociationTable_Bcu1"/>
<xs:enumeration value="AssociationTable_Bcu2"/>
<xs:enumeration value="AssociationTable_M112"/>
<xs:enumeration value="AssociationTable_SystemB"/>
<xs:enumeration value="AssociationTable_SystemBSmall"/>
<xs:enumeration value="AssociationTable_SystemBBig"/>
<xs:enumeration value="GroupObjectTable_Bcu10"/>
<xs:enumeration value="GroupObjectTable_Bcu11"/>
<xs:enumeration value="GroupObjectTable_Bcu1PL"/>
<xs:enumeration value="GroupObjectTable_Bcu2"/>
<xs:enumeration value="GroupObjectTable_M112"/>
<xs:enumeration value="GroupObjectTable_SystemB"/>
<xs:enumeration value="GroupObjectTable_System300"/>
<xs:enumeration value="LoadControl_Bcu2"/>
<xs:enumeration value="LoadControl_M112"/>
<xs:enumeration value="RunControl_Bcu2"/>
<xs:enumeration value="RunControl_M112"/>
<xs:enumeration value="RunControl_Bcu1"/>
<xs:enumeration value="Voltage_Adc"/>
<xs:enumeration value="PeiType_Prop"/>
<xs:enumeration value="PeiType_Adc"/>
<xs:enumeration value="ReConfig_Bcu1PL"/>
<xs:enumeration value="FrequencyChannel_Bcu1PL"/>
<xs:enumeration value="Sensitivity_Bcu1PL"/>
<xs:enumeration value="Runerror_Bcu1"/>
<xs:enumeration value="ProgrammingMode_Bcu1"/>
<xs:enumeration value="ProgrammingMode_Prop"/>
<xs:enumeration value="Lc_10"/>
<xs:enumeration value="Lc_11"/>
<xs:enumeration value="HardwareConfig_Identical"/>
<xs:enumeration value="HardwareConfig_Version"/>
<xs:enumeration value="Stamp_SystemB"/>
<xs:enumeration value="Lc_12"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="AccessRights">
<xs:complexType>
<xs:attribute name="Read" type="knx:ResourceAccessRights_t" use="required"/>
<xs:attribute name="Write" type="knx:ResourceAccessRights_t" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="knx:ResourceName_t" use="required"/>
<xs:attribute name="Access" use="required">
<xs:simpleType>
<xs:list itemType="knx:ResourceAccess_t"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="MgmtStyle" use="optional">
<xs:simpleType>
<xs:list itemType="knx:ResourceMgmtStyle_t"/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Procedures" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Procedure" maxOccurs="unbounded">
<xs:complexType>
<xs:complexContent>
<xs:extension base="knx:LoadProcedure_t">
<xs:attribute name="ProcedureType" type="knx:ProcedureType_t" use="required"/>
<xs:attribute name="ProcedureSubType" use="required">
<xs:simpleType>
<xs:union memberTypes="knx:LdCtrlProcType_t">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ap1"/>
<xs:enumeration value="cfg"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Access" use="required">
<xs:simpleType>
<xs:list itemType="knx:ResourceAccess_t"/>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MemorySegments" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="MemorySegment" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Location" type="knx:ResourceLocation_t"/>
<xs:element name="AccessRights">
<xs:complexType>
<xs:attribute name="Read" type="knx:ResourceAccessRights_t" use="required"/>
<xs:attribute name="Write" type="knx:ResourceAccessRights_t" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Length" type="xs:unsignedInt" use="required"/>
<xs:attribute name="Optional" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="MemoryType" type="knx:MemoryType_t" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="InterfaceObjects" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="InterfaceObject" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Property" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="PropertyID" type="xs:unsignedShort" use="required"/>
<xs:attribute name="PropertyDataType" type="knx:PropType_t" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Index" type="xs:unsignedByte" use="optional"/>
<xs:attribute name="ObjectType" type="xs:unsignedShort" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Ets3SystemPlugin" type="knx:Guid_t" use="optional"/>
<xs:attribute name="LegacyVersion" type="xs:int" use="optional"/>
</xs:complexType>
<!-- Manufacturer data -->
<xs:complexType name="ManufacturerData_t">
<xs:sequence>
<xs:element name="Manufacturer" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Catalog" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="CatalogSection" type="knx:CatalogSection_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ApplicationPrograms" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ApplicationProgram" type="knx:ApplicationProgram_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Baggages" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Baggage" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="FileInfo">
<xs:complexType>
<xs:attribute name="Version" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="TimeInfo" type="xs:dateTime" use="optional"/>
<xs:attribute name="Hidden" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="ReadOnly" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
<xs:element name="Data" type="xs:base64Binary" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="TargetPath" use="required">
<xs:simpleType>
<xs:restriction base="knx:String255_t">
<xs:pattern value="(([^&quot;&lt;&gt;\|:\*\?/\\\t\n\r]+\\)*[^&quot;&lt;&gt;\|:\*\?/\\\t\n\r]+)?"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Name" use="required">
<xs:simpleType>
<xs:restriction base="knx:String255_t">
<xs:pattern value="[^&quot;&lt;&gt;\|:\*\?/\\\t\n\r]+"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="InstallOnImport" type="xs:boolean" use="required"/>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="GroupAddresses16BitEnabled" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Hardware" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Hardware" type="knx:Hardware_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Languages" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Language" type="knx:LanguageData_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="RefId" type="knx:IDREF" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ApplicationProgram_t">
<xs:sequence>
<xs:element name="Static" type="knx:ApplicationProgramStatic_t"/>
<xs:element name="Dynamic" type="knx:ApplicationProgramDynamic_t" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ApplicationNumber" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ApplicationVersion" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ProgramType" type="knx:ApplicationProgramType_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaskVersion" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VisibleDescription" type="knx:LanguageDependentString_t" use="optional"/>
<xs:attribute name="Name" type="knx:LanguageDependentString255_t" use="required"/>
<xs:attribute name="LoadProcedureStyle" type="knx:LoadProcedureStyle_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PeiType" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HelpTopic" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="HelpFile" type="knx:LanguageDependentString255_t" use="optional"/>
<xs:attribute name="DefaultLanguage" type="xs:language" use="required"/>
<xs:attribute name="DynamicTableManagement" type="xs:boolean" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Linkable" type="xs:boolean" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinEtsVersion" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="3.0"/>
<xs:enumeration value="3.0d"/>
<xs:enumeration value="3.0f"/>
<xs:enumeration value="4.0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="OriginalManufacturer" type="knx:IDREF" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PreEts4Style" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ConvertedFromPreEts4Data" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CreatedFromLegacySchemaVersion" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="IPConfig" type="knx:ApplicationProgramIPConfig_t" use="optional" default="Tool">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AdditionalAddressesCount" type="xs:int" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NonRegRelevantDataVersion" type="xs:unsignedShort" use="optional" default="0"/>
<xs:attribute name="Broken" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="DownloadInfoIncomplete" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="ReplacesVersions" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:list itemType="xs:unsignedByte"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Hash" type="xs:base64Binary" use="optional"/>
</xs:complexType>
<xs:complexType name="ApplicationProgramStatic_t">
<xs:sequence>
<xs:element name="Code" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="AbsoluteSegment" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Data" type="xs:base64Binary" minOccurs="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Mask" type="xs:base64Binary" minOccurs="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="knx:String50_t" use="optional"/>
<xs:attribute name="MemoryType" type="knx:MemoryType_t" use="optional"/>
<xs:attribute name="Address" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Size" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="UserMemory" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="RelativeSegment" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Data" type="xs:base64Binary" minOccurs="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Mask" type="xs:base64Binary" minOccurs="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="knx:String50_t" use="optional"/>
<xs:attribute name="Offset" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Size" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LoadStateMachine" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ParameterTypes" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ParameterType" type="knx:ParameterType_t" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Parameters" minOccurs="0">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
<xs:element name="Parameter" type="knx:Parameter_t"/>
<xs:element name="Union">
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element name="Memory">
<xs:complexType>
<xs:attribute name="CodeSegment" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Offset" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="BitOffset" type="knx:BitOffset_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Property">
<xs:complexType>
<xs:attribute name="ObjectIndex" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjectType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PropertyId" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Offset" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="BitOffset" type="knx:BitOffset_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element name="Parameter" type="knx:UnionParameter_t" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="SizeInBit" use="required">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="8388600"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="ParameterRefs" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ParameterRef" type="knx:ParameterRef_t" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
<xs:documentation>This is a list to ensure deterministic behaviour in case of multiple active parameter refs</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ParameterCalculations" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ParameterCalculation" type="knx:ParameterCalculation_t" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ComObjectTable" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ComObject" type="knx:ComObject_t" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="CodeSegment" type="knx:IDREF" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Offset" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ComObjectRefs" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ComObjectRef" type="knx:ComObjectRef_t" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
<xs:documentation>This is a list to ensure deterministic behaviour in case of multiple active communication object refs</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AddressTable" minOccurs="0">
<xs:complexType>
<xs:attribute name="CodeSegment" type="knx:IDREF" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Offset" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="MaxEntries" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="AssociationTable" minOccurs="0">
<xs:complexType>
<xs:attribute name="CodeSegment" type="knx:IDREF" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Offset" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="MaxEntries" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="FixupList" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Fixup" type="knx:Fixup_t" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LoadProcedures" type="knx:LoadProcedures_t" minOccurs="0"/>
<xs:element name="Extension" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Baggage" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="RefId" type="knx:IDREF" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="EtsDownloadPlugin" type="xs:string" use="optional"/>
<xs:attribute name="EtsUiPlugin" type="xs:string" use="optional"/>
<xs:attribute name="EtsDataHandler" type="xs:string" use="optional"/>
<xs:attribute name="EtsDataHandlerCapabilities" type="knx:Capabilities_t"/>
<xs:attribute name="RequiresExternalSoftware" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
<xs:element name="BinaryData" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="BinaryData" type="knx:BinaryData_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DeviceCompare" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ExcludeMemory" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="CodeSegment" type="knx:IDREF" use="required"/>
<xs:attribute name="Offset" use="required">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Size" use="required">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ExcludeProperty" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="ObjectIndex" type="xs:unsignedByte" use="optional"/>
<xs:attribute name="ObjectType" type="xs:unsignedShort" use="optional"/>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0"/>
<xs:attribute name="PropertyId" type="xs:unsignedByte" use="required"/>
<xs:attribute name="Offset" type="xs:unsignedInt" use="required"/>
<xs:attribute name="Size" use="required">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="StandardComTablesExpectable" type="knx:ComTableExpectation_t" use="optional" default="Try"/>
</xs:complexType>
</xs:element>
<xs:element name="Options" minOccurs="0">
<xs:complexType>
<xs:attribute name="PreferPartialDownloadIfApplicationLoaded" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="EasyCtrlModeModeStyleEmptyGroupComTables" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="SetObjectTableLengthAlwaysToOne" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="TextParameterEncoding" type="knx:TextEncoding_t" use="optional"/>
<xs:attribute name="TextParameterEncodingSelector" use="optional" default="UseTextParameterEncodingCodePage">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="UseWindowsAnsiCodePage"/>
<xs:enumeration value="UseProjectCodePage"/>
<xs:enumeration value="UseTextParameterEncodingCodePage"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="TextParameterZeroTerminate" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="ParameterByteOrder" use="optional" default="BigEndian">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="BigEndian"/>
<xs:enumeration value="LittleEndian"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="PartialDownloadOnlyVisibleParameters" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LegacyNoPartialDownload" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LegacyNoMemoryVerifyMode" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LegacyNoOptimisticWrite" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LegacyDoNotReportPropertyWriteErrors" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LegacyNoBackgroundDownload" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LegacyDoNotCheckManufacturerId" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LegacyAlwaysReloadAppIfCoVisibilityChanged" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LegacyNeverReloadAppIfCoVisibilityChanged" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LegacyDoNotSupportUndoDelete" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LegacyAllowPartialDownloadIfAp2Mismatch" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LegacyKeepObjectTableGaps" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LegacyProxyCommunicationObjects" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="DeviceInfoIgnoreRunState" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="DeviceInfoIgnoreLoadedState" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="DeviceCompareAllowCompatibleManufacturerId" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LineCoupler0912NewProgrammingStyle" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Comparable" type="xs:boolean" use="optional"/>
<xs:attribute name="Reconstructable" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ApplicationProgramDynamic_t">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
</xs:annotation>
<xs:element name="ChannelIndependentBlock">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
</xs:annotation>
<xs:element name="ParameterBlock" type="knx:ComObjectParameterBlock_t"/>
<xs:element name="choose" type="knx:ChannelChoose_t"/>
<xs:element name="BinaryDataRef" type="knx:BinaryDataRef_t"/>
<xs:element name="ComObjectRefRef" type="knx:ComObjectRefRef_t"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="Channel" type="knx:ApplicationProgramChannel_t"/>
<xs:element name="choose" type="knx:DependentChannelChoose_t"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="LoadProcedures_t">
<xs:sequence>
<xs:element name="LoadProcedure" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="knx:LoadProcedure_t">
<xs:attribute name="MergeId" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="LoadProcedure_t">
<xs:choice maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
</xs:annotation>
<xs:element name="LdCtrlUnload">
<xs:complexType>
<xs:attribute name="LsmIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlLoad">
<xs:complexType>
<xs:attribute name="LsmIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlMaxLength">
<xs:complexType>
<xs:attribute name="LsmIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Size" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlClearCachedObjectTypes">
<xs:complexType>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlLoadCompleted">
<xs:complexType>
<xs:attribute name="LsmIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlAbsSegment">
<xs:complexType>
<xs:attribute name="LsmIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SegType" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Address" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Size" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Access" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MemType" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SegFlags" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlRelSegment">
<xs:complexType>
<xs:attribute name="LsmIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Size" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Mode" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Fill" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlTaskSegment">
<xs:complexType>
<xs:attribute name="LsmIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Address" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlTaskPtr">
<xs:complexType>
<xs:attribute name="LsmIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="InitPtr" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SavePtr" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SerialPtr" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlTaskCtrl1">
<xs:complexType>
<xs:attribute name="LsmIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Address" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Count" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlTaskCtrl2">
<xs:complexType>
<xs:attribute name="LsmIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Callback" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Address" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Seg0" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Seg1" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlWriteProp">
<xs:complexType>
<xs:attribute name="ObjIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PropId" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="StartElement" use="optional" default="1">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="4095"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Count" use="optional" default="1">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:maxInclusive value="4095"/>
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Verify" type="xs:boolean" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="InlineData" type="xs:hexBinary" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlCompareProp">
<xs:complexType>
<xs:attribute name="ObjIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PropId" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="StartElement" use="optional" default="1">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="4095"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Count" use="optional" default="1">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="4095"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="InlineData" type="xs:hexBinary" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlLoadImageProp">
<xs:complexType>
<xs:attribute name="ObjIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PropId" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Count" use="optional" default="1">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="4095"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="StartElement" use="optional" default="1">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="4095"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlInvokeFunctionProp">
<xs:complexType>
<xs:attribute name="ObjIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PropId" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="InlineData" type="xs:hexBinary" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlReadFunctionProp">
<xs:complexType>
<xs:attribute name="ObjIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PropId" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlWriteMem">
<xs:complexType>
<xs:attribute name="AddressSpace" type="knx:LdCtrlMemAddrSpace_t" use="optional" default="Standard">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Address" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Size" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Verify" type="xs:boolean" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="InlineData" type="xs:hexBinary" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlCompareMem">
<xs:complexType>
<xs:attribute name="AddressSpace" type="knx:LdCtrlMemAddrSpace_t" use="optional" default="Standard">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Address" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Size" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="InlineData" type="xs:hexBinary" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlLoadImageMem">
<xs:complexType>
<xs:attribute name="AddressSpace" type="knx:LdCtrlMemAddrSpace_t" use="optional" default="Standard">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Address" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Size" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlWriteRelMem">
<xs:complexType>
<xs:attribute name="ObjIdx" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Offset" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Size" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Verify" type="xs:boolean" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="InlineData" type="xs:hexBinary" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlCompareRelMem">
<xs:complexType>
<xs:attribute name="ObjIdx" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Offset" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Size" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="InlineData" type="xs:hexBinary" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlLoadImageRelMem">
<xs:complexType>
<xs:attribute name="ObjIdx" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Offset" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Size" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlConnect">
<xs:complexType>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlDisconnect">
<xs:complexType>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlRestart">
<xs:complexType>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlDelay">
<xs:complexType>
<xs:attribute name="MilliSeconds" type="xs:unsignedShort" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlSetControlVariable">
<xs:complexType>
<xs:attribute name="Name" type="knx:LdCtrlControlVariable_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="xs:boolean" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlMapError">
<xs:complexType>
<xs:attribute name="LdCtrlFilter" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OriginalError" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MappedError" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlProgressText">
<xs:complexType>
<xs:attribute name="TextId" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlDeclarePropDesc">
<xs:complexType>
<xs:attribute name="ObjIdx" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PropId" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PropType" type="knx:PropType_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxElements" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ReadAccess" type="knx:AccessLevel_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="WriteAccess" type="knx:AccessLevel_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Writable" type="xs:boolean" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlClearLCFilterTable">
<xs:complexType>
<xs:attribute name="AppliesTo" type="knx:LdCtrlProcType_t" use="optional" default="auto">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UseFunctionProp" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="LdCtrlMerge">
<xs:complexType>
<xs:attribute name="MergeId" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:complexType name="Fixup_t">
<xs:sequence>
<xs:element name="Offset" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="65535"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:attribute name="FunctionRef" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="CodeSegment" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="BinaryData_t">
<xs:sequence>
<xs:element name="Data" type="xs:base64Binary" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Name" type="knx:String50_t" use="required"/>
<xs:attribute name="Id" type="xs:ID" use="required"/>
</xs:complexType>
<xs:complexType name="ParameterType_t">
<xs:choice>
<xs:element name="TypeNumber">
<xs:complexType>
<xs:attribute name="SizeInBit" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="32"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Type" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="signedInt"/>
<xs:enumeration value="unsignedInt"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="minInclusive" type="xs:long" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxInclusive" type="xs:long" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UIHint" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Slider"/>
<xs:enumeration value="CheckBox"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="TypeFloat">
<xs:complexType>
<xs:attribute name="Encoding" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="DPT 9"/>
<xs:enumeration value="IEEE-754 Single"/>
<xs:enumeration value="IEEE-754 Double"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="minInclusive" type="xs:double" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxInclusive" type="xs:double" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UIHint" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Slider"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DisplayFormat" type="knx:FloatFormat_t" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="TypeRestriction">
<xs:complexType>
<xs:sequence>
<xs:element name="Enumeration" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="required"/>
<xs:attribute name="Value" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayOrder" type="xs:int" use="optional"/>
<xs:attribute name="BinaryValue" type="xs:base64Binary" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Base" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Value"/>
<xs:enumeration value="BinaryValue"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="SizeInBit" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="TypeText">
<xs:complexType>
<xs:attribute name="SizeInBit" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="8"/>
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Pattern" type="knx:Regex_t" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="TypeTime">
<xs:complexType>
<xs:attribute name="SizeInBit" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="8"/>
<xs:maxInclusive value="64"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Unit" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Hours"/>
<xs:enumeration value="Minutes"/>
<xs:enumeration value="Seconds"/>
<xs:enumeration value="HundredMilliseconds"/>
<xs:enumeration value="TenMilliseconds"/>
<xs:enumeration value="Milliseconds"/>
<xs:enumeration value="PackedSecondsAndMilliseconds"/>
<xs:enumeration value="PackedDaysHoursMinutesAndSeconds"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="minInclusive" type="xs:long" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxInclusive" type="xs:long" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UIHint" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Time_ss"/>
<xs:enumeration value="Time_ssf"/>
<xs:enumeration value="Time_ssff"/>
<xs:enumeration value="Time_ssfff"/>
<xs:enumeration value="Time_hhmm"/>
<xs:enumeration value="Time_hhmmss"/>
<xs:enumeration value="Time_hhmmssf"/>
<xs:enumeration value="Time_hhmmssff"/>
<xs:enumeration value="Time_hhmmssfff"/>
<xs:enumeration value="Time_dhh"/>
<xs:enumeration value="Time_dhhmm"/>
<xs:enumeration value="Time_dhhmmss"/>
<xs:enumeration value="Duration_hhmm"/>
<xs:enumeration value="Duration_hhmmss"/>
<xs:enumeration value="Duration_hhmmssf"/>
<xs:enumeration value="Duration_hhmmssff"/>
<xs:enumeration value="Duration_hhmmssfff"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="TypeDate">
<xs:complexType>
<xs:attribute name="Encoding" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="DPT 11"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DisplayTheYear" type="xs:boolean" use="optional" default="true">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="TypeIPAddress">
<xs:complexType>
<xs:attribute name="AddressType" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="HostAddress"/>
<xs:enumeration value="GatewayAddress"/>
<xs:enumeration value="UnicastAddress"/>
<xs:enumeration value="BroadcastAddress"/>
<xs:enumeration value="MulticastAddress"/>
<xs:enumeration value="SubnetMask"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Version" use="optional" default="IPv4">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="IPv4"/>
<xs:enumeration value="IPv6"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="TypePicture">
<xs:complexType>
<xs:attribute name="RefId" type="knx:IDREF" use="required"/>
<xs:attribute name="HorizontalAlignment" type="knx:HorizontalAlignment_t" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="TypeNone"/>
</xs:choice>
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="knx:String50_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="InternalDescription" type="xs:string" use="optional"/>
<xs:attribute name="Plugin" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="Parameter_t">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element name="Memory">
<xs:complexType>
<xs:attribute name="CodeSegment" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Offset" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="BitOffset" type="knx:BitOffset_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Property">
<xs:complexType>
<xs:attribute name="ObjectIndex" type="xs:unsignedByte" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ObjectType" type="xs:unsignedShort" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Occurrence" type="xs:unsignedByte" use="optional" default="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PropertyId" type="xs:unsignedByte" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Offset" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="BitOffset" type="knx:BitOffset_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="LegacyPatchAlways" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="knx:String50_t" use="required"/>
<xs:attribute name="ParameterType" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="required"/>
<xs:attribute name="SuffixText" type="knx:LanguageDependentString20_t" use="optional"/>
<xs:attribute name="Access" type="knx:Access_t" use="optional" default="ReadWrite"/>
<xs:attribute name="Value" type="knx:Value_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="UnionParameter_t">
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="knx:String50_t" use="required"/>
<xs:attribute name="ParameterType" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Offset" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:maxInclusive value="1048575"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="BitOffset" type="knx:BitOffset_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="required"/>
<xs:attribute name="SuffixText" type="knx:LanguageDependentString20_t" use="optional"/>
<xs:attribute name="Access" type="knx:Access_t" use="optional" default="ReadWrite"/>
<xs:attribute name="Value" type="knx:Value_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DefaultUnionParameter" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="ParameterRef_t">
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RefId" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="knx:String50_t" use="optional"/>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="optional"/>
<xs:attribute name="SuffixText" type="knx:LanguageDependentString20_t" use="optional"/>
<xs:attribute name="Tag" type="knx:String50_t" use="optional"/>
<xs:attribute name="DisplayOrder" type="xs:int" use="optional"/>
<xs:attribute name="Access" type="knx:Access_t" use="optional"/>
<xs:attribute name="Value" type="knx:Value_t" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="ParameterCalculation_t">
<xs:sequence>
<xs:element name="RLTransformation" type="xs:string">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LRTransformation" type="xs:string">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LParameters">
<xs:complexType>
<xs:sequence>
<xs:element name="ParameterRefRef" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="knx:ParameterRefRef_t">
<xs:attribute name="AliasName" type="knx:String50_t" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RParameters">
<xs:complexType>
<xs:sequence>
<xs:element name="ParameterRefRef" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant set</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="knx:ParameterRefRef_t">
<xs:attribute name="AliasName" type="knx:String50_t" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Language" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="VBScript"/>
<xs:enumeration value="JavaScript"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Name" type="knx:String50_t" use="required"/>
</xs:complexType>
<xs:complexType name="ComObject_t">
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="knx:String50_t" use="required"/>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="required"/>
<xs:attribute name="Number" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FunctionText" type="knx:LanguageDependentString255_t" use="required"/>
<xs:attribute name="VisibleDescription" type="knx:LanguageDependentString_t" use="optional"/>
<xs:attribute name="Priority" type="knx:ComObjectPriority_t" use="optional" default="Low"/>
<xs:attribute name="ObjectSize" type="knx:ComObjectSize_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ReadFlag" type="knx:Enable_t" use="required"/>
<xs:attribute name="WriteFlag" type="knx:Enable_t" use="required"/>
<xs:attribute name="CommunicationFlag" type="knx:Enable_t" use="required"/>
<xs:attribute name="TransmitFlag" type="knx:Enable_t" use="required"/>
<xs:attribute name="UpdateFlag" type="knx:Enable_t" use="required"/>
<xs:attribute name="ReadOnInitFlag" type="knx:Enable_t" use="required"/>
<xs:attribute name="DatapointType" type="knx:IDREFS" use="optional"/>
</xs:complexType>
<xs:complexType name="ApplicationProgramChannel_t">
<xs:choice maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
</xs:annotation>
<xs:element name="ParameterBlock" type="knx:ComObjectParameterBlock_t"/>
<xs:element name="ComObjectRefRef" type="knx:ComObjectRefRef_t"/>
<xs:element name="BinaryDataRef" type="knx:BinaryDataRef_t"/>
<xs:element name="choose" type="knx:ChannelChoose_t"/>
</xs:choice>
<xs:attribute name="Name" type="knx:String50_t" use="required"/>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="optional"/>
<xs:attribute name="Number" type="knx:String50_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="When_t">
<xs:attribute name="test" type="knx:Condition_t" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="default" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="ComObjectParameterChoose_t">
<xs:sequence>
<xs:element name="when" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="knx:When_t">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
</xs:annotation>
<xs:element name="ParameterSeparator" type="knx:ParameterSeparator_t"/>
<xs:element name="ParameterRefRef" type="knx:ParameterRefRef_t"/>
<xs:element name="choose" type="knx:ComObjectParameterChoose_t"/>
<xs:element name="BinaryDataRef" type="knx:BinaryDataRef_t"/>
<xs:element name="ComObjectRefRef" type="knx:ComObjectRefRef_t"/>
<xs:element name="Assign" type="knx:Assign_t"/>
<xs:element name="ParameterBlockRename" type="knx:ParameterBlockRename_t"/>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="ParamRefId" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="ComObjectParameterBlock_t">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
</xs:annotation>
<xs:element name="ParameterSeparator" type="knx:ParameterSeparator_t"/>
<xs:element name="ParameterRefRef" type="knx:ParameterRefRef_t"/>
<xs:element name="choose" type="knx:ComObjectParameterChoose_t"/>
<xs:element name="BinaryDataRef" type="knx:BinaryDataRef_t"/>
<xs:element name="ComObjectRefRef" type="knx:ComObjectRefRef_t"/>
<xs:element name="Assign" type="knx:Assign_t"/>
</xs:choice>
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="knx:String50_t" use="optional"/>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="optional"/>
<xs:attribute name="Access" type="knx:Access_t" use="optional" default="ReadWrite"/>
<xs:attribute name="HelpTopic" type="xs:unsignedInt" use="optional"/>
<xs:attribute name="InternalDescription" type="xs:string" use="optional"/>
<xs:attribute name="ParamRefId" type="knx:IDREF" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="BinaryDataRef_t">
<xs:sequence>
<xs:element name="Data" type="xs:base64Binary" minOccurs="0">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="RefId" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="ComObjectRef_t">
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RefId" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="knx:String50_t" use="optional"/>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="optional"/>
<xs:attribute name="Tag" type="knx:String50_t" use="optional"/>
<xs:attribute name="FunctionText" type="knx:LanguageDependentString255_t" use="optional"/>
<xs:attribute name="VisibleDescription" type="knx:LanguageDependentString_t" use="optional"/>
<xs:attribute name="Priority" type="knx:ComObjectPriority_t" use="optional"/>
<xs:attribute name="ObjectSize" type="knx:ComObjectSize_t" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ReadFlag" type="knx:Enable_t" use="optional"/>
<xs:attribute name="WriteFlag" type="knx:Enable_t" use="optional"/>
<xs:attribute name="CommunicationFlag" type="knx:Enable_t" use="optional"/>
<xs:attribute name="TransmitFlag" type="knx:Enable_t" use="optional"/>
<xs:attribute name="UpdateFlag" type="knx:Enable_t" use="optional"/>
<xs:attribute name="ReadOnInitFlag" type="knx:Enable_t" use="optional"/>
<xs:attribute name="DatapointType" type="knx:IDREFS" use="optional"/>
</xs:complexType>
<xs:complexType name="ComObjectRefRef_t">
<xs:attribute name="RefId" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="ParameterRefRef_t">
<xs:attribute name="RefId" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="ParameterSeparator_t">
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="required"/>
<xs:attribute name="Access" type="knx:Access_t" use="optional" default="ReadWrite"/>
</xs:complexType>
<xs:complexType name="Assign_t">
<xs:attribute name="TargetParamRefRef" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="SourceParamRefRef" type="knx:IDREF" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Value" type="knx:Value_t" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="ChannelChoose_t">
<xs:sequence>
<xs:element name="when" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="knx:When_t">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
</xs:annotation>
<xs:element name="ParameterBlock" type="knx:ComObjectParameterBlock_t"/>
<xs:element name="ComObjectRefRef" type="knx:ComObjectRefRef_t"/>
<xs:element name="BinaryDataRef" type="knx:BinaryDataRef_t"/>
<xs:element name="choose" type="knx:ChannelChoose_t"/>
<xs:element name="ParameterBlockRename" type="knx:ParameterBlockRename_t"/>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="ParamRefId" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="DependentChannelChoose_t">
<xs:sequence>
<xs:element name="when" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="knx:When_t">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
</xs:annotation>
<xs:element name="Channel" type="knx:ApplicationProgramChannel_t"/>
<xs:element name="choose" type="knx:DependentChannelChoose_t"/>
<xs:element name="ParameterBlockRename" type="knx:ParameterBlockRename_t"/>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="ParamRefId" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="ParameterBlockRename_t">
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RefId" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="knx:String50_t" use="optional"/>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="required"/>
</xs:complexType>
<xs:complexType name="Hardware_t">
<xs:sequence>
<xs:element name="Products" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Product" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Baggages" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Baggage" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="RefId" type="knx:IDREF" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Attributes" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Attribute" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
<xs:attribute name="Name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="CatalogName"/>
<xs:enumeration value="Series"/>
<xs:enumeration value="Colour"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Value" type="knx:LanguageDependentString255_t" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RegistrationInfo" type="knx:RegistrationInfo_t" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Text" type="knx:LanguageDependentString255_t" use="required"/>
<xs:attribute name="OrderNumber" type="knx:String50_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IsRailMounted" type="xs:boolean" use="required"/>
<xs:attribute name="WidthInMillimeter" type="xs:float" use="optional"/>
<xs:attribute name="VisibleDescription" type="knx:LanguageDependentString_t" use="optional"/>
<xs:attribute name="DefaultLanguage" type="xs:language" use="optional"/>
<xs:attribute name="NonRegRelevantDataVersion" type="xs:unsignedShort" use="optional" default="0"/>
<xs:attribute name="Hash" type="xs:base64Binary" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Hardware2Programs" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Hardware2Program" type="knx:Hardware2Program_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="SerialNumber" type="knx:String50_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VersionNumber" type="knx:HardwareVersionNumber" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="BusCurrent" type="xs:float" use="optional"/>
<xs:attribute name="IsAccessory" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HasIndividualAddress" type="xs:boolean" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HasApplicationProgram" type="xs:boolean" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="HasApplicationProgram2" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IsPowerSupply" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IsChoke" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IsCoupler" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IsPowerLineRepeater" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IsPowerLineSignalFilter" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IsCable" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IsIPEnabled" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OriginalManufacturer" type="knx:IDREF" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="NoDownloadWithoutPlugin" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="NonRegRelevantDataVersion" type="xs:unsignedShort" use="optional" default="0"/>
</xs:complexType>
<xs:complexType name="Hardware2Program_t">
<xs:sequence>
<xs:element name="ApplicationProgramRef" type="knx:ApplicationProgramRef_t" minOccurs="0" maxOccurs="2">
<xs:annotation>
<xs:documentation>registration-relevant list</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RegistrationInfo" type="knx:RegistrationInfo_t" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MediumTypes" type="knx:IDREFS" use="optional"/>
<xs:attribute name="Hash" type="xs:base64Binary" use="optional"/>
<xs:attribute name="CheckSums" type="xs:base64Binary" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LoadedImage" type="xs:base64Binary" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="ApplicationProgramRef_t">
<xs:attribute name="RefId" type="knx:IDREF" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="RegistrationInfo_t">
<xs:attribute name="RegistrationStatus" type="knx:RegistrationStatus_t" use="required">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RegistrationNumber" type="knx:RegistrationNumber_t" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="OriginalRegistrationNumber" type="knx:RegistrationNumber_t" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RegistrationDate" type="xs:date" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RegistrationSignature" type="xs:base64Binary" use="optional">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="RegistrationKey" use="optional" default="knxconv">
<xs:annotation>
<xs:documentation>registration-relevant</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="knxconv"/>
<xs:enumeration value="knxcert"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="CatalogSection_t">
<xs:sequence>
<xs:element name="CatalogSection" type="knx:CatalogSection_t" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="CatalogItem" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Name" type="knx:LanguageDependentString255_t" use="required"/>
<xs:attribute name="Number" type="xs:int" use="required"/>
<xs:attribute name="VisibleDescription" type="knx:LanguageDependentString_t" use="optional"/>
<xs:attribute name="ProductRefId" type="knx:IDREF" use="required"/>
<xs:attribute name="Hardware2ProgramRefId" type="knx:IDREF" use="optional"/>
<xs:attribute name="DefaultLanguage" type="xs:language" use="optional"/>
<xs:attribute name="MediumTypes" type="knx:IDREFS" use="optional"/>
<xs:attribute name="NonRegRelevantDataVersion" type="xs:unsignedShort" use="optional" default="0"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Name" type="knx:LanguageDependentString255_t" use="required"/>
<xs:attribute name="Number" type="knx:String20_t" use="required"/>
<xs:attribute name="VisibleDescription" type="knx:LanguageDependentString_t" use="optional"/>
<xs:attribute name="DefaultLanguage" type="xs:language" use="optional"/>
<xs:attribute name="NonRegRelevantDataVersion" type="xs:unsignedShort" use="optional" default="0"/>
</xs:complexType>
<xs:complexType name="LanguageData_t">
<xs:sequence>
<xs:element name="TranslationUnit" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="TranslationElement" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Translation" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="AttributeName" type="xs:string" use="required"/>
<xs:attribute name="Text" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="RefId" type="knx:IDREF" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="RefId" type="knx:IDREF" use="required"/>
<xs:attribute name="Version" type="xs:int" use="optional" default="0"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Identifier" type="xs:language" use="required"/>
</xs:complexType>
<!-- Project data -->
<xs:complexType name="Project_t">
<xs:sequence>
<xs:element name="ProjectInformation" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="HistoryEntries" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="HistoryEntry" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Date" type="xs:dateTime" use="required"/>
<xs:attribute name="User" type="knx:String50_t" use="optional"/>
<xs:attribute name="Text" type="xs:string" use="required"/>
<xs:attribute name="Detail" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ToDoItems" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ToDoItem" type="knx:ToDoItem_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ProjectTraces" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ProjectTrace" type="knx:ProjectTrace_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="knx:String50_t" use="required"/>
<xs:attribute name="GroupAddressStyle" type="knx:GroupAddressStyle_t" use="required"/>
<xs:attribute name="ProjectNumber" type="knx:String50_t" use="optional"/>
<xs:attribute name="ContractNumber" type="knx:String50_t" use="optional"/>
<xs:attribute name="LastModified" type="xs:dateTime" use="optional"/>
<xs:attribute name="ProjectStart" type="xs:dateTime" use="optional"/>
<xs:attribute name="ProjectEnd" type="xs:dateTime" use="optional"/>
<xs:attribute name="ProjectId" use="optional">
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:maxInclusive value="4095"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ProjectPassword" type="knx:String20_t" use="optional"/>
<xs:attribute name="Comment" type="xs:string" use="optional"/>
<xs:attribute name="CompletionStatus" type="knx:CompletionStatus_t" use="optional" default="Undefined"/>
<xs:attribute name="ProjectTracingLevel" type="knx:ProjectTracingLevel_t" use="optional" default="None"/>
<xs:attribute name="ProjectTracingPassword" type="knx:String20_t" use="optional"/>
<xs:attribute name="Hide16BitGroupsFromLegacyPlugins" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="CodePage" type="knx:TextEncoding_t" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="Installations" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Installation" maxOccurs="16">
<xs:complexType>
<xs:sequence>
<xs:element name="Topology" type="knx:Topology_t"/>
<xs:element name="Buildings" type="knx:Buildings_t"/>
<xs:element name="GroupAddresses" type="knx:GroupAddresses_t"/>
<xs:element name="Trades" type="knx:Trades_t" minOccurs="0"/>
<xs:element name="BusAccess" type="knx:BusAccess_t" minOccurs="0" maxOccurs="1"/>
<xs:element name="SplitInfos" type="knx:SplitInfos_t" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Name" type="knx:String50_t" use="required"/>
<xs:attribute name="InstallationId" use="optional">
<xs:simpleType>
<xs:restriction base="xs:unsignedShort">
<xs:maxInclusive value="15"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="BCUKey" type="xs:unsignedLong" use="optional" default="4294967295"/>
<xs:attribute name="IPRoutingMulticastAddress" type="knx:Ipv4Address_t" use="optional" default="224.0.23.12"/>
<xs:attribute name="DefaultLine" type="xs:string" use="optional"/>
<xs:attribute name="CompletionStatus" type="knx:CompletionStatus_t" use="optional" default="Undefined"/>
<xs:attribute name="SplitType" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="Master"/>
<xs:enumeration value="Split"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="UserFiles" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="UserFile" type="knx:UserFile_t" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AddInData" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="AddInData" type="knx:AddInData_t" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required"/>
</xs:complexType>
<xs:complexType name="SplitInfos_t">
<xs:sequence>
<xs:element name="SplitInfo" type="knx:SplitInfo_t" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SplitInfo_t">
<xs:attribute name="ObjectPath" type="xs:string" use="required"/>
<xs:attribute name="Cookie" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="Topology_t">
<xs:sequence>
<xs:element name="Area" minOccurs="0" maxOccurs="16">
<xs:complexType>
<xs:sequence>
<xs:element name="Line" minOccurs="0" maxOccurs="16">
<xs:complexType>
<xs:sequence>
<xs:element name="DeviceInstance" type="knx:DeviceInstance_t" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="BusAccess" type="knx:BusAccess_t" minOccurs="0" maxOccurs="1"/>
<xs:element name="AdditionalGroupAddresses" minOccurs="0">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="GroupAddress">
<xs:complexType>
<xs:attribute name="Address" type="xs:unsignedShort" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="Address" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="15"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="MediumTypeRefId" type="knx:IDREF" use="required"/>
<xs:attribute name="Comment" type="xs:string" use="optional"/>
<xs:attribute name="DomainAddress" type="xs:unsignedLong" use="optional"/>
<xs:attribute name="DomainAddressIsChecked" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="IPRoutingMulticastAddress" type="knx:Ipv4Address_t" use="optional" default="224.0.23.12"/>
<xs:attribute name="MulticastTTL" type="xs:unsignedByte" use="optional" default="16"/>
<xs:attribute name="CompletionStatus" type="knx:CompletionStatus_t" use="optional"/>
<xs:attribute name="Description" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="Address" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="15"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Comment" type="xs:string" use="optional"/>
<xs:attribute name="CompletionStatus" type="knx:CompletionStatus_t" use="optional"/>
<xs:attribute name="Description" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="UnassignedDevices" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="DeviceInstance" type="knx:DeviceInstance_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DeviceInstance_t">
<xs:sequence>
<xs:element name="ParameterInstanceRefs" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ParameterInstanceRef" type="knx:ParameterInstanceRef_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ComObjectInstanceRefs" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ComObjectInstanceRef" type="knx:ComObjectInstanceRef_t" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AdditionalAddresses" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Address" maxOccurs="254">
<xs:simpleType>
<xs:restriction base="xs:unsignedByte">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BinaryData" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="BinaryData" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Data" type="xs:base64Binary" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="optional"/>
<xs:attribute name="RefId" type="knx:IDREF" use="optional"/>
<xs:attribute name="Name" type="knx:String50_t" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IPConfig" type="knx:IPConfig_t" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="Name" type="knx:String255_t" use="optional"/>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="ProductRefId" type="knx:IDREF" use="required"/>
<xs:attribute name="Hardware2ProgramRefId" type="knx:IDREF" use="optional"/>
<xs:attribute name="Address" use="optional">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Comment" type="xs:string" use="optional"/>
<xs:attribute name="LastModified" type="xs:dateTime" use="optional"/>
<xs:attribute name="LastDownload" type="xs:dateTime" use="optional"/>
<xs:attribute name="InstallationHints" type="xs:string" use="optional"/>
<xs:attribute name="CompletionStatus" type="knx:CompletionStatus_t" use="optional" default="Undefined"/>
<xs:attribute name="IndividualAddressLoaded" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="ApplicationProgramLoaded" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="ParametersLoaded" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="CommunicationPartLoaded" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="MediumConfigLoaded" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="LoadedImage" type="xs:base64Binary" use="optional"/>
<xs:attribute name="Description" type="xs:string" use="optional"/>
<xs:attribute name="CheckSums" type="xs:base64Binary" use="optional"/>
<xs:attribute name="IsCommunicationObjectVisibilityCalculated" type="xs:boolean" use="optional"/>
<xs:attribute name="Broken" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="SerialNumber" type="xs:base64Binary" use="optional"/>
<xs:attribute name="UniqueId" type="knx:Guid_t" use="optional"/>
</xs:complexType>
<xs:complexType name="DeviceInstanceRef_t">
<xs:attribute name="RefId" type="knx:IDREF" use="required"/>
</xs:complexType>
<xs:complexType name="ParameterInstanceRef_t">
<xs:attribute name="Id" type="xs:ID" use="optional"/>
<xs:attribute name="RefId" type="knx:IDREF" use="required"/>
<xs:attribute name="Value" type="knx:Value_t" use="optional"/>
</xs:complexType>
<xs:complexType name="ComObjectInstanceRef_t">
<xs:sequence>
<xs:element name="Connectors" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Send">
<xs:complexType>
<xs:attribute name="GroupAddressRefId" type="knx:IDREF" use="required"/>
<xs:attribute name="Acknowledge" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
<xs:element name="Receive" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="GroupAddressRefId" type="knx:IDREF" use="required"/>
<xs:attribute name="Acknowledge" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
<xs:attribute name="RefId" type="knx:IDREF" use="required"/>
<xs:attribute name="Text" type="knx:String255_t" use="optional"/>
<xs:attribute name="FunctionText" type="knx:String255_t" use="optional"/>
<xs:attribute name="Priority" type="knx:ComObjectPriority_t" use="optional"/>
<xs:attribute name="ReadFlag" type="knx:Enable_t" use="optional"/>
<xs:attribute name="WriteFlag" type="knx:Enable_t" use="optional"/>
<xs:attribute name="CommunicationFlag" type="knx:Enable_t" use="optional"/>
<xs:attribute name="TransmitFlag" type="knx:Enable_t" use="optional"/>
<xs:attribute name="UpdateFlag" type="knx:Enable_t" use="optional"/>
<xs:attribute name="ReadOnInitFlag" type="knx:Enable_t" use="optional"/>
<xs:attribute name="DatapointType" type="knx:IDREFS" use="optional"/>
<xs:attribute name="Description" type="xs:string" use="optional"/>
<xs:attribute name="IsActive" type="xs:boolean" use="optional"/>
</xs:complexType>
<xs:complexType name="GroupRange_t">
<xs:sequence>
<xs:element name="GroupRange" type="knx:GroupRange_t" minOccurs="0" maxOccurs="65535"/>
<xs:element name="GroupAddress" type="knx:GroupAddress_t" minOccurs="0" maxOccurs="65535"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="RangeStart" type="xs:unsignedShort" use="required"/>
<xs:attribute name="RangeEnd" type="xs:unsignedShort" use="required"/>
<xs:attribute name="Unfiltered" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="Description" type="xs:string" use="optional"/>
<xs:attribute name="Comment" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="GroupAddresses_t">
<xs:sequence>
<xs:element name="GroupRanges">
<xs:complexType>
<xs:sequence>
<xs:element name="GroupRange" type="knx:GroupRange_t" minOccurs="0" maxOccurs="65535"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BusAccess_t">
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Edi" type="knx:Guid_t" use="required"/>
<xs:attribute name="Parameter" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="GroupAddress_t">
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Address" use="required">
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="65535"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="Unfiltered" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="Central" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="Global" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="DatapointType" type="knx:IDREFS" use="optional"/>
<xs:attribute name="Description" type="xs:string" use="optional"/>
<xs:attribute name="Comment" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="Buildings_t">
<xs:sequence>
<xs:element name="BuildingPart" type="knx:BuildingPart_t" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BuildingPart_t">
<xs:sequence>
<xs:element name="BuildingPart" type="knx:BuildingPart_t" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DeviceInstanceRef" type="knx:DeviceInstanceRef_t" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="required"/>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="Type" type="knx:BuildingPartType_t" use="required"/>
<xs:attribute name="Number" type="knx:String255_t" use="optional"/>
<xs:attribute name="Comment" type="xs:string" use="optional"/>
<xs:attribute name="CompletionStatus" type="knx:CompletionStatus_t" use="optional" default="Undefined"/>
<xs:attribute name="DefaultLine" type="xs:string" use="optional"/>
<xs:attribute name="Description" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="Trades_t">
<xs:sequence>
<xs:element name="Trade" type="knx:Trade_t" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Trade_t">
<xs:sequence>
<xs:element name="Trade" type="knx:Trade_t" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="DeviceInstanceRef" type="knx:DeviceInstanceRef_t" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
<xs:attribute name="Name" type="knx:String255_t" use="required"/>
<xs:attribute name="Number" type="knx:String255_t" use="optional"/>
<xs:attribute name="Comment" type="xs:string" use="optional"/>
<xs:attribute name="CompletionStatus" type="knx:CompletionStatus_t" use="optional" default="Undefined"/>
<xs:attribute name="Description" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="ProjectTrace_t">
<xs:attribute name="Date" type="xs:dateTime" use="required"/>
<xs:attribute name="UserName" type="xs:string" use="required"/>
<xs:attribute name="Comment" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="ToDoItem_t">
<xs:attribute name="Description" type="xs:string" use="required"/>
<xs:attribute name="ObjectPath" type="xs:string" use="optional"/>
<xs:attribute name="Status" type="knx:ToDoStatus_t" use="required"/>
</xs:complexType>
<xs:complexType name="UserFile_t">
<xs:attribute name="Filename" type="knx:String255_t" use="required"/>
<xs:attribute name="Comment" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="AddInData_t">
<xs:attribute name="AddInId" type="knx:Guid_t" use="required"/>
<xs:attribute name="Name" type="knx:String50_t" use="required"/>
</xs:complexType>
<xs:complexType name="IPConfig_t">
<xs:attribute name="Assign" type="knx:IPConfigAssign_t" use="optional" default="Auto"/>
<xs:attribute name="IPAddress" type="knx:Ipv4Address_t" use="optional"/>
<xs:attribute name="SubnetMask" type="knx:Ipv4Address_t" use="optional"/>
<xs:attribute name="DefaultGateway" type="knx:Ipv4Address_t" use="optional"/>
<xs:attribute name="MACAddress" type="knx:String50_t" use="optional"/>
</xs:complexType>
</xs:schema>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment