Overwriting or Extending the DITA framework

Hi, We are creating a plugin for oXygen (14.1) for our DITA based repository. We have some customizations (not specializations) on the DITA DTD's, but our DITA files contain the standard DITA public id's. Is there a way to extend the oXygen DITA framework, so we can 'inject' our catalog instead of the default DITA catalog? These customizations also require special rendering in the Author view, so we also need to extend the standard DITA css files. We can make the distinction between standard DITA and DITA files coming from our repository, so we would like to do this without changing the default behavior of DITA files not coming from our repository Kind regards, Pascal

Hi Pascal, What is your final intent? Do you want to distribute a plugin which can be installed into any Oxygen installation to allow validation and editing support for your slightly modified DITA content? We have some API like:
ro.sync.exml.workspace.api.util.XMLUtilAccess.addPriorityEntityResolver(EntityResolver)
which would allow you to return your own DTD content when certain DITA public IDs are resolved. This would work for validating and providing content completion for your type of documents. But the API does not allow you to see for which XML content the entity resolver was called because the catalog resolver is called from many parts of the editor. Usually this kind of customization is done by distributing a custom framework (which can be a copy of our DITA framework with some things changed). A custom framework can also be distributed like an addon together with the plugin.
These customizations also require special rendering in the Author view, so we also need to extend the standard DITA css files.
We do not (yet) have Java API which would allow you to add an additional CSS content for rendering a certain opened XML document. In Oxygen 14.2 (in a couple of weeks) we will add a special type of plugin extension which will allow you to add a StylesFilter (ro.sync.ecss.extensions.api.StylesFilter)
We can make the distinction between standard DITA and DITA files coming from our repository, so we would like to do this without changing the default behavior of DITA files not coming from our repository
You could create your own framework (document type) starting by copying our DITA document type. In the Preferences->"Document Type Association" page your document type would be placed before the usual DITA one (a document type has a priority field which can be increased). And your document type would have an association rule which would match only your type of XML documents (you can implement an interface "ro.sync.ecss.extensions.api.DocumentTypeCustomRuleMatcher" to create a custom rule matcher). If you have a custom DITA document type, you can change the CSS and catalogs in it to suit your situation. Regards, Radu Radu Coravu <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com On 2/1/2013 5:16 PM, Pascal Beutels wrote:
Hi,
We are creating a plugin for oXygen (14.1) for our DITA based repository.
We have some customizations (not specializations) on the DITA DTD’s, but our DITA files contain the standard DITA public id’s.
Is there a way to extend the oXygen DITA framework, so we can ‘inject’ our catalog instead of the default DITA catalog?
These customizations also require special rendering in the Author view, so we also need to extend the standard DITA css files.
We can make the distinction between standard DITA and DITA files coming from our repository, so we would like to do this without changing the default behavior of DITA files not coming from our repository
Kind regards,
Pascal
_______________________________________________ oXygen-sdk mailing list oXygen-sdk@oxygenxml.com http://www.oxygenxml.com/mailman/listinfo/oxygen-sdk
participants (2)
-
Oxygen XML Editor Support
-
Pascal Beutels