Introduction
This website is all about Xill 3, our newest version of the Xill language.
If you have worked with Xill 2, which was used in content tools 2.x, you can use the table below to familiarize yourself with the functions that replace the functions you knew.
Conversion table
Here is a list that tells you how to replace every Xill 2 function in Xill 3 code.
Function | Replacement | Notes |
---|---|---|
click | Web.click | |
curl | XURL package or Web.loadPage | depending on usage |
download | Web.download | |
focus | Web.focus | |
getframe | Web.switchFrame | |
input | Web.input | |
loadpage | Web.loadPage | |
stringtopage | Web.fromString | |
pageinfo | Web.pageInfo | |
rawhttp | XURL | depending on usage. see curl |
removecookie | Web.removeCookie | |
select | Web.select | |
setcookie | Web.setCookie | |
xmltostring | Web.getSource or XML.toString | |
webclient | Integrated into second parameter of Web.loadPage | |
classifier | - | Use classifier web service |
classify | - | Use classifier web service |
jsontolist | System.parseJSON | |
listtocsv | - | Workaround: Build custom function |
listtojson | System.toJSON | |
listtostring | - | |
listtoxml | - | No replacement. Build xml with XML.insertNode or by String editing |
tonumber | - | There are no different variable types like strings and numbers in Xill 3. A variable with a string value always has a number value as well |
tostring | - | If you want to force a number string (like "02") to stay a string, use the '@'-operator, like @"02" or @number. |
stringtoxml | XML.fromString | |
stringtopage | Web.fromString | |
xmltolist | - | |
database | Database.connect | |
getobject | Database.getObject | |
importcsv | - | Workaround: System.exec and a command like 'LOAD DATA LOCAL INFILE '[path]' INTO TABLE […]' |
storeobject | Database.storeObject | |
sqlescape | Database.escape | |
query | Database.query or Database.rawQuery | |
changedate | Date.change | |
date | Date.now, Date.of or Date.parse | |
datediff | Date.diff | |
dateinfo | Date.info | |
datetostring | Date.format or Date.localizedFormat | |
timestamp | requested as feature | Workaround: var Date=Date.now(); var info=Date.info(date); var timestamp=info.InstantSeconds :: "000"; |
elastic search functions | under active development | Depending on what you want, a more manual approach using MongoDB might be a good alternative |
ampersanddecode | Encode.escapeXML | |
ampersandencode | Decode.unescapeXML | |
base64decode | Encode.fileToBase64 or Encode.stringToBase64 | |
base64encode | Encode.toBase64 | |
md5 | Hash.toMD5 | |
urldecode | Decode.fromPercent | |
urlencode | Encode.toPercent | |
createexcel | Excel.createWorkbook | |
createsheet | Excel.createSheet | |
getcell | Excel.getCell | |
getsheet | Excel.loadSheet | |
setcell | Excel.setCell | |
openexcel | Excel.loadWorkbook | |
copyfile | File.copy | |
createfolder | File.createFolder | |
deletefile | File.delete | |
deletefolder | File.delete | |
download | Web.download | |
exiftool | Exiftool.scanFile | |
fileexists | File.exists | |
fileinfo | Exiftool.scanFile | |
filesize | File.getSize | |
listfiles | File.iterateFiles | |
listfolders | File.iterateFolders | |
loaddata | File and Stream packages | |
metadatafromdocument | Exiftool.scanFile | Note: returned info is formatted differently |
savedata | Stream.write | No simple 1-to-1 translation, because we use streams noow. File.openWrite will also be needed. |
textfromdocument | not available at the moment | Workaround: see https://support.xillio.com/support/discussions/topics/6000033142 |
break | break | without parentheses () |
continue | continue | without parentheses () |
callbot | callbot | |
foreach | foreach | syntax changed slighty: https://support.xillio.com/support/solutions/articles/6000061427 |
geterror | - | errors are returned where applicable |
global | - | Variables declared at robot level are available throughout the robot. However, it is recommended to keep every variable scoped in a function. |
help | - | |
if | if | no change |
log | System.print | |
return | return | slightly different syntax |
routine | function | changed syntax, removed optional parameters: https://support.xillio.com/support/solutions/articles/6000061441 |
setprogress | - | |
unset | Collection.remove | |
variabletype | System.typeOf | |
version | System.version | |
wait | System.wait | |
while | while | |
contains | Collection.contains or String.contains | |
extractlist | String.allMatches | |
length | String.length or Collection.length | |
listduplicate | Collection.duplicate | |
listreverse | Collection.sort | |
listsort | Collection.sort | |
split | String.split | |
mongo_connect | Mongo.connect | |
mongo_count | Mongo.count | |
mongo_delete | Mongo.remove | |
mongo_drop | Mongo.drop | |
mongo_find | Mongo.find | |
mongo_get | Mongo.objectId + Mongo.findOne | |
mongo_store | Mongo.insert | but rather Document.save if possible |
mongo_update | Mongo.update | but rather Document.save if possible |
abs | Math.abs | |
evaluate | - | This function was mainly used in 'hacky' ways. It should not be necessary. |
hungarianalgorithm | Math.hungarianAlgorithm | |
random | Math.random | |
runprogram | System.exec | |
round | Math.round | |
systeminfo | System.info | |
worddistance | String.worddistance | |
es_regexfilter | not available at the moment | |
matches | String.matches | |
regex | String.regex | |
replace | String.replace | |
absoluteurl | String.absoluteURL | |
endswith | String.endsWith | |
format | String.format | |
formatxml | not available at the moment | |
indexof | String.indexOf | |
lowercase | String.toLower | |
repeat | String.repeat | |
startswith | String.startswith | |
substring | String.substring | |
trim | String.trim | |
uppercase | String.toUpper | |
addsubnode | XML.moveNode (yes, really) | or XML.insertNode |
copynode | - | Workaround with XML.toString, XML.fromString and then XML.moveNode |
loadxml | XML.fromFile | |
movenode | XML.moveNode | |
removeattribute | XML.removeAttribute | |
removenode | XML.removeNode | |
replacenode | XML.replaceNode | |
setattribute | XML.setAttribute | |
tidy | Web.tidy | |
xpath | XML.xPath or Web.xPath | |
xsdcheck | XML.xsdCheck |