Archivos de catálogo

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Personalizar MapForce >

Archivos de catálogo

MapForce es compatible con un subconjunto del mecanismo de catalogación XML OASIS. El mecanismo de catalogación permite a MapForce recuperar de carpetas locales del usuario los esquemas (y hojas de estilos y otros archivos) usados con frecuencia. Esto incrementa la velocidad global de procesamiento, permite al usuario trabajar sin conexión (es decir, sin estar conectado a una red) y mejora la portabilidad de los documentos (porque los identificadores URI se tienen que cambiar sólo en los archivos de catálogo).

 

A continuación describimos cómo funciona el mecanismo de catalogación en MapForce.

 

 

RootCatalog.xml

Al iniciarse, MapForce carga un archivo llamado RootCatalog.xml (cuya estructura aparece a continuación), que contiene una lista de los archivos de catálogo que se buscarán. El usuario puede modificar esta lista y añadir tantos archivos de catálogo como desee, escribiendo cada archivo en un elemento nextCatalog. MapForce busca cada uno de estos archivos de catálogo y sus URI se resuelven de acuerdo con las asignaciones especificadas en ellos.

 

<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
    xmlns:spy="http://www.altova.com/catalog_ext"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="urn:oasis:names:tc:entity:xmlns:xml:catalog Catalog.xsd">
<nextCatalog catalog="%PersonalFolder%/Altova/%AppAndVersionName%/CustomCatalog.xml"/>
<nextCatalog catalog="CoreCatalog.xml"/>
<!-- Include all catalogs under common schemas folder on the first directory level -->
<nextCatalog spy:recurseFrom="%AltovaCommonFolder%/Schemas" catalog="catalog.xml" spy:depth="1"/>
<!-- Include all catalogs under common XBRL folder on the first directory level -->
<nextCatalog spy:recurseFrom="%AltovaCommonFolder%/XBRL" catalog="catalog.xml" spy:depth="1"/>
</catalog>

 

En el fragmento de código anterior, observe que en las carpetas Schemas y XBRL de la carpeta identificada con la variable %AltovaCommonFolder% están los archivo de catálogo llamados catalog.xml. (El valor de la variable %AltovaCommonFolder% se indica en la tabla que aparece más abajo.)

 

Los archivos de catálogo de la carpeta de archivos comunes de Altova realizan asignaciones entre los identificadores de sistema e identificadores públicos predefinidos de las taxonomías XBRL y los esquemas (como SVG y WSDL) y los identificadores URI que apuntan a copias locales de los respectivos esquemas. Estos esquemas se instalan en la carpeta de archivos comunes de Altova cuando se instala MapForce. Rogamos no cree asignaciones duplicadas en estos archivos porque se pueden producir errores.

 

CoreCatalog.xml, CustomCatalog.xml y Catalog.xml

En el ejemplo de código anterior del archivo RootCatalog.xml se indica que se busquen los archivos CoreCatalog.xml y CustomCatalog.xml:

 

CoreCatalog.xml contiene ciertas asignaciones propias de Altova que sirven para localizar esquemas en la carpeta de archivos comunes de Altova.
CustomCatalog.xml es un archivo base en el que el usuario puede crear asignaciones propias. En el archivo CustomCatalog.xml puede crear asignaciones para cualquier esquema, siempre y cuando el esquema no esté controlado por los archivos de catálogo de la carpeta de archivos comunes de Altova. Para crear asignaciones use los elementos compatibles con el mecanismo de catalogación OASIS (véase más adelante).
En la carpeta de archivos comunes de Altova hay varios archivos Catalog.xml. Cada archivo está dentro de la carpeta de un esquema o de una taxonomía XBRL concretos de la carpeta de archivos comunes de Altova. Además, cada archivo Catalog.xml realiza asignaciones entre los identificadores de sistema e identificadores públicos y los identificadores URI que apuntan a las copias locales de los respectivos esquemas.

 

Ubicación de los archivos de catálogo y los esquemas

Los archivos RootCatalog.xml y CoreCatalog.xml se instalan en la carpeta de aplicación de MapForce. El archivo CustomCatalog.xml está ubicado en su carpeta MisDocumentos\Altova\MapForce. Cada archivo catalog.xml está en una carpeta de esquema y estas carpetas están dentro de las carpetas: %AltovaCommonFolder%\Schemas y %AltovaCommonFolder%\XBRL.

 

Variables de entorno Shell y variables de Altova

En el elemento nextCatalog puede utilizar algunas variables de entorno Shell para indicar la ruta de acceso a las ubicaciones del sistema (ver el fragmento anterior del archivo RootCatalog.xml). Estas son las variables de entorno Shell compatibles:

 

 

%AltovaCommonFolder%

C:\Archivos de programa\Altova\Common2019

%DesktopFolder%

Ruta de acceso completa de la carpeta Escritorio del usuario actual.

%ProgramMenuFolder%

Ruta de acceso completa de la carpeta del menú Programas del usuario actual.

%StartMenuFolder%

Ruta de acceso completa de la carpeta del menú Inicio del usuario actual.

%StartUpFolder%

Ruta de acceso completa de la carpeta Inicio del usuario actual.

%TemplateFolder%

Ruta de acceso completa de la carpeta de plantillas del usuario actual.

%AdminToolsFolder%

Ruta de acceso completa del directorio del sistema de archivos que almacena las herramientas administrativas del usuario actual.

%AppDataFolder%

Ruta de acceso completa de la carpeta Datos de programa del usuario actual.

%CommonAppDataFolder%

Ruta de acceso completa del directorio de archivos que contiene datos del programa de todos los usuarios.

%FavoritesFolder%

Ruta de acceso completa de la carpeta Favoritos del usuario actual.

%PersonalFolder%

Ruta de acceso completa de la carpeta personal del usuario actual.

%SendToFolder%

Ruta de acceso completa de la carpeta SendTo del usuario actual.

%FontsFolder%

Ruta de acceso completa de la carpeta Fuentes del sistema.

%ProgramFilesFolder%

Ruta de acceso completa de la carpeta Archivos de programa del usuario actual.

%CommonFilesFolder%

Ruta de acceso completa de la carpeta Common files del usuario actual.

%WindowsFolder%

Ruta de acceso completa de la carpeta Windows del usuario actual.

%SystemFolder%

Ruta de acceso completa de la carpeta System del usuario actual.

%LocalAppDataFolder%

Ruta de acceso completa al directorio del sistema de archivos que sirve como repositorio de datos para aplicaciones locales (no roaming).

%MyPicturesFolder%

Ruta de acceso completa a la carpeta Mis imágenes.

 

Cómo funcionan los catálogos: documentos DTD

Los catálogos se suelen usar para redireccionar una llamada a una DTD hasta un URI local. Para ello es necesario realizar asignaciones, en el archivo de catálogo, entre los identificadores de sistema o públicos y el URI local pertinente. De este modo, cuando se lee la declaración DOCTYPE en un archivo XML, el identificador de sistema o público localiza el recurso local necesario con ayuda de la asignación del archivo de catálogo.

 

Para los esquemas más utilizados el identificador PUBLIC suele estar predefinido y, por tanto, sólo hace falta que el URI del archivo de catálogo apunte a la copia local correcta. Cuando se analiza el documento XML, se lee el identificador PUBLIC del documento. Si se encuentra este identificador en un archivo de catálogo, se buscará la URL correspondiente del archivo de catálogo y se leerá el esquema desde esta ubicación. Por ejemplo, imaginemos que abrimos este archivo SVG en MapForce:

 

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
 
<svg width="20" height="20" xml:space="preserve">
<g style="fill:red; stroke:#000000">
    <rect x="0" y="0" width="15" height="15"/>
    <rect x="5" y="5" width="15" height="15"/>
</g>
</svg>

 

En este caso se leería el documento y se buscaría el identificador PUBLIC en el catálogo. Imaginemos que el archivo de catálogo contiene esta entrada:

 

<catalog>
 ...
  <public publicId="-//W3C//DTD SVG 1.1//EN" uri="schemas/svg/svg11.dtd"/>
 ...
</catalog>

 

En este caso, se encuentra un identificador PUBLIC, de modo que la búsqueda de la DTD del SVG se redirecciona al URI schemas/svg/svg11.dtd (esta ruta es relativa al archivo de catálogo) y este archivo local se usará como DTD. Si en el catálogo no hay una asignación para el identificador Public, entonces se usa la URL del documento XML (en el ejemplo anterior: http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd).

 

El subconjunto de catálogos compatible con MapForce

Cuando cree entradas en el archivo CustomCatalog.xml (o en cualquier otro archivo de catálogo que sea leído por MapForce), utilice únicamente los elementos que aparecen a continuación de la especificación de catálogos OASIS. En la lista que aparece más adelante explicamos los valores de los atributos de cada elemento. Si desea consultar una descripción más detallada, visite la página de la especificación XML Catalogs. Recuerde que todos  los elementos puede tomar el atributo xml:base, que se usa para especificar el URI base del elemento.

 

 

<public publicId="PublicID of Resource" uri="URL of local file"/>
<system systemId="SystemID of Resource" uri="URL of local file"/>
<uri name="filename" uri="URL of file identified by filename"/>
<rewriteURI uriStartString="StartString of URI to rewrite" rewritePrefix="String to replace StartString"/>
<rewriteSystem systemIdStartString="StartString of SystemID" rewritePrefix="Replacement string to locate resource locally"/>

 

Cuando no exista un identificador público, como es el caso de casi todas las hojas de estilos, el identificador de sistema se puede asignar directamente a una URL con el elemento system. Además, un URI se puede asignar a otro URI con el elemento uri. Los elementos rewriteURI y rewriteSystem sirven para volver a escribir la parte inicial de un URI o identificador de sistema respectivamente. Gracias a ello se puede sustituir el principio de la ruta de acceso de un archivo y, por consiguiente, se puede apuntar a otro directorio. Para más información sobre estos elementos, consulte la especificación XML Catalogs.

 

Extensiones de archivo y edición inteligente basada en un esquema

Mediante los archivos de catálogo también puede especificar a qué tipo de documentos (según su extensión de archivo) se les puede aplicar las funciones de edición inteligente de MapForce de acuerdo con las reglas del esquema que usted indique. Por ejemplo, si crea la extensión de archivo personalizada .myhtml para archivos (HTML) que deben ser válidos con respecto a la DTD HTML, entonces puede habilitar la función de edición inteligente para los archivos que tengan esta extensión. Para ello, añada el elemento que aparece a continuación al archivo de catálogo CustomCatalog.xml y como elemento secundario del elemento <catalog> :

 

<spy:fileExtHelper ext="myhtml" uri="schemas/xhtml/xhtml1-transitional.dtd"/>

 

Así se habilita la función de edición inteligente (finalización automática, ayudantes de entrada, etc.) para archivos .myhtml en MapForce en base a la DTD transicional XHTML 1.0. Consulte el archivo catalog.xml de la carpeta %AltovaCommonFolder%\Schemas\xhtml, que contiene entradas similares a este ejemplo.

 

Especificaciones de XML Schema

La información de la especificación XML Schema está integrada en MapForce y esta información interna se usa para validar los documentos de esquema XML (.xsd). Por tanto, en los documentos de esquema XML no se deberían hacer referencia a ningún esquema que defina la especificación XML Schema.

 

El archivo catalog.xml de la carpeta %AltovaCommonFolder%\Schemas\schema contiene referencias a documentos DTD que implementan especificaciones antiguas de XML Schema. Rogamos no valide sus documentos de esquema XML con estos esquemas. Los archivos referenciados se incluyen con el único objetivo de aportar información a MapForce para sus ayudantes de entrada, en caso de que el usuario quiera crear documentos basados en estas recomendaciones.

 

Más información

Para más información, consulte la especificación XML Catalogs.

 


© 2019 Altova GmbH