Massive Argeo APIs refactoring
[gpl/argeo-suite.git] / org.argeo.entity.api / src / org / argeo / entity / entity.cnd
index cd6952a589e75d8cd6a294ed779812459331d982..2ea89f9b533d177d08217797184745ef1809b27e 100644 (file)
@@ -2,7 +2,7 @@
 <xsd = "http://www.w3.org/2001/XMLSchema">
 <h = "http://www.w3.org/1999/xhtml">
 // see https://www.w3.org/2003/01/geo/
-//<geo = "http://www.w3.org/2003/01/geo/wgs84_pos#">
+<geo = "http://www.w3.org/2003/01/geo/wgs84_pos#">
 <svg = "http://www.w3.org/2000/svg">
 
 <ldap = "http://www.argeo.org/ns/ldap">
 
 [entity:entity] > mix:created, mix:referenceable
 mixin
-//- entity:uid (String) m // an implementation dependent UID for each entity
-//- entity:type (String) // the type of this entity
+
+[entity:local] > entity:entity
+mixin
+- entity:type (String) m
+
+[entity:relatedTo]
+mixin
++ entity:relatedTo (nt:address) *
 
 //
 // ENTITY DEFINITION
 //
-[entity:definition] > entity:composite, mix:created, mix:lastModified, mix:referenceable
+//[entity:definition] > entity:composite, mix:created, mix:lastModified, mix:referenceable
 //- entity:type (String) multiple
 
 //[entity:part]
 
 //[entity:reference]
 
-[entity:composite]
-orderable
+//[entity:composite]
+//orderable
 //+ * (entity:part)
 //+ * (entity:reference)
 //+ * (entity:composite)
 
+[entity:query] > nt:query, mix:referenceable
+
+[entity:querySet]
++ * (entity:query) = entity:query *
+
+//
+// STRUCTURE
+//
+[entity:space]
+mixin
+
+[entity:document]
+mixin
+
 //
 // TYPOLOGY
 //
@@ -37,7 +57,7 @@ orderable
 
 [entity:term]
 orderable
-- name (NAME) m
+- name (NAME)
 - * (*)
 + term (entity:term) = entity:term *
 
@@ -50,6 +70,7 @@ orderable
 //
 [entity:form]
 mixin
++ queries (entity:querySet) = entity:querySet
 
 [entity:formSubmission]
 mixin
@@ -81,3 +102,13 @@ mixin
 - ldap:distinguishedName (String)
 - ldap:uid (String)
 
+// GEOGRAPHY
+[entity:geopoint]
+mixin
+- geo:long (DOUBLE)
+- geo:lat (DOUBLE)
+- geo:alt (DOUBLE)
+
+[entity:bearing]
+mixin
+- svg:direction (DOUBLE)