[oXygen-sdk] Overwriting or Extending the DITA framework

Oxygen XML Editor Support support at oxygenxml.com
Mon Feb 4 01:29:05 CST 2013


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 at oxygenxml.com
> http://www.oxygenxml.com/mailman/listinfo/oxygen-sdk
>



More information about the oXygen-sdk mailing list