HM-SPMS/product/common/Schema/2003/SCL_SubStation.xsd

271 lines
10 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by wen (xj) -->
<!--W3C Schema for SCL language version 1 (CDV6) 2002-06-20 -->
<xs:schema targetNamespace="http://www.iec.ch/61850/2003/SCL" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.iec.ch/61850/2003/SCL" xmlns:scl="http://www.iec.ch/61850/2003/SCL" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
<xs:annotation>
<xs:documentation>COPYRIGHT IEC,2003.Version 1.0.Release 2003/09/19(Uncommented)</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="SCL_BaseTypes.xsd"/>
<xs:attributeGroup name="agVirtual">
<xs:attribute name="virtual" type="xs:boolean" use="optional" default="false"/>
</xs:attributeGroup>
<xs:complexType name="tLNodeContainer" abstract="true">
<xs:complexContent>
<xs:extension base="tNaming">
<xs:sequence>
<xs:element name="LNode" type="tLNode" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tPowerSystemResource" abstract="true">
<xs:complexContent>
<xs:extension base="tLNodeContainer"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tEquipmentContainer" abstract="true">
<xs:complexContent>
<xs:extension base="tPowerSystemResource">
<xs:sequence>
<xs:element name="PowerTransformer" type="tPowerTransformer" minOccurs="0" maxOccurs="unbounded">
<xs:unique name="uniqueWindingInPowerTransformer">
<xs:selector xpath="./scl:TransformerWinding"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
<xs:element name="GeneralEquipment" type="tGeneralEquipment" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tEquipment" abstract="true">
<xs:complexContent>
<xs:extension base="tPowerSystemResource">
<xs:attributeGroup ref="agVirtual"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tAbstractConductingEquipment" abstract="true">
<xs:complexContent>
<xs:extension base="tEquipment">
<xs:sequence>
<xs:element name="Terminal" type="tTerminal" minOccurs="0" maxOccurs="2"/>
<xs:element name="SubEquipment" type="tSubEquipment" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tConductingEquipment">
<xs:complexContent>
<xs:extension base="tAbstractConductingEquipment">
<xs:attribute name="type" type="tCommonConductingEquipmentEnum" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tSubEquipment">
<xs:complexContent>
<xs:extension base="tPowerSystemResource">
<xs:attribute name="phase" type="tPhaseEnum" use="optional" default="none"/>
<xs:attributeGroup ref="agVirtual"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tPowerTransformer">
<xs:complexContent>
<xs:extension base="tEquipment">
<xs:sequence>
<xs:element name="TransformerWinding" type="tTransformerWinding" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="type" type="tPowerTransformerEnum" use="required" fixed="PTR"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tTransformerWinding">
<xs:complexContent>
<xs:extension base="tAbstractConductingEquipment">
<xs:sequence>
<xs:element name="TapChanger" type="tTapChanger" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="type" type="tTransformerWindingEnum" use="required" fixed="PTW"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tTapChanger">
<xs:complexContent>
<xs:extension base="tPowerSystemResource">
<xs:attribute name="type" type="xs:Name" use="required" fixed="LTC"/>
<xs:attributeGroup ref="agVirtual"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tGeneralEquipment">
<xs:complexContent>
<xs:extension base="tEquipment">
<xs:attribute name="type" type="tGeneralEquipmentEnum" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tSubstation">
<xs:complexContent>
<xs:extension base="tEquipmentContainer">
<xs:sequence>
<xs:element name="VoltageLevel" type="tVoltageLevel" maxOccurs="unbounded">
<xs:unique name="uniqueBayInVoltageLevel">
<xs:selector xpath="./scl:Bay"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="uniquePowerTransformerInVoltageLevel">
<xs:selector xpath="./scl:PowerTransformer"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="uniqueGeneralEquipmentInVoltageLevel">
<xs:selector xpath="./scl:GeneralEquipment"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="uniqueChildNameInVoltageLevel">
<xs:selector xpath="./*"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
<xs:element name="Function" type="tFunction" minOccurs="0" maxOccurs="unbounded">
<xs:unique name="uniqueSubFunctionInFunction">
<xs:selector xpath="./scl:SubFunction"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="uniqueGeneralEquipmentInFunction">
<xs:selector xpath="./scl:GeneralEquipment"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tVoltageLevel">
<xs:complexContent>
<xs:extension base="tEquipmentContainer">
<xs:sequence>
<xs:element name="Voltage" type="tVoltage" minOccurs="0"/>
<xs:element name="Bay" type="tBay" maxOccurs="unbounded">
<xs:unique name="uniquePowerTransformerInBay">
<xs:selector xpath="./scl:PowerTransformer"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="uniqueConductingEquipmentInBay">
<xs:selector xpath="./scl:ConductingEquipment"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="uniqueGeneralEquipmentInBay">
<xs:selector xpath="./scl:GeneralEquipment"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="uniqueChildNameInBay">
<xs:selector xpath="./*"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tBay">
<xs:complexContent>
<xs:extension base="tEquipmentContainer">
<xs:sequence>
<xs:element name="ConductingEquipment" type="tConductingEquipment" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ConnectivityNode" type="tConnectivityNode" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tLNode">
<xs:complexContent>
<xs:extension base="tUnNaming">
<xs:attribute name="lnInst" type="tAnyName" use="optional" default='""'/>
<xs:attribute name="lnClass" type="tLNClassEnum" use="required"/>
<xs:attribute name="iedName" type="tName" use="optional" default="None"/>
<xs:attribute name="ldInst" type="tAnyName" use="optional" default='""'/>
<xs:attribute name="prefix" type="tAnyName" use="optional" default='""'/>
<xs:attribute name="lnType" type="tName" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tFunction">
<xs:complexContent>
<xs:extension base="tPowerSystemResource">
<xs:sequence>
<xs:element name="SubFunction" type="tSubFunction" minOccurs="0" maxOccurs="unbounded">
<xs:unique name="uniqueGeneralEquipmentInSubFunction">
<xs:selector xpath="./scl:GeneralEquipment"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
<xs:element name="GeneralEquipment" type="tGeneralEquipment" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tSubFunction">
<xs:complexContent>
<xs:extension base="tPowerSystemResource">
<xs:sequence>
<xs:element name="GeneralEquipment" type="tGeneralEquipment" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tConnectivityNode">
<xs:complexContent>
<xs:extension base="tLNodeContainer">
<xs:attribute name="pathName" type="tRef" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tTerminal">
<xs:complexContent>
<xs:extension base="tUnNaming">
<xs:attribute name="name" type="tAnyName" use="optional"/>
<xs:attribute name="connectivityNode" type="tRef" use="required"/>
<xs:attribute name="substationName" type="tName" use="required"/>
<xs:attribute name="voltageLevelName" type="tName" use="required"/>
<xs:attribute name="bayName" type="tName" use="required"/>
<xs:attribute name="cNodeName" type="tName" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Substation" type="tSubstation">
<xs:unique name="uniqueVoltageLevelInSubstation">
<xs:selector xpath="./scl:VoltageLevel"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="uniquePowerTransformerInSubstation">
<xs:selector xpath="./scl:PowerTransformer"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="uniqueGeneralEquipmentInSubstation">
<xs:selector xpath="./scl:GeneralEquipment"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="uniqueFunctionInSubstation">
<xs:selector xpath="./scl:Function"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:key name="ConnectivityNodeKey">
<xs:selector xpath=".//scl:ConnectivityNode"/>
<xs:field xpath="@pathName"/>
</xs:key>
<xs:unique name="uniqueLNode">
<xs:selector xpath=".//scl:LNode"/>
<xs:field xpath="@lnInst"/>
<xs:field xpath="@lnClass"/>
<xs:field xpath="@iedName"/>
<xs:field xpath="@ldInst"/>
<xs:field xpath="@prefix"/>
</xs:unique>
<xs:unique name="uniqueChildNameInSubstation">
<xs:selector xpath="./*"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
</xs:schema>