Mercurial > pub > ModelGenerator
diff data/model.xml @ 0:cbdada054b4a
Basic schemas for generating csharp internal dom from model definition
author | cin |
---|---|
date | Wed, 21 Feb 2018 03:01:53 +0300 |
parents | |
children | 7f803979305f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data/model.xml Wed Feb 21 03:01:53 2018 +0300 @@ -0,0 +1,128 @@ +<?xml version="1.0"?> +<package xmlns="http://implab.org/schemas/data-model.v1.xsd" + xmlns:f="http://implab.org/schemas/data-model/geo.v1.xsd" xmlns:clr="http://implab.org/schemas/data-model/dotnet.v1.xsd" + xmlns:sql="http://implab.org/schemas/data-model/sql.v1.xsd" xmlns:esri="http://geopallada.ru/schemas/data-model/esri.v1.xsd" + name="poisk-more" version="1.0" clr:namespace="Pallada.PoiskMore.Model"> + + <!-- Импортируем стандартные типы для строк, дат, чисел и т.п. --> + <import href="types.xml" /> + <import href="rccs.xml" /> + + <!-- определяем внешние типы, которые объявлены вне модели, но на них есть + ссылки в самой модели --> + <type name="IncidentData"> + <clr:type name="IncidentData" namespace="Pallada.Exchange.Sar" /> + </type> + + <entity name="BaseEntity"> + <!-- <extends type="MaritimeRcc"/> --> + </entity> + + <f:simpleFeature name="SarUnit"> + <description>Поисково-спасательная единица, характеризует + судно, + принимающее участие в ПСО + </description> + <f:geometry name="Location" type="Point"> + <description>Местоположение СРУ на момент начала ПСО</description> + <esri:geometry name="Shape" type="esriGeometryPoint" + mode="shape" /> + </f:geometry> + <primaryKey name="Id" type="uuid" /> + <hasA name="Region" type="Region"> + <description>Район проведения операции, в котором будет работать + данная единица. + </description> + <thisKey name="RegionId" matches="Id" /> + </hasA> + <hasA name="Operation" type="Operation" optional="true"> + <description>Идентификатор операции, используется для фильтрации + объектов на карте. + </description> + <thisKey name="OperationId"> + <esri:field name="OperId" mode="shape" /> + </thisKey> + </hasA> + <property name="Departure" type="datetime"> + <description>Дата отправления из исходной точки</description> + </property> + <property name="EstimatedArrival" type="datetime"> + <description>Ожидаемое время прибытия в конечную точку</description> + <esri:field name="Eta" mode="shape" /> + </property> + <property name="CrewFactor" type="datetime"> + <description>Коэффициент усталости экипажа</description> + <esri:field name="Fcrew" mode="shape" /> + </property> + </f:simpleFeature> + + <entity name="Operation"> + <sql:table name="Operation" /> + <primaryKey name="Id" type="uuid" /> + <property name="Name" type="string"> + <clr:type ref="string" /> + <description>Название операции</description> + </property> + <hasA name="Case" type="SarCase" optional="true"> + <description>Дело, с которым связана операция</description> + <thisKey name="CaseId" /> + <clr:lazy /> + <clr:association /> + </hasA> + <property name="Closed" type="bool"> + <description>Признак того, что операция завершена, т.е. ее нельзя + редактировать и она не отображается в списке операций + </description> + </property> + <property name="Date" type="datetime"> + <description>Дата начала операции</description> + </property> + <hasMany name="Regions" type="Region"> + <description>Список районов поиска</description> + <otherKey name="OperationId" /> + <clr:association> + <clr:type ref="listOf"> + <clr:type ref="Region" /> + </clr:type> + </clr:association> + </hasMany> + <property name="IncidentData" type="IncidentData"> + <description>Информация о происшествии на основании которой + строилась + данная операция + </description> + <sql:type name="text" /> + <xmlMember /> + </property> + <hasA name="Coordinator" type="MaritimeRcc" nullable="true"> + <thisKey name="CoordinatorId" /> + </hasA> + </entity> + + <entity name="SarCase"> + <description>Поисково-спасательное дело, собирает в себе информацию об + операциях, аварийном случае, поступающих данных.</description> + <sql:table name="SarCase" /> + <primaryKey name="Id" type="uuid" /> + <property name="CaseNo" type="string" sql:nullable="false"> + <description>Номер дела, которое объединяет несколько операций, + номера дел должны быть уникальными и не пустыми. + </description> + </property> + <hasMany name="Operations" type="Operation"> + <description>Операции выполненные в рамках текущего дела + </description> + <otherKey name="Case" /> + <clr:association> + <clr:type> + <arrayOf type="Operation"/> + </clr:type> + </clr:association> + </hasMany> + </entity> + + <entity name="Region"> + <description>Район проведение поисково-спасательной операции</description> + </entity> + +</package> \ No newline at end of file