<?xml version="1.0" encoding="UTF-8"?><!-- - domain.rng - - Version 3.0 - - This work is released by the Smarthome Task Force of the HGI (Home - Gateway Initative), October 2015. - The work is created and released under the Apache License Version 2.0 . - See the license text at http://www.apache.org/licenses/LICENSE-2.0 for - full details.--><xs:schematargetNamespace="http://homegatewayinitiative.org/xml/dal/3.0"xmlns="http://homegatewayinitiative.org/xml/dal/3.0"xmlns:xs="http://www.w3.org/2001/XMLSchema"elementFormDefault="qualified"><xs:importnamespace="http://www.w3.org/XML/1998/namespace"schemaLocation="http://www.w3.org/2001/03/xml.xsd"/><xs:elementname="Domain"><xs:complexType><xs:sequence><xs:groupref="DocDef"/><xs:elementminOccurs="0"ref="Imports"/><xs:elementminOccurs="0"name="Modules"><xs:complexType><xs:sequence><xs:elementmaxOccurs="unbounded"ref="ModuleClass"/></xs:sequence></xs:complexType></xs:element><xs:elementminOccurs="0"ref="Devices"/></xs:sequence><xs:attributeref="xml:base"/><xs:attributename="id"use="required"type="xs:ID"/></xs:complexType></xs:element><xs:elementname="Imports"><xs:complexType><xs:sequence><xs:elementmaxOccurs="unbounded"ref="Domain"/></xs:sequence></xs:complexType></xs:element><xs:elementname="ModuleClass"type="ModuleDef"/><xs:elementname="Devices"><xs:complexType><xs:sequence><xs:elementmaxOccurs="unbounded"ref="Device"/></xs:sequence></xs:complexType></xs:element><xs:elementname="Device"><xs:complexType><xs:sequence><xs:groupref="DocDef"/><xs:elementminOccurs="0"ref="Properties"/><xs:elementminOccurs="0"ref="Modules"/><xs:elementminOccurs="0"ref="SubDevices"/></xs:sequence><xs:attributename="id"use="required"type="xs:Name"/></xs:complexType></xs:element><xs:elementname="SubDevices"><xs:complexType><xs:sequence><xs:elementmaxOccurs="unbounded"ref="SubDevice"/></xs:sequence></xs:complexType></xs:element><xs:elementname="SubDevice"><xs:complexType><xs:sequence><xs:groupref="DocDef"/><xs:elementminOccurs="0"ref="Properties"/><xs:elementminOccurs="0"ref="Modules"/></xs:sequence><xs:attributename="id"use="required"type="xs:Name"/></xs:complexType></xs:element><xs:elementname="Properties"><xs:complexType><xs:sequence><xs:elementmaxOccurs="unbounded"ref="Property"/></xs:sequence></xs:complexType></xs:element><xs:elementname="Property"><xs:complexType><xs:sequence><xs:groupref="DocDef"/><xs:elementref="SimpleType"/></xs:sequence><xs:attributename="name"use="required"/><xs:attributename="optional"type="xs:boolean"/><xs:attributename="value"/></xs:complexType></xs:element><xs:elementname="DataType"><xs:complexType><xs:sequence><xs:groupref="DocDef"/><xs:choice><xs:elementref="Struct"/><xs:elementref="Array"/><xs:elementref="SimpleType"/></xs:choice><xs:elementminOccurs="0"ref="Constraints"/></xs:sequence><xs:attributename="name"/><xs:attributename="unitOfMeasure"/></xs:complexType></xs:element><xs:elementname="Struct"><xs:complexType><xs:sequence><xs:elementmaxOccurs="unbounded"ref="DataType"/></xs:sequence></xs:complexType></xs:element><xs:elementname="Array"><xs:complexType><xs:sequence><xs:elementref="DataType"/></xs:sequence></xs:complexType></xs:element><xs:elementname="SimpleType"><xs:complexType><xs:attributename="type"use="required"type="BasicType"/></xs:complexType></xs:element><xs:simpleTypename="BasicType"><xs:restrictionbase="xs:token"><xs:enumerationvalue="integer"/><xs:enumerationvalue="boolean"/><xs:enumerationvalue="string"/><xs:enumerationvalue="byte"/><xs:enumerationvalue="float"/><xs:enumerationvalue="array"/><xs:enumerationvalue="enum"/><xs:enumerationvalue="date"/><xs:enumerationvalue="time"/><xs:enumerationvalue="datetime"/><xs:enumerationvalue="blob"/><xs:enumerationvalue="uri"/></xs:restriction></xs:simpleType><xs:elementname="Constraints"><xs:complexType><xs:sequence><xs:elementmaxOccurs="unbounded"ref="Constraint"/></xs:sequence></xs:complexType></xs:element><xs:elementname="Constraint"><xs:complexType><xs:groupref="DocDef"/><xs:attributename="name"use="required"/><xs:attributename="type"type="BasicType"/><xs:attributename="value"/></xs:complexType></xs:element><xs:groupname="DocText"><xs:sequence><xs:choiceminOccurs="0"maxOccurs="unbounded"><xs:elementref="em"/><xs:elementref="b"/><xs:elementref="tt"/></xs:choice></xs:sequence></xs:group><xs:elementname="em"type="xs:string"/><xs:elementname="b"type="xs:string"/><xs:elementname="tt"type="xs:string"/><!-- <Doc> element is always optional --><xs:groupname="DocDef"><xs:sequence><xs:elementminOccurs="0"ref="Doc"/></xs:sequence></xs:group><xs:elementname="Doc"><xs:complexTypemixed="true"><xs:choice><xs:groupref="DocText"/><xs:choiceminOccurs="0"maxOccurs="unbounded"><xs:elementref="p"/><xs:elementref="img"/></xs:choice></xs:choice></xs:complexType></xs:element><xs:elementname="p"><xs:complexTypemixed="true"><xs:groupref="DocText"/></xs:complexType></xs:element><xs:elementname="img"><xs:complexType><xs:sequence><xs:elementref="caption"/></xs:sequence><xs:attributename="src"use="required"/></xs:complexType></xs:element><xs:elementname="caption"type="xs:string"/><xs:complexTypename="ModuleDef"><xs:sequence><xs:elementminOccurs="0"ref="extends"/><xs:groupref="DocDef"/><xs:elementminOccurs="0"ref="Properties"/><xs:elementminOccurs="0"ref="Actions"/><xs:elementminOccurs="0"ref="Data"/><xs:elementminOccurs="0"ref="Events"/></xs:sequence><xs:attributename="name"use="required"/><xs:attributename="optional"type="xs:boolean"/></xs:complexType><xs:elementname="extends"><xs:complexType><xs:attributename="domain"use="required"type="xs:IDREF"/><xs:attributename="class"use="required"/></xs:complexType></xs:element><xs:elementname="Modules"><xs:complexType><xs:sequence><xs:elementmaxOccurs="unbounded"ref="Module"/></xs:sequence></xs:complexType></xs:element><xs:elementname="Module"type="ModuleDef"/><xs:elementname="Actions"><xs:complexType><xs:sequence><xs:elementmaxOccurs="unbounded"ref="Action"/></xs:sequence></xs:complexType></xs:element><xs:elementname="Action"><xs:complexType><xs:sequence><xs:groupref="DocDef"/><xs:elementminOccurs="0"ref="DataType"/><xs:elementminOccurs="0"ref="Args"/></xs:sequence><xs:attributename="name"use="required"/><xs:attributename="optional"type="xs:boolean"/></xs:complexType></xs:element><xs:elementname="Args"><xs:complexType><xs:sequence><xs:elementmaxOccurs="unbounded"ref="Arg"/></xs:sequence></xs:complexType></xs:element><xs:elementname="Arg"><xs:complexType><xs:sequence><xs:groupref="DocDef"/><xs:elementref="DataType"/></xs:sequence><xs:attributename="name"use="required"/></xs:complexType></xs:element><xs:elementname="Data"><xs:complexType><xs:sequence><xs:elementmaxOccurs="unbounded"ref="DataPoint"/></xs:sequence></xs:complexType></xs:element><xs:elementname="DataPoint"><xs:complexType><xs:sequence><xs:groupref="DocDef"/><xs:elementref="DataType"/></xs:sequence><xs:attributename="name"use="required"/><xs:attributename="optional"type="xs:boolean"/><xs:attributename="writable"type="xs:boolean"/><xs:attributename="readable"type="xs:boolean"/><xs:attributename="eventable"type="xs:boolean"/></xs:complexType></xs:element><xs:elementname="Events"><xs:complexType><xs:sequence><xs:elementmaxOccurs="unbounded"ref="Event"/></xs:sequence></xs:complexType></xs:element><xs:elementname="Event"><xs:complexType><xs:sequence><xs:groupref="DocDef"/><xs:elementminOccurs="0"ref="Data"/></xs:sequence><xs:attributename="name"use="required"/><xs:attributename="optional"type="xs:boolean"/></xs:complexType></xs:element></xs:schema>