LEO_TO_XML ​
LEO_TO_XML converts a LEO text to an XML text. This makes it possible to parse a LEO text with an XML parser.
Syntax ​
leo-grammar
CC "AdoScript" LEO_TO_XML strValue [ with-header:boolValue ] [ roottag:strValue ]
# --> RESULT xml:strValue ecode:intValue .
Parameters ​
<main-parameter>
(strValue) - the LEO text to be converted to XML formatwith-header
(boolValue, optional) - flag for adding the xml header<?xml version="1.0" encoding="UTF-8"?>
roottag
(strValue, optional) - specifies the root tag for the XML and if non is provided no root tag will be used
Returns ​
ecode
(intValue) - Contains the error code or 0 in case of success.xml
(strValue) - string containing the created XML string
Details ​
LEO strings are used in ADOxx for the configuration of libraries. For example, they are used in GraphRep, AttrRep or the Position attribute of an modelling object.
With this command you can translate the LEO syntax into XML, that you can parse it with XML parsers. `
See Also ​
Examples ​
Provides an example LEO string (GRAPHREP definition of an object) and transforms it into XML.
asc
SET leoText:"GRAPHREP
SHADOW off
AVAL sp:\"Sprache\"
IF (sp = \"System\") {
SET sp:(cond(_uilang = \"de\", \"Deutsch\", \"Englisch\"))
}
AVAL t:\"Typ\"
AVAL i:\"Reihenfolge\"
AVAL d:\"Darstellung\"
AVAL col:\"fontcolor\"
AVAL set-default:\"nein\" mono:\"Monochrome Darstellung\"
SET bMono:(mono = \"ja\")
IF (bMono) {
FILL color:white
PEN w:0.05cm
} ELSE {
FILL color:yellow
SHADOW off
CLIP_ELLIPSE rx:.7cm ry:.7cm
GRADIENT_RECT x:-.7cm y:-.7cm w:1.4cm h:1.4cm style:downdiag color1:$ffff66 color2:$eeee00
CLIP_OFF
PEN w:0.08cm color:$888800
FILL style:null
}
ELLIPSE rx:.7cm ry:.7cm
PEN
IF (t = \"global\") {
FILL style:null
ELLIPSE rx:.6cm ry:.6cm
}
IF (d = \"mit Namen\") {
FONT color:(col)
IF (sp = \"Deutsch\") {
ATTR \"Name\" y:.8cm w:c:1.00cm h:t
} ELSE {
ATTR \"Name (english)\" y:.8cm w:c:1.00cm h:t
}
}
IF (i > \"0\") {
FONT \"Arial\" h:10.0pt bold color:black
ATTR \"Reihenfolge\" x:0.00cm y:0.00cm w:c:1.00cm h:c
}"
CC "AdoScript" LEO_TO_XML (leoText) with-header:1 roottag:"leoxml"
CC "AdoScript" VIEWBOX text:(leoText + "\n---------------------\n\n" + xml)
The resulting XML is
xml
<?xml version="1.0" encoding="UTF-8"?>
<leoxml>
<graphrep />
<shadow opt-off="true" />
<aval val-sp="Sprache" />
<if val="((sp)=("System"))">
<set val-sp="(cond((_uilang)=("de"),"Deutsch","Englisch"))" />
</if>
<aval val-t="Typ" />
<aval val-i="Reihenfolge" />
<aval val-d="Darstellung" />
<aval val-col="fontcolor" />
<aval val-set-default="nein" val-mono="Monochrome Darstellung" />
<set val-bMono="((mono)=("ja"))" />
<if val="(bMono)">
<fill modifier-color="white" />
<pen val-w=".05cm" />
</if>
<else>
<fill modifier-color="yellow" />
<shadow opt-off="true" />
<clip-ellipse val-rx=".7cm" val-ry=".7cm" />
<gradient-rect val-x="-.7cm" val-y="-.7cm" val-w="1.4cm" val-h="1.4cm" modifier-style="downdiag" val-color1="16777062" val-color2="15658496" />
<clip-off />
<pen val-w=".08cm" val-color="8947712" />
<fill modifier-style="null" />
</else>
<ellipse val-rx=".7cm" val-ry=".7cm" />
<pen />
<if val="((t)=("global"))">
<fill modifier-style="null" />
<ellipse val-rx=".6cm" val-ry=".6cm" />
</if>
<if val="((d)=("mit Namen"))">
<font val-color="(col)" />
<if val="((sp)=("Deutsch"))">
<attr val="Name" val-y=".8cm" modifier-w="c" val-w="1cm" modifier-h="t" />
</if>
<else>
<attr val="Name (english)" val-y=".8cm" modifier-w="c" val-w="1cm" modifier-h="t" />
</else>
</if>
<if val="((i)>("0"))">
<font val="Arial" opt-bold="true" val-h=".35cm" modifier-color="black" />
<attr val="Reihenfolge" val-x="0cm" val-y="0cm" modifier-w="c" val-w="1cm" modifier-h="c" />
</if>
</leoxml>
Versions and Changes ​
Available since ADOxx 1.3