Saltar al contenido principal
Versión: Siguiente

XML SET OPTIONS

XML SET OPTIONS ( refElement | document ; selector ; valor {; selector2 ; valor2 ; ... ; selectorN ; valorN} )

ParámetroTipoDescripción
refElement | documentTexto🡒Referencia del elemento XML raíz o Referencia del documento abierto
selectorEntero largo🡒Opción a definir
valorEntero largo🡒Valor de la opción

Descripción

El comando XML SET OPTIONS se utiliza para modificar el valor de uno o más parámetros XML para estructura pasada en el primer parámetro.

Este comando se aplica a las estructuras XML de tipo "árbol" (DOM) o "document" (SAX). En el primer parámetro, puede pasar una referencia del elemento raíz (refElement), o la referencia de un documento SAX abierto (document).

Pase la opción a modificar en selector y el nuevo valor de la opción en valor. Puede pasar tantos pares selector/valor como desee. Debe utilizar las constantes descritas a continuación, colocadas en el tema "XML":

Las siguientes opciones sólo se utilizan en la dirección 4D a XML (no tienen ningún efecto en la lectura de valores XML en 4D) por estos comandos

ConstanteTipoValorComentario
XML binary encodingEntero largo5Especifica la manera como se convierten los datos binarios.
Valores posibles:
XML Base64 (valor por defecto): los datos binarios se convierten simplemente en base64XML Data URI scheme: los datos binarios se convierten en base64 y se añade el encabezado "data:;base64". Este formato permite principalmente a un navegador decodificar automáticamente una imagen, y también es necesario para insertar imágenes . Para mayor información, consulte http://en.wikipedia.org/wiki/Data%5FURI%5Fscheme.
XML date encodingEntero largo2Especifica la forma en que se convierten las fechas 4D. Por ejemplo, !01/01/2003! en la zona horaria de Paris.
Valores posibles:
XML ISO (valor por defecto): uso del formato xs:datetime sin indicación de la zona horaria. Resultado: "2003-01-01". La parte hora, si está presente en el valor 4D (vía SQL) se pierde. XML Local: uso del formato xs:date con indicación de zona horaria. Resultado: "2003-01-01 +01:00". La parte hora, si está presente en el valor 4D (vía SQL) se pierde. XML Datetime local: uso del formato xs:dateTime (ISO 8601). Indicación de la zona horaria. Este formato permite conservar la parte hora, si está presente en el valor 4D (vía SQL). Resultado: "2003-01-01T00:00:00 +01:00". XML UTC: uso del formato xs:date. Resultado: "2003-01-01Z". La parte hora, si está presente en el valor 4D (vía SQL) se pierde. XML Datetime UTC: uso del formato xs:dateTime (ISO 8601). Este formato permite conservar la parte hora, si está presente en el valor 4D (vía SQL). Resultado: "2003-01-01T00:00:00Z".
XML indentationEntero largo4Define la indentación del document XML.
Valores posibles:
XML With indentation (valor por defecto): el documento está indentado.XML No indentation: el documento no está indentado; su contenido se ubica en una sola línea.
XML picture encodingEntero largo6Especifica la forma en la que las imágenes deben convertirse (antes de codificar en base64).
Valores posibles:
XML Convert to PNG (valor por defecto): las imágenes se convierten en PNG antes de ser codificadas en base64.XML Native codec: las imágenes se convierten en su primer CODEC nativo de almacenamiento antes de ser codificadas en base64. Debe utilizar estas opciones para codificar imágenes SVG (ver ejemplo del comando XML SET OPTIONS).
XML string encodingEntero largo1Especifica la forma como las cadenas 4D se convierten en valores de elementos. No concierne a las conversiones en atributos para las cuales XML impone el uso de caracteres de escape.
Valores posibles:
XML With escaping (valor por defecto): conversión de las cadenas 4D en valores de elementos XML con reemplazo de caracteres. Los datos de tipo texto son analizados automáticamente de manera que los caracteres prohibidos (<&>’) son reemplazados por las entidades XML (&<> '").XML Raw data: las cadenas 4D se envían como datos brutos; 4D no efectúa codificación ni análisis. Los valores 4D se convierten si es posible en fragmentos XML y se insertan como hijo del elemento objetivo. Si un valor no puede considerarse como fragmento XML, se inserta en forma de dato bruto en un nuevo nodo CDATA.
XML time encodingEntero largo3Define la forma como las horas 4D se convierten. Por ejemplo, ?02/00/46? (hora de Paris). La codificación difiere dependiendo de si quiere expresar una hora o una duración.
Valores posibles para las horas:
XML Datetime UTC: hora expresada en UTC (Universal Time Coordinated). Note que la conversión a UTC es automática. Resultado: "0000-00-00T01:00:46Z". XML Datetime local: hora expresada con la diferencia horaria de la máquina del motor de 4D. Resultado: "0000-00-00T02:00:46+01:00". XML Datetime local absolute (valor por defecto): hora expresada sin indicación de la zona horaria. Sin modificación del valor. Resultado: "0000-00-00T02:00:46". Valores posibles para las duraciones:
XML Seconds: número de segundos desde la media noche; sin modificación del valor porque expresa una duración. Resultado: "7246". XML Duration: duración expresada conforme a XML Schema Part 2: Datatypes Second Edition. Sin modificación dle valor ya que expresa una duración. Resultado: "PT02H00M46S".

Notas:

  • Los valores XML Local y XML Datetime local no ofrecen fechas expresadas en UTC (Universal Time Coordinated); se convierten sin modificación pero indican la diferencia horaria. Estos formatos son útiles en el caso de conversiones sucesivas y recíprocas (round tripping).
  • Los valores XML UTC y XML Datetime UTC son equivalentes a los precedentes desde el punto de vista del formato, pero se expresan en UTC. Estos formatos deben tener prioridad para asegurar la interoperabilidad. Los valores no son modificables.

Las siguientes opciones le permiten modificar algunas funcionalidades del analizador xml predeterminado:

ConstanteTipoValorComentario
XML BOMEntero largo9Especifica si los documentos XML incluyen BOM.
Valores posibles: XML por defecto (por defecto): utiliza la configuración actual de la base. Por defecto, BOM no se incluye, excepto en las bases/proyectos creados con versiones hasta v19.x, donde BOM se incluye. Ver también parámetros de compatibilidad. XML activado: incluye BOM XML desactivado: no incluye BOM
XML DOM case sensitivityEntero largo8Especifica la sensibilidad a mayúsculas y minúsculas con respecto a los nombres de los elementos de los comandos DOM Get XML element y DOM Count XML elements.
Valores posibles:XML case sensitive (valor predeterminado): los comandos distinguen entre mayúsculas y minúsculasXML case insensitive: los comandos no distinguen entre mayúsculas y minúsculas.
XML external entity resolutionEntero largo7Controla si las entidades externas están definidas en documentos XML. Por razones de seguridad, por defecto, los analizadores XML DOM y SAX de 4D no permiten la resolución de entidades externas. Tenga en cuenta que el alcance de este selector es el proceso de llamada (si es apropiativo) o todos los procesos cooperativos (si se llama desde un proceso cooperativo). Se aplica globalmente a todos los documentos XML (el primer parámetro se ignora, puede pasar una cadena vacía).
**
Valores posibles:**XML enabled: permite la resolución de entidades externas en documentos XMLXML disabled (valor predeterminado): no permite la resolución de entidades externas (una declaración de entidad externa genera un error de análisis)
XML line endingEntero largo10Caracteres de fin de línea en documentos XML escritos.
Valores posibles: XML por defecto (por defecto): utiliza la configuración actual de la base. Por defecto es LF en macOS y CRLF en Windows. Sin embargo, en macOS, en las bases/proyectos creados con versiones de 4D hasta la v19.x, por defecto es CR para DOM y CRLF para SAX. Ver también parámetros de compatibilidad. XML LF: utiliza LF (salto de línea) XML CR: utiliza CR (carriage return) XML CRLF: utiliza CR+LF

Ejemplo

Inserción de una imagen SVG:

 XML SET OPTIONS($pictElemRef;XML binary encoding;XML data URI scheme)
 XML SET OPTIONS($pictElemRef;XML picture encoding;XML native codec)
 DOM SET XML ATTRIBUTE($pictElemRef;"xlink:href";PictVar)

Ver también

DOM SET XML ATTRIBUTE
DOM SET XML DECLARATION
DOM SET XML ELEMENT VALUE
SAX ADD XML ELEMENT VALUE
XML GET OPTIONS