This document is the technical reference for the Vex XML Editor.
Upon startup, Vex loads it configuration from the
.vex
subdirectory in the
user's home directory. If this directory does not exist, Vex
creates it and populates it with a default configuration containing
several common document types. The configuration directory contains
the following files and subdirectories.
vex.properties
This file is a Java properties file containing the user preferences. It is maintained via the Vex user interface and is normally not manipulated directly.
doctypes/
This directory contains document type files (
.doctype
extension) that dictate the structure of documents and related DTD files.
styles/
This directory contains style files (
.style
extension) that affect the presentation of documents during editing and related CSS style sheets.
templates/
This directory contains template files (
.template
extension) that describe templates for new documents, and their related skeletal document files.
These configuration items are described below.
A document type registers a DTD and the public ID by which
it is known with Vex. The document type file must be an XML file
with a doctype
root element
and a .doctype
extension.
The following sub-elements are required.
publicId
The public ID by which the DTD is known. Vex uses the public ID of a loaded document to determine the DTD that dictates its structure.
url
A URL or relative URI of the DTD. Relative URIs are resolved relative to the document type file.
Vex will not load a document unless it can resolve the document's public ID to a document type. It will not fall back to the document's system ID to access the DTD.
The following listing is an example of a doctype file.
<?xml version="1.0"?> <!DOCTYPE doctype PUBLIC "-//Vex//Vex Configuration 1.0//EN" "http://vex.sourceforge.net/dtd/doctype.dtd"> <doctype> <publicId>-//OASIS//DTD Simplified DocBook XML V1.0//EN</publicId> <url>sdocbook.dtd</url> </doctype>
A style file registers a style sheet with Vex. The style
file must be an XML file with a style
root element and a .style
extension. The following sub-elements are required.
name
Human-readable name by which the style sheet is known. The user is shown a list of these names when selecting which style sheet to use for a document.
url
URL or relative URI of the style sheet. Relative URIs are resolved relative to the style file.
publicId
Public ID of the document type to which the style sheet applies. This element may be repeated multiple times, since a style sheet may apply to multiple document types (e.g. multiple versions of DocBook).
The following listing is an example of a style file.
<?xml version="1.0"?> <!DOCTYPE style PUBLIC "-//Vex//Vex Configuration 1.0//EN" "http://vex.sourceforge.net/dtd/vex-config-1.0.dtd"> <style> <name>DocBook Plain</name> <url>docbook-plain.css</url> <publicId>-//OASIS//DTD Simplified DocBook XML V1.0//EN</publicId> </style>
A template file registers a document template with Vex.
When creating a new document, the user selects from the list of
available templates. A template file must be an XML file with a
template
root element and a
.template
extension. The
following sub-elements are supported.
name
Human-readable name for the template.
url
URL or relative URI of the template. Relative URIs are resolved relative to the template file.
The following listing is an example of a template file.
<?xml version="1.0"?> <!DOCTYPE template PUBLIC "-//Vex//Vex Configuration 1.0//EN" "http://vex.sourceforge.net/dtd/vex-config-1.0.dtd"> <template> <name>Article</name> <url>article.xml</url> </template>
This appendix describes the level of CSS support currently implemented in Vex.
This following properties are supported in Vex.
All border properties are supported, with the exception
that (a) the border styles outset
,
inset
, groove
, and
ridge
are interpreted as solid
, and (b) system colour keywords, for example
ActiveBorder
, are not supported.
All margin properties are supported, with the exception
that auto
for margin-left
and margin-right
is treated as
zero.
All padding properties are supported.
The properties color
and
background-color
are supported with the exception
of system colour keywords such as ActiveBorder
.
All font properties are supported with the exception
that (a) system keywords such as caption
are not supported for the font
property,
and (b) the font-stretch
and
font-variant
properties are not supported.
block
, inline
,
and list-item
are the only supported
values for the display
property.
The white-space
property is fully
supported.
The list-style-type
property
supports the values disc
, circle
, square
, decimal
, lower-alpha
,
lower-latin
, lower-roman
,
upper-alpha
, upper-latin
, upper-roman
.
The content
property is supported in
:before
and :after
pseduoelements.
The following properties will be supported in a future version of Vex.
List-related properties: counter-increment
, counter-reset
,
list-style-image
, list-style-position
, marker-offset
.
Full support for the display
property.
Table-related properties: table-layout
, empty-cells
.
The text-related properties line-height
and text-align
.
The background
, quotes
, and vertical-align
properties.
There are no plans to support the following properties.
Aural properties: azimuth
,
cue
, cue-after
,
cue-before
, elevation
,
pause
, pause-after
,
pause-before
, pitch
,
pitch-range
, play-during
,
richness
, speak
,
speech-rate
, stress
,
speak-numeral
, speak-punctuation
, voice-family
, volume
.
Paged media properties: marks
,
orphans
, page
,
page-break-after
, page-break-before
, page-break-inside
,
size
, widows
.
Positioning properties: bottom
,
clear
, float
,
left
, right
, top
, min-height, max-height, min-width, max-width,
z-index
.
The font/text properties font-stretch
, font-variant
, letter-spacing
, word-spacing
,
text-decoration
, text-indent
,
text-shadow
, text-transform
.
The outline properties outline
,
outline-color
, outline-style
, outline-width
.
The cursor
property.
The list-style-type
values
hebrew
, georgian
,
armenian
, cjk-ideographic
,
hirigana
, katakana
,
hirigana-iroha
, katakana-iroha
, lower-greek
.
The following selectors are supported in Vex.
Simple element selectors.
The :before
and :after
pseudoelements.
Child selectors, e.g. A > B
.
Descendent selectors, e.g. A B
.