OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

dita message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RNG to DTD and XSD Conversion Task


I have the RNG-to-DTD transform working to the point where it produces
valid and complete DTDs for at least the cases I've tested: base-topic.rng
and concept.rng. For testing the base-topic results I created a topic
document that contains one of every element type allowed within base
topic, along with essential attributes that I know are potentially
problematic in the generation, such as the architectural attributes on
topic elements. That is, I think, sufficient to demonstrate that the
generation of the all the base module files is complete and correct.

I also created a set of "exemplar" DTDs from the 1.2 DTDs to which I am
comparing the generated DTDs. These exemplars differ from the official
DTDs only in being modified to match the generated DTDs where there are
non-functional differences, such as the order of declarations or keywords
where order is not important, some whitespace details, etc. I have also
started creating XSD exemplars, but currently they're just a copy of the
official distribution.

I wasn't quite able to get the RNG-to-XSD transform complete but it's
quite far along (I was only able to start on it today and simply ran out
of physical energy and available time this evening).

Attached is the current generated results along with some test documents.
The DTDs should be 100% good, the XSDs are not yet complete but you can
see what I'm producing after a day's work. The code that generated these
files is available from my dita-13-spec Github repository
(http://github.com/drmacro/dita-13-spec).

The files as provided here use only system IDs and URLs for referencing
files to ensure that no catalog-based resolution is interfering with my
testing. The transforms provide a run-time parameter it control whether
the generated files use public IDs or URNs or system IDs and URLs.

I think this should be sufficient to demonstrate that RNG-based generation
of the DTDs and XSDs is not only possible but essentially ready. I should
only need another day's work to get the XSDs complete--it's orders of
magnitude easier than the DTD stuff but there are a few tricky details
I'll need to work out.

The materials provided reflect the DITA 1.2 RNGs, which provide a baseline
from which to then build the DITA 1.3 RNGs reflecting all the proposals.
It also seemed useful to have a 1.2 base for people to start using for 1.2
since many people will not be able to adopt 1.3 and using RNG for
1.2-based shells and specializations will be quite useful. The RNG
mechanism does not depend on anything in the 1.3 spec to be usable, only
to be official blessed by the TC.

Once I have the XSD process also producing completely valid and complete
results, I plan to set up a continuous integration server that will
automate generation of DTDs and XSDs from all the OASIS-defined RNG shells
and validate all the results. This will make it easier and faster to work
up the final 1.3 RNGs.

Cheers,

Eliot

-- 
Eliot Kimber
Senior Solutions Architect
"Bringing Strategy, Content, and Technology Together"
Main: 512.554.9368
www.reallysi.com
www.rsuitecms.com


Attachment: dita-12-generated-dtds-2014-01-31.zip
Description: dita-12-generated-dtds-2014-01-31.zip



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]