---
title: "MapForce biedt dynamische toegang tot knoopnamen"
date: "2016-10-13"
categories: 
  - "data-integration"
  - "tools"
tags: 
  - "data-integration"
  - "data-mapping"
  - "dynamic-access-to-node-names"
  - "mapforce"
description: MapForce's dynamische toegang tot knoopnamen vereenvoudigt het data-mappingproces door het mogelijk te maken om flexibel en direct XML-elementen en -attributen te creëren, waardoor de aanpasbaarheid voor gestructureerde data wordt verbeterd.
---
Status: #blog

Tags:  #data-integration #data-mapping #dynamic-access-to-node-names #mapforce

Categories: [data-integration](/blog/nl/category/data-integration.md) | [xml](/blog/nl/category/xml.md)
# MapForce biedt dynamische toegang tot knoopnamen

Er zijn situaties, vooral wanneer u te maken krijgt met gestructureerde data, waarin u mogelijk de structurele componenten van een datastroom wilt koppelen en transformeren, samen met de inhoud. MapForce kan dynamisch toegang krijgen tot de namen van knooppunten van XML-elementen, attributen of kolommen van tekstbestanden, zoals de inhoud van CSV-bestanden, om deze te koppelen aan specifieke componenten.

Dynamische toegang tot knoopnamen maakt het mogelijk om elementen en attributen direct te creëren, waarvan de namen niet van tevoren bekend hoeven te zijn of specifiek moeten worden gedefinieerd in de [datamapping](https://www.altova.com/nl/mapforce.html). Deze functie maakt het mogelijk om veel generiekere, flexibelere en herbruikbare mappings te creëren, die minder handmatige interventie vereisen wanneer datamodellen evolueren.

![Nieuws over dynamische toegang tot knoopnamen in MapForce 2017](/blog/images/shutterstock_59314036.jpg)

<!--more-->

Hier is een voorbeeld van een veelvoorkomend CSV-bestand waarin de gegevensvelden niet worden aangeduid met kolomnamen, maar met labels in een aangrenzende cel binnen dezelfde rij:

![Typische invoergegevens in CSV-formaat](/blog/images/csv-input-data.png)

De gegevens in dit voorbeeld zijn niet eens consistent opgebouwd, aangezien de ene record een toevoeging na de achternaam bevat, terwijl een andere record een initiaal als tweede voornaam bevat.

Een waarschijnlijke vereiste voor het omzetten van gegevens voor bestanden zoals deze is om de cellen in kolom A te gebruiken als namen van XML-elementen en de cellen in kolom B als waarden voor elk bijbehorend element. Dit kan nu eenvoudig worden bereikt met dynamische mapping van knoopnamen. Laten we eens kijken hoe dit werkt.

### Dynamische toegang tot de namen van XML-elementen

We beginnen met het maken van een zeer eenvoudig XML-schema voor het doel van de mapping. Dit schema gebruikt het element <xs:any> om een complex element <Employee> te definiëren, dat elk type subelement kan bevatten. Hieronder ziet u het schema in de XMLSpy-weergave:

![XMLSpy: Weergave van het doel voor datamapping](/blog/images/target-schema-view.png)

We beginnen met het maken van de structuur door het CSV-bestand te importeren en een groepsfunctie te gebruiken. Deze functie creëert telkens wanneer "FirstName" voorkomt in kolom A van de invoer, een nieuw <Employee>-element.

![MaForce datamapping die een groepsfunctie weergeeft](/blog/images/data-mapping-group-function.png)

Vervolgens voegen we het gewenste XML-schema toe en klikken we met de rechtermuisknop op het element <Employee>:`

![Contextmenu van MapForce om Dynamische Toegang te selecteren ](/blog/images/mapforce-context-menu.png)

We kiezen de optie "Toon onderliggende elementen met dynamische naam", waarna een dialoogvenster opent waarin we tekst als het gegevenstype voor de onderliggende elementen selecteren. Dit toont de naam en inhoud van de onderliggende elementen van <Employee>, zoals hieronder te zien is:

![MapForce: data-mappingtool met dynamische toegang tot knoopnamen](/blog/images/dynamic-node-access.png)

Het is nu een eenvoudig proces om de gegevens van veld 1 (kolom A van het CSV-bestand) te koppelen aan de namen van de onderliggende elementen, en de gegevens van veld 2 (kolom B) aan de inhoud van die elementen. Hieronder volgt de definitieve datakoppeling:

![MapForce: Data-mapping met dynamische toegang tot knoopnamen](/blog/images/dynamic-access-data-mapping.png)

De functie "groep beginnend met" bovenaan creëert telkens wanneer "FirstName" in het invoerbestand wordt aangetroffen, een nieuw <Employee>-element. Vervolgens genereren de waarden in kolom A voor elke rij de namen van de onderliggende elementen, en de waarden in kolom B worden de waarden voor elk van deze onderliggende elementen.

De output van de bovenstaande mapping ziet er als volgt uit:

![MapForce: dynamische toegang tot gegevens en output van de mapping](/blog/images/dynamic-access-mapping-output-1.png)

Het voordeel van een datamapping die dynamisch toegang gebruikt tot de namen van knooppunten is dat u geen uitgebreide analyse van de invoergegevens hoeft uit te voeren om elk mogelijk element te identificeren en toe te wijzen.

Stel u een veelvoorkomend scenario voor waarin u meerdere invoerbestanden ontvangt van één of meerdere externe bronnen, en waarbij u de mapping-uitvoering automatiseert met MapForce Server en FlowForce Server. Als een invoerbestand plotseling een onverwacht subelement bevat – bijvoorbeeld "OfficeLocation" of "MailStop" – dan gaan de gegevens niet verloren.

### Dynamische toegang tot de namen van XML-elementen of -attributen

U kunt ook de namen van XML-attributen dynamisch toewijzen, met dezelfde mogelijkheid om doel-elementen en -attributen direct te creëren, zonder dat u deze noodzakelijkerwijs allemaal vooraf hoeft te identificeren.
