ГОСТ Р 59791—2021
Приложение В
(обязательное)
Расширяемый язык разметки extended Common Logic Markup Language (XCL)
B.1 Общие положения
XCL — это определение XML для CL. Это предполагаемый язык для передачи CL по сети. Это прямое пере
ложение абстрактного синтаксиса и семантики CL в форму XML.
В.2 Синтаксис XCL
Поскольку лексический синтаксис XCL аналогичен XML, синтаксис XCL описывается схемой Relax NG в ком
пактной форме (RNC), доступ к которой обычно осуществляется в электронном виде. Для полноты информации и
обеспечения стандартизации ниже полностью представлена схема RNC.
Документ XML, в котором элементы XCL смешаны с элементами из сторонних пространств имен, следует
обрабатывать как корпус, в котором все ближайшие к корню элементы XCL выражают текст. Не приведенные в
схеме ниже элементы и атрибуты в элементах XCL следует рассматривать как синтаксические расширения. Они не
должны игнорироваться синтаксическими анализаторами и обрабатываться как комментарии.
Схемы Relax NG допускают неоднозначные определения. В случае совпадения с несколькими результатами
использования схемы XCL первый из них имеет приоритет при сопоставлении с абстрактным синтаксисом.
В соответствии со Спецификацией XML, «содержимое» в документации схемы элемента означает содержи
мое XML. Согласно спецификации XML, содержимое XML включает символьные данные и разметку, но не содер
жит комментарии XML и инструкции по обработке. Атрибуты элемента не являются частью его содержимого
XML.
default namespace = "http: //purl.org/xcl/ 2.0/"
namespace xs = " http: //www .w 3.org/2001/XMLSchema "
## Синтаксис XCL CL, версия 2.0
## Корневые элементы
## Корневой элемент документа XCL
## может иметь вид cl: cl: Document или быть любым другим элементом, соответствующим
## шаблонам cIText, cIStatement ил cISentence.
start |= clDocument
start |= cIText
start |= cIStatement
start |= cISentence
## Документы
## Элемент cl: Document содержит семантически нейтральный
## корневой элемент, который позволяет документу XML содержать
## несколько текстов CL.
clDocument = element Document { Document.type }
Documenttype = cICommentable, cIText*
## Тексты
cIText |= Construct
cIText |= Restrict
cIText |= Import
## -Текстовые конструкции
## Элемент cl: Construct представляет собой текстовую конструкцию
## (TextConstruction) абстрактного синтаксиса.
Construct = element Construct { Construct.type }
Construct, type =
cICommentable,
50