Banxia Logo
Home
Products
Downloads
Where to buy
Training
About Us
. . Header picture .
   Home  Decision Explorer®  XML

XML Schema

This page gives technical details for developers on the data values that are available in Decision Explorer's XML implementation.

Last updated 21 Feb 2002.

Annotated Sample XML

The following is a commented XML file that you can also download raw as small.mdx or the larger listen.mdx (files updated 21Feb02). Items highlighted in bold are key names, items in grey are only output if the detailed option is enabled and are not core. Items in blue are for informational purposes only and developers are advised to use node counts instead. Repeated nodes are made smaller for space saving. Note that these files may be a little out of date. If you are developing a Decision Explorer® XML compatible application, please use the real application to generate test cases, or ask for some from us as there may be slight variations in details from this schema due to practical requirements.

An important point is that a lot of this information will be sensibly defaulted if it is not in the XML imported by Decision Explorer®, so developers generating this information need only output that information which is needed. The primary purpose of outputting this level of detail is to be able to rebuild a Decision Explorer® model accurately in Decision Explorer®, and to allow translation of all information to other applications.

<?xml version = "1.0" encoding = "ISO-8859-1"?> Standard XML header. No schema is defined at this point in time.
<model xmlns:x="http://www.banxia.com/dexplore/namespace" >

The Decision Explorer® XML must have a root node of type model. By applying a namespace here, it automatically applies to all following items (the actual details may change at some point before the final version).

<application
www = "http://www.banxia.com"
company = "Banxia Software Ltd"
product = "Banxia Decision Explorer®"
version = "3.2.0"
exportdate = "2001/06/22"
exporttime = "12:15:46">
This XML file was generated using Banxia's Decision Explorer® product, which allows you to make models of your ideas and analyse them.
</application>
The application info node is always output, but is not a part of the model data. It is for human information only.

The following sections are generally not order dependent, but for best operation concepts should be after all the memos and other definitions, links and set contents should follow the concepts. Applications should operate properly in any order (which is much less important if using a DOM object tree of course). If a concept or other item is referenced in the XML that does not have a definition, it is recommended to create a default concept to preserve data.

You can omit any of the information sections - if a concept references a style that has not been defined for example, a default will be used.

<info
name = "Listen"
useropt0 = "0"
useropt1 = "1"
useropt2 = "2"
useropt3 = "0"
useropt4 = "0"
useropt5 = "0"
useropt6 = "0"
useropt7 = "0"
useropt8 = "0"
useropt9 = "0"
backcolor = "16777215"
useropt10 = "0"
useropt11 = "0"
useropt12 = "0"
useropt13 = "0"
useropt14 = "0"
useropt15 = "0"
useropt16 = "0"
useropt17 = "0"
useropt18 = "0"
useropt19 = "0"
nameprompt = "0"
showborders = "0"
condispflags = "7"
condispwidth = "20"
maxconlength = "159"
startupflags = "0"
condispheight = "10"
autosaveperiod = "1"
/>

This node contains attributes that give information about the model. The name is for informational purposes only.

The userOpt values are 20 16-bit values that are stored in the model for GCl/DDE application use.

<conceptstyles
count = "6"

current = "0">

The concept styles are the visual display information that is used to display concepts. Below this node is a node for each style. The current attribute is the identifier of the style that will be used for the next concept created by the user.
<conceptstyle
bold = "0"
face = "Arial"
name = "standard"
height = "12"
italic = "0"
backfill = "16711680"
backline = "65535"
underline = "0"
winfamily = "34"

borderopts = "450"
redpercent = "0"
wincharset = "0"
bluepercent = "0"
greenpercent = "0"/>

All the attributes of a style are stored as attributes of the node. Most items are self-explanatory.

height is in points.

backfill and backline are Windows RGB encoded values.

redpercent etc are RGB percentages (0-100 rather than 0-255). Obtaining correct values from this may need special code - ask if you need help.

winfamily and wincharset are Windows specific font info for accurate reproduction.

<conceptstyle bold = "1" face = "Times New Roman" name = "goal" height = "16" italic = "0" backfill = "16711680" backline = "65535" underline = "0" winfamily = "18" borderopts = "450" redpercent = "0" wincharset = "0" bluepercent = "0" greenpercent = "0"/>
<conceptstyle bold = "1" face = "Arial" name = "issue" height = "14" italic = "255" backfill = "16711680" backline = "65535" underline = "0" winfamily = "34" borderopts = "450" redpercent = "50" wincharset = "0" bluepercent = "50" greenpercent = "50"/>
<conceptstyle bold = "1" face = "Arial" name = "option" height = "14" italic = "0" backfill = "16711680" backline = "65535" underline = "0" winfamily = "34" borderopts = "450" redpercent = "0" wincharset = "0" bluepercent = "0" greenpercent = "0"/>
<conceptstyle bold = "1" face = "Arial" name = "not_goal" height = "14" italic = "0" backfill = "16711680" backline = "65535" underline = "0" winfamily = "34" borderopts = "450" redpercent = "100" wincharset = "0" bluepercent = "100" greenpercent = "100"/>
<conceptstyle bold = "1" face = "Arial" name = "action" height = "14" italic = "255" backfill = "16711680" backline = "65535" underline = "0" winfamily = "34" borderopts = "448" redpercent = "0" wincharset = "0" bluepercent = "0" greenpercent = "0"/>
More concept styles
</conceptstyles>
<linkstyles
count = "5"
>
The link styles are the visual display information that is used to display links. Below this node is a node for each style.
<linkstyle
code = ""
name = "Causal"
color = "0"
baselink = "1"
headtype = "0"
linetype = "0"
linewidth = "1"
styleopts = "0"/>
The information on each link style, the key item being 'name'. The code is the text displayed against a link. Baselink is the base type, and should be 1 unless otherwise required (this is deprecated).
<linkstyle Code = "" Name = "Causal" Color = "0" BaseLink = "1" HeadType = "0" LineType = "0" LineWidth = "1" StyleOpts = "0"/>
<linkstyle Code = "" Name = "Connotative" Color = "0" BaseLink = "2" HeadType = "0" LineType = "0" LineWidth = "1" StyleOpts = "0"/>
<linkstyle Code = "T" Name = "Temporal" Color = "0" BaseLink = "4" HeadType = "0" LineType = "0" LineWidth = "1" StyleOpts = "0"/>
<linkstyle Code = "1" Name = "User defined 1" Color = "0" BaseLink = "128" HeadType = "0" LineType = "0" LineWidth = "1" StyleOpts = "0"/>
<linkstyle Code = "2" Name = "User defined 2" Color = "0" BaseLink = "128" HeadType = "0" LineType = "0" LineWidth = "1" StyleOpts = "0"/>
More link styles
</linkstyles>
<memos
Count = "2">
This node contains any memos that are in the model. No memos means no node.
<memo
id = "1"
face = "Arial"
height = "-13"
italic = "0"
weight = "0"
backcolor = "65535"
textcolor = "0"
underline = "0"
pitchfamily = "0">

The memo itself, with 'id' being the key identifier. Note that the font height uses Windows font selector size, so is negative.

If any items are omitted, then defaults will be used (these are the defaults as it happens)..

<title>Memo 1</title> The title of the memo is output as text.
<comment>This is a memo with http://www.banxia.com in it</comment> The body of the memo is output as a separate text node.
</memo>
<memo id = "2" face = "Arial" height = "-13" italic = "0" weight = "0" backcolor = "65535" textcolor = "0" underline = "0" pitchfamily = "0">
<title>Memo 2</title>
<comment>another memo</comment>
</memo>
Another memo
</memos>
<concepts
count = "3">
A parent for the concepts (elements/nodes) of the model.
<concept
id = "30"
new = "0"

logic = "or"
style = "standard"
editor = "Unnamed"
creator = "Unnamed"
memoref = "1" [not in sample file]
selected = "1"

uservalue0 = "1"
uservalue1 = "40"
uservalue2 = "0"
uservalue3 = "0"
>
misinformation. good data
</concept>

A concept, with the display text as the node text. 'id' is the concept number. The logic value is not output unless it is"and" or detailed mode is on - "or" is the default (see "logic" command in reference manual).

The memo reference is output only when a memo is linked. There is a mode in Decision Explorer® which can output the memos underneath the concepts, but we do not recommend it. If you get such a data file, check the references for duplication and merge them if needed.

User values are used by the GCL language or DDE. They may be changed by other applications. New indicates a concept that is created in this or the previous session.

<concept id = "32" new = "0" logic = "or" style = "standard" editor = "Unnamed" creator = "Unnamed" memoref = "1" selected = "1" uservalue0 = "1" uservalue1 = "43" uservalue2 = "0" uservalue3 = "0">client aggravated. client feels comfortable</concept>
<concept id = "33" new = "0" logic = "or" style = "standard" editor = "Unnamed" creator = "Unnamed" selected = "1" uservalue0 = "1" uservalue1 = "24" uservalue2 = "0" uservalue3 = "0">client worries about the use of data</concept>
More concepts
</concepts>
<links
count = "2">
This node is the parent for a list of link nodes.
<link
sign = "positive"
style = "Causal"
linkto = "33"
oldtype = "1"

linkfrom = "30"/>
The link information itself. The sign is only output if negative or if detailed mode is on (positive is the default). oldtype is deprecated, and should not be used.
<link sign = "positive" style = "Causal" linkto = "32" oldtype = "1" linkfrom = "30"/> More links
</links>
<views
current = "0">
A parent node for information on the views in the model. The active view is specified here.
<view
top = "-9"
left = "239"
name = "View 1"
count = "26"

right = "3539"
scale = "0"
bottom = "-1972"
originx = "239"
originy = "-9"
modeflags = "2"
protected = "0"
customscale = "100">

A view node contains information about the view overall, and has children that describe the position of each concept in the map view.

An important fact about Decision Explorer® views is that the display uses the MM_LOMETRIC mode so each logical unit is mapped to 0.1 millimeter. Positive x is to the right; positive y is up. The origin of the display is at the top left, so in general y coordinates will be negative.

<position
x = "560"
y = "-942"
concept = "3"/>
<position x = "914" y = "-187" concept = "26"/>
<position x = "2067" y = "-86" concept = "27"/>
<position x = "800" y = "-101" concept = "28"/>
<position x = "1480" y = "-9" concept = "29"/>
<position x = "778" y = "-362" concept = "31"/>
<position x = "1022" y = "-587" concept = "32"/>
<position x = "1228" y = "-861" concept = "34"/>
<position x = "1482" y = "-366" concept = "35"/>
<position x = "1964" y = "-528" concept = "36"/>
<position x = "988" y = "-1163" concept = "37"/>
<position x = "549" y = "-648" concept = "38"/>
<position x = "1240" y = "-1399" concept = "39"/>
<position x = "239" y = "-244" concept = "42"/>
<position x = "1738" y = "-749" concept = "45"/>
<position x = "2426" y = "-867" concept = "46"/>
<position x = "2667" y = "-473" concept = "47"/>
<position x = "2321" y = "-1807" concept = "48"/>
<position x = "2774" y = "-1058" concept = "49"/>
<position x = "3211" y = "-1203" concept = "51"/>
<position x = "2973" y = "-1396" concept = "52"/>
<position x = "2915" y = "-1792" concept = "53"/>
<position x = "1751" y = "-1317" concept = "54"/>
<position x = "1980" y = "-1522" concept = "55"/>
<position x = "2098" y = "-1046" concept = "56"/>
<position x = "2413" y = "-1447" concept = "57"/>
Position information for the concepts. Note that no concepts are defined here - they are defined elsewhere in the model. If a concept is referenced in a view but does not exist in the model, it should be ignored, unlike most other situations.
</view>
<view top = "-25" left = "296" name = "View 2" count = "7" right = "2298" scale = "8192" bottom = "-1375" originx = "317" originy = "-25" modeflags = "2" protected = "1" customscale = "100">
<position x = "296" y = "-473" concept = "0"/>
<position x = "815" y = "-25" concept = "2"/>
<position x = "367" y = "-1039" concept = "8"/>
<position x = "937" y = "-398" concept = "16"/>
<position x = "1705" y = "-570" concept = "29"/>
<position x = "1745" y = "-914" concept = "31"/>
<position x = "1401" y = "-28" concept = "47"/>
</view>
<view top = "0" left = "0" name = "View 3" count = "0" right = "0" scale = "0" bottom = "0" originx = "0" originy = "0" modeflags = "2" protected = "0" customscale = "100"/>
<view top = "0" left = "0" name = "View 4" count = "0" right = "0" scale = "0" bottom = "0" originx = "0" originy = "0" modeflags = "2" protected = "0" customscale = "0"/>
More views
</views>
<sets> A parent node for sets
<set
name = "Cluster2"
description = "Cluster2 created Thu Apr 07 16:48:57 1">
The set name and optional description.
<member>30</member>
<member>32</member>
<member>33</member>
Members of the set are simply output as text in member nodes, one concept per node.
</set>
<set name = "Hieset5" description = "Subordinates of concept 30 ">
<member>30</member>
<member>33</member>
</set>
<set name = "Hieset6" description = "Subordinates of concept 32 ">
<member>32</member>
</set>
<set name = "over" description = "over">
<member>30</member>
<member>32</member>
</set>
More sets
</sets>
</model>

If any point here is not clear, or you would like something changed to improve it, please email technical@banxia.com with your query, and we will try to clarify this information.