Kopie als XML speichern

Speichert eine Kopie einer offenen Datei als XML-Darstellung von Schema, Layouts und Scripts.

Optionen 

  • Fenstername gibt den Fensternamen einer geöffneten Datei an. Sofern nicht anders angegeben, wird das aktuelle Fenster verwendet.

  • Zieldatei ist der Pfad der zu erstellenden XML-Datei. Weitere Informationen finden Sie unter Erstellen von Dateipfaden.

  • Details für Analysewerkzeuge einschließen fügt der XML-Datei weitere Informationen hinzu.

    Diese Option fügt das Element DDR_INFO hinzu, das zusätzliche Informationen bereitstellt, die für Drittanbieter-Werkzeuge nützlich sind, mit denen Sie Ihre eigene App analysieren können. Je nach App kann diese Option zu einer deutlich größeren XML-Datei führen.

  • Binäre Daten jedes Layoutobjekts unter seinem Knoten speichern speichert die Binärdaten jedes Layoutobjekts (z. B. ein Bild) unter dem Knoten des Layoutobjekts in der XML-Datei. Dies kann die Verwendung der XML-Datei für einige Tools vereinfachen, jedoch auch zu einer Vergrößerung der XML-Datei führen.

    Wenn diese Option deaktiviert ist, wird unter dem Knoten jedes Layoutobjekts nur ein Verweis gespeichert, der auf den Bibliotheksdatenkatalog verweist, in dem die Binärdaten gespeichert sind. Dies kann dazu beitragen, die Dateigröße zu reduzieren, wenn dieselben Binärdaten für viele Layoutobjekte verwendet werden.

  • Optionen als JSON angeben ist ein Textausdruck für ein JSON-Objekt, mit dem Sie die folgenden Optionen für diesen Scriptschritt angeben können:

    • catalogs_included (JSON-Array): Ein Array aus Strings mit Katalognamen, das angibt, welche Kataloge einzubeziehen sind. Wenn diese Angabe weggelassen wird, werden standardmäßig alle Kataloge einbezogen.

    • include_details (Boolescher Wert): Diese Option hat denselben Zweck wie Details für Analysewerkzeuge einschließen und überschreibt deren Wert, sofern angegeben.

    • split_catalogs (Boolescher Wert): Wenn true, wird für jeden im Schlüssel catalogs_included angegebenen Katalog eine separate XML-Datei erstellt. Wenn false oder weggelassen, wird eine einzelne XML-Datei erstellt. Einzelheiten zum Verhalten bei geteilten Katalogen finden Sie in den Hinweisen.

    • standalone_binarydata (Boolescher Wert): Diese Option hat denselben Zweck wie Binäre Daten jedes Layoutobjekts unter seinem Knoten speichern und überschreibt deren Wert, sofern angegeben.

    Wenn Sie diese Option zum ersten Mal auswählen, generiert FileMaker Pro automatisch eine Vorlagenformel, die alle oben genannten Schlüssel mit Standardwerten zurückgibt, einschließlich aller unterstützten Katalognamen für catalogs_included, die Sie anschließend anpassen können.

Kompatibilität 

Produkt Unterstützt
FileMaker Pro Ja
FileMaker Go Nein
FileMaker WebDirect Nein
FileMaker Server Ja
FileMaker Cloud Ja
FileMaker Data API Nein
Custom Web Publishing Nein

Ursprung in Version 

18.0

Beschreibung 

Dieser Scriptschritt ähnelt der Auswahl von Werkzeuge > Kopie als XML speichern. Weitere Informationen finden Sie unter Dokumentieren von Datenbankschemata.

Mit Optionen als JSON angeben können Sie komplexe Szenarien automatisieren, in denen Sie dynamisch festlegen müssen, welche einzubeziehenden Kataloge es gibt oder ob die Ausgabe auf mehrere Dateien aufgeteilt werden soll.

Hinweise 

  • Zur Ausführung dieses Scriptschritts muss der Benutzer bzw. das Script über volle Zugriffsrechte verfügen. Weitere Informationen finden Sie unter Erstellen und Bearbeiten von Scripts.

  • Dieses XML-Format kann sich von einer Version von FileMaker Pro zur nächsten ändern. Wenn Sie das XML verwenden, um zwei Versionen einer FileMaker Pro-Datei zu vergleichen, stellen Sie sicher, dass dieselbe Version von FileMaker Pro verwendet wird, um eine Kopie jeder Datei als XML zu speichern. Wenn Sie das XML mit anderen Tools verwenden, stellen Sie sicher, dass diese Tools so konzipiert sind, dass sie das XML verwenden, das von Ihrer Version von FileMaker Pro gespeichert wurde.

  • Für Optionen als JSON angeben, wenn split_catalogs auf true gesetzt ist:

    • Die Option Zieldatei wird als Ordnername interpretiert, und für jeden in catalogs_included angegebenen Katalog werden separate XML-Dateien erstellt. Falls der Ordner nicht vorhanden ist, wird er durch diesen Scriptschritt erstellt.

    • Der Schlüssel standalone_binarydata wird beim Aufteilen von Katalogen automatisch auf true gesetzt.

    • Der Wert „LibraryCatalog“ wird ignoriert, selbst wenn er in catalogs_included angegeben ist.

  • Wenn Optionen als JSON angeben einen Formatierungsfehler enthält, gibt der Scriptschritt den Fehlercode 878 („Die für Optionen angegebenen JSON-Daten enthalten einen Formatierungsfehler und konnten nicht analysiert werden“) zurück.

Beispiel 1 

Speichert eine Kopie der geöffneten Datei, deren Fenstername „Lagerbestand“ lautet, in einer XML-Datei.

Kopieren
Kopie als XML speichern [ Fenstername: "Lagerbestand"; Zieldatei: "Lagerbestand.xml" ]

Beispiel 2 

Speichert nur Scripts, Layouts und eigene Funktionen aus der im aktuellen Fenster angegebenen Datei in einer XML-Datei unter Verwendung von Optionen als JSON angeben.

Kopieren
Variable setzen [ $jsonOptionen ; Wert:
  JSONSetElement ( "{}" ;
    [ "catalogs_included" ; JSONMakeArray (
      "ScriptCatalog LayoutCatalog CustomFunctionsCatalog" ;
      " " ; JSONString ) ; JSONArray ] ;
    [ "include_details" ; False ; JSONBoolean ] ;
    [ "split_catalogs" ; False ; JSONBoolean ] ;
    [ "standalone_binarydata" ; False ; JSONBoolean ]
  )
]

Kopie als XML speichern [ Fenstername: ; Zieldatei: "MyApp_Schema.xml" ; Details für Analysewerkzeuge einschließen ; Optionen als JSON angeben: $jsonOptionen ]

Beachten Sie, dass die im Scriptschritt ausgewählte Option Details für Analysewerkzeuge einschließen durch den Schlüssel include_details in Optionen als JSON angeben überschrieben wird, der auf False gesetzt ist.

Beispiel 3 

Speichert Scripts, Layouts und Felder in separaten XML-Dateien in einem Ordner mit dem Namen „MyApp_SaveAsXML“.

Kopieren
Variable setzen [ $jsonOptionen ; Wert:
  JSONSetElement ( "{}" ;
    [ "catalogs_included" ; JSONMakeArray (
      "ScriptCatalog LayoutCatalog FieldCatalog" ;
      " " ; JSONString ) ; JSONArray ] ;
    [ "include_details" ; True ; JSONBoolean ] ;
    [ "split_catalogs" ; True ; JSONBoolean ]
  )
]

Kopie als XML speichern [ Fenstername: ; Zieldatei: "MyApp_SaveAsXML" ; Optionen als JSON angeben: $jsonOptionen ]

Dadurch wird ein Ordner namens „MyApp_SaveAsXML“ erstellt, der drei Dateien enthält:

  • MyApp_SaveAsXML_ScriptCatalog.xml
  • MyApp_SaveAsXML_LayoutCatalog.xml
  • MyApp_SaveAsXML_FieldCatalog.xml