Slaat een kopie van een open bestand op als een XML-voorstelling van het schema, de lay-outs en de scripts.
Zie ook
Opties
-
Met Vensternaam geeft u de vensternaam op van een geopend bestand. Indien niet opgegeven, wordt het huidige venster gebruikt.
-
Doelbestand is het pad voor het XML-bestand dat moet worden gemaakt. Raadpleeg Bestandspaden maken.
-
Met Details opnemen voor analysetools wordt meer informatie toegevoegd aan het XML-bestand.
Met deze optie wordt het DDR_INFO-element toegevoegd, dat extra informatie biedt die nuttig is voor tools van derden die u kunt gebruiken om uw aangepaste app te analyseren. Afhankelijk van uw app kan deze optie een aanzienlijk groter XML-bestand produceren.
-
Met Sla de binaire gegevens van elk lay-outobject op onder het knooppunt worden de binaire gegevens van elk lay-outobject (bijvoorbeeld een afbeelding) opgeslagen onder het knooppunt van het lay-outobject in het XML-bestand.Dit kan het gebruik van XML voor sommige tools vergemakkelijken, maar hierdoor kan het XML-bestand groter worden.
Als deze optie is uitgeschakeld, wordt er alleen een verwijzing opgeslagen onder het knooppunt van elk lay-outobject, dat verwijst naar de bibliotheekgegevenscatalogus waar de binaire gegevens worden opgeslagen. Dit kan helpen de bestandsgrootte te verkleinen wanneer dezelfde binaire gegevens worden gebruikt voor veel lay-outobjecten.
-
Opties opgeven als JSON is een tekstexpressie voor een JSON-object waarmee u de volgende opties kunt opgeven voor deze scriptstap:
-
catalogs_included(JSON-array): Een matrix met reeksen catalogusnamen die aangeven welke catalogi in het XML-bestand moeten worden opgenomen. Indien weggelaten, worden standaard alle catalogi opgenomen. -
include_details(Boolean): Deze optie heeft hetzelfde doel als Details opnemen voor analysetools en overschrijft de waarde, indien opgegeven. -
split_catalogs(Booleaans): Indien ditwaaris, wordt een afzonderlijk XML-bestand gemaakt voor elke catalogus die is opgegeven in decatalogs_included-sleutel. Wanneer de waardeonwaaris of als deze is weggelaten, wordt één XML-bestand gemaakt. Zie Opmerkingen voor meer informatie over het gedrag van gesplitste catalogi. -
standalone_binarydata(Booleaans): Deze optie heeft hetzelfde doel als Sla de binaire gegevens van elk lay-outobject op onder het knooppunt en overschrijft de waarde, indien opgegeven.
Wanneer u deze optie voor het eerst selecteert, genereert FileMaker Pro automatisch een sjabloonberekening die alle bovenstaande sleutels met standaardwaarden retourneert, inclusief alle ondersteunde catalogusnamen voor
catalogs_included, die u vervolgens kunt aanpassen. -
Compatibiliteit
| Product | Ondersteund |
| FileMaker Pro | Ja |
| FileMaker Go | Nee |
| FileMaker WebDirect | Nee |
| FileMaker Server | Ja |
| FileMaker Cloud | Ja |
| FileMaker Data API | Nee |
| Custom Web Publishing | Nee |
Afkomstig uit versie
18.0
Beschrijving
Deze scriptstap doet hetzelfde als wanneer u Gereedschappen > Kopie opslaan als XML kiest. Raadpleeg Databaseschema's documenteren.
U kunt Opties opgeven als JSON gebruiken om complexe scenario's te automatiseren waarbij u dynamisch moet opgeven welke catalogi u wilt opnemen of de uitvoer in meerdere bestanden wilt splitsen.
Opmerkingen
-
De gebruiker of het script moet over volledige toegangsprivileges beschikken om deze scriptstap te kunnen uitvoeren. Raadpleeg Scripts maken en bewerken.
-
Deze XML-indeling kan variëren tussen opeenvolgende versies van FileMaker Pro. Wanneer u de XML gebruikt om twee versies van een FileMaker Pro-bestand te vergelijken, zorg er dan voor dat u dezelfde versie van FileMaker Pro gebruikt om van elk bestand een XML-kopie op te slaan. Als u de XML gebruikt met andere tools, moeten deze tools ondersteuning bieden voor de XML die wordt opgeslagen door uw versie van FileMaker Pro.
-
Bij Opties opgeven als JSON, wanneer
split_catalogswaaris:-
De optie Doelbestand wordt behandeld als mapnaam en er worden afzonderlijke XML-bestanden gemaakt voor elke catalogus die is opgegeven in
catalogs_included. Als de map niet bestaat, wordt deze met deze scriptstap gemaakt. -
De sleutel
standalone_binarydatawordt automatisch ingesteld opwaarbij het splitsen van catalogi. -
De waarde LibraryCatalog wordt genegeerd, zelfs als deze is opgegeven in
catalogs_included.
-
-
Als Opties opgeven als JSON een opmaakfout bevat, retourneert de scriptstap foutcode 878 ("De JSON-gegevens die zijn opgegeven voor Opties bevatten een opmaakfout en kunnen niet worden geanalyseerd").
Voorbeeld 1
Dit voorbeeldscript slaat in een XML-bestand een kopie op van het geopende bestand met de vensternaam Inventaris.
Kopie opslaan als XML [ Vensternaam: "Inventaris" ; Doelbestand: "Inventaris.xml" ]
Voorbeeld 2
Slaat alleen scripts, layouts en aangepaste functies van het bestand dat in het huidige venster is opgegeven op in een XML-bestand met Opties opgeven als JSON.
Variabele instellen [ $jsonOptions ; Waarde:
JSONSetElement ( "{}" ;
[ "catalogs_included" ; JSONMakeArray (
"ScriptCatalog LayoutCatalog CustomFunctionsCatalog" ;
" " ; JSONString ) ; JSONArray ] ;
[ "include_details" ; False ; JSONBoolean ] ;
[ "split_catalogs" ; False ; JSONBoolean ] ;
[ "standalone_binarydata" ; False ; JSONBoolean ]
)
]
Kopie opslaan als XML [ Vensternaam: ; Doelbestand: "MyApp_Schema.xml" ; Details opnemen voor analysetools ; Opties opgeven als JSON: $jsonOptions ]
Hoewel in de scriptstap Details opnemen voor analysetools is geselecteerd, wordt deze overschreven door de sleutel include_details in Opties opgeven als JSON, omdat JSON is ingesteld op False.
Voorbeeld 3
Slaat scripts, layouts en velden op in afzonderlijke XML-bestanden in een map met de naam "MyApp_SaveAsXML".
Variabele instellen [ $jsonOptions ; Waarde:
JSONSetElement ( "{}" ;
[ "catalogs_included" ; JSONMakeArray (
"ScriptCatalog LayoutCatalog FieldCatalog" ;
" " ; JSONString ) ; JSONArray ] ;
[ "include_details" ; True ; JSONBoolean ] ;
[ "split_catalogs" ; True ; JSONBoolean ]
)
]
Kopie opslaan als XML [ Vensternaam: ; Doelbestand: "MyApp_SaveAsXML" ; Opties opgeven als JSON: $jsonOptions ]
Hiermee wordt een map met de naam "MyApp_SaveAsXML" gemaakt met drie bestanden:
MyApp_SaveAsXML_ScriptCatalog.xmlMyApp_SaveAsXML_LayoutCatalog.xmlMyApp_SaveAsXML_FieldCatalog.xml