-
- Preview browser
- Page designer
- DQL editor
- Application wide settings
- Security settings
- Page caching module
- Modules
- Snippets
- Actions
- Context editor
- Task editor
- Scheduler editor
- Search engine editor
- Web server console
- Site layout editor
- Template editor
- Robots editor
- Style definitions
- Database manipulation
- Table designer
- Transfer editor
- Reporter
- Deployment module
- Deployment server settings
- Debugger
- .end
- .form header
- .form trailer
- .items
- assign
- application status
- backup db
- begin transaction
- break
- call menu
- call program
- case
- cluster by
- commit
- connect
- copy all from
- data-entry
- db status
- delete records
- define
- disconnect
- do
- documents
- exec SQL
- else
- end
- enter a record
- error messages off
- error messages on
- exit
- export
- for
- global
- if
- import
- imports
- in
- input using
- install application
- into
- list records
- lock
- lock db
- modify records
- message
- named
- others
- prompt
- query selection
- record entry
- records
- reorganize
- restore db
- rollback
- run procedure
- servers
- temp
- then
- tran off
- tran on
- unclustered
- unlock
- unlock db
- via form
- while
- with
- abs
- acos
- addressof
- ampm
- anylookup
- asin
- atan
- atan2
- ceil
- CHR
- concat
- ConsoleCopy
- ConsoleMemoCopy
- ConsoleShow
- ConsoleWriteToFile
- cos
- cosh
- date
- DatePicker
- day
- DEOS
- DialogOpen
- DialogOpenRelated
- DocumentCloseName
- DoesObjectExist
- ExecDQL
- ExecuteFile
- exp
- FileExecDQL
- firstc
- firstlast
- firstw
- FixedWidth
- floor
- futurevalue
- GetCurrent
- GetVar
- hours
- if
- installment
- jointext
- julian
- lastc
- lastfirst
- lastw
- length
- log
- log10
- lower
- MemoChunk
- MemoCopy
- MemoDecodePair
- MemoExecDQL
- MemoFind
- MemoGetGlobal
- MemoLength
- MemoMemoCopy
- MemoMemoReplace
- MemoReadFromFile
- MemoReplace
- MemoSetGlobal
- MemoStringBetween
- MemoStringFrom
- MemoStringTo
- MemoWordCount
- MemoWriteToFile
- midc
- midw
- minutes
- mod
- month
- OpenForm
- OpenMenu
- OpenProcedure
- OpenReport
- periods
- power
- presentvalue
- proper
- random
- rate
- RefreshForm
- RefreshScreen
- RefreshStatus
- Remote
- Remote authentication
- Remote POP3
- Remote IMAP
- Remote SMTP
- Remote XML
- seconds
- SetColor
- SetCurrent
- SetFocus
- SetLabelText
- SetMemoValue
- SetState
- SetStyle
- SetValue
- SetVar
- sin
- sinh
- spellcurrency
- spelldate
- spellmonth
- spellnumber
- spellweekday
- sqrt
- StringBetween
- StringEscape
- StringFind
- StringFrom
- StringReplace
- StringTo
- tan
- tanh
- textpos
- timeampm
- ToText
- UniqueID
- upper
- Wait
- weekday
- WriteToFile
- year
- yearday
- yearweek
- " (quotation marks)
- () (parentheses)
- + (addition)
- , (comma)
- - (subtraction)
- . (period)
- -- (comment)
- / (division)
- * (multiplication)
- * (asterisk)
- ? (question mark)
- ~ (tilde)
- : (colon)
- := (assignment operator)
- ; (semicolon)
- < (less than)
- <= (less than or equal to)
- = (equals)
- > (greater than)
- >= (greater than or equal to)
- all
- all files
- and
- any
- between
- blank
- count
- count of
- file
- highest of
- in groups
- in groups with group-totals
- in order
- in reverse
- item (Statistical)
- item (Conditional Statistical)
- lock files
- lock nothing
- lock records
- lookup
- lowest of
- max
- mean
- mean of
- min
- not
- number
- numeric string
- or
- pause
- percent
- selected record
- std.dev.
- std.err.
- sum
- sum of
- text
- time
- to
- variance
- window
- Rules for queries
- * (asterisk)
- ? (question mark)
- ~ (tilde)
- and
- or
- not
- ( ) (parentheses)
- Debug querys
- Livetext tags
- xdg3 query
- Sessions
- Pagination
- Free text search
- Intro on fields
- Text
- Hidden
- Date
- Dropdown
- List
- Checkbox
- Radio button
- Text edit
- Redactor (richtext)
- CKEditor
- TinyMCE
- Intro
- hasPrismConnection
- doAction
- doDerivation
- doMenuItem
- doPrismDerivation
- setFormField
- runPrismFunction
- @GetDefinition
- . document
- . listcommands
- . listdocuments
- . listdrives
- . listfiles
- . listfunctions
- . listinternals
- . listoperators
- . listrelated
- . listtables
- . object
- . table
- . testdql
- @SetDefinition
- . document
- . object
- Extra modules intro
- python
- Qt
- wkhtmltopdf
- PySide
- PyXCC
- django
- Apache
- LightTPD
- nginx
- pywin32
- flup
- cssutils
- Pillow
- psutil
- mysqldb
- psycopg2
- pyodbc
- python_dateutil
- requests
- suds-ews
- setuptools
- Whoosh
- wmi
- django-send
- bootstrap
- bootstrapmultiselect
- jquery
- jqueryui
- ckedit
- tinymce
- redactor
- JavaScript EU VAT Number Validation
- feedparser
- beautifulsoup
- appsdir
- six
- pycparser
- pyOpenSSL
- cryptography
- cffi
- enum34
- pyasn1
- idna
- ipaddress
- PyYAML
- coverage
- coveralls
- docopt
- mock
- funcsigs
- pbr
- nose
- paypalrestsdk
- paypal
- libcurl
- 7zipcpp
- cef
- cpp-jwt
Remote XML
Since the Remote command have such a huge number of parameters, we have to split the documentation into several documents. This document describes the XML part of remote lookup.
What XML is supported
Remote do only (for now) have XML read support and only by setting the XML document manually from a string. When this is done using the remote("@setxml",xmlstring) command the remote session will be set in xml handling mode. You no longer have access to the default json structure and you can not update any data in the xml structures, only read.
Remote("@setxml",xmlstring) Set xml mode and parses the xml for use Remote("elementname") Return the text inside the element Ex. <elm>This text is returned</elm> Remote("elementname/subelementname") Return the text inside the subelement Ex.<elm><subelm>This text is returned</subelm></elm> Remote("elm/sub.attrname") Return the value of the attribute in the sub element.
Ex. <elm><subelm attrname="This text is returned">Some other text</subelm></elm>Remote("elm/sub[idx]") Return the text in the sub element number idx in an array starting at 0. Idx 1 is then the second element in the array and idx 0 the first.
Ex. Remote("elm/sub[1]") <elm><sub>First</sub><sub>This text is returned</sub></elm>Remote("elm/sub[idx].attrname") Retrun the value of the attribute at index idx in the array. Array starts at 0.
Ex. Remote("elm/sub[0].atxt") <elm><sub atxt="This text is returned"></sub><sub atxt="This is the second"></sub></elm>Example reading a XML
For the example we use a DQLs form holding 3 memo fields named DQL, Layout and Result and 4 text 255 named Field1-4. To run the dql in DQL memo field. we have a button that do a Execute Function/Derivation with ExecDQL(DQL,Field1,Field2,Field3,Field4)
<?xml version="1.0" encoding="UTF-8"?> <response timestamp="20180111105314"> <orderid>102220005</orderid> <authcode>12345</authcode> <result>00</result> <cardissuer> <bank>AIB BANK</bank> <country>IRELAND</country> <countrycode>IE</countrycode> <region>EUR</region> </cardissuer> <orderlines> <orderline price="600" count="5" total="3000">DataEase 8.6 Pro</orderline> <orderline price="1500" count="1" total="1500">Support</orderline> </orderlines> <payment>4500</payment> </response>
The XML in Layout field
raw: define temp "Dummy" text 255 . Dummy := Remote("@setxml",GetValue("Layout")). Dummy := SetValue("Result",stringescape( concat("Reading from the XML gives:/CR", "authcode: ", Remote("response/authcode"), "/CRtimestamp: ", Remote("response.timestamp"), "/CRresult: ", Remote("response/result"), "/CRbank: ", Remote("response/cardissuer/bank") , "/CRcountry: ", Remote("response/cardissuer/country") , "/CRcountrycode: ", Remote("response/cardissuer/countrycode"), "/CROrderline 1:", Remote("response/orderlines/orderline[0]"), " -> ",Remote("response/orderlines/orderline[0].count"), " ", Remote("response/orderlines/orderline[0].price"), "/CROrderline 2:", Remote("response/orderlines/orderline[1]"), " -> ",Remote("response/orderlines/orderline[1].count"), " ", Remote("response/orderlines/orderline[1].price"), "/CRTotal: " , Remote("response/payment") ) )) .
The DQL in the DQL field
Reading from the XML gives: authcode: 12345 timestamp: 20180111105314 result: 00 bank: AIB BANK country: IRELAND countrycode: IE Orderline 1:DataEase 8.6 Pro -> 5 600 Orderline 2:Support -> 1 1500 Total: 4500
What is produced when pushing the button