XML-indeling

Extensible Markup Language (XML) is een taal voor de uitwisseling van gestructureerde gegevens. XML is geen strakke bestandsopmaak, maar een taal voor het definiëren van afgesproken indelingen die groepen kunnen gebruiken voor gegevensuitwisseling. Vele gebruikers, organisaties en bedrijven gebruiken XML om productinformatie, transacties, voorraadgegevens en andere bedrijfsgegevens over te brengen.

Voorbeeldbestanden voor XML-import en -export zijn beschikbaar als download op de pagina Updates en releaseopmerkingen. Ga naar de Claris-website voor algemene informatie over XML en koppelingen naar XML-informatiebronnen.

XML importeren

FileMaker Pro ondersteunt de FMPXMLRESULT-grammatica voor XML-import. Als uw XML-bestand in een andere indeling is, kunt u tijdens de import een XSLT-opmaakmodel (Extensible Stylesheet Language for Transformations) toepassen om uw XML naar de FMPXMLRESULT-grammatica te converteren.

XML exporteren

FileMaker Pro kan XML exporteren in twee grammatica's: FMPXMLRESULT en FMPDSORESULT. U kunt een XSLT-opmaakmodel tijdens de export toepassen om een van beide grammatica’s in een andere XML-indeling, of in een heel andere indeling zoals HTML of gewone tekst, te converteren. Via XML-export kunt u bijvoorbeeld een gegevensgestuurde webpagina maken, of een tekstbestand met gegevens waarin een eigen scheidingsteken voor velden wordt gebruikt.

Opmerking  De functies voor XML-import en -export in FileMaker Pro maken gebruik van de XML-parser libxml2 en de XSLT-processor voor opmaakmodellen libxslt. Terwijl u XML en XSL ontwikkelt, kunt u uw XML en XSLT testen met op libxml2 en libxslt gebaseerde parsers en processors, zoals de opdrachtregeltools xmllint en xsltproc, die beschikbaar zijn in macOS. Zie voor meer informatie de opslagplaatsen libxml2 en libxslt of andere externe locaties.

XML-grammatica FMPDSORESULT

De FMPDSORESULT-grammatica is nuttig voor het exporteren van databases die u met trapsgewijze opmaakmodellen (Cascading Style Sheets of CSS) of XSL wilt opmaken.

Opmerking  Gebruik in de naam van uw gegevensvelden geen voorloopgetallen of kanatekens van één byte (bijvoorbeeld “7”). De FMPDSORESULT-grammatica staat het gebruik van numerieke of Kanatekens van één byte niet toe als veldnaamtags en zal het resulterende XML-bestand niet in een browser weergeven.

Elk ROW-element in de geëxporteerde FMPDSORESULT-grammatica bevat een aantal FIELD-elementen die overeenkomen met de door u geëxporteerde veldnamen.

Spaties of een dubbele punt in veldnamen worden in de elementnamen in onderstrepingstekens omgezet (bijvoorbeeld <FIRST_NAME>). Twee dubbele punten in portaalvelden worden in punten omgezet (bijvoorbeeld <PHONE.PHONE_NUMBER>). De reden hiervoor is dat dubbele punten in XML voor het specificeren van naamruimten gereserveerd zijn en er geen spaties in XML-elementnamen zijn toegestaan.

Voor herhalende velden en gerelateerde velden zal elk FIELD-element een DATA-element bevatten dat overeenkomt met elke herhaling of portaalrecord.

Het exporteren van gegevens uit containervelden wordt niet door de XML-export ondersteund.

Door de XML-beperkingen wordt slechts één record van elk gerelateerd veld geëxporteerd.

XML-grammatica FMPXMLRESULT

De FMPXMLRESULT-grammatica bevat extra informatie over de database die niet in de FMPDSORESULT-grammatica te vinden is, zoals het aantal records, veldtypen en veldformaten. Deze elementen en kenmerken zijn vereist om de XML goed te kunnen valideren.

Gebruik de FMPXMLRESULT-grammatica als u de METADATA-informatie nodig hebt die door deze grammatica wordt gegeven. Aangezien FileMaker Pro zowel importeren in als exporteren naar de FMPXMLRESULT-grammatica ondersteunt, kan dit een nuttig formaat zijn om gegevens tussen FileMaker Pro-bestanden uit te wisselen.

Opmerking  De FMPXMLRESULT-grammatica is niet goed geschikt voor gebruik met trapsgewijze opmaakmodellen (Cascading Style Sheets, CSS). Gebruik de FMPDSORESULT-grammatica als u met uw XML-gegevens trapsgewijze opmaakmodellen wilt gebruiken.

In de FMPXMLRESULT-grammatica bevat het DATABASE-element de kenmerken NAME, RECORDS, DATEFORMAT, LAYOUT en TIMEFORMAT.

Het kenmerk DATEFORMAT specificeert de opmaak van datums in het XML-document.

Veld

Volledige vorm

Korte vorm

Jaar

jjjj (4 cijfers)

jj (2 cijfers)

Month

mm (2 cijfers)

M (1 of 2 cijfers)

Day

dd (2 cijfers)

d (1 of 2 cijfers)

Het kenmerk TIMEFORMAT specificeert de opmaak van tijden in het XML-document.

Veld

Volledige vorm

Korte vorm

Uur (1 – 12)

uu (2 cijfers)

u (1 of 2 cijfers)

Uur (1 – 24)

kk (2 cijfers)

k (1 of 2 cijfers)

Minuut

mm

 

Seconde

ss

 

AM/PM

a:

 

Het METADATA-element bevat een of meer FIELD-elementen die informatie voor één veld/kolom bevatten — waaronder de naam van het veld volgens de definitie in de database, het veldtype, de Ja- of Nee-consideratie voor lege velden (kenmerk EMPTYOK) en het maximumaantal herhalende waarden (kenmerk MAXREPEAT). Geldige waarden voor veldtypen zijn TEXT, NUMBER, DATE, TIME, TIMESTAMP en CONTAINER.

Het element RESULTSET bevat alle ROW-elementen die de recordgegevens opgeven in het XML. Elk ROW-element bevat de veld-/kolomgegevens voor één rij in de resultatenset — waaronder de record-ID voor de rij, de modificatie-ID voor de rij, en het COL-element dat de gegevens voor één veld/kolom in de rij bevat (waarbij meerdere DATA-elementen een van de waarden in een herhalend of portaalveld vertegenwoordigen).

Het exporteren van gegevens uit containervelden wordt niet door de XML-export ondersteund.

Door de XML-beperkingen wordt slechts één record van elk gerelateerd veld geëxporteerd.

De volgorde van de COL-elementen komt overeen met de volgorde van de FIELD-elementen in het METADATA-element. Waar bijvoorbeeld de elementen Voornaam, Achternaam en dan Afdeling in de METADATA staan, komen Jan, Smit en dan Constructie in dezelfde volgorde in de RESULTSET ROW te staan.

Opmerkingen 

  • Voordat u het XML-bestand importeert, gebruikt FileMaker Pro een op libxml2 gebaseerde XML-parser en een op libxslt gebaseerde XSLT-processor om een XSLT-opmaakmodel toe te passen (als u er een hebt opgegeven) om de XML-gegevens te converteren. Als een foutbericht verschijnt, corrigeert u de fout en probeert u opnieuw te importeren.

  • Hoewel de XML die u importeert, moet beantwoorden aan de FMPXMLRESULT-grammatica, kunnen bepaalde elementen en kenmerken tijdens het importeren niet worden gebruikt. In de volgende tabel staan de elementen en kenmerken die tijdens XML-import worden gebruikt, en de toegestane standaardwaarden voor kenmerken. In de meeste gevallen kunnen kenmerkwaarden leeg (null) zijn (zoals TIMEFORMAT=""). Bovendien moet het element FMPXMLRESULT altijd de FileMaker-naamruimte declareren voor de grammatica.

  • Element

    Kenmerken

    Gebruikt tijdens XML-import

    Standaardwaarde

    FMPXMLRESULT

     

    Ja

    xmlns="http://www.filemaker.com/ fmpxmlresult"

    ERRORCODE

     

    Nee

     

    PRODUCT

     

    Nee

    " "

     

    NAME

    Nee

    " "

     

    VERSION

    Nee

    " "

     

    BUILD

    Nee

    " "

    DATABASE

     

    Nee

     

     

    NAME

    Nee

    " "

     

    RECORDS

    Nee

    " "

     

    DATEFORMAT

    Nee

    " "

     

    TIMEFORMAT

    Nee

    " "

     

    LAYOUT

    Nee

    " "

    METADATA

     

    Ja

     

        FIELD

     

    Ja

     

     

    NAME

    Ja

    " "

     

    TYPE

    Ja

    "TEXT", "DATE", "NUMBER", "TIME", "TIMESTAMP" of "CONTAINER"

     

    EMPTYOK

    Nee

    "YES" of "NO"

     

    MAXREPEAT

    Nee

    " "

    RESULTSET

     

    Ja

     

     

    FOUND

    Nee

    " "

        ROW

     

    Ja

     

     

    RECORDID

    Nee

    " "

     

    MODID

    Nee

    " "

        COL

     

    Ja

     

          DATA

     

    Ja