Hans, Note RELAX NG answers below: > My first question is rng-related. I know rng supports id/idref, but I'm > not sure what it takes to invoke that. For example, the activity_id > attribute of administrative_task should be an idref to the activity > element with that id.
RELAX NG's implementation of ID/IDREF/IDREFS is modular. Jing supports it. For example: <attribute name="id"/> Must be of type ID (note arrows): <grammar datatypeLibrary="http://relaxng.org/ns/compatibility/datatypes/1.0"> <<================= ... <attribute name="id"> <data type="ID"/> <<============ </attribute> ... <!-- ADMINISTRATIVE-TASK --> <define name="administrative_task"> <element name="administrative_task"> <attribute name="activity_id"> <data type="IDREF"/> <<============== </attribute> </element> </define> Since there is at most one ID, the IDREF will resolve to that single, unique ID, or the validator will generate an error. See http://www.oasis-open.org/committees/relax-ng/compatibility.html#id for a how-to and http://www.thaiopensource.com/relaxng/jing.html to validate. Jing, by the way, means "true" in Thai. > Second, does the name of the definition need to be different than the > name of the element? For example, is the following valid? > <define name="foo"> > <element name="foo"> > <empty/> > </element> > </define> Looks like you have a good start and are having fun! Mike It is okay if named definitions and elements that have the same name. This will validate, no problem. _______________________________________________ gdmxml mailing list [EMAIL PROTECTED] http://fugal.net/cgi-bin/mailman/listinfo/gdmxml