Changes for page 3. Variables
Last modified by Outhman Moustaghfir on 2024/01/23 13:58
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 2 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. rchettahi1 +XWiki.omoustaghfir - Content
-
... ... @@ -1,0 +1,112 @@ 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 +
- 2021-04-27_21h31_55.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.omoustaghfir - Size
-
... ... @@ -1,0 +1,1 @@ 1 +27.0 KB - Content
- 2021-04-27_21h32_07.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.omoustaghfir - Size
-
... ... @@ -1,0 +1,1 @@ 1 +36.4 KB - Content