Altova XMLSpy 2024 Enterprise Edition 

Al seleccionar el comando Insertar (o al pasar el cursor por este comando) aparece un submenú con estos tres comandos:

 

Insertar ruta de acceso del archivo

Insertar XInclude

Insertar archivo externo codificado

 

Insertar ruta de acceso del archivo

El comando Ruta de acceso del archivo está disponible en las vistas Texto y Cuadrícula para todos los tipos de documento. Este comando inserta la ruta de acceso de un archivo en la posición del cursor. Al hacer clic en este comando aparece un cuadro de diálogo (imagen siguiente) donde puede seleccionar el archivo pertinente.

EditInsertFilePath

Hay dos maneras de seleccionar el archivo: (i) buscando el archivo, su URL o un recurso global (con el botón Examinar) o (ii) seleccionando la ventana en la que está abierto el archivo (con el botón Ventana). Seleccione el archivo y haga clic en Aceptar. La ruta de acceso del archivo seleccionado se inserta en el documento activo en la posición del cursor.

 

Insertar XInclude

El comando XInclude está disponible en las vistas Texto y Cuadrícula. Este comando sirve para insertar un elemento XInclude nuevo en la posición del cursor (en la vista Texto) o antes del elemento seleccionado (en la vista Texto y Cuadrícula). Si en la vista Cuadrícula selecciona un atributo, el elemento XInclude se inserta después del atributo y antes del primer elemento secundario del elemento primario del atributo. Al seleccionar este comando aparece el cuadro de diálogo XInclude (imagen siguiente).

 

dlg_xinclude

En el cuadro de texto href introduzca el archivo XML que se debe incluir (también puede buscar el archivo haciendo clic en el botón Examinar situado a la derecha del cuadro de texto). El nombre del archivo se insertará en el documento XML como valor del atributo href. En este diálogo también puede definir los atributos parse, xpointer y encoding del elemento XInclude (xi:include), así como el elemento secundario fallback. Para ello, seleccione la casilla correspondiente y seleccione/escriba un valor. En el caso del elemento fallback, al marcar la casilla se inserta un elemento fallback vacío. El contenido del elemento fallback se debe insertar después en la vista de edición.

 

El atributo parse determina si el documento incluido se debe analizar como XML o como texto (XML es el valor predeterminado). El atributo xpointer identifica a un fragmento concreto del documento que se localiza por medio del atributo href. Este es el fragmento que se incluirá. El atributo encoding especifica la codificación del documento incluido para que XMLSpy pueda transcodificar este documento (o la parte del documento que se debe incluir) a la codificación del documento de destino. El contenido del elemento secundario fallback sustituye al elemento xi:include si no se encuentra el documento que se debe incluir.

 

Por ejemplo, este documento XML usa XInclude para incluir dos documentos XML:

 

<?xml version="1.0" encoding="UTF-16"?>

<AddressBook xsi:schemaLocation="https://www.altova.com/sv/myaddresses AddressBook.xsd"

 xmlns="https://www.altova.com/stylevision/tutorials/myaddresses"

 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 xmlns:xi="http://www.w3.org/2001/XInclude">

 <xi:include href="BusinessAddressBook.xml"/>

 <xi:include href="PersonalAddressBook.xml"/>

</AddressBook>

 

Cuando se analice este documento XML, se sustituirán los dos elementos XInclude por los archivos indicados en los atributos href.

 

 

xml:base

Cuando el validador XML de XMLSpy lee un documento XML y encuentra el elemento include en el espacio de nombres XInclude (en adelante xi:include), el validador sustituye este elemento (xi:include) por el documento XML indicado en el atributo href del elemento xi:include. El elemento de documento (elemento raíz) del documento XML incluido (o el elemento identificado por un XPointer) se incluye con un atributo xml:base a fin de conservar los URI base del elemento incluido. Si el documento XML resultante (que contiene el documento XML o los fragmentos XML incluidos) debe ser válido con respecto a un esquema, entonces el elemento de documento del documento incluido (o el elemento de nivel superior del fragmento XML) debe crearse con un modelo de contenido que admita un atributo xml:base. Si, según el esquema, el atributo xml:base no está permitido en dicho elemento, entonces el documento resultante no será válido. Para más información sobre cómo definir un atributo xml:base en el modelo de contenido de un elemento usando la vista Esquema de XMLSpy, consulte el apartado Prefijos xml: de la sección Vista Esquema del Manual del usuario.

 

XPointers

XMLSpy admite el uso de XPointers en XInclude. Las recomendaciones del W3C relacionadas son XPointer Framework y XPointer element() Scheme. El uso de un XPointer en un elemento XInclude permite incluir una parte concreta del documento XML, en lugar del documento XML entero. Así se usan los XPointer dentro de un elemento XInclude:

 

 

<xi:include href="PersonalAddressBook.xml" xpointer="element(usa)"/>

<xi:include href="BusinessAddressBook.xml" xpointer="element(/1/1)"/>

<xi:include href="BobsAddressBook.xml" xpointer="element(usa/3/1)"/>

<xi:include href="PatsAddressBook.xml" xpointer="element(usa)element(/1/1)"/>

 

En el modelo element() de XPointer se puede usar un NCName o una secuencia de secundarios dirigida por íntegros.

 

En el primer elemento xi:include del ejemplo anterior, el atributo xpointer usa el modelo element() con un NCName usa. Según la recomendación XPointer Framework, este NCName identifica al elemento cuyo ID sea usa.

En el segundo elemento xi:include del ejemplo anterior, el atributo xpointer con el valor element(/1/1) identifica en el primer paso al primer elemento secundario de la raíz del documento (si el documento tiene un formato XML correcto, este elemento será el elemento de documento o elemento raíz). En el segundo paso, el atributo xpointer identifica al primer elemento secundario del elemento identificado en el paso anterior (en este caso el primer elemento secundario del elemento de documento).

El atributo xpointer del tercer xi:include del ejemplo combina un NCName con una secuencia de secundarios. Este XPointer localiza el primer elemento secundario del tercer elemento secundario del elemento cuyo ID sea usa.

Si no está seguro del efecto que tendrá su primer XPointer, puede reforzarlo con otro XPointer tal y como muestra el cuarto xi:include del ejemplo: xpointer="element(usa)element(/1/1)". El XPointer de apoyo indica que, en caso de que no exista ningún elemento de ID usa, se debe seleccionar el primer elemento secundario del elemento de documento. Puede insertar más XPointers de apoyo si lo desea. Los XPointers pueden estar separados por un espacio en blanco, por ejemplo xpointer="element(usa)element(addresses/1) element(/1/1)".

 

Nota:El contexto del enlace de espacio de nombres no se usa en el modelo element() porque el modelo element() no es compatible con nombres completos (QName).

 

 

Insertar archivo externo codificado

El comando Archivo externo codificado está disponible en las vistas Texto y Cuadrícula. Este comando sirve para incluir un archivo externo como texto Base-16 o Base-64 codificado en cualquier posición del documento XML. Es decir, permite incrustar archivos externos en el documento XML.

 

Al hacer clic en Insertar | Archivo externo codificado aparece este cuadro de diálogo:

InsEncodedExtFile

Puede buscar el archivo externo o escribir su nombre en el recuadro. Es necesario especificar la codificación: Base-16 o Base-64. Si desea incluir el texto codificado dentro de un elemento, marque la casilla Crear elemento y escriba el nombre del elemento nuevo en el recuadro. Si no marca la casilla Crear elemento, entonces el texto codificado se insertará en la posición del cursor.

 

Para terminar haga clic en Aceptar. El texto codificado del archivo seleccionado se inserta en la posición del cursor y dentro del elemento especificado (si marcó la casilla Crear elemento).

 

<img ext="png" encoding="xs:base64Binary">

 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/

 //+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U

 g9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC

</img>

 

Por ejemplo, el fragmento XML de más arriba muestra el texto codificado de un archivo de imagen PNG. En este caso se creó un elemento img y en él se insertó el texto codificado.

© 2018-2024 Altova GmbH