Altova MapForce® provides an intuitive graphical interface for defining and executing XML-to-XML mappings based on XML Schema or DTD content models. To develop an XML-to-XML mapping, simply load two or more schemas into MapForce and drag connecting lines between the elements or attributes of the source(s) and target(s), as shown below. Mixed content support enables you to map text data that is interspersed with XML nodes. To make your mapping even easier, MapForce automatically connects matching child elements as you create your mapping by default (this setting can be changed in the Connection menu).
Additionally, if your do not have an associated schema for your XML instance, MapForce is able to generate a sample XML Schema behind-the-scenes for use as a content model component for your mapping.
Advanced Data Processing
Data integration projects are often not simply one-to-one mappings of a source to a target component with the same structure. Most mappings involve the use of data processing functions to manipulate data between the content models. You may need to perform logical comparisons, mathematical computations, or string operations, and make other modifications to the data to complete your mapping. In the screenshot above, data processing functions appear as boxes between the lines joining the source and target XML Schemas.
Data processing functions enable you perform advanced data transformations on-the-fly for a multitude of real-world transformation requirements. You can, for example, map multiple source elements to one target element to map European and US addresses to one generic “address” field, or easily convert incongruous date/time formats.
MapForce also supports advanced XML-to-XML transformations involving multiple input and output schemas, or advanced multi-pass data transformations (from schema, to schema, to schema, etc.), for which you simply insert additional XML Schemas or DTDs into MapForce and draw additional mappings.
XSLT 1.0/2.0 Function Libraries
To extend the function libraries included within MapForce, you can add any existing XSLT 1.0/2.0 file as a library, and all named templates in that file will automatically become available as data transformation functions that you can use in your XML mapping project in an intuitive visual manner. This allows you to leverage work you've already completed, as well as take advantage of existing XSLT libraries, such as the XSLT Standard Library. The XSLT Standard Library is a standard feature in MapForce that becomes available when you select XSLT 1.0 or 2.0 as your output format.
In addition to full support for XSLT 1.0 for executing XML mapping transformations, MapForce includes a complete implementation of XSLT 2.0 for use in your data processing functions. XSLT 2.0 provides a significant number of improvements and enhancements to their earlier versions, including a vast array of powerful new functions and operators that you can use in MapForce to process data in your XML mappings.
MapForce also allows you to create and save new functions quickly and easily. The visual function builder allows you visually group multiple functions in a mapping design into one user-defined function, which you can then save and add to the function library to reuse as necessary.
As you design an XML mapping project, the built-in MapForce Engine allows you to view and save the autogenerated XSLT 1.0/2.0 or XQuery code with one click. You can also click the Output tab to view the actual output generated by your mapping.
XSLT & XQuery
Once you have finished defining your XML mapping and data processing rules, you can load an XML instance document, and the built-in MapForce Engine will instantly convert the data into the new format. MapForce also autogenerates XSLT 1.0 or 2.0 stylesheets for use in transforming data in multiple XML documents based on the source schema to conform to the target XML Schema. (Additionally, MapForce Professional and Enterprise Editions generate program code for any XML mapping, as described below.)
The ability to generate XQuery code allows you work with XQuery natively, with MapForce acting as a visual XQuery builder. The XQuery code produced by MapForce based on your XML mapping can be executed in an XML-capable database, or you can view the results of an XQuery using the MapForce output preview feature.
In addition to XSLT 1.0 and 2.0 stylesheets and XQuery code, MapForce generates Java, C++, and C# program code for marshalling data from the source to the target content model as defined in your XML mapping.
In addition to XML-to-XML mapping, MapForce supports mapping any combination of XML, database, flat file, EDI, Excel 2007, XBRL, and Web services data to build data integration or Web services applications.