Main Page | Directories | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

Specification for ISO VirtualTerminal XML files

General notes

Usage in your own project

General structure of the XML-file(s)

Take a look at the following snippet of simpleVTIsoPool.xml-0_WorkingSetAndVariables, which is the first in alpabetical order and has the dimension and bitmap_path attributes set:
<?xml version="1.0" encoding="iso-8859-1"?>

<objectpool dimension='200' bitmap_path='bitmaps'>

  <workingset name='MyWorkingSet' background_colour='white' selectable='yes' active_mask='MyDataMask1'>
    <!-- WorkingSet Descriptor Object shall be included here -->
  </workingset>

  <!-- All other objects can be defined now... -->
</objectpool>
Now here's a snippet from simpleVTIsoPool.xml-1_DataMask1:
<?xml version="1.0" encoding="iso-8859-1"?>

<objectpool> <!-- dimension and bitmap_path needn't be defined again! -->

  <datamask id='0815' name='MyDataMask1' background_colour='white' soft_key_mask='MySoftKeyMask1' >

    <container name='MyDataMask1Container1' pos_x='0' pos_y='0' width='200' height='100'>
      <!-- object included in the container following... -->
    </container>

    <!-- more objects in this datamask can be defined now. -->

  </datamask>

  <!-- still more objects in this objectpool can be defined now... -->
</objectpool>

Naming-Conventions for \< TAG attribute =' value ' \>

Important note on Identifiers ( IDs )

Important note on Attributes and Exchangeable SoftKey Elements

Using objects: Allowed object nesting

There are 2 ways of using/referencing objects:

Note that the pos_x and pos_y attributes are always associated with the parent object, hence in the first example the position is given in the outputstring objects and in the second example it (as it makes no sense specifying it in the outputstrings here) is given in the include_object reference (include_object and include_macro are no real own object but parts of the parent object!).

The following table shows which objects may be included into which other.
Name of XML-Tag Allows inclusion of objects of following types
workingset Macro | Outputfield | Outputshape | Picturegraphic
datamask Macro | Outputfield | Inputfield | Outputgraphic | Outputshape | Picturegraphic | Button | Container | Objectpointer
alarmmask Macro | Outputfield | Outputgraphic | Outputshape | Picturegraphic | Container | Objectpointer
container same types only as allowed in the object that included the container
softkeymask Macro | Key | Objectpointer
key Macro | Outputfield | Outputshape | Picturegraphic | Container | Objectpointer
button Macro | Outputfield | Outputshape | Picturegraphic | Container | Objectpointer
inputboolean Macro
inputstring Macro
inputnumber Macro
inputlist Macro | Outputfield | Picturegraphic
outputstring Macro
outputnumber Macro
line Macro
rectangle Macro
ellipse Macro
polygon Macro | ombPoint
meter Macro
linearbar Macro
archedbar Macro
picturegraphic Macro
numbervariable none
stringvariable none
fontattributes Macro
lineattributes Macro
fillattributes Macro
inputattributesMacro
objectpointer none
macro none
auxfunction none
auxinput none
objectpool all
include_object none
include_macro none
point none

Reference for correct attribute names

Attribute-Name Attribute-Type
background_colourColour
selectableTruth
active_maskDatamask
soft_key_maskSoftkeymask
priorityPriority or directly 0..2
acoustic_signalAcousticSignal or directly 0..3
widthInteger
heightInteger
hiddenTruth
key_codeInteger ranging 1..255
border_colourColour
latchableTruth
foreground_colourColour
variable_referenceAny variable
valueDepending on the type of object
font_attributesFontAttributes object
input_attributesInputAttributes object
optionsDepending on the type of object; combinable using "+"
horizontal_justificationHorizontal Justification
lengthInteger
min_valueInteger
max_valueInteger
offsetInteger
scaleFloat
number_of_decimalsInteger
formatFormat
line_attributesLineAttribute object
line_suppression4bit Bitmask, not yet implemented
fill_attributesFillAttribute object
ellipse_typeInteger ranging 0..3, not yet implemented
start_angleInteger, not yet implemented
end_angleInteger, not yet implemented
polygon_typeInteger ranging 0..3, not yet implemented
needle_colourColour
border_colourColour
arc_and_tick_colourColour
number_of_ticksInteger
colourColour
target_line_colourColour
target_value_variable_referenceIntegerVariable object
target_valueInteger
bar_graph_widthInteger
actual_widthInteger
actual_heightInteger
transparency_colourColour
font_colourColour
font_sizeFontSize
font_typefixed at 0 (=ISO Latin 1), unchangeable yet
font_styleFontStyle
line_colourColour
line_widthInteger
line_art16bit Bitpattern
fill_typeInteger ranging 0..3, not yet implemented
fill_colourColour
fill_patternPictureGraphic object
validation_typeInteger ranging 0..1, not yet implemented
validation_stringString, not yet implemented
pos_xInteger
pos_yInteger
eventEvent object, not yet implemented
fileBitmap-Filename to use for all colour-depths
file1Bitmap-Filename to use for 2-colour-Bitmap generation
file4Bitmap-Filename to use for 16-colour-Bitmap generation
file8Bitmap-Filename to use for 256-colour-Bitmap generation
line_directionLineDirection
enabledTruth
block_fontFontAttributes object
block_rowInteger
block_colInteger
number_of_itemsInteger
number_of_pointsInteger
number_of_bytesInteger
object_idID of an object (to be changed so it works with name, too)
...more to come!

Colours

If you want to specify a colour, the attribute value is an index in the range of decimal 0..255 (see the ISO 11783 Colour Table). Alternatively you can use one of the following 16 colour constants:

Name of colours
(00) black (01) white (02) green (03) teal
(04) maroon (05) purple (06) olive (07) silver
(08) grey (09) blue (10)lime (11) cyan
(12) red (13) magenta (14) yellow (15) navy

List of special attribute values

Tag Attribute Possible values
picturegraphic format '1bit' for 1 bit black/white
'4bit' for 4 bit 16 colours
'8bit' for 8 bit 216 colours

fontattributes font_size '6x8'
'8x8'
'8x12'
'12x16'
'16x16'
'16x24'
'24x32'
'32x32'
'32x48'
'48x64'
'64x64'
'64x96'
'96x128'
'128x128'
'128x192'
  font_style 'bold'
'crossed'
'underlined'
'italic'
'inverted'
'flashinginverted'
'flashinghidden'
in/outputnumber format 'fixed'
'exponential'
in/output* horizontal_justification 'left'
'middle'
'right'
picturegraphic options 'transparent'
'flashing'
'rle1'
'rle4'
'rle8'
'rleauto'
line line_direction 'toplefttobottomright' (default)
'bottomlefttotopright'

rectangle line_suppression 'top'
'right'
'bottom'
'left'

ellipse ellipse_type 'closed'
'open'
'closedsegment'
'closedsection'

polygon polygon_type 'convex'
'nonconvex'
'complex'
'open'

meter options 'arc'
'border'
'ticks'
'clockwise'

linearbargraph options 'border'
'targetline'
'ticks'
'nofill'
'horizontal'
'growpositive'

archedbargraph options 'border'
'targetline'
'nofill'
'clockwise'

fillattributes fill_type 'nofill'
'linecolour'
'fillcolour'
'pattern'

inputattributes validation_type 'validcharacters'
'invalidcharacters'

alarmmask acoustic_signal 'high'
'medium'
'low'
'none'
  priority 'high'
'medium'
'low'
outputstring options 'transparent'
'autowrap'
outputnumber options 'transparent'
'leadingzeros'
'blankzero'

Truth-Values

Yes/True/On No/False/Off
'yes' 'no'
'true' 'false'
'on' 'off'
'show' 'hide'
'enable' 'disable

Generated on Wed Oct 13 15:16:24 2004 for IsoAgLib by  doxygen 1.3.8-20040913