XML DataSource Schema
<?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.schneider-eletric.com/Platform/PSI/DataSource/PersistenceCache/V1/" xmlns:dsps="http://www.schneider-electric/Platform/PSI/DataSource/PersistenceCache/V1/" elementFormDefault="qualified" targetNamespace="http://www.schneider-electric.com/Platform/PSI/DataSource/PersistenceCache/V1/"> <xs:simpleType name="DataType"> <xs:restriction base="xs:string"> <xs:enumeration value="Boolean" /> <xs:enumeration value="SByte" /> <xs:enumeration value="Byte" /> <xs:enumeration value="Char" /> <xs:enumeration value="Double" /> <xs:enumeration value="Int16" /> <xs:enumeration value="Int32" /> <xs:enumeration value="Int64" /> <xs:enumeration value="Single" /> <xs:enumeration value="String" /> <xs:enumeration value="UInt16" /> <xs:enumeration value="UInt32" /> <xs:enumeration value="UInt64" /> <xs:enumeration value="Decimal" /> <xs:enumeration value="DateTime" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="ElementName" <xs:restriction base="xs:string"> <xs:enumeration value="" /> <xs:enumeration value="Field" /> <xs:enumeration value="Valid" /> <xs:enumeration value="Override" /> <xs:enumeration value="OverrideMode" /> <xs:enumeration value="ControlMode" /> <xs:enumeration value="Status" /> </xs:restriction> </xs:simpleType> <xs:complexType name="DataSource"> <xs:sequence minOccurs="1" maxOccurs="1"> <xs:element name="properties" type="PropertyCollection"> <xs:unique name="UniquePropertyName"> <xs:selector xpath="dsps:property" /> <xs:field xpath="@name" /> </xs:unique> </xs:element> <xs:element name="tags" type="TagCollection"> <xs:unique name="UniqueTagName"> <xs:selector xpath="dsps:tag" /> <xs:field xpath="@name" /> </xs:unique> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="PropertyCollection"> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="property" type="Property" /> </xs:sequence> </xs:complexType> <xs:complexType name="TagCollection"> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="tag" type="Tag" /> </xs:sequence> </xs:complexType> <xs:complexType name="Property"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="necessary" /> <xs:attribute name="type" type="DataType" use="necessary" /> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="TagElement"> <xs:sequence minOccurs="1" maxOccurs="1"> <xs:element name="v" type="Value" /> <xs:element name="q" type="Quality" /> <xs:element name="t" type="xs:dateTime" /> <xs:element name="qt" type="xs:dateTime" /> <xs:element name="vt" type="xs:dateTime" /> </xs:sequence> <xs:attribute name="name" type="ElementName" use="necessary" /> </xs:complexType> <xs:complexType name="Value"> <xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:element name="item" type="xs:string" /> </xs:sequence> <xs:attribute name="type" type="DataType" use="necessary" /> <xs:attribute name="size" type="xs:positiveInteger" use="necessary" /> </xs:complexType>
<xs:complexType name="Quality"> <xs:sequence minOccurs="1" maxOccurs="1"> <xs:element name="generic" type="xs:integer" /> <xs:element name="specific" type="xs:integer" /> </xs:sequence> </xs:complexType> <xs:element name="datasource" type="DataSource" /> </xs:schema>