[gdmxml] cvs commit (gdmxml.rnc,gdmxml.rng)

2002-07-03 Thread fugalh


Wed Jul  3 17:42:37 MDT 2002

Update of /var/lib/cvs/fugalh/gdmxml
In directory andreas:/tmp/cvs-serv9057

Modified Files:
gdmxml.rnc gdmxml.rng 
Log Message:
Added the top-level element, where everything that has been defined can be included 
zero-to-many times and in any order.
commit by: fugalh

"Evil does seek to maintain power by suppressing the truth."
"Or by misleading the innocent."
-- Spock and McCoy, "And The Children Shall Lead",
   stardate 5029.5.

diffs:

Index: fugalh/gdmxml/gdmxml.rnc
diff -u fugalh/gdmxml/gdmxml.rnc:1.5 fugalh/gdmxml/gdmxml.rnc:1.6
--- fugalh/gdmxml/gdmxml.rnc:1.5Wed Jul  3 16:12:33 2002
+++ fugalh/gdmxml/gdmxml.rncWed Jul  3 17:42:36 2002
@@ -1,18 +1,52 @@
 # gdmxml - an XML schema for the GENTECH Genealogical Data Model
 # Copyright 2002 Hans Fugal
 
+start = element gdmxml {
+\activity*
+  & \administrative-task*
+  & \assertion*
+  & \assertion-assertion*
+  & \characteristic*
+  & \characteristic-part*
+  & \characteristic-part-type*
+  & \citation-part*
+  & \citation-part-type*
+  & \event*
+  & \event-type*
+  & \event-type-role*
+  & \group*
+  & \group-type*
+  & \group-type-role*
+  & \persona*
+  & \place-part*
+  & \place-part-type*
+  & \project*
+  & \repository*
+  & \repository-source*
+  & \representation*
+  & \representation-type*
+  & \research-objective*
+  & \research-objective-activity*
+  & \researcher-project*
+  & \search*
+  & \source*
+  & \source-group*
+  & \source-group-source*
+  & \surety-scheme*
+  & \surety-scheme-part*
+}
+  
 ## ACTIVITY
-activity = 
-  element activity {
-attribute id { xsd:ID },
-attribute researcher-id { xsd:IDREF },
-attribute type { "administrative-task" | "search" },
-attribute status { text },
-attribute priority { text },
-element scheduled-date { \date }?,
-element description { text },
-element comments { text }
-  }
+activity = element activity {
+  attribute id { xsd:ID },
+  attribute researcher-id { xsd:IDREF },
+  attribute type { "administrative-task" | "search" },
+  attribute status { text },
+  attribute priority { text },
+  element scheduled-date { \date }?,
+  element description { text },
+  element comments { text }
+}
 
 ## ADMINISTRATIVE-TASK
 administrative-task = element administrative-task {
@@ -287,5 +321,5 @@
   element sequence-number { text }
 }
 
-# $Id: gdmxml.rnc,v 1.5 2002/07/03 22:12:33 fugalh Exp $
+# $Id: gdmxml.rnc,v 1.6 2002/07/03 23:42:36 fugalh Exp $
 # vim: shiftwidth=2 expandtab softtabstop=2

Index: fugalh/gdmxml/gdmxml.rng
diff -u fugalh/gdmxml/gdmxml.rng:1.6 fugalh/gdmxml/gdmxml.rng:1.7
--- fugalh/gdmxml/gdmxml.rng:1.6Wed Jul  3 16:12:33 2002
+++ fugalh/gdmxml/gdmxml.rngWed Jul  3 17:42:37 2002
@@ -4,6 +4,108 @@
 gdmxml - an XML schema for the GENTECH Genealogical Data Model
 Copyright 2002 Hans Fugal
   -->
+  
+
+  
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+
+  
+
+  
+
+  
   
 ACTIVITY
 
@@ -639,6 +741,6 @@
   
 
 



___
gdmxml mailing list
[EMAIL PROTECTED]
http://fugal.net/cgi-bin/mailman/listinfo/gdmxml



[gdmxml] cvs commit (gdmxml.rnc,gdmxml.rng)

2002-07-03 Thread fugalh


Wed Jul  3 16:12:33 MDT 2002

Update of /var/lib/cvs/fugalh/gdmxml
In directory andreas:/tmp/cvs-serv8439

Modified Files:
gdmxml.rnc gdmxml.rng 
Log Message:
I changed my mind on naming conventions. Dashes are slightly easier to type and also 
more consistent with XML conventions, as well as the GDM specification.
commit by: fugalh

O slender as a willow-wand!  O clearer than clear water!
O reed by the living pool!  Fair river-daughter!
O spring-time and summer-time, and spring again after!
O wind on the waterfall, and the leaves' laughter!
-- J. R. R. Tolkien

diffs:

Index: fugalh/gdmxml/gdmxml.rnc
diff -u fugalh/gdmxml/gdmxml.rnc:1.4 fugalh/gdmxml/gdmxml.rnc:1.5
--- fugalh/gdmxml/gdmxml.rnc:1.4Wed Jul  3 09:27:21 2002
+++ fugalh/gdmxml/gdmxml.rncWed Jul  3 16:12:33 2002
@@ -1,83 +1,82 @@
 # gdmxml - an XML schema for the GENTECH Genealogical Data Model
 # Copyright 2002 Hans Fugal
 
-# rng compatibility for ID/IDREF(S)
 ## ACTIVITY
 activity = 
   element activity {
 attribute id { xsd:ID },
-attribute researcher_id { xsd:IDREF },
-attribute type { "administrative_task" | "search" },
+attribute researcher-id { xsd:IDREF },
+attribute type { "administrative-task" | "search" },
 attribute status { text },
 attribute priority { text },
-element scheduled_date { \date }?,
+element scheduled-date { \date }?,
 element description { text },
 element comments { text }
   }
 
 ## ADMINISTRATIVE-TASK
-administrative_task = element administrative_task {
-  attribute activity_id { xsd:IDREF }
+administrative-task = element administrative-task {
+  attribute activity-id { xsd:IDREF }
 }
 
 ## ASSERTION
 assertion = element assertion {
   attribute id { xsd:ID },
-  attribute surety_scheme_part_id { xsd:IDREF },
-  attribute researcher_id { xsd:IDREF },
-  attribute source_id { xsd:IDREF },
-  \assertion_subject,
-  \assertion_subject,
+  attribute surety-scheme-part-id { xsd:IDREF },
+  attribute researcher-id { xsd:IDREF },
+  attribute source-id { xsd:IDREF },
+  \assertion-subject,
+  \assertion-subject,
 
   (element value { text } | element role { text }),
   element rationale { text },
   element disproved { empty }?
 }
-assertion_subject = element assertion_subject {
+assertion-subject = element assertion-subject {
   attribute id { xsd:ID },
   attribute type { "persona" | "event" | "characteristic" | "group" }
 }
 
 ## ASSERTION-ASSERTION
-assertion_assertion = element assertion_assertion {
-  attribute assertion_id_low { text },
-  attribute assertion_id_hight { text },
-  attribute sequence_number { text }
+assertion-assertion = element assertion-assertion {
+  attribute assertion-id-low { text },
+  attribute assertion-id-hight { text },
+  attribute sequence-number { text }
 }
 
 ## CHARACTERISTIC
 characteristic = element characteristic {
   attribute id { xsd:ID },
-  attribute place_id { xsd:IDREF },
-  \characteristic_date,
-  element sort_order { "ascending" | "descending" | "none" }?
+  attribute place-id { xsd:IDREF },
+  \characteristic-date,
+  element sort-order { "ascending" | "descending" | "none" }?
 }
-characteristic_date = element characteristic_date { \gen_date }
+characteristic-date = element characteristic-date { \gen-date }
 
 ## CHARACTERISTIC-PART
-characteristic_part = element characteristic_part { 
+characteristic-part = element characteristic-part { 
   attribute id { xsd:ID },
-  attribute characteristic_id { xsd:IDREF },
-  attribute characteristic_part_type_id { xsd:IDREF },
+  attribute characteristic-id { xsd:IDREF },
+  attribute characteristic-part-type-id { xsd:IDREF },
   element name { text },
-  attribute sequence_number { text }
+  attribute sequence-number { text }
 }
 
 ## CHARACTERISTIC-PART-TYPE
-characteristic_part_type = element characteristic_part_type {
+characteristic-part-type = element characteristic-part-type {
   attribute id { xsd:ID },
   element name { text }
 }
 
 ## CITATION-PART
-citation_part = element citation_part {
-  attribute source_id { xsd:IDREF },
-  attribute citation_part_type_id { xsd:IDREF },
+citation-part = element citation-part {
+  attribute source-id { xsd:IDREF },
+  attribute citation-part-type-id { xsd:IDREF },
   element value { text }
 }
 
 ## CITATION-PART-TYPE
-citation_part_type = element citation_part_type {
+citation-part-type = element citation-part-type {
   attribute id { xsd:ID },
   element name { text }
 }
@@ -85,75 +84,75 @@
 ## EVENT
 event = element event {
   attribute id { xsd:ID },
-  attribute event_type_id { xsd:IDREF },
-  attribute place_id { xsd:IDREF },
+  attribute event-type-id { xsd:IDREF },
+  attribute place-id { xsd:IDREF },
   element name { text },
-  element date { \gen_date }
+  element date { \gen-date }
 }
 
 ## EVENT-TYPE
-event_type = element event_type {
+event-type = element event-type {
   attribute id { xsd:ID },
   element name { text } 
 }
 
 ## EVENT-TYPE-ROLE
-event_type_role = element event_type_role

[gdmxml] cvs commit (gdmxml.rnc,gdmxml.rng)

2002-07-03 Thread fugalh


Wed Jul  3 09:27:21 MDT 2002

Update of /var/lib/cvs/fugalh/gdmxml
In directory andreas:/tmp/cvs-serv5674

Modified Files:
gdmxml.rnc gdmxml.rng 
Log Message:
Changed from c: to xsd: per convention.

commit by: fugalh

"Never laugh at live dragons, Bilbo you fool!" he said to himself, and it became
a favourite saying of his later, and passed into a proverb. "You aren't nearly
through this adventure yet," he added, and that was pretty true as well.
-- Bilbo Baggins, "The Hobbit" by J.R.R. Tolkien, Chapter XII

diffs:

Index: fugalh/gdmxml/gdmxml.rnc
diff -u fugalh/gdmxml/gdmxml.rnc:1.3 fugalh/gdmxml/gdmxml.rnc:1.4
--- fugalh/gdmxml/gdmxml.rnc:1.3Tue Jul  2 19:20:39 2002
+++ fugalh/gdmxml/gdmxml.rncWed Jul  3 09:27:21 2002
@@ -2,12 +2,11 @@
 # Copyright 2002 Hans Fugal
 
 # rng compatibility for ID/IDREF(S)
-datatypes c = "http://relaxng.org/ns/compatibility/datatypes/1.0";
 ## ACTIVITY
 activity = 
   element activity {
-attribute id { c:ID },
-attribute researcher_id { c:IDREF },
+attribute id { xsd:ID },
+attribute researcher_id { xsd:IDREF },
 attribute type { "administrative_task" | "search" },
 attribute status { text },
 attribute priority { text },
@@ -18,15 +17,15 @@
 
 ## ADMINISTRATIVE-TASK
 administrative_task = element administrative_task {
-  attribute activity_id { c:IDREF }
+  attribute activity_id { xsd:IDREF }
 }
 
 ## ASSERTION
 assertion = element assertion {
-  attribute id { c:ID },
-  attribute surety_scheme_part_id { c:IDREF },
-  attribute researcher_id { c:IDREF },
-  attribute source_id { c:IDREF },
+  attribute id { xsd:ID },
+  attribute surety_scheme_part_id { xsd:IDREF },
+  attribute researcher_id { xsd:IDREF },
+  attribute source_id { xsd:IDREF },
   \assertion_subject,
   \assertion_subject,
 
@@ -35,7 +34,7 @@
   element disproved { empty }?
 }
 assertion_subject = element assertion_subject {
-  attribute id { c:ID },
+  attribute id { xsd:ID },
   attribute type { "persona" | "event" | "characteristic" | "group" }
 }
 
@@ -48,8 +47,8 @@
 
 ## CHARACTERISTIC
 characteristic = element characteristic {
-  attribute id { c:ID },
-  attribute place_id { c:IDREF },
+  attribute id { xsd:ID },
+  attribute place_id { xsd:IDREF },
   \characteristic_date,
   element sort_order { "ascending" | "descending" | "none" }?
 }
@@ -57,59 +56,59 @@
 
 ## CHARACTERISTIC-PART
 characteristic_part = element characteristic_part { 
-  attribute id { c:ID },
-  attribute characteristic_id { c:IDREF },
-  attribute characteristic_part_type_id { c:IDREF },
+  attribute id { xsd:ID },
+  attribute characteristic_id { xsd:IDREF },
+  attribute characteristic_part_type_id { xsd:IDREF },
   element name { text },
   attribute sequence_number { text }
 }
 
 ## CHARACTERISTIC-PART-TYPE
 characteristic_part_type = element characteristic_part_type {
-  attribute id { c:ID },
+  attribute id { xsd:ID },
   element name { text }
 }
 
 ## CITATION-PART
 citation_part = element citation_part {
-  attribute source_id { c:IDREF },
-  attribute citation_part_type_id { c:IDREF },
+  attribute source_id { xsd:IDREF },
+  attribute citation_part_type_id { xsd:IDREF },
   element value { text }
 }
 
 ## CITATION-PART-TYPE
 citation_part_type = element citation_part_type {
-  attribute id { c:ID },
+  attribute id { xsd:ID },
   element name { text }
 }
 
 ## EVENT
 event = element event {
-  attribute id { c:ID },
-  attribute event_type_id { c:IDREF },
-  attribute place_id { c:IDREF },
+  attribute id { xsd:ID },
+  attribute event_type_id { xsd:IDREF },
+  attribute place_id { xsd:IDREF },
   element name { text },
   element date { \gen_date }
 }
 
 ## EVENT-TYPE
 event_type = element event_type {
-  attribute id { c:ID },
+  attribute id { xsd:ID },
   element name { text } 
 }
 
 ## EVENT-TYPE-ROLE
 event_type_role = element event_type_role {
-  attribute id { c:ID },
-  attribute event_type_id { c:IDREF },
+  attribute id { xsd:ID },
+  attribute event_type_id { xsd:IDREF },
   element name { text }
 }
 
 ## GROUP
 group = element group {
-  attribute id { c:ID },
-  attribute group_type_id { c:IDREF },
-  attribute place_id { c:IDREF },
+  attribute id { xsd:ID },
+  attribute group_type_id { xsd:IDREF },
+  attribute place_id { xsd:IDREF },
   element name { text },
   element date { \gen_date },
   element criteria { text }
@@ -117,22 +116,22 @@
 
 ## GROUP-TYPE
 group_type = element group_type {
-  attribute id { c:ID },
+  attribute id { xsd:ID },
   element name { text },
   element sort_order { "ascending" | "descending" | "none" }?
 }
 
 ## GROUP-TYPE-ROLE
 group_type_role = element group_type_role {
-  attribute id { c:ID },
-  attribute group_type_id { c:IDREF },
+  attribute id { xsd:ID },
+  attribute group_type_id { xsd:IDREF },
   element name { text },
   element sequence_number { text }
 }
 
 ## PERSONA
 persona = element persona {
-  attribute id { c:ID },
+  attribute id { xsd:ID },
   \persona_name,
   element description_comments { text }

Re: [gdmxml] cvs commit (gdmxml.rnc,gdmxml.rng)

2002-07-03 Thread Hans Fugal

Thanks! I'm a bit confused about the xsd prefix - I would think that it
would map to  http://www.w3.org/2001/XMLSchema-datatypes - but I suppose
that probably included ID/IDREF too.

I want to do a little more cleanup of what I have and then I am going to
put together an instance document for testing.

I think I'll join that list, sounds helpful.

Hans :)

* Michael Fitzgerald ([EMAIL PROTECTED]) [Wed,  3 Jul 2002 at 07:51 -0700]

> Hans,
> 
> This is looking good. Are you testing against any instances? Perhaps you
> could commit those, too.
> 
> One item to note: Trang does not require you to declare the datatype library
> in the compact syntax and assumes that you use the xsd: prefix. When
> translated, the datetypeLibrary attribute is automatically added to XML
> syntax. The prefix is not required in the XML syntax, as you probably
> already know. But you can declare things explicitly in both syntaxes if you
> want.
> 
> You might consider subscribing to the RELAX NG comment list. You don't have
> to be a member of OASIS to do so. This is where you can ask hairy questions.
> Just send an email message to
> mailto:[EMAIL PROTECTED] with the word
> "subscribe" as the body of the message. The archives of the comments list
> are available at http://lists.oasis-open.org/archives/relax-ng-comment/.
> 
> You are making great progress.
> 
> Mike
> 
> 
> > -Original Message-
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
> > Hans Fugal
> > Sent: Tuesday, July 02, 2002 6:28 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: [gdmxml] cvs commit (gdmxml.rnc,gdmxml.rng)
> >
> >
> > As you can see I set up a script to email the list with cvs commit
> > information. This should make it easier to comment on changes...
> >
> > --
> > "Everybody is talking about the weather but nobody does anything
> > about it."
> > -- Mark Twain
> >
> > ___
> > gdmxml mailing list
> > [EMAIL PROTECTED]
> > http://fugal.net/cgi-bin/mailman/listinfo/gdmxml
> >


-- 
"Everybody is talking about the weather but nobody does anything about it."
-- Mark Twain

___
gdmxml mailing list
[EMAIL PROTECTED]
http://fugal.net/cgi-bin/mailman/listinfo/gdmxml



RE: [gdmxml] cvs commit (gdmxml.rnc,gdmxml.rng)

2002-07-03 Thread Michael Fitzgerald

Hans,

This is looking good. Are you testing against any instances? Perhaps you
could commit those, too.

One item to note: Trang does not require you to declare the datatype library
in the compact syntax and assumes that you use the xsd: prefix. When
translated, the datetypeLibrary attribute is automatically added to XML
syntax. The prefix is not required in the XML syntax, as you probably
already know. But you can declare things explicitly in both syntaxes if you
want.

You might consider subscribing to the RELAX NG comment list. You don't have
to be a member of OASIS to do so. This is where you can ask hairy questions.
Just send an email message to
mailto:[EMAIL PROTECTED] with the word
"subscribe" as the body of the message. The archives of the comments list
are available at http://lists.oasis-open.org/archives/relax-ng-comment/.

You are making great progress.

Mike


> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of
> Hans Fugal
> Sent: Tuesday, July 02, 2002 6:28 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [gdmxml] cvs commit (gdmxml.rnc,gdmxml.rng)
>
>
> As you can see I set up a script to email the list with cvs commit
> information. This should make it easier to comment on changes...
>
> --
> "Everybody is talking about the weather but nobody does anything
> about it."
> -- Mark Twain
>
> ___
> gdmxml mailing list
> [EMAIL PROTECTED]
> http://fugal.net/cgi-bin/mailman/listinfo/gdmxml
>


___
gdmxml mailing list
[EMAIL PROTECTED]
http://fugal.net/cgi-bin/mailman/listinfo/gdmxml



Re: [gdmxml] cvs commit (gdmxml.rnc,gdmxml.rng)

2002-07-02 Thread Hans Fugal

As you can see I set up a script to email the list with cvs commit
information. This should make it easier to comment on changes...

-- 
"Everybody is talking about the weather but nobody does anything about it."
-- Mark Twain

___
gdmxml mailing list
[EMAIL PROTECTED]
http://fugal.net/cgi-bin/mailman/listinfo/gdmxml



[gdmxml] cvs commit (gdmxml.rnc,gdmxml.rng)

2002-07-02 Thread fugalh


Tue Jul  2 19:20:39 MDT 2002

Update of /var/lib/cvs/fugalh/gdmxml
In directory andreas:/tmp/cvs-serv425

Modified Files:
gdmxml.rnc gdmxml.rng 
Log Message:
Ok, I've gone through and entered the schema for the entire GDM. 
Think of it as a first pass, there's a LOT of revising to do but it's a
framework. I converted all the 'text' IDs to the correct form ()

commit by: fugalh

I'm frequently appalled by the low regard you Earthmen have for life.
-- Spock, "The Galileo Seven", stardate 2822.3

diffs:

Index: fugalh/gdmxml/gdmxml.rnc
diff -u fugalh/gdmxml/gdmxml.rnc:1.2 fugalh/gdmxml/gdmxml.rnc:1.3
--- fugalh/gdmxml/gdmxml.rnc:1.2Mon Jul  1 21:22:07 2002
+++ fugalh/gdmxml/gdmxml.rncTue Jul  2 19:20:39 2002
@@ -1,11 +1,13 @@
 # gdmxml - an XML schema for the GENTECH Genealogical Data Model
 # Copyright 2002 Hans Fugal
 
-# ACTIVITY
+# rng compatibility for ID/IDREF(S)
+datatypes c = "http://relaxng.org/ns/compatibility/datatypes/1.0";
+## ACTIVITY
 activity = 
   element activity {
-attribute id { text },
-attribute researcher_id { text },
+attribute id { c:ID },
+attribute researcher_id { c:IDREF },
 attribute type { "administrative_task" | "search" },
 attribute status { text },
 attribute priority { text },
@@ -14,25 +16,17 @@
 element comments { text }
   }
 
-# PERSONA
-persona = element persona {
-  attribute id { text },
-  \persona_name,
-  element description_comments { text }
-}
-persona_name = element persona_name { text }
-
-# ADMINISTRATIVE-TASK
+## ADMINISTRATIVE-TASK
 administrative_task = element administrative_task {
-  attribute activity_id { text }
+  attribute activity_id { c:IDREF }
 }
 
-# ASSERTION
+## ASSERTION
 assertion = element assertion {
-  attribute id { text },
-  attribute surety_scheme_part_id { text },
-  attribute researcher_id { text },
-  attribute source_id { text },
+  attribute id { c:ID },
+  attribute surety_scheme_part_id { c:IDREF },
+  attribute researcher_id { c:IDREF },
+  attribute source_id { c:IDREF },
   \assertion_subject,
   \assertion_subject,
 
@@ -41,9 +35,259 @@
   element disproved { empty }?
 }
 assertion_subject = element assertion_subject {
-  attribute id { text },
+  attribute id { c:ID },
   attribute type { "persona" | "event" | "characteristic" | "group" }
 }
 
-# $Id: gdmxml.rnc,v 1.2 2002/07/02 03:22:07 fugalh Exp $
+## ASSERTION-ASSERTION
+assertion_assertion = element assertion_assertion {
+  attribute assertion_id_low { text },
+  attribute assertion_id_hight { text },
+  attribute sequence_number { text }
+}
+
+## CHARACTERISTIC
+characteristic = element characteristic {
+  attribute id { c:ID },
+  attribute place_id { c:IDREF },
+  \characteristic_date,
+  element sort_order { "ascending" | "descending" | "none" }?
+}
+characteristic_date = element characteristic_date { \gen_date }
+
+## CHARACTERISTIC-PART
+characteristic_part = element characteristic_part { 
+  attribute id { c:ID },
+  attribute characteristic_id { c:IDREF },
+  attribute characteristic_part_type_id { c:IDREF },
+  element name { text },
+  attribute sequence_number { text }
+}
+
+## CHARACTERISTIC-PART-TYPE
+characteristic_part_type = element characteristic_part_type {
+  attribute id { c:ID },
+  element name { text }
+}
+
+## CITATION-PART
+citation_part = element citation_part {
+  attribute source_id { c:IDREF },
+  attribute citation_part_type_id { c:IDREF },
+  element value { text }
+}
+
+## CITATION-PART-TYPE
+citation_part_type = element citation_part_type {
+  attribute id { c:ID },
+  element name { text }
+}
+
+## EVENT
+event = element event {
+  attribute id { c:ID },
+  attribute event_type_id { c:IDREF },
+  attribute place_id { c:IDREF },
+  element name { text },
+  element date { \gen_date }
+}
+
+## EVENT-TYPE
+event_type = element event_type {
+  attribute id { c:ID },
+  element name { text } 
+}
+
+## EVENT-TYPE-ROLE
+event_type_role = element event_type_role {
+  attribute id { c:ID },
+  attribute event_type_id { c:IDREF },
+  element name { text }
+}
+
+## GROUP
+group = element group {
+  attribute id { c:ID },
+  attribute group_type_id { c:IDREF },
+  attribute place_id { c:IDREF },
+  element name { text },
+  element date { \gen_date },
+  element criteria { text }
+}
+
+## GROUP-TYPE
+group_type = element group_type {
+  attribute id { c:ID },
+  element name { text },
+  element sort_order { "ascending" | "descending" | "none" }?
+}
+
+## GROUP-TYPE-ROLE
+group_type_role = element group_type_role {
+  attribute id { c:ID },
+  attribute group_type_id { c:IDREF },
+  element name { text },
+  element sequence_number { text }
+}
+
+## PERSONA
+persona = element persona {
+  attribute id { c:ID },
+  \persona_name,
+  element description_comments { text }
+}
+persona_name = element persona_name { text }
+
+## PLACE
+place = element place {
+  attribute id { c:ID },
+  element existence_date { \gen_date },
+  element sort_order { "ascending" | "descending" | "none" }