80328dbc8761b557dff7c3b62bab81caa03ec455
[gpl/argeo-suite.git] / org.argeo.entity.api / src / org / argeo / entity / entity.cnd
1 // Standard namespaces
2 <xsd = "http://www.w3.org/2001/XMLSchema">
3 <h = "http://www.w3.org/1999/xhtml">
4 // see https://www.w3.org/2003/01/geo/
5 //<geo = "http://www.w3.org/2003/01/geo/wgs84_pos#">
6 <svg = "http://www.w3.org/2000/svg">
7
8 <ldif = "http://www.argeo.org/ns/ldif">
9 <entity = 'http://www.argeo.org/ns/entity'>
10
11 [entity:entity] > mix:created, mix:referenceable
12 mixin
13 //- entity:uid (String) m // an implementation dependent UID for each entity
14 //- entity:type (String) // the type of this entity
15
16 //
17 // ENTITY DEFINITION
18 //
19 [entity:definition] > entity:composite, mix:created, mix:lastModified, mix:referenceable
20 //- entity:type (String) multiple
21
22 //[entity:part]
23
24 //[entity:reference]
25
26 [entity:composite]
27 orderable
28 //+ * (entity:part)
29 //+ * (entity:reference)
30 //+ * (entity:composite)
31
32 //
33 // TYPOLOGY
34 //
35 [entity:typologies]
36 + * (entity:terms) = entity:terms
37
38 [entity:term]
39 orderable
40 - name (NAME) m
41 - * (*)
42 + term (entity:term) = entity:term *
43
44 [entity:terms] > mix:referenceable
45 orderable
46 + term (entity:term) = entity:term *
47
48 //
49 // FORM
50 //
51 [entity:form]
52 mixin
53
54 [entity:formSubmission]
55 mixin
56
57 [entity:formSet] > mix:title
58 mixin
59
60 //
61 // GRAPHICS
62 //
63 [entity:box]
64 mixin
65 - svg:width (DOUBLE)
66 - svg:height (DOUBLE)
67 - svg:length (DOUBLE)
68 - svg:unit (STRING)
69 - svg:dur (DOUBLE)
70
71 // LDAP-LIKE ENTITIES
72 // A real person
73 [entity:person] > entity:entity
74 mixin
75 - ldif:sn (String)
76 - ldif:givenName (String)