8.2.1 Общая часть
Базовый язык SCL, как определено в настоящем стандарте, предназначен для специальных целей, описанных в разделе 5. Однако для выполнения дополнительных задач проектирования и разработки он может быть использован с большими или меньшими расширениями - например, дополнительными атрибутами. Кроме того, для уровня SCSM он оставляет несколько определений, зависимых от стека связи. Возможности расширения языка SCL рассмотрены в 8.2.2-8.2.7.
8.2.2 Расширения модели данных
Расширения модели данных за счет использования семантически новых LN и DO подчиняются правилам, установленным в серии стандартов МЭК 61850-7 для расширений, и определяются применением языка SCL как метаязыка модели данных, то есть идентификация элементов модели данных не появляется в самом синтаксисе языка. Область имен классов LN, атрибуты DATA и CDC описываются на языке SCL путем заявления соответствующих значений пространств имен в соответствующих атрибутах DATA. Если необходимы дополнительные базовые типы данных, они должны быть определены как расширение схемы.
8.2.3 Дополнительная семантика для существующих элементов синтаксиса
Некоторые языковые элементы SCL, такие, как desc и Text, имеют слабо выраженную семантику, которая может быть расширена за счет некоторых приложений. Некоторые элементы, такие, как элемент параметра Р, были специально оставлены открытыми. Семантика (дополнительная семантика) этих элементов должна быть определена на уровне SCSM. Это выполняется путем определения значения type (тип) для параметра Р с собственной семантикой.
8.2.4 Ограничения типов данных
Использование типов данных на основе XML schema на синтаксическом уровне позволяет ограничить диапазон некоторых значений. Ограничение использует один из разрешенных подтипов для типов, определенных в этом базовом языке.
8.2.5 Пространства имен XML
Всем элементам тегов могут быть добавлены теги (подтеги) и атрибуты. При этом они должны принадлежать заданному пространству имен XML с семантикой, заданной для всех этих элементов. Использованные пространства имен должны быть определены в главном теге (SCL). Это пространство имен не должно быть таким же, как и целевое пространство имен схемы SCL. Для частных пространств имен применяется аббревиатура внутреннего пространства имен, которая начинается со знака е. Пример стандартного расширения для компоновки однолинейной схемы или схемы связи приведен в приложении С. Пространством имени URI данной версии базового языка SCL, которое по умолчанию будет использоваться как пространство имени во всех файлах SCL, является:
xmlns:scl="http://www.iec.ch/61850/2003/SCL"
Все средства программирования, соответствующие настоящему стандарту, должны иметь возможность импортировать файл SCL с определениями пространств имен и по меньшей мере по умолчанию интерпретировать базовый язык SCL как пространство имен. Пространства имен, отличные от базового языка SCL и не опознанные средством программирования, будут игнорироваться. Это, в частности, означает, что инструмент программирования IED-устройства, который экспортирует данные своего собственного пространства имен XML в файл ICD, не ориентирован на то, что данная информация должным образом хранится в файле SCD, поступающем из утилиты конфигуратора системы или другой утилиты изготовителя IED-устройства.
Примечание 1 - SCL-схема построена таким образом, что если в заголовке указаны частные пространства имен, но соответствующие схемы неизвестны, XML-верификатор все же способен выполнить правильную проверку файла (у частей, которые не определены в SCL-схеме, верификатор, как правило, только проверяет, верно ли они сформированы).
Примечание 2 - SCL-схемой предусмотрено, чтобы элементы из частных пространств имен появлялись в файле SCL перед элементами, определенными в SCL-схеме.
8.2.6 Части Private
Для небольших расширений при изготовлении или выполнении специального проекта могут быть использованы части Private (частные). Преимуществом частей Private является сохранение содержимого данных при обмене данными между средствами программирования.
Сущности данных Private появляются на нескольких уровнях SCL. Содержимое этих XML-элементов, как видно из SCL, - прозрачный текст. Если часть Private содержит XML-данные, то она должна использовать явным образом пространство имен, которое не может быть пространством имен SCL. Элемент Private позволяет также делать ссылки на другие файлы через URL на своем атрибуте source (источник).
Данные в рамках средств утилит необходимо обрабатывать следующим образом. Частные данные принадлежат утилите в соответствии с ее категорией (например, генератору изображения). Владелец данных имеет право изменять их содержимое, и, как правило, только он способен их интерпретировать. Все остальные средства программирования, считывающие частные данные, должны сохранять их содержимое при импорте SCL и восстанавливать их в том же самом месте, если создается или экспортируется файл SCL, содержащий эту часть.
Частные данные, предназначенные для различных целей, должны различаться по значению своего атрибута type (тип). Если его используют изготовители, значение этого атрибута type должно начинаться с части строки, определяемой изготовителем.
Элементы Private имеют тип схемы tPrivate, который определяется следующим образом:
<xs:complexType name="tPrivate" mixed="true"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> Allows an unrestricted mixture of character content, element content and | ||
attributes from any namespace other than the target namespace, along with an optional Type attribute. |
________________
Допускается неограниченное смешивание содержания символа, содержания элемента и атрибутов любого пространства имен, кроме целевого пространства имен, наряду с дополнительным атрибутом типа.
</xs:documentation> | |||
</xs:annotation> <xs:complexContent mixed="true"> | |||
<xs:extension base="tAnyContentFromOtherNamespace"> | |||
<xs:attribute name="type" type="xs:normalizedString" use="optional"/> | |||
</xs:extension> | |||
</xs:complexContent> | |||
</xs:complexType> |
Атрибуты элемента Private определены в таблице 2.