Salva copia come XML

Salva una copia del file corrente come una rappresentazione XML di schema, formati e script.

Opzioni 

  • Nome finestra specifica il nome della finestra di un file aperto. Se non specificato, viene utilizzata la finestra corrente.

  • File di destinazione è il percorso del file XML da creare. Vedere Creazione dei percorsi di file.

  • Includi dettagli per gli strumenti di analisi aggiunge ulteriori informazioni nel file XML.

    Questa opzione aggiunge l'elemento DDR_INFO, che fornisce informazioni aggiuntive utili agli strumenti di terze parti che si possono utilizzare per analizzare la propria app personalizzata. A seconda dell'app, questa opzione può produrre un file XML notevolmente più grande.

  • Salva i dati binari di ogni oggetto del formato sotto il rispettivo nodo memorizza i dati binari di ogni oggetto del formato (ad esempio, un'immagine) sotto il nodo dell'oggetto del formato nel file XML. Questo può rendere l'XML più facile da usare per alcuni strumenti, ma può aumentare la dimensione del file XML.

    Quando questa opzione è deselezionata, sotto il nodo di ogni oggetto del formato viene memorizzato solo un riferimento, che punta al catalogo dati della libreria in cui sono memorizzati i dati binari. Questo può aiutare a ridurre le dimensioni del file quando gli stessi dati binari vengono utilizzati per molti oggetti del formato.

  • Specifica opzioni come JSON è un'espressione di testo per un oggetto JSON che consente di specificare le seguenti opzioni per questa istruzione di script:

    • catalogs_included (array JSON): un array di stringhe di nomi di catalogo che specifica quali cataloghi includere nel file XML. Se si omette, tutti i cataloghi sono inclusi per impostazione predefinita.

    • include_details (Booleano): questa opzione ha lo stesso scopo di Includi dettagli per gli strumenti di analisi e ha la precedenza sul suo valore, se specificata.

    • split_catalogs (Booleano): quando è true, crea un file XML separato per ogni catalogo specificato nella chiave catalogs_included. Quando è false o viene omessa, crea un singolo file XML. Vedere le note per dettagli sul comportamento dei cataloghi separati.

    • standalone_binarydata (Booleano): questa opzione ha lo stesso scopo di Salva i dati binari di ogni oggetto del formato sotto il rispettivo nodo e ha la precedenza sul suo valore, se specificata.

    Quando si seleziona questa opzione per la prima volta, FileMaker Pro genera automaticamente un calcolo modello che restituisce tutte le chiavi di cui sopra con valori predefiniti, inclusi tutti i nomi dei cataloghi supportati per catalogs_included, che è poi possibile personalizzare.

Compatibilità 

Prodotto Supportata
FileMaker Pro
FileMaker Go No
FileMaker WebDirect No
FileMaker Server
FileMaker Cloud
FileMaker Data API No
Pubblicazione Web personalizzata No

Creata nella versione 

18.0

Descrizione 

Questa istruzione di script equivale a selezionare Strumenti > Salva copia come XML. Vedere Documentazione dello schema del database.

È possibile utilizzare Specifica opzioni come JSON per automatizzare scenari complessi in cui è necessario specificare dinamicamente quali cataloghi includere o se suddividere l'output in più file.

Note 

  • Per eseguire questa istruzione di script, l'utente o lo script devono disporre di privilegi di accesso completo. Vedere Creazione e modifica degli script.

  • Questo formato XML può cambiare da una versione di FileMaker Pro a quella successiva. Quando si utilizza l'XML per confrontare le due versioni di un file FileMaker Pro, assicurarsi di utilizzare la stessa versione di FileMaker Pro per salvare una copia di ogni file come XML. Se si utilizza l'XML con altri strumenti, assicurarsi che siano progettati per utilizzare l'XML salvato dalla versione di FileMaker Pro in uso.

  • Per Specificare opzioni come JSON, quando split_catalogs è true:

    • L'opzione File di destinazione viene trattata come un nome di cartella e vengono creati file XML separati per ogni catalogo specificato in catalogs_included. Se la cartella non esiste, questa istruzione di script la crea.

    • La chiave standalone_binarydata viene automaticamente impostata su true durante la suddivisione dei cataloghi.

    • Il valore CatalogoLibrerie viene ignorato anche se specificato in catalogs_included.

  • Se Specifica opzioni come JSON contiene un errore di formattazione, l'istruzione di script restituisce il codice di errore 878 ("I dati JSON per Opzioni contengono un errore di formattazione e non è stato possibile analizzarli").

Esempio 1 

Salva una copia del file aperto il cui nome della finestra è Inventario in un file XML.

Copia
Salva copia come XML [Nome finestra: "Inventario"; File di destinazione: "Inventario.xml"]

Esempio 2 

Salva solo gli script, i formati e le funzioni personalizzate dal file specificato dalla finestra corrente in un file XML utilizzando Specifica opzioni come JSON.

Copia
Imposta variabile [ $opzioniJson ; Valore: JSONSetElement ( "{}" ;
    [ "catalogs_included" ; JSONMakeArray (
      "CatalogoScript CatalogoFormati CatalogoFunzioniPersonalizzate" ;
      " " ; JSONString ) ; JSONArray ] ;
    [ "include_details" ; False ; JSONBoolean ] ;
    [ "split_catalogs" ; False ; JSONBoolean ] ;
    [ "standalone_binarydata" ; False ; JSONBoolean ]
  )
]

Salva copia come XML [ Nome finestra: ; File di destinazione: "MyApp_Schema.xml" ; Includi dettagli per gli strumenti di analisi ; Specifica opzioni come JSON: $opzioniJson ]

Si noti che anche se Includi dettagli per gli strumenti di analisi è selezionato nell'istruzione di script, viene ignorato dalla chiave include_details in Specifica opzioni come JSON impostato su False.

Esempio 3 

Salva script, formati e campi in file XML separati all'interno di una cartella denominata "MyApp_SaveAsXML".

Copia
Imposta variabile [ $opzioniJson ; Valore:
  JSONSetElement ( "{}" ;
    [ "catalogs_included" ; JSONMakeArray (
      "CatalogoScript CatalogoFormati CatalogoCampi" ;
      " " ; JSONString ) ; JSONArray ] ;
    [ "include_details" ; True ; JSONBoolean ] ;
    [ "split_catalogs" ; True ; JSONBoolean ]
  )
]

Salva copia come XML [ Nome finestra: ; File di destinazione: "MyApp_SaveAsXML" ; Specifica opzioni come JSON: $opzioniJson ]

Questo crea una cartella denominata "MyApp_SaveAsXML" contenente tre file:

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