[oXygen-user] Custom DTDs with default Oxygen OT
Oxygen XML Editor Support (Radu Coravu)
support at oxygenxml.com
Tue Dec 20 23:21:39 CST 2022
Hi Scott,
If you would only wanted your DTD specialization to be used by Oxygen
when editing or for validation, adding a reference to the custom XML
catalog in the Oxygen Preferences->"XML / XML Catalog" page would be enough.
But indeed for publishing the DITA OT publishing engine needs to have an
extra plugin installed, there are no parameters which would allow
passing a reference to an extra XML catalog to the DITA OT when it starts.
https://www.oxygenxml.com/doc/versions/25.0/ug-editor/topics/dita-integrate-specialization.html
You could actually keep a separate "plugins" folder outside of the DITA
OT main folder as long as you refer to it in the
"DITA-OT3.x/config/configuration.properties" file:
https://www.dita-ot.org/dev/parameters/configuration-properties-file.html
But this would still mean the DITA OT folder would need to be changed,
changes made to the "configuration.properties" followed by running the
DITA OT integrator task which adds an extra reference to your XML
catalog from the main DITA OT XML catalog.
And the main problem is that on Windows, Oxygen is usually installed in
the "Program Files" folder which is read-only and making changes to
files there is problematic if you do not have admin privileges.
Some more ways to distribute a custom DITA OT to the users:
1) Make the custom DITA OT available as an add-on:
https://www.oxygenxml.com/doc/versions/25.0/ug-editor/topics/contribute-external-dita-ot-extension.html
For example here:
https://github.com/oxygenxml/dita-ot-3x-plugin
In the Oxygen main menu "Help->Install new add-ons" you can point Oxygen
to an HTTP location containing the zipped DITA OT and Oxygen would
download it and make it available in the "Preferences->DITA" page.
2) Add the custom DITA OT folder directly inside the framework folder.
an Oxygen framework can provide also custom transformation scenarios and
the custom transformation scenarios could use the
"Parameters->"dita.dir"" parameter to refer to the custom DITA OT
bundled with the framework.
3) If you use a Git repository for example you could also commit the
custom DITA OT inside the repository so that everyone gets it when they
check out the project.
Regards,
Radu
Radu Coravu
Oxygen XML Editor
On 12/20/22 22:19, Scott Prentice wrote:
>
> It's interesting to see that Chemistry apparently honors the catalog
> defined in the framework, so you can do a PDF build from content using
> a custom doctype with just the framework installed. Not exactly what I
> need, but good to know!
>
> ...scott
>
>
> On 12/20/22 11:46 AM, Scott Prentice wrote:
>>
>> Thanks, Stefan!
>>
>> Yeah .. I was hoping to avoid having the users install a plugin ..
>> just install the framework. But I can see that's not going to fly.
>> I'm thinking that the simplest (least effort for the users, and least
>> opportunity for error), is to provide a pre-configured OT
>> installation that they can point to from Preferences. It'll just be ..
>>
>> 1) Install framework,
>> 2) Point to custom OT in Preferences
>>
>> That way if something goes sideways, they haven't messed with the
>> detail Oxygen installation.
>>
>> Cheers,
>> ...scott
>>
>>
>> On 12/20/22 11:33 AM, Stefan Jung wrote:
>>> Hey Scott,
>>>
>>> You should bundle the grammar files in a toolkit plugin. This is
>>> correct. In your oxygen framework you need to configure the matching
>>> rules to recognize your custom grammar files. You need to install
>>> your plugin to the DITA-OT as well. You need to use
>>> the dita.specialization.catalog.relative extension point in your
>>> plugin.xml.
>>>
>>> BR
>>>
>>>
>>>
>>> Gesendet mit OX Mail
>>>
>>> Scott Prentice <sp14 at leximation.com <http://sp14@leximation.com>>
>>> hat am December 20, 2022 um 8:25 PM geschrieben:
>>>
>>> I think I know the answer to this question, but want to confirm
>>> that I'm not missing something.
>>>
>>> I've got a set of custom DITA DTDs wrapped up in an OT plugin.
>>> If I install this plugin in the OT, I'm able to successfully
>>> generate output from content that uses the public IDs defined by
>>> those DTDs. However, what I'd like is to include this plugin in
>>> an Oxygen framework, and have the custom doctypes honored for OT
>>> builds without "installing" the plugin.
>>>
>>> As it stands, users can install the framework and edit topics
>>> and maps using the custom doctypes. It validates fine and all is
>>> well, but when they go to do an OT build, it fails to recognize
>>> the location for the custom DTDs.
>>>
>>> I thought there was an OT parameter that let you specify the
>>> location of an alternate catalog file, but I'm not seeing that.
>>> Was hoping that I could get this to work by just having the
>>> users install the framework.
>>>
>>> It seems like my only options are (after installing the
>>> framework) ..
>>>
>>> - install and integrate the "doctypes" plugin into the default
>>> OT in Oxygen
>>>
>>> - OR .. provide another OT that has the doctypes plugin
>>> installed and have the users point to that as a custom DITA-OT
>>> in Oxygen
>>>
>>> Thoughts?
>>>
>>> Thanks!
>>> ...scott
>>>
>>
>> _______________________________________________
>> oXygen-user mailing list
>> oXygen-user at oxygenxml.com
>> https://www.oxygenxml.com/mailman/listinfo/oxygen-user
>
> _______________________________________________
> oXygen-user mailing list
> oXygen-user at oxygenxml.com
> https://www.oxygenxml.com/mailman/listinfo/oxygen-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.oxygenxml.com/pipermail/oxygen-user/attachments/20221221/4e1883de/attachment.htm>
More information about the oXygen-user
mailing list