Wiki source code of 3. Variables
Version 2.14 by Outhman Moustaghfir on 2021/04/27 18:34
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
2.2 | 1 | = Introduction = |
2 | |||
![]() |
2.3 | 3 | Variable is a container that holds a value and can be called in the iXPath Scenario. The importance of variables is to make flexibility in using some values without referring to their origins. |
![]() |
2.2 | 4 | |
![]() |
2.3 | 5 | There are 2 types of variables: |
![]() |
2.2 | 6 | |
![]() |
2.3 | 7 | * System variables |
8 | * Local variables | ||
![]() |
2.2 | 9 | |
![]() |
2.3 | 10 | To call a variable, we should put it inside ${}. Eg: for a variable named ‘iXVar’, it can be called as ${iXVar}. |
![]() |
2.2 | 11 | |
![]() |
2.3 | 12 | == System variables == |
![]() |
2.2 | 13 | |
![]() |
2.3 | 14 | System variables define some default values in the system, and they can be called by users several times. |
![]() |
2.2 | 15 | |
![]() |
2.3 | 16 | Here is the list of system variables : |
17 | |||
18 | 1. At the declaration of the scenario: | ||
19 | 1*. iXSession: it returns the ID of the current session. | ||
20 | 1*. iXSessionPath: gets the Path of the session folder. | ||
21 | 1*. env: name of the environment. | ||
22 | 1*. inputFile: this variable collect all input files in one list. | ||
23 | 1. For a **mail listener : ** | ||
24 | 1*. iXFrom: refers to the sender of the mail. | ||
25 | 1*. iXSubject: refers to the mail subject. | ||
26 | 1. For an **AS2 listener **: | ||
27 | 1*. iXFrom: return the value of the AS2 sender. | ||
![]() |
2.6 | 28 | 1. All connectors declare a system variable of type BpmnFile, the connector variable uses a bunch of functions to handle the list of BpmnFiles that will be detailed in the table below : |
![]() |
2.3 | 29 | 1*. ((( |
![]() |
2.11 | 30 | (% style="width:884px" %) |
31 | |(% style="width:150px" %)**Function**|(% style="width:365px" %)**Description**|(% style="width:367px" %)**Use** | ||
32 | |(% style="width:150px" %)Get(i) |(% style="width:365px" %)Get a file with index number "i" from the BpmnFile list, the indexes begin from 0 as the first element, and so on.|(% style="width:367px" %)((( | ||
![]() |
2.9 | 33 | if we have an XmlToXml connector named "XmlToXml1" we can get __the second__ BpmnFile as : |
![]() |
2.3 | 34 | |
![]() |
2.4 | 35 | ${XmlToXml1.get(1)} |
![]() |
2.6 | 36 | |
![]() |
2.8 | 37 | NB: we will make examples on the same connector "XmlToXml1". |
![]() |
2.4 | 38 | ))) |
![]() |
2.11 | 39 | |(% style="width:150px" %)getTrkValues()|(% style="width:365px" %)Return the Tracking values from a BpmnFile.|(% style="width:367px" %)Eg : ${XmlToXml1.get(0).getTrkValues()} returns the tracking values of the first BpmnFile. |
40 | |(% style="width:150px" %)path()|(% style="width:365px" %)Return the absolute path of the BpmnFile.|(% style="width:367px" %)Eg : ${XmlToXml.get(3).path()} returns the path of the __fourth__ BpmnFile | ||
41 | |(% style="width:150px" %)fileName()|(% style="width:365px" %)Return the name of the BpmnFile. |(% style="width:367px" %)Eg : ${XmlToXml1.get(2).fileName()} retrieves the name of the third BpmnFile. | ||
42 | |(% style="width:150px" %)extension()|(% style="width:365px" %)Returns the extension of the BpmnFile.|(% style="width:367px" %)((( | ||
![]() |
2.9 | 43 | Eg : if we want to get the extension of the first BpmnFile, we will proceed as below : |
![]() |
2.4 | 44 | |
![]() |
2.9 | 45 | ${XmlToXml1.get(0).extension()} |
46 | ))) | ||
![]() |
2.11 | 47 | |(% style="width:150px" %)fullName()|(% style="width:365px" %)Returns the file name + its extension |(% style="width:367px" %)Eg : ${XmlToXml1.get(0).fullName()} returns the full name of the BpmnFile. |
48 | |(% style="width:150px" %)size()|(% style="width:365px" %)Returns the size of the BpmnFile in megabit.|(% style="width:367px" %)((( | ||
![]() |
2.10 | 49 | Eg : ${XmlToXml1.get(0).size()} returns the size of the first BpmnFile. |
50 | ))) | ||
![]() |
2.11 | 51 | |(% style="width:150px" %)type()|(% style="width:365px" %)Returns the type of the BpmnFile|(% style="width:367px" %)((( |
![]() |
2.10 | 52 | Eg : To get the type of the second BpmnFile , |
![]() |
2.9 | 53 | |
![]() |
2.10 | 54 | ${XmlToXml1.get(1).type()} |
55 | ))) | ||
![]() |
2.3 | 56 | ))) |
57 | |||
58 | |||
![]() |
2.12 | 59 | == Local variables == |
![]() |
2.3 | 60 | |
![]() |
2.14 | 61 | Local variable is a type of variable that can be newly created and used for a certain need. |
![]() |
2.3 | 62 | |
![]() |
2.14 | 63 | So as to create a local variable "newVar" with a value equals to "var number 1", we should write this piece of XSL code : |
![]() |
2.3 | 64 | |
![]() |
2.14 | 65 | {{code language="XML"}} |
66 | <xsl:value-of select=" ixf:SetVar('newVar', 'var Number 1')"></xsl:value-of> | ||
![]() |
2.12 | 67 | |
![]() |
2.14 | 68 | {{/code}} |
![]() |
2.12 | 69 | |
![]() |
2.14 | 70 | The call of this new variable in the scnario is similar to previous system variables: **${newVar}.** |
71 | |||
72 | To get 'newVar' from XSL file : | ||
73 | |||
74 | {{code language="XML"}} | ||
75 | <xsl:value-of select="ixf:getVar('Var')"></xsl:value-of> | ||
76 | {{/code}} | ||
77 | |||
78 | |||
79 | |||
80 | |||
81 | |||
82 | |||
![]() |
2.3 | 83 |