Show last authors
1 {{toc/}}
2
3 = Introduction =
4
5 Variable is a container that holds a value and can be called in the iXPath Scenario. The importance of
6
7 variables is to make flexibility in using some values without referring to their origins.
8
9 There are 2 types of  variables: 
10
11 * System variables
12 * Local variables
13
14 To call a variable, we should put it inside ${}. Eg: for a variable named ‘iXVar’, it can be called as ${iXVar}.
15
16 == System variables ==
17
18 System variables define some default values in the system, and they can be called by users several times.
19
20 Here is the list of system variables :
21
22 1. At the declaration of the scenario:
23 1*. iXSession: it returns the ID of the current session.
24 1*. iXSessionPath: gets the Path of the session folder.
25 1*. env: name of the environment.
26 1*. inputFile: this variable collect all input files in one list.
27 1. For a **mail listener : **
28 1*. iXFrom: refers to the sender of the mail.
29 1*. iXSubject: refers to the mail subject.
30 1. For an **AS2 listener **: 
31 1*. iXFrom: return the value of the AS2 sender.
32 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 :
33 1*. (((
34 (% style="width:884px" %)
35 |(% style="width:150px" %)**Function**|(% style="width:365px" %)**Description**|(% style="width:367px" %)**Use**
36 |(% style="width:150px" %)Get( x ) |(% style="width:365px" %)Get a file with index number "x" from the BpmnFile list, the indexes begin from 0 as the first element, and so on.|(% style="width:367px" %)(((
37 if we have an XmlToXml connector named "XmlToXml1" we can get __the second__ BpmnFile as :
38
39 ${XmlToXml1.get(1)}
40
41 NB: we will make examples on the same connector "XmlToXml1".
42 )))
43 |(% 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.
44 |(% 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
45 |(% 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.
46 |(% style="width:150px" %)extension()|(% style="width:365px" %)Returns the extension of the BpmnFile.|(% style="width:367px" %)(((
47 Eg : if we want to get the extension of the first BpmnFile, we will proceed as below :
48
49 ${XmlToXml1.get(0).extension()}
50 )))
51 |(% 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.
52 |(% style="width:150px" %)size()|(% style="width:365px" %)Returns the size of the BpmnFile in megabit.|(% style="width:367px" %)(((
53 Eg : ${XmlToXml1.get(0).size()} returns the size of the first BpmnFile.
54 )))
55 |(% style="width:150px" %)type()|(% style="width:365px" %)Returns the type of the BpmnFile|(% style="width:367px" %)(((
56 Eg : To get the type of the second BpmnFile ,
57
58 ${XmlToXml1.get(1).type()}
59 )))
60 )))
61
62 == Local variables ==
63
64 Local variable is a type of variable that can be newly created and used for a certain need.
65
66 So as to create a local variable "newVar" with a value equals to "var number 1", we should write this piece of XSL code :
67
68 {{code language="XML"}}
69 <xsl:value-of select=" ixf:SetVar('newVar', 'var Number 1')"></xsl:value-of>
70
71 {{/code}}
72
73 The call of this new variable in the scenario is similar to previous system variables:  **${newVar}.**
74
75 To get 'newVar' inside an XSL file :
76
77 {{code language="XML"}}
78 <xsl:value-of select="ixf:getVar('newVar')"></xsl:value-of>
79 {{/code}}
80
81 = Examples =
82
83 We set a simple example of a scenario to illustrate how to use variables.
84
85 We want to receive a file by a FileListener and send it by mail that contains a message body.
86
87 here is the scenario:
88
89 [[image:2021-04-27_21h31_55.png||height="140" width="446"]]
90
91 The configuration of the "SendMail" is :
92
93 [[image:2021-04-27_21h32_07.png||height="373" width="281"]]
94
95 As shown in the mail body, we called 3 variables which are :
96
97 * Env: the current environment
98 * iXSession : ID session
99 * path : the path of BpmnFile in FileListener1.
100
101 = String Class =
102
103 in java language, The String class represents character strings. It contains a lot of functions to handle String object.
104
105 you can discover all these functions on the following URL :
106
107 __[[https:~~/~~/docs.oracle.com/javase/8/docs/api/java/lang/String.html#method.summary>>https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#method.summary]] __
108
109 Eg: to check if a variable "myVar" is empty or not, we refer to the isEmpty() method as ${myVar.isEmpty()}, if so then it returns true, if not it will return false.
110
111
112
This wiki is hosted and managed by iXPath
Powered by XWiki 13.3 debian