241 lines
11 KiB
XML
241 lines
11 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema targetNamespace="http://www.iec.ch/61850/2006/SCL" xmlns="http://www.iec.ch/61850/2006/SCL" xmlns:scl="http://www.iec.ch/61850/2006/SCL" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.4">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">COPYRIGHT IEC, 2005. Version 1.4. Release 2005/09/11.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:include schemaLocation="SCL_BaseTypes.xsd"/>
|
|
<xs:complexType name="tControlBlock" abstract="true">
|
|
<xs:complexContent>
|
|
<xs:extension base="tUnNaming">
|
|
<xs:sequence>
|
|
<xs:element name="Address" type="tAddress" minOccurs="0"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="ldInst" type="tName" use="required"/>
|
|
<xs:attribute name="cbName" type="tName" use="required"/>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tCommunication">
|
|
<xs:complexContent>
|
|
<xs:extension base="tUnNaming">
|
|
<xs:sequence>
|
|
<xs:element name="SubNetwork" type="tSubNetwork" maxOccurs="unbounded">
|
|
<xs:unique name="uniqueConnectedAP">
|
|
<xs:selector xpath="./scl:ConnectedAP"/>
|
|
<xs:field xpath="@iedName"/>
|
|
<xs:field xpath="@apName"/>
|
|
</xs:unique>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tSubNetwork">
|
|
<xs:complexContent>
|
|
<xs:extension base="tNaming">
|
|
<xs:sequence>
|
|
<xs:element name="BitRate" type="tBitRateInMbPerSec" minOccurs="0"/>
|
|
<xs:element name="ConnectedAP" type="tConnectedAP" maxOccurs="unbounded">
|
|
<xs:unique name="uniqueGSEinConnectedAP">
|
|
<xs:selector xpath="./scl:GSE"/>
|
|
<xs:field xpath="@cbName"/>
|
|
<xs:field xpath="@ldInst"/>
|
|
</xs:unique>
|
|
<xs:unique name="uniqueSMVinConnectedAP">
|
|
<xs:selector xpath="./scl:SMV"/>
|
|
<xs:field xpath="@cbName"/>
|
|
<xs:field xpath="@ldInst"/>
|
|
</xs:unique>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="type" type="xs:normalizedString" use="optional"/>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tConnectedAP">
|
|
<xs:complexContent>
|
|
<xs:extension base="tUnNaming">
|
|
<xs:sequence>
|
|
<xs:element name="Address" type="tAddress" minOccurs="0"/>
|
|
<xs:element name="GSE" type="tGSE" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element name="SMV" type="tSMV" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element name="PhysConn" type="tPhysConn" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="iedName" type="tName" use="required"/>
|
|
<xs:attribute name="apName" type="tName" use="required"/>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tAddress">
|
|
<xs:sequence>
|
|
<xs:element name="P" type="tP" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="tGSE">
|
|
<xs:complexContent>
|
|
<xs:extension base="tControlBlock">
|
|
<xs:sequence>
|
|
<xs:element name="MinTime" type="tDurationInMilliSec" minOccurs="0"/>
|
|
<xs:element name="MaxTime" type="tDurationInMilliSec" minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tSMV">
|
|
<xs:complexContent>
|
|
<xs:extension base="tControlBlock"/>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tPhysConn">
|
|
<xs:sequence>
|
|
<xs:element name="P" type="tP" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="type" type="xs:normalizedString" use="required"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP">
|
|
<xs:simpleContent>
|
|
<xs:extension base="tPAddr">
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_IP">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:pattern value="[0-2]?\d{1,2}\.[0-2]?\d{1,2}\.[0-2]?\d{1,2}\.[0-2]?\d{1,2}"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="IP"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_IP-SUBNET">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:pattern value="[0-2]?\d{1,2}\.[0-2]?\d{1,2}\.[0-2]?\d{1,2}\.[0-2]?\d{1,2}"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="IP-SUBNET"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_IP-GATEWAY">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:pattern value="[0-2]?\d{1,2}\.[0-2]?\d{1,2}\.[0-2]?\d{1,2}\.[0-2]?\d{1,2}"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="IP-GATEWAY"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_OSI-NSAP">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:maxLength value="40"/>
|
|
<xs:pattern value="[\d,A-F]+"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-NSAP"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_OSI-TSEL">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:maxLength value="8"/>
|
|
<xs:pattern value="[\d,A-F]+"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-TSEL"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_OSI-SSEL">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:maxLength value="16"/>
|
|
<xs:pattern value="[\d,A-F]+"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-SSEL"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_OSI-PSEL">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:maxLength value="16"/>
|
|
<xs:pattern value="[\d,A-F]+"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-PSEL"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_OSI-AP-Title">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:pattern value=""[\d,,]+""/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-AP-Title"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_OSI-AP-Invoke">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:maxLength value="5"/>
|
|
<xs:pattern value="\d+"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-AP-Invoke"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_OSI-AE-Qualifier">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:maxLength value="5"/>
|
|
<xs:pattern value="\d+"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-AE-Qualifier"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_OSI-AE-Invoke">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:maxLength value="5"/>
|
|
<xs:pattern value="\d+"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="OSI-AE-Invoke"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_MAC-Address">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:minLength value="17"/>
|
|
<xs:maxLength value="17"/>
|
|
<xs:pattern value="[\d,A-F]{2}\-[\d,A-F]{2}\-[\d,A-F]{2}\-[\d,A-F]{2}\-[\d,A-F]{2}\-[\d,A-F]{2}"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="MAC-Address"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_APPID">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:minLength value="4"/>
|
|
<xs:maxLength value="4"/>
|
|
<xs:pattern value="[\d,A-F]+"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="APPID"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_VLAN-PRIORITY">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:pattern value="[0-7]"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="VLAN-PRIORITY"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="tP_VLAN-ID">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="tP">
|
|
<xs:minLength value="3"/>
|
|
<xs:maxLength value="3"/>
|
|
<xs:pattern value="[\d,A-F]+"/>
|
|
<xs:attribute name="type" type="tPTypeEnum" use="required" fixed="VLAN-ID"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:element name="Communication" type="tCommunication">
|
|
<xs:unique name="uniqueSubNetwork">
|
|
<xs:selector xpath="./scl:SubNetwork"/>
|
|
<xs:field xpath="@name"/>
|
|
</xs:unique>
|
|
</xs:element>
|
|
</xs:schema> |