Kaarten maken om gegevens te transformeren in Azure Logic Apps met Visual Studio Code
Van toepassing op: Azure Logic Apps (Standard)
Als u berichten wilt uitwisselen met verschillende XML- of JSON-indelingen in een Azure Logic Apps-werkstroom, moet u de gegevens van de ene indeling naar de andere transformeren, met name als u hiaten hebt tussen de bron- en doelschemastructuren. Met gegevenstransformatie kunt u deze hiaten overbruggen. Voor deze taak moet u een kaart maken waarmee de transformatie tussen gegevenselementen in de bron- en doelschema's wordt gedefinieerd.
Als u een kaart visueel wilt maken en bewerken, kunt u Visual Studio Code gebruiken met de Azure Logic Apps-extensie (Standard) in de context van een standaard-logische app-project. Het hulpprogramma Data Mapper biedt een uniforme ervaring voor XSLT-toewijzing en -transformatie met behulp van bewegingen voor slepen en neerzetten, een vooraf gemaakte functiebibliotheek voor het maken van expressies en een manier om de kaarten die u in uw werkstromen maakt en gebruikt, handmatig te testen.
Nadat u de kaart hebt gemaakt, kunt u die kaart rechtstreeks aanroepen vanuit een werkstroom in uw logische app-project of vanuit een werkstroom in Azure Portal. Voor deze taak kunt u de actie Gegevenstoewijzingsbewerkingen met de naam Transformeren gebruiken met behulp van Data Mapper XSLT in uw werkstroom.
Deze instructiegids laat zien hoe u een lege gegevenstoewijzing maakt, uw bron- en doelschema's kiest, schema-elementen selecteert om de toewijzing te starten, verschillende toewijzingen maakt, uw kaart opslaat en test en vervolgens de kaart aanroept vanuit een werkstroom in uw logische app-project.
Beperkingen en bekende problemen
Data Mapper werkt momenteel alleen in Visual Studio Code die wordt uitgevoerd op Windows-besturingssystemen.
Data Mapper is momenteel alleen beschikbaar in Visual Studio Code, niet in De Azure-portal, en alleen vanuit Standaard logische app-projecten, niet met behulp van logische app-projecten voor verbruik.
Data Mapper biedt momenteel geen ondersteuning voor bestanden met door komma's gescheiden waarden (.csv).
Het deelvenster Codeweergave van Data Mapper is momenteel alleen-lezen.
De kaartindeling en itempositie zijn momenteel automatisch en alleen-lezen.
Als u kaarten wilt aanroepen die zijn gemaakt met het hulpprogramma Data Mapper, kunt u alleen de actie Data Mapper Operations met de naam Transformeren gebruiken met data Mapper XSLT. Gebruik voor toewijzingen die zijn gemaakt door een ander hulpprogramma de actie XML-bewerkingen met de naam XML transformeren.
Als u de kaarten wilt gebruiken die u maakt met het hulpprogramma Data Mapper, maar in Azure Portal, moet u deze rechtstreeks toevoegen aan de resource van uw logische standaard-app.
Vereisten
Visual Studio Code en de Azure Logic Apps-extensie (Standard) voor het maken van standaardwerkstromen voor logische apps.
Notitie
De eerder afzonderlijke Data Mapper-extensie wordt nu samengevoegd met de Azure Logic Apps-extensie (Standard). Om conflicten te voorkomen, wordt elke bestaande versie van de Data Mapper-extensie verwijderd wanneer u de Azure Logic Apps-extensie (Standard) installeert of bijwerkt. Start Visual Studio Code opnieuw nadat de extensie is geïnstalleerd of bijgewerkt.
De bron- en doelschemabestanden die de gegevenstypen beschrijven die moeten worden getransformeerd. Deze bestanden kunnen de volgende indelingen hebben:
- Een XML-schemadefinitiebestand met de bestandsextensie .xsd
- Een JavaScript Object Notation-bestand met de bestandsextensie .json
Een standaard logische app-project met een stateful of stateless werkstroom met ten minste een trigger. Als u geen project hebt, volgt u deze stappen in Visual Studio Code:
Verbinding maken naar uw Azure-account als u dat nog niet hebt gedaan.
Maak een lokale map, een lokaal standaard logische app-project en een stateful of stateless werkstroom. Selecteer Tijdens het maken van de werkstroom de optie Openen in het huidige venster.
Voorbeeldinvoergegevens als u de kaart wilt testen en controleert of de transformatie werkt zoals verwacht.
Als u de functie XSLT uitvoeren wilt gebruiken, moeten uw XSLT-fragmenten bestaan in bestanden die de bestandsextensie .xml of .xslt gebruiken. U moet uw XSLT-fragmenten in de map InlineXslt in de lokale projectmapstructuur plaatsen: Artifacts>DataMapper>Extensions>InlineXslt. Als deze mapstructuur niet bestaat, maakt u de ontbrekende mappen.
Een gegevenstoewijzing maken
Selecteer in het linkermenu van Visual Studio Code het Azure-pictogram .
Selecteer in het deelvenster Azure , onder de sectie Data Mapper , de optie Nieuwe gegevenstoewijzing maken.
Geef een naam op voor uw gegevensoverzicht.
Geef uw bron- en doelschema's op door de volgende stappen uit te voeren:
Selecteer Een bronschema toevoegen op het kaartoppervlak.
Selecteer Nieuwe>bladeren toevoegen in het deelvenster Configureren dat wordt geopend.
Zoek en selecteer het bronschemabestand en selecteer vervolgens Toevoegen.
Als uw bronschema niet wordt weergegeven in het venster Openen, wijzigt u in de lijst met bestandstypen XSD-bestand (*.xsd) in Alle bestanden (*.*).
Op het kaartoppervlak worden nu de gegevenstypen uit het bronschema weergegeven. Voor de voorbeelden in deze handleiding,
Selecteer Een doelschema toevoegen op het kaartoppervlak.
Selecteer Nieuwe>bladeren toevoegen in het deelvenster Configureren dat wordt geopend.
Zoek en selecteer het doelschemabestand en selecteer vervolgens Toevoegen.
Als uw doelschema niet wordt weergegeven in het venster Openen, wijzigt u in de lijst met bestandstypen XSD-bestand (*.xsd) in Alle bestanden (*.*).
Het kaartoppervlak toont nu gegevenstypen uit het doelschema.
U kunt ook uw bron- en doelschemabestanden lokaal toevoegen aan uw logische app-project in de map Artifacts Schema's/, zodat ze worden weergegeven in Visual Studio Code. In dit geval kunt u uw bron- en doelschema opgeven in het hulpprogramma Data Mapper in het deelvenster Configureren door Bestaande selecteren te selecteren in plaats van Nieuwe toe te voegen.
Wanneer u klaar bent, ziet uw kaart er ongeveer als volgt uit:
In de volgende tabel worden de mogelijke gegevenstypen beschreven die in een schema kunnen worden weergegeven:
Symbool | Type | Meer info |
---|---|---|
Matrix | Bevat items of herhalende itemknooppunten | |
Binary | ||
Bool | Alleen waar of onwaar | |
Complex | Een XML-object met onderliggende eigenschappen, vergelijkbaar met het JSON-type Object | |
Datum/tijd | ||
Decimal | ||
Geheel getal | alleen getallen Wie | |
Null | Geen gegevenstype, maar wordt weergegeven wanneer er een fout of een ongeldig type bestaat | |
Getal | Een JSON-geheel getal of een decimaal getal | |
Object | Een JSON-object met onderliggende eigenschappen, vergelijkbaar met het complexe XML-type | |
String |
Navigeren op de kaart
Als u door de kaart wilt navigeren, hebt u de volgende opties:
Als u wilt pannen, sleept u de aanwijzer rond het kaartoppervlak. Of houd het muiswiel ingedrukt terwijl u de muis of trackball beweegt.
Nadat u één niveau omlaag naar de kaart hebt verplaatst, wordt in de linkerbenedenhoek van de kaart een navigatiebalk weergegeven waarin u een keuze kunt maken uit de volgende opties:
Optie Alternatieve beweging Uitzoomen Druk op Shift+ dubbel geselecteerd op het kaartoppervlak.
-Of-
Schuif omlaag met het muiswiel.Inzoomen Dubbelklik op het kaartoppervlak.
-Of-
Schuif omhoog met het muiswiel.In- en uitzoomen Geen Minikaart weergeven (verbergen) Geen Als u één niveau op de kaart wilt verplaatsen, selecteert u een vorig niveau op het breadcrumb-pad boven aan de kaart.
Doel- en bronelementen selecteren om toe te wijzen
Selecteer op het kaartoppervlak, beginnend aan de rechterkant, in het doelschemagebied het doelelement dat u wilt toewijzen. Als het gewenste element een onderliggend element van een bovenliggend element is, zoekt en vouwt u het bovenliggende element eerst uit.
Selecteer nu aan de linkerkant, in het bronschemagebied, het element Selecteren.
Selecteer in het venster Bronschema dat wordt weergegeven een of meer bronelementen om weer te geven op de kaart.
Als u een bovenliggende en directe onderliggende items wilt opnemen, opent u het snelmenu van het bovenliggende item en selecteert u Onderliggende items toevoegen.
Als u een bovenliggend item en alle onderliggende items voor die bovenliggende wilt opnemen, inclusief eventuele sub-ouders, opent u het snelmenu op het hoogste niveau en selecteert u Onderliggende items toevoegen (recursief).
Wanneer u klaar bent, kunt u het bronschemavenster sluiten. U kunt later altijd meer bronelementen toevoegen. Selecteer op de kaart in de linkerbovenhoek de optie Bronschema weergeven ().
Een directe toewijzing tussen elementen maken
Voer de volgende stappen uit voor een eenvoudige transformatie tussen elementen met hetzelfde type in de bron- en doelschema's:
Als u wilt controleren wat er in code gebeurt terwijl u de toewijzing maakt, selecteert u code weergeven in de rechterbovenhoek van de kaart.
Als u dat nog niet hebt gedaan, selecteert u op de kaart de doelelementen en vervolgens de bronelementen die u wilt toewijzen.
Verplaats de aanwijzer over het bronelement, zodat zowel een cirkel als een plusteken (+) worden weergegeven.
Sleep een lijn naar het doelelement, zodat de lijn verbinding maakt met de cirkel die wordt weergegeven.
U hebt nu een directe toewijzing tussen beide elementen gemaakt.
Het codeweergavevenster weerspiegelt de toewijzingsrelatie die u hebt gemaakt:
Notitie
Als u een toewijzing maakt tussen elementen waar de gegevenstypen niet overeenkomen, wordt er een waarschuwing weergegeven op het doelelement, bijvoorbeeld:
Een complexe toewijzing tussen elementen maken
Voor een complexere transformatie tussen elementen in de bron- en doelschema's, zoals elementen die u wilt combineren of die verschillende gegevenstypen hebben, kunt u een of meer functies gebruiken om taken voor die transformatie uit te voeren.
De volgende tabel bevat de beschikbare functiegroepen en voorbeeldfuncties die u kunt gebruiken:
Groep | Voorbeeldfuncties |
---|---|
Verzameling | Average, Count, Direct Access, Distinct values, Filter, Index, Join, Maximum, Minimum, Reverse, Sort, Subsequence, Sum |
Conversie | To date, To integer, To number, To string |
Datum en tijd | Dagen toevoegen |
Logische vergelijking | Gelijk aan, bestaat, groter, groter of gelijk, als, als, als, is nul, is null, is getal, is tekenreeks, kleiner, kleiner of gelijk, logisch EN, logisch NIET, logisch OF, niet gelijk aan |
Math | Absoluut, Toevoegen, Boogtangens, Plafond, Cosinus, Delen, Exponentiële, Exponentiële waarde (grondtal 10), Vloer, Geheel getal delen, Logboek, Logboek (grondtal 10), Module, Vermenigvuldigen, Macht, Rond, Sinus, Vierkantswortel, Aftrekken, Tangens |
String | Code verwijst naar tekenreeks, Concat, Contains, Ends with, Length, Lowercase, Name, Regular expression matches, Regular expression replace, Replace, Starts with, String to code-points, Substring, Substring after, Substring before, Trim, Trim left, Trim right, Uppercase |
Hulpprogramma | Kopiëren, Fout, XPath uitvoeren, Datum/tijd opmaken, Nummer opmaken, XSLT uitvoeren |
Op de kaart ziet het label van de functie eruit als in het volgende voorbeeld en wordt de kleur gecodeerd op basis van de functiegroep. Aan de linkerkant van de functienaam wordt een symbool voor de functie weergegeven. Rechts van de functienaam wordt een symbool voor het gegevenstype van de functie-uitvoer weergegeven.
Een functie zonder toewijzingsrelatie toevoegen
In het voorbeeld in deze sectie wordt het type bronelement getransformeerd van het type Tekenreeks naar het type Datum/tijd, dat overeenkomt met het doelelementtype. In het voorbeeld wordt de functie Tot-datum gebruikt, waarbij één invoer wordt gebruikt.
Als u wilt controleren wat er in code gebeurt terwijl u de toewijzing maakt, selecteert u code weergeven in de rechterbovenhoek van de kaart.
Als u dat nog niet hebt gedaan, selecteert u op de kaart de doelelementen en vervolgens de bronelementen die u wilt toewijzen.
Selecteer in de linkerbovenhoek van de kaart functies weergeven ().
Zoek en selecteer in de lijst met functies die wordt geopend de functie die u wilt gebruiken, waarmee de functie aan de kaart wordt toegevoegd. Als de functie niet zichtbaar wordt weergegeven op de kaart, kunt u uitzoomen op het kaartoppervlak.
In dit voorbeeld wordt de functie Tot datum geselecteerd. U kunt ook aangepaste functies op dezelfde manier vinden en selecteren. Zie Een aangepaste functie maken voor meer informatie.
Notitie
Als er geen toewijzingslijn bestaat of is geselecteerd wanneer u een functie aan de kaart toevoegt, wordt de functie weergegeven op de kaart, maar wordt de verbinding met alle elementen of andere functies verbroken, bijvoorbeeld:
Vouw de functieshape uit om de details en verbindingspunten van de functie weer te geven. Als u de functieshape wilt uitvouwen, selecteert u deze in de shape.
Verbinding maken de functie aan de bron- en doelelementen.
Sleep en teken een lijn tussen de bronelementen en de linkerrand van de functie. U kunt beginnen met de bronelementen of vanuit de functie.
Sleep en teken een lijn tussen de rechterrand van de functie en het doelelement. U kunt beginnen vanaf het doelelement of vanuit de functie.
Bevestig of bewerk de invoer die u wilt gebruiken op het tabblad Eigenschappen van de functie.
Voor sommige gegevenstypen, zoals matrices, kan het bereik voor de transformatie ook beschikbaar zijn. Dit bereik is meestal het directe element, zoals een matrix, maar in sommige scenario's bestaat het bereik mogelijk buiten het directe element.
Het codeweergavevenster weerspiegelt de toewijzingsrelatie die u hebt gemaakt:
Als u bijvoorbeeld matrixitems wilt herhalen, raadpleegt u Een lus tussen matrices maken. Zie Een voorwaarde toevoegen tussen elementen om een taak uit te voeren wanneer de waarde van een element aan een voorwaarde voldoet.
Een functie toevoegen aan een bestaande toewijzingsrelatie
Wanneer er al een toewijzingsrelatie bestaat tussen bron- en doelelementen, kunt u de functie toevoegen door de volgende stappen uit te voeren:
Selecteer op de kaart de lijn voor de toewijzing die u hebt gemaakt.
Verplaats de aanwijzer over de geselecteerde regel en selecteer het plusteken invoegen (+) dat wordt weergegeven, bijvoorbeeld:
Zoek en selecteer in de lijst met functies die wordt geopend de functie die u wilt gebruiken.
De functie wordt weergegeven op de kaart en wordt automatisch verbonden tussen de bron- en doelelementen.
Een functie met meerdere invoer toevoegen
In het voorbeeld in deze sectie worden meerdere bronelementtypen samengevoegd, zodat u de resultaten kunt toewijzen aan het doelelementtype. In het voorbeeld wordt de functie Concat gebruikt. Hierbij worden meerdere invoerwaarden gebruikt.
Als u wilt controleren wat er in code gebeurt terwijl u de toewijzing maakt, selecteert u code weergeven in de rechterbovenhoek van de kaart.
Als u dat nog niet hebt gedaan, selecteert u op de kaart de doelelementen en vervolgens de bronelementen die u wilt toewijzen.
Selecteer in de linkerbovenhoek van de kaart functies weergeven ().
Zoek en selecteer in de lijst met functies die wordt geopend de functie die u wilt gebruiken, waarmee de functie aan de kaart wordt toegevoegd. Als de functie niet zichtbaar wordt weergegeven op de kaart, kunt u uitzoomen op het kaartoppervlak.
In dit voorbeeld wordt de functie Concat geselecteerd:
Notitie
Als er geen toewijzingslijn bestaat of is geselecteerd wanneer u een functie aan de kaart toevoegt, wordt de functie weergegeven op de kaart, maar wordt de verbinding met alle elementen of andere functies verbroken. Als de functie configuratie vereist, wordt er een rode stip weergegeven in de rechterbovenhoek van de functie, bijvoorbeeld:
Vouw de functieshape uit om de details en verbindingspunten van de functie weer te geven. Als u de functieshape wilt uitvouwen, selecteert u deze in de shape.
Selecteer in het deelvenster functiegegevens op het tabblad Eigenschappen onder Invoer de brongegevenselementen die u als invoer wilt gebruiken.
In dit voorbeeld worden de bronelementen FirstName en LastName geselecteerd als de functie-invoer, waarmee automatisch de respectieve verbindingen op de kaart worden toegevoegd.
Als u de toewijzing wilt voltooien, sleept u een lijn tussen de rechterrand van de functie en het doelelement. U kunt beginnen vanaf het doelelement of vanuit de functie.
Het codeweergavevenster weerspiegelt de toewijzingsrelatie die u hebt gemaakt:
Een lus tussen matrices maken
Als uw bron- en doelschema's matrices bevatten, kunt u een lustoewijzingsrelatie maken die de items in die matrices doorloopt. In het voorbeeld in deze sectie wordt een bronmatrix voor werknemers en een doelmatrix voor personen doorlopen.
Als u wilt controleren wat er in code gebeurt terwijl u de toewijzing maakt, selecteert u code weergeven in de rechterbovenhoek van de kaart.
Selecteer op de kaart in het doelschemagebied het doelmatrixelement en de doelmatrixitemelementen die u wilt toewijzen.
Vouw op de kaart in het doelschemagebied het doelmatrixelement en de matrixitems uit.
Voeg in het bronschemagebied het bronmatrixelement en de elementen van het matrixitem toe aan de kaart.
Maak een directe toewijzing tussen de bron- en doelelementen.
Wanneer u voor het eerst een toewijzingsrelatie maakt tussen een overeenkomend paar matrixitems, wordt er automatisch een toewijzingsrelatie gemaakt op het bovenliggende matrixniveau.
Het codeweergavevenster weerspiegelt de toewijzingsrelatie die u hebt gemaakt:
Ga door met het toewijzen van de andere matrixelementen.
Een voorwaarde en taak instellen die moet worden uitgevoerd tussen elementen
Als u een toewijzingsrelatie wilt toevoegen die een voorwaarde evalueert en een taak uitvoert wanneer aan de voorwaarde wordt voldaan, kunt u meerdere functies gebruiken, zoals de functie If , een vergelijkingsfunctie zoals Groter en de taak die moet worden uitgevoerd, zoals Vermenigvuldigen.
In het voorbeeld in deze sectie wordt een korting berekend die moet worden toegepast wanneer de aankoophoeveelheid groter is dan 20 artikelen met behulp van de volgende functies:
- Groter: Controleer of artikelhoeveelheid groter is dan 20.
- Als: Controleer of de functie Groter waar retourneert.
- Vermenigvuldigen: Bereken de korting door de artikelprijs te vermenigvuldigen met 10% en de artikelhoeveelheid.
Als u wilt controleren wat er in code gebeurt terwijl u de toewijzing maakt, selecteert u code weergeven in de rechterbovenhoek van de kaart.
Als u dat nog niet hebt gedaan, selecteert u op de kaart de doelelementen en vervolgens de bronelementen die u wilt toewijzen.
In dit voorbeeld worden de volgende elementen geselecteerd:
Selecteer in de linkerbovenhoek van de kaart functies weergeven ().
Voeg de volgende functies toe aan de kaart: Groter, If en Vermenigvuldigen
Vouw alle functieshapes uit om de functiedetails en verbindingspunten weer te geven.
Verbinding maken de bronelementen, functies en doelelementen als volgt:
- Het element ItemPrice van het bronschema in het element ItemPrice van het doelschema
- Het element ItemQuantity van het bronschema in het veld Waarde van de functie Groter
- De uitvoer van de functie Groter naar het veld Voorwaarde van de functie If
- Het element ItemPrice van het bronschema naar het veld Multiplicand 0* van de functie vermenigvuldigen
- De uitvoer van de functie Vermenigvuldigen naar het veld Waarde van de functie If
- De uitvoer van de functie If naar het element ItemDiscount van het doelschema
Notitie
In de functie If wordt het woord ANY rechts van de functienaam weergegeven, waarmee wordt aangegeven dat u de uitvoerwaarde aan alles kunt toewijzen.
Geef in de volgende functies op het tabblad Eigenschappen de volgende waarden op:
Function Invoerparameter en -waarde Groter - Waarde 1: Het bronelement ItemQuantity
- Waarde 2: 20Vermenigvuldigen - Multiplicand #1: Het bronelement ItemPrice
- Vermenigvuldiging #2: .10If - Voorwaarde: is groter dan(ItemQuantity,20)
- Waarde: multiply(ItemPrice, .10)Op de volgende kaart ziet u het voltooide voorbeeld:
Het codeweergavevenster weerspiegelt de toewijzingsrelatie die u hebt gemaakt:
Uw kaart opslaan
Wanneer u klaar bent, selecteert u Opslaan op de werkbalk Van de kaart.
Visual Studio Code slaat uw kaart op als de volgende artefacten:
- Een <map-name.yml-bestand> in de projectmap Artifacts>MapDefinitions
- Een <bestand your-map-name.xslt> in de map Artifacts> Kaarten projectmap
XSLT-bestand op elk gewenst moment genereren
Als u het <bestand your-map-name.xslt> op elk gewenst moment wilt genereren, selecteert u XSLT genereren op de werkbalk van de kaart.
Uw kaart testen
Om te bevestigen dat de transformatie werkt zoals verwacht, hebt u voorbeeldinvoergegevens nodig.
Voordat u de kaart test, moet u het meest recente <bestand your-map-name.xslt> genereren.
Selecteer Testen op de werkbalk van de kaart.
Plak uw voorbeeldinvoergegevens in het deelvenster Testtoewijzing in het invoervenster en selecteer vervolgens Testen.
Het testvenster schakelt over naar het tabblad Uitvoer en toont de statuscode en antwoordtekst van de test.
Uw kaart aanroepen vanuit een werkstroom in uw project
Selecteer Verkenner (pictogram bestanden) in het linkermenu van Visual Studio Code om de structuur van uw logische app-project weer te geven.
Vouw de map met de naam van uw werkstroom uit. Selecteer Open Designer in het snelmenu van het bestand workflow.json.
Selecteer in de ontwerpfunctie de actie Transformeren met data mapper XSLT .
Geef in het deelvenster met actiegegevens dat wordt weergegeven de inhoudswaarde op en laat de kaartbron ingesteld op logische app. Selecteer in de lijst Mapnaam het kaartbestand (.xslt) dat u wilt gebruiken.
Als u dezelfde transformatie wilt gebruiken met de XSLT-actie Data Mapper in Azure Portal, moet u de kaart toevoegen aan de resource van de standaard logische app.
Maak een aangepaste functie
Als u uw eigen functie wilt maken die u kunt gebruiken met het hulpprogramma Data Mapper, voert u de volgende stappen uit:
Maak een XML-bestand (.xml) met een betekenisvolle naam die het doel van uw functie beschrijft.
Als u meerdere gerelateerde functies hebt, kunt u één bestand voor deze functies gebruiken. Hoewel u elke bestandsnaam kunt gebruiken, maakt een betekenisvolle bestandsnaam of categorie uw functies gemakkelijker te identificeren, te vinden en te ontdekken.
In het XML-bestand moet u het volgende schema gebruiken voor de functiedefinitie:
<?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="customfunctions"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="function"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="param"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="as" type="xs:string" use="required" /> </xs:complexType> </xs:element> <xs:any minOccurs="0" /> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="as" type="xs:string" use="required" /> <xs:attribute name="description" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Elk XML-element met de naam functie implementeert een XSLT3.0-stijlfunctie met nog enkele kenmerken. De lijst met functies van Data Mapper bevat de functienaam, beschrijving, parameternamen en parametertypen.
In het volgende voorbeeld ziet u de implementatie voor een SampleFunctions.xml-bestand :
<?xml version="1.0" encoding="utf-8" ?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <customfunctions> <function name="age" as="xs:float" description="Returns the current age."> <param name="inputDate" as="xs:date"/> <value-of select="round(days-from-duration(current-date() - xs:date($inputDate)) div 365.25, 1)"/> </function> <function name="custom-if-then-else" as="xs:string" description="Evaluates the condition and returns corresponding value."> <param name="condition" as="xs:boolean"/> <param name="thenResult" as="xs:anyAtomicType"/> <param name="elseResult" as="xs:anyAtomicType"/> <choose> <when test="$condition"> <value-of select="$thenResult"></value-of> </when> <otherwise> <value-of select="$elseResult"></value-of> </otherwise> </choose> </function> </customfunctions>
Open op uw lokale computer de map voor uw standaard-logische app-project.
Open de map Artifacts en maak de volgende mapstructuur, als er geen bestaat: DataMapper>Extensions>Functions.
Sla het XML-bestand van uw functie op in de map Functions .
Als u de aangepaste functie wilt vinden in de lijst met functies van het Data Mapper-hulpprogramma, zoekt u de functie of vouwt u de verzameling Aangepaste functies uit.