Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
So, I have converted my latest proposal to DocBook. Here's what I did in detail:
The core specification is in
/dmlex-v1.0/specification/core/specification.xml
and then there are separate XML files for each object defined by the core specification.The remaining modules are all under
/dmlex-v1.0/specification/modules
. Each module has its own folder there, and their structure follows that ofcore
: the module specification can be found in a file calledspecification.xml
and then there are separate files for each "thing" (object, relation, ...) defined (or extended) by the module.I did not create separate files for each property of each object, for two interrelated reasons.
Each module (including the core) defines zero or more of these kinds of things:
Object types. Objects can have:
Relation types. Relations are like objects, but instead of children and parents they have participants.
Marker types. A "marker" is something which annotates a substring inside some property of some object: like inline elements in XML, but more abstract.
This is my proposed ontology of things thay exist in the DMLex universe. The "things that exist" are abstract and implementation-independent. They would be implemented as elements and attributes in XML, as table and columns in SQL, and so on.
The core defines a basic inventory of object types. Each module typically adds a few more object types (as well as relation types and marker types). A module can also extend an object type from the core or from another module.
I hope that this makes sense and that we can build on this.