Altova MapForce 2022 Professional Edition

Archivos de catálogo

Inicio Anterior Inicio Siguiente

MapForce es compatible con un subconjunto del mecanismo de catálogos XML de la Organización para el fomento de normas comunes de información estructurada u OASIS (https://www.oasis-open.org/committees/entity/spec-2001-08-06.html). Este mecanismo permite a MapForce obtener esquemas DTD y XML de uso común (además de hojas de estilos y otros archivos) de carpetas locales en lugar de resolverlos desde un URI público, lo cual acelera el proceso, permite trabajar sin conexión y mejora la portabilidad de los documentos.

 

Funcionamiento de los catálogos

Los catálogos se suelen usar para redirigir un esquema DTD o una referencia de esquema públicos a un URI local (que suele ser la ruta local de acceso). Para ello se usa un archivo de catálogo en formato XML para definir una asignación entre el URI del esquema público y un URI local. Cada vez que MapForce analice un documento, primero buscará el URI del esquema (o DTD o identificador de sistema de un DTD públicos, si los hay) dentro del archivo del catálogo. Si se encuentra una asignación, entonces se usa esa referencia y el esquema se lee desde un archivo local. Si no se encuentra ninguna asignación en el archivo del catálogo, entonces se resuelve el URI del documento XML tal y como esté.

 

Por ejemplo, imagine que MapForce tiene que procesar este archivo XML:

 

<?xml version="1.0" encoding="UTF-8"?>
<Articles xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Articles.xsd">
  <Article>
    <Number>1</Number>
    <Name>T-Shirt</Name>
    <SinglePrice>25</SinglePrice>
  </Article>
</Articles>

 

Imagine también que en algún directorio local existe el archivo catalog.xml (que MapForce, como explicamos a continuación), que contiene esta línea de código:

 

<catalog>

 <!--...-->
<uri name="http://www.w3.org/2001/XMLSchema-instance.xsd" uri="files/XMLSchema-instance.xsd"/>
<!--...-->
</catalog>

 

Al analizar el archivo XML, MapForce detecta una coincidencia en el archivo de catálogo para la referencia http://www.w3.org/2001/XMLSchema-instance.xsd. En consecuencia, el esquema se carga desde files/XMLSchema-instance.xsd (que es una ruta local relativa al archivo de catálogo). Si no se encuentra ninguna asignación en el archivo de catálogo, entonces el esquema se carga desde http://www.w3.org/2001/XMLSchema-instance.

 

Catálogo raíz

Cuando se inicializa MapForce carga el archivo RootCatalog.xml del directorio "Archivos de programa". RootCatalog.xml contiene una lista de archivos de catálogo, cada uno de los cuales está en un elemento nextCatalog. MapForce consulta estos archivos de catálogo y resuelve los URIs que hay en ellos conforme a las asignaciones que tengan indicadas.

 

<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" xmlns:spy="https://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"/>

  <!-- Include all catalogs under common schemas folder on the first directory level -->
  <nextCatalog spy:recurseFrom="%AltovaCommonFolder%/Schemas" catalog="catalog.xml" spy:depth="1"/>
  <nextCatalog catalog="CoreCatalog.xml"/>
</catalog>

RootCatalog.xml

En el extracto de código anterior, observe que se mencionan estos catálogos para consultar:

 

CustomCatalog.xml es el archivo en el que puede crear sus propias asignaciones y se encuentra en el directorio: C:\users\<name>\Documents\Altova\MapForce2022. Puede añadir a CustomCatalog.xml asignaciones para cualquier esquema personal que no esté ya incluido en los archivos de catálogo configurados por Altova (véanse los puntos siguientes).

Varios archivos catalog.xml del directorio %AltovaCommonFolder%/Schemas. Cada uno de esos archivos catalog.xml está dentro del directorio de un esquema específico (como SGV, DITA, DocBook, WSDL, etc.) y asigna identificadores de sistema o públicos a URIs que apuntan a copias locales almacenadas de los respectivos esquemas.

CoreCatalog.xml contiene algunas asignaciones específicas de Altova para localizar esquemas. Este archivo está en el directorio MapForce.

 

Tenga en cuenta que:

 

Si quiere modificar el archivo CustomCatalog.xml debe usar únicamente Elementos compatibles. Asegúrese también de no duplicar las asignaciones que ya existen, ya que podría provocar errores.

El archivo catalog.xml de la carpeta %AltovaCommonFolder%\Schemas\schema contiene referencias a DTDs que implementan especificaciones antiguas de XML Schema. No se deben validar los documentos XML Schema a partir de estos esquemas. Las especificaciones antiguas de XML Schema se incluyen únicamente para que MapForce sea capaz de resolver eficazmente los URIs de todos los esquemas en caso de que tenga que trabajar con este tipo de documentos.

 

Algunas de las rutas de directorios que se mencionan más arriba contienen variables de entorno. Para ver la tabla de referencia consulte Variables de entorno.

 

Elementos compatibles

Al crear entradas en CustomCatalog.xml use solamente los elementos de la tabla siguiente. Los elementos de la especificación de catálogo de OASIS XML no son compatibles.

 

Elemento

Atributos

Ejemplo

public

publicId indica el identificador público de un recurso

uri indica una referencia a un URI (por ejemplo, una ruta relativa de acceso a un archivo local)

<public publicId="-//W3C//DTD XMLSCHEMA 200102//EN" uri="files/XMLSchema.dtd"/>

system

systemId indica el identificador de sistema de un recurso

uri indica una referencia a un URI (por ejemplo, una ruta relativa de acceso a un archivo local)

<system systemId="http://www.w3.org/2009/XMLSchema/datatypes.dtd" uri="files/datatypes.dtd"/>

uri

name indica una referencia a un URI

uri indica una referencia a un URI (por ejemplo, una ruta relativa de acceso a un archivo local)

<uri name="http://www.w3.org/2009/XMLSchema/XMLSchema.xsd" uri="files/XMLSchema.xsd"/>

rewriteURI

uriStartString indica el comienzo de un URI que se quiere reescribir

uri indica una referencia a un URI (por ejemplo, una ruta relativa de acceso a un archivo local)

<rewriteURI uriStartString='https://www.altova.com/schemas/svg/' rewritePrefix='files/'/>

rewriteSystem

systemIdStartString indica el comienzo de un identificador de sistema que se quiere reescribir

rewritePrefix indica la cadena de reemplazo (por ejemplo, una ruta relativa a un directorio local)

<rewriteSystem systemIdStartString='https://www.altova.com/schemas/svg/' rewritePrefix='files/'/>

 

Los elementos public, system y uri también pueden tomar el atributo xml:base, que se usa para indicar un URI de base con respecto al cual se resuelve un URI relativo. Para más información consulte la especificación de catálogos XMK (http://www.oasis-open.org/committees/entity/spec-2001-08-06.html).

 

Variables de entorno

La tabla siguiente contiene todas las variables de entorno compatobles con el elemento nextCatalog para indicar rutas a varias ubicaciones del sistema en Windows.

 

%AltovaCommonFolder%

La ruta completa de acceso al directorio que se usa para almacenar archivos comunes a todos los programas de Altova. En función de qué plataforma use su sistema operativo y la de MapForce la ruta es C:\Program Files\Altova\Common2022 o C:\Program Files (x86)\Altova\Common2022.

%DesktopFolder%

La ruta completa de acceso al directorio que se usa para almacenar archivos en el escritorio. Una ruta típica es C:\Users\Username\Desktop.

%ProgramMenuFolder%

La ruta completa de acceso al directorio que contiene los grupos de programas del usuario, que son a su vez directorios de sistema de archivos. Una ruta típica es C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs.

%StartMenuFolder%

La ruta completa de acceso al directorio que contiene los elementos del Menú Inicio. Una ruta típica es C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu.

%StartUpFolder%

La ruta completa de acceso al directorio que corresponde al grupo de programas de inicio del usuario. Una ruta típica es C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

%TemplateFolder%

La ruta completa de acceso al directorio que sirve de repositorio común para plantillas de documentos. Una ruta típica es C:\Users\username\AppData\Roaming\Microsoft\Windows\Templates.

%AdminToolsFolder%

La ruta completa de acceso al directorio del sistema que almacena las herramientas administrativas para el usuario actual. Una ruta típica es C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools.

%AppDataFolder%

El directorio de sistema de archivos que sirve de repositorio común para datos específicos de la aplicación.

Una ruta típica es C:\Users\username\AppData\Roaming.

%FavoritesFolder%

La ruta completa de acceso al directorio "Favoritos" del usuario actual. Una ruta típica es C:\Users\Username\Favorites.

%PersonalFolder%

La ruta completa de acceso al directorio "Personal" del usuario actual. Una ruta típica es C:\Users\Username\Documents.

%SendToFolder%

La ruta completa de acceso al directorio que contiene los elementos de menú Enviar a. Una ruta típica es C:\Users\username\AppData\Roaming\Microsoft\Windows\SendTo.

%FontsFolder%

La ruta completa de acceso al directorio Fuentes del sistema. Una ruta típica es C:\Windows\Fonts.

%ProgramFilesFolder%

La ruta completa de acceso al directorio Archivos de programa. Son rutas típicas C:\Program Files y C:\Program Files (x86).

%CommonFilesFolder%

La ruta completa de acceso al directorio Archivos comunes. Una ruta típica es C:\Users\Public\Public Documents.

%WindowsFolder%

La ruta completa de acceso al directorio de Windows (igual que la variable de entorno %WINDIR%). Una ruta típica es C:\Windows.

%SystemFolder%

La ruta completa de acceso al directorio del sistema. Una ruta típica es %WINDIR%\system32

%CommonAppDataFolder%

La ruta completa de acceso al directorio que contiene los datos de la aplicación. Una ruta típica es C:\ProgramData.

%LocalAppDataFolder%

La ruta completa de acceso al directorio que sirve como repositorio de datos para aplicaciones locales (no roaming). A typical path is C:\Users\username\AppData\Local.

%MyPicturesFolder%

La ruta completa de acceso al directorio Imágenes del usuario actual. Una ruta típica es C:\Users\Username\Pictures.

© 2015-2021 Altova GmbH