116 lines
6.1 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema generated by XMLSPY v5 rel. 2 U (http://www.xmlspy.com)-->
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.croc.ru/Schemas/XmlFramework/Core/Config/1.0"
targetNamespace="http://www.croc.ru/Schemas/XmlFramework/Core/Config/1.0"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.0"
>
<!-- ОПРЕДЕЛЕНИЕ КОРНЕВОГО ЭЛЕМЕНТА ФАЙЛА КОНФИГУРАЦИИ -->
<xsd:element name="configuration">
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:element name="core" minOccurs="0">
<xsd:complexType>
<xsd:attribute name="debug-mode" type="xsd:boolean"/>
<xsd:attribute name="protected" type="xsd:boolean"/>
<!--
Определяет режим работы Ядра в отладочном режиме; допустимые
значения "true" - Ядро работает в отладочном режиме, и "false" -
отладочный режим блокируется. Задание значения не *****тельно;
по умолчанию используется "false".
-->
<!-- Содержание элемента может быть помечно как защищенное -->
</xsd:complexType>
</xsd:element>
<xsd:element name="storage" type="storageType"/>
<xsd:element name="server-objects">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="file-name" type="xsd:string" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="protected" type="xsd:boolean"/>
<!-- Содержание элемента может быть помечно как защищенное -->
</xsd:complexType>
</xsd:element>
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="file-name" type="xsd:string" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="protected" type="xsd:boolean"/>
<!-- Содержание элемента может быть помечно как защищенное -->
</xsd:complexType>
</xsd:element>
<xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
<!-- Определяет режим функционирования ядра -->
<!-- Элемент, задающий перечень используемых реализаций подсистемы Storage -->
<!-- (Его определение дано ниже) -->
<!-- Элемент, задающий файл описания прикладных элементов ядра -->
<!-- Элемент, задающий перечень файлов метаданных приложения -->
</xsd:sequence>
<xsd:attribute name="ver-major" type="xsd:int" default="1"/>
<xsd:attribute name="ver-minor" type="xsd:int" default="0"/>
<xsd:attribute name="build" type="xsd:int" default="1"/>
<xsd:attribute name="instance-guid" type="xsd:string"/>
<xsd:attribute name="protected" type="xsd:boolean"/>
<!--
В целом для приложения может быть задан номер версии, как триплет
номеров Major.Minor.Build. Номер версии используется механизмами
автоматической инсталляции и обновления.
Задание номера версии приложения не является обязательным.
-->
<!-- Номер версии (по умолчанию - 1) -->
<!-- Номер подверсии (по умолчанию - 0) -->
<!-- Номер сборки (приложения в целом, build; по умолчанию - 1) -->
<!--
Для конкретной инстанции конечного приложения может так же
задаваться уникальный номер (UUID) инстанции;
-->
<!-- Содержание элемента может быть помечно как защищенное -->
</xsd:complexType>
</xsd:element>
<!--
Элемент, задающий перечень используемых реализаций подсистемы Storage
-->
<xsd:complexType name="storageType">
<xsd:sequence>
<xsd:element name="connections" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="connection" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:any namespace="##other" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="n" type="xsd:NMTOKEN" use="required"/>
<xsd:attribute name="protected" type="xsd:boolean"/>
</xsd:complexType>
</xsd:element>
<!--
Элемент, задающий данные, используеме для инициализации соединения
с СУБД - строку соединения. Определения именованы - используется
атрибут n
-->
</xsd:sequence>
<xsd:attribute name="storage-assembly" type="xsd:string" use="required"/>
<xsd:attribute name="storage-class-name" type="xsd:string" use="required"/>
<xsd:attribute name="protected" type="xsd:boolean"/>
<!-- Задает наименование файла сборки с реализацией Storage -->
<!-- Задает наименование .NET-типа - класса реализации Storage -->
<!-- Содержание элемента может быть помечно как защищенное -->
</xsd:complexType>
<xsd:unique name="uniqueConnectionName">
<xsd:selector xpath="connection"/>
<xsd:field xpath="@n"/>
</xsd:unique>
</xsd:element>
<!-- Перечень должен включать как минимум одно определение -->
</xsd:sequence>
<xsd:attribute name="protected" type="xsd:boolean"/>
<!-- Содержание элемента может быть помечно как защищенное -->
</xsd:complexType>
</xsd:schema>