Jaxe, your XML editor
Jaxe, your XML editor

Jaxe configuration files
• Introduction
• Definition of the XML language
• File saving options
• Menus
• Node display
• Display types
• Exports
• Strings

# Definition of the XML language

Author: Damien Guillaume

## Element definition

- `XML schema file`

  When creating a new config file, the first thing to do is to define the corresponding XML language. This is usually done by specifying an existing XML schema. Schemas must use the W3C syntax (WXS), or the Relax NG one (in XML).

- `Simple schema`

  WXS schemas being rather complex, there exists an alternative to define a very simple language in Jaxe, within the config file. The element `Simple schema` is used to define the XML elements, their attributes, and the relationships between the elements. It is not possible with these schemas to specify for instance an order for sub-elements in a given element, or to specify types for elements and attributes. But this could be used to quickly create a prototype, or when the needs are very basic.

  - `Element`

    Definition of an XML element.

  - `Sub-element`

    A possible sub-element (which must be defined elsewhere).

  - `Sub-set`

    A set of possible sub-elements (the set must be defined elsewhere).

  - `Attribute`

    Element attribute.

  - `Value`

    A possible value

  - `Set`

    Definition of an element set (which can be used to avoid repeating the same sub-elements for many elements).

- `Root`

  After defining the XML language, it is necessary to give Jaxe one or several possible root elements to use for new documents. The name of the element is specified for each possible root element.

- `Other configuration`

  Finally, it is possible to specify other config files to use in parallel with the current one, with the element `Other configuration`, so as to mix 2 XML languages in a document. This is used for instance to create XSLT documents.

## Element tree

Element tree under `Language` :

- `Language (XML schema file | Simple schema, Root+, Other configuration*)`
  - `XML schema file @name`
  - `Simple schema (Element | Set)+`
    - `Element @name @text (Sub-element | Sub-set | Attribute)*`
      - `Sub-element @element`
      - `Sub-set @set`
      - `Attribute @name @presence (Value*)`
        - `Value`
    - `Set @name (Sub-element | Sub-set)+`
      - `Sub-element @element`
      - `Sub-set @set`
  - `Root @element`
  - `Other configuration @name`