Mapping
Mapping in Link can be done in a lot of different ways:
Create a custom itinerary step in C#
Expose a service that does the mapping in a 3rd party tool and in Link use the Http itinerary step to invoke it either using sync or async call
Use XSLT to do the transformation directly in Link using XslTransform itinerary step
We recommend using the out-of-the-box XSLT support. XSLT is a WWW Standard to do transformation between epsecially xml. The great advantage of using XSLT for transformation is you are not bound to one platform. XSLT can be used as transformation in most integration platforms weather it is Azure Logic Apps, IBM Integration bus, Microsoft BizTalk Server, Dell Boomi or Oracle SOA Suite.
Besides just the support of XSLT, Link XslTransform also support the option of easily integrating your own methods/functions to use directly from a XSL map. It could be a functions in C# that uses API to lookup additional data in your ERP, PIM, WMS or other internal systems. Maybe you need to lookup correct item id based on a GTIN, correct account using GLN or number of items on stock. This could then easily be done directly from the mapping. See how to create your own methods here: Create your own mapping helper class
Link already has a lot of Link specific XSL methods available to look up additional data in Link like extract configuration key data in Link from either partner or distribution. This could be data not available in ERP like EDI Contract number, or choises of weather to map 0 quantoty lines to recipents or not. You can read more here about the list of additional xsl methods Link support out-of-the-box: LinkProxy - XSLT
Reuseability is important when creating maps, so you don’t end up with one map per partner, but has the option of reusing the mapping for several partners when they need the same format. To accomplish this it is important to keep integration logic on the integration platform, and avoid hardcoding customer specific data or choises in the mapping. Read here how you can improve reuseability with Link: Reuseability with mappings
Another great thing with the Link Xsl is you can easily define your own error codes with expected cause and solution for the error. This can be embedded directly in the Xslt as defined here: Embedding error code definitions in Xslt files
and it makes it very easy to direct errors to the correct recipient with the information for them to solve it. Often when doing a mapping some information in the source schema is optional while it is required in the destination. While this if often not considered an issue as he date is expected to be filled out, we all know this will not always be the case, and we would then like the errors to be directed directly to the persons who can solve it. One sample could be the GTIN number is optional in you ERP but the partner requires it to be filled out in the EDI file.
To create your mappings it is important with schemas. These help convert from/to xml, but can also be used to validate both in and outbut against the agreed upon schema using XsdValidate component. Read more about schemas here: Schemas to use for mappings
Reasons to Choose XSLT as a Mapping Language:
Standardized and Widely Supported: XSLT is a W3C standard, ensuring broad compatibility across different platforms and tools, making it a reliable choice for enterprises with varied systems.
Powerful and Flexible Transformations: XSLT excels in transforming XML data into different formats, whether it's XML-to-XML, XML-to-HTML, or XML-to-text. It provides powerful constructs like templates, loops, and conditionals to perform complex data manipulations.
Declarative and XML-Based: Being XML itself, XSLT allows transformations to be described declaratively, which can be easier to maintain and understand, especially in environments where XML is the primary data interchange format.
Integration with Existing Tools: Many integration platforms provide native support for XSLT, allowing it to be seamlessly integrated into existing workflows without requiring additional tools or custom code.
Reusability and Modularity: XSLT stylesheets can be modular, with templates that can be reused across different transformation scenarios, promoting code reusability and reducing development time.
Given these advantages, XSLT remains a strong choice for XML transformations, especially in environments that prioritize standardization, flexibility, and the need for robust integration capabilities across diverse systems.