Page 1 of 1

Dynamic Information Model: RELAX NG enhancement?

Posted: Fri Feb 13, 2015 6:51 pm
by Frank Ralf
Hi,

I'm having a closer look at Frank Miller's and George Bina's Dynamic Information Model which allows the automatic creation of Schematron rules from DITA topics. This is a very cool concept and implementation!

- http://www.infomanagementcenter.com/DIT ... htm#Miller
- https://github.com/oxygenxml/dim

I'm wondering whether it would be feasible to extend this model from creating Schematron rules for validating business rules to creating RELAX NG schemas for validating document structure, as suggested by the following resources:

- http://etutorials.org/XML/xml+hacks/Cha ... ess+Rules/
- http://www.xml.com/lpt/a/2004/02/11/relaxtron.html
- http://books.xmlschemata.org/relaxng/relax-APP-A.html

If you could give me some pointers where to start I will give this a try ;-)

Kind regards,
Frank

Re: Dynamic Information Model: RELAX NG enhancement?

Posted: Fri Mar 27, 2015 12:08 pm
by george
Hi Frank,

The pointers you included refer to the possibility of embedding Schematron rules as annotations in relax NG - the same is possible in XML Schema. oXygen supports embedded Schematron in Relax NG XML and XML Schema, in case you want to use that.

Now, I do not understand how that relates to the DIM project. In the DIM project we encode a Schematron fragment, specifically an instantiation of an abstract pattern, as a data list element and we use a stylesheet to generate the Schemaron rules from the styleguide. In a way, you can think of this case as embedded Schematron within a DITA style guide, only that the Schematron is not embedded directly as Schematron but encoded as data list (more specifically dl elements within a section having audience="rules").

For more info about some of the ideas implemented in DIM please see my presentation from XML Prague:
http://www.oxygenxml.com/events/2015/oX ... Architects

One of the future goals of the DIM project is to support also generating DITA constraints - that means pointing to a standard DITA Relax NG schema and providing information on what elements you want removed and automatically generating the constrained schema that removes those elements.

Hope this helps,
George

Re: Dynamic Information Model: RELAX NG enhancement?

Posted: Fri Mar 27, 2015 6:43 pm
by Frank Ralf
Hi George,

Thanks for the information. I will have a look at your presentation. I suppose DITA constraints is what I meant with creating DITA content types ;-)

Kind regards,
Frank

Re: Dynamic Information Model: RELAX NG enhancement?

Posted: Wed Nov 25, 2015 6:11 pm
by Frank Ralf
JFTR, Magda Caloian has created an oXygen framework for building a DITA project from a content outline. Authors will insert the topic titles, type and level, then the project structure is generated, including project file, ditamap, topics: https://github.com/mgcalo/model2dita