Guardar una copia como XML

Guarda una copia de un archivo abierto como una representación XML del esquema, las presentaciones y los guiones.

Temas relacionados 

Opciones 

  • Nombre de la ventana especifica el nombre de la ventana de un archivo abierto. Si no se especifica, se utiliza la ventana actual.

  • Archivo de destino es la ruta del archivo XML que se va a crear. Consulte Crear rutas de archivo.

  • Incluir detalles para las herramientas de análisis añade más información en el archivo XML.

    Esta opción añade el elemento DDR_INFO, que proporciona información adicional útil para herramientas de terceros que puede utilizar para analizar la app personalizada. En función de la app, esta opción puede generar un archivo XML considerablemente más grande.

  • Guardar los datos binarios de cada objeto de presentación bajo su nodo almacena los datos binarios de cada objeto de presentación (por ejemplo, una imagen) bajo el nodo del objeto de presentación en el archivo XML. Esto puede hacer que el XML sea más fácil de usar para algunas herramientas, pero puede aumentar el tamaño del archivo XML.

    Cuando esta opción está desactivada, solo se almacena una referencia en el nodo de cada objeto de presentación, que apunta al catálogo de datos de la biblioteca donde se almacenan los datos binarios. Esto puede ayudar a reducir el tamaño del archivo cuando se utilizan los mismos datos binarios para muchos objetos de presentación.

  • Especificar opciones como JSON es una expresión de texto para un objeto JSON que le permite especificar las siguientes opciones para este paso de guión:

    • catalogs_included (matriz JSON): una matriz de cadenas de nombre de catálogo que especifican qué catálogos incluir en el archivo XML. Si se omiten, todos los catálogos se incluyen por defecto.

    • include_details (Boolean): esta opción tiene el mismo propósito que Incluir detalles para las herramientas de análisis y anula su valor, si se especifica.

    • split_catalogs (Boolean): cuando true, crea un archivo XML separado para cada catálogo especificado en la clave catalogs_included. Cuando false se omite, crea un único archivo XML. Consulte la sección Notas para obtener detalles sobre el comportamiento del catálogo dividido.

    • standalone_binarydata (Boolean): esta opción tiene el mismo propósito que Guardar los datos binarios de cada objeto de presentación bajo su nodo y anula su valor, si se especifica.

    Cuando selecciona esta opción por primera vez, FileMaker Pro genera automáticamente un cálculo de plantilla que devuelve todas las claves anteriores con valores predeterminados, incluidos todos los nombres de catálogo admitidos para catalogs_included, que luego puede personalizar.

Compatibilidad 

Producto Format
FileMaker Pro
FileMaker Go No
FileMaker WebDirect No
FileMaker Server
FileMaker Cloud
FileMaker Data API No
Publicación en la Web personalizada No

Se origina en 

18.0

Descripción 

Este paso de guión es similar a elegir menú Herramientas > Guardar una copia como XML. Consulte Documentar esquemas de base de datos.

Puede usar Especificar opciones como JSON para automatizar escenarios complejos en los que necesita especificar dinámicamente qué catálogos incluir o si dividir la salida en varios archivos.

Notas 

  • Para realizar este paso de guion, el usuario o el guion deben tener privilegios de acceso total. Consulte Crear y editar guiones.

  • Este formato XML puede cambiar de una versión de FileMaker Pro a la siguiente. Al comparar el archivo XML para comparar dos versiones de un archivo de FileMaker Pro, asegúrese de que se utiliza la misma versión de FileMaker Pro para guardar una copia de cada archivo como XML. Si utiliza el archivo XML con otras herramientas, asegúrese de que esas herramientas se hayan diseñado para utilizarse con el archivo XML guardado por su versión de FileMaker Pro.

  • Para Especificar opciones como JSON, cuando split_catalogs es true:

    • La opción Archivo de destino se trata como un nombre de carpeta, y se crean archivos XML separados para cada catálogo especificado en catalogs_included. Si la carpeta no existe, este paso de guión la crea.

    • La clave standalone_binarydata se establece automáticamente en true al dividir catálogos.

    • El valor LibraryCatalog se ignora incluso si se especifica en catalogs_included.

  • Si Especificar opciones como JSON contiene un error de formato, el paso de guión devuelve el código de error 878 ("Los datos JSON para Opciones contienen un error de formato y no se han podido analizar").

Ejemplo 1 

Guarda una copia del archivo abierto, cuyo nombre de ventana es Inventory, en un archivo XML.

Copiar
Guardar una copia como XML [ Nombre de la ventana: "Inventario" ; Archivo de destino: "Inventario.xml" ]

Ejemplo 2 

Guarda solo guiones, presentaciones y funciones personalizadas del archivo especificado por la ventana actual en un archivo XML usando Especificar opciones como JSON.

Copiar
Establecer variable [ $jsonOptions ; Valor:
  JSONSetElement ( "{}" ;
    [ "catalogs_included" ; JSONMakeArray (
      "ScriptCatalog LayoutCatalog CustomFunctionsCatalog" ;
      " " ; JSONString ) ; JSONArray ] ;
    [ "include_details" ; False ; JSONBoolean ] ;
    [ "split_catalogs" ; False ; JSONBoolean ] ;
    [ "standalone_binarydata" ; False ; JSONBoolean ]
  )
]

Guardar una copia como XML [ Nombre de la ventana: ; Archivo de destino: "MyApp_Schema.xml" ; Incluye información para las herramientas de análisis ; Especifica las opciones en formato JSON: $jsonOptions ]

Tenga en cuenta que, aunque en el paso de guión se haya seleccionado Incluir detalles para las herramientas de análisis, esta configuración queda anulada al establecer en Especificar opciones como JSON la clave include_details en False.

Ejemplo 3 

Guarda guiones, presentaciones y campos en archivos XML separados dentro de una carpeta llamada "MyApp_SaveAsXML".

Copiar
Establecer variable [ $jsonOptions ; Valor:
  JSONSetElement ( "{}" ;
    [ "catalogs_included" ; JSONMakeArray (
      "ScriptCatalog LayoutCatalog FieldCatalog" ;
      " " ; JSONString ) ; JSONArray ] ;
    [ "include_details" ; True ; JSONBoolean ] ;
    [ "split_catalogs" ; True ; JSONBoolean ]
  )
]

Guardar una copia como XML [ Nombre de la ventana: ; Archivo de destino: "MyApp_SaveAsXML" ; Especifica las opciones en formato JSON: $jsonOptions ]

Esto crea una carpeta llamada "MyApp_SaveAsXML" que contiene tres archivos:

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