XML Mapping

Convert XML Data

  • Drag-and-drop mapping between components
  • Supports XML Schema and DTD content models
  • Generates XML Schema from instance document
  • XSLT 1.0/2.0/3.0 Libraries and data processing functions
  • XML Digital Signature support
  • Support for XML wildcards (xs:any and xs:anyAttribute)
  • Support for comments and processing instructions
  • Convert XML with XSLT

Creating an XML Mapping

MapForce supports XML mappings based on XML Schema or DTD content models. To develop an XML mapping, simply load two or more schemas into MapForce and drag connecting lines between the nodes of the source and target. Mixed content support even enables you to map text data that is interspersed with XML.

If you do not have an associated schema for an XML instance document, MapForce automatically generates an XML Schema from an XML instance document.

MapForce XML Mapping

MapForce supports advanced XML transformations between multiple input and multiple output schemas, multiple source and/or target files, or advanced multi-pass data transformations (from schema, to schema, to schema, etc.)

Once you have finished defining your XML mapping and data processing rules, you can load a source file, and the MapForce Built-In Execution Engine will instantly convert the data into the new format.

MapForce also autogenerates XSLT 1.0, XSLT 2.0, or XSLT 3.0 stylesheets for use in transforming data in multiple XML documents based on the source schema to conform to the target XML Schema.

Learn how to convert XML to XML and other formats in MapForce

In addition to XML mapping, MapForce supports mapping any combination of XML, JSON, PDF, database, EDI, XBRL, flat file, Excel, Protobuf, and/or Web service data to build data integration or Web services applications.

Viewing XML Mapping Output

As you design an XML mapping project, the built-in MapForce Engine allows you to view and save the autogenerated XSLT 1.0, XSLT 2.0, XSLT 3.0 or XQuery code with one click. You can also click the Output tab to view the actual output generated by your XML mapping.

The screenshot below shows the XML output and the generated XSLT 2.0 style sheet for the XML mapping illustrated above.

MapForce XML Mapping output

XML Mapping with Digital Signatures

Digital signatures are a W3C specification to digitally sign an XML document with an encrypted code that can be used to verify that the XML document has not been altered. The XML Signature feature in MapForce supports only certificates of type RSA-SHA1 and DSA-SHA1.

MapForce supports creating XML digital signatures for XML and XBRL output files. A signature is created for the generated result file when the output button is pressed, and the result file with the signature may be saved.

Digital signatures can be embedded as the last element of the output document or stored in a separate signature file.

  • If "Enveloped" is selected, then the signature is the last child element below the root element of the XML file.
  • If "Detached" is selected, then the signature file is generated as a separate document.

The image at the right shows a digital signature at the end of the result file, generated using the enveloped option.

MapForce XML mapping with digital signatures

XML document validity

If an XML signature is embedded in the XML document, a Signature element in the namespace http://www.w3.org/2000/09/xmldsig# is added to the XML document. In order for the document to remain valid according to a schema, the schema must contain the appropriate element declarations. If you do not wish to modify the schema of the XML document, the XML signature can be created in an external file using the "Detached" option.

Support for XML Wildcards

The <xs:any> element and <xs:anyAttribute> in an XML Schema design allow any new element or attribute to be placed at the corresponding location in an XML instance document, even though the new element or attribute is not defined in the XML Schema. This is known as an XML wildcard and it is a popular mechanism used to allow a degree of customization in many XML Schemas that support industry standards across a wide variety of businesses.

MapForce supports <xs:any> and <xs:anyAttribute> for mapping to output in XML or any other output format. A selection button next to <xs:any> or <xs:anyAttribute> in an XML mapping input component opens a wildcard selection dialog.

The <xs:any> element, as well as <xs:anyAttribute>, are commonly used in XML Schema design and support in MapForce has been a frequent user request.

XML Mapping to and from Databases

MapForce includes powerful support for database mapping, including mapping between any of database data and XML, flat files, EDI, Excel (OOXML), XBRL, Web services, and even other database formats.

When you load a database structure in the design window, MapForce automatically interprets the database schema, lets you pick available database tables and views, and recognizes table relationships.

MapForce Database Mapping

Once you have loaded all of the XML and other content models required for your database mapping, complete the mapping by simply dragging connecting lines between the source and target structures.

Supported Relational Databases:

  • Firebird
  • IBM DB2 for iSeries®
  • IBM DB2®
  • Informix®
  • MariaDB
  • Microsoft Access™
  • Microsoft® Azure SQL
  • Microsoft® SQL Server®
  • MySQL®
  • Oracle®
  • PostgreSQL
  • Progress OpenEdge
  • SQLite
  • Sybase® ASE
  • Teradata

Supported NoSQL Databases:

  • MongoDB
  • CouchDB

MapForce supports all major relational databases, as well as popular NoSQL databases, empowering you to create graphical database mapping designs between database source data, data processing functions and filters, and other data structures of various types.

Database Mapping Features:

  • Database queries on all major databases
  • Mapping data from any supported database type to any other
  • Specify database key settings
  • Define database table actions
  • Query databases directly
  • Connect to and map XML in database fields
  • Sort database input components

Filtering and Processing Database Data

Many database mappings require manipulation of data between the source and target based on Boolean conditions or SQL and SQL/XML statements. You may need to perform logical comparisons, mathematical computations, or string operations, check for database data of a particular value, and make other modifications to the data. In screenshot above, data processing functions appear as the boxes between the lines joining the source and the target data model.

Data processing functions enable you perform advanced database mappings on-the-fly for a multitude of real-world transformation requirements. You can, for example, construct database mappings that use XML or EDI messages to extract database rows based on filter criteria from the XML or EDI elements.

Database-to-XML mappings produce an XML output document, database mappings to flat files have output in CSV or fixed-length text files, mappings of databases to EDI can produce EDIFACT, X12, or HL7 messages, database mappings to Excel produce Office Open XML (OOXML) markup, and mappings to XBRL produce XBRL financial reports.

XML mappings into a database produces output in the form of SQL scripts (e.g., SELECT, INSERT, UPDATE, and DELETE statements) that are run against your target database directly from within MapForce.

XBRL Data Mapping

Extensible Business Reporting Language (XBRL) is an XML-based markup language for electronic transmission of business and financial data.

MapForce supports the use of XBRL taxonomies as the source or target of any mapping, enabling you to graphically transform backend accounting data into a compliant format without any risk to its semantic or structural integrity and/or integrate reporting data for financial analysis.

MapForce XBRL Mapping

Support for mapping execution files and code generation in Java, C#, or C++ means that you can also automate the conversion of financial data based on the graphical mapping design. This makes public financial data submission a repeatable and highly manageable process, allowing you to produce valid XBRL reports as required based on the variable data stored in accounting system fields.

Developing XBRL Mappings

To develop an XBRL mapping based on an existing taxonomy, simply insert your taxonomy structure in the MapForce design pane. MapForce will display a graphical representation of the file structure, depicting taxonomy concepts, hypercubes, abstract elements, periods, identifiers, etc. with intuitive icons.

The XBRL component takes structural and semantic information from the associated linkbases and is presented in a hierarchy that can be easily interpreted, expanded or contracted as needed.

Filtering and Processing XBRL Data

MapForce provides flexible support for filtering and processing data via advanced processing functions based on Boolean conditions or manipulating data as it’s converted from source to target format.

For example, because XBRL data is essentially flat, it is often necessary to apply grouping functions that combine source data into groups and then further process those groups to transform the data into a hierarchical structure. This is facilitated by grouping functions in the MapForce function library.

Any-to-Many and Chained Data Mappings

MapForce is an extremely flexible XML mapping tool for complex data integration and conversion projects. The input and destination of a data mapping can be mixed formats, including any combination of XML, databases, flat files, EDI, Excel, XBRL, Shopify/GraphQL and Web services. A data mapping can have one input mapped to one output, one input to many outputs, many sources to one destination, or many sources to many destinations, all in different data formats.

MapForce Chained Mapping

MapForce lets you integrate data from multiple files and data sources or split data from one source into many outputs. Multiple files can be specified through support for wildcard characters (e.g., ? or *) in filenames, a database table, auto-number sequences, or other methods. This feature is very useful in a wide variety of data integration scenarios; for example, it may be necessary to integrate data from a file collection or to generate individual XML files for each main table record in a large database.

MapForce also allows you to use file names as parameters in your data integration projects. This lets you create dynamic mappings in which specific file names are defined at run-time.

Chained Data Mapping

Chained transformations empower you to create complex mappings in which the output of one mapping becomes the input of another. This powerful feature adds to MapForce's ability to execute fully automated transformations. Each chained component becomes a modular entity in an interdependent transformation sequence, allowing for conversions to be made on-the-fly.

Chained transformations can be created using any number of mapping components connected to a final target component. Preview and code generation features can be displayed/generated for intermediate components, as well as for the final mapping result.

Automate XML Mapping Execution with MapForce Server

Altova MapForce Server includes the built-in data transformation engine developed for MapForce and is greatly enhanced to operate in server environments. MapForce Server performs data transformations for any combination of XML, database, EDI, XBRL, flat file, Excel, JSON, Protocol Buffers, and/or Web services using preprocessed and optimized data mappings stored in execution files based on data mappings defined in MapForce. MapForce Server takes data transformation to the next level with server capabilities including parallel processing and multi-threading, bulk SQL insert, cross-platform support, and more.

Preprocessing enables faster performance and reduced memory footprint for most data mappings. MapForce Server operates under the management of FlowForce Server, in a standalone configuration executed from a command line, or programmatically via an API.

After a MapForce XML mapping is designed and tested, it can be executed by MapForce Server to automate business processes that require repetitive data transformations.

Creating a MapForce Server Execution File

MapForce pre-processes and optimizes XML data mappings, stores them in MapForce Server Execution files for command-line execution by MapForce Server, and uploads them for use in FlowForce Server jobs.

When MapForce Server operates under the management of FlowForce Server, data mappings are executed as FlowForce Server job steps, based on triggers defined as part of the FlowForce Server job. For example, a new XML instance document lands in a directory, which triggers a multi-step FlowForce Server job to first validate the file using RaptorXML+XBRL Server, then execute MapForce Server to extract certain data from the XML and insert it into a database.

Supported XML Vocabularies

MapForce supports mapping, transforming, and converting any of the endless number of XML-based vocabularies in use today, including those below.

NameExtDescriptionVerticalStandards Body
ACORD Standards

.xml

The insurance industry's data standards for policy, claims, billing, and reinsurance transactions between carriers, brokers, and agencies.Insurance
AUTOSAR XML

.arxml

The AUTOSAR exchange format describing automotive ECU software architecture, interfaces, and communication matrices - central to every modern vehicle development program.Automotive engineering
Atom Syndication Format

.atom

The IETF-standardized web-feed format used by blogs, news sites, and many enterprise APIs as an alternative to RSS.Media, publishing, APIs
BPMN (Business Process Model and Notation)

.bpmn

The OMG standard for business process diagrams and executable process definitions, used by Camunda, Signavio, Bizagi, and most BPM suites.Business process management, workflow automation
CBCR (Country-by-Country Reporting)

.xml

The OECD schema through which multinational enterprises report revenue, profit, and tax paid per jurisdiction to tax administrations under BEPS Action 13.Tax reporting, regulatory compliance
CDISC ODM / Define-XML

.xml

The clinical research standards for exchanging trial data and describing dataset metadata in regulatory submissions to the FDA and PMDA.Clinical trials, pharmaceutical R&D
CML (Chemical Markup Language)

.cml

The open vocabulary for molecules, reactions, and spectra used in cheminformatics toolkits, chemical databases, and scientific publishing.Chemistry, cheminformatics
DAISY Digital Talking Book

.opf

.ncx

.xml

The accessible-publishing standard for navigable audio and text books used by libraries and services for print-disabled readers.Accessible publishing, libraries
DITA (Darwin Information Typing Architecture)

.dita

.ditamap

The OASIS architecture for topic-based technical documentation, used for modular authoring, conditional publishing, and content reuse across product documentation sets.Technical documentation, content management
DMN (Decision Model and Notation)

.dmn

The OMG standard for business decision logic and decision tables, executed by business rules engines alongside BPMN processes.Business rules, decision automation
DocBook

.dbk

.xml

A long-established markup vocabulary for technical books, manuals, and reference documentation, widely used in open-source and publishing toolchains.Technical publishing, documentation
Dublin Core Metadata

.xml

The most widely deployed metadata vocabulary for describing digital and physical resources, embedded in library catalogs, repositories, and content management systems.Libraries, archives, metadata management
EC CESOP

.xml

The European Commission schema through which payment service providers report cross-border payment data quarterly to combat VAT fraud.Payments, VAT compliance
EPUB (Electronic Publication)

.epub

The dominant open e-book standard; the package document, navigation document, and content files inside an EPUB are XML and XHTML.Publishing, e-books, education

W3C

FDA SPL (Structured Product Labeling)

.xml

The HL7 document standard in which drug and device labeling, ingredients, and establishment registration data are submitted to the FDA.Pharmaceutical regulatory affairs
FIXML

.xml

The XML encoding of the FIX protocol used for securities order routing, execution reports, and post-trade clearing messages at exchanges and CCPs.Capital markets, securities trading
FpML (Financial products Markup Language)

.xml

The industry standard for describing OTC derivatives and structured products, used for trade confirmation, valuation, and regulatory reporting under EMIR and Dodd-Frank.Capital markets, derivatives
GML (Geography Markup Language)

.gml

The OGC grammar for geographic features that underpins many national spatial data infrastructures and the EU INSPIRE directive.Geospatial / GIS, government
GPX (GPS Exchange Format)

.gpx

The de facto standard for exchanging GPS waypoints, routes, and tracks between devices and apps such as Garmin, Strava, Komoot, and Ride with GPS.GPS, outdoor sports, fleet tracking
GS1 EPCIS / GS1 XML

.xml

The GS1 standards for supply chain event visibility and business documents, underpinning traceability mandates in food safety and pharmaceutical serialization.Supply chain, retail, pharma traceability
HL7 CDA / C-CDA (Clinical Document Architecture)

.cda

.xml

The HL7 standard for clinical documents such as discharge summaries, referrals, and continuity-of-care records; the backbone of health information exchange.Healthcare
HL7 FHIR (XML Serialization)

.xml

The XML form of FHIR resources and bundles — the dominant modern healthcare interoperability standard, required by the US CMS Interoperability Rule.Healthcare
HL7 Version 3 (Normative Edition)

.xml

The HL7 v3 message and document models for healthcare interoperability, including the Clinical Document Architecture and the RIM-derived message vocabularies.Healthcare
HR Open Standards (HR-XML)

.xml

The interoperability standards for human resources data - job postings, candidate profiles, payroll, benefits, and time reporting - exchanged between HCM systems and service providers.Human resources, payroll
IEC CIM (Common Information Model)

.xml

The IEC 61970/61968 model for exchanging electrical grid topology, asset, and market data between utility control centers and planning tools.Utilities, energy grid operations
ISO 20022 Payment Messages

.xml

The global financial messaging standard for credit transfers, direct debits, and cash reporting (pain, pacs, camt) — now mandatory for SEPA, CHAPS, Fedwire, and SWIFT cross-border payments.Banking, payments, treasury
JSP Tag Library Descriptor

.tld

The XML descriptor that declares custom tags, functions, and validators available to JavaServer Pages in Java web applications.Enterprise Java applications
JasperReports Report Template

.jrxml

The XML report template of JasperReports, the most widely embedded open-source reporting engine in Java business applications.Business intelligence, enterprise reporting
Java EE Deployment Descriptors

.xml

The configuration documents (web.xml, ejb-jar.xml, application.xml) that define servlets, EJBs, security constraints, and resource references in Java enterprise applications.Enterprise Java applications
KML (Keyhole Markup Language)

.kml

The format for geographic annotation and visualization popularized by Google Earth and Google Maps, now an OGC standard.Geospatial / GIS
LandXML

.xml

The interchange format for civil engineering and land survey data - alignments, surfaces, parcels, and cross sections - supported by Civil 3D, Bentley, and Trimble.Civil engineering, surveying
MISMO

.xml

The mortgage industry's data standard for loan origination, underwriting, servicing, and secondary-market delivery, required by Fannie Mae and Freddie Mac.Mortgage, lending
MPEG-DASH MPD (Media Presentation Description)

.mpd

The manifest that drives MPEG-DASH adaptive video streaming used by YouTube, Netflix, and most modern streaming platforms.Broadcast, OTT video streaming
MTConnect

.xml

The manufacturing standard through which CNC machines, robots, and sensors publish operational data to MES and analytics systems on the shop floor.Manufacturing, industrial IoT
MusicXML

.musicxml

The standard format for exchanging sheet-music notation between Finale, Sibelius, MuseScore, Dorico, and music scanning software.Music notation, publishing, education
NCAXML

.xml

The National Coffee Association's standard for green coffee trade documents - contracts, shipping advices, and weight certificates - between growers, traders, and roasters.Commodity trading, food supply chain
NIEM XML

.xml

The National Information Exchange Model used for information sharing across US justice, immigration, emergency management, and public health agencies.Government information exchange
NITF (News Industry Text Format)

.nitf

.xml

The IPTC standard for marking up news article content and metadata, used by wire services and newspaper production systems.News media, publishing
NewsML

.xml

The IPTC standard for packaging and exchanging multimedia news items, including text, images, video, and their rights and provenance metadata.News media, syndication
OAGIS (Open Applications Group Integration Specification)

.xml

A widely deployed canonical model of Business Object Documents for integrating ERP, CRM, MES, and logistics applications across enterprises.Enterprise application integration
ODX (Open Diagnostic Data Exchange)

.odx

The ASAM/ISO 22901 format describing vehicle diagnostic data, fault codes, and ECU flash procedures used by service tools and test benches.Automotive diagnostics, aftersales
OFX / QFX (Open Financial Exchange)

.ofx

.qfx

The format banks and brokerages use for downloadable account statements and transaction histories consumed by Quicken, QuickBooks, and accounting systems; OFX 2.x is pure XML.Banking, personal and business finance
ONIX for Books

.xml

The global standard by which publishers send book metadata - titles, contributors, prices, rights - to retailers, wholesalers, and libraries.Book publishing, retail supply chain
OOXML (Office Open XML)

.docx

.xlsx

.pptx

The ECMA-376 / ISO 29500 markup inside every modern Word, Excel, and PowerPoint file; WordprocessingML, SpreadsheetML, and PresentationML parts are XML documents within an OPC package.Office productivity, business documents
OSM XML (OpenStreetMap)

.osm

The native data format of the OpenStreetMap project, containing the nodes, ways, and relations that describe the world map.Geospatial / GIS, mapping
OpenDRIVE

.xodr

The ASAM standard describing road networks, lanes, and signage for driving simulation and autonomous-vehicle validation.Automotive, autonomous driving simulation
OpenSCENARIO

.xosc

The ASAM standard describing dynamic traffic scenarios and manoeuvres used to test advanced driver assistance and autonomous driving functions.Automotive, autonomous driving simulation
P3P (Platform for Privacy Preferences)

.xml

The W3C format for machine-readable website privacy policies, letting browsers compare a site's data practices against user preferences.Web privacy, compliance

W3C

RIXML

.xml

The standard for tagging and distributing investment research so that buy-side firms can categorize, route, and search sell-side analyst publications.Capital markets, investment research
RSS (Really Simple Syndication)

.rss

The web-feed format behind news syndication and virtually all podcast distribution — every podcast in the world is published as an RSS document.Media, publishing, podcasting
SDMX-ML

.xml

The ISO standard for exchanging statistical data and metadata, used by the ECB, Eurostat, IMF, OECD, BIS, and national statistical institutes.Official statistics, central banking
SMIL (Synchronized Multimedia Integration Language)

.smil

.smi

The W3C language for timed multimedia presentations, used in digital signage, broadcast playout, streaming ad insertion, and accessible talking books.Digital signage, broadcast, multimedia

W3C

SSIS Package (SQL Server Integration Services)

.dtsx

The package file that defines a SQL Server Integration Services ETL job - control flow, data flow, and connection managers - stored entirely as XML.Data integration, ETL, data warehousing
SSRS Report Definition Language

.rdl

.rdlc

The XML report definition consumed by SQL Server Reporting Services and Power BI Report Server, describing datasets, layout, and parameters.Business intelligence, enterprise reporting
SVG (Scalable Vector Graphics)

.svg

The web and print standard for resolution-independent vector graphics; every logo, icon, and chart saved as SVG is a plain XML document.Graphic design, web, publishing

W3C

StratML (Strategy Markup Language)

.xml

The ISO standard for machine-readable strategic plans and performance reports, used by US federal agencies and other public-sector bodies.Government, strategic planning
TCX (Training Center XML)

.tcx

Garmin's format for fitness activity data - heart rate, laps, cadence, and GPS - exchanged between sports watches and platforms such as Strava and TrainingPeaks.Fitness, sports analytics
TEI (Text Encoding Initiative)

.tei

.xml

The scholarly standard for encoding literary and historical texts, manuscripts, and critical editions in digital humanities projects worldwide.Digital humanities, academic research
TMX (Translation Memory eXchange)

.tmx

The industry-standard format for exchanging translation memories between computer-aided translation tools such as Trados, memoQ, and Phrase.Localization, translation
TTML / DFXP (Timed Text Markup Language)

.ttml

.dfxp

The standard format for subtitles and closed captions in broadcast and streaming workflows, including the Netflix and IMSC delivery profiles.Broadcast, streaming, accessibility

W3C

Tableau Workbook / Data Source

.twb

.tds

Tableau's uncompressed workbook and data-source files, which store worksheets, calculated fields, and connection metadata as XML.Business intelligence, analytics
UBL (Universal Business Language)

.xml

The OASIS/ISO standard behind Peppol, XRechnung, and most national e-invoicing mandates, covering invoices, orders, despatch advices, and credit notes.E-invoicing, procurement, ERP integration
UN/CEFACT Cross Industry Invoice (Factur-X / ZUGFeRD)

.xml

The CII syntax used by the French Factur-X and German ZUGFeRD hybrid e-invoice formats, where a factur-x.xml payload carries the machine-readable invoice data.E-invoicing, accounts payable
USPTO Patent XML

.xml

The formats in which the US Patent and Trademark Office publishes patent grants and applications, including full text, claims, and bibliographic data.Intellectual property, legal research
VAST (Video Ad Serving Template)

.xml

The IAB standard response format through which video ad servers deliver creatives and tracking events to players - behind essentially every online video ad.Digital advertising, adtech
VoiceXML

.vxml

The W3C language for building voice dialogs in interactive voice response systems, defining prompts, grammars, and call flow logic.Contact centers, telephony

W3C

WML (Wireless Markup Language)

.wml

The WAP-era markup for pages delivered to early mobile handsets; still encountered in legacy telecom systems and archived content.Telecommunications (legacy)
XBRL (eXtensible Business Reporting Language)

.xbrl

The global standard for digital financial and regulatory reporting, mandated by the US SEC (EDGAR), ESMA (ESEF), HMRC, and dozens of other regulators.Finance, accounting, regulatory reporting
XLIFF (XML Localization Interchange File Format)

.xlf

.xliff

The OASIS standard for moving translatable content between translation management systems and CAT tools; the workhorse file of the localization industry.Localization, translation
XMI (XML Metadata Interchange)

.xmi

The OMG standard for exchanging UML and other metamodel-based models between modeling tools such as Enterprise Architect, MagicDraw, and Papyrus.Software architecture, enterprise modeling
XML Resume

.xml

A structured vocabulary for CVs and resumes, enabling a single source document to be published to multiple output formats and parsed by applicant tracking systems.Recruiting, human resources
XMP (Extensible Metadata Platform)

.xmp

Adobe's ISO-standardized metadata format for photos, videos, and creative assets; sidecar .xmp files are plain XML/RDF written by Lightroom, Bridge, and Camera Raw.Photography, digital asset management
cXML (commerce XML)

.xml

The transaction format behind SAP Ariba and most B2B punchout catalogs, purchase orders, and invoices in enterprise procurement.Procurement, B2B commerce
gbXML (Green Building XML)

.gbxml

The interoperability format that carries building geometry, zones, and construction data from CAD/BIM tools into energy simulation and HVAC load analysis.AEC, building energy modeling
ifcXML (Industry Foundation Classes, XML)

.ifcxml

The XML serialization of the buildingSMART IFC model - the open standard for exchanging Building Information Models between Revit, ArchiCAD, Tekla, and others.AEC, BIM, construction