Intelligent editor support for DITA specialisations
One of the advantages of DITA that was loudly proclaimed is that
specialised topic files from one creator can be sent to another user and
inserted into a document /without the specialised DTD being made
available to that user/. The DITA OT will then produce some sort of
readable (if badly formatted) output based on the parent element
identified in the <at> class attribute.
But it appears that none of the DITA-out-of-the-box editors which I have
support specialisation in the absence of the specialisation DTD but barf
in various interesting ways. Serna alone appears to make some attempt
to support specialised elements.
I have made a tiny tweak to <fig> to specialise it with a <credit>
element based on <p>, and an <anchor> element based on <p>. This are
subclassed in the approved manner, e.g. class=" topic/p topic/credit".
It seems to me that a DITA editor on opening an unknown specialisation
should be able to look at the inheritance tree in <at> class and temporarily
rename the element to the nearest known ancestor. And, on save, it
should write out the XML with the original element name restored from
the leaf value in <at> class.
As DITA is not a true object model and subclasses are merely renaming of
ancestor elements for better semantic cueing, this does not appear to be
a very difficult problem to solve. Anything would be better than the
endless bleatings of Xalan error messages!
I am basing my remarks on experience with Syntext Serna, <oXygen/>,
XMLmind XML Editor (XXE), and FrameMaker v 8 with DITA-FMx 1.0. Perhaps
XMetaL, Arbortext Author, and other editors already support this kind of