Customizing the DITA Editing Experience using Oxygen XML Editor
Contributed by: Radu Coravu
on 2020-03-31
Resource: http://blog.oxygenxml.com/2018/03/guided-dita-authoring-solution-overview.html
- Go a little bit over the existing DITA editing support:
- New File Templates
- Visual editing - CSS styles. CSS inspector?
- Content completion. Documentation tips.
- Controlled attribute values.
- Actions - toolbars, menus.
- Validation.
- Publishing.
- What is a framework configuration? Schemas, actions, CSSs, transformation scenarios, validation scenarios.
- Creating an extension for the DITA framework: http://blog.oxygenxml.com/2015/08/document-type-extension-sharing.html
- Association rules
- New file
templates
<title><?oxy-placeholder content="Select a title"?></title> <author>${author.name}</author> ${ask('Author Name', generic, 'John Doe')}
- Customizing the CSS used for visual editing: http://blog.oxygenxml.com/2016/10/customizing-dita-visual-editing.html (CSS
inspector?)
li:after { content: oxy_button(actionID, 'listitem', showIcon, true); }
- Remove existing Author actions. Maybe b/i/u.
- Remove existing content completion
proposals.
<elementProposals rejectElements="b i u" />
- Add content completion actions to content completion list.
reuse.content
- Customizing the content completion proposals: https://www.oxygenxml.com/doc/ug-editor/topics/configure-elements-attr-cc-individually.html?hl=cc_config
<elementProposals path="section" insertElements="title p"/> <elementProposals path="li" insertElements="p"/>
- Imposing control attribute values: http://blog.oxygenxml.com/2015/07/controlled-attribute-values-for-your.html
<match elementName="data" attributeName="name"> <items action="addIfEmpty"> <item value="internal" annotation="For internal use only. "/> <item value="classified" annotation="For a certain group, only. "/> </items> </match>
- Add custom author actions:
- ToolWarning:bar. https://blog.oxygenxml.com/2019/08/implementing-custom-author-action-to.html
- Embedded in Author mode (hover, focus).
- Tool
- Add custom validation scenarios or stages. Schematron, quick fixes.https://blog.oxygenxml.com/2017/02/sharing-schematron-validation-rules.html
<?xml version="1.0" encoding="UTF-8"?> <sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" xmlns:sqf="http://www.schematron-quickfix.com/validator/process"> <sch:pattern> <sch:rule context="title"> <sch:assert test="string-length() < 20">Titles should be reasonably small</sch:assert> </sch:rule> </sch:pattern> </sch:schema>
- Form
controls.
title { content: oxy_textfield( edit, '#text', columns, 40); visibility:-oxy-collapse-text; }
- Add custom XML refactoring actions. https://www.oxygenxml.com/doc/versions/21.1/ug-editor/topics/custom-refactoring-operations-x-tools.html
- Implementing your own style guide: http://blog.oxygenxml.com/2016/03/implementing-your-own-style-guide.html
- Smart paste behavior (Word, Web) based on XSLT stylesheets. https://www.oxygenxml.com/doc/versions/21.1/ug-editor/topics/author-customize-smart-paste.html
- Add custom publishing scenarios or remove the existing ones. Maybe discuss about publishing template. CSS-based publishing for HTML and PDF output.
- Customize the DITA Open Toolkit publishing engine used by Oxygen.
Preferences->DITA.
- Discuss a little bit about DITA specialization integration.
- Spell check, custom dictionaries. Auto-correct. Integration with Acrolinx and Etteplan.
- Useful plugins: Git plugin, Batch Converter plugin, DITA Translation Helper plugin.