Wiki source code of 3. Variables
Version 2.14 by Outhman Moustaghfir on 2021/04/27 18:34
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | = Introduction = | ||
2 | |||
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. | ||
4 | |||
5 | There are 2 types of variables: | ||
6 | |||
7 | * System variables | ||
8 | * Local variables | ||
9 | |||
10 | To call a variable, we should put it inside ${}. Eg: for a variable named ‘iXVar’, it can be called as ${iXVar}. | ||
11 | |||
12 | == System variables == | ||
13 | |||
14 | System variables define some default values in the system, and they can be called by users several times. | ||
15 | |||
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. | ||
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 : | ||
29 | 1*. ((( | ||
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" %)((( | ||
33 | if we have an XmlToXml connector named "XmlToXml1" we can get __the second__ BpmnFile as : | ||
34 | |||
35 | ${XmlToXml1.get(1)} | ||
36 | |||
37 | NB: we will make examples on the same connector "XmlToXml1". | ||
38 | ))) | ||
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" %)((( | ||
43 | Eg : if we want to get the extension of the first BpmnFile, we will proceed as below : | ||
44 | |||
45 | ${XmlToXml1.get(0).extension()} | ||
46 | ))) | ||
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" %)((( | ||
49 | Eg : ${XmlToXml1.get(0).size()} returns the size of the first BpmnFile. | ||
50 | ))) | ||
51 | |(% style="width:150px" %)type()|(% style="width:365px" %)Returns the type of the BpmnFile|(% style="width:367px" %)((( | ||
52 | Eg : To get the type of the second BpmnFile , | ||
53 | |||
54 | ${XmlToXml1.get(1).type()} | ||
55 | ))) | ||
56 | ))) | ||
57 | |||
58 | |||
59 | == Local variables == | ||
60 | |||
61 | Local variable is a type of variable that can be newly created and used for a certain need. | ||
62 | |||
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 : | ||
64 | |||
65 | {{code language="XML"}} | ||
66 | <xsl:value-of select=" ixf:SetVar('newVar', 'var Number 1')"></xsl:value-of> | ||
67 | |||
68 | {{/code}} | ||
69 | |||
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 | |||
83 |