FYI:
Just checked in a few updates to our DTD files.
1. I renamed all DTD files to start with "cayenne-" and end with
version identifier, like "x_x.dtd". This would allow us to keep track
of the official DTD version changes, and creates a primitive namespace
for them.
2. I added a new "query" element to the cayenne-data-map.dtd. A trimmed
diff with 1.0 version is attached below. The actual implementation of
this element is coming very soon. For qualifier encoding it takes
advantage of the yet unreleased (but already checked in) expression
parser. Any comments on "query"?
Andrus
--- cayenne-data-map-1_0.dtd Wed Feb 11 00:51:59 2004
+++ cayenne-data-map-1_1.dtd Wed Feb 11 01:20:41 2004
-<!ELEMENT data-map (db-entity*, obj-entity*, db-relationship*,
obj-relationship*, procedure*)>
+<!ELEMENT data-map (db-entity*, obj-entity*, db-relationship*,
obj-relationship*, procedure*, query*)>
..-109,10 +116,44 @@
+<!-- ===================================================
+Defines a Cayenne Query that can be either at the DataMap
+level, or linked to an entity or procedure.
+-->
+<!ELEMENT query (property*, (qualifier | sql)? )>
+<!ATTLIST query
+ name CDATA #REQUIRED
+ class CDATA #REQUIRED
+ root (db-entity | obj-entity | procedure | data-map) "data-map"
+ rootName CDATA #IMPLIED
+>
+<!-- ===================================================
+Defines a property of an object.
+-->
+<!ELEMENT property>
+<!ATTLIST property
+ name CDATA #REQUIRED
+ value CDATA #REQUIRED
+>
+
+<!-- ===================================================
+Defines a query qualifier, normally an encoded expression
+wrapped in CDATA, like "abc.name != $param2 and salary >
+$param2".
+-->
+<!ELEMENT qualifier (#PCDATA)>
+
+<!-- ===================================================
+Defines arbitrary SQL statement, normally wrapped in
+CDATA section.
+-->
+<!ELEMENT sql (#PCDATA)>
This archive was generated by hypermail 2.0.0 : Wed Feb 11 2004 - 01:34:33 EST