[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]