GetTracking
Last modified by Outhman Moustaghfir on 2024/07/23 13:27
Introduction
In this section, we will go throw an XSL function to get trackings by trkID or using Keys/Values.
Parameters
GetTracking uses 4 params to help retrieve trackings in question.
- xpathExpression: read the IXpathExpression for more details (IXpathExpression)
- fetchLinks : for optimization, you can choose the links you would like to fetch by sending the links needed separated by ';' , if your xpathExpression contains already the link, it can bypass this param. If you want to fetch all links - which is not recommended - you can put the value '$ALL'.
- limit: it defines the max number of tracking to retrieve. it's optional. (Optional)
- order: whether you want to order the list of trackings in a descending way or not by a certain key order. The default value is 'trkID' and it's optional as long as you fill in the limit value. (Optional)
- includeKeys: This parameter specifies the keys to be fetched. If it is null or empty, all keys will be fetched. keys are separted by ";" and if we want to fetch keys in subTracking we can use this expression for example 'SubTrk.SubTrkLevel2.subTrkLevel3.key'. This parameter is optional.
Uses
We suppose that we have a tracking type named Product. It has 3 data (Name, Brand, and Country).
if we want to get Product by key values
<xsl:value-of select="ixf:GetTracking('Product [Name == Laptop AND Brand == Dell AND _statusTracking==Delivered ]')"></xsl:value-of>
Searching by trkIDs :
<xsl:value-of select="ixf:GetTracking('Product [ _trkID € '632061bef8aef457701a28d2;632061e5f8aef457701a28d3;63206213f8aef457701a28d4]')"></xsl:value-of>
Set the limit value to get only 4 elements and fetch link 'Invoice' :
<xsl:value-of select="ixf:GetTracking('Product [Name == Laptop AND Brand == Dell AND _statusTracking==Delivered ]','Invoice',4)"></xsl:value-of>
Add an order by Country :
<xsl:value-of select="ixf:GetTracking('Product [Name == Laptop AND Brand == Dell AND _statusTracking==Delivered ]','Invoice',4,'Country')"></xsl:value-of>
if you want to add an order without filling the limit and the fetchLink params, you must put 0 as a value to it :
<xsl:value-of select="ixf:GetTracking('Product [Name == Laptop AND Brand == Dell AND _statusTracking==Delivered ]','',0,'Country')"></xsl:value-of>
GetTracking with projection :
<xsl:value-of select="ixf:GetTracking('Product [Name == Laptop AND Brand == Dell AND _statusTracking==Delivered ]/Processors')"></xsl:value-of>