comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:cbdada054b4a
1 <?xml version="1.0"?>
2 <package xmlns="http://implab.org/schemas/data-model.v1.xsd"
3 xmlns:f="http://implab.org/schemas/data-model/geo.v1.xsd" xmlns:clr="http://implab.org/schemas/data-model/dotnet.v1.xsd"
4 xmlns:sql="http://implab.org/schemas/data-model/sql.v1.xsd" xmlns:esri="http://geopallada.ru/schemas/data-model/esri.v1.xsd"
5 name="poisk-more" version="1.0" clr:namespace="Pallada.PoiskMore.Model">
6
7 <!-- Импортируем стандартные типы для строк, дат, чисел и т.п. -->
8 <import href="types.xml" />
9 <import href="rccs.xml" />
10
11 <!-- определяем внешние типы, которые объявлены вне модели, но на них есть
12 ссылки в самой модели -->
13 <type name="IncidentData">
14 <clr:type name="IncidentData" namespace="Pallada.Exchange.Sar" />
15 </type>
16
17 <entity name="BaseEntity">
18 <!-- <extends type="MaritimeRcc"/> -->
19 </entity>
20
21 <f:simpleFeature name="SarUnit">
22 <description>Поисково-спасательная единица, характеризует
23 судно,
24 принимающее участие в ПСО
25 </description>
26 <f:geometry name="Location" type="Point">
27 <description>Местоположение СРУ на момент начала ПСО</description>
28 <esri:geometry name="Shape" type="esriGeometryPoint"
29 mode="shape" />
30 </f:geometry>
31 <primaryKey name="Id" type="uuid" />
32 <hasA name="Region" type="Region">
33 <description>Район проведения операции, в котором будет работать
34 данная единица.
35 </description>
36 <thisKey name="RegionId" matches="Id" />
37 </hasA>
38 <hasA name="Operation" type="Operation" optional="true">
39 <description>Идентификатор операции, используется для фильтрации
40 объектов на карте.
41 </description>
42 <thisKey name="OperationId">
43 <esri:field name="OperId" mode="shape" />
44 </thisKey>
45 </hasA>
46 <property name="Departure" type="datetime">
47 <description>Дата отправления из исходной точки</description>
48 </property>
49 <property name="EstimatedArrival" type="datetime">
50 <description>Ожидаемое время прибытия в конечную точку</description>
51 <esri:field name="Eta" mode="shape" />
52 </property>
53 <property name="CrewFactor" type="datetime">
54 <description>Коэффициент усталости экипажа</description>
55 <esri:field name="Fcrew" mode="shape" />
56 </property>
57 </f:simpleFeature>
58
59 <entity name="Operation">
60 <sql:table name="Operation" />
61 <primaryKey name="Id" type="uuid" />
62 <property name="Name" type="string">
63 <clr:type ref="string" />
64 <description>Название операции</description>
65 </property>
66 <hasA name="Case" type="SarCase" optional="true">
67 <description>Дело, с которым связана операция</description>
68 <thisKey name="CaseId" />
69 <clr:lazy />
70 <clr:association />
71 </hasA>
72 <property name="Closed" type="bool">
73 <description>Признак того, что операция завершена, т.е. ее нельзя
74 редактировать и она не отображается в списке операций
75 </description>
76 </property>
77 <property name="Date" type="datetime">
78 <description>Дата начала операции</description>
79 </property>
80 <hasMany name="Regions" type="Region">
81 <description>Список районов поиска</description>
82 <otherKey name="OperationId" />
83 <clr:association>
84 <clr:type ref="listOf">
85 <clr:type ref="Region" />
86 </clr:type>
87 </clr:association>
88 </hasMany>
89 <property name="IncidentData" type="IncidentData">
90 <description>Информация о происшествии на основании которой
91 строилась
92 данная операция
93 </description>
94 <sql:type name="text" />
95 <xmlMember />
96 </property>
97 <hasA name="Coordinator" type="MaritimeRcc" nullable="true">
98 <thisKey name="CoordinatorId" />
99 </hasA>
100 </entity>
101
102 <entity name="SarCase">
103 <description>Поисково-спасательное дело, собирает в себе информацию об
104 операциях, аварийном случае, поступающих данных.</description>
105 <sql:table name="SarCase" />
106 <primaryKey name="Id" type="uuid" />
107 <property name="CaseNo" type="string" sql:nullable="false">
108 <description>Номер дела, которое объединяет несколько операций,
109 номера дел должны быть уникальными и не пустыми.
110 </description>
111 </property>
112 <hasMany name="Operations" type="Operation">
113 <description>Операции выполненные в рамках текущего дела
114 </description>
115 <otherKey name="Case" />
116 <clr:association>
117 <clr:type>
118 <arrayOf type="Operation"/>
119 </clr:type>
120 </clr:association>
121 </hasMany>
122 </entity>
123
124 <entity name="Region">
125 <description>Район проведение поисково-спасательной операции</description>
126 </entity>
127
128 </package>