Edit online

Question

How can I force the Oxygen XML Author Component to save the XML with zero indent size and not to break the line inside block elements?

Answer

Usually, in a standalone version of Oxygen XML Editor, the Editor > Format and Editor > Format > XML preferences pages allow you to control the way the XML is saved on the disk after you edit it in the Author mode.

Also, the APIAccessibleOptionTags interface contains a list of all accessible keys that can be read or set from the options.

In the Oxygen XML Editor application, you can either bundle a default set of options or use the PluginWorkspace.setGlobalObjectProperty(String, Object) API:
//For not breaking the line
//Long line
pluginWorkspace.setObjectProperty
  (APIAccessibleOptionTags.EDITOR_LINE_WIDTH, new Integer(100000));
//Do not break before inline elements
pluginWorkspace.setObjectProperty
  (APIAccessibleOptionTags.EDITOR_FORMAT_INDENT_INLINE_ELEMENTS, false);
//For forcing zero indent
//Force indent settings to be controlled by us
pluginWorkspace.setObjectProperty
  (APIAccessibleOptionTags.EDITOR_DETECT_INDENT_ON_OPEN, false);
//Zero indent size
pluginWorkspace.setObjectProperty
  (APIAccessibleOptionTags.EDITOR_INDENT_SIZE, 0);
In the Oxygen XML Author Component, you can either bundle a fixed set of options, or use the Java API to set properties that overwrite the default options.
    //For not breaking the line
    //Long line
    AuthorComponentFactory.getInstance().setObjectProperty
(APIAccessibleOptionTags.EDITOR_LINE_WIDTH, new Integer(100000));
    //Do not break before inline elements
    AuthorComponentFactory.getInstance().setObjectProperty
(APIAccessibleOptionTags.EDITOR_FORMAT_INDENT_INLINE_ELEMENTS, false);
    //For forcing zero indent
    //Force indent settings to be controlled by us
    AuthorComponentFactory.getInstance().setObjectProperty
(APIAccessibleOptionTags.EDITOR_DETECT_INDENT_ON_OPEN, false);
    //Zero indent size
    AuthorComponentFactory.getInstance().setObjectProperty
(APIAccessibleOptionTags.EDITOR_INDENT_SIZE, 0);