Altova RaptorXML Server 2015

Altova RaptorXML Server 2015
Manual de referencia y del usuario
Manual de referencia y del usuario de Altova RaptorXML
Server 2015
Todos los derechos reservados. Ningún fragmento de esta publicación podrá ser reproducido
de manera alguna (ya sea de forma gráfica, electrónica o mecánica, fotocopiado, grabado o
reproducido en sistemas de almacenamiento y recuperación de información) sin el
consentimiento expreso por escrito de su autor/editor.
Los productos a los que se hace referencia en este documento pueden ser marcas registradas
de sus respectivos propietarios. El autor y editor no afirman ser propietarios de dichas marcas
registradas.
Durante la elaboración de este documento se tomaron todas las precauciones necesarias para
prevenir errores. Sin embargo, el autor y editor no se responsabilizan de los errores u
omisiones que pudiese contener el documento ni de los posibles daños o perjuicios derivados
del uso del contenido de este documento o de los programas y código fuente que vengan con el
documento. Bajo ninguna circunstancia se podrá considerar al autor y editor responsables de la
pérdida de beneficios ni de cualquier otro daño y perjuicio derivado directa o indirectamente del
uso de este documento.
Fecha de publicación: 2015
© 2015 Altova GmbH
Contenido
1
Introducción a RaptorXML Server
3
1.1 ...................................................................................................................................
Ediciones e interfaces
5
1.2 ...................................................................................................................................
Requisitos del sistema
7
1.3 ...................................................................................................................................
Características
8
1.4...................................................................................................................................
Especificaciones compatibles
10
2
Instalar RaptorXML Server
12
2.1...................................................................................................................................
Instalación y configuración en Windows
13
2.1.1 .....................................................................................................................
Instalación en Windows
14
2.1.2 .....................................................................................................................
Asignación de licencias en Windows
16
2.2...................................................................................................................................
Instalación y configuración en Linux
20
2.2.1 .....................................................................................................................
Instalación en Linux
21
2.2.2 .....................................................................................................................
Asignación de licencias en Linux
24
2.2.3 .....................................................................................................................
Notas sobre el entorno Linux
26
2.3...................................................................................................................................
Instalación y configuración en Mac OS X
27
2.3.1 .....................................................................................................................
Instalación en Mac OS X
28
2.3.2 .....................................................................................................................
Asignación de licencias en Mac OS X
31
2.3.3 .....................................................................................................................
Notas sobre el entorno Mac
33
2.4...................................................................................................................................
Catálogos XML
34
2.4.1 .....................................................................................................................
Cómo funcionan los catálogos
35
2.4.2 .....................................................................................................................
Mecanismo de catalogación XML de Altova
37
2.4.3 .....................................................................................................................
Variables para ubicaciones de sistemas Windows
40
2.5...................................................................................................................................
Recursos globales
42
2.6...................................................................................................................................
Problemas de seguridad
44
3
Interfaz de la línea de comandos (ILC)
46
3.1...................................................................................................................................
Comandos para validar XML, DTD, XSD
48
3.1.1 .....................................................................................................................
valxml-withdtd (xml)
49
3.1.2 .....................................................................................................................
valxml-withxsd (xsi)
53
3.1.3 .....................................................................................................................
valdtd (dtd)
60
3.1.4 .....................................................................................................................
valxsd (xsd)
63
3.1.5 .....................................................................................................................
valany
69
Altova RaptorXML Server 2015
1
3.2...................................................................................................................................
Comandos para comprobar el formato
73
3.2.1 .....................................................................................................................
wfxml
74
3.2.2 .....................................................................................................................
wfdtd
78
3.2.3 .....................................................................................................................
wfany
81
3.3...................................................................................................................................
Comandos XSLT
84
3.3.1 .....................................................................................................................
xslt
85
3.3.2 .....................................................................................................................
valxslt
92
3.4...................................................................................................................................
Comandos XQuery
98
3.4.1 .....................................................................................................................
xquery
99
3.4.2.....................................................................................................................
xqueryupdate
104
3.4.3.....................................................................................................................
valxquery
111
3.4.4.....................................................................................................................
valxqueryupdate
115
3.5
...................................................................................................................................
Comandos de ayuda y licencias
119
3.5.1.....................................................................................................................
Ayuda
120
3.5.2.....................................................................................................................
Licencias
122
3.6
...................................................................................................................................
Comandos de localización
124
3.6.1.....................................................................................................................
exportresourcestrings
125
3.6.2.....................................................................................................................
setdeflang
126
3.7
...................................................................................................................................
Opciones
127
3.7.1.....................................................................................................................
Catálogos, recursos globales, archivos ZIP
128
3.7.2.....................................................................................................................
Mensajes, errores, ayuda, tiempo de espera y versión
129
3.7.3.....................................................................................................................
Procesamiento
130
3.7.4.....................................................................................................................
XML
132
3.7.5.....................................................................................................................
XSD
134
3.7.6.....................................................................................................................
XQuery
136
3.7.7.....................................................................................................................
XSLT
139
4
Interfaz HTTP
144
4.1
...................................................................................................................................
Preparar el servidor
146
4.1.1.....................................................................................................................
Iniciar el servidor
147
4.1.2.....................................................................................................................
Probar la conexión
149
4.1.3.....................................................................................................................
Configurar el servidor
150
4.2
...................................................................................................................................
Solicitudes cliente
155
4.2.1.....................................................................................................................
Iniciar trabajos con POST
158
4.2.2.....................................................................................................................
Respuesta del servidor a solicitudes POST
163
4.2.3.....................................................................................................................
Obtener el documento de resultados
166
4.2.4.....................................................................................................................
Obtener los documentos de salida/errores
170
4.2.5.....................................................................................................................
Liberar espacio tras el procesamiento
172
2
Altova RaptorXML Server 2015
5
Interfaz Python
174
5.1
...................................................................................................................................
Crear scripts Python
176
5.2
...................................................................................................................................
Ejecutar scripts Python
179
5.3
...................................................................................................................................
Ejemplo de script 1: procesar XML
180
5.3.1.....................................................................................................................
Script
181
5.3.2.....................................................................................................................
Documento de resultados
184
5.4
...................................................................................................................................
Ejemplo de script 2: cambiar el formato XML
185
5.4.1.....................................................................................................................
Script
186
5.4.2.....................................................................................................................
Documento de resultados
189
5.5
...................................................................................................................................
Referencia API de Python
192
6
Interfaz Java
196
6.1
...................................................................................................................................
Ejemplo de proyecto Java
198
6.2
...................................................................................................................................
Interfaces de RaptorXML para Java
200
6.2.1.....................................................................................................................
RaptorXMLFactory
201
6.2.2.....................................................................................................................
XMLValidator
207
6.2.3.....................................................................................................................
XSLT
218
6.2.4.....................................................................................................................
XQuery
226
6.2.5.....................................................................................................................
RaptorXMLException
234
7
Interfaces COM y .NET
236
7.1
...................................................................................................................................
Notas sobre la interfaz COM
237
7.2
...................................................................................................................................
Notas sobre la interfaz NET
238
7.3
...................................................................................................................................
Lenguajes de programación
240
7.3.1.....................................................................................................................
Ejemplo de COM: VBScript
242
7.3.2.....................................................................................................................
Ejemplo de .NET: C#
245
7.3.3.....................................................................................................................
Ejemplo de .NET: Visual Basic .NET
248
7.4
...................................................................................................................................
Referencia de la API
250
7.4.1.....................................................................................................................
Interfaces
251
........................................................................................................... 251
IServer
........................................................................................................... 254
IXMLValidator
........................................................................................................... 259
IXSLT
........................................................................................................... 264
IXQuery
7.4.2.....................................................................................................................
Enumeraciones
271
........................................................................................................... 271
ENUMAssessmentMode
........................................................................................................... 272
ENUMErrorFormat
Altova RaptorXML Server 2015
3
........................................................................................................... 272
ENUMLoadSchemalocation
........................................................................................................... 273
ENUMQueryVersion
........................................................................................................... 274
ENUMSchemaImports
........................................................................................................... 275
ENUMSchemaMapping
........................................................................................................... 276
ENUMValidationType
........................................................................................................... 277
ENUMWellformedCheckType
........................................................................................................... 277
ENUMXMLValidationMode
........................................................................................................... 278
ENUMXQueryVersion
........................................................................................................... 279
ENUMXQueryUpdatedXML
........................................................................................................... 279
ENUMXSDVersion
........................................................................................................... 280
ENUMXSLTVersion
8
Información sobre motores XSLT y XQuery
284
8.1
...................................................................................................................................
XSLT 1.0
285
8.2
...................................................................................................................................
XSLT 2.0
286
8.3
...................................................................................................................................
XSLT 3.0
289
8.4
...................................................................................................................................
XQuery 1.0
290
8.5
...................................................................................................................................
XQuery 3.1
294
8.6
...................................................................................................................................
XQuery 1.0 and XPath 2.0 Functions
295
8.7
...................................................................................................................................
XPath and XQuery Functions 3.1
299
9
XSLT and XPath/XQuery Functions
302
9.1
...................................................................................................................................
Altova Extension Functions
304
9.1.1.....................................................................................................................
XSLT Functions
306
9.1.2.....................................................................................................................
XPath/XQuery Functions: Date and Time
309
9.1.3.....................................................................................................................
XPath/XQuery Functions: Geolocation
323
9.1.4.....................................................................................................................
XPath/XQuery Functions: Image-Related
332
9.1.5.....................................................................................................................
XPath/XQuery Functions: Numeric
337
9.1.6.....................................................................................................................
XPath/XQuery Functions: Sequence
340
9.1.7.....................................................................................................................
XPath/XQuery Functions: String
347
9.1.8.....................................................................................................................
XPath/XQuery Functions: Miscellaneous
353
9.1.9.....................................................................................................................
Chart Functions
354
...........................................................................................................
358
Chart
Data XML Structure
...........................................................................................................
363
Example:
Chart Functions
9.1.10
.....................................................................................................................
Barcode Functions
367
9.2
...................................................................................................................................
Miscellaneous Extension Functions
369
9.2.1.....................................................................................................................
Java Extension Functions
370
...........................................................................................................
371
User-Defined Class Files
4
Altova RaptorXML Server 2015
...........................................................................................................
374
User-Defined
Jar Files
...........................................................................................................
375
Java: Constructors
...........................................................................................................
375
Java:
Static Methods and Static Fields
...........................................................................................................
376
Java:
Instance Methods and Instance Fields
...........................................................................................................
377
Datatypes:
XPath/XQuery to Java
...........................................................................................................
378
Datatypes:
Java to XPath/XQuery
9.2.2.....................................................................................................................
.NET Extension Functions
379
...........................................................................................................
381
.NET:
Constructors
...........................................................................................................
382
.NET:
Static Methods and Static Fields
...........................................................................................................
382
.NET:
Instance Methods and Instance Fields
...........................................................................................................
383
Datatypes:
XPath/XQuery to .NET
...........................................................................................................
384
Datatypes:
.NET to XPath/XQuery
9.2.3.....................................................................................................................
MSXSL Scripts for XSLT
386
10 Altova LicenseServer
390
10.1
...................................................................................................................................
Información de red
392
10.2
...................................................................................................................................
Instalación en Windows
393
10.3
...................................................................................................................................
Instalación en Linux
394
10.4
...................................................................................................................................
Instalación en Mac OS X
396
10.5
...................................................................................................................................
Altova ServiceController
397
10.6
...................................................................................................................................
Asignación de licencias
398
10.6.1
.....................................................................................................................
Iniciar LicenseServer
399
10.6.2
.....................................................................................................................
Abrir la página de configuración de LicenseServer (Windows)
401
10.6.3
.....................................................................................................................
Abrir la página de configuración de LicenseServer (Linux)
404
10.6.4
.....................................................................................................................
Abrir la página de configuración de LicenseServer (Mac OS X)
407
10.6.5
.....................................................................................................................
Cargar licencias en LicenseServer
410
10.6.6
.....................................................................................................................
Registrar productos con LicenseServer
414
...........................................................................................................
414
Registrar FlowForce Server
...........................................................................................................
419
Registrar
MapForce Server
...........................................................................................................
420
Registrar
StyleVision Server
...........................................................................................................
422
Registrar
RaptorXML(+XBRL) Server
...........................................................................................................
423
Registrar
MobileTogether Server
10.6.7
.....................................................................................................................
Asignar licencias a productos registrados
425
10.7
...................................................................................................................................
Referencia de la página de configuración
431
10.7.1
.....................................................................................................................
Repertorio de licencias
432
10.7.2
.....................................................................................................................
Gestión de servidores
437
10.7.3
.....................................................................................................................
Supervisión de servidores
442
10.7.4
.....................................................................................................................
Opciones de configuración
443
10.7.5
.....................................................................................................................
Mensajes, Cerrar sesión
449
Altova RaptorXML Server 2015
5
10.8
...................................................................................................................................
Reestablecer contraseña
450
Índice
6
Altova RaptorXML Server 2015
Altova RaptorXML Server 2015
Introducción a RaptorXML Server
Introducción a RaptorXML Server
1
3
Introducción a RaptorXML Server
Altova RaptorXML Server (en adelante RaptorXML) es el rapidísimo motor XML y XBRL de
tercera generación de Altova, optimizado para los estándares más recientes y para entornos de
informática en paralelo. RaptorXML es compatible con múltiples plataformas y aprovecha la
omnipresencia actual de equipos multinúcleo para ofrecer rapidísimas funciones de
procesamiento de datos XML y XBRL.
* Nota: las funciones de procesamiento XBRL solamente están disponibles en RaptorXML+XBRL
Server (no están disponibles en RaptorXML Server).
Ediciones y sistemas operativos
Altova ofrece dos ediciones diferentes de RaptorXML, diseñadas para satisfacer diferentes
requisitos. Estas dos ediciones se describen en el apartado Ediciones e interfaces. RaptorXML
está disponible para Windows, Linux y Mac OS X. Para más información consulte el apartado
Requisitos del sistema.
Características y especificaciones compatibles
RaptorXML ofrece funciones de validación XML, transformación XSLT y ejecución de XQuery
dotadas de numerosas y potentes opciones. Para ver la lista de características y funciones clave
de RaptorXML, consulte el apartado Características. En el apartado Especificaciones compatibles
se enumeran todas las especificaciones con las que cumple RaptorXML. Para más información
visite el sitio web de Altova.
Esta documentación
La presente documentación está incluida en la aplicación y también está disponible en el sitio
web de Altova. Tenga en cuenta que el explorador Chrome tiene una restricción que no permite
expandir las entradas de la tabla de contenido cuando la documentación se abre localmente. Sin
embargo, si abre la documentación desde un servidor web, la tabla de contenido funciona
correctamente en Chrome.
La presente documentación se divide en varias secciones:
Introducción a RaptorXML (la presente sección)
Instalar RaptorXML
Interfaz de la línea de comandos
Interfaz HTTP
Interfaz Python
Interfaz Java
Interfaz COM/.NET
Información sobre motores XSLT y XQuery
Funciones de extensión XSLT y XQuery
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
4
Introducción a RaptorXML Server
Altova LicenseServer
Última actualización:02-24-2015
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Introducción a RaptorXML Server
1.1
Ediciones e interfaces
5
Ediciones e interfaces
Altova ofrece dos ediciones distintas de RaptorXML:
RaptorXML Server: un rapidísimo motor de procesamiento XML compatible con XML,
XML Schema, XSLT, XPath y XQuery, entre otros estándares.
RaptorXML+XBRL Server: ofrece todas las características de RaptorXML Server y
funciones de procesamiento y validación compatibles con todos los estándares XBRL.
Interfaces
Puede acceder a RaptorXML Server a través de varias interfaces:
Una interfaz de la línea de comandos (en adelante ILC).
Una interfaz COM para sistemas Windows.
Una interfaz .NET para sistemas Windows.
Una interfaz Java para sistemas Windows, Linux y Mac OS.
Una interfaz HTTP a la que se puede acceder desde un cliente HTTP.
Una interfaz Python con la que puede acceder y procesar partes de documentos
mediante scripts Python y con ayuda de las API de Python de RaptorXML. Los scripts
se pueden enviar por la interfaz de la línea de comandos o por la interfaz HTTP.
El diagrama que aparece a continuación muestra cómo se accede a RaptorXML Server y
RaptorXML+XBRL Server a través de las diferentes interfaces.
Observe que las interfaces COM, Java y .NET usan el protocolo HTTP para conectarse a
RaptorXML. Los scripts Python se pueden enviar a RaptorXML a través de la interfaz HTTP y de la
línea de comandos.
Interfaz de la línea de comandos (ILC)
Permite validar XML (y otros documentos), transformar XSLT y ejecutar XQuery desde la línea de
comandos. Para más información y aprender a usarla consulte la sección Interfaz de la línea de
comandos.
Interfaz HTTP
Puede acceder a todas las funciones de las ediciones servidor a través de una interfaz HTTP. Las
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
6
Introducción a RaptorXML Server
Ediciones e interfaces
solicitudes cliente se hacen en formato JSON. Cada solicitud se asigna a un directorio de trabajo
en el servidor (en este directorio se guardan los archivos de salida) y las respuestas del servidor
al cliente incluyen toda la información relacionada con el trabajo. Para más información consulte
la sección Interfaz HTTP.
Interfaz Python
Junto con un comando de la ILC o una solicitud HTTP, puede suministrar un script Python que
acceda a documentos especificados en el comando o en la solicitud. El acceso al documento se
consigue a través de las API Python para XML, XSD y XBRL. Para más información sobre esta
interfaz y aprender a usarla consulte la sección Interfaz Python.
Interfaz COM
Puede usar RaptorXML a través de la interfaz COM y, por tanto, puede ser utilizada por
aplicaciones y lenguajes de script compatibles con COM. La compatibilidad con al interfaz COM
está implementada para interfaces sin formato e interfaces de envío. Los datos de entrada se
pueden suministrar como archivos o como cadenas de texto en scripts y en los datos de la
aplicación.
Interfaz Java
Las funciones de RaptorXML también están disponibles como clases Java que se pueden usar en
programas Java. Por ejemplo, hay clases Java que ofrecen características de validación XML,
transformación XSLT y ejecución de XQuery.
Interfaz .NET
RaptorXML ofrece un archivo DLL construido como contenedor de RaptorXML que permite a los
usuarios de .NET conectarse a las funciones de RaptorXML. Además, RaptorXML ofrece un
ensamblado de interoperabilidad principal firmado por Altova. Los datos de entrada se pueden
suministrar como archivos o como cadenas de texto en scripts y en los datos de la aplicación.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Introducción a RaptorXML Server
1.2
Requisitos del sistema
7
Requisitos del sistema
RaptorXML Server es compatible con estos sistemas operativos:
Windows
Windows XP (SP2 para x64 y SP3 para x86), Windows Vista, Windows 7, Windows 8 o
superior
Windows Server
Windows Server 2008 R2 o superior
Linux
CentOS 6 o superior
RedHat 6 o superior
Debian 6 o superior
Ubuntu 12.04 o superior
Además es necesario instalar la biblioteca Qt (versión 4 o superior), disponible con la
licencia GNU GPL y LGPL.
Mac OS X
Mac OS X 10.8 o superior
RaptorXML es compatible con equipos de 32 y 64 bits. Estos son los núcleos basados en
conjuntos de instrucciones x86 y amd64 (x86-64): Intel Core i5, i7, XEON E5.
Para usar RaptorXML Server a través de una interfaz COM el usuario debe tener privilegios para
usar la interfaz COM, es decir, para registrar la aplicación y ejecutar las aplicaciones y scripts
pertinentes.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
8
Introducción a RaptorXML Server
1.3
Características
Características
RaptorXML ofrece todas las funciones que aparecen a continuación. La mayoría de las funciones
corresponden a la línea de comandos y a la interfaz COM. La principal diferencia es que la
interfaz COM en Windows permite construir documentos a partir de cadenas de texto con el
código de aplicación o de script (en lugar de hacer referencia a archivos XML, DTD, esquemas
XML, XSLT o XQuery).
Validación XML
Valida documentos XML con esquemas XML y DTD internos o externos.
Revisa el formato de documentos XML, DTD, XML Schema, XSLT y XQuery.
Transformaciones XSLT
Transforma XML usando documentos XSLT 1.0, 2.0 o 3.0 suministrados por el usuario.
Los documentos XML y XSLT se pueden suministrar en forma de archivpo (por su URL) o,
en el caso de la interfaz COM, en forma de cadena de texto.
Los resultados se devuelven en forma de archivo (en la ubicación elegida por el usuario)
o, en el caso de la interfaz COM, en forma de cadena de texto.
Los parámetros XSLT se pueden suministrar a través de la línea de comandos o de la
interfaz de COM.
Las funciones de extensión de Altova, así como las funciones de extensión Java y .NET,
permiten un procesamiento más especializado. Por ejemplo, permiten crear ciertas
características como gráficos y códigos de barras en los documentos de salida.
Ejecución de XQuery
Ejecuta documentos XQuery 1.0 y 3.0.
Los documentos XQuery y XML se pueden suministrar en forma de archivo (por su URL)
o, en el caso de la interfaz COM, en forma de cadena de texto.
Los resultados se devuelven en forma de archivo (en la ubicación elegida por el usuario)
o, en el caso de la interfaz COM, en forma de cadena de texto.
Las variables XQuery externas se pueden suministrar a través de la línea de comandos o
de la interfaz de COM.
Opciones de serialización: codificación de salida, método de codificación (es decir, si el
resultado es en XML, XHTML, HTML o texto), omisión de la declaración XML y sangría.
Características de alto rendimiento
Optimizaciones de código de altísimo rendimiento
o Implementaciones nativas de conjuntos de instrucciones
o Versión de 32 bits
Bajísima superficie de memoria
o Representación en memoria de XML Information Set extremadamente compacta
o Validación de instancias por transmisión por secuencias
Características compatibles con múltiples plataformas
Código altamente adaptable para informática en paralelo y equipos multi-CPU/multinúcleo
Carga, validación y procesamiento en paralelo
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Introducción a RaptorXML Server
Características
9
Características para desarrolladores
Avanzadas funciones de generación de informes de errores
Modo servidor Windows y modo demonio Unix (a través de opciones de la línea de
comandos)
Intérprete Python 3.x para scripting
API de COM en la plataforma Windows
API de Java en todas las plataformas
Funciones de extensión XPath, Java, .NET, XBRL, etc.
Serialización de secuencias de datos
Servidor HTTP integrado con API de validación REST
Para más información consulte el apartado Especificaciones compatibles y visite el sitio web de
Altova.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
10
Introducción a RaptorXML Server
1.4
Especificaciones compatibles
Especificaciones compatibles
RaptorXML es compatible con todas estas especificaciones.
Recomendaciones del W3C
Sitio web: World Wide Web Consortium (W3C)
Extensible Markup Language (XML) 1.0 (Fifth Edition)
Extensible Markup Language (XML) 1.1 (Second Edition)
Namespaces in XML 1.0 (Third Edition)
Namespaces in XML 1.1 (Second Edition)
XML Information Set (Second Edition)
XML Base (Second Edition)
XML Inclusions (XInclude) Version 1.0 (Second Edition)
XML Linking Language (XLink) Version 1.0
XML Schema Part 1: Structures Second Edition
XML Schema Part 2: Datatypes Second Edition
W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures
W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes
XPointer Framework
XPointer xmlns() Scheme
XPointer element() Scheme
XML Path Language (XPath) Version 1.0
XSL Transformations (XSLT) Version 1.0
XML Path Language (XPath) 2.0 (Second Edition)
XSL Transformations (XSLT) Version 2.0
XQuery 1.0: An XML Query Language (Second Edition)
XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition)
XML Path Language (XPath) 3.0
Borradores y recomendaciones candidatas del W3C
Sitio web: World Wide Web Consortium (W3C)
XSL Transformations (XSLT) Version 3.0
XQuery 3.0: An XML Query Language
XPath and XQuery Functions and Operators 3.0
Estándares OASIS
Sitio web: OASIS Standards
XML Catalogs V 1.1 - OASIS Standard V1.1
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
Instalar RaptorXML Server
12
Instalar RaptorXML Server
2
Instalar RaptorXML Server
Esta sección describe el procedimiento para instalar y configurar RaptorXML Server
correctamente. Incluye varios apartados con información sobre:
Cómo instalar RaptorXML y asignarle licencias en sistemas Windows, Linux y Mac OS X
Cómo usar los catálogos XML.
Cómo trabajar con los recursos globales de Altova.
Problemas de seguridad relacionados con RaptorXML.
RaptorXML tiene opciones especiales que admiten el uso de catálogos XML y de recursos
globales de Altova, características que mejoran la portabilidad y modularidad del entorno en el
que se trabaja.
Nota: el apartado Problemas de seguridad explica cómo configurar importantes soluciones de
seguridad.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
2.1
Instalación y configuración en Windows
13
Instalación y configuración en Windows
Esta sección explica cómo instalar RaptorXML Server y asignarle licencias en sistemas
Windows.
Instalación en Windows
Requisitos del sistema
Instalar RaptorXML Server
Altova LicenseServer
Versiones de LicenseServer
Licencia de prueba
Ubicación de la carpeta de aplicación
Asignación de licencias en Windows
Iniciar el controlador de servicios ServiceController
Iniciar LicenseServer
Iniciar RaptorXML Server
Registrar RaptorXML Server
Asignar una licencia
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
14
Instalar RaptorXML Server
2.1.1
Instalación en Windows
Instalación y configuración en Windows
El proceso de instalación y configuración de RaptorXML Server en Windows se describe a
continuación.
Requisitos del sistema
Windows
Windows XP (SP2 para x64 y SP3 para x86), Windows Vista, Windows 7, Windows 8
o superior
Windows Server
Windows Server 2008 R2 o superior
Instalar RaptorXML Server
RaptorXML Server se puede instalar en sistemas Windows:
Como producto servidor independiente llamado RaptorXML Server: para
instalar RaptorXML Server como producto independiente, descargue y ejecute el
instalador de RaptorXML Server y siga las instrucciones en pantalla.
Como parte del paquete de instalación de FlowForce Server: para instalar
RaptorXML Server como parte del paquete de FlowForce Server descargue y ejecute
el instalador de FlowForce Server. Siga las instrucciones en pantalla y marque la
opción para instalar RaptorXML Server.
Los programas de instalación de RaptorXML Server y FlowForce Server se pueden descargar
del sitio web de Altova e instalan los productos con los registros necesarios. Una vez
completada la instalación, el ejecutable de RaptorXML Server estará en esta ubicación
predeterminada:
<CarpetaArchivosPrograma>\Altova\RaptorXMLServer2015\bin\RaptorXML.exe
El programa de instalación realizará todos los registros necesarios para utilizar RaptorXML
Server a través de una interfaz COM, como interfaz Java y en el entorno .NET. Esto incluye
el registro del ejecutable de RaptorXML Server como objeto servidor de COM, instalar
RaptorXMLLib.dll (para su uso en la interfaz Java) en el directorio WINDIR\system32\ y
añadir el archivo Altova.RaptorXML.dll a la biblioteca de referencia .NET.
Altova LicenseServer
Para que RaptorXML Server funcione debe tener asignada una licencia desde un
servidor Altova LicenseServer de la red.
El programa de instalación de RaptorXML Server o de FlowForce Server para
sistemas Windows ofrece una opción para descargar e instalar Altova LicenseServer
junto con RaptorXML Server o con FlowForce Server.
Si en la red ya hay instalado un servidor Altova LicenseServer, no necesita instalar
otro LicenseServer a no ser que se necesite una versión más reciente (ver el
siguiente apartado versiones de LicenseServer).
Durante el proceso de instalación de RaptorXML Server o de FlowForce Server,
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
Instalación y configuración en Windows
15
puede seleccionar si también se instala Altova LicenseServer.
Para más información sobre cómo registrar RaptorXML Server y asignarle licencias con
Altova LicenseServer, consulte la sección Asignación de licencias en Windows.
Versiones de LicenseServer
Versiones de LicenseServer SRVSTP
los productos servidor de Altova debe de poseer la licencia o bien de la versión
LicenseServer que es adecuada para instalarla en la versión RaptorXML Server o
con la última versión de LicenseServer.
La versión LicenseServer que es adecuado para una versión particular de RaptorXML
Server se muestra durante la instalación de RaptorXML Server. Puede instalar esta
versión de LicenseServer junto con RaptorXML Server, o puede instalar
LicenseServer de forma separada.
Antes de instalar una nueva versión de LicenseServer, cualquiera más antigüo ha de
desinstalarse. El instalador LicenseServer lo hará de forma automática si detecta
una versión más antigüa.
Las versiones LicenseServer son compatibles con las anteriores. Éstos trabajarán
con versiones más antigüas de RaptorXML Server.
Si instala una versión nueva de RaptorXML Server y si la versión instalada
LicenseServer es más antigüa que la LicenseServer adecuada, instale la última
versión disponible en la página wb de Altova.
Al mismo tiempo que se lleva a cabo el proceso de desinstalación de
LicenseServer, todas las informaciones de registro y de licencia que se mantienen
en la versión anterior de LicenseServer se guardarán en una base de datos en su
servidor. Estos datos se importarán de forma automática en su nueva versión
cuando ésta se instale.
El número de la versión LicenseServer que está instalada actualmente aparece al
final de la Página de configuración de LicenseServer (todas las pestañas).
Current version: 1.19
Licencia de prueba
Durante el proceso de instalación, se le ofrecerá la opción de solicitar un a licencia de
prueba de 30 días para RaptorXML Server. Después de enviar la solicitud, se le enviará una
licencia de prueba a la dirección de correo electrónico donde se registró.
Ubicación de la carpeta de la aplicación
La aplicación se instalará en esta carpeta:
© 2015 Altova Gmb H
Windows XP
C:\Archivos de programa\Altova\
Windows Vista, Windows 7 y 8
C:\Archivos de programa\Altova\
Versión de 32 bits en sistemas
operativos de 64 bits
C:\Archivos de programa (x86)\Altova\
Altova RaptorXML Server 2015
16
Instalar RaptorXML Server
2.1.2
Asignación de licencias en Windows
Instalación y configuración en Windows
RaptorXML Server debe poseer una licencia de Altova LicenseServer para poder ejecutarlo. El
proceso de licencia consta de dos pasos:
1.
2.
Registre el RaptorXML Server con LicenseServer. El registro se realiza desde
RaptorXML Server.
Asigne una licencia a RaptorXML Server. La asignación de licencia se lleva a cabo por
LicenseServer.
Los pasos que tiene que realizar puede seguirlos más abajo.
Iniciar el controlador de servicios ServiceController
Altova ServiceController se inicia para arrancar Altova LicenseServer y Altova RaptorXML
Server.
Altova ServiceController (en adelante ServiceController) es una práctica aplicación que sirve
para iniciar, detener y configurar los servicios de Altova en sistemas Windows.
ServiceController se instala con Altova LicenseServer y con los productos servidor de Altova
que se instalan como servicios (FlowForce Server, RaptorXML(+XBRL) Server y Mobile
Together Server). Se puede iniciar haciendo clic en Inicio | Altova LicenseServer | Altova
ServiceController. (Este comando también está en las carpetas del menú Inicio de los
productos servidor de Altova que se instalan como servicios (FlowForce Server,
RaptorXML(+XBRL) Server y Mobile Together Server).) Una vez iniciado, podrá acceder a
ServiceController desde la bandeja del sistema (imagen siguiente).
Si quiere que ServiceController se inicie automáticamente nada más iniciar sesión en el
sistema, haga clic en el icono de ServiceController de la bandeja del sistema para abrir el
menú de opciones de ServiceController (imagen siguiente) y active la opción Run Altova
ServiceController at Startup (Ejecutar Altova ServiceController al inicio), que de todas
maneras es la opción predeterminada. Para cerrar ServiceController haga clic en el icono de
ServiceController de la bandeja del sistema y en el menú haga clic en la opción Exit Altova
ServiceController (Salir de Altova ServiceController).
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
Instalación y configuración en Windows
17
Iniciar LicenseServer
Para iniciar LicenseServer haga clic en el icono de ServiceController en la bandeja del
sistema, pase el puntero del mouse por encima de la opción Altova LicenseServer del
menú emergente (imagen siguiente) y seleccione el comando Start service en el submenú.
Si LicenseServer ya está en ejecución, este comando estará deshabilitado.
Iniciar RaptorXML Server
Para iniciar RaptorXML Server haga clic en el icono de ServiceController en la bandeja del
sistema, pase el puntero del mouse por encima de la opción Altova RaptorXML Server del
menú emergente (imagen siguiente) y seleccione el comando Start service en el submenú.
Si RaptorXML Server ya está en ejecución, este comando estará deshabilitado.
Registrar RaptorXML Server
Registrar RaptorXML Server desde FlowForce Server
Si instaló RaptorXML Server con el instalador de FlowForce Server, cuando registre
FlowForce Server con LicenseServer, RaptorXML Server también se registrará. Para ver
cómo se registra FlowForce Server consulte su manual del usuario. Básicamente (i)
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
18
Instalar RaptorXML Server
Instalación y configuración en Windows
debe iniciar Altova FlowForce Web como servicio desde ServiceController (ver apartado
anterior), (ii) iniciar sesión para acceder a la página de configuración, (iii) seleccionar el
nombre o la dirección del servidor LicenseServer y hacer clic en Registrarse con
LicenseServer.
Una vez completado el registro, abra la pestaña Server Management de la página de
configuración de LicenseServer para asignar una licencia a RaptorXML Server.
Registrar RaptorXML Server como producto independiente
Si se instaló como producto independiente, puede registrar RaptorXML Server de la
siguiente manera:
Desde la interfaz de la línea de comandos con el comando licenseserver:
RaptorXML licenseserver [opciones] NombreServidor-O-Dirección-IP
Por ejemplo, si el nombre del servidor donde está instalado LicenseServer es
localhost:
RaptorXML licenseserver localhost
Una vez completado el registro, abra la pestaña Server Management de la página de
configuración de LicenseServer para asignar una licencia a RaptorXML Server.
Asignar una licencia
Despues de registrarse correctamente en RaptorXML Server, se mostrará un listado en
pestaña Server Management de la página de configuración del LicenseServer. Diríjase allí
y asigne una licencia a RaptorXML Server.
Nota sobre núcleos y licencias
La asignación de licencias para software servidor de Altova, excepto en el caso de
MobileTogether Server***, depende del número de núcleos disponibles en el equipo donde
se ejecuta el software. El número de núcleos que tienen una licencia asignada debe ser
mayor o igual al número de núcleos disponibles en el servidor, ya se trate de un equipo
virtual o físico.
Por ejemplo, si su equipo servidor tiene ocho núcleos, debe comprar una licencia para ocho
núcleos como mínimo. También puede combinar licencias para conseguir el número de
licencias necesario. Por ejemplo, puede usar dos licencias para cuatro núcleos en un
servidor de ocho núcleos, en lugar de una licencia para 8 núcleos.
Si usa un equipo servidor con gran cantidad de núcleos CPU, pero tiene un bajo volumen de
procesamiento, también puede crear un equipo virtual que tenga adjudicados menos núcleos
y comprar una licencia para ese menor número de núcleos. No obstante, dicha
implementación será menos rápida que si se utilizaran todos los núcleos disponibles en el
servidor.
Nota: cada licencia se puede usar en un equipo como máximo, incluso si la capacidad
de la licencia no está agotada. Por ejemplo, si utiliza una licencia para 10 núcleos para
un equipo cliente que tiene 6 núcleos, los 4 núcleos restantes de la licencia no se
pueden usar simultáneamente en otro equipo cliente.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
Instalación y configuración en Windows
19
*** El número de licencias que se deben asignar para MobileTogether Server depende
del número de usuarios, es decir, del número de dispositivos clientes que se conecten
a MobileTogether Server.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
20
Instalar RaptorXML Server
2.2
Instalación y configuración en Linux
Instalación y configuración en Linux
Esta sección explica cómo instalar RaptorXML Server y asignarle licencias en sistemas Linux
(Debian, Ubuntu, CentOS, RedHat).
Instalación en Linux
Requisitos del sistema
Nota sobre el usuario raíz
Desinstalar versiones antiguas de los productos servidor de Altova
Descargar el paquete de instalación para Linux
Instalar RaptorXML Server
Altova LicenseServer
Versiones de LicenseServer
Licencia de prueba
Asignación de licencias en Linux
Nota sobre el usuario raíz
Iniciar LicenseServer
Iniciar RaptorXML Server
Registrar RaptorXML Server
Asignar una licencia
Observaciones sobre el entorno
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
2.2.1
Instalación y configuración en Linux
21
Instalación en Linux
El proceso de instalación y configuración de RaptorXML Server en Linux se describe a
continuación.
Requisitos del sistema
Linux
CentOS 6 o superior
RedHat 6 o superior
Debian 6 o superior
Ubuntu 12.04 o superior
Además es necesario instalar la biblioteca Qt (versión 4 o superior), disponible con la
licencia GNU GPL y LGPL.
FlowForce Server integration
Si está instalando RaptorXML Server junto con el FlowForce Server se recomienda que
instale primero el FlowForce Server. De lo contrario, después de instalar ambos RaptorXML
Server y el FlowForce Server, ejecute el siguiente comando:
cp /opt/Altova/RaptorXMLServer2015/etc/*.tool /opt/Altova/
FlowForceServer2015/tools
Este comando copia el archivo .tool desde el directorio /etc de RaptorXML Server al
directorio /tools de FlowForce Server; contiene la ruta de acceso al ejecutable RaptorXML
Server. No necesita ejecutar este comando si instala el FlowForce SErver antes de instalar
RaptorXML Server.
Nota sobre el usuario raíz
Debe tener privilegios (root) de administrador para poder instalar RaptorXML Server. Se debe
realizar la instalación, esto quiere decir, como el usuario raíz. Si se registra como root,
puede saltarse la palabra clave sudo de la lista de comandos siguientes.
Desinstalar versiones antiguas de los productos servidor de Altova
En la interfaz de la línea de comandos de Linux puede comprobar si ya hay productos
servidor de Altova instalados en el equipo. Para ello use este comando:
[Debian, Ubuntu]:
dpkg --list | grep Altova
[CentOS, RedHat]:
rpm -qa | grep server
Si RaptorXML Server no está instalado, continúe con la instalación tal y como se describe
más abajo.
Si RaptorXML Server ya está instalado y quiere instalar una versión más reciente, antes
debe desinstalar la versión previa con este comando:
[Debian, Ubuntu]:
© 2015 Altova Gmb H
sudo dpkg --remove raptorxmlserver
Altova RaptorXML Server 2015
22
Instalar RaptorXML Server
[CentOS, RedHat]:
Instalación y configuración en Linux
sudo rpm -e raptorxmlserver
Si quiere desinstalar una versión previa de Altova LicenseServer, use este comando:
[Debian, Ubuntu]:
sudo dpkg --remove licenseserver
[CentOS, RedHat]:
sudo rpm -e licenseserver
Descargar el paquete de instalación para Linux
Los paquetes de instalación de RaptorXML Server para sistemas Linux se pueden
descargar del sitio web de Altova.
Distribución
Extensión del paquete
Debian 6 y superior
.deb
Ubuntu12.04 y superior
.deb
CentOS 6 y superior
.rpm
RedHat 6 y superior
.rpm
Tras descargarlo, copie el paquete de instalación en cualquier directorio del sistema Linux.
Para ejecutar RaptorXML Server es necesario tener instalado Altova LicenseServer, que
también se puede descargar del sitio web de Altova.
Instalar RaptorXML Server
En una ventana de la Terminal, cambie al directorio donde copió el paquete de instalación
para Linux. Por ejemplo, si lo copió en un directorio del usuario llamado MiAltova (ubicado
en /home/User por ejemplo), cambie a ese directorio con esta línea de comandos:
cd /home/User/MiAltova
Instale RaptorXML Server con este comando:
[[Debian]:
[Ubuntu]:
[CentOS]:
[RedHat]:
sudo dpkg --install raptorxmlserver-2015-debian.deb
sudo dpkg --install raptorxmlserver-2015-ubuntu.deb
sudo rpm -ivh raptorxmlserver-2015-1.x86_64.rpm
sudo rpm -ivh raptorxmlserver-2015-1.x86_64.rpm
La aplicación RaptorXML Server se instala en este directorio:
/opt/Altova/RaptorXMLServer2015
Altova LicenseServer
Para poder ejecutar los productos servidores de Altova, incluido RaptorXML Server, es
necesario asignarles una licencia con un servidor Altova LicenseServer de la red.
En los sistemas Linux es necesario instalar Altova LicenseServer por separado. Por tanto,
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
Instalación y configuración en Linux
23
descargue Altova LicenseServer del sitio web de Altova y copie el paquete de instalación en
cualquier directorio. Siga las instrucciones anteriores para instalar LicenseServer (ver
apartado anterior).
[Debian]:
[Ubuntu]:
[CentOS]:
[RedHat]:
sudo
sudo
sudo
sudo
dpkg --install licenseserver-1.19-debian.deb
dpkg --install licenseserver-1.19-ubuntu.deb
rpm -ivh licenseserver-1.19-1.x86_64.rpm
rpm -ivh licenseserver-1.19-1.x86_64.rpm
La aplicación LicenseServer se instala en este directorio:
/opt/Altova/LicenseServer
Consulte el apartado siguiente Asignación de licencias en Linux para obtener información
sobre cómo registrar RaptorXML Server con Altova LicenseServer y asignarle licencias.
Versiones de LicenseServer
Versiones de LicenseServer SRVSTP
los productos servidor de Altova debe de poseer la licencia o bien de la versión
LicenseServer que es adecuada para instalarla en la versión RaptorXML Server o
con la última versión de LicenseServer.
La versión LicenseServer que es adecuado para una versión particular de RaptorXML
Server se muestra durante la instalación de RaptorXML Server. Puede instalar esta
versión de LicenseServer junto con RaptorXML Server, o puede instalar
LicenseServer de forma separada.
Antes de instalar una nueva versión de LicenseServer, cualquiera más antigüo ha de
desinstalarse. El instalador LicenseServer lo hará de forma automática si detecta
una versión más antigüa.
Las versiones LicenseServer son compatibles con las anteriores. Éstos trabajarán
con versiones más antigüas de RaptorXML Server.
Si instala una versión nueva de RaptorXML Server y si la versión instalada
LicenseServer es más antigüa que la LicenseServer adecuada, instale la última
versión disponible en la página wb de Altova.
Al mismo tiempo que se lleva a cabo el proceso de desinstalación de
LicenseServer, todas las informaciones de registro y de licencia que se mantienen
en la versión anterior de LicenseServer se guardarán en una base de datos en su
servidor. Estos datos se importarán de forma automática en su nueva versión
cuando ésta se instale.
El número de la versión LicenseServer que está instalada actualmente aparece al
final de la Página de configuración de LicenseServer (todas las pestañas).
Current version: 1.19
Licencia de prueba
Durante el proceso de instalación, se le dará la opción de solicitar na licencia de prueba de
30 días para %APPNAME%>. Después de mandar la solicitud, se le mandará una licencia
de prueba al correo electrónico con el que se registró.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
24
Instalar RaptorXML Server
Instalación y configuración en Linux
2.2.2
Asignación de licencias en Linux
RaptorXML Server debe poseer una licencia de Altova LicenseServer para poder ejecutarlo. El
proceso de licencia consta de dos pasos:
1.
2.
Registre el RaptorXML Server con LicenseServer. El registro se realiza desde
RaptorXML Server.
Asigne una licencia a RaptorXML Server. La asignación de licencia se lleva a cabo por
LicenseServer.
Los pasos que tiene que realizar puede seguirlos más abajo.
Nota sobre el usuario raíz
Debe tener privilegios (root) de administrador para poder instalar RaptorXML Server. Se debe
realizar la instalación, esto quiere decir, como el usuario raíz. Si se registra como root,
puede saltarse la palabra clave sudo de la lista de comandos siguientes
Iniciar LicenseServer
Para poder registrar RaptorXML Server con LicenseServer y asignarle una licencia,
LicenseServer debe estar en ejecución como servicio. Inicie LicenseServer como servicio
con este comando:
[Debian]:
[Ubuntu]:
[CentOS]:
[RedHat]:
sudo
sudo
sudo
sudo
/etc/init.d/licenseserver start
initctl start licenseserver
initctl start licenseserver
initctl start licenseserver
Si por cualquier motivo necesita detener LicenseServer, use el mismo comando pero
sustituya stop por start. Por ejemplo:
sudo /etc/init.d/licenseserver stop
Iniciar RaptorXML Server
Inicie RaptorXML Server como demonio con este comando:
[Debian]:
[Ubuntu]:
[CentOS]:
[RedHat]:
sudo
sudo
sudo
sudo
/etc/init.d/raptorxml start
initctl start raptorxml
initctl start raptorxml
initctl start raptorxml
Registrar RaptorXML Server
Puede registrar RaptorXML Server de la siguiente manera:
Desde la interfaz de la línea de comandos con el comando licenseserver:
sudo /opt/Altova/RaptorXMLServer2015/bin/raptorxml licenseserver
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
Instalación y configuración en Linux
25
[opciones] NombreServidor-O-Dirección-IP
Por ejemplo, si el nombre del servidor donde está instalado LicenseServer es localhost:
sudo /opt/Altova/RaptorXMLServer2015/bin/raptorxml licenseserver
localhost
En el comando anterior localhost es el nombre del servidor donde está instalado
LicenseServer. Observe también la ubicación del ejecutable de RaptorXML Server:
/opt/Altova/RaptorXMLServer2015/bin/
Una vez completado el registro, abra la pestaña Server Management de la página de
configuración de LicenseServer para asignar una licencia a RaptorXML Server.
Asignar una licencia
Despues de registrarse correctamente en RaptorXML Server, se mostrará un listado en
pestaña Server Management de la página de configuración del LicenseServer. Diríjase allí
y asigne una licencia a RaptorXML Server.
Nota sobre núcleos y licencias
La asignación de licencias para software servidor de Altova, excepto en el caso de
MobileTogether Server***, depende del número de núcleos disponibles en el equipo donde
se ejecuta el software. El número de núcleos que tienen una licencia asignada debe ser
mayor o igual al número de núcleos disponibles en el servidor, ya se trate de un equipo
virtual o físico.
Por ejemplo, si su equipo servidor tiene ocho núcleos, debe comprar una licencia para ocho
núcleos como mínimo. También puede combinar licencias para conseguir el número de
licencias necesario. Por ejemplo, puede usar dos licencias para cuatro núcleos en un
servidor de ocho núcleos, en lugar de una licencia para 8 núcleos.
Si usa un equipo servidor con gran cantidad de núcleos CPU, pero tiene un bajo volumen de
procesamiento, también puede crear un equipo virtual que tenga adjudicados menos núcleos
y comprar una licencia para ese menor número de núcleos. No obstante, dicha
implementación será menos rápida que si se utilizaran todos los núcleos disponibles en el
servidor.
Nota: cada licencia se puede usar en un equipo como máximo, incluso si la capacidad
de la licencia no está agotada. Por ejemplo, si utiliza una licencia para 10 núcleos para
un equipo cliente que tiene 6 núcleos, los 4 núcleos restantes de la licencia no se
pueden usar simultáneamente en otro equipo cliente.
*** El número de licencias que se deben asignar para MobileTogether Server depende
del número de usuarios, es decir, del número de dispositivos clientes que se conecten
a MobileTogether Server.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
26
Instalar RaptorXML Server
2.2.3
Notas sobre el entorno Linux
Instalación y configuración en Linux
Carpetas
A continuación se muestra una lista de carpetas en su configuración <%APPNAME%.
Conexiones JDBC
Observe los siguientes puntos:
Han de instalarse el Entorno Java Runtime o SDK.
Ha de instalarse la conexión JDBC para la base de datos de destino.
Han de configurarse correctamente las siguientes variables de entorno para su entorno:
o CLASSPATH: para encontrar archivos .jar
o PATH: para encontrar JRE, pero podría no ser necesario dependiendo de la instalación
o JAVA_HOME: si fuera necesario, dependiendo de la instalación.
Nota
En los servidores Linux, las únicas conexiones a la base de datos son JDBC.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
2.3
Instalación y configuración en Mac OS X
27
Instalación y configuración en Mac OS X
Esta sección explica cómo instalar RaptorXML Server y asignarle licencias en sistemas Mac OS
X.
Instalación en Mac OS X
Requisitos del sistema
Nota sobre el usuario raíz
Desinstalar versiones previas de productos servidor de Altova
Descargar el paquete de instalación para Mac OS X
Instalar RaptorXML Server
Altova LicenseServer
Versiones de LicenseServer
Licencia de prueba
Asignación de licencias en Mac OS X
Nota sobre el usuario raíz
Iniciar LicenseServer
Iniciar RaptorXML Server
Registrar RaptorXML Server
Asignar una licencia
Observaciones sobre el entorno
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
28
Instalar RaptorXML Server
2.3.1
Instalación en Mac OS X
Instalación y configuración en Mac OS X
El proceso de instalación y configuración de RaptorXML Server en Mac OS X se describe a
continuación.
Requisitos del sistema
Mac OS X
Mac OS X 10.8 o superior
Instalar Java para OS X
Debe instalar Java para OS X para poder ejecutar RaptorXML Server . La última versión en el
momento de escribir (JAVA para OS X 2014-001) se encuentra disponible en: http://
support.apple.com/kb/DL1572
Para la última versión que instale, haga una búsqueda de Java para OS X en la la página
web de Appl
Integración FlowForce Server
Si está instalando RaptorXML Server junto con FlowForce Server, se le recomienda que
instale primero el FlowForce Server. De lo contrario, después de haber instalado ambos
RaptorXML Server y FlowForce Server, ejecute el siguiente comando:
cp /usr/local/Altova/RaptorXMLServer2015/etc/*.tool /usr/local/Altova/
FlowForceServer2015/tools
Este comando copia el archivo .tool desde el directorio /etc de RaptorXML Server al
directorio /tools del FlowForce Server. FlowForce Server requiere el archivo .tool; éste
contiene la ruta al RaptorXML Server ejecutable. No necesita ejecutar este comando para
instalar FlowForce Server antes de instalar RaptorXML Server.
Nota acerca del usuario raíz
Debe tener un privilegios (raíz) de administrador para ser capaz de instalar RaptorXML
Server. La instalación debe hacerse, por lo tanto, como un usuario raíz. Si se encuentra
registrado como root, puede omitir la palabra clave sudo de la lista de comandos de abajo.
Desinstalar versiones antigüas de los productos servidor de Altova
Antes de desinstalar RaptorXML Server es necesario detener el servicio con este comando:
sudo launchctl unload /Library/LaunchDaemons/
com.altova.RaptorXMLServer2015.plist
Para comprobar si el servicio se detuvo correctamente, abra la terminal del Monitor de
actividad y compruebe que RaptorXML Server no está en la lista. En la terminal de
Aplicaciones haga clic con el botón secundario en el icono de RaptorXML Server y
seleccione Mover a la papelera. La aplicación se envía a la papelera pero debe quitar la
aplicación de la carpeta usr. Para ello puede utilizar este comando:
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
Instalación y configuración en Mac OS X
29
sudo rm -rf /usr/local/Altova/RaptorXMLServer2015/
Si necesita desinstalar una versión antigua de Altova LicenseServer, antes debe detener el
servicio con este comando:
sudo launchctl unload /Library/LaunchDaemons/
com.altova.LicenseServer.plist
Para comprobar si el servicio se detuvo correctamente, abra la terminal del Monitor de
actividad y confirme que LicenseServer no está en la lista. Después desinstale
LicenseServer siguiendo las instrucciones dadas más arriba para RaptorXML Server.
Descargar el paquete de instalación para Mac OS X
Tras descargarlo del sitio web Altova, copie el paquete de instalación en cualquier directorio
del sistema Mac OS X. Para poder ejecutar RaptorXML Server es necesario tener instalado
Altova LicenseServer. Por tanto, descargue LicenseServer del sitio web de Altova junto con
el paquete de instalación de RaptorXML Server. El archivo del instalador para Mac OS X
tiene la extensión .pkg.
Instalar RaptorXML Server
En una ventana de la Terminal abra el directorio donde copió el paquete de instalación y
haga doble clic en él. Siga los pasos del asistente para la instalación y acepte el contrato
de licencia.
La aplicación RaptorXML Server se instala en esta carpeta:
/usr/local/Altova/RaptorXMLServer2015
Haga clic en el icono de RaptorXML Server en la terminal de Aplicaciones para ver la ayuda
en pantalla (es decir, esta documentación).
Altova LicenseServer
Para poder ejecutar los productos servidores de Altova, incluido RaptorXML Server, es
necesario asignarles una licencia desde un servidor Altova LicenseServer de la red.
En los sistemas Mac OS X es necesario instalar Altova LicenseServer por separado. Por
tanto, descargue Altova LicenseServer del sitio web de Altova y haga doble clic en el
paquete de instalación para iniciar la instalación. Siga las instrucciones en pantalla y
acepte el contrato de licencia.
Altova LicenseServer se instala en esta carpeta:
/usr/local/Altova/LicenseServer
Para más información sobre cómo registrar RaptorXML Server con Altova LicenseServer y
asignarle licencias, consulte el apartado Asignación de licencias en Mac OS X.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
30
Instalar RaptorXML Server
Instalación y configuración en Mac OS X
Versiones de LicenseServer
Versiones de LicenseServer SRVSTP
los productos servidor de Altova debe de poseer la licencia o bien de la versión
LicenseServer que es adecuada para instalarla en la versión RaptorXML Server o
con la última versión de LicenseServer.
La versión LicenseServer que es adecuado para una versión particular de RaptorXML
Server se muestra durante la instalación de RaptorXML Server. Puede instalar esta
versión de LicenseServer junto con RaptorXML Server, o puede instalar
LicenseServer de forma separada.
Antes de instalar una nueva versión de LicenseServer, cualquiera más antigüo ha de
desinstalarse. El instalador LicenseServer lo hará de forma automática si detecta
una versión más antigüa.
Las versiones LicenseServer son compatibles con las anteriores. Éstos trabajarán
con versiones más antigüas de RaptorXML Server.
Si instala una versión nueva de RaptorXML Server y si la versión instalada
LicenseServer es más antigüa que la LicenseServer adecuada, instale la última
versión disponible en la página wb de Altova.
Al mismo tiempo que se lleva a cabo el proceso de desinstalación de
LicenseServer, todas las informaciones de registro y de licencia que se mantienen
en la versión anterior de LicenseServer se guardarán en una base de datos en su
servidor. Estos datos se importarán de forma automática en su nueva versión
cuando ésta se instale.
El número de la versión LicenseServer que está instalada actualmente aparece al
final de la Página de configuración de LicenseServer (todas las pestañas).
Current version: 1.19
Licencia de prueba
Durante el proceso de instalación, se le dará la opción de solicitiar una licencia de prueba
de 30 días para RaptorXML Server. Después de mandar la solicitud, se le mandará una
licencia de prueba a la dirección de correo electrónico con la que se registró.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
2.3.2
Instalación y configuración en Mac OS X
31
Asignación de licencias en Mac OS X
RaptorXML Server debe tener una LicenseServer de Altova para poder ejecutarlo. La obtención de
la licencia comprende un proceso de dos pasos:
1.
2.
Registrar RaptorXML Server con LicenseServer. El registro se lleva a cabo desde
RaptorXML Server.
Asignar una licencia a RaptorXML Server. La asignación de licencia se lleva a cabo
desde LicenseServer.
Los pasos que han de realizarse se describen a continuación.
Nota sobre el usuario raíz
Debe poseer privilegios (raíz) de administrador para ser capaz de instalar RaptorXML Server.
La instalación se debe hacer, por lo tanto, como un usuario raíz. Si se registra como root,
puede dejar la palabra sudo de los comandos que se muestran a continuación.
Iniciar LicenseServer
Para registrar y asignar una licencia correctamente a RaptorXML Server, LicenseServer debe
estar en ejecución como demonio. Inicie LicenseServer como demonio con este comando:
sudo launchctl load /Library/LaunchDaemons/com.altova.LicenseServer.plist
Si por cualquier motivo necesita detener LicenseServer, use el mismo comando pero
sustituya load por unload. Por ejemplo:
sudo launchctl unload /Library/LaunchDaemons/
com.altova.LicenseServer.plist
Iniciar RaptorXML Server
Use este comando para iniciar RaptorXML Server como demonio:
sudo launchctl load /Library/LaunchDaemons/
com.altova.RaptorXMLServer2015.plist
Si necesita detener RaptorXML Server por cualquier motivo, use este comando:
sudo launchctl unload /Library/LaunchDaemons/
com.altova.RaptorXMLServer2015.plist
Registrar RaptorXML Server
Puede registrar RaptorXML Server de la siguiente manera:
Desde la interfaz de la línea de comandos con el comando licenseserver:
sudo /usr/local/Altova/RaptorXMLServer2015/bin/RaptorXML licenseserver
[opciones] NombreServidor-O-Dirección-IP
Por ejemplo, si el nombre del servidor donde está instalado LicenseServer es localhost:
sudo /usr/local/Altova/RaptorXMLServer2015/bin/RaptorXML licenseserver
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
32
Instalar RaptorXML Server
Instalación y configuración en Mac OS X
localhost
En el comando anterior localhost es el nombre del servidor donde está instalado
LicenseServer. Observe también la ubicación del ejecutable de RaptorXML Server:
/usr/local/Altova/RaptorXMLServer2015/bin/
Una vez completado el registro, abra la pestaña Server Management de la página de
configuración de LicenseServer para asignar una licencia a RaptorXML Server.
Asignar una licencia
Después de registrarse con éxito RaptorXML Server, se le mostrará una lista en Pestaña de
gestión del servidor de la página de configuración de LicenseServer. Vaya aquí y asigne una
licencia a RaptorXML Server.
Nota sobre núcleos y licencias
La asignación de licencias para software servidor de Altova, excepto en el caso de
MobileTogether Server***, depende del número de núcleos disponibles en el equipo donde
se ejecuta el software. El número de núcleos que tienen una licencia asignada debe ser
mayor o igual al número de núcleos disponibles en el servidor, ya se trate de un equipo
virtual o físico.
Por ejemplo, si su equipo servidor tiene ocho núcleos, debe comprar una licencia para ocho
núcleos como mínimo. También puede combinar licencias para conseguir el número de
licencias necesario. Por ejemplo, puede usar dos licencias para cuatro núcleos en un
servidor de ocho núcleos, en lugar de una licencia para 8 núcleos.
Si usa un equipo servidor con gran cantidad de núcleos CPU, pero tiene un bajo volumen de
procesamiento, también puede crear un equipo virtual que tenga adjudicados menos núcleos
y comprar una licencia para ese menor número de núcleos. No obstante, dicha
implementación será menos rápida que si se utilizaran todos los núcleos disponibles en el
servidor.
Nota: cada licencia se puede usar en un equipo como máximo, incluso si la capacidad
de la licencia no está agotada. Por ejemplo, si utiliza una licencia para 10 núcleos para
un equipo cliente que tiene 6 núcleos, los 4 núcleos restantes de la licencia no se
pueden usar simultáneamente en otro equipo cliente.
*** El número de licencias que se deben asignar para MobileTogether Server depende
del número de usuarios, es decir, del número de dispositivos clientes que se conecten
a MobileTogether Server.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
2.3.3
Instalación y configuración en Mac OS X
33
Notas sobre el entorno Mac
Carpetas
Dado más adelante un listado de carpetas importantes en su configuración
RaptorXML Server. .
Conexiones JDBC
Tenga en cuenta los siguientes puntos:
Han de instalarse el Entorno Java Runtime o SDK.
Ha de instalarse la conexión JDBC para la base de datos de destino.
Han de configurarse correctamente las siguientes variables de entorno para su entorno:
o CLASSPATH: para encontrar archivos .jar
o PATH: para encontrar JRE, pero podría no ser necesario dependiendo de la instalación
o JAVA_HOME: si fuera necesario, dependiendo de la instalación.
Nota
En los servidores Mac OS X, las únicas conexiones a la base de datos compatibles
son JDBC.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
34
Instalar RaptorXML Server
2.4
Catálogos XML
Catálogos XML
El mecanismo de catalogación XML permite recuperar archivos de carpetas locales, lo cual
incrementa la velocidad global de procesamiento y mejora la portabilidad de los documentos
(porque solo se tienen que cambiar los identificadores URI de los archivos de catálogo). Para más
información consulte el apartado Cómo funcionan los catálogos.
Las herramientas XML de Altova usan un mecanismo de catalogación para acceder rápidamente
a los archivos más utilizados, como esquemas XML y DTD. El usuario puede personalizar y
ampliar este mecanismo de catalogación, que se describe en el apartado Mecanismo de
catalogación XML de Altova. En el apartado Variables para ubicaciones del sistema se enumeran
variables Windows para las ubicaciones más corrientes. Estas variables se pueden usar en los
archivos de catálogo para encontrar las carpetas más utilizadas.
Esta sección se divide en varios apartados:
Cómo funcionan los catálogos
Mecanismo de catalogación XML de Altova
Variables para ubicaciones de sistemas Windows
Para más información consulte la especificación XML Catalogs.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
2.4.1
Catálogos XML
35
Cómo funcionan los catálogos
Temas de este apartado:
Asignar identificadores públicos y de sistema a direcciones URL locales
Asignar rutas de acceso, direcciones URL web y nombres a direcciones URL locales
La función de los catálogos es redireccionar llamadas a recursos remotos a una URL local. Esto
se consigue mediante asignaciones en el archivo de catálogo entre identificadores públicos o de
sistemas, identificadores URI o partes de identificadores y la URL local correspondiente.
Asignaciones entre identificadores públicos y de sistema y URL locales
Durante la lectura de la declaración DOCTYPE de una DTD en un archivo XML, el identificador
público o de sistema de la declaración encuentra el recurso necesario. Si el identificador
selecciona un recurso remoto o si el identificador no es un localizador, entonces se puede
asignar a un recurso local mediante una entrada en el catálogo.
Por ejemplo, este archivo SVG:
<?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>
...
</svg>
Su identificador público es: -//W3C//DTD SVG 1.1//EN
Su identificador de sistema es: http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd
En el catálogo se puede añadir una entrada para asignar el identificador público a una URL local.
Por ejemplo:
<public publicId="-//W3C//DTD SVG 1.1//EN" uri="schemas/svg/svg11.dtd"/>
O una entrada para asignar el identificador de sistema a una URL local. Por ejemplo:
<system systemId="http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"
uri="schemas/svg/svg11.dtd"/>
Si se usa el identificador público o de sistema que aparece en el catálogo, entonces se usa la
URL a la que está asignado. Las rutas relativas se resuelven con referencia a un atributo
xml:base en el elemento de redirección del catálogo. La URL base de reserva es la URL del
archivo de catálogo. Por el contrario, si no se usa el identificador público o de sistema que
aparece en el catálogo, entonces se usará la URL del documento XML (en nuestro ejemplo sería
la URL http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd).
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
36
Instalar RaptorXML Server
Catálogos XML
Asignaciones entre rutas de archivo relativas/absolutas, direcciones URL o
nombres y URL locales
El elemento uri se puede usar para asignar una ruta de archivo relativa/absoluta, una dirección
URL o un nombre a una URL local. Por ejemplo:
<uri name="doc.xslt" uri="C:\Docs\doc.xslt"/>
<uri name="U:\Docs\2013\doc.xslt" uri="C:\Docs\doc.xslt"/>
<uri name="http://www.altova.com/schemas/doc.xslt" uri="C:\Docs
\doc.xslt"/>
<uri name="foo" uri="C:\Docs\doc.xslt"/>
Cuando se encuentra el valor de name, este se asigna al recurso especificado en el atributo uri.
Con un catálogo distinto, el mismo nombre se podría asignar a un recurso diferente. Por ejemplo:
xsi:schemaLocation="http://www.altova.com/schemas/orgchart OrgChart.xsd"
Por lo general, la parte URI del valor del atributo (en negrita) es una ruta a la ubicación real del
esquema. Sin embargo, si se hace referencia al esquema a través de un catálogo, no es
necesario que la parte URI apunte a un esquema XML real, aunque el esquema debe existir para
que el atributo xsi:schemaLocation siga siendo válido desde el punto de vista léxico. Por
ejemplo, el valor foo sería suficiente para la parte URI del valor del atributo xsi:schemaLocation
(en vez de Orgchart.xsd). El esquema está ubicado dentro del catálogo gracias a la parte de
espacio de nombres del valor del atributo xsi:schemaLocation. En el ejemplo anterior la parte de
espacio de nombres es http://www.altova.com/schemas/orgchart.
En el catálogo la entrada siguiente encontraría el esquema por la parte de espacio de nombres.
<uri name="http://www.altova.com/schemas/orgchart" uri="C:\MySchemas
\OrgChart.xsd"/>
Para más información sobre estos elementos consulte la especificación XML Catalogs.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
2.4.2
Catálogos XML
37
Mecanismo de catalogación XML de Altova
Temas de este apartado:
El archivo de catálogo raíz RootCatalog.xml contiene los archivos de catálogo en los
que busca RaptorXML.
Los archivos catálogo de extensión CoreCatalog.xml, CustomCatalog.xml y
Catalog.xml.
Subconjunto de catálogos compatible.
RootCatalog.xml
RaptorXML busca por defecto en el archivo RootCatalog.xml (ver más abajo) la lista de archivos
de catálogo que debe usar. El catálogo raíz RootCatalog.xml está en esta carpeta:
<CarpetaArchivosPrograma>\Altova\RaptorXMLServer2015\etc
Para usar otro archivo como catálogo raíz, utilice la opción --catalog de la línea de comandos,
el método setCatalog de la interfaz Java o el método Catalog de la interfaz COM.
<?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"/>
<!-- Incluir todos los catálogos situados en la carpeta Schemas del primer
nivel de directorios -->
<nextCatalog spy:recurseFrom="%AltovaCommonFolder%/Schemas"
catalog="catalog.xml" spy:depth="1"/>
<!-- Incluir todos los catálogos situados en la carpeta XBRL del primer nivel
de directorios -->
<nextCatalog spy:recurseFrom="%AltovaCommonFolder%/XBRL" catalog="catalog.xml"
spy:depth="1"/>
</catalog>
El resto de archivos de catálogo se enumeran dentro de un elemento nextCatalog y puede
añadir tantos archivos como quiera. RaptorXML busca en todos los archivos de catálogo y
resuelve las asignaciones que hay en ellos.
En el fragmento de código anterior puede observar una referencia directa a dos catálogos:
CoreCatalog.xml y CustomCatalog.xml. Además se hace referencia a los catálogos llamados
catalog.xml que están en el primer nivel de subcarpetas de las carpetas Schemas y XBRL. (El
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
38
Instalar RaptorXML Server
Catálogos XML
valor de la variable %AltovaCommonFolder% se explica en el apartado Variables para ubicaciones
de sistema.)
Los archivos de catálogo de Altova Common Folder asignan los identificadores públicos y de
sistema predefinidos de los esquemas más utilizados (como XML Schema y XHTML) a
identificadores URI que apuntan a las copias locales de los esquemas correspondientes. Estos
esquemas se instalan en la carpeta Altova Common Folder durante la instalación de
RaptorXML.
CoreCatalog.xml, CustomCatalog.xml y Catalog.xml
Los archivos de catálogo CoreCatalog.xml y CustomCatalog.xml se enumeran en
RootCatalog.xml:
CoreCatalog.xml contiene ciertas asignaciones propias de Altova necesarias para
encontrar esquemas en la carpeta Altova Common Folder.
CustomCatalog.xml es un archivo esqueleto donde puede crear sus propias
asignaciones. En CustomCatalog.xml puede crear asignaciones para cualquier esquema
que necesite y que no esté en los archivos de catálogo de la carpeta Altova Common
Folder. Para ello debe utilizar elementos compatibles del mecanismo de catalogación
OASIS (ver más abajo).
Hay varios archivos Catalog.xml dentro de las carpetas de esquemas o taxonomías
XBRL de la carpeta Altova Common Folder y cada uno de estos archivos asigna
identificadores públicos/de sistema a identificadores URI que apuntan a copias locales de
los esquemas correspondientes.
Tanto CoreCatalog.xml como CustomCatalog.xml están en la carpeta
<CarpetaArchivosPrograma>\Altova\RaptorXMLServer2015\etc. Cada archivo catalog.xml
está en una carpeta de esquema y estas carpetas de esquema están a su vez dentro de las
carpetas %AltovaCommonFolder%\Schemas y %AltovaCommonFolder%\XBRL.
Subconjunto de catálogos compatible
Cuando cree entradas en un archivo de catálogo utilizado por RaptorXML, solamente debería usar
los elementos de la especificación OASIS que aparecen a continuación. Consulte la
especificación XML Catalogs para obtener más información.
<public publicId="IDPúblico del Recurso" uri="URL del archivo local"/>
<system systemId="IDdeSistema del Recurso" uri="URL del archivo local"/>
<uri name="nombreArchivo" uri="URL del archivo identificado por el nombre
de archivo"/>
<rewriteURI uriStartString="InicioDeCadena del URI que se debe rescribir"
rewritePrefix="Cadena que debe sustituir a InicioDeCadena"/>
<rewriteSystem systemIdStartString="InicioDeCadena del IDdeSistema"
rewritePrefix="Cadena de sustitución para encontrar el recurso
localmente"/>
Cuando no exista un identificador público, puede asignar el identificador de sistema directamente
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
Catálogos XML
39
a una URL con ayuda del elemento system. También puede asignar un URI a otro URI usando el
elemento uri. Los elementos rewriteURI y rewriteSystem sirven para rescribir la parte inicial
de un URI o de un identificador de sistema, respectivamente. Esto permite reemplazar el inicio de
una ruta de archivo y, por tanto, apuntar a otro directorio.
Nota:
todos los elementos pueden tomar el atributo xml:base, que se usa para especificar el
URI base del elemento. Si no hay ningún elemento con xml:base, el URI base será el
URI del archivo de catálogo.
Para obtener más información sobre estos elementos consulte la especificación XML Catalogs.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
40
Instalar RaptorXML Server
2.4.3
Variables para ubicaciones de sistemas Windows
Catálogos XML
En los archivos de catálogo puede usar variables de entorno Shell para señalar la ruta de acceso
a varias ubicaciones del sistema Windows. Estas son las variables de entorno Shell compatibles:
%
AltovaCommonFo
lder%
C:\Archivos de programa\Altova\Common2015
%DesktopFolder
%
Ruta de acceso completa de la carpeta Escritorio del usuario actual.
%
ProgramMenuFol Ruta de acceso completa de la carpeta del menú Programas del usuario
der%
actual.
%
StartMenuFolde
r%
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.
%
AdminToolsFold Ruta de acceso completa del directorio del sistema de archivos que
er%
almacena las herramientas administrativas del usuario actual.
%AppDataFolder Ruta de acceso completa de la carpeta Datos de programa del usuario
%
actual.
%
CommonAppDataF Ruta de acceso completa del directorio de archivos que contiene datos del
older%
programa de todos los usuarios.
%
FavoritesFolde
r%
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.
%
ProgramFilesFo Ruta de acceso completa de la carpeta Archivos de programa del usuario
lder%
actual.
%
CommonFilesFol
der%
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.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
Catálogos XML
41
%
LocalAppDataFo Ruta de acceso completa al directorio del sistema de archivos que sirve
lder%
como repositorio de datos para aplicaciones locales (no roaming).
%
MyPicturesFold
er%
Ruta de acceso completa a la carpeta Mis imágenes.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
42
Instalar RaptorXML Server
2.5
Recursos globales
Recursos globales
Temas de este apartado:
Recursos globales: ¿qué son?
Recursos globales: ¿cómo se usan?
¿Qué son los recursos globales?
Un archivo de recurso global de Altova asigna un alias a varios recursos mediante configuraciones
diferentes, tal y como muestra el diagrama que aparece a continuación. La idea es poder cambiar
de alias para acceder a recursos distintos, dependiendo de la configuración elegida.
Los recursos globales se definen desde las herramientas de Altova (como Altova XMLSpy, por
ejemplo) y se guardan en un archivo XML de recursos globales. RaptorXML puede usar estos
recursos globales como datos de entrada. Para ello necesita el nombre y la ubicación del archivo
de recursos globales, así como el alias y la configuración que debe usar.
La ventaja de usar recursos globales es que puede cambiar de recurso con solo cambiar el
nombre de la configuración. En RaptorXML, esto significa que al usar un valor diferente de la
opción --globalresourcesconfig | --gc, se puede usar un recurso global distinto (ver ejemplo
que aparece más abajo).
¿Cómo se utilizan los recursos globales con RaptorXML?
Para especificar el uso de un recurso global como entrada para un comando de RaptorXML es
obligatorio usar estos parámetros en la interfaz de la línea de comandos:
El archivo XML de recursos globales (opción --globalresourcesfile | --gr)
La configuración necesaria (opción --globalresourcesconfig | --gc)
El alias, que se puede especificar directamente en la ILC cuando sea necesario un
nombre de archivo. También puede estar dentro del archivo XML en el que RaptorXML
busca un nombre de archivo (como en un atributo xsi:schemaLocation, por ejemplo).
Por ejemplo, si quiere transformar entrada.xml con transform.xslt en salida.html, lo normal
sería usar estos comandos en la ILC usando los nombres de archivo:
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Instalar RaptorXML Server
Recursos globales
43
raptorxml xslt --input=entrada.xml --output=salida.html transform.xslt
No obstante, si tiene una definición de recurso global para el alias MiEntrada que apunta al
recurso de archivo PrimeraEntrada.xml por medio de una configuración llamada
PrimeraConfig, podría usar el alias MiEntrada en la línea de comandos:
raptorxml xslt --input=altova://file_resource/MiEntrada --gr=C:
\MisRecursosGlobales.xml --gc=PrimeraConfig --output=Salida.html
transform.xslt
Ahora imagine que tiene otro recurso de archivo, por ejemplo SegundaEntrada.xml, que apunta
al alias MiEntrada por medio de una configuración llamada SegundaConfig, entonces puede usar
este otro recurso con solo cambiar la opción --gc del comando anterior:
raptorxml xslt --input=altova://file_resource/MiEntrada --gr=C:
\MisRecursosGlobales.xml --gc=SegundaConfig --output=Salida.html
transform.xslt
Nota:
en el ejemplo anterior se usó un recurso de archivo. Los recursos de archivo deben llevar
el prefijo altova://file_resource/. También puede usar recursos globales que sean
carpetas. Para identificar un recurso de carpeta, utilice el prefijo: altova://
folder_resource/NombreAlias. No olvide que en la interfaz de la línea de comandos
puede usar recursos de carpeta como parte de la ruta de acceso. Por ejemplo:
altova://folder_resource/NombreAlias/entrada.xml.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
44
Instalar RaptorXML Server
2.6
Problemas de seguridad
Problemas de seguridad
Temas de este apartado:
Problemas de seguridad relacionados con la interfaz HTTP
Trabajar con scripts Python seguros
Algunas características de las interfaces de RaptorXML Server plantean algunos problemas de
seguridad, que describimos a continuación junto con soluciones para remediarlos.
Problemas de seguridad relacionados con la interfaz HTTP
La interfaz HTTP permite por defecto escribir documentos de resultados en cualquier ubicación
indicada por el cliente (y a la que se pueda acceder con el protocolo HTTP). Por tanto, es
importante tener en cuenta este aspecto de seguridad cuando instale y configure RaptorXML
Server.
Si le preocupa que esto pueda comprometer la seguridad de su sistema o que la interfaz se
utilice de forma incorrecta, puede configurar el servidor para que escriba los documentos de
resultados en un directorio de salida específico del servidor mismo. Esto se consigue
estableciendo el valor false para la opción server.unrestricted-filesystem-access del
archivo de configuración del servidor. Si se limita así el acceso, el cliente puede descargar los
documentos de resultados del directorio de salida específico mediante solicitudes GET. Otra
opción es que el administrador copie/cargue los documentos de resultados del servidor en la
ubicación de destino.
Trabajar con scripts Python seguros
Cuando se especifica un script Python por HTTP para RaptorXML Server, el script solo
funciona si está ubicado en el directorio de confianza. El script se ejecuta desde el directorio de
confianza. Si especifica un script de cualquier otro directorio, se produce un error. El directorio de
confianza se define en la opción server.script-root-dir del archivo de configuración del
servidor y es obligatorio especificar un directorio de confianza si quiere usar scripts Python. Por
tanto, asegúrese de guardar en este directorio todos los scripts Python que desea usar.
Aunque todos los resultados generados por el servidor para solicitudes de trabajo HTTP se
escriben en el directorio de salida de trabajos (que es un subdirectorio de output-rootdirectory), esta limitación no afecta a los scripts Python, que pueden escribir en cualquier
ubicación. El administrador del servidor debería revisar los scripts Python del directorio de
confianza para evitar problemas de seguridad.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
Interfaz de la línea de comandos (ILC)
46
Interfaz de la línea de comandos (ILC)
3
Interfaz de la línea de comandos (ILC)
El ejecutable de RaptorXML Server que sirve para trabajar con la interfaz de la línea de comandos
(ILC) se instala por defecto en esta carpeta:
Windows
<CarpetaArchivosDePrograma>\Altova\RaptorXMLServer2015\bin
\RaptorXML.exe
Linux
\opt\Altova\RaptorXMLServer2015\bin\raptorxml
Mac
\usr\local\Altova\RaptorXMLServer2015\bin\raptorxml
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Uso
Esta es la sintaxis de la línea de comandos:
Windows
RaptorXML --h | --help | --version | <comando> [opciones]
[argumentos]
Linux
raptorxml --h | --help | --version | <comando> [opciones]
[argumentos]
Mac
raptorxml --h | --help | --version | <comando> [opciones]
[argumentos]
RaptorXML
Llama a la aplicación (en plataformas Windows)
raptorxml
Llama a la aplicación (en plataformas Unix: Linux y Mac)
--h | --help
Muestra el texto de ayuda
--version
Muestra el número de versión de la aplicación
<comando>
Comando que se debe ejecutar (ver la lista que aparece más
abajo). Cada comando (con sus argumentos y opciones
respectivos) se describe y explica en los apartados de esta
sección.
[opciones]
Opciones de un comando. Cada apartado de esta sección
describe un comando y sus opciones. Además, el apartado
Opciones enumera todas las opciones de la línea de comandos.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
47
Argumentos de un comando. Cada apartado de esta sección
describe un comando y sus argumentos.
[argumentos]
Comandos de la ILC
A continuación enumeramos todos los comandos de la ILC de RaptorXML ordenados según su
función (algunos aparecen en más de una categoría). Estos comandos se describen uno a uno en
los apartados de esta sección, junto con sus opciones y argumentos.
Comandos de validación
valdtd | dtd
Valida un documento DTD.
valxml-withdtd | xml
Valida un documento XML con una DTD.
valxml-withxsd | xsi
Valida un documento XML con un esquema XML.
valxquery
Valida un documento XQuery.
valxsd | xsd
Valida un esquema XML del W3C.
valxslt
Valida un documento XSLT.
valany
Valida cualquier tipo de documento de los mencionados
anteriormente. El tipo de documento se detecta de forma
automática.
Comandos para comprobar el formato XML
wfxml
Comprueba si un documento XML tiene un formato correcto.
wfdtd
Comprueba si un documento DTD tiene un formato correcto.
wfany
Comprueba si el documento (ya sea XML o DTD) tiene un formato
correcto.
Comandos XSLT
xslt
Realiza una transformación con un archivo XSLT dado.
valxslt
Valida un documento XSLT.
Comandos XQuery
xquery
Ejecuta un XQuery con un archivo XQuery dado.
valxquery
Valida un documento XQuery.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
48
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
3.1
Comandos para validar XML, DTD, XSD
Los comandos de validación XML sirven para validar este tipo de documentos:
XML: los documentos de instancia XML se validan con una DTD (valxml-withdtd |
xml) o con un esquema XML 1.0/1.1 (valxml-withxsd | xsi).
DTD: los DTD se revisan para ver si su formato correcto y confirmar que no tienen errores
(valdtd | dtd).
XSD: los esquemas XML del W3C (XSD) se validan según las reglas de la especificación
XML Schema (valxsd | xsd).
valxml-withdtd | xml
Valida un documento de instancia XML con una DTD.
valxml-withxsd | xsi
Valida un documento de instancia XML con un esquema XML.
valdtd | dtd
Valida un documento DTD.
valxsd | xsd
Valida un documento de esquema XML del W3C (XSD).
valany
Valida cualquier documento, ya sea XML, DTD o XSD. Este
comando también se usa para validar XSLT y XQuery. El tipo de
documento suministrado se detecta automáticamente.
Nota: también se pueden validar instancias XBRL, taxonomías XBRL, documentos XSLT y
documentos XQuery. Estos comandos de validación se describen en estas secciones:
Comandos XSLT y Comandos XQuery.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.1.1
Comandos para validar XML, DTD, XSD
49
valxml-withdtd (xml)
El comando valxml-withdtd | xml valida uno o varios documentos XML de instancia con una
DTD.
Windows
RaptorXML valxml-withdtd | xml [opciones] ArchivoEntrada
Linux
raptorxml valxml-withdtd | xml [opciones] ArchivoEntrada
Mac
raptorxml valxml-withdtd | xml [opciones] ArchivoEntrada
El argumento ArchivoEntrada es el documento XML que debe validarse. Si existe una referencia
a una DTD en el documento, no es necesario usar la opción --dtd.
Para validar varios documentos a la vez: (i) enumere en la ILC los archivos que desea validar,
separados con un espacio o (ii) enumere en un archivo de texto (*.txt) los archivos que desea
validar (un nombre de archivo en cada línea) y suministre este archivo de texto con el argumento
ArchivoEntrada junto con la opción --listfile con valor true (ver la lista de opciones más
abajo).
Ejemplos
raptorxml
raptorxml
raptorxml
raptorxml
valxml-withdtd --dtd=c:\MiDTD.dtd c:\Test.xml
xml c:\Test.xml
xml --verbose=true c:\Test.xml
xml --listfile=true c:\ListaArchivos.txt
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Validación y procesamiento
dtd
--dtd = ARCHIVO
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
50
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
Especifica el documento DTD externo que debe utilizarse para la validación. Si en el
documento XML hay una referencia a una DTD externa, esta opción de la ILC
reemplaza a la referencia externa.
listfile
--listfile = true|false
Si el valor es true, el argumento ArchivoEntrada del comando se entiende como un
archivo de texto que contiene un nombre de archivo por línea. Otra opción es enumerar
los archivos en la ILC, separados por un espacio. No obstante, recuerde que las ILC
tienen un límite de caracteres. Además, no olvide que la opción --listfile solamente
afecta a los argumentos y no a las opciones.
Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
namespaces
--namespaces = true|false
Habilita el procesamiento preparado para espacios de nombres. Esta opción es muy
útil si quiere buscar en la instancia XML errores resultantes de espacios de nombres
erróneos.
Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
recurse
--recurse = true|false
Esta opción se utiliza para seleccionar ficheros dentro de un archivo ZIP. Si el valor es
true, el argumento ArchivoEntrada del comando seleccionará el fichero seleccionado
también en los subdirectorios. Por ejemplo: test.zip|zip\test.xml seleccionará los
ficheros llamados test.xml en todos los subdirectorios de la carpeta ZIP. Si quiere
puede usar los caracteres comodín * y ?. Por ejemplo: *.xml seleccionaría todos los
ficheros de la carpeta ZIP que tengan la extensión .xml. Valor predeterminado: false
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
streaming
--streaming = true|false
Habilita la transmisión por secuencias. En el modo de transmisión por secuencias, el
almacenamiento de datos en memoria se reduce al mínimo y el procesamiento es más
rápido. El inconveniente es que puede que no esté disponible cierta información que
podría necesitar más adelante, como el modelo de datos del documento XML, por
ejemplo. Si quiere evitar esto, debería deshabilitar el modo de transmisión por
secuencias (dándole el valor false a la opción --streaming). Cuando use la opción -script con el comando valxml-withxsd, aconsejamos deshabilitar la transmisión por
secuencias. Recuerde que la opción --streaming se ignora, si el valor de -parallel-assessment es true.
Valor predeterminado: true.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
51
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Mensajes, errores, ayuda, tiempo de espera, versión
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
52
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
log-output
--log-output = ARCHIVO
Escribe el mensaje de salida en la URL de archivo indicada. Compruebe que la ILC
tiene permiso de escritura en la ubicación de destino.
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.1.2
Comandos para validar XML, DTD, XSD
53
valxml-withxsd (xsi)
El comando valxml-withxsd | xsi valida uno o varios documentos XML de instancia con las
especificaciones XML Schema Definition Language (XSD) 1.0 y 1.1 del W3C.
Windows
RaptorXML valxml-withxsd | xsi [opciones] ArchivoEntrada
Linux
raptorxml valxml-withxsd | xsi [opciones] ArchivoEntrada
Mac
raptorxml valxml-withxsd | xsi [opciones] ArchivoEntrada
El argumento ArchivoEntrada suministra el documento XML que debe validarse. La opción -schemalocation-hints=true|false indica si la referencia XSD del documento XML debe
utilizarse o no, siendo true su valor predeterminado (es decir, se utiliza). La opción -xsd=ARCHIVO especifica qué esquema se utiliza.
Para validar varios documentos a la vez: (i) enumere en la ILC los archivos que desea validar,
separados con un espacio o (ii) enumere en un archivo de texto (*.txt) los archivos que desea
validar (un nombre de archivo en cada línea) y suministre este archivo de texto con el argumento
ArchivoEntrada junto con la opción --listfile con valor true (ver la lista de opciones más
abajo).
Nota:
si usa la opción --script para ejecutar scripts Python, no olvide especificar la opción -streaming=false.
Ejemplos
raptorxml valxml-withxsd --schemalocation-hints=false --xsd=c:\MiXSD.xsd
c:\SinRefXSD.xml
raptorxml xsi c:\SinRefXSD.xml
raptorxml xsi --xsd-version=1.1 --listfile=true c:\ListaArchivos.txt
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
54
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
Validación y procesamiento
assessment-mode
--assessment-mode = lax|strict
Especifica el modo de evaluación de la validez del esquema, según se define en las
especificaciones XSD. El documento XML de instancia se validará en función del modo
especificado en esta opción. Valor predeterminado: strict.
listfile
--listfile = true|false
Si el valor es true, el argumento ArchivoEntrada del comando se entiende como un
archivo de texto que contiene un nombre de archivo por línea. Otra opción es enumerar
los archivos en la ILC, separados por un espacio. No obstante, recuerde que las ILC
tienen un límite de caracteres. Además, no olvide que la opción --listfile solamente
afecta a los argumentos y no a las opciones.
Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
parallel-assessment [pa]
--pa | --parallel-assessment = true|false
Si el valor es true, la evaluación de la validez de esquemas se realiza en paralelo. Esto
significa que si hay más de 128 elementos en cualquiera de los niveles, estos
elementos se procesan en paralelo utilizando varios subprocesos. Por tanto, los
archivos XML de gran tamaño se pueden procesar más rápido si se habilita esta
opción. La evaluación en paralelo se lleva cabo nivel por nivel, pero puede ocurrir en
varios niveles de un mismo conjunto de información. Recuerde que la evaluación en
paralelo no funciona en modo de transmisión por secuencias. Por este motivo la
opción --streaming se pasa por alto si el valor de la opción --parallel-assessment
es true. Además, se usa más memoria cuando se utiliza la opción --parallelassessment. El valor predeterminado de esta opción es false y su forma abreviada es
--pa.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
recurse
--recurse = true|false
Esta opción se utiliza para seleccionar ficheros dentro de un archivo ZIP. Si el valor es
true, el argumento ArchivoEntrada del comando seleccionará el fichero seleccionado
también en los subdirectorios. Por ejemplo: test.zip|zip\test.xml seleccionará los
ficheros llamados test.xml en todos los subdirectorios de la carpeta ZIP. Si quiere
puede usar los caracteres comodín * y ?. Por ejemplo: *.xml seleccionaría todos los
ficheros de la carpeta ZIP que tengan la extensión .xml. Valor predeterminado: false
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
schema-imports
--schema-imports = load-by-schemalocation | load-preferringschemalocation | load-by-namespace | load-combining-both | licensenamespace-only
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
55
Esta opción indica el comportamiento de los elementos xs:import. Cada uno de estos
elementos tiene un atributo opcional namespace y un atributo opcional
schemaLocation: <import namespace="unEspacioNombres"
schemaLocation="unaURL">. Esta opción especifica si cargar un esquema o
simplemente autorizar un espacio de nombre y si en el caso de cargar el documento de
un esquema, qué información se debe usar para encontrarlo. Por defecto es: loadpreferring-schemalocation.
load-by-schemalocation: el valor del atributo schemaLocation se utiliza para
buscar el esquema, teniendo en cuenta las asignaciones de catálogo. Si está
presente el atributo namespace, se importa el espacio de nombres (con licencia).
load-preferring-schemalocation: si está presente, se utiliza el atributo
schemaLocation teniendo en cuenta las asignaciones de catálogo. Si no está
presente el atributo schemaLocation, entonces se usa el valor del atributo
namespace a través de las asignaciones de catálogo. Este es el valor
predeterminado.
load-by-namespace: el valor del atributo namespace se utiliza para buscar el
esquema por medio de una asignación de catálogo.
load-combining-both: si el atributo namespace o schemaLocation tiene una
asignación de catálogo, entonces se usa la asignación. Si ambos atributos tienen
asignaciones de catálogo, entonces es el valor de la opción --schema-mapping
(opción XML/XSD) decide qué asignación se utiliza. Si no hay ninguna asignación
de catálogo, entonces se usa el atributo schemaLocation.
license-namespace-only: se importa el espacio de nombres. No se importa el
documento de esquema.
schemalocation-hints
--schemalocation-hints = load-by-schemalocation | load-by-namespace |
load-combining-both | ignore
Especifica el comportamiento de los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation: Si cargar un documento de esquema y si es si,
qué información se usará para encontrarlo. Por defecto: load-by-schemalocation.
Valor predeterminado: load-by-schemalocation. Este valor toma la URL de la
ubicación del esquema de los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation de los documentos de instancia XML.
El valor load-by-namespace toma la parte de espacio de nombres del atributo
xsi:schemaLocation y una cadena vacía en el caso del atributo
xsi:noNamespaceSchemaLocation y encuentra el esquema por medio de una
asignación de catálogo.
Si usa el valor load-combining-both y el espacio de nombres o la URL tienen
una asignación de catálogo, se usa dicha asignación. Si ambos tienen
asignaciones de catálogo, el valor de la opción schema-mapping (opción XML/XSD)
decide qué asignación se utiliza. Si ni el espacio de nombres ni la URL tiene una
asignación de catálogo, se usa la URL.
El valor ignore ignora los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation.
schema-mapping
--schema-mapping = prefer-schemalocation | prefer-namespace
Si la ubicación del esquema y del espacio del nombre se usan para encontrar un
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
56
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
documento de esquema, especifica cuál de ellas se prefieren durante la consulta del
catálogo.
Si la opción --schemalocation-hints o la opción --schema-imports tiene el valor
load-combining-both y si las partes de espacio de nombres y URL pertinentes
tienen asignaciones de catálogo, entonces el valor de la opción especifica cuál de las
dos asignaciones se utiliza (la asignación del espacio de nombres o de la URL: el valor
prefer-schemalocation se refiere a la asignación de la URL). Valor predeterminado:
prefer-schemalocation.
script
--script = ARCHIVO
Una vez finalizada la validación, ejecuta el script Python. Agrege la opción "veces
múltiples" para especificar más de un script.
script-api-version
--api, --script-api-version = 1|2
Especifica la versión API Python que ha de usarse para el script. El valor por defecto es
la última versión, actualmente 2.
script-param
--script-param = CLAVE:VALOR
Parámetros definidos por el usuario a los que se puede acceder durante la ejecución de
scripts Python. Agrege la opción "múltiples veces" para especificar más de un
parámetro script.
streaming
--streaming = true|false
Habilita la transmisión por secuencias. En el modo de transmisión por secuencias, el
almacenamiento de datos en memoria se reduce al mínimo y el procesamiento es más
rápido. El inconveniente es que puede que no esté disponible cierta información que
podría necesitar más adelante, como el modelo de datos del documento XML, por
ejemplo. Si quiere evitar esto, debería deshabilitar el modo de transmisión por
secuencias (dándole el valor false a la opción --streaming). Cuando use la opción -script con el comando valxml-withxsd, aconsejamos deshabilitar la transmisión por
secuencias. Recuerde que la opción --streaming se ignora, si el valor de -parallel-assessment es true.
Valor predeterminado: true.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
xinclude
--xinclude = true|false
Habilita la compatibilidad con inclusiones XML (XInclude). Si el valor es false, los
elementos XInclude include se ignoran. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
xml-mode
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
57
--xml-mode = wf|id|valid
Especifica el modo de procesamiento XML que debe utilizarse: wf=comprobación de
formato; id=comprobación de formato con ID/IDREF; valid=validación. Valor
predeterminado: wf.
xsd
--xsd = ARCHIVO
Especifica uno o más documentos de esquema XML que se usa para la validación de
un documento de instancia XML. Agrege la opción de "múltiples veces" para especificar
más que un documento de esquema.
xsd-version
--xsd-version = 1.0|1.1|detect
Especifica qué versión de la especificación Schema Definition Language (XSD) del W3C
se debe usar. Valor predeterminado: 1.0.
Esta opción también puede ser útil si quiere ver en qué aspectos no es compatible un
esquema 1.0 con la especificación 1.1. El valor detect es una característica de Altova.
Permite detectar la versión del esquema XML (1.0 o 1.1) leyendo el valor del atributo
vc:minVersion del elemento <xs:schema> del documento. Si el valor del atributo
@vc:minVersion es 1.1, se entiende que la versión del esquema es 1.1. Si el atributo
tiene otro valor que no sea 1.1 (o si no está presente el atributo @vc:minVersion), se
entiende que la versión del esquema es 1.0.
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
58
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Mensajes, errores, ayuda, tiempo de espera, versión
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
log-output
--log-output = ARCHIVO
Escribe el mensaje de salida en la URL de archivo indicada. Compruebe que la ILC
tiene permiso de escritura en la ubicación de destino.
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
59
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
60
Interfaz de la línea de comandos (ILC)
3.1.3
valdtd (dtd)
Comandos para validar XML, DTD, XSD
El comando valdtd | dtd valida uno o varios documentos DTD con la especificación XML 1.0 o
XML 1.1.
Windows
RaptorXML valdtd | dtd [opciones] ArchivoEntrada
Linux
raptorxml valdtd | dtd [opciones] ArchivoEntrada
Mac
raptorxml valdtd | dtd [opciones] ArchivoEntrada
El argumento ArchivoEntrada es el documento DTD que debe validarse.
Para validar varios documentos a la vez: (i) enumere en la ILC los archivos que desea validar,
separados con un espacio o (ii) enumere en un archivo de texto (*.txt) los archivos que desea
validar (un nombre de archivo en cada línea) y suministre este archivo de texto con el argumento
ArchivoEntrada junto con la opción --listfile con valor true (ver la lista de opciones más
abajo).
Ejemplos
raptorxml valdtd c:\Test.dtd
raptorxml dtd --verbose=true c:\Test.dtd
raptorxml dtd --listfile=true c:\ListaArchivos.txt
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Validación y procesamiento
listfile
--listfile = true|false
Si el valor es true, el argumento ArchivoEntrada del comando se entiende como un
archivo de texto que contiene un nombre de archivo por línea. Otra opción es enumerar
los archivos en la ILC, separados por un espacio. No obstante, recuerde que las ILC
tienen un límite de caracteres. Además, no olvide que la opción --listfile solamente
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
61
afecta a los argumentos y no a las opciones.
Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
recurse
--recurse = true|false
Esta opción se utiliza para seleccionar ficheros dentro de un archivo ZIP. Si el valor es
true, el argumento ArchivoEntrada del comando seleccionará el fichero seleccionado
también en los subdirectorios. Por ejemplo: test.zip|zip\test.xml seleccionará los
ficheros llamados test.xml en todos los subdirectorios de la carpeta ZIP. Si quiere
puede usar los caracteres comodín * y ?. Por ejemplo: *.xml seleccionaría todos los
ficheros de la carpeta ZIP que tengan la extensión .xml. Valor predeterminado: false
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Mensajes, errores, ayuda, tiempo de espera, versión
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
62
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
log-output
--log-output = ARCHIVO
Escribe el mensaje de salida en la URL de archivo indicada. Compruebe que la ILC
tiene permiso de escritura en la ubicación de destino.
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.1.4
Comandos para validar XML, DTD, XSD
63
valxsd (xsd)
El comando valxsd | xsd valida uno o varios documentos de esquema XML (documentos XSD)
con la especificación XML Schema Definition Language (XSD) 1.0 o 1.1 del W3C. Tenga en
cuenta que lo que se valida con la especificación XML Schema es un esquema XML y no un
documento XML de instancia con un esquema XML.
Windows
RaptorXML valxsd | xsd [opciones] ArchivoEntrada
Linux
raptorxml valxsd | xsd [opciones] ArchivoEntrada
Mac
raptorxml valxsd | xsd [opciones] ArchivoEntrada
El argumento ArchivoEntrada suministra el documento de esquema XML que debe validarse. La
opción --xsd-version=1.0|1.1|detect indica la versión XSD con la que debe validarse, siendo
1.0 su valor predeterminado.
Para validar varios documentos a la vez: (i) enumere en la ILC los archivos que desea validar,
separados con un espacio o (ii) enumere en un archivo de texto (*.txt) los archivos que desea
validar (un nombre de archivo en cada línea) y suministre este archivo de texto con el argumento
ArchivoEntrada junto con la opción --listfile con valor true (ver la lista de opciones más
abajo).
Ejemplos
raptorxml valxsd c:\Test.xsd
raptorxml xsd --verbose=true c:\Test.xsd
raptorxml xsd --listfile=true c:\ListaArchivos.txt
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Validación y procesamiento
listfile
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
64
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
--listfile = true|false
Si el valor es true, el argumento ArchivoEntrada del comando se entiende como un
archivo de texto que contiene un nombre de archivo por línea. Otra opción es enumerar
los archivos en la ILC, separados por un espacio. No obstante, recuerde que las ILC
tienen un límite de caracteres. Además, no olvide que la opción --listfile solamente
afecta a los argumentos y no a las opciones.
Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
recurse
--recurse = true|false
Esta opción se utiliza para seleccionar ficheros dentro de un archivo ZIP. Si el valor es
true, el argumento ArchivoEntrada del comando seleccionará el fichero seleccionado
también en los subdirectorios. Por ejemplo: test.zip|zip\test.xml seleccionará los
ficheros llamados test.xml en todos los subdirectorios de la carpeta ZIP. Si quiere
puede usar los caracteres comodín * y ?. Por ejemplo: *.xml seleccionaría todos los
ficheros de la carpeta ZIP que tengan la extensión .xml. Valor predeterminado: false
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
schema-imports
--schema-imports = load-by-schemalocation | load-preferringschemalocation | load-by-namespace | load-combining-both | licensenamespace-only
Esta opción indica el comportamiento de los elementos xs:import. Cada uno de estos
elementos tiene un atributo opcional namespace y un atributo opcional
schemaLocation: <import namespace="unEspacioNombres"
schemaLocation="unaURL">. Esta opción especifica si cargar un esquema o
simplemente autorizar un espacio de nombre y si en el caso de cargar el documento de
un esquema, qué información se debe usar para encontrarlo. Por defecto es: loadpreferring-schemalocation.
load-by-schemalocation: el valor del atributo schemaLocation se utiliza para
buscar el esquema, teniendo en cuenta las asignaciones de catálogo. Si está
presente el atributo namespace, se importa el espacio de nombres (con licencia).
load-preferring-schemalocation: si está presente, se utiliza el atributo
schemaLocation teniendo en cuenta las asignaciones de catálogo. Si no está
presente el atributo schemaLocation, entonces se usa el valor del atributo
namespace a través de las asignaciones de catálogo. Este es el valor
predeterminado.
load-by-namespace: el valor del atributo namespace se utiliza para buscar el
esquema por medio de una asignación de catálogo.
load-combining-both: si el atributo namespace o schemaLocation tiene una
asignación de catálogo, entonces se usa la asignación. Si ambos atributos tienen
asignaciones de catálogo, entonces es el valor de la opción --schema-mapping
(opción XML/XSD) decide qué asignación se utiliza. Si no hay ninguna asignación
de catálogo, entonces se usa el atributo schemaLocation.
license-namespace-only: se importa el espacio de nombres. No se importa el
documento de esquema.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
65
schemalocation-hints
--schemalocation-hints = load-by-schemalocation | load-by-namespace |
load-combining-both | ignore
Especifica el comportamiento de los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation: Si cargar un documento de esquema y si es si,
qué información se usará para encontrarlo. Por defecto: load-by-schemalocation.
Valor predeterminado: load-by-schemalocation. Este valor toma la URL de la
ubicación del esquema de los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation de los documentos de instancia XML.
El valor load-by-namespace toma la parte de espacio de nombres del atributo
xsi:schemaLocation y una cadena vacía en el caso del atributo
xsi:noNamespaceSchemaLocation y encuentra el esquema por medio de una
asignación de catálogo.
Si usa el valor load-combining-both y el espacio de nombres o la URL tienen
una asignación de catálogo, se usa dicha asignación. Si ambos tienen
asignaciones de catálogo, el valor de la opción schema-mapping (opción XML/XSD)
decide qué asignación se utiliza. Si ni el espacio de nombres ni la URL tiene una
asignación de catálogo, se usa la URL.
El valor ignore ignora los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation.
schema-mapping
--schema-mapping = prefer-schemalocation | prefer-namespace
Si la ubicación del esquema y del espacio del nombre se usan para encontrar un
documento de esquema, especifica cuál de ellas se prefieren durante la consulta del
catálogo.
Si la opción --schemalocation-hints o la opción --schema-imports tiene el valor
load-combining-both y si las partes de espacio de nombres y URL pertinentes
tienen asignaciones de catálogo, entonces el valor de la opción especifica cuál de las
dos asignaciones se utiliza (la asignación del espacio de nombres o de la URL: el valor
prefer-schemalocation se refiere a la asignación de la URL). Valor predeterminado:
prefer-schemalocation.
script
--script = ARCHIVO
Una vez finalizada la validación, ejecuta el script Python. Agrege la opción "veces
múltiples" para especificar más de un script.
script-param
--script-param = CLAVE:VALOR
Parámetros definidos por el usuario a los que se puede acceder durante la ejecución de
scripts Python. Agrege la opción "múltiples veces" para especificar más de un
parámetro script.
xinclude
--xinclude = true|false
Habilita la compatibilidad con inclusiones XML (XInclude). Si el valor es false, los
elementos XInclude include se ignoran. Valor predeterminado: false.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
66
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
xml-mode
--xml-mode = wf|id|valid
Especifica el modo de procesamiento XML que debe utilizarse: wf=comprobación de
formato; id=comprobación de formato con ID/IDREF; valid=validación. Valor
predeterminado: wf.
xsd-version
--xsd-version = 1.0|1.1|detect
Especifica qué versión de la especificación Schema Definition Language (XSD) del W3C
se debe usar. Valor predeterminado: 1.0.
Esta opción también puede ser útil si quiere ver en qué aspectos no es compatible un
esquema 1.0 con la especificación 1.1. El valor detect es una característica de Altova.
Permite detectar la versión del esquema XML (1.0 o 1.1) leyendo el valor del atributo
vc:minVersion del elemento <xs:schema> del documento. Si el valor del atributo
@vc:minVersion es 1.1, se entiende que la versión del esquema es 1.1. Si el atributo
tiene otro valor que no sea 1.1 (o si no está presente el atributo @vc:minVersion), se
entiende que la versión del esquema es 1.0.
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
67
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Mensajes, errores, ayuda, tiempo de espera, versión
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
log-output
--log-output = ARCHIVO
Escribe el mensaje de salida en la URL de archivo indicada. Compruebe que la ILC
tiene permiso de escritura en la ubicación de destino.
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
68
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.1.5
Comandos para validar XML, DTD, XSD
69
valany
El comando valany valida un documento XML, DTD o esquema XML con sus especificaciones
correspondientes. El tipo de documento se detecta automáticamente.
Windows
RaptorXML valany [opciones] ArchivoEntrada
Linux
raptorxml valany [opciones] ArchivoEntrada
Mac
raptorxml valany [opciones] ArchivoEntrada
El argumento ArchivoEntrada suministra el documento que debe validarse. Recuerde que como
argumento del comando se puede suministrar solamente un documento. El tipo de documento se
detecta automáticamente.
Ejemplos
raptorxml valany c:\Test.xml
raptorxml valany --errorformat=text c:\Test.xml
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Validación y procesamiento
recurse
--recurse = true|false
Esta opción se utiliza para seleccionar ficheros dentro de un archivo ZIP. Si el valor es
true, el argumento ArchivoEntrada del comando seleccionará el fichero seleccionado
también en los subdirectorios. Por ejemplo: test.zip|zip\test.xml seleccionará los
ficheros llamados test.xml en todos los subdirectorios de la carpeta ZIP. Si quiere
puede usar los caracteres comodín * y ?. Por ejemplo: *.xml seleccionaría todos los
ficheros de la carpeta ZIP que tengan la extensión .xml. Valor predeterminado: false
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
70
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
schema-imports
--schema-imports = load-by-schemalocation | load-preferringschemalocation | load-by-namespace | load-combining-both | licensenamespace-only
Esta opción indica el comportamiento de los elementos xs:import. Cada uno de estos
elementos tiene un atributo opcional namespace y un atributo opcional
schemaLocation: <import namespace="unEspacioNombres"
schemaLocation="unaURL">. Esta opción especifica si cargar un esquema o
simplemente autorizar un espacio de nombre y si en el caso de cargar el documento de
un esquema, qué información se debe usar para encontrarlo. Por defecto es: loadpreferring-schemalocation.
load-by-schemalocation: el valor del atributo schemaLocation se utiliza para
buscar el esquema, teniendo en cuenta las asignaciones de catálogo. Si está
presente el atributo namespace, se importa el espacio de nombres (con licencia).
load-preferring-schemalocation: si está presente, se utiliza el atributo
schemaLocation teniendo en cuenta las asignaciones de catálogo. Si no está
presente el atributo schemaLocation, entonces se usa el valor del atributo
namespace a través de las asignaciones de catálogo. Este es el valor
predeterminado.
load-by-namespace: el valor del atributo namespace se utiliza para buscar el
esquema por medio de una asignación de catálogo.
load-combining-both: si el atributo namespace o schemaLocation tiene una
asignación de catálogo, entonces se usa la asignación. Si ambos atributos tienen
asignaciones de catálogo, entonces es el valor de la opción --schema-mapping
(opción XML/XSD) decide qué asignación se utiliza. Si no hay ninguna asignación
de catálogo, entonces se usa el atributo schemaLocation.
license-namespace-only: se importa el espacio de nombres. No se importa el
documento de esquema.
schemalocation-hints
--schemalocation-hints = load-by-schemalocation | load-by-namespace |
load-combining-both | ignore
Especifica el comportamiento de los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation: Si cargar un documento de esquema y si es si,
qué información se usará para encontrarlo. Por defecto: load-by-schemalocation.
Valor predeterminado: load-by-schemalocation. Este valor toma la URL de la
ubicación del esquema de los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation de los documentos de instancia XML.
El valor load-by-namespace toma la parte de espacio de nombres del atributo
xsi:schemaLocation y una cadena vacía en el caso del atributo
xsi:noNamespaceSchemaLocation y encuentra el esquema por medio de una
asignación de catálogo.
Si usa el valor load-combining-both y el espacio de nombres o la URL tienen
una asignación de catálogo, se usa dicha asignación. Si ambos tienen
asignaciones de catálogo, el valor de la opción schema-mapping (opción XML/XSD)
decide qué asignación se utiliza. Si ni el espacio de nombres ni la URL tiene una
asignación de catálogo, se usa la URL.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
71
El valor ignore ignora los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation.
schema-mapping
--schema-mapping = prefer-schemalocation | prefer-namespace
Si la ubicación del esquema y del espacio del nombre se usan para encontrar un
documento de esquema, especifica cuál de ellas se prefieren durante la consulta del
catálogo.
Si la opción --schemalocation-hints o la opción --schema-imports tiene el valor
load-combining-both y si las partes de espacio de nombres y URL pertinentes
tienen asignaciones de catálogo, entonces el valor de la opción especifica cuál de las
dos asignaciones se utiliza (la asignación del espacio de nombres o de la URL: el valor
prefer-schemalocation se refiere a la asignación de la URL). Valor predeterminado:
prefer-schemalocation.
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Mensajes, errores, ayuda, tiempo de espera, versión
error-format
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
72
Interfaz de la línea de comandos (ILC)
Comandos para validar XML, DTD, XSD
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
log-output
--log-output = ARCHIVO
Escribe el mensaje de salida en la URL de archivo indicada. Compruebe que la ILC
tiene permiso de escritura en la ubicación de destino.
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.2
Comandos para comprobar el formato
73
Comandos para comprobar el formato
Los comandos de comprobación de formato sirven para comprobar si el formato de documentos
XML y DTD es correcto.
wfxml
Comprueba si el documento XML tiene un formato correcto.
wfdtd
Comprueba si el documento DTD tiene un formato correcto.
wfany
Comprueba si el documento XML o DTD tiene un formato correcto. El tipo se
detecta automáticamente.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
74
Interfaz de la línea de comandos (ILC)
3.2.1
wfxml
Comandos para comprobar el formato
El comando wfxml revisa uno o varios documentos XML y comprueba si su formato es correcto
según la especificación XML 1.0 o XML 1.1.
Windows
RaptorXML wfxml [opciones] ArchivoEntrada
Linux
raptorxml wfxml [opciones] ArchivoEntrada
Mac
raptorxml wfxml [opciones] ArchivoEntrada
El argumento ArchivoEntrada es el documento XML cuyo formato debe comprobarse.
Para comprobar el formato de varios documentos: (i) enumere en la ILC los archivos que desea
revisar, separados con un espacio o (ii) enumere en un archivo de texto (*.txt) los archivos que
desea revisar (un nombre de archivo en cada línea) y suministre este archivo de texto con el
argumento ArchivoEntrada junto con la opción --listfile con valor true (ver la lista de
opciones más abajo).
Ejemplos
raptorxml wfxml c:\Test.xml
raptorxml wfxml --verbose=true c:\Test.xml
raptorxml wfxml --listfile=true c:\ListaArchivos.txt
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Validación y procesamiento
dtd
--dtd = ARCHIVO
Especifica el documento DTD externo que debe utilizarse para la validación. Si en el
documento XML hay una referencia a una DTD externa, esta opción de la ILC
reemplaza a la referencia externa.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos para comprobar el formato
75
listfile
--listfile = true|false
Si el valor es true, el argumento ArchivoEntrada del comando se entiende como un
archivo de texto que contiene un nombre de archivo por línea. Otra opción es enumerar
los archivos en la ILC, separados por un espacio. No obstante, recuerde que las ILC
tienen un límite de caracteres. Además, no olvide que la opción --listfile solamente
afecta a los argumentos y no a las opciones.
Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
namespaces
--namespaces = true|false
Habilita el procesamiento preparado para espacios de nombres. Esta opción es muy
útil si quiere buscar en la instancia XML errores resultantes de espacios de nombres
erróneos.
Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
recurse
--recurse = true|false
Esta opción se utiliza para seleccionar ficheros dentro de un archivo ZIP. Si el valor es
true, el argumento ArchivoEntrada del comando seleccionará el fichero seleccionado
también en los subdirectorios. Por ejemplo: test.zip|zip\test.xml seleccionará los
ficheros llamados test.xml en todos los subdirectorios de la carpeta ZIP. Si quiere
puede usar los caracteres comodín * y ?. Por ejemplo: *.xml seleccionaría todos los
ficheros de la carpeta ZIP que tengan la extensión .xml. Valor predeterminado: false
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
76
Interfaz de la línea de comandos (ILC)
Comandos para comprobar el formato
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Mensajes, errores, ayuda, tiempo de espera, versión
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
log-output
--log-output = ARCHIVO
Escribe el mensaje de salida en la URL de archivo indicada. Compruebe que la ILC
tiene permiso de escritura en la ubicación de destino.
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos para comprobar el formato
77
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
78
Interfaz de la línea de comandos (ILC)
3.2.2
wfdtd
Comandos para comprobar el formato
El comando wfdtd revisa uno o varios documentos DTD y comprueba si su formato es correcto
según la especificación XML 1.0 o XML 1.1.
Windows
RaptorXML wfdtd [opciones] ArchivoEntrada
Linux
raptorxml wfdtd [opciones] ArchivoEntrada
Mac
raptorxml wfdtd [opciones] ArchivoEntrada
El argumento ArchivoEntrada es el documento DTD cuyo formato debe comprobarse.
Para comprobar el formato de varios documentos: (i) enumere en la ILC los archivos que desea
revisar, separados con un espacio o (ii) enumere en un archivo de texto (*.txt) los archivos que
desea revisar (un nombre de archivo en cada línea) y suministre este archivo de texto con el
argumento ArchivoEntrada junto con la opción --listfile con valor true (ver la lista de
opciones más abajo).
Ejemplos
raptorxml wfdtd c:\Test.dtd
raptorxml wfdtd --verbose=true c:\Test.dtd
raptorxml wfdtd --listfile=true c:\ListaArchivos.txt
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Validación y procesamiento
listfile
--listfile = true|false
Si el valor es true, el argumento ArchivoEntrada del comando se entiende como un
archivo de texto que contiene un nombre de archivo por línea. Otra opción es enumerar
los archivos en la ILC, separados por un espacio. No obstante, recuerde que las ILC
tienen un límite de caracteres. Además, no olvide que la opción --listfile solamente
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos para comprobar el formato
79
afecta a los argumentos y no a las opciones.
Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
recurse
--recurse = true|false
Esta opción se utiliza para seleccionar ficheros dentro de un archivo ZIP. Si el valor es
true, el argumento ArchivoEntrada del comando seleccionará el fichero seleccionado
también en los subdirectorios. Por ejemplo: test.zip|zip\test.xml seleccionará los
ficheros llamados test.xml en todos los subdirectorios de la carpeta ZIP. Si quiere
puede usar los caracteres comodín * y ?. Por ejemplo: *.xml seleccionaría todos los
ficheros de la carpeta ZIP que tengan la extensión .xml. Valor predeterminado: false
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Mensajes, errores, ayuda, tiempo de espera, versión
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
80
Interfaz de la línea de comandos (ILC)
Comandos para comprobar el formato
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
log-output
--log-output = ARCHIVO
Escribe el mensaje de salida en la URL de archivo indicada. Compruebe que la ILC
tiene permiso de escritura en la ubicación de destino.
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.2.3
Comandos para comprobar el formato
81
wfany
El comando wfany comprueba si el formato de un documento XML o DTD es correcto según la
especificación correspondiente. El tipo de documento se detecta automáticamente.
Windows
RaptorXML wfany [opciones] ArchivoEntrada
Linux
raptorxml wfany [opciones] ArchivoEntrada
Mac
raptorxml wfany [opciones] ArchivoEntrada
El argumento ArchivoEntrada es el documento cuyo formato debe comprobarse. Recuerde que
como argumento del comando se puede suministrar solamente un documento. El tipo de
documento se detecta automáticamente.
Ejemplos
raptorxml wfany c:\Test.xml
raptorxml wfany --errorformat=text c:\Test.xml
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Validación y procesamiento
recurse
--recurse = true|false
Esta opción se utiliza para seleccionar ficheros dentro de un archivo ZIP. Si el valor es
true, el argumento ArchivoEntrada del comando seleccionará el fichero seleccionado
también en los subdirectorios. Por ejemplo: test.zip|zip\test.xml seleccionará los
ficheros llamados test.xml en todos los subdirectorios de la carpeta ZIP. Si quiere
puede usar los caracteres comodín * y ?. Por ejemplo: *.xml seleccionaría todos los
ficheros de la carpeta ZIP que tengan la extensión .xml. Valor predeterminado: false
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
82
Interfaz de la línea de comandos (ILC)
Comandos para comprobar el formato
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Mensajes, errores, ayuda, tiempo de espera, versión
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos para comprobar el formato
83
usar el comando help con un argumento. Por ejemplo: help valany).
log-output
--log-output = ARCHIVO
Escribe el mensaje de salida en la URL de archivo indicada. Compruebe que la ILC
tiene permiso de escritura en la ubicación de destino.
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
84
Interfaz de la línea de comandos (ILC)
3.3
Comandos XSLT
Comandos XSLT
Estos son los comandos XSLT:
xslt: para transformar documentos XML con un documento XSLT
valxslt: para validar documentos XSLT
Los argumentos y opciones de cada comando se describen en los siguientes apartados.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.3.1
Comandos XSLT
85
xslt
El comando xslt toma un archivo XSLT como único argumento y lo utiliza para transformar un
archivo XML de entrada y generar un archivo de salida. Los archivos de entrada y salida se
especifican como opciones.
Windows
RaptorXML xslt [opciones] Archivo-XSLT
Linux
raptorxml xslt [opciones] Archivo-XSLT
Mac
raptorxml xslt [opciones] Archivo-XSLT
El argumento Archivo-XSLT es la ruta de acceso y el nombre del archivo XSLT que se debe usar
para la transformación. Se necesita un archivo XML de entrada (--input) o el punto de entrada
de una plantilla con nombre (--template-entry-point). Si no especifica la opción del
documento de salida --output, se genera un resultado estándar. Puede usar XSLT 1.0, 2.0 o
3.0. La versión predeterminada es XSLT 3.0.
Ejemplos
raptorxml xslt --input=c:\Test.xml --output=c:\Salida.xml c:\Test.xslt
raptorxml xslt --template-entry-point=PlantillaInicial --output=c:
\Salida.xml c:\Test.xslt
raptorxml xslt --input=c:\Test.xml --output=c:\Salida.xml --param=date://
node[1][email protected] --p=title:'cadenasinespacios' --param=title:"'cadena con
espacios'" --p=amount:456 c:\Test.xslt
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Procesamiento XSLT
indent-characters
--indent-characters = VALOR
Especifica la cadena de caracteres que debe usarse como sangría.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
86
Interfaz de la línea de comandos (ILC)
Comandos XSLT
input
--input = ARCHIVO
La URL del archivo XML que se debe transformar.
output
output = ARCHIVO
La URL del archivo de salida principal. Por ejemplo, en caso de tener varios archivos
HTML de salida, el archivo de salida principal será la ubicación del archivo HTML del
punto de entrada. Si no se especifica la opción --output, se genera un resultado
estándar.
param [p]
--p | --param = CLAVE:VALOR
XQuery
Especifica el valor de un parámetro externo. En el documento XQuery los
parámetros externos se declaran con la declaración declare variable seguida
de un nombre de variable y después la palabra clave external seguida del punto
y coma final. Por ejemplo: declare variable $foo as xs:string external;
Al usar la palabra clave external, $foo se convierte en parámetro externo y su
valor se pasa en tiempo de ejecución desde una fuente externa. El parámetro
externo recibe un valor con el comando de la ILC. Por ejemplo: -param=foo:'MiNombre'
En la descripción anterior, CLAVE es el nombre de parámetro externo y VALOR es
su valor, dado como expresión XPath. Los nombres de parámetro utilizados en la
ILC deben declararse en el documento XQuery. Si se pasan valores a varios
parámetros externos en la ILC, cada parámetro debe llevar una opción --param
distinta. Si la expresión XPath contiene espacios, entonces debe estar entre
comillas dobles.
XSLT
Especifica un parámetro global de la hoja de estilos. CLAVE es el nombre del
parámetro y VALOR es una expresión XPath que da un valor al parámetro. Los
nombres de parámetro utilizados en la ILC deben declararse en la hoja de estilos.
Si usa más de un parámetro, debe usar el modificador --param antes de cada
parámetro. Si la expresión XPath incluye espacios, entonces debe ir entre
comillas dobles, tanto si el espacio está en la expresión propiamente dicha o en
un literal de cadena de la expresión. Por ejemplo:
raptorxml xslt --input=c:\Test.xml --output=c:\Salida.xml -param=date://node[1][email protected] --p=title:cadenasinespacios -param=title:"'cadena con espacios'" --p=amount:456 c:\Test.xslt
streaming
--streaming = true|false
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XSLT
87
Habilita la transmisión por secuencias. En el modo de transmisión por secuencias, el
almacenamiento de datos en memoria se reduce al mínimo y el procesamiento es más
rápido. El inconveniente es que puede que no esté disponible cierta información que
podría necesitar más adelante, como el modelo de datos del documento XML, por
ejemplo. Si quiere evitar esto, debería deshabilitar el modo de transmisión por
secuencias (dándole el valor false a la opción --streaming). Cuando use la opción -script con el comando valxml-withxsd, aconsejamos deshabilitar la transmisión por
secuencias. Recuerde que la opción --streaming se ignora, si el valor de -parallel-assessment es true.
Valor predeterminado: true.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
template-entry-point
--template-entry-point = VALOR
Indica el nombre de una plantilla con nombre de la hoja de estilos XSLT que sirve de
punto de entrada de la transformación.
template-mode
--template-mode = VALOR
Especifica el modo de plantilla que debe usarse para la transformación.
xslt-version
--xslt-version = 1|1.0|2|2.0|3|3.0
Especifica si el procesador XSLT debe usar XSLT 1.0, XSLT 2.0 o XSLT 3.0. Valor
predeterminado: 3
Instancias y esquemas XML
load-xml-with-psvi
--load-xml-with-psvi = true|false
Habilita la validación de archivos XML de entrada y genera información posterior a la
validación. Valor predeterminado: false.
schema-imports
--schema-imports = load-by-schemalocation | load-preferringschemalocation | load-by-namespace | load-combining-both | licensenamespace-only
Esta opción indica el comportamiento de los elementos xs:import. Cada uno de estos
elementos tiene un atributo opcional namespace y un atributo opcional
schemaLocation: <import namespace="unEspacioNombres"
schemaLocation="unaURL">. Esta opción especifica si cargar un esquema o
simplemente autorizar un espacio de nombre y si en el caso de cargar el documento de
un esquema, qué información se debe usar para encontrarlo. Por defecto es: loadpreferring-schemalocation.
load-by-schemalocation: el valor del atributo schemaLocation se utiliza para
buscar el esquema, teniendo en cuenta las asignaciones de catálogo. Si está
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
88
Interfaz de la línea de comandos (ILC)
Comandos XSLT
presente el atributo namespace, se importa el espacio de nombres (con licencia).
load-preferring-schemalocation: si está presente, se utiliza el atributo
schemaLocation teniendo en cuenta las asignaciones de catálogo. Si no está
presente el atributo schemaLocation, entonces se usa el valor del atributo
namespace a través de las asignaciones de catálogo. Este es el valor
predeterminado.
load-by-namespace: el valor del atributo namespace se utiliza para buscar el
esquema por medio de una asignación de catálogo.
load-combining-both: si el atributo namespace o schemaLocation tiene una
asignación de catálogo, entonces se usa la asignación. Si ambos atributos tienen
asignaciones de catálogo, entonces es el valor de la opción --schema-mapping
(opción XML/XSD) decide qué asignación se utiliza. Si no hay ninguna asignación
de catálogo, entonces se usa el atributo schemaLocation.
license-namespace-only: se importa el espacio de nombres. No se importa el
documento de esquema.
schemalocation-hints
--schemalocation-hints = load-by-schemalocation | load-by-namespace |
load-combining-both | ignore
Especifica el comportamiento de los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation: Si cargar un documento de esquema y si es si,
qué información se usará para encontrarlo. Por defecto: load-by-schemalocation.
Valor predeterminado: load-by-schemalocation. Este valor toma la URL de la
ubicación del esquema de los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation de los documentos de instancia XML.
El valor load-by-namespace toma la parte de espacio de nombres del atributo
xsi:schemaLocation y una cadena vacía en el caso del atributo
xsi:noNamespaceSchemaLocation y encuentra el esquema por medio de una
asignación de catálogo.
Si usa el valor load-combining-both y el espacio de nombres o la URL tienen
una asignación de catálogo, se usa dicha asignación. Si ambos tienen
asignaciones de catálogo, el valor de la opción schema-mapping (opción XML/XSD)
decide qué asignación se utiliza. Si ni el espacio de nombres ni la URL tiene una
asignación de catálogo, se usa la URL.
El valor ignore ignora los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation.
schema-mapping
--schema-mapping = prefer-schemalocation | prefer-namespace
Si la ubicación del esquema y del espacio del nombre se usan para encontrar un
documento de esquema, especifica cuál de ellas se prefieren durante la consulta del
catálogo.
Si la opción --schemalocation-hints o la opción --schema-imports tiene el valor
load-combining-both y si las partes de espacio de nombres y URL pertinentes
tienen asignaciones de catálogo, entonces el valor de la opción especifica cuál de las
dos asignaciones se utiliza (la asignación del espacio de nombres o de la URL: el valor
prefer-schemalocation se refiere a la asignación de la URL). Valor predeterminado:
prefer-schemalocation.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XSLT
89
xinclude
--xinclude = true|false
Habilita la compatibilidad con inclusiones XML (XInclude). Si el valor es false, los
elementos XInclude include se ignoran. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
xml-mode
--xml-mode = wf|id|valid
Especifica el modo de procesamiento XML que debe utilizarse: wf=comprobación de
formato; id=comprobación de formato con ID/IDREF; valid=validación. Valor
predeterminado: wf.
xml-validation-error-as-warning
--xslt-version = true|false
Especifica si para tratar los errores de validación como advertencia. Si se tratan como
advertencia, el procesamiento adicional como la transformación XSLT, proseguirá aún
cuando se detecten errores. Por defecto es false.
xsd-version
--xsd-version = 1.0|1.1|detect
Especifica qué versión de la especificación Schema Definition Language (XSD) del W3C
se debe usar. Valor predeterminado: 1.0.
Esta opción también puede ser útil si quiere ver en qué aspectos no es compatible un
esquema 1.0 con la especificación 1.1. El valor detect es una característica de Altova.
Permite detectar la versión del esquema XML (1.0 o 1.1) leyendo el valor del atributo
vc:minVersion del elemento <xs:schema> del documento. Si el valor del atributo
@vc:minVersion es 1.1, se entiende que la versión del esquema es 1.1. Si el atributo
tiene otro valor que no sea 1.1 (o si no está presente el atributo @vc:minVersion), se
entiende que la versión del esquema es 1.0.
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
90
Interfaz de la línea de comandos (ILC)
Comandos XSLT
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Extensiones
Estas opciones definen cómo se gestionan las funciones de extensión especiales
disponibles en la edición Enterprise Edition de varios productos de Altova (como XMLSpy
Enterprise Edition). Su uso se describe detalladamente en el manual del usuario de cada
producto.
chartext-disable
--chartext-disable = true|false
Deshabilita las extensiones de gráficos. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
dotnetext-disable
--dotnetext-disable = true|false
Deshabilita las extensiones .NET. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
javaext-barcode-location
--javaext-barcode-location = ARCHIVO
Especifica la ubicación del archivo de extensión de código de barras.
javaext-disable
--javaext-disable = true|false
Deshabilita las extensiones Java. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
Mensajes, errores, ayuda, tiempo de espera, versión
error-format
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XSLT
91
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
92
Interfaz de la línea de comandos (ILC)
3.3.2
valxslt
Comandos XSLT
El comando valxslt toma un archivo XSLT como único argumento y lo valida.
Windows
RaptorXML valxslt [opciones] Archivo-XSLT
Linux
raptorxml valxslt [opciones] Archivo-XSLT
Mac
raptorxml valxslt [opciones] Archivo-XSLT
El argumento Archivo-XSLT es la ruta de acceso y el nombre del archivo XSLT que debe
validarse. El archivo se valida con la especificación XSLT 1.0, 2.0 o 3.0. La versión
predeterminada es XSLT 3.0.
Ejemplos
raptorxml valxslt c:\Test.xslt
raptorxml valxslt --xslt-version=2 c:\Test.xslt
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Procesamiento XSLT
template-entry-point
--template-entry-point = VALOR
Indica el nombre de una plantilla con nombre de la hoja de estilos XSLT que sirve de
punto de entrada de la transformación.
template-mode
--template-mode = VALOR
Especifica el modo de plantilla que debe usarse para la transformación.
xslt-version
--xslt-version = 1|1.0|2|2.0|3|3.0
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XSLT
93
Especifica si el procesador XSLT debe usar XSLT 1.0, XSLT 2.0 o XSLT 3.0. Valor
predeterminado: 3
Instancias y esquemas XML
load-xml-with-psvi
--load-xml-with-psvi = true|false
Habilita la validación de archivos XML de entrada y genera información posterior a la
validación. Valor predeterminado: false.
schema-imports
--schema-imports = load-by-schemalocation | load-preferringschemalocation | load-by-namespace | load-combining-both | licensenamespace-only
Esta opción indica el comportamiento de los elementos xs:import. Cada uno de estos
elementos tiene un atributo opcional namespace y un atributo opcional
schemaLocation: <import namespace="unEspacioNombres"
schemaLocation="unaURL">. Esta opción especifica si cargar un esquema o
simplemente autorizar un espacio de nombre y si en el caso de cargar el documento de
un esquema, qué información se debe usar para encontrarlo. Por defecto es: loadpreferring-schemalocation.
load-by-schemalocation: el valor del atributo schemaLocation se utiliza para
buscar el esquema, teniendo en cuenta las asignaciones de catálogo. Si está
presente el atributo namespace, se importa el espacio de nombres (con licencia).
load-preferring-schemalocation: si está presente, se utiliza el atributo
schemaLocation teniendo en cuenta las asignaciones de catálogo. Si no está
presente el atributo schemaLocation, entonces se usa el valor del atributo
namespace a través de las asignaciones de catálogo. Este es el valor
predeterminado.
load-by-namespace: el valor del atributo namespace se utiliza para buscar el
esquema por medio de una asignación de catálogo.
load-combining-both: si el atributo namespace o schemaLocation tiene una
asignación de catálogo, entonces se usa la asignación. Si ambos atributos tienen
asignaciones de catálogo, entonces es el valor de la opción --schema-mapping
(opción XML/XSD) decide qué asignación se utiliza. Si no hay ninguna asignación
de catálogo, entonces se usa el atributo schemaLocation.
license-namespace-only: se importa el espacio de nombres. No se importa el
documento de esquema.
schemalocation-hints
--schemalocation-hints = load-by-schemalocation | load-by-namespace |
load-combining-both | ignore
Especifica el comportamiento de los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation: Si cargar un documento de esquema y si es si,
qué información se usará para encontrarlo. Por defecto: load-by-schemalocation.
Valor predeterminado: load-by-schemalocation. Este valor toma la URL de la
ubicación del esquema de los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation de los documentos de instancia XML.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
94
Interfaz de la línea de comandos (ILC)
Comandos XSLT
El valor load-by-namespace toma la parte de espacio de nombres del atributo
xsi:schemaLocation y una cadena vacía en el caso del atributo
xsi:noNamespaceSchemaLocation y encuentra el esquema por medio de una
asignación de catálogo.
Si usa el valor load-combining-both y el espacio de nombres o la URL tienen
una asignación de catálogo, se usa dicha asignación. Si ambos tienen
asignaciones de catálogo, el valor de la opción schema-mapping (opción XML/XSD)
decide qué asignación se utiliza. Si ni el espacio de nombres ni la URL tiene una
asignación de catálogo, se usa la URL.
El valor ignore ignora los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation.
schema-mapping
--schema-mapping = prefer-schemalocation | prefer-namespace
Si la ubicación del esquema y del espacio del nombre se usan para encontrar un
documento de esquema, especifica cuál de ellas se prefieren durante la consulta del
catálogo.
Si la opción --schemalocation-hints o la opción --schema-imports tiene el valor
load-combining-both y si las partes de espacio de nombres y URL pertinentes
tienen asignaciones de catálogo, entonces el valor de la opción especifica cuál de las
dos asignaciones se utiliza (la asignación del espacio de nombres o de la URL: el valor
prefer-schemalocation se refiere a la asignación de la URL). Valor predeterminado:
prefer-schemalocation.
xinclude
--xinclude = true|false
Habilita la compatibilidad con inclusiones XML (XInclude). Si el valor es false, los
elementos XInclude include se ignoran. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
xml-mode
--xml-mode = wf|id|valid
Especifica el modo de procesamiento XML que debe utilizarse: wf=comprobación de
formato; id=comprobación de formato con ID/IDREF; valid=validación. Valor
predeterminado: wf.
xsd-version
--xsd-version = 1.0|1.1|detect
Especifica qué versión de la especificación Schema Definition Language (XSD) del W3C
se debe usar. Valor predeterminado: 1.0.
Esta opción también puede ser útil si quiere ver en qué aspectos no es compatible un
esquema 1.0 con la especificación 1.1. El valor detect es una característica de Altova.
Permite detectar la versión del esquema XML (1.0 o 1.1) leyendo el valor del atributo
vc:minVersion del elemento <xs:schema> del documento. Si el valor del atributo
@vc:minVersion es 1.1, se entiende que la versión del esquema es 1.1. Si el atributo
tiene otro valor que no sea 1.1 (o si no está presente el atributo @vc:minVersion), se
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XSLT
95
entiende que la versión del esquema es 1.0.
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Extensiones
Estas opciones definen cómo se gestionan las funciones de extensión especiales
disponibles en la edición Enterprise Edition de varios productos de Altova (como XMLSpy
Enterprise Edition). Su uso se describe detalladamente en el manual del usuario de cada
producto.
chartext-disable
--chartext-disable = true|false
Deshabilita las extensiones de gráficos. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
dotnetext-disable
--dotnetext-disable = true|false
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
96
Interfaz de la línea de comandos (ILC)
Comandos XSLT
Deshabilita las extensiones .NET. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
javaext-barcode-location
--javaext-barcode-location = ARCHIVO
Especifica la ubicación del archivo de extensión de código de barras.
javaext-disable
--javaext-disable = true|false
Deshabilita las extensiones Java. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
Mensajes, errores, ayuda, tiempo de espera, versión
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XSLT
97
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
98
Interfaz de la línea de comandos (ILC)
3.4
Comandos XQuery
Comandos XQuery
Estos son los comandos XQuery:
xquery: para ejecutar documentos XQuery y, si se quiere, con un documento de entrada
xqueryupdate: para ejecutar una actualización XQuery con un documento XQuery y el
documento XML de entrada que se debe actualizar
valxquery: para validar documentos XQuery
Los argumentos y opciones de cada comando se describen en los siguientes apartados.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.4.1
Comandos XQuery
99
xquery
El comando xquery toma un archivo XQuery como único argumento y lo ejecuta con un archivo
de entrada opcional para generar un archivo de salida. Los archivos de entrada y salida se
especifican como opciones.
Windows
RaptorXML xquery [opciones] Archivo-XQuery
Linux
raptorxml xquery [opciones] Archivo-XQuery
Mac
raptorxml xquery [opciones] Archivo-XQuery
El argumento Archivo-XQuery es la ruta de acceso y el nombre del archivo XQuery que debe
ejecutarse. Puede usar tanto XQuery 1.0 como 3.0, pero la versión predeterminada es 3.0.
Ejemplos
raptorxml xquery --output=c:\Salida.xml c:\TestConsulta.xq
raptorxml xquery --input=c:\Entrada.xml --output=c:\Salida.xml -param=company:"Altova" --p=date:"2006-01-01" c:\TestConsulta.xq
raptorxml xquery --input=c:\Entrada.xml --output=c:\Salida.xml -param=source:" doc( 'c:\test\books.xml' )//book "
raptorxml xquery --output=c:\Salida.xml --omit-xml-declaration=false -output-encoding=ASCII c:\TestConsulta.xq
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Procesamiento XQuery
indent-characters
--indent-characters = VALOR
Especifica la cadena de caracteres que debe usarse como sangría.
input
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
100
Interfaz de la línea de comandos (ILC)
Comandos XQuery
--input = ARCHIVO
La URL del archivo XML que se debe transformar.
omit-xml-declaration
--omit-xml-declaration = true|false
Opción de serialización que especifica si la declaración XML se omite en el resultado o
no. Si el valor es true, el documento de salida no tendrá una declaración XML. Si el
valor es false, se incluye una declaración XML en el documento de salida. Valor
predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
output
output = ARCHIVO
La URL del archivo de salida principal. Por ejemplo, en caso de tener varios archivos
HTML de salida, el archivo de salida principal será la ubicación del archivo HTML del
punto de entrada. Si no se especifica la opción --output, se genera un resultado
estándar.
output-encoding
--output-encoding = VALOR
El valor del atributo encoding del documento de salida. Son valores válidos todos los
nombres del registro de juego de caracteres IANA. Valor predeterminado: UTF-8.
output-indent
--output-indent = true|false
Si el valor es true, la sangría del documento de salida seguirá su estructura jerárquica.
Si el valor es false, el documento de salida no tendrá sangría jerárquica. Valor
predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
output-method
--output-method = xml|html|xhtml|text
Especifica el formato de salida. Valor predeterminado: xml.
param [p]
--p | --param = CLAVE:VALOR
XQuery
Especifica el valor de un parámetro externo. En el documento XQuery los
parámetros externos se declaran con la declaración declare variable seguida
de un nombre de variable y después la palabra clave external seguida del punto
y coma final. Por ejemplo: declare variable $foo as xs:string external;
Al usar la palabra clave external, $foo se convierte en parámetro externo y su
valor se pasa en tiempo de ejecución desde una fuente externa. El parámetro
externo recibe un valor con el comando de la ILC. Por ejemplo: --
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XQuery
101
param=foo:'MiNombre'
En la descripción anterior, CLAVE es el nombre de parámetro externo y VALOR es
su valor, dado como expresión XPath. Los nombres de parámetro utilizados en la
ILC deben declararse en el documento XQuery. Si se pasan valores a varios
parámetros externos en la ILC, cada parámetro debe llevar una opción --param
distinta. Si la expresión XPath contiene espacios, entonces debe estar entre
comillas dobles.
XSLT
Especifica un parámetro global de la hoja de estilos. CLAVE es el nombre del
parámetro y VALOR es una expresión XPath que da un valor al parámetro. Los
nombres de parámetro utilizados en la ILC deben declararse en la hoja de estilos.
Si usa más de un parámetro, debe usar el modificador --param antes de cada
parámetro. Si la expresión XPath incluye espacios, entonces debe ir entre
comillas dobles, tanto si el espacio está en la expresión propiamente dicha o en
un literal de cadena de la expresión. Por ejemplo:
raptorxml xslt --input=c:\Test.xml --output=c:\Salida.xml -param=date://node[1][email protected] --p=title:cadenasinespacios -param=title:"'cadena con espacios'" --p=amount:456 c:\Test.xslt
xquery-version
--xquery-version = 1|1.0|3|3.0|3.1
Indica si el procesador XQuery debe usar XQuery 1.0 o 3.0. Valor predeterminado: 3
Instancias y esquemas XML
load-xml-with-psvi
--load-xml-with-psvi = true|false
Habilita la validación de archivos XML de entrada y genera información posterior a la
validación. Valor predeterminado: false.
xinclude
--xinclude = true|false
Habilita la compatibilidad con inclusiones XML (XInclude). Si el valor es false, los
elementos XInclude include se ignoran. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
xml-mode
--xml-mode = wf|id|valid
Especifica el modo de procesamiento XML que debe utilizarse: wf=comprobación de
formato; id=comprobación de formato con ID/IDREF; valid=validación. Valor
predeterminado: wf.
xml-validation-error-as-warning
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
102
Interfaz de la línea de comandos (ILC)
Comandos XQuery
--xslt-version = true|false
Especifica si para tratar los errores de validación como advertencia. Si se tratan como
advertencia, el procesamiento adicional como la transformación XSLT, proseguirá aún
cuando se detecten errores. Por defecto es false.
xsd-version
--xsd-version = 1.0|1.1|detect
Especifica qué versión de la especificación Schema Definition Language (XSD) del W3C
se debe usar. Valor predeterminado: 1.0.
Esta opción también puede ser útil si quiere ver en qué aspectos no es compatible un
esquema 1.0 con la especificación 1.1. El valor detect es una característica de Altova.
Permite detectar la versión del esquema XML (1.0 o 1.1) leyendo el valor del atributo
vc:minVersion del elemento <xs:schema> del documento. Si el valor del atributo
@vc:minVersion es 1.1, se entiende que la versión del esquema es 1.1. Si el atributo
tiene otro valor que no sea 1.1 (o si no está presente el atributo @vc:minVersion), se
entiende que la versión del esquema es 1.0.
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XQuery
103
Mensajes, errores, ayuda, tiempo de espera, versión
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
104
Interfaz de la línea de comandos (ILC)
3.4.2
xqueryupdate
Comandos XQuery
El comando xqueryupdate toma un archivo XQuery como único argumento y lo ejecuta con un
archivo de entrada opcional con el objetivo de producir un archivo de salida actualizado. Los
archivos de entrada y salida se especifican en las opciones del comando.
Windows
RaptorXML xqueryupdate [opciones] Archivo-XQuery
Linux
raptorxml xqueryupdate [opciones] Archivo-XQuery
Mac
raptorxml xqueryupdate [opciones] Archivo-XQuery
El argumento Archivo-XQuery es la ruta de acceso y el nombre del archivo XQuery que se debe
ejecutar. También puede especificar si se utiliza XQuery Update 1.0 o 3.0 (la opción
predeterminada XQuery Update 3.0).
Ejemplos
raptorxml xqueryupdate --output=c:\Salida.xml c:\TestQuery.xq
raptorxml xqueryupdate --input=c:\Entrada.xml --output=c:\Salida.xml
param=company:"Altova" --p=date:"2006-01-01" c:\TestQuery.xq
raptorxml xqueryupdate --input=c:\Entrada.xml --output=c:\Salida.xml
param=source:" doc( 'c:\test\books.xml' )//book "
raptorxml xqueryupdate --output=c:\Salida.xml --omit-xmldeclaration=false --output-encoding=ASCII c:\TestQuery.xq
---
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Procesamiento XQuery Update
Procesamiento XQuery
indent-characters
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XQuery
105
--indent-characters = VALOR
Especifica la cadena de caracteres que debe usarse como sangría.
input
--input = ARCHIVO
La URL del archivo XML que se debe transformar.
omit-xml-declaration
--omit-xml-declaration = true|false
Opción de serialización que especifica si la declaración XML se omite en el
resultado o no. Si el valor es true, el documento de salida no tendrá una
declaración XML. Si el valor es false, se incluye una declaración XML en el
documento de salida. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
output
output = ARCHIVO
La URL del archivo de salida principal. Por ejemplo, en caso de tener varios
archivos HTML de salida, el archivo de salida principal será la ubicación del
archivo HTML del punto de entrada. Si no se especifica la opción --output, se
genera un resultado estándar.
output-encoding
--output-encoding = VALOR
El valor del atributo encoding del documento de salida. Son valores válidos todos
los nombres del registro de juego de caracteres IANA. Valor predeterminado: UTF8.
output-indent
--output-indent = true|false
Si el valor es true, la sangría del documento de salida seguirá su estructura
jerárquica. Si el valor es false, el documento de salida no tendrá sangría
jerárquica. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
output-method
--output-method = xml|html|xhtml|text
Especifica el formato de salida. Valor predeterminado: xml.
param [p]
--p | --param = CLAVE:VALOR
XQuery
Especifica el valor de un parámetro externo. En el documento XQuery los
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
106
Interfaz de la línea de comandos (ILC)
Comandos XQuery
parámetros externos se declaran con la declaración declare variable
seguida de un nombre de variable y después la palabra clave external
seguida del punto y coma final. Por ejemplo: declare variable $foo as
xs:string external;
Al usar la palabra clave external, $foo se convierte en parámetro externo y
su valor se pasa en tiempo de ejecución desde una fuente externa. El
parámetro externo recibe un valor con el comando de la ILC. Por ejemplo:
--param=foo:'MiNombre'
En la descripción anterior, CLAVE es el nombre de parámetro externo y VALOR
es su valor, dado como expresión XPath. Los nombres de parámetro
utilizados en la ILC deben declararse en el documento XQuery. Si se pasan
valores a varios parámetros externos en la ILC, cada parámetro debe llevar
una opción --param distinta. Si la expresión XPath contiene espacios,
entonces debe estar entre comillas dobles.
XSLT
Especifica un parámetro global de la hoja de estilos. CLAVE es el nombre del
parámetro y VALOR es una expresión XPath que da un valor al parámetro. Los
nombres de parámetro utilizados en la ILC deben declararse en la hoja de
estilos. Si usa más de un parámetro, debe usar el modificador --param
antes de cada parámetro. Si la expresión XPath incluye espacios, entonces
debe ir entre comillas dobles, tanto si el espacio está en la expresión
propiamente dicha o en un literal de cadena de la expresión. Por ejemplo:
raptorxml xslt --input=c:\Test.xml --output=c:\Salida.xml -param=date://node[1][email protected] --p=title:cadenasinespacios -param=title:"'cadena con espacios'" --p=amount:456 c:\Test.xslt
xquery-version
--xquery-version = 1|1.0|3|3.0|3.1
Indica si el procesador XQuery debe usar XQuery 1.0 o 3.0. Valor predeterminado:
3
xquery-update-version
--xquery-update-version = 1|3
Indica si el procesador XQuery debería usar XQuery Update Facility 1.0 o XQuery
Update Facility 3.0. Valor predeterminado: 3.
keep-formatting
--keep-formatting = true|false
Conserva en la medida de lo posible el formato del documento de destino. Valor
predeterminado: true.
updated-xml
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XQuery
107
--updated-xml = discard|writeback|asmainresult
Indica qué se debe hacer con el archivo XML actualizado. Las actualizaciones se
pueden:
descartar (los cambios no se escriben en el archivo). Valor discard
escribir en el archivo XML de entrada que se especificó con la opción --input.
Valor writeback
guardar en el resultado estándar o en la ubicación que se especificó con la
opción --output (si se usó esta opción)
Valor predeterminado: discard.
Instancias y esquemas XML
load-xml-with-psvi
--load-xml-with-psvi = true|false
Habilita la validación de archivos XML de entrada y genera información posterior a la
validación. Valor predeterminado: false.
xinclude
--xinclude = true|false
Habilita la compatibilidad con inclusiones XML (XInclude). Si el valor es false, los
elementos XInclude include se ignoran. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
xml-mode
--xml-mode = wf|id|valid
Especifica el modo de procesamiento XML que debe utilizarse: wf=comprobación de
formato; id=comprobación de formato con ID/IDREF; valid=validación. Valor
predeterminado: wf.
xsd-version
--xsd-version = 1.0|1.1|detect
Especifica qué versión de la especificación Schema Definition Language (XSD) del W3C
se debe usar. Valor predeterminado: 1.0.
Esta opción también puede ser útil si quiere ver en qué aspectos no es compatible un
esquema 1.0 con la especificación 1.1. El valor detect es una característica de Altova.
Permite detectar la versión del esquema XML (1.0 o 1.1) leyendo el valor del atributo
vc:minVersion del elemento <xs:schema> del documento. Si el valor del atributo
@vc:minVersion es 1.1, se entiende que la versión del esquema es 1.1. Si el atributo
tiene otro valor que no sea 1.1 (o si no está presente el atributo @vc:minVersion), se
entiende que la versión del esquema es 1.0.
Catálogos y recursos globales
catalog
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
108
Interfaz de la línea de comandos (ILC)
Comandos XQuery
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Extensiones
Estas opciones definen cómo se gestionan las funciones de extensión especiales
disponibles en la edición Enterprise Edition de varios productos de Altova (como XMLSpy
Enterprise Edition). Su uso se describe detalladamente en el manual del usuario de cada
producto.
chartext-disable
--chartext-disable = true|false
Deshabilita las extensiones de gráficos. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
dotnetext-disable
--dotnetext-disable = true|false
Deshabilita las extensiones .NET. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
javaext-barcode-location
--javaext-barcode-location = ARCHIVO
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XQuery
109
Especifica la ubicación del archivo de extensión de código de barras.
javaext-disable
--javaext-disable = true|false
Deshabilita las extensiones Java. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
Mensajes, errores, ayuda, tiempo de espera, versión
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
110
Interfaz de la línea de comandos (ILC)
Comandos XQuery
escriba la opción --version antes del comando.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.4.3
Comandos XQuery
111
valxquery
El comando valxquery toma un archivo XQuery como único argumento y lo valida.
Windows
RaptorXML valxquery [opciones] Archivo-XQuery
Linux
raptorxml valxquery [opciones] Archivo-XQuery
Mac
raptorxml valxquery [opciones] Archivo-XQuery
El argumento Archivo-XQuery es la ruta de acceso y el nombre del archivo XQuery que debe
validarse.
Ejemplos
raptorxml valxquery c:\Test.xquery
raptorxml valxquery --xquery-version=1 c:\Test.xquery
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Procesamiento XQuery
omit-xml-declaration
--omit-xml-declaration = true|false
Opción de serialización que especifica si la declaración XML se omite en el resultado o
no. Si el valor es true, el documento de salida no tendrá una declaración XML. Si el
valor es false, se incluye una declaración XML en el documento de salida. Valor
predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
xquery-version
--xquery-version = 1|1.0|3|3.0|3.1
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
112
Interfaz de la línea de comandos (ILC)
Comandos XQuery
Indica si el procesador XQuery debe usar XQuery 1.0 o 3.0. Valor predeterminado: 3
Instancias y esquemas XML
load-xml-with-psvi
--load-xml-with-psvi = true|false
Habilita la validación de archivos XML de entrada y genera información posterior a la
validación. Valor predeterminado: false.
xinclude
--xinclude = true|false
Habilita la compatibilidad con inclusiones XML (XInclude). Si el valor es false, los
elementos XInclude include se ignoran. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
xml-mode
--xml-mode = wf|id|valid
Especifica el modo de procesamiento XML que debe utilizarse: wf=comprobación de
formato; id=comprobación de formato con ID/IDREF; valid=validación. Valor
predeterminado: wf.
xsd-version
--xsd-version = 1.0|1.1|detect
Especifica qué versión de la especificación Schema Definition Language (XSD) del W3C
se debe usar. Valor predeterminado: 1.0.
Esta opción también puede ser útil si quiere ver en qué aspectos no es compatible un
esquema 1.0 con la especificación 1.1. El valor detect es una característica de Altova.
Permite detectar la versión del esquema XML (1.0 o 1.1) leyendo el valor del atributo
vc:minVersion del elemento <xs:schema> del documento. Si el valor del atributo
@vc:minVersion es 1.1, se entiende que la versión del esquema es 1.1. Si el atributo
tiene otro valor que no sea 1.1 (o si no está presente el atributo @vc:minVersion), se
entiende que la versión del esquema es 1.0.
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
user-catalog
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XQuery
113
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Extensiones
Estas opciones definen cómo se gestionan las funciones de extensión especiales
disponibles en la edición Enterprise Edition de varios productos de Altova (como XMLSpy
Enterprise Edition). Su uso se describe detalladamente en el manual del usuario de cada
producto.
chartext-disable
--chartext-disable = true|false
Deshabilita las extensiones de gráficos. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
dotnetext-disable
--dotnetext-disable = true|false
Deshabilita las extensiones .NET. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
javaext-barcode-location
--javaext-barcode-location = ARCHIVO
Especifica la ubicación del archivo de extensión de código de barras.
javaext-disable
--javaext-disable = true|false
Deshabilita las extensiones Java. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
114
Interfaz de la línea de comandos (ILC)
Comandos XQuery
Mensajes, errores, ayuda, tiempo de espera, versión
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.4.4
Comandos XQuery
115
valxqueryupdate
El comando valxqueryupdate toma un archivo XQuery como único argumento y lo valida.
Windows
RaptorXML valxqueryupdate [opciones] Archivo-XQuery
Linux
raptorxml valxqueryupdate [opciones] Archivo-XQuery
Mac
raptorxml valxqueryupdate [opciones] Archivo-XQuery
El argumento Archivo-XQuery es la ruta de acceso y el nombre del archivo XQuery que se debe
validar.
Ejemplos
raptorxml valxqueryupdae c:\Test.xqu
raptorxml valxqueryupdate --xquery-version=1 c:\Test.xqu
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones del comando aparecen más abajo divididas en grupos. Los valores se pueden dar
sin comillas excepto en estos dos casos: (i) cuando la cadena de valor contiene espacios y (ii)
cuando en la descripción de la opción se indique explícitamente que es necesario el uso de
comillas.
Procesamiento XQuery
omit-xml-declaration
--omit-xml-declaration = true|false
Opción de serialización que especifica si la declaración XML se omite en el resultado o
no. Si el valor es true, el documento de salida no tendrá una declaración XML. Si el
valor es false, se incluye una declaración XML en el documento de salida. Valor
predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
xquery-update-version
--xquery-update-version = 1|3
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
116
Interfaz de la línea de comandos (ILC)
Comandos XQuery
Indica si el procesador XQuery debería usar XQuery Update Facility 1.0 o XQuery
Update Facility 3.0. Valor predeterminado: 3.
Instancias y esquemas XML
load-xml-with-psvi
--load-xml-with-psvi = true|false
Habilita la validación de archivos XML de entrada y genera información posterior a la
validación. Valor predeterminado: false.
xinclude
--xinclude = true|false
Habilita la compatibilidad con inclusiones XML (XInclude). Si el valor es false, los
elementos XInclude include se ignoran. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
xml-mode
--xml-mode = wf|id|valid
Especifica el modo de procesamiento XML que debe utilizarse: wf=comprobación de
formato; id=comprobación de formato con ID/IDREF; valid=validación. Valor
predeterminado: wf.
xsd-version
--xsd-version = 1.0|1.1|detect
Especifica qué versión de la especificación Schema Definition Language (XSD) del W3C
se debe usar. Valor predeterminado: 1.0.
Esta opción también puede ser útil si quiere ver en qué aspectos no es compatible un
esquema 1.0 con la especificación 1.1. El valor detect es una característica de Altova.
Permite detectar la versión del esquema XML (1.0 o 1.1) leyendo el valor del atributo
vc:minVersion del elemento <xs:schema> del documento. Si el valor del atributo
@vc:minVersion es 1.1, se entiende que la versión del esquema es 1.1. Si el atributo
tiene otro valor que no sea 1.1 (o si no está presente el atributo @vc:minVersion), se
entiende que la versión del esquema es 1.0.
Catálogos y recursos globales
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el
archivo de catálogo raíz instalado. El valor predeterminado es la ruta de acceso
absoluta del archivo de catálogo raíz instalado (<carpeta-instalación>\Altova
\RaptorXMLServer2015\etc\RootCatalog.xml). Consulte el apartado Catálogos XML
para obtener más información.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos XQuery
117
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con
el catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
Extensiones
Estas opciones definen cómo se gestionan las funciones de extensión especiales
disponibles en la edición Enterprise Edition de varios productos de Altova (como XMLSpy
Enterprise Edition). Su uso se describe detalladamente en el manual del usuario de cada
producto.
chartext-disable
--chartext-disable = true|false
Deshabilita las extensiones de gráficos. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
dotnetext-disable
--dotnetext-disable = true|false
Deshabilita las extensiones .NET. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
javaext-barcode-location
--javaext-barcode-location = ARCHIVO
Especifica la ubicación del archivo de extensión de código de barras.
javaext-disable
--javaext-disable = true|false
Deshabilita las extensiones Java. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
118
Interfaz de la línea de comandos (ILC)
Comandos XQuery
Mensajes, errores, ayuda, tiempo de espera, versión
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto,
XML y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el
999. Esta opción es útil para limitar el uso del procesador durante la validación. Cuando
se alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es
usar el comando help con un argumento. Por ejemplo: help valany).
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida.
Valor predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se
establece en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando,
escriba la opción --version antes del comando.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.5
Comandos de ayuda y licencias
119
Comandos de ayuda y licencias
En esta sección describimos dos características importantes de RaptorXML Server:
Ayuda: cómo obtener información sobre los comandos disponibles o sobre los
argumentos y opciones de un comando.
Licencias: cómo asignar licencias a RaptorXML.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
120
Interfaz de la línea de comandos (ILC)
3.5.1
Ayuda
Comandos de ayuda y licencias
El comando help toma un solo argumento: el nombre del comando para el que desea obtener
información adicional. Muestra la sintaxis del comando y otra información importante para poder
ejecutar el comando correctamente.
Nota:
Window
s
RaptorXML help Comando
Linux
raptorxml help Comando
Mac
raptorxml help Comando
si ejecuta el comando help sin ningún argumento, aparece la ayuda sobre todos los
comandos de la ILC, cada uno con una breve descripción.
Ejemplo
raptorxml help valany
Este comando contiene un argumento, el comando valany. Cuando se ejecuta este comando,
aparece información de ayuda sobre el comando valany.
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
La opción --help
También puede ver la información de ayuda de un comando si usa la opción --help con dicho
comando. Por ejemplo, si usamos la opción --help con el comando valany:
raptorxml valany --help
conseguimos el mismo resultado que cuando usamos el comando help con el argumento
valany:
raptorxml help valany
En ambos casos aparece información de ayuda sobre el comando valany.
Uso de mayúsculas/minúsculas en la línea de comandos
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos de ayuda y licencias
121
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
122
Interfaz de la línea de comandos (ILC)
3.5.2
Licencias
Comandos de ayuda y licencias
El comando licenseserver registra RaptorXML Server con el servidor de licencias Altova
LicenseServer. Este comando toma como argumento el nombre o la dirección IP del servidor en
el que se ejecuta LicenseServer.
Window
s
RaptorXML licenseserver [opciones] Servidor-O-Dirección-IP
Linux
raptorxml licenseserver [opciones] Servidor-O-Dirección-IP
Mac
raptorxml licenseserver [opciones] Servidor-O-Dirección-IP
Tras registrar RaptorXML Server con LicenseServer, se devuelve la URL de la interfaz web de
LicenseServer. Escriba la URL en una ventana del explorador para acceder a la interfaz web y
después siga los pasos descritos en la documentación de LicenseServer para asignar una
licencia a RaptorXML Server.
Ejemplo
raptorxml licenseserver DOC.altova.com
El comando especifica que el equipo DOC.altova.com es el equipo donde se ejecuta el servidor
de licencias LicenseServer.
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Opciones
Las opciones de este comando son:
--j|json=true|false
Imprime el resultado del intento de registro en formato de objeto JSON analizable por
computador.
--h|help
Muestra el texto de ayuda del comando.
--version
Muestra el número de versión de RaptorXML Server. Esta opción debe escribirse antes del
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Comandos de ayuda y licencias
123
comando: raptorxml --version licenseserver.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
124
Interfaz de la línea de comandos (ILC)
3.6
Comandos de localización
Comandos de localización
Si quiere puede localizar (traducir) la aplicación RaptorXML en cualquier idioma. RaptorXML ya
está disponible en cuatro idiomas (español, inglés, alemán y japonés) en la carpeta
<CarpetaArchivosPrograma>\Altova\RaptorXMLServer2015\bin\.
Para localizar RaptorXML en otros idiomas:
1.
2.
3.
4.
5.
Nota:
Genere un archivo XML con las cadenas de recursos usando el comando
exportresourcestrings. Las cadenas de recursos del archivo XML generado estarán
en uno de estos idiomas: inglés (en), español (es), alemán (de) o japonés (ja),
dependiendo del argumento utilizado con el comando.
Traduzca las cadenas de recursos del XML generado al idioma de destino. Las cadenas
de recursos son el contenido de los elementos <string> del archivo XML. No traduzca
las variables que aparecen entre llaves, como {option} o {product}, por ejemplo.
Póngase en contacto con el equipo de soporte técnico de Altova para generar un archivo
DLL localizado de RaptorXML a partir de su archivo XML traducido.
Cuando reciba el archivo DLL localizado del equipo de soporte técnico de Altova,
guárdelo en la carpeta <CarpetaArchivosPrograma>\Altova\RaptorXMLServer2015
\bin\. El DLL tendrá un nombre similar a este RaptorXMLServer_ci.dll. La parte _ci
del nombre contiene el código del idioma. Por ejemplo, en RaptorXMLServer_de.dll, la
parte de es el código del idioma alemán (Deutsch).
Ejecute el comando setdeflang para establecer el archivo DLL localizado como
aplicación predeterminada. Use el código de idioma del nombre del archivo DLL como
argumento del comando setdeflang.
Altova RaptorXML Server está disponible en cuatro idiomas (español, inglés, alemán y
japonés) y, por tanto, no es necesario traducirlo a estos idiomas. Para establecer uno de
estos idiomas como idioma predeterminado use el comando setdeflang.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.6.1
Comandos de localización
125
exportresourcestrings
El comando exportresourcestrings genera un archivo XML que contiene las cadenas de
recursos de RaptorXML. Este comando toma dos argumentos: (i) el idioma de las cadenas de
recursos del archivo XML de salida y (ii) la ruta de acceso y el nombre del archivo XML de salida.
Los idiomas de exportación compatibles (y sus códigos) son: inglés (en), alemán, (de), español
(es) y japonés (ja).
Windows
RaptorXML exportresourcestrings CódigoIdioma ArchivoXMLSalida
Linux
raptorxml exportresourcestrings CódigoIdioma ArchivoXMLSalida
Mac
raptorxml exportresourcestrings CódigoIdioma ArchivoXMLSalida
Argumentos
El comando exportresourcestrings toma dos argumentos:
CódigoIdioma
idioma de las cadenas de recursos del archivo XML de salida
exportado. Idiomas permitidos: en, de, es, ja
ArchivoXMLSalida
ubicación y nombre del archivo XML de salida exportado.
Ejemplo
Este comando crea un archivo llamado Strings.xml en c:\ que contiene todas las cadenas de
recursos de la aplicación RaptorXML traducida al alemán.
raptorxml exportresourcestrings de c:\Strings.xml
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
126
Interfaz de la línea de comandos (ILC)
3.6.2
setdeflang
Comandos de localización
El comando setdeflang (formato abreviado sdl) establece el idioma predeterminado de
RaptorXML. Su argumento obligatorio es CódigoIdioma.
Windows
RaptorXML setdeflang | sdl CódigoIdioma
Linux
raptorxml setdeflang | sdl CódigoIdioma
Mac
raptorxml setdeflang | sdl CódigoIdioma
Ejemplo
Este comando define el idioma español como idioma predeterminado de los mensajes de la
aplicación.
raptorxml setdeflang es
Uso de mayúsculas/minúsculas en la línea de comandos
RaptorXML en Windows
raptorxml en Unix (Linux, Mac)
* Nota: las minúsculas (raptorxml) funcionan en todas las plataformas (Windows, Linux y
Mac), mientras que la mezcla de mayúsculas y minúsculas (RaptorXML) solo funciona en
Windows y Mac.
Idiomas compatibles
Los idiomas disponibles son:
EN
inglés
DE
alemán
ES
español
JA
japonés
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.7
Opciones
127
Opciones
En esta sección describimos todas las opciones de la ILC, organizadas por funciones. Para ver
qué opción debe usar con cada comando, consulte la descripción del comando correspondiente.
Catálogos, recursos globales y archivos ZIP
Mensajes, errores y ayuda
Procesamiento
XML
XSD
XQuery
XSLT
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
128
Interfaz de la línea de comandos (ILC)
3.7.1
Catálogos, recursos globales, archivos ZIP
Opciones
catalog
--catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un archivo de catálogo que no está en el archivo de
catálogo raíz instalado. El valor predeterminado es la ruta de acceso absoluta del archivo de
catálogo raíz instalado (<carpeta-instalación>\Altova\RaptorXMLServer2015\etc
\RootCatalog.xml). Consulte el apartado Catálogos XML para obtener más información.
user-catalog
--user-catalog = ARCHIVO
Especifica la ruta de acceso absoluta a un catálogo XML que debe utilizarse junto con el
catálogo raíz. Consulte el apartado Catálogos XML para obtener más información.
enable-globalresources
--enable-globalresources = true|false
Habilita la función de recursos globales. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
globalresourceconfig [gc]
--gc | --globalresourceconfig = VALOR
Especifica la configuración activa del recurso global (y habilita los recursos globales).
globalresourcefile [gr]
--gr | --globalresourcefile = ARCHIVO
Especifica el archivo de recursos globales (y habilita los recursos globales).
recurse
--recurse = true|false
Esta opción se utiliza para seleccionar ficheros dentro de un archivo ZIP. Si el valor es true,
el argumento ArchivoEntrada del comando seleccionará el fichero seleccionado también en
los subdirectorios. Por ejemplo: test.zip|zip\test.xml seleccionará los ficheros
llamados test.xml en todos los subdirectorios de la carpeta ZIP. Si quiere puede usar los
caracteres comodín * y ?. Por ejemplo: *.xml seleccionaría todos los ficheros de la carpeta
ZIP que tengan la extensión .xml. Valor predeterminado: false
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.7.2
Opciones
129
Mensajes, errores, ayuda, tiempo de espera y versión
error-format
--error-format = text|shortxml|longxml
Especifica el formato de la salida de error. Los valores posibles son formatos de texto, XML
y XML detallado (longxml). Valor predeterminado: text.
error-limit
--error-limit = N
Especifica el límite de errores. Se permiten los valores comprendidos entre el 1 y el 999.
Esta opción es útil para limitar el uso del procesador durante la validación. Cuando se
alcanza el límite de error, se detiene la validación. Valor predeterminado: 100.
help
--help
Muestra el texto de ayuda para el comando. Por ejemplo valany --h. (Otra opción es usar
el comando help con un argumento. Por ejemplo: help valany).
log-output
--log-output = ARCHIVO
Escribe el mensaje de salida en la URL de archivo indicada. Compruebe que la ILC tiene
permiso de escritura en la ubicación de destino.
network-timeout
--network-timeout = VALOR
Indica el tiempo de espera en segundos para operaciones remotas de entrada y salida. Valor
predeterminado: 40.
verbose
--verbose = true|false
Si el valor es true, se genera información adicional durante la validación. Valor
predeterminado es false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
verbose-output
--verbose-output = ARCHIVO
Escribe el resultado detallado en el ARCHIVO indicado.
version
--version
Muestra el número de versión de RaptorXML Server. Si se utiliza con un comando, escriba la
opción --version antes del comando.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
130
Interfaz de la línea de comandos (ILC)
3.7.3
Procesamiento
Opciones
listfile
--listfile = true|false
Si el valor es true, el argumento ArchivoEntrada del comando se entiende como un
archivo de texto que contiene un nombre de archivo por línea. Otra opción es enumerar los
archivos en la ILC, separados por un espacio. No obstante, recuerde que las ILC tienen un
límite de caracteres. Además, no olvide que la opción --listfile solamente afecta a los
argumentos y no a las opciones.
Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
parallel-assessment [pa]
--pa | --parallel-assessment = true|false
Si el valor es true, la evaluación de la validez de esquemas se realiza en paralelo. Esto
significa que si hay más de 128 elementos en cualquiera de los niveles, estos elementos se
procesan en paralelo utilizando varios subprocesos. Por tanto, los archivos XML de gran
tamaño se pueden procesar más rápido si se habilita esta opción. La evaluación en paralelo
se lleva cabo nivel por nivel, pero puede ocurrir en varios niveles de un mismo conjunto de
información. Recuerde que la evaluación en paralelo no funciona en modo de transmisión por
secuencias. Por este motivo la opción --streaming se pasa por alto si el valor de la opción
--parallel-assessment es true. Además, se usa más memoria cuando se utiliza la
opción --parallel-assessment. El valor predeterminado de esta opción es false y su forma
abreviada es --pa.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
script
--script = ARCHIVO
Una vez finalizada la validación, ejecuta el script Python. Agrege la opción "veces múltiples"
para especificar más de un script.
streaming
--streaming = true|false
Habilita la transmisión por secuencias. En el modo de transmisión por secuencias, el
almacenamiento de datos en memoria se reduce al mínimo y el procesamiento es más
rápido. El inconveniente es que puede que no esté disponible cierta información que podría
necesitar más adelante, como el modelo de datos del documento XML, por ejemplo. Si
quiere evitar esto, debería deshabilitar el modo de transmisión por secuencias (dándole el
valor false a la opción --streaming). Cuando use la opción --script con el comando
valxml-withxsd, aconsejamos deshabilitar la transmisión por secuencias. Recuerde que la
opción --streaming se ignora, si el valor de --parallel-assessment es true.
Valor predeterminado: true.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
xml-validation-error-as-warning
--xslt-version = true|false
Especifica si para tratar los errores de validación como advertencia. Si se tratan como
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Opciones
131
advertencia, el procesamiento adicional como la transformación XSLT, proseguirá aún
cuando se detecten errores. Por defecto es false.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
132
Interfaz de la línea de comandos (ILC)
3.7.4
XML
Opciones
assessment-mode
--assessment-mode = lax|strict
Especifica el modo de evaluación de la validez del esquema, según se define en las
especificaciones XSD. El documento XML de instancia se validará en función del modo
especificado en esta opción. Valor predeterminado: strict.
dtd
--dtd = ARCHIVO
Especifica el documento DTD externo que debe utilizarse para la validación. Si en el
documento XML hay una referencia a una DTD externa, esta opción de la ILC reemplaza a la
referencia externa.
load-xml-with-psvi
--load-xml-with-psvi = true|false
Habilita la validación de archivos XML de entrada y genera información posterior a la
validación. Valor predeterminado: false.
namespaces
--namespaces = true|false
Habilita el procesamiento preparado para espacios de nombres. Esta opción es muy útil si
quiere buscar en la instancia XML errores resultantes de espacios de nombres erróneos.
Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
xinclude
--xinclude = true|false
Habilita la compatibilidad con inclusiones XML (XInclude). Si el valor es false, los elementos
XInclude include se ignoran. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
xml-mode
--xml-mode = wf|id|valid
Especifica el modo de procesamiento XML que debe utilizarse: wf=comprobación de
formato; id=comprobación de formato con ID/IDREF; valid=validación. Valor
predeterminado: wf.
xml-validation-error-as-warning
--xslt-version = true|false
Especifica si para tratar los errores de validación como advertencia. Si se tratan como
advertencia, el procesamiento adicional como la transformación XSLT, proseguirá aún
cuando se detecten errores. Por defecto es false.
xsd
--xsd = ARCHIVO
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Opciones
133
Especifica uno o más documentos de esquema XML que se usa para la validación de un
documento de instancia XML. Agrege la opción de "múltiples veces" para especificar más
que un documento de esquema.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
134
Interfaz de la línea de comandos (ILC)
3.7.5
XSD
Opciones
assessment-mode
--assessment-mode = lax|strict
Especifica el modo de evaluación de la validez del esquema, según se define en las
especificaciones XSD. El documento XML de instancia se validará en función del modo
especificado en esta opción. Valor predeterminado: strict.
namespaces
--namespaces = true|false
Habilita el procesamiento preparado para espacios de nombres. Esta opción es muy útil si
quiere buscar en la instancia XML errores resultantes de espacios de nombres erróneos.
Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
schema-imports
--schema-imports = load-by-schemalocation | load-preferring-schemalocation |
load-by-namespace | load-combining-both | license-namespace-only
Esta opción indica el comportamiento de los elementos xs:import. Cada uno de estos
elementos tiene un atributo opcional namespace y un atributo opcional schemaLocation:
<import namespace="unEspacioNombres" schemaLocation="unaURL">. Esta opción
especifica si cargar un esquema o simplemente autorizar un espacio de nombre y si en el
caso de cargar el documento de un esquema, qué información se debe usar para
encontrarlo. Por defecto es: load-preferring-schemalocation.
load-by-schemalocation: el valor del atributo schemaLocation se utiliza para buscar
el esquema, teniendo en cuenta las asignaciones de catálogo. Si está presente el
atributo namespace, se importa el espacio de nombres (con licencia).
load-preferring-schemalocation: si está presente, se utiliza el atributo
schemaLocation teniendo en cuenta las asignaciones de catálogo. Si no está presente
el atributo schemaLocation, entonces se usa el valor del atributo namespace a través de
las asignaciones de catálogo. Este es el valor predeterminado.
load-by-namespace: el valor del atributo namespace se utiliza para buscar el esquema
por medio de una asignación de catálogo.
load-combining-both: si el atributo namespace o schemaLocation tiene una
asignación de catálogo, entonces se usa la asignación. Si ambos atributos tienen
asignaciones de catálogo, entonces es el valor de la opción --schema-mapping (opción
XML/XSD) decide qué asignación se utiliza. Si no hay ninguna asignación de catálogo,
entonces se usa el atributo schemaLocation.
license-namespace-only: se importa el espacio de nombres. No se importa el
documento de esquema.
schemalocation-hints
--schemalocation-hints = load-by-schemalocation | load-by-namespace | loadcombining-both | ignore
Especifica el comportamiento de los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation: Si cargar un documento de esquema y si es si, qué
información se usará para encontrarlo. Por defecto: load-by-schemalocation.
Valor predeterminado: load-by-schemalocation. Este valor toma la URL de la
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Opciones
135
ubicación del esquema de los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation de los documentos de instancia XML.
El valor load-by-namespace toma la parte de espacio de nombres del atributo
xsi:schemaLocation y una cadena vacía en el caso del atributo
xsi:noNamespaceSchemaLocation y encuentra el esquema por medio de una
asignación de catálogo.
Si usa el valor load-combining-both y el espacio de nombres o la URL tienen una
asignación de catálogo, se usa dicha asignación. Si ambos tienen asignaciones de
catálogo, el valor de la opción schema-mapping (opción XML/XSD) decide qué
asignación se utiliza. Si ni el espacio de nombres ni la URL tiene una asignación de
catálogo, se usa la URL.
El valor ignore ignora los atributos xsi:schemaLocation y
xsi:noNamespaceSchemaLocation.
schema-mapping
--schema-mapping = prefer-schemalocation | prefer-namespace
Si la ubicación del esquema y del espacio del nombre se usan para encontrar un documento
de esquema, especifica cuál de ellas se prefieren durante la consulta del catálogo.
Si la opción --schemalocation-hints o la opción --schema-imports tiene el valor loadcombining-both y si las partes de espacio de nombres y URL pertinentes tienen
asignaciones de catálogo, entonces el valor de la opción especifica cuál de las dos
asignaciones se utiliza (la asignación del espacio de nombres o de la URL: el valor preferschemalocation se refiere a la asignación de la URL). Valor predeterminado: preferschemalocation.
xsd-version
--xsd-version = 1.0|1.1|detect
Especifica qué versión de la especificación Schema Definition Language (XSD) del W3C se
debe usar. Valor predeterminado: 1.0.
Esta opción también puede ser útil si quiere ver en qué aspectos no es compatible un
esquema 1.0 con la especificación 1.1. El valor detect es una característica de Altova.
Permite detectar la versión del esquema XML (1.0 o 1.1) leyendo el valor del atributo
vc:minVersion del elemento <xs:schema> del documento. Si el valor del atributo
@vc:minVersion es 1.1, se entiende que la versión del esquema es 1.1. Si el atributo tiene
otro valor que no sea 1.1 (o si no está presente el atributo @vc:minVersion), se entiende
que la versión del esquema es 1.0.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
136
Interfaz de la línea de comandos (ILC)
3.7.6
XQuery
Opciones
indent-characters
--indent-characters = VALOR
Especifica la cadena de caracteres que debe usarse como sangría.
input
--input = ARCHIVO
La URL del archivo XML que se debe transformar.
keep-formatting
--keep-formatting = true|false
Conserva en la medida de lo posible el formato del documento de destino. Valor
predeterminado: true.
omit-xml-declaration
--omit-xml-declaration = true|false
Opción de serialización que especifica si la declaración XML se omite en el resultado o no.
Si el valor es true, el documento de salida no tendrá una declaración XML. Si el valor es
false, se incluye una declaración XML en el documento de salida. Valor predeterminado:
false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
output
output = ARCHIVO
La URL del archivo de salida principal. Por ejemplo, en caso de tener varios archivos HTML
de salida, el archivo de salida principal será la ubicación del archivo HTML del punto de
entrada. Si no se especifica la opción --output, se genera un resultado estándar.
output-encoding
--output-encoding = VALOR
El valor del atributo encoding del documento de salida. Son valores válidos todos los
nombres del registro de juego de caracteres IANA. Valor predeterminado: UTF-8.
output-indent
--output-indent = true|false
Si el valor es true, la sangría del documento de salida seguirá su estructura jerárquica. Si el
valor es false, el documento de salida no tendrá sangría jerárquica. Valor predeterminado:
false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
output-method
--output-method = xml|html|xhtml|text
Especifica el formato de salida. Valor predeterminado: xml.
param [p]
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Opciones
137
--p | --param = CLAVE:VALOR
XQuery
Especifica el valor de un parámetro externo. En el documento XQuery los parámetros
externos se declaran con la declaración declare variable seguida de un nombre de
variable y después la palabra clave external seguida del punto y coma final. Por
ejemplo: declare variable $foo as xs:string external;
Al usar la palabra clave external, $foo se convierte en parámetro externo y su valor se
pasa en tiempo de ejecución desde una fuente externa. El parámetro externo recibe un
valor con el comando de la ILC. Por ejemplo: --param=foo:'MiNombre'
En la descripción anterior, CLAVE es el nombre de parámetro externo y VALOR es su
valor, dado como expresión XPath. Los nombres de parámetro utilizados en la ILC
deben declararse en el documento XQuery. Si se pasan valores a varios parámetros
externos en la ILC, cada parámetro debe llevar una opción --param distinta. Si la
expresión XPath contiene espacios, entonces debe estar entre comillas dobles.
XSLT
Especifica un parámetro global de la hoja de estilos. CLAVE es el nombre del parámetro
y VALOR es una expresión XPath que da un valor al parámetro. Los nombres de
parámetro utilizados en la ILC deben declararse en la hoja de estilos. Si usa más de un
parámetro, debe usar el modificador --param antes de cada parámetro. Si la expresión
XPath incluye espacios, entonces debe ir entre comillas dobles, tanto si el espacio
está en la expresión propiamente dicha o en un literal de cadena de la expresión. Por
ejemplo:
raptorxml xslt --input=c:\Test.xml --output=c:\Salida.xml -param=date://node[1][email protected] --p=title:cadenasinespacios -param=title:"'cadena con espacios'" --p=amount:456 c:\Test.xslt
updated-xml
--updated-xml = discard|writeback|asmainresult
Indica qué se debe hacer con el archivo XML actualizado. Las actualizaciones se pueden:
descartar (los cambios no se escriben en el archivo). Valor discard
escribir en el archivo XML de entrada que se especificó con la opción --input.
Valor writeback
guardar en el resultado estándar o en la ubicación que se especificó con la opción
--output (si se usó esta opción)
Valor predeterminado: discard.
xquery-update-version
--xquery-update-version = 1|3
Indica si el procesador XQuery debería usar XQuery Update Facility 1.0 o XQuery Update
Facility 3.0. Valor predeterminado: 3.
xquery-version
--xquery-version = 1|1.0|3|3.0|3.1
Indica si el procesador XQuery debe usar XQuery 1.0 o 3.0. Valor predeterminado: 3
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
138
Interfaz de la línea de comandos (ILC)
Altova RaptorXML Server 2015
Opciones
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
3.7.7
Opciones
139
XSLT
chartext-disable
--chartext-disable = true|false
Deshabilita las extensiones de gráficos. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
dotnetext-disable
--dotnetext-disable = true|false
Deshabilita las extensiones .NET. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
indent-characters
--indent-characters = VALOR
Especifica la cadena de caracteres que debe usarse como sangría.
input
--input = ARCHIVO
La URL del archivo XML que se debe transformar.
javaext-barcode-location
--javaext-barcode-location = ARCHIVO
Especifica la ubicación del archivo de extensión de código de barras.
javaext-disable
--javaext-disable = true|false
Deshabilita las extensiones Java. Valor predeterminado: false.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
output
output = ARCHIVO
La URL del archivo de salida principal. Por ejemplo, en caso de tener varios archivos HTML
de salida, el archivo de salida principal será la ubicación del archivo HTML del punto de
entrada. Si no se especifica la opción --output, se genera un resultado estándar.
param [p]
--p | --param = CLAVE:VALOR
XQuery
Especifica el valor de un parámetro externo. En el documento XQuery los parámetros
externos se declaran con la declaración declare variable seguida de un nombre de
variable y después la palabra clave external seguida del punto y coma final. Por
ejemplo: declare variable $foo as xs:string external;
Al usar la palabra clave external, $foo se convierte en parámetro externo y su valor se
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
140
Interfaz de la línea de comandos (ILC)
Opciones
pasa en tiempo de ejecución desde una fuente externa. El parámetro externo recibe un
valor con el comando de la ILC. Por ejemplo: --param=foo:'MiNombre'
En la descripción anterior, CLAVE es el nombre de parámetro externo y VALOR es su
valor, dado como expresión XPath. Los nombres de parámetro utilizados en la ILC
deben declararse en el documento XQuery. Si se pasan valores a varios parámetros
externos en la ILC, cada parámetro debe llevar una opción --param distinta. Si la
expresión XPath contiene espacios, entonces debe estar entre comillas dobles.
XSLT
Especifica un parámetro global de la hoja de estilos. CLAVE es el nombre del parámetro
y VALOR es una expresión XPath que da un valor al parámetro. Los nombres de
parámetro utilizados en la ILC deben declararse en la hoja de estilos. Si usa más de un
parámetro, debe usar el modificador --param antes de cada parámetro. Si la expresión
XPath incluye espacios, entonces debe ir entre comillas dobles, tanto si el espacio
está en la expresión propiamente dicha o en un literal de cadena de la expresión. Por
ejemplo:
raptorxml xslt --input=c:\Test.xml --output=c:\Salida.xml -param=date://node[1][email protected] --p=title:cadenasinespacios -param=title:"'cadena con espacios'" --p=amount:456 c:\Test.xslt
streaming
--streaming = true|false
Habilita la transmisión por secuencias. En el modo de transmisión por secuencias, el
almacenamiento de datos en memoria se reduce al mínimo y el procesamiento es más
rápido. El inconveniente es que puede que no esté disponible cierta información que podría
necesitar más adelante, como el modelo de datos del documento XML, por ejemplo. Si
quiere evitar esto, debería deshabilitar el modo de transmisión por secuencias (dándole el
valor false a la opción --streaming). Cuando use la opción --script con el comando
valxml-withxsd, aconsejamos deshabilitar la transmisión por secuencias. Recuerde que la
opción --streaming se ignora, si el valor de --parallel-assessment es true.
Valor predeterminado: true.
Nota: si no se especifica un valor para la opción, el valor booleano de la opción se establece
en true.
template-entry-point
--template-entry-point = VALOR
Indica el nombre de una plantilla con nombre de la hoja de estilos XSLT que sirve de punto
de entrada de la transformación.
template-mode
--template-mode = VALOR
Especifica el modo de plantilla que debe usarse para la transformación.
xslt-version
--xslt-version = 1|1.0|2|2.0|3|3.0
Especifica si el procesador XSLT debe usar XSLT 1.0, XSLT 2.0 o XSLT 3.0. Valor
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz de la línea de comandos (ILC)
Opciones
141
predeterminado: 3
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
Altova RaptorXML Server 2015
Interfaz HTTP
144
Interfaz HTTP
4
Interfaz HTTP
RaptorXML Server acepta trabajos de validación suministrados por HTTP. La descripción del
trabajo así como los resultados se intercambian en formato JSON. El diagrama que aparece a
continuación muestra el flujo de trabajo.
Problemas de seguridad relacionados con la interfaz HTTP
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
145
La interfaz HTTP permite por defecto escribir documentos de resultados en
cualquier ubicación indicada por el cliente (y a la que se pueda acceder con el
protocolo HTTP). Por tanto, es importante tener en cuenta este aspecto de
seguridad cuando instale y configure RaptorXML Server.
Si le preocupa que esto pueda comprometer la seguridad de su sistema o que
la interfaz se utilice de forma incorrecta, puede configurar el servidor para que
escriba los documentos de resultados en un directorio de salida específico del
servidor mismo. Esto se consigue estableciendo el valor false para la opción
server.unrestricted-filesystem-access del archivo de configuración del
servidor. Si se limita así el acceso, el cliente puede descargar los documentos
de resultados del directorio de salida específico mediante solicitudes GET. Otra
opción es que el administrador copie/cargue los documentos de resultados del
servidor en la ubicación de destino.
Secciones de este tema
Antes de enviar una solicitud cliente, RaptorXML Server debe iniciarse y configurarse
correctamente. Esto se explica en la sección Preparar el servidor, mientras que la sección
Solicitudes cliente describe cómo se envían solicitudes clientes al servidor.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
146
Interfaz HTTP
4.1
Preparar el servidor
Preparar el servidor
Siga las instrucciones que aparecen a continuación para preparar correctamente RaptorXML
Server. Recuerde que antes debe instalarlo y asignarle licencias.
1.
2.
3.
4.
Para poder acceder a RaptorXML Server por HTTP antes debe iniciarlo como servicio o
como aplicación. Hay varias formas de hacerlo, dependiendo del sistema operativo: en
Windows, en Linux, en Mac OS X.
Utilice la configuración inicial del servidor para probar la conexión con el servidor. (La
configuración inicial del servidor es la configuración predeterminada que viene con la
instalación). Puede usar una simple solicitud HTTP GET como http://localhost:8087/
v1/version para probar la conexión. (La solicitud también se puede escribir
directamente en la barra de dirección del explorador). Si el servicio está en ejecución,
debería recibir una respuesta a la solicitud HTTP de prueba.
Revise el archivo de configuración del servidor, server_config.xml. Si quiere cambiar
alguna opción de configuración, edite el archivo y guarde los cambios.
Si editó el archivo de configuración del servidor, reinicie RaptorXML Server como servicio
para que se aplique la nueva configuración. Pruebe la conexión otra vez para asegurarse
de que el servicio está en ejecución y se puede acceder a él.
Nota: los errores de inicio del servidor, el archivo de configuración utilizado y los errores de
licencia se registran en el registro del sistema. Por tanto, si tiene problemas con el servidor,
consulte el registro del sistema.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
4.1.1
Preparar el servidor
147
Iniciar el servidor
Temas de este apartado:
Ubicación del ejecutable del servidor
Iniciar RaptorXML como servicio (Windows)
Iniciar Raptor XML como servicio (Linux)
Iniciar RaptorXML como servicio (Mac OS X)
Ubicación del ejecutable del servidor
El ejecutable de RaptorXML Server se instala por defecto en esta carpeta:
<CarpetaArchivosProgramas>\Altova\RaptorXMLServer2015\bin\RaptorXML.exe
Puede usar este ejecutable para iniciar RaptorXML Server como servicio.
Iniciar RaptorXML como servicio en Windows
Durante el proceso de instalación se registra RaptorXML Server como servicio en Windows, pero
después debe iniciarlo como servicio. Tiene varias opciones:
Con Altova ServiceController, disponible en la bandeja del sistema. Si el icono de Altova
ServiceController no aparece en la bandeja del sistema, haga clic en el menú Inicio y
seleccione Todos los programas | Altova | Altova LicenseServer | Altova
ServiceController.
Con la consola de gestión de servicios de Windows: Panel de control | Todos los
elementos de Panel de control | Herramientas administrativas | Servicios.
Iniciando el símbolo del sistema con derechos de administrador y usando este comando
en cualquier directorio: net start "Altova RaptorXML Server"
Con el ejecutable de RaptorXML Server en una ventana del símbolo del sistema:
RaptorXMLServer.exe debug. Esto inicia el servidor y la información de actividad del
servidor aparece directamente en la ventana del símbolo del sistema. Para ver/ocultar
esta información, modifique la opción http.log-screen del archivo de configuración del
servidor. Para detener el servidor, pulse Ctrl+Interrumpir (o Ctrl+Pausa). Cuando el
servidor se inicia de esta forma, el servidor se detiene cuando se cierra la consola de la
línea de comandos o cuando el usuario cierra sesión.
Iniciar RaptorXML como servicio en Linux
Utilice este comando para iniciar RaptorXML Server como servicio:
[Debian]
[Ubuntu]
[CentOS]
[RedHat]
© 2015 Altova Gmb H
sudo
sudo
sudo
sudo
/etc/init.d/raptorxmlserver start
initctl start raptorxmlserver
initctl start raptorxmlserver
initctl start raptorxmlserver
Altova RaptorXML Server 2015
148
Interfaz HTTP
Preparar el servidor
Si necesita detener RaptorXML Server, utilice este otro comando:
[Debian]
[Ubuntu]
[CentOS]
[RedHat]
sudo
sudo
sudo
sudo
/etc/init.d/raptorxmlserver stop
initctl stop raptorxmlserver
initctl stop raptorxmlserver
initctl stop raptorxmlserver
Iniciar RaptorXML como servicio en Mac OS X
Utilice este comando para iniciar RaptorXML Server como servicio:
sudo launchctl load /Library/LaunchDaemons/
com.altova.RaptorXMLServer2015.plist
Si necesita detener RaptorXML Server, utilice este otro comando:
sudo launchctl unload /Library/LaunchDaemons/
com.altova.RaptorXMLServer2015.plist
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
4.1.2
Preparar el servidor
149
Probar la conexión
Temas de este apartado:
Solicitud GET para probar la conexión
Respuesta del servidor y ejemplo de datos JSON
Solicitud GET para probar la conexión
Tras iniciar RaptorXML Server puede probar la conexión con ayuda de una solicitud GET. También
puede escribir la solicitud en la barra de dirección del explorador.
http://localhost:8087/v1/version
Nota:
la interfaz y el número de puerto de RaptorXML Server se especifican en el archivo de
configuración del servidor, server_config.xml, que se describe en el apartado
Configurar el servidor.
Respuesta del servidor y ejemplo de datos JSON
Si el servicio está en ejecución y el servidor está configurado correctamente, la solicitud no
debería dar ningún error. RaptorXML Server devuelve información sobre su número de versión en
forma de datos JSON:
{
"copyright": "Copyright (c) 1998-2013 Altova GmbH. ...",
"name": "Altova RaptorXML+XBRL Server 2013 rel. 2 sp1",
"eula": "http://www.altova.com/server_software_license_agreement.html"
}
Nota:
si modifica la configuración del servidor (al editar el archivo de configuración del servidor),
recomendamos que pruebe la conexión una vez más.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
150
Interfaz HTTP
4.1.3
Configurar el servidor
Preparar el servidor
Temas de este apartado:
Archivo de configuración del servidor:
Archivo de configuración del servidor:
configuración inicial
Archivo de configuración del servidor:
Archivo de configuración del servidor:
Configurar la dirección del servidor
configuración inicial
modificar configuración inicial, volver a la
ejemplo y opciones de configuración
descripción de las opciones de configuración
Archivo de configuración del servidor: configuración inicial
RaptorXML Server se configura por medio de un archivo de configuración llamado
server_config.xml, que se coloca por defecto en esta carpeta:
C:\Program Files (x86)\Altova\RaptorXMLServer2015\etc\server_config.xml
La configuración inicial para RaptorXML Server define:
El número de puerto 8087 como puerto del servidor
Que el servidor solamente escucha a conexiones locales (localhost).
Que el servidor escribe los resultados en la carpeta C:\ProgramData\Altova
\RaptorXMLServer2015\Output\.
Las demás opciones de configuración predeterminadas aparecen más abajo en el fragmento del
archivo de configuración server_config.xml.
Archivo de configuración del servidor: modificar o volver a la configuración
inicial
Si quiere cambiar la configuración inicial, edite el archivo de configuración del servidor
server_config.xml (ver más abajo), guárdelo y después reinicie RaptorXML Server como
servicio.
Si quiere recrear el archivo de configuración original (para volver a la configuración inicial), ejecute
el comando createconfig:
RaptorXML.exe createconfig
Al ejecutar este comando, el archivo de configuración inicial se recrea y sobrescribe el archivo
server_config.xml. Por tanto, el comando createconfig sirve para devolver al servidor a su
configuración inicial de fábrica.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
Preparar el servidor
151
Archivo de configuración: opciones y ejemplo
A continuación puede ver el archivo de configuración del servidor server_config.xml en su
versión original. Las opciones de configuración se explican más abajo.
server_config.xml
<config xmlns="http://www.altova.com/schemas/altova/raptorxml/config"
xsi:schemaLocation="http://www.altova.com/schemas/altova/raptorxml/config
http://www.altova.com/schemas/altova/raptorxml/config.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<language>en</language>
<server.default-script-api-version>1</server.default-script-api-version>
<server.unrestricted-filesystem-access>true</server.unrestricted-filesystemaccess>
<server.output-root-dir>C:\ProgramData\Altova\RaptorXMLServer2015\Output\</
server.output-root-dir>
<server.script-root-dir>C:\Program Files (x86)\Altova\RaptorXMLServer2015\etc
\scripts\</server.script-root-dir>
<!--<server.catalog-file>catalog.xml</server.catalog-file>-->
<server.log-file>C:\ProgramData\Altova\RaptorXMLServer2015\Log\server.log</
server.log-file>
<http.environment>production</http.environment>
<!--<http.socket-host>localhost</http.socket-host>-->
<http.socket-port>8087</http.socket-port>
<http.log-screen>true</http.log-screen>
<http.access-file>C:\ProgramData\Altova\RaptorXMLServer2015\Log\access.log</
http.access-file>
<http.error-file>C:\ProgramData\Altova\RaptorXMLServer2015\Log\error.log</
http.error-file>
</config>
Opciones de configuración
language
Define el idioma de los mensajes del servidor, en el elemento opcional language. El valor
predeterminado es es (español) y los valores permitidos son en|de|es|ja (inglés, alemán,
español y japonés respectivamente). Para aprender a localizar (=traducir) RaptorXML, consulte el
apartado Comandos de localización.
server.default-script-api-version
Default Python API version used to run Python scripts. By default the newest version of the
Python API is used. Currently supported values are 1 and 2.
server.unrestricted-filesystem-access
Si el valor es true (valor predeterminado), los archivos de salida se escriben directamente en la
ubicación especificada por el cliente y en los scripts Python (y posiblemente sobrescriben los
archivos ya existentes del mismo nombre). Si el valor es false, los archivos se escriben en el
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
152
Interfaz HTTP
Preparar el servidor
directorio del trabajo del directorio de salida y el URI del archivo se incluye en el documento de
resultados. Por tanto, el valor false aporta mayor seguridad, porque los archivos solo se pueden
escribir en el disco en un directorio del trabajo especializado y conocido. Los archivos de salida
del trabajo se pueden copiar después en otras ubicaciones.
server.output-root-dir
Directorio en el que se guardan los documentos de salida de todos los trabajos.
server.script-root-dir
Directorio en el que se deben guardar los scripts Python de confianza. Cuando se usa con la
interfaz HTTP, la opción script solamente funciona si se utilizan scripts del directorio de
confianza. Si especifica un script Python de otro directorio, se produce un error. Para más
información consulte el apartado Trabajar con scripts Python seguros.
server.catalog-file
La URL del archivo de catálogo XML que se debe usar. El archivo de catálogo RootCatalog.xml
está por defecto en la carpeta <CarpetaArchivosProgramas>\Altova\RaptorXMLServer2015
\etc. Solamente debe utilizar la opción server.catalog-file si quiere cambiar de archivo
catálogo.
server.log-file
Nombre y ubicación del archivo de registro del servidor. Los eventos del servidor, como Se inició/
Se detuvo el servidor, se registran continuamente en el registro de eventos del servidor y
aparecen en un visor de eventos del sistema, como el visor de eventos de Windows. Además, los
mensajes del registro se pueden escribir en el archivo indicado por medio de la opción
server.log-file. El archivo de registro del servidor, por tanto, contiene información sobre todas
las actividades del servidor, incluidos los errores de inicio del servidor, el archivo de configuración
utilizado y los errores de licencia.
http.environment
Entornos internos de raptorxml: production | development. El entorno de desarrollo
development está enfocado a los requisitos de los desarrolladores y permite realizar tareas de
depuración con mayor facilidad que el entorno de producción production.
http.socket-host
Interfaz por la que se accede a RaptorXML Server. Si quiere que RaptorXML Server acepte
conexiones desde equipos remotos, quite la marca de comentario de este elemento y defina su
contenido como 0.0.0.0, es decir: <http.socket-host>0.0.0.0</http.socket-host>. Esto
almacena el servicio en cada interfaz direccionable del equipo servidor. En este caso, compruebe
que las opciones del servidor de seguridad están configuradas correctamente. Las excepciones
de entrada del servidor de seguridad para los productos de Altova deben registrarse de la
siguiente manera:
Altova LicenseServer: puerto 8088
Altova RaptorXML Server: puerto 8087
Altova FlowForce Server: puerto 8082
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
Preparar el servidor
153
http.socket-port
El puerto por el que se accede al servicio. El puerto debe ser fijo y conocido para que las
solicitudes HTTP se puedan direccionar correctamente al servicio.
http.log-screen
Si inició RaptorXML Server con el comando RaptorXMLServer.exe debug, (ver Iniciar el servidor)
y el valor de http.log-screen es true,
la actividad del servidor aparece en la consola de la línea de comandos. De lo contrario, la
actividad del servidor no se muestra en la consola. Además de aparecer en pantalla, la actividad
se registra en archivos de registro.
http.access-file
Nombre y ubicación del archivo de acceso HTTP. El archivo de acceso contiene información
sobre la actividad relacionada con el acceso que puede ayudarle a resolver posibles problemas de
conexión.
http.error-file
Nombre y ubicación del archivo de errores HTTP. El archivo de errores contiene errores
relacionados con el tráfico entrante y saliente del servidor. Si hay problemas de conexión, este
archivo puede ayudarle a resolverlos.
La dirección de RaptorXML Server
La dirección HTTP del servidor está formada por el host y el puerto del socket:
http://{socket-host}:{socket-puerto}/
La dirección de la configuración inicial es:
http://localhost:8087/
Para cambiar de dirección, cambie las opciones http.socket-host y http.socket-port
del archivo de configuración del servidor server_config.xml. Por ejemplo, si el equipo
servidor tiene la dirección IP 100.60.300.6 y se cambiaron las opciones de configuración
por:
< http.socket-host>0.0.0.0</http.socket-host>
< http.socket-port>8087</http.socket-port>
Puede dirigirse a RaptorXML Server con:
http://100.60.300.6:8087/
Nota:
tras modificar el archivo de configuración del servidor server_config.xml, es necesario
reiniciar RaptorXML Server para que los cambios se apliquen.
Nota:
si tiene problemas para conectarse con RaptorXML Server, puede que los archivos
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
154
Interfaz HTTP
Preparar el servidor
http.access-file y http.error-file le ayuden a resolver el problema.
Nota:
los mensajes enviados a RaptorXML Server deben incluir nombres de ruta de acceso
válidos en el equipo servidor. A los documentos del equipo servidor se puede acceder de
forma local o remota (en el último caso mediante URI HTTP, por ejemplo).
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
4.2
Solicitudes cliente
155
Solicitudes cliente
Tras iniciar RaptorXML Server como servicio, podrá acceder a sus funciones cualquier cliente
HTTP que pueda:
usar los métodos HTTP GET, PUT, POST y DELETE
establecer el campo de encabezado Content-Type
Un sencillo cliente HTTP
Hay varios clientes web que puede descargar de Internet, pero el cliente web RESTClient de
Mozilla es sencillo y fiable y se puede añadir como complemento de Firefox. Es fácil de
instalar, es compatible con los métodos HTTP necesarios para trabajar con RaptorXML y
ofrece funciones de color de sintaxis JSON. Si no tiene experiencia con clientes HTTP,
recomendamos trabajar con RESTClient. No obstante, la instalación y el uso del cliente
RESTClient corre por su cuenta y riesgo.
Una solicitud cliente normal suele estar formada por varios pasos, como muestra el diagrama
siguiente.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
156
Interfaz HTTP
Solicitudes cliente
A continuación destacamos los aspectos más importantes de cada paso, señalando en negrita
los términos más importantes.
1.
Los métodos HTTP POST se utilizan para realizar una solicitud y el cuerpo de la solicitud
está en formato JSON. La solicitud puede ser para cualquier función de RaptorXML
Server. Por ejemplo, la solicitud puede ser para una validación o una transformación
XSLT. Los comandos, los argumentos y las opciones utilizados en la solicitud son los
mismos que los de la línea de comandos. La solicitud se envía a http://
localhost:8087/v1/queue, si suponemos que localhost:8087 es la dirección de
RaptorXML Server (la dirección inicial del servidor). Dicha solicitud recibe el nombre de
trabajo de RaptorXML Server.
2.
Si RaptorXML Server recibe y acepta procesar la solicitud, después de procesar el
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
Solicitudes cliente
157
trabajo se genera un documento de resultados que contiene los resultados de la
acción del servidor. El URI de este documento de resultados (ver URI-doc-resultante
en el diagrama anterior), se devuelve al cliente. Recuerde que el URI se devolverá
inmediatamente después de que se acepte procesar el trabajo (después de que se ponga
en la cola) e incluso si el procesamiento no ha terminado.
3.
El cliente envía al servidor una solicitud para el documento de resultados (usando el URI
del documento de resultados) en un método GET. Si todavía no empezó el procesamiento
del trabajo o si, cuando se recibe la solicitud, el procesamiento continúa, el servidor
devuelve el estado En ejecución. La solicitud GET debe repetirse hasta que el
procesamiento del trabajo haya finalizado y se haya creado el documento de resultados.
4.
RaptorXML Server devuelve el documento de resultados en formato JSON. El documento
de resultados puede contener los URI de los documentos de errores o de salida
generados por RaptorXML Server al procesar la solicitud inicial. Por ejemplo, si una
validación devuelve errores, se devuelve un registro de errores. Los documentos de salida
principales, como el resultado de la transformación XSLT, se devuelven si el trabajo
generador de resultados finaliza correctamente.
5.
El cliente envía al servidor los URI de los documentos de salida recibidos en el paso nº4
a través de un método HTTP GET. Cada solicitud se envía en un método GET distinto.
6.
RaptorXML Server devuelve los documentos solicitados en respuesta a las solicitudes
GET realizadas en el paso nº5.
7.
El cliente puede eliminar del servidor documentos no deseados generados como
resultado de una solicitud de trabajo. Esto se hace enviando en un método HTTP DELETE
el URI del documento de resultados en cuestión. Se eliminan del disco todos los archivos
relacionados con dicho trabajo. Esto incluye el documento de resultados, los archivos
temporales, los documentos de errores y los documentos de salida. Este paso es muy
práctico si quiere liberar espacio en el disco duro del servidor.
Todos estos pasos se describen con más detalle en los apartados de esta sección.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
158
Interfaz HTTP
Solicitudes cliente
4.2.1
Iniciar trabajos con POST
Temas de este apartado:
Enviar la solicitud
Sintaxis JSON para solicitudes POST
Cargar archivos con la solicitud POST
Enviar la solicitud
Los trabajos de RaptorXML Server se inician con el método HTTP POST.
Método
HTTP
URI
Campo de
encabezado
Content-Type
Cuerpo
POST
http://localhost:8087/v1/
queue/
application/json
JSON
Observe que:
El URI de la tabla tiene una dirección de servidor que utiliza las opciones de la
configuración inicial.
El URI tiene una ruta de acceso /v1/queue/, que debe estar presente en el URI. Puede
entenderse como una carpeta abstracta en memoria y en ella se coloca el trabajo.
El número de versión /vN es el que devuelve el servidor (no necesariamente el que
aparece en esta documentación). El número que devuelve el servidor es el número de
versión de la interfaz HTTP actual. Los números de versión anteriores indican versiones
antiguas de la interfaz HTTP y se admiten para garantizar la compatibilidad con versiones
anteriores.
El encabezado debe incluir el campo: Content-Type: application/json. Sin embargo,
si quiere cargar archivos dentro del cuerpo de la solicitud POST, el encabezado del
mensaje debe tener el tipo de contenido multipart/form-data (es decir, ContentType: multipart/form-data). Para más información consulte el apartado Cargar
archivos con la solicitud POST.
El cuerpo de la solicitud debe estar en formato JSON.
Los archivos que desea procesar deben estar en el servidor. Por tanto, debe copiar los
archivos al servidor antes de realizar la solicitud o cargarlos junto con la solicitud POST.
En este último caso, el encabezado del mensaje debe tener el tipo de contenido
multipart/form-data. Para más información consulte el apartado Cargar archivos con
la solicitud POST.
Esta sería la solicitud en formato JSON para comprobar si un archivo XML tiene un formato
correcto:
{
"command": "wfxml", "args": [ "file:///c:/Test/Report.xml" ]
}
Los comandos, sus argumentos y sus opciones se documentan en la sección Interfaz de la línea
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
Solicitudes cliente
159
de comandos.
Sintaxis JSON para solicitudes HTTP POST
{
"command": "Nombre-Comando",
"options": {"opción1": "opción1-valor", "opción2": "opción2-valor"},
"args"
: ["file:///c:/nombreArchivo1", "file:///c:/nombreArchivo2"]
}
El texto de color negro es obligatorio y debe incluirse. Esto incluye todas las llaves,
comillas, dos puntos, comas y corchetes. Los espacios en blanco se pueden
normalizar.
El texto de color azul en cursiva son marcadores de posición para nombres de
comandos, opciones, valores de opciones y valores de argumentos. Para más
información consulte la sección Interfaz de la línea de comandos.
Las claves command y args son obligatorias. La opción options es opcional. Algunas
claves options tienen valores predeterminados. Por tanto, de todas estas opciones,
solamente debe especificar aquellas cuyos valores predeterminados desee cambiar.
Todas las cadenas de texto deben ir entre comillas dobles. Los valores booleanos y los
números no necesitan ir entre comillas. El uso correcto sería {"error-limit":
"unlimited"} y {"error-limit": 1}.
Es recomendable usar los URI de archivo y no sus rutas de acceso. Recuerde que los
URI usan barras diagonales, mientras que las rutas de acceso usan barras diagonales
inversas. Además, en Windows es necesario añadir caracteres de escape a las barras
diagonales inversas de las rutas de acceso (es decir, "c:\\dir\\nombreArchivo").
Por último, recuerde que los URI y las rutas de acceso son cadenas y, por tanto, deben
ir entre comillas.
A continuación puede ver un ejemplo con opciones. Observe que algunas opciones (como input
o xslt-version) toman un valor directo, mientras que otros (como param) toman un par clavevalor y, por tanto, necesitan otra sintaxis.
{
"command": "xslt",
"args": [
"file:///C:/Work/Prueba.xslt"
],
"options": {
"input": "file:///C:/Work/Prueba.xml",
"xslt-version": 1,
"param": {
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
160
Interfaz HTTP
Solicitudes cliente
"key": "miPruebaParam",
"value": "ValorDeParám"
},
"output": "file:///C:/temp/salida2.xml"
}
}
El ejemplo que aparece a continuación muestra otro tipo de opción más: una matriz de valores
(como en la opción xsd del ejemplo). En casos así, debe usar la sintaxis de una matrix JSON.
{
"command": "xsi",
"args": [
"file:///C:/Work/Prueba.xml"
],
"options": {
"xsd" : ["file:///C:/Work/File1.xsd", "file:///C:/Work/
Archivo2.xsd"]
}
}
Cargar archivos con la solicitud POST
Puede cargar los archivos que deben procesarse dentro del cuerpo de la solicitud POST. En este
caso, la solicitud POST debe crearse como se muestra a continuación.
Encabezado de la solicitud
En el encabezado de la solicitud, defina Content-Type: multipart/form-data y especifique
una cadena de texto cualquiera como frontera. Por ejemplo:
Content-Type: multipart/form-data; boundary=---MiFrontera
El objetivo de la frontera es delimitar las diferentes partes form-data del cuerpo de la solicitud
(ver más abajo).
Cuerpo de la solicitud: parte del mensaje
El cuerpo de la solicitud está formado por varias partes form-data, separadas por la cadena de
frontera especificada en el encabezado (ver más arriba):
Partes form-data obligatorias: la parte msg, que especifica la acción de procesamiento
solicitada, y la parte args, que contiene los archivos que deben cargarse como
argumentos del comando especificado en la parte msg. (Ver ejemplo que aparece más
abajo).
Parte form-data opcional: la parte additional_files contiene los archivos a los que se
hace referencia desde las partes form-data obligatorias msg y args. Además, las
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
Solicitudes cliente
161
partes form-data con nombre de opción de comando también pueden incluir archivos
para cargar.
Nota:
todos los archivos cargados se crean en el mismo directorio virtual.
A continuación puede ver un ejemplo en el que aparece el cuerpo de una solicitud POST seguida
de una tabla donde se explican todas sus partes (que aparecen numeradas). El comando de la
ILC equivalente al comando enviado con esta solicitud sería:
raptorxml xsi Primero.xml Segundo.xml --xsd=Demo.xsd
La solicitud pide validar dos archivos XML con un esquema. El cuerpo de la solicitud tendría este
aspecto, si imaginamos que en el encabezado se especificó la cadena de frontera --FronteraDeParte (ver más arriba).
---FronteraDeParte
Content-Disposition: form-data; name="msg"
Content-Type: application/json
1
{"command": "xsi", "options": {}, "args": []}
2
---FronteraDeParte
Content-Disposition: attachment; filename="Primero.xml"; name="args"
Content-Type: application/octet-stream
3
<?xml version="1.0" encoding="UTF-8"?>
<test xsi:noNamespaceSchemaLocation="Demo.xsd" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance">42</test>
4
---FronteraDeParte
Content-Disposition: attachment; filename="Segundo.xml"; name="args"
Content-Type: application/octet-stream
5
<?xml version="1.0" encoding="UTF-8"?>
<test xsi:noNamespaceSchemaLocation="Demo.xsd" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance">35</test>
6
7
---FronteraDeParte
Content-Disposition: attachment; filename="Demo.xsd";
name="additional_files"
Content-Type: application/octet-stream
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="test" type="xs:int"/>
</xs:schema>
---FronteraDeParte--
© 2015 Altova Gmb H
8
9
Altova RaptorXML Server 2015
162
Interfaz HTTP
Solicitudes cliente
1
El nombre de las fronteras de las principales partes form-data se declaran en el
encabezado de la solicitud. La primera parte form-data (de este ejemplo) es la parte
msg. Observe que su tipo de contenido es application/json.
2
Esta es la sintaxis estándar para solicitudes HTTP POST. Si args contiene una
referencia a un archivo y se cargaron más archivos, ambos grupos de archivos se pasan
al servidor.
3
El primer miembro de la matriz args es un archivo adjunto llamado Primero.xml.
4
El texto del archivo Primero.xml. Contiene una referencia a un esquema llamado
Demo.xsd, que también se cargará (en la parte form-data additional_files).
5
El segundo miembro de la matriz args es un archivo adjunto llamado Segundo.xml.
6
El texto del archivo Segundo.xml. También contiene una referencia al esquema
Demo.xsd (ver el punto 7).
7
El final del último miembro de la matriz args (y por tanto de la matriz propiamente dicha)
se indica añadiendo el sufijo '--' a la cadena de frontera de args.
8
El texto del archivo Demo.xsd.
9
El final de la parte additional_files.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
4.2.2
Solicitudes cliente
163
Respuesta del servidor a solicitudes POST
Temas de este apartado:
Posibles respuestas del servidor
Respuesta: Error de solicitud, sin respuesta del servidor
Respuesta: Se comunicó la solicitud, pero el servidor rechazó el trabajo
Respuesta: Se ejecutó el trabajo (con resultados positivos o negativos)
Cuando la solicitud POST se realiza correctamente, el trabajo se coloca en la cola de trabajos
del servidor y se devuelve un mensaje 201 Creado y el URI del documento de resultados. El
trabajo se procesará lo antes posible. Mientras tato, si se solicita el documento de resultados, se
devuelve el mensaje "estado": "En ejecución" (si el trabajo está sin completar) o el mensaje
"estado": " Distribuido" (si el trabajo está en la cola del servidor pero todavía no se inició).
El resultado del trabajo (por ejemplo, de un trabajo de validación) puede ser negativo ("Failed") o
positivo ("OK"). En ambos casos se devuelve el mensaje 201 Creado y se genera el documento
de resultados. También puede ocurrir que la solicitud POST no se comunique al servidor (Error de
solicitud) o que se comunique al servidor pero este la rechace (Se comunicó la solicitud, pero el
servidor rechazó el trabajo). Todas las posibles respuestas del servidor se resumen en este
diagrama:
Las posibles respuestas a la solicitud POST del cliente son:
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
164
Interfaz HTTP
Solicitudes cliente
Error de solicitud, no hay respuesta del servidor
Cuando la solicitud se envía al servidor, los errores más comunes son:
Mensaje
Motivo
404 No se encontró (la
ruta)
La ruta de acceso correcta es http://localhost:8087/v1/
405 Método no permitido
El método especificado para este recurso no es válido. Utilice el
método POST.
415 Tipo de medio no
compatible
El encabezado del mensaje debería ser ContentType:application/json.
queue/
Se comunicó la solicitud, pero el servidor rechazó el trabajo
Cuando la solicitud se envía al servidor, este puede rechazarla por varios motivos:
Mensaje
Motivo
400 Solicitud incorrecta
(comando malo)
El comando de RaptorXML no es correcto.
400 Solicitud incorrecta
(error de JSON)
Hay un error de sintaxis JSON en el cuerpo de la solicitud.
404 No se encontró (el
archivo)
Revise la sintaxis del URI (o ruta) de archivo de todos los archivos
nombrados en el comando.
El trabajo se ejecutó (con resultados negativos o positivos)
Cuando se ejecuta un trabajo (por ejemplo, un trabajo de validación) su resultado puede ser
positivo (OK) o negativo (Failed). Por ejemplo, el resultado de un trabajo de validación es positivo
(OK) cuando el documento es válido y negativo (Failed) cuando el documento no es válido.
En ambos casos se ejecuta el trabajo, pero los resultados obtenidos son diferentes. En ambos
casos se devuelve el mensaje 201 Creado en cuanto el trabajo se coloca en la cola de trabajos
del servidor. Además, en ambos casos se devuelve un URI de documento de resultados al cliente
HTTP que hizo la solicitud. (Puede que el documento de resultados propiamente dicho no exista
aún si el procesamiento del trabajo no comenzó/finalizó). Una vez creado el documento de
resultados, puede recuperarlo con una solicitud HTTP GET. Además del documento de resultados
se generan algunos documentos más:
Trabajo ejecutado. Resultado 'Failed': se crea un registro de errores en tres formatos,
texto, XML largo y XML corto. Los URI de estos tres documentos se envían en el
documento de resultados (que está en formato JSON). Los URI se pueden usar en una
solicitud HTTP GET para recuperar los documentos de errores.
Trabajo ejecutado. Resultado 'OK': el trabajo se procesa correctamente y se crean
documentos de salida (por ejemplo, los de una transformación XSLT). Si se generan
archivos de salida, sus URI se incluyen en el documento de resultados. Estos URI se
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
Solicitudes cliente
165
pueden usar en una solicitud HTTP GET para recuperar los documentos. Recuerde que no
todos los trabajos tienen archivos de salida (por ejemplo, los trabajos de validación).
Además, un trabajo puede terminar con un resultado positivo pero generar advertencias y
otros mensajes en los archivos de errores. En este caso, los URI de los archivos de
errores también se envían en el documento de resultados.
Para más información sobre estos documentos y cómo acceder a ellos consulte los apartados
Obtener el documento de resultados y Obtener documentos de errores y de salida.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
166
Interfaz HTTP
4.2.3
Obtener el documento de resultados
Solicitudes cliente
Temas de este apartado:
El URI del documento de resultados
Recuperar el documento de resultados
Documento de resultados con los URI de los documentos de errores
Documento de resultados con los URI de los documentos de salida
Documento de resultados sin URI
Acceder a los documentos de salida y de errores enumerados en el documento de
resultados
El URI del documento de resultados
Cada vez que se crea un trabajo se genera un documento de resultados, independientemente de
si el resultado del trabajo (p. ej. un trabajo de validación) es positivo (el documento es válido) o
negativo (el documento no es válido). En ambos casos se devuelve un mensaje 201 Creado. Este
mensaje está en formato JSON y contiene el URI relativo del documento de resultados. Por
ejemplo:
{
"result": "/v1/results/E6C4262D-8ADB-49CB-8693-990DF79EABEB",
"jobid": "E6C4262D-8ADB-49CB-8693-990DF79EABEB"
}
El objeto result contiene el URI relativo del documento de resultados. El URI es relativo a la
dirección del servidor. Por ejemplo, si la dirección del servidor es http://localhost:8087/ (la
dirección según la configuración inicial), el URI ampliado del documento de resultados anterior
sería:
http://localhost:8087/v1/results/E6C4262D-8ADB-49CB-8693-990DF79EABEB
Nota:
el número de versión /vN es el que devuelve el servidor (no necesariamente el de esta
documentación). El número que devuelve el servidor es el número de versión de la interfaz
HTTP actual. Los números de versión antiguos indican versiones previas de la interfaz
HTTP, que se admiten para garantizar la compatibilidad con versiones previas.
Recuperar el documento de resultados
Para obtener el documento de resultados puede enviar el URI ampliado del documento (ver más
arriba) en una solicitud HTTP GET. Se devuelve el documento de resultados, que puede ser de
tres tipos (ver más abajo).
Nota:
si el trabajo se coloca en la cola del servidor, este devuelve el URI del documento de
resultados. Si el cliente solicita el resultado antes de que comience el trabajo (si todavía
está en la cola), se devuelve el mensaje "estado": "Distribuido". Si el trabajo se
inició pero no terminó todavía (porque es un trabajo grande, por ejemplo), se devuelve el
mensaje "estado": "En ejecución". En ambos casos el cliente debe esperar un poco
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
Solicitudes cliente
167
para volver a solicitar el documento de resultados.
Nota:
en los ejemplos que aparecen a continuación se entiende que hay acceso de cliente
restringido. Es decir, se entiende que los documentos de errores, mensajes y de salida
se guardan en el directorio correspondiente del servidor. Los URI de estos documentos
en el documento de resultados son, por tanto, URI relativos. Ninguno de ellos es un URI
de archivo (como el que se generaría con acceso de cliente no restringido). Para más
información consulte el siguiente apartado de esta sección.
Documento de resultados con los URI de los documentos de errores
Si el trabajo solicitado termina con el estado Failed, el trabajo devuelve un resultado negativo.
Por ejemplo, un trabajo de validación devuelve un resultado de documento no válido. Los errores
detectados durante la ejecución del trabajo se almacenan en registros de errores, creados en tres
formatos de archivo: (i) texto, (ii) XML largo (registro detallado) y (iii) XML corto (registro menos
detallado).
{
"jobid": "6B4EE31B-FAC9-4834-B50A-582FABF47B58",
"state": "Failed",
"error":
{
"text": "/v1/results/6B4EE31B-FAC9-4834-B50A-582FABF47B58/error/error.txt",
"longxml": "/v1/results/6B4EE31B-FAC9-4834-B50A-582FABF47B58/error/
long.xml",
"shortxml": "/v1/results/6B4EE31B-FAC9-4834-B50A-582FABF47B58/error/
short.xml"
},
"jobs":
[
{
"file": "file:///c:/Test/ExpReport.xml",
"jobid": "20008201-219F-4790-BB59-C091C276FED2",
"output":
{
},
"state": "Failed",
"error":
{
"text": "/v1/results/20008201-219F-4790-BB59-C091C276FED2/error/
error.txt",
"longxml": "/v1/results/20008201-219F-4790-BB59-C091C276FED2/error/
long.xml",
"shortxml": "/v1/results/20008201-219F-4790-BB59-C091C276FED2/error/
short.xml"
}
}
]
}
Es importante destacar que:
Los trabajos tienen trabajos subordinados.
Los errores de los trabajos subordinados se propagan al trabajo de nivel superior. Es
decir, el estado del trabajo solamente puede ser OK si el de los trabajos subordinados
también lo es.
Cada trabajo y trabajo subordinado tiene su registro de errores.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
168
Interfaz HTTP
Solicitudes cliente
Los registros de errores incluyen advertencias. Es decir, incluso si el trabajo tiene el
estado OK, puede haber archivos de errores.
Los URI de los archivos de errores son relativos a la dirección del servidor (ver más
arriba).
Documento de resultados con los URI de los documentos de salida
Si el trabajo solicitado termina con el estado OK, el trabajo devuelve un resultado positivo. Por
ejemplo, un trabajo de validación devuelve un resultado de documento válido. Si el trabajo generó
un documento de salida (por ejemplo, como resultado de una transformación XSLT), se devuelve
el URI del documento de salida.
{
"jobid": "5E47A3E9-D229-42F9-83B4-CC11F8366466",
"state": "OK",
"error":
{
},
"jobs":
[
{
"file": "file:///c:/Test/SimpleExample.xml",
"jobid": "D34B5684-C6FF-4A7A-BF35-EBB9A8A8C2C8",
"output":
{
"xslt-output-file":
[
"/v1/results/D34B5684-C6FF-4A7A-BF35-EBB9A8A8C2C8/output/test.html"
]
},
"state": "OK",
"output-mapping":
{
"/v1/results/D34B5684-C6FF-4A7A-BF35-EBB9A8A8C2C8/output/1": "file:///
c:/temp/test.html"
},
"error":
{
}
}
]
}
Es importante destacar que:
El archivo de salida se crea en la carpeta output del trabajo. Puede usar su URI relativo
para acceder al archivo.
Los URI de los archivos de salida son relativos a la dirección del servidor (ver más arriba).
El elemento output-mapping asigna el documento de salida del directorio del trabajo del
servidor a la ubicación de archivo especificada por el cliente en la solicitud. Recuerde que
solo tienen una asignación los documentos de salida especificados por el cliente en la
solicitud. Los archivos relacionados con el trabajo generados por el servidor (como los
archivos de errores) no tienen ninguna asignación.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
Solicitudes cliente
169
Documento de resultados sin URI
Si el trabajo solicitado terminó con el estado OK, significa que el trabajo devolvió un resultado
positivo. Por ejemplo, un trabajo de validación devuelve un resultado de documento válido.
Algunos trabajos, como los de validación o de comprobación de formato, no generan documentos
de salida. Si un trabajo de este tipo termina con el estado OK, el documento de resultados
generado no tendrá ni el URI de documento de salida ni el URI del registro de errores.
{
"jobid": "3FC8B90E-A2E5-427B-B9E9-27CB7BB6B405",
"state": "OK",
"error":
{
},
"jobs":
[
{
"file": "file:///c:/Test/SimpleExample.xml",
"jobid": "532F14A9-F9F8-4FED-BCDA-16A17A848FEA",
"output":
{
},
"state": "OK",
"error":
{
}
}
]
}
Observe que:
Tanto los componentes de salida y de error del trabajo subordinado están vacíos en el
ejemplo anterior.
Un trabajo puede terminar con un estado OK, pero con advertencias y otro tipo de
mensajes, que se registran en los archivos de errores. En este caso, el documento de
resultados incluirá el URI de los archivos de errores, aunque el trabajo terminara con el
estado OK.
Acceder a los documentos de errores y de salida enumerados en el
documento de resultados
Puede acceder a los documentos de errores y de salida con solicitudes HTTP GET. Para más
información consulte el siguiente apartado de esta sección.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
170
Interfaz HTTP
4.2.4
Obtener los documentos de salida/errores
Solicitudes cliente
Un documento de resultados puede contener los URI de archivo o los URI relativos de los
documentos de errores, documentos de mensajes (como los registros) y documentos de salida.
(En algunos casos el documento de resultados no contiene ningún URI). Los diferentes tipos de
URI se describen más abajo.
Para acceder a estos documentos por HTTP:
1.
2.
Amplíe el URI relativo del archivo del documento de resultados hasta su URI absoluto.
Use el URI ampliado en una solicitud HTTP GET para acceder al archivo.
URI (en el documento de resultados) de los documentos de errores, de
mensajes y de salida
El documento de resultados contiene los URI de los documentos de errores, de mensajes y de
salida. Los documentos de errores y de mensajes están relacionados con el trabajo y los genera
el servidor. Siempre se guardan en el servidor, en el directorio del trabajo. Los documentos de
salida (como los resultantes de transformaciones XSLT) se pueden guardar en una de estas dos
ubicaciones:
En cualquier ubicación de archivo a la que pueda acceder el servidor. Para guardar los
archivos en cualquier ubicación, debe configurar el servidor para permitir acceso no
restringido al cliente (configuración predeterminada).
En el directorio de trabajo del servidor. El servidor se configura para restringir el acceso al
cliente.
Si un cliente especifica que se debe crear un archivo de salida, la ubicación en la que se guarda
el archivo depende de la opción server.unrestricted-filesystem-access del archivo de
configuración del servidor.
Si el acceso no está restringido, el archivo se guardará en la ubicación especificada por
el ciente y el URI devuelto para el documento será un URI de archivo.
Si el acceso está restringido, el archivo se guardará en el directorio del trabajo y su URI
será un URI relativo. Además, se creará una asignación entre este URI relativo y la URL
de archivo especificada por el cliente (ver el ejemplo del apartado Documento de
resultados con los URI de los documentos de salida)
Para resumir, hay 3 tipos de URI:
URI de archivo de los documentos de errores / mensajes
Estos documentos se guardan en el servidor en el directorio del trabajo. Los URI de archivo tienen
este formato:
file:///<dir-raíz-de-salida>/JOBID/mensaje.doc
URI de archivo de los documentos de salida
Estos documentos se guardan en cualquier ubicación. Los URI de archivo tienen este formato:
file:///<ruta-del-archivo>/salida.doc
URI HTTP de los documentos de errores/mensajes/salida
Estos documentos se guardan en el servidor en el directorio del trabajo. Los URI son relativos a la
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz HTTP
Solicitudes cliente
171
dirección del servidor y deben ampliarse a un URI HTTP. Este es su formato:
/vN/results/JOBID/error/error.txt
/vN/results/JOBID/output/verbose.log
/vN/results/JOBID/output/1
para documentos de errores
para documentos de mensajes
para documentos de salida
En el caso de los documentos de salida, se dan las asignaciones de salida (ver fragmento de
ejemplo). Estas asignaciones unen cada URI de documento de salida del documento de
resultados con el documento correspondiente de la solicitud cliente.
Ampliar el URI relativo
Amplíe el URI relativo del documento de resultados a un URI HTTP absoluto añadiendo la
dirección del servidor como prefijo al URI relativo. Por ejemplo, si la dirección del servidor es:
http://localhost:8087/ (la configuración inicial)
y el URI relativo de un archivo de errores del documento de resultados es:
/v1/results/20008201-219F-4790-BB59-C091C276FED2/error/error.txt
entonces la dirección absoluta ampliada será
http://localhost:8087/v1/results/20008201-219F-4790-BB59-C091C276FED2/error/
error.txt
Para más información consulte los apartados Configurar el servidor y Obtener el documento de
resultados.
Utilice una solicitud HTTP GET para acceder a los archivos
Utilice el URI ampliado en una solicitud HTTP GET para obtener el archivo que necesita.
RaptorXML Server devuelve el documento solicitado.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
172
Interfaz HTTP
Solicitudes cliente
4.2.5
Liberar espacio tras el procesamiento
RaptorXML Server guarda en el disco duro el documento de resultados, archivos temporales,
documentos de errores y documentos de salida relacionados con un trabajo. Hay dos maneras
de eliminar estos archivos:
Suministrando el URI del documento de resultados con un método HTTP DELETE. Esto
elimina todos los archivos relacionados con el trabajo indicado con el URI del documento
de resultados, incluidos los documentos de salida y de errores.
Eliminando a mano los archivos del servidor (se necesitan derechos de administrador).
La estructura del URI que debe usar con el método HTTP DELETE aparece a continuación.
Observe que el URI está formado por la dirección del servidor más el URI relativo del documento
de resultados.
Método
HTTP
URI
DELETE
http://localhost:8087/v1/result/D405A84A-AB96-482A-96E74399885FAB0F
Para encontrar el directorio de salida de un trabajo en el disco, construya el URI de esta forma:
[<server.output-root-dir> ver archivo de configuración del servidor] + [IDtrabajo]
Nota:
es posible que se generen muchos documentos de salida y de errores, por lo que
aconsejamos supervisar el uso del disco duro y programar eliminaciones frecuentes, en
función de su entorno y requisitos.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
Interfaz Python
174
Interfaz Python
5
Interfaz Python
La interfaz Python de RaptorXML Server permite acceder y recuperar datos de documentos XML y
esquemas XML a través de diferentes API de Python (para XML y XSD). Los datos de los
documentos de origen que se deben procesar y el método de procesamiento se especifican en
un script Python que se envía a RaptorXML Server.
Las API de Python
Las API de Python (para XML y XSD) ofrecen acceso a metadatos, información estructural y
datos incluidos en documentos XML y XSD. Como resultado, puede crear scripts Python que
utilicen las API para acceder y procesar los datos de estos documentos. Por ejemplo, se puede
enviar un script Python a RaptorXML Server que escriba datos desde un documento XML en una
base de datos o en un archivo CSV.
Las API de Python se describen en estos apartados:
API de Python para XML
API de Python para XSD
Scripts Python
Los scripts Python creados por el usuario se pueden enviar a RaptorXML con el parámetro -script de estos comandos:
valxml-withxsd (xsi)
valxsd (xsd)
Estos comandos que invocan a scripts Python se pueden usar tanto en la interfaz de la línea de
comandos (ILC) como en la interfaz HTTP. El uso de scripts Python dentro de las API de Python
de RaptorXML Server se documenta en los apartados Crear scripts Python y Ejecutar scripts
Python.
Trabajar con scripts Python seguros
Cuando se especifica un script Python por HTTP para RaptorXML Server, el script solo
funciona si está ubicado en el directorio de confianza. El script se ejecuta desde el directorio de
confianza. Si especifica un script de cualquier otro directorio, se produce un error. El directorio de
confianza se define en la opción server.script-root-dir del archivo de configuración del
servidor y es obligatorio especificar un directorio de confianza si quiere usar scripts Python. Por
tanto, asegúrese de guardar en este directorio todos los scripts Python que desea usar.
Aunque todos los resultados generados por el servidor para solicitudes de trabajo HTTP se
escriben en el directorio de salida de trabajos (que es un subdirectorio de output-rootdirectory), esta limitación no afecta a los scripts Python, que pueden escribir en cualquier
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Python
175
ubicación. El administrador del servidor debería revisar los scripts Python del directorio de
confianza para evitar problemas de seguridad.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
176
Interfaz Python
5.1
Crear scripts Python
Crear scripts Python
Temas de este apartado:
Versión de Python
Trabajar con scripts seguros
Pasar un script Python a RaptorXML
Funciones Python
Estructura simplificada del script Python
La función Python de punto de entrada al detalle
Versión de Python
Los scripts Python deben crearse conforme a la versión Python 3.3.1 como mínimo.
Trabajar con scripts Python seguros
Cuando se especifica un script Python por HTTP para RaptorXML Server, el script solo
funciona si está ubicado en el directorio de confianza. El script se ejecuta desde el directorio de
confianza. Si especifica un script de cualquier otro directorio, se produce un error. El directorio de
confianza se define en la opción server.script-root-dir del archivo de configuración del
servidor y es obligatorio especificar un directorio de confianza si quiere usar scripts Python. Por
tanto, asegúrese de guardar en este directorio todos los scripts Python que desea usar.
Aunque todos los resultados generados por el servidor para solicitudes de trabajo HTTP se
escriben en el directorio de salida de trabajos (que es un subdirectorio de output-rootdirectory), esta limitación no afecta a los scripts Python, que pueden escribir en cualquier
ubicación. El administrador del servidor debería revisar los scripts Python del directorio de
confianza para evitar problemas de seguridad.
Pasar un script Python a RaptorXML Server
El script Python se pasa a RaptorXML con el parámetro --script de estos comandos:
valxml-withxsd (xsi)
valxsd (xsd)
Estos comandos se pueden usar en la interfaz de la línea de comandos o en la interfaz HTTP.
Para ver algunos ejemplos consulte el apartado Ejecutar scripts Python.
Funciones Python
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Python
Crear scripts Python
177
Los comandos que permiten acceder a la interfaz Python (ver tabla más abajo) son los
comandos de validación y el script Python se ejecuta solamente si los archivos suministrados
con el comando son válidos. Una vez finalizada la validación, RaptorXML Server llama a una
función determinada, dependiendo del comando ejecutado. La función a la que se llama (ver
tabla) debe definirse en el script Python. La función debe definirse con dos parámetros: el primero
es el objeto del trabajo y el segundo depende del comando ejecutado (ver tabla).
Comando
Función invocada
por RaptorXML Server
valxml-withxsd (xsi)
on_xsi_valid(job,instance)
valxsd (xsd)
on_xsd_valid(job,schema)
Estructura simplificada del script Python
A continuación mostramos la estructura general de un script Python utilizada para acceder a la
interfaz Python. Observe cómo se define la función Python de punto de entrada.
1
import os
from altova import xml, xsd
2
def on_xsi_valid(job,instance):
filename = os.path.join(job.output_dir,'script_out.txt')
job.append_output_filename(filename)
f = open(filename,'w')
f.write(str(type(job))+'\n')
f.write(str(job)+'\n')
f.write(job.output_dir+'\n')
f.close()
filename2 = os.path.join(job.output_dir,'script_out2.txt')
job.append_output_filename(filename2)
f2 = open(filename2,'w')
print_instance(f2,instance)
f2.close()
3
CodeBlock-1
...
CodeBlock-N
Descripción de la estructura del script:
1
Importa el módulo Python integrado os y después los módulos xml, xsd de la
biblioteca altova.
2
La función Python de punto de entrada (ver más abajo). Puede ser una de
estas cuatro:
on_xsi_valid(job,instance), on_xsd_valid(job,schema),
on_dts_valid(job,dts), on_xbrl_valid(job,instance).
3
Bloques de código adicionales, cada uno con definiciones de función u otro
código.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
178
Interfaz Python
Crear scripts Python
La función Python de punto de entrada al detalle
A continuación mencionamos aspectos importantes de la función Python de punto de entrada y
para ello usamos este ejemplo de definición de función:
def on_xsi_valid(job,instance):
filename = os.path.join(job.output_dir,'script_out.txt')
job.append_output_filename(filename)
f = open(filename,'w')
f.write(str(type(job))+'\n')
f.write(str(job)+'\n')
f.write(job.output_dir+'\n')
f.close()
filename2 = os.path.join(job.output_dir,'script_out2.txt')
job.append_output_filename(filename2)
f2 = open(filename2,'w')
print_instance(f2,instance)
f2.close
La línea def on_xsi_valid(job,instance): inicia el bloque de definición de la función.
La función se llama on_xsi_valid(job,instance) y toma dos argumentos: job y
instance.
Esta es la función que se invoca después de que RaptorXML Server ejecute el comando
valxml-withxsd (xsi) y determine que los archivos XML suministrados son válidos.
El valor de los argumentos job y instance vienen dados por RaptorXML Server.
El valor de la variable filename se construye usando job.output_dir, cuyo valor, en el
caso de uso con HTTP, se especifica en el archivo de configuración del servidor y, en
caso de uso con la ILC, es el directorio de trabajo.
La función job.append_output_filename anexa un nombre de archivo al resultado del
trabajo.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Python
5.2
Ejecutar scripts Python
179
Ejecutar scripts Python
Para pasar scripts Python a RaptorXML Server es necesario suministrar la URL del script como
valor de la opción --script. La opción --script es compatible con estos comandos:
valxml-withxsd (xsi)
valxsd (xsd)
Estos comandos se pueden usar tanto en la interfaz de la línea de comandos como en la interfaz
HTTP.
Ejemplos
Aquí puede ver algunos ejemplos de uso de estos comandos:
raptorxml xsi --script=xml.py --script-api-version=1 --streaming=false c:
\HasXSDRef.xml
raptorxml xsd --script=xsd.py --script-api-version=1 c:\Test.xsd
Nota:
cuando use la opción --script con el comando valxml-withxsd, asegúrese de
especificar --streaming=false. De lo contrario se genera una advertencia diciendo que
el script no se ejecutó.
Iniciar el script
Una vez suministrado el comando y validados los archivos, RaptorXML Server llama a la función
Python de punto de entrada correspondiente al comando que acaba de ejecutar y le suministra
los valores de los dos argumentos de la función. Si la función de punto de entrada se define en el
script con el parámetro --script, entonces se inicia la ejecución del script.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
180
Interfaz Python
5.3
Ejemplo de script 1: procesar XML
Ejemplo de script 1: procesar XML
Este script Python procesa los datos del archivo NanonullOrg.xml (situado en la carpeta
examples de la carpeta de aplicación de RaptorXML) y crea un documento de salida llamado
summary.html. El archivo de salida contiene una tabla que muestra el número total de acciones
que poseen los empleados de cada departamento.
El script se pasa en la ILC con este comando:
raptorxml xsi --streaming=false --script=sharesummary.py --script-apiversion=1 NanonullOrg.xml
En este apartado puede encontrar:
El script Python con anotaciones
El documento de salida generado por el script
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Python
5.3.1
Ejemplo de script 1: procesar XML
181
Script
El script Python con anotaciones que aparece más abajo procesa los datos del archivo
NanonullOrg.xml (situado en la carpeta examples de la carpeta de aplicación de RaptorXML) y
crea un documento de salida llamado summary.html. Este archivo de salida contiene una tabla
que muestra el número total de acciones que poseen los empleados de cada departamento.
El script se puede pasar a RaptorXML con este comando:
raptorxml xsi --streaming=false --script=sharesummary.py --script-apiversion=1 NanonullOrg.xml
Nota:
cuando use la opción --script con el comando valxml-withxsd, asegúrese de
especificar --streaming=false. De lo contrario se genera una advertencia diciendo que
el script no se ejecutó.
Nombre de archivo: sharesummary.py
import os
from altova import xml
def getElemTextValue(elem):
"""Devuelve el contenido de texto de un elemento XML"""
text = ''
for child in elem.children:
if isinstance(child,xml.Character):
text += child.character_code
return text
def getChildElemsWithName(elemParent,name):
"""Devuelve una lista con todos los elementos secundarios que tienen este
nombre"""
elems = []
for child in elemParent.children:
if isinstance(child,xml.Element) and child.local_name == name:
elems.append(child)
return elems
def getDepartmentName(elemDepartment):
"""Devuelve el nombre del departamento indicado en el elemento <Name>"""
return getElemTextValue(getChildElemsWithName(elemDepartment,'Name')[0])
def getDepartmentTotalShares(elemDepartment):
"""Devuelve el número de acciones que posee cada miembro del departamento"""
# Inicializar total de acciones en 0
totalShares = 0
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
182
Interfaz Python
Ejemplo de script 1: procesar XML
# Sumar las acciones de cada <Person> del departamento
for elemPerson in getChildElemsWithName(elemDepartment,'Person'):
elemShares = getChildElemsWithName(elemPerson,'Shares')
# El elemento <Shares> es opcional. Por eso es necesario comprobar si
existe
if len(elemShares):
# Obtener el valor del elemento <Shares>, convertirlo en un entero y
añadirlo a la suma total
totalShares += int(getElemTextValue(elemShares[0]))
return totalShares
def calcSharesPerDepartment(instance):
"""Devuelve un mapa con el número de acciones que poseen los miembros del
departamento"""
# Obtener el elemento XML raíz
elemOrgChart = instance.document.document_element
# Comprobar si el elemento raíz es <OrgChart>
if not elemOrgChart or elemOrgChart.local_name != 'OrgChart' or
elemOrgChart.namespace_name != 'http://www.xmlspy.com/schemas/orgchart':
# Si no lo es, emitir un error
raise Error('This script must be used with a valid OrgChart
instance!')
mapSharesPerDepartment = {}
# Recorrer cada elemento <Department> de cada <Office> y establecer el número
de acciones que poseen los miembros del departamento
for elemOffice in getChildElemsWithName(elemOrgChart,'Office'):
for elemDepartment in getChildElemsWithName(elemOffice,'Department'):
mapSharesPerDepartment[getDepartmentName(elemDepartment)] =
getDepartmentTotalShares(elemDepartment)
return mapSharesPerDepartment
def writeSummary(mapSharesPerDepartment,filename):
"""Escribe un resumen en el nombre de archivo indicado con el número de
acciones para cada departamento"""
# Abrir el archivo para escribir
f = open(filename,'w')
f.write('<html><title>Summary</title><body><table border="1">\n')
f.write('<tr><th>Department</th><th>Shares</th></tr>\n')
# Generar una fila de tabla por cada departamento con el nombre del
departamento y su número de acciones
for name,shares in sorted(mapSharesPerDepartment.items()):
f.write('<tr><td>%s</td><td>%d</td></tr>\n'%(name,shares))
f.write('</table></body></html>\n')
# Cerrar el archivo
f.close()
def on_xsi_valid(job,instance):
"""Este método será invocado automáticamente por RaptorXML una vez finalizada
la validación de la instancia XML"""
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Python
Ejemplo de script 1: procesar XML
183
# Crear el archivo 'summary.html' en el directorio de salida del trabajo
(cuando se ejecute desde la ILC, crear en el directorio de trabajo actual)
filename = os.path.join(job.output_dir,'summary.html')
# Calcular el número de acciones por departamento y escribir un resumen en
'summary.html'
writeSummary(calcSharesPerDepartment(instance),filename)
# Registrar el archivo de salida 'summary.html' recién generado
job.append_output_filename(filename)
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
184
Interfaz Python
5.3.2
Documento de resultados
Ejemplo de script 1: procesar XML
A continuación aparece un fragmento del documento de salida summary.html generado por el
script Python sharesummary.py.
Nombre de archivo: summary.html
<html><title>Summary</title><body>
<table border="1">
<tr><th>Department</th><th>Shares</th></tr>
<tr><td>Administration</td><td>2500</td></tr>
<tr><td>Engineering</td><td>5500</td></tr>
<tr><td>IT & Technical Support</td><td>1750</td></tr>
<tr><td>Marketing</td><td>3000</td></tr>
<tr><td>Research & Development</td><td>5500</td></tr>
</table>
</body></html>
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Python
5.4
Ejemplo de script 2: cambiar el formato XML
185
Ejemplo de script 2: cambiar el formato XML
El script Python de este ejemplo cambia el formato del archivo XML NanonullOrg.xml (situado
en la carpeta examples de la carpeta de aplicación de RaptorXML). A cada elemento se le aplica
una sangría con tabulaciones y cada atributo se coloca en una línea nueva (lo cual facilitará la
comparación visual cuando se utilice un programa de diferenciación). El documento de salida se
llama output.xml.
El script se pasa en la ILC con este comando:
raptorxml xsi --streaming=false --script=reformat.py --script-api-version=1
NanonullOrg.xml
En este apartado puede encontrar:
El script Python con anotaciones
El documento de salida generado por el script
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
186
Interfaz Python
5.4.1
Script
Ejemplo de script 2: cambiar el formato XML
El script Python con anotaciones que aparece a continuación (reformat.py) cambia el formato
del archivo XML NanonullOrg.xml (situado en la carpeta examples de la carpeta de aplicación de
RaptorXML). A cada elemento se le añade sangría con tabulaciones y cada atributo se coloca en
una línea nueva (lo cual facilita la comparación visual en programas de diferenciación de datos).
El documento de salida se llama output.xml.
El script se pasa en la ILC con este comando:
raptorxml xsi --streaming=false --script=reformat.py NanonullOrg.xml
Nota:
cuando use la opción --script con el comando valxml-withxsd, asegúrese de
especificar --streaming=false. De lo contrario se genera una advertencia diciendo que
el script no se ejecutó.
Nombre de archivo: reformat.py
import os
from altova import xml, xsd
def writeCharacter(f,char,depth):
"""Generar XML para el nodo de caracteres"""
# Ignorar los nodos de texto que contienen solo caracteres de espacios en
blanco
if not char.element_content_whitespace:
# Escribir el contenido de texto
f.write("\t"*depth + char.character_code+'\n')
def writeComment(f,comment,depth):
"""Generar XML para el nodo de comentario"""
# Escribir el comentario
f.write("\t"*depth + '<!-- '+comment.content+'-->\n')
def writeAttribute(f,attr,depth):
"""Generar XML para el nodo de atributo (en una línea nueva)"""
# Buscar prefijo para el espacio de nombres en el mapa de espacios de nombres
inscope
prefix = None
if attr.namespace_name:
inscope = {}
for namespace in attr.owner_element.inscope_namespaces:
inscope[namespace.namespace_name] = namespace.prefix
prefix = inscope[attr.namespace_name]
if prefix:
prefix += ':'
if not prefix:
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Python
Ejemplo de script 2: cambiar el formato XML
187
prefix = ''
# Escribir el atributo con su valor
f.write("\t"*depth + "@"+prefix+attr.local_name+"=\""+attr.normalized_value
+"\"\n")
def writeNSAttribute(f,attr,depth):
"""Generar XML para el nodo de atributo de espacio de nombres (en una línea
nueva)"""
prefix = ""
if attr.local_name != 'xmlns':
prefix = 'xmlns:'
# Escribir el atributo de espacio de nombres con su valor
f.write("\t"*depth + "@"+prefix+attr.local_name+"=\""+attr.normalized_value
+"\"\n")
def writeChildren(f,elem,depth):
"""Generar XML para todos los nodos secundarios (con sangría según el nivel
jerárquico)"""
# Iterar en todos los nodos secundarios
for child in elem.children:
if isinstance(child,xml.Element):
writeElement(f,child,depth)
elif isinstance(child,xml.Comment):
writeComment(f,child,depth)
elif isinstance(child,xml.Character):
writeCharacter(f,child,depth)
def writeElement(f,elem,depth):
"""Generar XML para el nodo de elemento con todos sus nodos secundarios (con
sangría según el nivel jerárquico)"""
# Buscar prefijo para el espacio de nombres en el mapa de espacios de nombres
inscope
prefix = None
if elem.namespace_name:
inscope = {}
for namespace in elem.inscope_namespaces:
inscope[namespace.namespace_name] = namespace.prefix
prefix = inscope[elem.namespace_name]
if prefix:
prefix += ':'
if not prefix:
prefix = ''
if len(list(elem.attributes)) + len(list(elem.namespace_attributes)) == 0:
# Escribir la etiqueta de apertura entera (sin atributos)
f.write("\t"*depth + "<"+prefix+elem.local_name+'>\n')
else:
# Escribir la etiqueta de apertura sin el '>' de cierre
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
188
Interfaz Python
Ejemplo de script 2: cambiar el formato XML
f.write("\t"*depth + "<"+prefix+elem.local_name+'\n')
# Escribir los atributos de espacio de nombres en líneas nuevas
for attr in elem.namespace_attributes:
writeNSAttribute(f,attr,depth+1)
# Escribir atributos en líneas nuevas
for attr in elem.attributes:
writeAttribute(f,attr,depth+1)
# Cerrar la etiqueta de apertura
f.write("\t"*depth + ">\n")
# Escribir todos los secundarios del elemento
writeChildren(f,elem,depth+1)
# Escribir la etiqueta de cierre
f.write("\t"*depth + "</"+prefix+elem.local_name+">\n")
def writeInstance(instance,filename):
"""Generar XML para la instancia dada, donde cada elemento tiene sangría de
tabulaciones y cada atributo aparece en una línea nueva"""
# Abrir archivo de salida
f = open(filename,'w')
# Escribir el contenido de la instancia XML
writeChildren(f,instance.document,0)
# Cerrar el archivo de salida
f.close()
def on_xsi_valid(job,instance):
"""Este método será invocado automáticamente por RaptorXML una vez finalizada
la validación de la instancia XML"""
# Crear el archivo 'output.xml' en el directorio de salida del trabajo
(cuando se ejecute desde la ILC, crear en el directorio de trabajo actual)
filename = os.path.join(job.output_dir,'output.xml')
# Escribir una versión del XML de instancia con otro formato: cada atributo
aparece en una línea nueva
writeInstance(instance,filename)
# Registrar el archivo de salida 'output.html' recién generado
job.append_output_filename(filename)
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Python
5.4.2
Ejemplo de script 2: cambiar el formato XML
189
Documento de resultados
A continuación aparece un fragmento del documento de salida output.html generado por el
script Python reformat.py.
Nombre de archivo: output.xml
<OrgChart
@xmlns="http://www.xmlspy.com/schemas/orgchart"
@xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@xmlns:ipo2="http://www.altova.com/IPO"
@xmlns:ts="http://www.xmlspy.com/schemas/textstate"
@xsi:schemaLocation="http://www.xmlspy.com/schemas/orgchart OrgChart.xsd"
>
<CompanyLogo
@href="http://www.altova.com/nanonull.gif"
>
</CompanyLogo>
<Name>
Organization Chart
</Name>
<Office>
<Name>
Nanonull, Inc.
</Name>
<Desc>
<para>
The company was established
<Style
@css="font-weight: bold"
>
in Beverly in 1995
</Style>
as a privately held software company. Since 1996,
Nanonull has been actively involved in developing nanoelectronic software
technologies. It released the first version of its acclaimed
<Style
@css="font-style: italic"
>
NanoSoft Development Suite
</Style>
in February 1999. Also in 1999, Nanonull increased
its capital base with investment from a consortium of private investment firms.
The company has been expanding rapidly ever since.
</para>
<para>
Due to the fact that nanoelectronic software
components are new and that sales are restricted to corporate customers,
Nanonull and its product line have not received much media publicity in the
company's early years. This has however changed in recent months as trade
journals have realized the importance of this revolutionary technology.
</para>
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
190
Interfaz Python
Ejemplo de script 2: cambiar el formato XML
</Desc>
<Location>
US
</Location>
<Address
@xsi:type="ipo2:US-Address"
>
<ipo2:street
@xmlns:ipo="http://www.altova.com/IPO"
>
900 Cummings Center
</ipo2:street>
<ipo2:city>
Boston
</ipo2:city>
<ipo2:state>
MA
</ipo2:state>
<ipo2:zip>
3234
</ipo2:zip>
</Address>
<Phone>
+1 (321) 555 5155 0
</Phone>
<Fax>
+1 (321) 555 5155 4
</Fax>
<EMail>
[email protected]
</EMail>
<Department>
<Name>
Administration
</Name>
<Person
@union="fred"
>
<First>
Vernon
</First>
<Last>
Callaby
</Last>
<Title>
Office Manager
</Title>
<PhoneExt>
582
</PhoneExt>
<EMail>
[email protected]
</EMail>
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Python
Ejemplo de script 2: cambiar el formato XML
191
<Shares>
1500
</Shares>
<LeaveTotal>
25
</LeaveTotal>
<LeaveUsed>
4
</LeaveUsed>
<LeaveLeft>
21
</LeaveLeft>
<union>
3
</union>
<list>
abc def
</list>
<bool>
true
</bool>
<idref>
fred
</idref>
<idrefs>
fred joe
</idrefs>
<entity>
myUnparsedEntity
</entity>
<notation>
Altova-Orgchart
</notation>
</Person>
...
</Department>
...
</Office>
...
</OrgChart>
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
192
Interfaz Python
Referencia API de Python
5.5
Referencia API de Python
RaptorXML Server es compatible con múltiples versiones API Python. Cualquier versión API
Python previa es compatible con RaptorXML Server. La versión API Python se selecciona con el
comando con bandera --script-api-version=MAJOR_VERSION . Para el argumento
MAJOR_VERSION se establece por defecto la versión actual. Se introduce un MAJOR_VERSION de
API Python cuando se producen cambios incompatibles o mejoras superiores. Los usuarios de la
API no precisan actualizar sus scripts existentes cuando se lance una versión superior más
actualizada.
Se recomienda que:
Si está usando la bandera --script-api-version=MAJOR_VERSION para invocar los
scripts de utilidad de la línea comando RaptorXML Server (o de la web API). Esto
asegura que los scripts aún funcionen como se espera después de las actualizaciones
RaptorXML Server - aún cuando se haya lanzado un VERSIÓN_SUPERIOR de API.
Usa la última version de API para los proyectos nuevos, aún cuando las versiones previas
sean compatibles con lanzamientos RaptorXML Server futuros.
Las versiones API Python que se muestran abajo están disponibles actualmente. La
documentación de los diferentes APIs está disponible online en las ubicaciones que se muestran
abajo.
Versión 1 de API de Python
Presentado por RaptorXML Server v2014
Bandera de línea de
comando:
--script-api-version=1
Documentación:
Python API Version 1 Reference
Este es el original RaptorXML Server API de Python. Cubre el soporte de acceso al modelo
interno de RaptorXML Server para:
XML 1.0 y XML 1.1 (módulo API xml)
XMLSchema 1.0 y XMLSchema 1.1 (módulo API xsd)
XBRL 2.1 (módulo API xbrl)
El API se puede usar a través de las funciones callback que se implementan en un archivo script
de Python:
on_xsi_valid
on_xsd_valid
on_dts_valid
on_xbrl_valid
Un script se especifica con la opción --script de la línea de comando. Las funciones callback
se invocan sólo si la validación tiene éxito. Los detalles sobre las funciones callback y el API se
describen en la referencia versión 1 de API Python de RaptorXML Server.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Python
Referencia API de Python
193
Versión 2 de la API de Python
Presentada por RaptorXML Server v2015r3
Bandera de línea de
comando:
--script-api-version=2
Documentación:
Python API Version 2 Reference
Esta versión de API presenta más de 300 nuevas clases y reorganiza los módulos de la versión 1
API de Python de RaptorXML Server de tal forma que se puede acceder a información que se usa
con frecuencia de forma más simple y los API relaciones se agrupan juntos de forma lógica (por
ej, xbrl.taxonomy, xbrl.formula, xbrl.table). En esta versión, las funciones callback no se
invocan únicamente si la validación tiene éxito, sino también si la validación fracasa. Para reflejar
este comportamiento, se cambian el nombre de las funciones callback como sigue a
continuación:
on_xsi_finished
on_xsd_finished
on_dts_finished
on_xbrl_finished
Para habilitar la modularización, RaptorXML Server ahora es compatible con opciones múltiples
--script. Los callback que se implementan en estos archivos de script Python se ejecutan en
el orden especificado en la línea de comando.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
Altova RaptorXML Server 2015
Interfaz Java
196
Interfaz Java
6
Interfaz Java
A la API de RaptorXML también se puede acceder desde código Java. Para ello es necesario que
las bibliotecas que aparecen más abajo residan en el parámetro classpath. Esta bibliotecas se
instalan en la carpeta bin de la carpeta de instalación.
RaptorXMLServer.jar: es la biblioteca que se comunica con el servidor de RaptorXML
mediante solicitudes HTTP.
RaptorXMLServer_JavaDoc.zip: es un archivo Javadoc que contiene la documentación
de ayuda para la API de Java.
Nota:
para poder usar la API de Java, el archivo Jar debe estar en el parámetro classpath. Si
quiere, puede copiar el archivo Jar en la ubicación que mejor le venga a su proyecto en
lugar de hacerle referencia desde la carpeta de instalación.
Resumen sobre la interfaz Java
La API de Java viene empaquetada en el paquete com.altova.raptorxml. La clase RaptorXML
ofrece un método de punto de entrada llamado getFactory(), que devuelve objetos
RaptorXMLFactory. De modo que se puede crear una instancia de RaptorXMLFactory con la
llamada RaptorXML.getFactory().
La interfaz RaptorXMLFactory ofrece métodos para obtener objetos del motor para realizar tareas
de validación y procesamiento (como transformaciones XSLT).
Nota:
el método getFactory devuelve el objeto de fábrica correspondiente dependiendo de la
edición de RaptorXML que esté instalada.
La interfaz pública de RaptorXMLFactory se describe en este fragmento:
public interface RaptorXMLFactory
{
public XMLValidator getXMLValidator();
public XQuery getXQuery();
public XSLT getXSLT();
public void setServerName(String name) throws RaptorXMLException;
public void setServerFile(String file) throws RaptorXMLException;
public void setServerPort(int port) throws RaptorXMLException;
public void setGlobalCatalog(String catalog);
public void setUserCatalog(String catalog);
public void setGlobalResourcesFile(String file);
public void setGlobalResourceConfig(String config);
public void setErrorFormat(ENUMErrorFormat format);
public void setErrorLimit(int limit);
public void setReportOptionalWarnings(boolean report);
}
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
197
Para más información consulte la descripción de RaptorXMLFactory y de la correspondiente
interfaz Java. También puede consultar un ejemplo de proyecto Java.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
198
Interfaz Java
6.1
Ejemplo de proyecto Java
Ejemplo de proyecto Java
El fragmento de código Java que aparece más adelante muestra cómo acceder a las funciones
básicas. El código tiene varias partes:
Busca la carpeta de ejemplos y crea una instancia de objeto COM de RaptorXML
Valida un archivo XML
Realiza una transformación XSLT y devuelve el resultado en forma de cadena de texto
Procesa un documento XQuery y devuelve el resultado en forma de cadena de texto
Ejecuta el proyecto
Estas funciones básicas se incluyen en los archivos de la carpeta examples/API de la carpeta
de aplicación de RaptorXML Server.
public
{
//
//
//
class RunRaptorXML
Buscar muestras instaladas con el producto
(está dos niveles más arriba de examples/API/Java)
NOTA: quizás sea necesario cambiar esta ruta de acceso
static final String strExamplesFolder = System.getProperty("user.dir") +
"/../../" ;
static com.altova.raptorxml.RaptorXMLFactory rxml;
static void ValidateXML() throws com.altova.raptorxml.RaptorXMLException
{
com.altova.raptorxml.XMLValidator xmlValidator =
rxml.getXMLValidator();
System.out.println("RaptorXML Java - XML validation");
xmlValidator.setInputXMLFromText( "<!DOCTYPE root [ <!ELEMENT root
(#PCDATA)> ]> <root>simple input document</root>" );
if( xmlValidator.isWellFormed() )
System.out.println( "The input string is well-formed" );
else
System.out.println( "Input string is not well-formed: " +
xmlValidator.getLastErrorMessage() );
if( xmlValidator.isValid() )
System.out.println( "The input string is valid" );
else
System.out.println( "Input string is not valid: " +
xmlValidator.getLastErrorMessage() );
}
static void RunXSLT() throws com.altova.raptorxml.RaptorXMLException
{
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Ejemplo de proyecto Java
199
System.out.println("RaptorXML Java - XSL Transformation");
com.altova.raptorxml.XSLT xsltEngine = rxml.getXSLT();
xsltEngine.setInputXMLFileName( strExamplesFolder + "simple.xml" );
xsltEngine.setXSLFileName( strExamplesFolder + "transform.xsl" );
String result = xsltEngine.executeAndGetResultAsString();
if( result == null )
System.out.println( "Transformation failed: " +
xsltEngine.getLastErrorMessage() );
else
System.out.println( "Result is " + result );
}
static void RunXQuery() throws com.altova.raptorxml.RaptorXMLException
{
System.out.println("RaptorXML Java - XQuery execution");
com.altova.raptorxml.XQuery xqEngine = rxml.getXQuery();
xqEngine.setInputXMLFileName( strExamplesFolder + "simple.xml" );
xqEngine.setXQueryFileName( strExamplesFolder + "CopyInput.xq" );
System result = xqEngine.executeAndGetResultAsString();
if( result == null )
System.out.println( "Execution failed: " +
xqEngine.getLastErrorMessage() );
else
System.out.println( "Result is " + result );
}
public static void main(String[] args)
{
try
{
rxml = com.altova.raptorxml.RaptorXML.getFactory();
rxml.setErrorLimit( 3 );
ValidateXML();
RunXSLT();
RunXQuery();
}
catch( com.altova.raptorxml.RaptorXMLException e )
{
e.printStackTrace();
}
}
}
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
200
Interfaz Java
6.2
Interfaces de RaptorXML para Java
Interfaces de RaptorXML para Java
A continuación resumimos las interfaces Java de la API de RaptorXML. Para más información
consulte los apartados correspondientes.
RaptorXMLFactory
Crea una instancia de objeto COM de RaptorXML nueva por medio de una llamada nativa
y ofrece acceso a los motores de RaptorXML.
XMLValidator
Interfaz para el motor de validación XML.
XSLT
Interfaz para los motores XSLT.
XQuery
Interfaz para los motores XQuery.
RaptorXMLException
Interfaz para el método RaptorXMLException.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
6.2.1
Interfaces de RaptorXML para Java
201
RaptorXMLFactory
public interface RaptorXMLFactory
Descripción
Use RaptorXMLFactory() para crear una nueva instancia de objeto COM de RaptorXML. Esto
ofrece acceso a los motores de RaptorXML. RaptorXMLFactory y el objeto COM de RaptorXML
tienen una relación de iguales. Es decir, en adelante las llamadas a la función
get<NOMBREMOTOR>() devolverán interfaces para la misma instancia del motor.
Más abajo describimos primero los métodos de la interfaz RaptorXMLFactory y después sus
enumeraciones.
Métodos
Los métodos de la clase se describen por orden alfabético. En la tabla se organizan por grupos
para facilitar la consulta.
Motores
Errores, advertencias
getXMLValidator
setErrorFormat
getXQuery
setErrorLimit
getXSLT
setReportOptionalWarnings
Catálogos
Recursos globales
Servidor HTTP
setGlobalCatalog
setGlobalResourceConfig
setServerFile
setUserCatalog
setGlobalResourcesFile
setServerName
setServerPort
Información sobre el producto
getProductName
Is64Bit
getProductNameAndVersion
getAPIMajorVersion
getMajorVersion
getAPIMinorVersion
getMinorVersion
getAPIServicePackVersion
getServicePackVersion
Subir | Métodos | Enumeraciones
getAPIMajorVersion
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
202
Interfaz Java
Interfaces de RaptorXML para Java
public int getAPIMajorVersion()
Devuelve la versión principal de la API en forma de entero. La versión principal de la API puede ser
distinta a la versión principal del producto si la API está conectada a otro servidor.
Devuelve: un entero que es la versión principal de la API.
Subir | Métodos | Enumeraciones
getAPIMinorVersion
public int getAPIMinorVersion()
Devuelve la versión secundaria de la API en forma de entero. La versión secundaria de la API
puede ser distinta a la versión secundaria del producto si la API está conectada a otro servidor.
Devuelve: un entero que es la versión secundaria de la API.
Subir | Métodos | Enumeraciones
getAPIServicePackVersion
public int getAPIServicePackVersion()
Devuelve la versión del service pack de la API en forma de entero. La versión del service pack de
la API puede ser distinta a la versión del service pack del producto si la API está conectada a
otro servidor.
Devuelve: un entero que es la versión del service pack de la API.
Subir | Métodos | Enumeraciones
getMajorVersion
public int getMajorVersion()
Devuelve la versión principal del producto en forma de entero. Ejemplo: para Altova RaptorXML
Server 2014r2sp1(x64), devuelve 16 (la diferencia entre la versión principal (2014) y el año
inicial 1998). Emite la excepción RaptorXMLException en caso de error.
Devuelve: un entero que es la versión principal del producto.
Subir | Métodos | Enumeraciones
getMinorVersion
public int getMinorVersion()
Devuelve la versión secundaria del producto en forma de entero. Ejemplo: para Altova
RaptorXML Server 2015r2sp1(x64), devuelve 2 (tomado del número de versión secundaria r2).
Emite la excepción RaptorXMLException en caso de error.
Devuelve: un entero que es la versión secundaria del producto.
Subir | Métodos | Enumeraciones
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
203
getProductName
public string getProductName()
Devuelve el nombre del producto en forma de cadena de texto. Ejemplo: para Altova RaptorXML
Server 2015r2sp1(x64), devuelve Altova RaptorXML Server. Emite la excepción
RaptorXMLException en caso de error.
Devuelve: una cadena de texto que es el nombre del producto.
Subir | Métodos | Enumeraciones
getProductNameAndVersion
public string getProductNameAndVersion()
Devuelve la versión del service pack del producto en forma de entero. Ejemplo: para Altova
RaptorXML Server 2015r2sp1(x64), devuelve Altova RaptorXML Server 2015r2sp1(x64).
Emite la excepción RaptorXMLException en caso de error.
Devuelve: una cadena de texto que es el nombre y la versión del producto.
Subir | Métodos | Enumeraciones
getServicePackVersion
public int getServicePackVersion()
Devuelve la versión del service pack del producto en forma de entero. Ejemplo: para RaptorXML
Server 2015r2sp1(x64), devuelve 1 (del número de versión del service pack sp1). Emite la
excepción RaptorXMLException en caso de error.
Devuelve: un entero que es la versión del service pack del producto.
Subir | Métodos | Enumeraciones
getXMLValidator
public XMLValidator getXMLValidator()
Recupera el validador XML.
Devuelve: una instancia nueva de XMLValidator de este RaptorXMLFactory.
Subir | Métodos | Enumeraciones
getXQuery
public XQuery getXQuery()
Recupera el motor XQuery.
Devuelve: una instancia nueva de XQuery de este RaptorXMLFactory.
Subir | Métodos | Enumeraciones
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
204
Interfaz Java
Interfaces de RaptorXML para Java
getXSLT
public XSLT getXSLT()
Recupera el motor XSLT.
Devuelve: una instancia nueva de XSLT de este RaptorXMLFactory.
Subir | Métodos | Enumeraciones
is64Bit
public boolean is64Bit()
Comprueba si la aplicación es un ejecutable de 64 bits. Ejemplo: para Altova RaptorXML
Server 2015r2sp1(x64), devuelve true. Emite la excepción RaptorXMLException en caso de
error.
Devuelve: el booleano true si la aplicación es de 64 bits y false si no lo es.
Subir | Métodos | Enumeraciones
setErrorFormat
public void setErrorFormat(ENUMErrorFormat format)
Define el formato de los errores de RaptorXML como uno de los literales ENUMErrorFormat (Text,
ShortXML, LongXML).
Parámetros: format: almacena el valor del literal ENUMErrorFormat seleccionado.
Subir | Métodos | Enumeraciones
setErrorLimit
public void setErrorLimit(int limit)
Define el límite de errores de validación de RaptorXML.
Parámetros: limit: es de tipo int y especifica el número de errores que se deben comunicar
antes de detener la ejecución. Utilice -1 para definir limit como ilimitado (es decir, para
comunicar todos los errores). El valor predeterminado es 100.
Subir | Métodos | Enumeraciones
setGlobalCatalog
public void setGlobalCatalog(String catalog)
Define la ubicación en forma de URL del archivo de catálogo principal (de punto de entrada).
Parámetros: catalog: la cadena suministrada debe ser una URL absoluta que dé la ubicación
exacta del archivo de catálogo principal que debe utilizarse.
Subir | Métodos | Enumeraciones
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
205
setGlobalResourceConfig
public void setGlobalResourceConfig(String config)
Establece la configuración activa del recurso global.
Parámetros: config: es de tipo String y especifica el nombre de la configuración utilizada por el
recurso global activo.
Subir | Métodos | Enumeraciones
setGlobalResourcesFile
public void setGlobalResourcesFile(String file)
Establece la ubicación en forma de URL del archivo XML de recursos globales.
Parámetros: file: la cadena suministrada debe ser una URL absoluta que dé la ubicación exacta
del archivo XML de recursos globales.
Subir | Métodos | Enumeraciones
setReportOptionalWarnings
public void setReportOptionalWarnings(boolean report)
Habilita/deshabilita la notificación de advertencias. Un valor true habilita las advertencias; false
las deshabilita.
Parámetros: report: toma el booleano true o false.
Subir | Métodos | Enumeraciones
setServerFile
public void setServerFile(String file)
Establece la ubicación del archivo de configuración del servidor HTTP relativa a la dirección del
servidor HTTP. Emite la excepción RaptorXMLException en caso de error.
Parámetros: file: una cadena de texto que indica la dirección del archivo de configuración del
servidor HTTP relativa a la dirección del servidor.
Subir | Métodos | Enumeraciones
setServerName
public void setServerName(String name)
Establece el nombre del servidor HTTP. Emite la excepción RaptorXMLException en caso de
error.
Parámetros: name: una cadena que indica el nombre del servidor HTTP.
Subir | Métodos | Enumeraciones
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
206
Interfaz Java
Interfaces de RaptorXML para Java
setServerPort
public void setServerPort(int port)
Establece el puerto del servidor HTTP a través del cual se accede al servicio. El puerto debe ser
fijo y conocido para que las solicitudes HTTP puedan apuntar correctamente al servicio. Emite la
excepción RaptorXMLException en caso de error.
Parámetros: port: un entero que indica el puerto de acceso del servidor HTTP.
Subir | Métodos | Enumeraciones
setUserCatalog
public void setUserCatalog(String catalog)
Establece la ubicación en forma de URL del archivo de catálogo personal del usuario.
Parámetros catalog: la cadena indicada debe ser una URL absoluta que dé la ubicación exacta
del archivo de catálogo personal que se debe usar.
Subir | Métodos | Enumeraciones
Enumeraciones
ENUMErrorFormat
ENUMErrorFormat
public enum ENUMErrorFormat {
eFormatText
eFormatShortXML
eFormatLongXML }
ENUMErrorFormat puede tomar uno de estos literales de enumeración: eFormatText,
eFormatShortXML, eFormatLongXML. Estos literales definen el formato de los mensajes de error
(eLongXML aporta los mensajes de error más detallados). El literal predeterminado es
eFormatText.
Utilizado por (Interfaz::Método):
RaptorXMLFactory
setErrorFormat
Subir | Métodos | Enumeraciones
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
6.2.2
Interfaces de RaptorXML para Java
207
XMLValidator
public interface XMLValidator
Descripción
Valida el documento XML, esquema o DTD suministrados. La validación de documentos XML se
puede hacer con DTD o esquemas XML internos o externos. También comprueba si los
documentos tienen un formato XML correcto. A continuación describimos primero los métodos de
la interfaz y después sus enumeraciones.
Métodos
Los métodos de la clase se describen por orden alfabético. En la tabla se organizan por grupos
para facilitar la consulta.
Procesamiento
Archivos de entrada
XML Schema
isValid(ENUM type)
setInputXMLFileName
setSchemaImports
isValid
setInputXMLFromText
setSchemalocationHints
isWellFormed(ENUM type)
setInputXMLFileCollection
setSchemaMapping
isWellFormed
setInputXMLTextCollection
setXSDVersion
getLastErrorMessage
setSchemaFileName
setAssessmentMode
setSchemaFromText
XML
setPythonScriptFile
setSchemaFileCollection
setEnableNamespaces
setStreaming
setSchemaTextCollection
setXincludeSupport
setDTDFileName
setXMLValidationMode
setDTDFromText
Subir | Métodos | Enumeraciones
getLastErrorMessage
public String getLastErrorMessage()
Recupera el último mensaje de error del motor de validación XML.
Devuelve: una cadena que es el último mensaje de error del motor de validación XML.
Subir | Métodos | Enumeraciones
isValid
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
208
Interfaz Java
Interfaces de RaptorXML para Java
public boolean isValid(ENUMValidationType type)
Devuelve el resultado de validar el documento XML, esquema o DTD. El tipo de documento se
indica con el parámetro type, que toma como valor un literal de ENUMValidationType. El
resultado es true si el documento es válido y false si no lo es. Si ocurre un error, se emite una
excepción RaptorXMLException. Use el método getLastErrorMessage para obtener más
información.
Parámetros: type: un literal de ENUMValidationType que especifica si se valida un esquema
XML, un DTD o un documento XML con un esquema XML o si se valida un documento XML con
un documento DTD.
Devuelve: el booleano true si el documento es válido y false si no lo es.
Subir | Métodos | Enumeraciones
isValid
public boolean isValid()
Devuelve el resultado de validar el documento suministrado.
Devuelve: el booleano true si el documento es válido y false si no lo es.
Subir | Métodos | Enumeraciones
isWellFormed
public boolean isWellFormed(ENUMWellformedCheckType type)
Devuelve el resultado de la comprobación de formato XML del documento XML o DTD. El tipo de
documento cuyo formato se comprueba viene dado por el parámetro type, que toma como valor
un literal de ENUMWellformedCheckType. Si el formato es correcto el resultado es true y false
si no lo es. Si ocurre un error, se emite una excepción RaptorXMLException. Use el método
getLastErrorMessage para obtener más información.
Parámetros: type: un literal de ENUMWellformedCheckType que especifica si el documento cuyo
formato se comprueba es un XML o un DTD.
Devuelve: el booleano true si el formato es correcto y false si no lo es.
Subir | Métodos | Enumeraciones
isWellFormed
public boolean isWellFormed()
Devuelve el resultado de la comprobación de formato XML del documento XML o DTD. Si el
formato es correcto el resultado es true y false si no lo es.
Devuelve: el booleano true si el formato es correcto y false si no lo es.
Subir | Métodos | Enumeraciones
setAssessmentMode
public void setAssessmentMode(ENUMAssessmentMode mode)
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
209
Establece el modo de evaluación de la validación XML (Strict/Lax), que se define en el
parámetro mode, que toma como valor un literal de ENUMAssessmentMode.
Parámetros: mode: un literal de ENUMAssessmentMode que especifica si la validación debe strict o
lax o si se debe pasar por alto.
Subir | Métodos | Enumeraciones
setDTDFileName
public void setDTDFileName(String filePath)
Establece la ubicación en forma de URL del documento DTD que se debe usar para la validación.
Parámetros: filePath: cadena de texto que debe ser una URL absoluta que dé la ubicación
exacta del archivo DTD que se debe usar.
Subir | Métodos | Enumeraciones
setDTDFromText
public void setDTDFromText(String dtdText)
Aporta el contenido del documento DTD en forma de texto.
Parámetros: dtdText: cadena de texto es el documento DTD que se debe usar para la validación.
Subir | Métodos | Enumeraciones
setEnableNamespaces
public void setEnableNamespaces(boolean enable)
Habilita el procesamiento preparado para espacios de nombres. Es útil si quiere buscar errores
en la instancia XML derivados del uso incorrecto de espacios de nombres. El valor true habilita el
procesamiento preparado para espacios de nombres; false lo deshabilita. El predeterminado es
false.
Parámetros: support: toma el booleano true o false.
Subir | Métodos | Enumeraciones
setInputXMLFileCollection
public void setInputXMLFileCollection(Collection<?> fileCollection)
Aporta la colección de archivos XML que se usará como datos de entrada. Los archivos se
identifican con su dirección URL.
Parámetros: fileCollection: colección de cadenas de texto, cada una de las cuales es la URL
absoluta de un archivo XML de entrada.
Subir | Métodos | Enumeraciones
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
210
Interfaz Java
Interfaces de RaptorXML para Java
setInputXMLFileName
public void setInputXMLFileName(String filePath)
Establece la ubicación en forma de URL del documento XML que se debe validar.
Parámetros: filePath: cadena de texto que debe ser una URL absoluta que dé la ubicación
exacta del archivo XML.
Subir | Métodos | Enumeraciones
setInputXMLFromText
public void setInputXMLFromText(String inputText)
Aporta el contenido del documento XML que se debe validar.
Parámetros: inputText: la cadena suministrada es el contenido del documento XML que se debe
validar.
Subir | Métodos | Enumeraciones
setInputXMLTextCollection
public void setInputXMLTextCollection(Collection<?> stringCollection)
Aporta el contenido de varios archivos XML que se usarán como datos de entrada.
Parámetros: stringCollection: colección de cadenas de texto, cada una de las cuales es el
contenido de un archivo XML.
Subir | Métodos | Enumeraciones
setParallelAssessment
public void setParallelAssessment(boolean support)
Habilita/deshabilita el uso de la evaluación en paralelo. El valor true habilita la evaluación en
paralelo; false la deshabilita. Valor predeterminado: false.
Parámetros:
support: toma el valor booleano true o false.
Subir | Métodos | Enumeraciones
setPythonScriptFile
public void setPythonScriptFile(String file)
Establece la ubicación en forma de URL del archivo de script Python.
Parámetros: file: cadena de texto que debe ser una URL absoluta que dé la ubicación exacta
del archivo Python.
Subir | Métodos | Enumeraciones
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
211
setSchemaFileCollection
public void setSchemaFileCollection(Collection<?> fileCollection)
Aporta la colección de archivos XML que se usarán como esquemas XML externos. Los archivos
se identifican por sus URL.
Parámetros: fileCollection: colección de cadenas de texto, cada una de las cuales es la URL
absoluta de un archivo de esquema XML.
Subir | Métodos | Enumeraciones
setSchemaFileName
public void setSchemaFileName(String filePath)
Establece la ubicación en forma de URL del documento de esquema XML que se debe usar.
Parámetros: filePath: cadena de texto que debe ser una URL absoluta que dé la ubicación
exacta del archivo de esquema XML.
Subir | Métodos | Enumeraciones
setSchemaFromText
public void setSchemaFromText(String schemaText)
Aporta el contenido del documento XML que se debe usar.
Parámetros: schemaText: cadena de texto que es el contenido del documento de esquema XML
que se debe usar.
Subir | Métodos | Enumeraciones
setSchemaImports
public void setSchemaImports(ENUMSchemaImports opt)
Indica cómo ocuparse de las importaciones de esquema dependiendo del valor de los atributos de
los elementos xs:import. La opción se indica mediante el literal de ENUMSchemaImports
seleccionado.
Parámetros: opt: almacena el literal de ENUMSchemaImports que determina qué se hace con las
importaciones de esquemas. Para más información consulte la descripción de
ENUMSchemaImports.
Subir | Métodos | Enumeraciones
setSchemalocationHints
public void setSchemalocationHints(ENUMLoadSchemalocation opt)
Especifica el mecanismo que se debe usar para encontrar el esquema. El mecanismo viene dado
por el literal de ENUMLoadSchemalocation seleccionado.
Parámetros: opt: almacena el literal de ENUMLoadSchemalocation que determina el mecanismo
que se debe utilizar. Para más información consulte la descripción de ENUMLoadSchemalocation.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
212
Interfaz Java
Interfaces de RaptorXML para Java
Subir | Métodos | Enumeraciones
setSchemaMapping
public void setSchemaMapping(ENUMSchemaMapping opt)
Establece la asignación que se debe usar para encontrar el esquema. La asignación viene dada
por el literal de ENUMSchemaMapping seleccionado.
Parámetros: opt: almacena el literal de ENUMSchemaMapping. Para más información consulte la
descripción de ENUMSchemaMapping.
Subir | Métodos | Enumeraciones
setInputSchemaTextCollection
public void setInputSchemaTextCollection(Collection<?> stringCollection)
Aporta el contenido de varios documentos de esquema XML.
Parámetros: stringCollection: colección de cadenas de texto, cada una de las cuales es el
contenido de un documento de esquema XML.
Subir | Métodos | Enumeraciones
setStreaming
public void setStreaming(boolean support)
Habilita la validación de transmisión por secuencias. En el modo de transmisión por secuencias,
los datos almacenados en memoria se minimizan y el procesamiento es más rápido.
Parámetros: support: el valor true habilita la validación de transmisión por secuencias; false la
deshabilita. El valor predeterminado es true.
Subir | Métodos | Enumeraciones
setXincludeSupport
public void setXIncludeSupport(boolean support)
Habilita o deshabilita el uso de elementos XInclude. El valor true lo habilita; false lo
deshabilita. El valor predeterminado es false.
Parámetros: support: el valor binario true o false.
Subir | Métodos | Enumeraciones
setXMLValidationMode
public void setXMLValidationMode(ENUMXMLValidationMode mode)
Establece el modo de validación XML, que es un literal de enumeración de
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
213
ENUMXMLValidationMode.
Parámetros: mode: un literal de enumeración de ENUMXMLValidationMode que determina si se
valida el documento o si se comprueba su formato XML.
Subir | Métodos | Enumeraciones
setXSDVersion
public void setXSDVersion(ENUMXSDVersion version)
Establece la versión de XML Schema que se debe usar para validar el documento XML.
Parámetros: version: un literal de enumeración de ENUMXSDVersion que establece la versión de
XML Schema.
Subir | Métodos | Enumeraciones
Enumeraciones
ENUMAssessmentMode
ENUMLoadSchemalocation
ENUMSchemaImports
ENUMSchemaMapping
ENUMValidationMode
ENUMValidationType
ENUMWellformedCheckType
ENUMXSDVersion
Subir | Métodos | Enumeraciones
ENUMAssessmentMode
public enum ENUMAssessmentMode {
eAssessmentModeLax
eAssessmentModeStrict
}
ENUMAssessmentMode toma uno de estos literales: eAssessmentModeLax,
eAssessmentModeStrict. Definen si la validación debe ser de tipo estricto (strict) o permisivo
(lax).
Utilizado por (Interfaz::Método):
XMLValidator
setAssessmentMode
Subir | Métodos | Enumeraciones
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
214
Interfaz Java
Interfaces de RaptorXML para Java
ENUMLoadSchemalocation
public enum ENUMLoadSchemalocation {
eLoadBySchemalocation
eLoadByNamespace
eLoadCombiningBoth
eLoadIgnore
}
ENUMLoadSchemalocation contiene el literal de enumeración que especifica el mecanismo para
encontrar el esquema. La selección se basa en el atributo schema location del documento de
instancia XML. Este atributo puede ser xsi:schemaLocation o
xsi:noNamespaceSchemaLocation.
eLoadBySchemalocation utiliza la URL del atributo schema location del archivo XML.
Este literal de enumeración es el valor predeterminado.
eLoadByNamespace utiliza la parte de espacio de nombres de xsi:schemaLocation y
una cadena vacía en el caso de xsi:noNamespaceSchemaLocation para encontrar el
esquema a través de la asignación de catálogos.
eLoadCombiningBoth: si el URL del espacio de nombres o de schema location tiene una
asignación de catálogo, se usa la URL de schema location.
eLoadCombiningBoth: se pasan por alto tanto el atributo xsi:schemaLocation como el
atributo xsi:noNamespaceSchemaLocation.
Utilizado por (Interfaz::Método):
XMLValidator
XSLT
setSchemalocationHints
setSchemalocationHints
Subir | Métodos | Enumeraciones
ENUMSchemaImports
public enum ENUMSchemaImports {
eSILoadBySchemalocation
eSILoadPreferringSchemalocation
eSILoadByNamespace
eSILoadCombiningBoth
eSILicenseNamespaceOnly
}
ENUMSchemaImports contiene el literal de enumeración que define el comportamiento de los
elementos xs:import del esquema, cada uno de los cuales tiene un atributo opcional namespace
y un atributo opcional schemaLocation.
eSILoadBySchemalocation usa el valor del atributo schemaLocation para encontrar el
esquema, teniendo en cuenta las asignaciones de catálogo. Si está presente el atributo
namespace, se importa el espacio de nombres.
eSILoadPreferringSchemalocation: si está presente el atributo schemaLocation,
entonces se usa teniendo en cuenta las asignaciones de catálogo. Si no está presente el
atributo schemaLocation, entonces se usa el valor del atributo namespace mediante la
asignación de catálogo. Este literal de enumeración es el valor predeterminado.
eSILoadByNamespace usa el valor del atributo namespace para encontrar el esquema por
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
215
medio de una asignación de catálogo.
eSILoadCombiningBoth: si la URL de namespace o la URL de schemaLocation tiene una
asignación de catálogo, ésta se utiliza. Si ambas tienen asignaciones de catálogo,
entonces el valor de ENUMSchemaMapping decide qué asignación se utiliza. Si ninguna
URL tiene una asignación de catálogo, entonces se usa la URL de schemaLocation.
eSILicenseNamespaceOnly: se importa el espacio de nombres. No se importa ningún
documento de esquema.
Utilizado por (Interfaz::Método):
XMLValidator
XSLT
setSchemaImports
setSchemaImports
Subir | Métodos | Enumeraciones
ENUMSchemaMapping
public enum ENUMSchemaMapping {
eSMPreferSchemalocation
eSMPreferNamespace
}
ENUMSchemaMapping contiene el literal de enumeración que especifica si se selecciona el espacio
de nombres o la ubicación del esquema.
eSMPreferNamespace: selecciona el espacio de nombres.
eSMPreferSchemalocation: selecciona la ubicación del esquema. Es el valor
predeterminado.
Utilizado por (Interfaz::Método):
XMLValidator
XSLT
setSchemaMapping
setSchemaMapping
Subir | Métodos | Enumeraciones
ENUMXMLValidationMode
public enum ENUMXMLValidationMode {
eProcessingModeValid
eProcessingModeWF }
ENUMXMLValidationMode contiene el literal de enumeración que especifica el tipo de validación
XML que se debe llevar a cabo (validación o comprobación de formato XML).
eProcessingModeValid: establece el modo de procesamiento XML en validation.
eProcessingModeValid: establece el modo de procesamiento XML en wellformed. Es
el valor predeterminado.
Utilizado por (Interfaz::Método):
XMLValidator
XSLT
XQuery
© 2015 Altova Gmb H
setXMLValidationMode
setXMLValidationMode
setXMLValidationMode
Altova RaptorXML Server 2015
216
Interfaz Java
Interfaces de RaptorXML para Java
Subir | Métodos | Enumeraciones
ENUMValidationType
public enum ENUMValidationType {
eValidateAny
eValidateXMLWithDTD
eValidateXMLWithXSD
eValidateDTD
eValidateXSD }
ENUMValidationType contiene el literal de enumeración que especifica si los documentos XML
se deben validar con un documento DTD o XSD.
eValidateAny: el tipo de documento se detecta automáticamente.
eValidateXMLWithDTD: valida el documento XML con un archivo DTD.
eValidateXMLWithXSD: valida el documento XML con un archivo XSD.
eValidateDTD: valida un documento DTD.
eValidateXSD: valida un documento XSD.
Utilizado por (Interfaz::Método):
XMLValidator
isValid
Subir | Métodos | Enumeraciones
ENUMWellformedCheckType
public enum ENUMWellformedCheckType {
eWellformedAny
eWellformedXML
eWellformedDTD
}
ENUMWellformedCheckType contiene el literal de enumeración que especifica de qué tipo es el
documento cuyo formato XML debe comprobarse.
eWellformedAny: el tipo de documento se detecta automáticamente.
eWellformedXML: comprueba el formato XML de un documento XML.
eWellformedDTD: comprueba el formato XML de un documento DTD.
Utilizado por (Interfaz::Método):
XMLValidator
isWellformed
Subir | Métodos | Enumeraciones
ENUMXSDVersion
public enum ENUMXSDVersion {
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
217
eXSDVersionAuto
eXSDVersion10
eXSDVersion11
}
ENUMXSDVersion contiene el literal de enumeración que especifica la versión de XML Schema.
eXSDVersionAuto: la versión se detecta automáticamente dependiendo del valor del
atributo vc:minVersion del documento XSD. Si el atributo vc:minVersion del
documento XSD tiene el valor 1.1, se considera que el documento tiene la versión XSD
1.1. Si este atributo tiene cualquier otro valor o si el atributo no está en el documento, se
entiende que el documento tiene la versión XSD 1.0.
eXSDVersion10: la versión de XML Schema para la validación se establece en XML
Schema 1.0.
eXSDVersion11: la versión de XML Schema para la validación se establece en XML
Schema 1.1.
Utilizado por (Interfaz::Método):
XMLValidator
XSLT
XQuery
setXSDVersion
setXSDVersion
setXSDVersion
Subir | Métodos | Enumeraciones
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
218
Interfaz Java
6.2.3
XSLT
Interfaces de RaptorXML para Java
public interface XSLT
Descripción
Transforma datos XML usando el documento XSLT 1.0, 2.0 o 3.0 dado. Los documentos XML y
XSLT se pueden aportar en forma de archivo (con una URL) o de cadena de texto. El resultado se
devuelve en forma de archivo (en la ubicación de destino dada) o como cadena de texto. Puede
indicar parámetros XSLT y habilitar funciones de extensión de Altova para un procesamiento
avanzado (p. ej. generación de gráficos). El documento XSLT también se puede validar. Cuando
las cadenas de texto de entrada se deben interpretar como URL, deben utilizarse rutas de
acceso absolutas.
A continuación describimos primero los métodos de la interfaz XSLT y después sus
enumeraciones.
Métodos
Los métodos de la clase se describen por orden alfabético. En la tabla se organizan por grupos
para facilitar la consulta.
Procesamiento
XSLT
isValid
setVersion
execute
setXSLFileName
executeAndGetResultAsString
setXSLFromText
executeAndGetResultAsStringWithBaseOutputURI
setaddExternalParameter
getLastErrorMessage
setclearExternalParametersList
setIndentCharacters
setInitialTemplateMode
setStreamingSerialization
setNamedTemplateEntryPoint
XML Schema
XML
Extensiones
setSchemaImports
setInputXMLFileName
setChartExtensionsEnabled
setSchemalocationHints
setInputXMLFromText
setDotNetExtensionsEnabled
setSchemaMapping
setLoadXMLWithPSVI
setJavaExtensionsEnabled
setXSDVersion
setXincludeSupport
setJavaBarcodeExtensionLocation
setXMLValidationMode
Subir | Métodos | Enumeraciones
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
219
addExternalParameter
public void addExternalParameter(String name, String value)
Añade el nombre y valor de un parámetro externo nuevo. Cada parámetro externo y su valor debe
especificarse en una llamada distinta al método. Los parámetros deben declararse en el
documento XML. Como los valores de parámetros son expresiones XPath, los valores de
parámetros que sean cadenas deben ir entre comillas simples.
Parámetros: name: almacena el nombre del parámetro, que es un QName, como cadena de
texto. value: almacena el valor del parámetro como cadena de texto.
Subir | Métodos | Enumeraciones
clearExternalParameterList
public void clearExternalVariableList()
Borra la lista de parámetros externos creada con el método AddExternalParameter.
Subir | Métodos | Enumeraciones
execute
public boolean execute(String outputFile)
Ejecuta la transformación XSLT de acuerdo con la especificación XSLT indicada en
ENUMXSLTVersion (véase el método setVersion) y guarda el resultado en el archivo de salida
indicado en el parámetro outputFile. Si ocurre un error, se emite una excepción
RaptorXMLException. Use el método getLastErrorMessage para obtener más información.
Parámetros: outputFile: una cadena que indica la ubicación (ruta de acceso y nombre de
archivo) del archivo de salida.
Devuelve: el booleano true si la ejecución finaliza correctamente y false si no se puede
completar la ejecución.
Subir | Métodos | Enumeraciones
executeAndGetResultAsString
public String executeAndGetResultAsString()
Ejecuta la transformación XSLT de acuerdo con la especificación XSLT indicada en
ENUMXSLTVersion (véase el método setVersion) y devuelve el resultado en forma de cadena de
texto. Si ocurre un error, se emite una excepción RaptorXMLException. Use el método
getLastErrorMessage para obtener más información.
Devuelve: una cadena que es el resultado de la transformación XSLT.
Subir | Métodos | Enumeraciones
executeAndGetResultAsStringWithBaseOutputURI
public String executeAndGetResultAsStringWithBaseOutputURI(String baseURI)
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
220
Interfaz Java
Interfaces de RaptorXML para Java
Ejecuta la transformación XSLT de acuerdo con la especificación XSLT indicada en
ENUMXSLTVersion (véase el método setVersion) y devuelve el resultado en forma de cadena de
texto en la ubicación definida por el URI base. Si ocurre un error, se emite una excepción
RaptorXMLException. Use el método getLastErrorMessage para obtener más información.
Parámetros: baseURI: una cadena que indica el URI.
Devuelve: una cadena que es el resultado de la transformación XSLT.
Subir | Métodos | Enumeraciones
getLastErrorMessage
public String getLastErrorMessage()
Recupera el último mensaje de error del motor XSLT.
Devuelve: una cadena que es el último mensaje de error del motor XSLT.
Subir | Métodos | Enumeraciones
isValid
public boolean isValid()
Devuelve el resultado de validar el documento XSLT de acuerdo con la especificación XSLT
indicada en ENUMXSLTVersion (véase el método setVersion). El resultado es true si el
documento es válido y false si no lo es. Si ocurre un error, se emite una excepción
RaptorXMLException. Use el método getLastErrorMessage para obtener más información.
Devuelve: el booleano true si el documento es válido y false si no lo es.
Subir | Métodos | Enumeraciones
setChartExtensionsEnabled
public void setChartExtensionsEnabled(boolean enable)
Habilita o deshabilita las funciones de extensión de Altova para gráficos.
Parámetros: enable: el valor true habilita las extensiones para gráficos; false las deshabilita. El
valor predeterminado es true.
Subir | Métodos | Enumeraciones
setDotNetExtensionsEnabled
public void setDotNetExtensionsEnabled(boolean enable)
Habilita o deshabilita las funciones de extensión .NET.
Parámetros: enable: el valor true habilita las extensiones .NET; false las deshabilita. El valor
predeterminado es true.
Subir | Métodos | Enumeraciones
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
221
setJavaBarcodeExtensionLocation
public void setJavaBarcodeExtensionLocation(String path)
Especifica la ubicación del archivo de extensión para códigos de barras. Consulte este anexo
para obtener más información.
Parámetros: path: la cadena indicada debe ser una URL absoluta que dé la ubicación base del
archivo que se debe usar.
Subir | Métodos | Enumeraciones
setJavaExtensionsEnabled
public void setJavaExtensionsEnabled(boolean enable)
Habilita o deshabilita las funciones de extensión Java.
Parámetros: enable: el valor true habilita las extensiones Java; false las deshabilita. El valor
predeterminado es true.
Subir | Métodos | Enumeraciones
setIndentCharacters
public void setIndentCharacters(String chars)
Establece el carácter que se usará como sangría en el documento de salida.
Parámetros: chars: almacena el carácter de sangría.
Subir | Métodos | Enumeraciones
setInitialTemplateMode
public void setInitialTemplateMode(String mode)
Establece el nombre del modo de plantilla inicial. El procesamiento comenzará a partir de las
plantillas que tengan este valor de modo. La transformación debe iniciarse después de asignar los
documentos XML y XSLT.
Parámetros: mode: el nombre del modo de plantilla inicial, en forma de cadena de texto.
Subir | Métodos | Enumeraciones
setInputXMLFileName
public void setInputXMLFileName(String xmlFile)
Establece la ubicación en forma de URL del documento XML que se debe transformar.
Parámetros: xmlFile: la cadena indicada debe ser una URL absoluta que dé la ubicación exacta
del archivo XML que se debe utilizar.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
222
Interfaz Java
Interfaces de RaptorXML para Java
Subir | Métodos | Enumeraciones
setInputXMLFromText
public void setInputXMLFromText(String xmlText)
Aporta el contenido del documento XML de entrada como texto.
Parámetros: xmlText: la cadena indicada son los datos XML que se deben procesar.
Subir | Métodos | Enumeraciones
setLoadXMLWithPSVI
public void setLoadXMLWithPSVI(boolean load)
Habilita o deshabilita la opción de carga y uso del conjunto Post Schema Validation Infoset
(PSVI). Si se carga el PSVI, la información obtenida del esquema se puede usar para calificar
datos del documento XML. El valor true habilita la carga de PSVI; false la deshabilita.
Parámetros: load: toma el booleano true o false.
Subir | Métodos | Enumeraciones
setNamedTemplateEntryPoint
public void setNamedTemplateEntryPoint(String template)
Aporta el nombre de la plantilla con nombre con la que se debe iniciar el procesamiento.
Parámetros: template: el nombre de la plantilla con nombre, en forma de cadena de texto.
Subir | Métodos | Enumeraciones
setSchemaImports
public void setSchemaImports(ENUMSchemaImports opt)
Especifica cómo se deben realizar las importaciones de esquema en función del valor de los
atributos de los elementos xs:import. Esto se especifica con el literal de ENUMSchemaImports
seleccionado.
Parámetros: opt: almacena el literal de ENUMSchemaImports que determina cómo se deben
realizar las importaciones de esquema.
Subir | Métodos | Enumeraciones
setSchemalocationHints
public void setSchemalocationHints(ENUMLoadSchemalocation opt)
Especifica el mecanismo que se debe usar para encontrar el esquema. El mecanismo viene dado
por el literal de ENUMLoadSchemalocation seleccionado.
Parámetros: opt: almacena el literal de ENUMLoadSchemalocation que determina el mecanismo
que se debe utilizar para encontrar el esquema.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
223
Subir | Métodos | Enumeraciones
setSchemaMapping
public void setSchemaMapping(ENUMSchemaMapping opt)
Establece qué asignación se usa para encontrar el esquema. La asignación viene dada por el
literal de ENUMSchemaMapping seleccionado.
Parámetros: opt: almacena el literal de ENUMSchemaMapping.
Subir | Métodos | Enumeraciones
setStreamingSerialization
public void setStreamingSerialization(boolean support)
Habilita la serialización de secuencias de datos. En el modo de transmisión por secuencias, los
datos almacenados en memoria se minimizan y el procesamiento es más rápido.
Parámetros: support: el valor true habilita la serialización de secuencias de datos; false la
deshabilita.
Subir | Métodos | Enumeraciones
setVersion
public void setVersion(EnumXSLTVersion version)
Establece la versión XSLT que se debe usar para el procesamiento (validación o transformación
XSLT).
Parámetros: version: almacena un literal de EnumXSLTVersion: eVersion10, eVersion20 o
eVersion30.
Subir | Métodos | Enumeraciones
setXincludeSupport
public void setXIncludeSupport(boolean support)
Habilita o deshabilita el uso de elementos XInclude. El valor true habilita el uso de elementos
XInclude; false lo deshabilita. El valor predeterminado es false.
Parámetros: support: toma el booleano true o false.
Subir | Métodos | Enumeraciones
setXMLValidationMode
public void setXMLValidationMode(ENUMXMLValidationMode mode)
Establece el modo de validación XML, que es un literal de enumeración de
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
224
Interfaz Java
Interfaces de RaptorXML para Java
ENUMXMLValidationMode.
Parámetros: mode: es un literal de enumeración de ENUMXMLValidationMode.
Subir | Métodos | Enumeraciones
setXSDVersion
public void setXSDVersion(ENUMXSDVersion version)
Establece la versión de XML Schema con la que se debe validar el documento XML.
Parámetros: version: es un literal de enumeración de ENUMXSDVersion.
Subir | Métodos | Enumeraciones
setXSLFileName
public void setXSLFileName(String xslFile)
Establece la ubicación en forma de URL del documento XSLT que se debe usar para la
transformación.
Parámetros: xslFile: la cadena indicada debe ser una URL absoluta que aporta la ubicación
exacta del archivo XSLT.
Subir | Métodos | Enumeraciones
setXSLFromText
public void setXSLFromText(String xslText)
Aporta el contenido del documento XSLT como texto.
Parámetros: xslText: la cadena indicada es el documento XSLT que se debe usar para la
transformación.
Subir | Métodos | Enumeraciones
Enumeraciones
ENUMXSLTVersion
ENUMXSLTVersion
public enum ENUMXSLTVersion {
eVersion10
eVersion20
eVersion30 }
ENUMXSLTVersion toma uno de estos literales de enumeración: eVersion10, eVersion20,
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
225
eVersion30. Determinan la versión XSLT que se debe usar para el procesamiento (validación o
transformación XSLT).
Utilizado por (Interfaz::Método):
XSLT
setVersion
Subir | Métodos | Enumeraciones
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
226
Interfaz Java
6.2.4
XQuery
Interfaces de RaptorXML para Java
public interface XQuery
Descripción
Ejecuta documentos XQuery 1.0 y 3.0 usando el motor de RaptorXML. Los documentos XQuery y
XML pueden darse como archivos (por medio de una URL) o como cadenas de texto. El resultado
se devuelve en forma de archivo (en la ubicación de destino indicada) o como cadena de texto.
Puede indicar variables XQuery externas y habilitar diferentes opciones de serialización. El
documento XQuery también se puede validar. Cuando las cadenas de texto de entrada se deben
interpretar como URL, deben utilizarse rutas de acceso absolutas.
A continuación describimos primero los métodos de la interfaz XQuery y después sus
enumeraciones.
Métodos
Los métodos de la clase se describen por orden alfabético. En la tabla se organizan por grupos
para facilitar la consulta.
Procesamiento
XML
XQuery
isValid
setInputXMLFileName
setVersion
isValidUpdate
setInputXMLFromText
setXQueryFileName
execute
setLoadXMLWithPSVI
setXQueryFromText
executeAndGetResultAsString
setXincludeSupport
addExternalVariable
executeUpdate
setXMLValidationMode clearExternalVariable
List
executeUpdateAndGetResultAsString
setXSDVersion
getLastErrorMessage
setUpdatedXMLWriteMode
Opciones de serialización
Extensiones
setIndentCharacters
setChartExtensionsEnabled
setKeepFormatting
setDotNetExtensionsEnabled
setOutputEncoding
setJavaExtensionsEnabled
setOutputIndent
setOutputMethod
setOutputOmitXMLDeclaration
Subir | Métodos | Enumeraciones
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
227
addExternalVariable
public void addExternalVariable(String name, String value)
Añade el nombre y valor de una variable externa nueva. Cada variable externa y su valor se debe
especificar en una llama distinta al método. Las variables se deben declarar en el documento
XQuery (y la declaración de tipo es opcional). Si el valor de la variable es una cadena de texto,
ponga el valor entre comillas simples.
Parámetros: name: almacena el nombre de la variable, que es un QName, como cadena de texto.
value: almacena el valor de la variable como cadena de texto.
Subir | Métodos | Enumeraciones
clearExternalVariableList
public void clearExternalVariableList()
Borra la lista de variables externas creadas con el método AddExternalVariable.
Subir | Métodos | Enumeraciones
execute
public boolean execute(String outputFile)
Ejecuta la transformación XQuery siguiendo la especificación XQuery indicada en
ENUMXQueryVersion (véase el método setVersion) y guarda el resultado en el archivo de salida
indicado en el parámetro outputFile.
Parámetros: outputFile: una cadena que indica la ubicación (ruta de acceso y nombre de
archivo) del archivo de salida.
Devuelve: el booleano true si la ejecución finaliza correctamente, false si no.
Subir | Métodos | Enumeraciones
executeUpdate
public boolean executeUpdate(String outputFile)
Ejecuta la actualización XQuery siguiendo la especificación XQuery Update indicada por
ENUMXQueryVersion (véase el método setVersion) y guarda el resultado en el archivo de salida
indicado en el parámetro outputFile.
Parámetros: outputFile: una cadena de texto que ofrece la ubicación (ruta de acceso y nombre
de archivo) del archivo de salida.
Devuelve: el booleano true si la ejecución finaliza correctamente, false si no.
Subir | Métodos | Enumeraciones
executeAndGetResultAsString
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
228
Interfaz Java
Interfaces de RaptorXML para Java
public String executeAndGetResultAsString()
Ejecuta la transformación XQuery siguiendo la especificación XQuery indicada en
ENUMXQueryVersion (véase el método setVersion) y devuelve el resultado en forma de cadena
de texto.
Devuelve: una cadena que es el resultado de la ejecución de XQuery.
Subir | Métodos | Enumeraciones
executeUpdateAndGetResultAsString
public String executeUpdateAndGetResultAsString()
Ejecuta la actualización XQuery siguiendo la especificación XQuery Update indicada por
ENUMXQueryVersion (véase el método setVersion)y devuelve el resultado en forma de cadena de
texto.
Devuelve: una cadena que es el resultado de la ejecución de XQuery Update.
Subir | Métodos | Enumeraciones
getLastErrorMessage
public String getLastErrorMessage()
Recupera el último mensaje de error del motor XQuery.
Devuelve: una cadena que es el último mensaje de error del motor XQuery.
Subir | Métodos | Enumeraciones
isValid
public boolean isValid()
Devuelve el resultado de validar el documento XQuery de acuerdo con la especificación XQuery
indicada en ENUMXQueryVersion (véase el método setVersion). El resultado es true si el
documento es válido y false si no lo es. Si ocurre un error, se emite una excepción
RaptorXMLException. Use el método getLastErrorMessage para obtener más información.
Devuelve: el booleano true si el documento es válido, false si no lo es.
Subir | Métodos | Enumeraciones
isValidUpdate
public boolean isValidUpdate()
Devuelve el resultado de validar el documento XQuery Update de acuerdo con la especificación
XQuery Update indicada en ENUMXQueryVersion (véase el método setVersion). El resultado es
true si el documento es válido y false si no lo es. Si ocurre un error, se emite una excepción
RaptorXMLException. Use el método getLastErrorMessage para obtener más información.
Devuelve: el booleano true si el documento es válido, false si no lo es.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
229
Subir | Métodos | Enumeraciones
setChartExtensionsEnabled
public void setChartExtensionsEnabled(boolean enable)
Habilita o deshabilita las funciones de extensión de Altova para gráficos.
Parámetros: enable: el valor true habilita las extensiones para gráficos; false las deshabilita. El
valor predeterminado es true.
Subir | Métodos | Enumeraciones
setDotNetExtensionsEnabled
public void setDotNetExtensionsEnabled(boolean enable)
Habilita o deshabilita las funciones de extensión .NET.
Parámetros: enable: el valor true habilita las extensiones .NET; false las deshabilita. El valor
predeterminado es true.
Subir | Métodos | Enumeraciones
setIndentCharacters
public void setIndentCharacters(String chars)
Establece el carácter que se usará como sangría en el documento de salida.
Parámetros: chars: almacena el carácter de sangría.
Subir | Métodos | Enumeraciones
setInputXMLFileName
public void setInputXMLFileName(String xmlFile)
Establece la ubicación en forma de URL del documento XML que se debe usar para la ejecución
de XQuery.
Parámetros: xmlFile: la cadena indicada debe ser una URL absoluta que dé la ubicación exacta
del archivo XML que se debe usar.
Subir | Métodos | Enumeraciones
setInputXMLFromText
public void setInputXMLFromText(String xmlText)
Aporta el contenido del documento XML de entrada como texto.
Parámetros: xmlText: la cadena indicada son los datos XML que se deben procesar.
Subir | Métodos | Enumeraciones
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
230
Interfaz Java
Interfaces de RaptorXML para Java
setJavaExtensionsEnabled
public void setJavaExtensionsEnabled(boolean enable)
Habilita o deshabilita las funciones de extensión Java.
Parámetros: enable: el valor true habilita las extensiones Java; false las deshabilita. El valor
predeterminado es true.
Subir | Métodos | Enumeraciones
setKeepFormatting
public void setKeepFormatting(boolean keep)
Habilita o deshabilita la opción de conservar el formato original de los archivos que se
actualizarán con executeUpdate.
Parámetros: keep: toma el valor booleano true o false.
Subir | Métodos | Enumeraciones
setLoadXMLWithPSVI
public void setLoadXMLWithPSVI(boolean load)
Habilita o deshabilita la opción de carga y uso del conjunto Post Schema Validation Infoset
(PSVI). Si se carga el PSVI, la información obtenida del esquema se puede usar para calificar
datos del documento XML. El valor true habilita la carga de PSVI; false la deshabilita.
Parámetros: load: toma el booleano true o false.
Subir | Métodos | Enumeraciones
setOutputEncoding
public void setOutputEncoding(String encoding)
Establece la codificación del documento de salida.
Parámetros: encoding: usa un nombre de codificación IANA oficial como UTF-8, UTF-16, USASCII, ISO-8859-1 como cadena de texto.
Subir | Métodos | Enumeraciones
setOutputIndent
public void setOutputIndent(boolean indent)
Habilita o deshabilita la aplicación de sangría en el documento de salida.
Parámetros: indent: el valor true habilita la sangría; false la deshabilita.
Subir | Métodos | Enumeraciones
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
231
setOutputMethod
public void setOutputMethod(String outputMethod)
Especifica la serialización del documento de salida.
Parámetros: outputMethod: los valores válidos son xml | xhtml | html | text, dados como
cadenas de texto. El valor predeterminado es xml.
Subir | Métodos | Enumeraciones
setOutputOmitXMLDeclaration
public void setOutputOmitXMLDeclaration(boolean omit)
Habilita o deshabilita la inclusión de la declaración XML en el documento de salida.
Parámetros: omit: el valor true omite la declaración; false la incluye. El valor predeterminado
es false.
Subir | Métodos | Enumeraciones
setUpdatedXMLWriteMode
public void setUpdatedXMLWriteMode(EnumXQueryUpdatedXML mode)
Establece el modo que se debe usar para la actualización.
Parámetros: mode: almacena el literal eUpdatedDiscard, eUpdatedWriteback o
eUpdatedAsMainResult de la enumeración EnumXQueryUpdatedXML.
Subir | Métodos | Enumeraciones
setVersion
public void setVersion(EnumXQueryVersion version)
Establece la versión de XQuery que se debe usar para el procesamiento (validación o ejecución
de XQuery).
Parámetros: version: almacena un literal de enumeración de EnumXQueryVersion: eVersion10
o eVersion30. El valor predeterminado es eVersion30ml.
Subir | Métodos | Enumeraciones
setXincludeSupport
public void setXIncludeSupport(boolean support)
Habilita o deshabilita el uso de elementos XInclude. El valor true habilita el uso de elementos
XInclude; false lo deshabilita. El valor predeterminado es false.
Parámetros: support: toma el booleano true o false.
Subir | Métodos | Enumeraciones
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
232
Interfaz Java
Interfaces de RaptorXML para Java
setXMLValidationMode
public void setXMLValidationMode(ENUMXMLValidationMode mode)
Establece el modo de validación XML, que es un literal de enumeración de
ENUMXMLValidationMode.
Parámetros: mode: es un literal de enumeración de ENUMXMLValidationMode.
Subir | Métodos | Enumeraciones
setXQueryFileName
public void setXQueryFileName(String queryFile)
Establece la ubicación en forma de URL del archivo XQuery que debe ejecutarse.
Parámetros: queryFile: la cadena indicada debe ser una URL absoluta que dé la ubicación
exacta del archivo XML que se debe usar.
Subir | Métodos | Enumeraciones
setXQueryFromText
public void setXQueryFromText(String queryText)
Aporta el contenido del documento XQuery en forma de texto.
Parámetros: queryText: la cadena dada es el documento XQuery que se debe procesar.
Subir | Métodos | Enumeraciones
setXSDVersion
public void setXSDVersion(ENUMXSDVersion version)
Establece la versión de XML Schema con la que se debe validar el documento XML.
Parámetros: version: es un literal de enumeración de ENUMXSDVersion.
Subir | Métodos | Enumeraciones
Enumeraciones
ENUMXQueryUpdatedXML
ENUMXQueryVersion
ENUMXQueryUpdatedXML
public enum ENUMXQueryUpdatedXML {
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaz Java
Interfaces de RaptorXML para Java
233
eUpdatedDiscard
eUpdatedWriteback
eeUpdatedAsMainResult }
ENUMXQueryVersion toma uno de estos literales de enumeración:
eUpdatedDiscard: las actualizaciones se descartan y no se escriben en el archivo.
eUpdatedWriteback: las actualizaciones se escriben en el archivo de entrada indicado con
setInputXMLFileName.
eUpdatedAsMainResult: las actualizaciones se escriben en la ubicación indicada por el
parámetro outputFile de ExecuteUpdate.
Utilizado por (Interfaz::Método):
XQuery
setUpdatedXMLWriteMode
Subir | Métodos | Enumeraciones
ENUMXQueryVersion
public enum ENUMXQueryVersion {
eVersion10
eVersion30 }
ENUMXQueryVersion toma uno de estos literales de enumeración: eVersion10, eVersion30.
Determinan la versión de XQuery que se debe usar para el procesamiento (ejecución o
validación).
Utilizado por (Interfaz::Método):
XQuery
setVersion
Subir | Métodos | Enumeraciones
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
234
Interfaz Java
6.2.5
RaptorXMLException
Interfaces de RaptorXML para Java
public interface RaptorXMLException
Descripción
Tiene un solo método que genera la excepción.
RaptorXMLException
public void RaptorXMLException(String message)
Genera una excepción con información sobre el error que se produce durante el procesamiento.
Parámetros: message: una cadena con información sobre el error.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
Interfaces COM y .NET
236
Interfaces COM y .NET
7
Interfaces COM y .NET
Dos interfaces, una sola API
Las interfaces COM y .NET de RaptorXML Server utilizan una sola API: la API de COM/.NET API
para RaptorXML Server. La interfaz .NET está construida como un contenedor alrededor de la
interfaz COM.
Puede usar RaptorXML con:
Lenguajes de scripting como JavaScript, a través de la interfaz COM
Lenguajes de programación como C#, a través de la interfaz .NET
Apartados de esta sección
Esta sección se divide en varios apartados:
Notas sobre la interfaz COM: funcionamiento general de la interfaz COM y pasos
necesarios para trabajar con ella.
Notas sobre la interfaz .NET: cómo preparar el entorno de desarrollo para trabajar con la
interfaz .NET.
Lenguajes de programación: fragmentos de código en los lenguajes de programación
más frecuentes, que muestran cómo se llama a las funciones de RaptorXML.
Referencia de API: documentación del modelo de objetos, de los objetos y de las
propiedades de la API.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
7.1
Notas sobre la interfaz COM
237
Notas sobre la interfaz COM
Durante la instalación, RaptorXML Server se registra automáticamente como objeto de servidor
COM. Esto permite invocar a RaptorXML Server desde otras aplicaciones y lenguajes de scripting
compatibles con el uso de llamadas COM. Si quiere cambiar la ubicación del paquete de
instalación de RaptorXML Server, es mejor desinstalar RaptorXML Server y volver a instalarlo en
su nueva ubicación. De este modo el programa de instalación se encarga del proceso de registro.
Comprobar si RaptorXML Server se registró correctamente
Si RaptorXML Server se registró correctamente, el registro incluye las clases RaptorXML.Server.
Estas clases suelen estar en HKEY_LOCAL_MACHINE\SOFTWARE\Classes.
Código de ejemplo
El ejemplo de código VBScript muestra cómo se puede usar la API de RaptorXML a través de su
interfaz COM. Para este fragmento de código también ofrecemos un archivo de ejemplo en la
carpeta examples/API de la carpeta de aplicación de RaptorXML.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
238
Interfaces COM y .NET
7.2
Notas sobre la interfaz NET
Notas sobre la interfaz NET
La interfaz .NET está construida como contenedor alrededor de la interfaz COM de RaptorXML.
Se ofrece como ensamblado de interoperabilidad principal firmado por Altova y usa el espacio de
nombres Altova.RaptorXMLServer.
Añadir al proyecto Visual Studio .NET una referencia al DLL de RaptorXML
Para poder usar RaptorXML en su proyecto .NET debe añadir una referencia al DLL de
RaptorXML (Altova.RaptorXMLServer.dll) en el proyecto. El paquete de instalación de
RaptorXML Server contiene un archivo DLL firmado y llamado Altova.RaptorXMLServer.dll,
que se añadirá automáticamente al caché global de ensamblados cuando se instale RaptorXML
usando el programa de instalación de RaptorXML. (Su ubicación suele ser la carpeta C:\WINDOWS
\assembly.)
Para añadir una referencia a este DLL en un proyecto .NET:
1.
Abra el proyecto .NET y haga clic en Proyecto | Añadir referencia. Aparece el cuadro
de diálogo "Añadir referencia" (imagen siguiente).
2.
En la pestaña Browse vaya a la carpeta: <RaptorXML application folder>/bin,
seleccione el DLL de RaptorXML Altova.RaptorXMLServer.dll y haga clic en Aceptar.
Seleccione el comando View | Object Browser para ver los objetos de la API de
RaptorXML.
3.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Notas sobre la interfaz NET
239
Cuando Altova.RaptorXMLServer.dll esté a disposición de la interfaz .NET y RaptorXML esté
registrado como objeto servidor COM, las funciones de RaptorXML estarán disponibles en el
proyecto .NET.
Nota:
RaptorXML se registra automáticamente como objeto servidor COM durante la
instalación. No es necesario registrarlo a mano.
Nota:
si recibe un error de acceso, compruebe que tiene los permisos necesarios. Vaya a
Servicios de componentes y otorge permisos a la misma cuenta que ejecuta el grupo de
aplicaciones que contiene RaptorXML.
Código de ejemplo
El ejemplo de código C# y de código Visual Basic .NET muestran cómo se puede usar la API de
RaptorXML a través de su interfaz .NET. Para estos ejemplos de código también ofrecemos
archivos de muestra en la carpeta examples/API de la carpeta de aplicación de RaptorXML.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
240
Interfaces COM y .NET
7.3
Lenguajes de programación
Lenguajes de programación
No todos los lenguajes de programación ofrecen la misma compatibilidad con COM y .NET. A
continuación puede ver algunos ejemplos para los lenguajes de programación más frecuentes.
Los fragmentos de código que aparecen en este apartado explican cómo acceder a funciones
básicas. Estas funciones básicas están incluidas en los archivos de la carpeta examples/API de
la carpeta de aplicación RaptorXML Server.
VBScript
VBScript se puede usar para acceder a la API de COM de RaptorXML Server. El ejemplo de
código VBScript demuestra estas funciones básicas:
Conectarse a la API de COM de RaptorXML Server
Validar un archivo XML
Realizar una transformación XSLT
Ejecutar un XQuery
C#
C# se puede usar para acceder a la API de .NET de RaptorXML Server. El ejemplo de código C#
demuestra cómo acceder a la API para utilizar estas funciones básicas:
Conectarse a la API de .NET de RaptorXML Server
Validar un archivo XML
Realizar una transformación XSLT
Ejecutar un XQuery
Visual Basic .NET
Visual Basic.NET solo difiere de C# en la sintaxis. El acceso a la API de .NET funciona
exactamente igual. El ejemplo de código Visual Basic demuestra estas funciones básicas:
Conectarse a la API de .NET de RaptorXML Server
Validar un archivo XML
Realizar una transformación XSLT
Ejecutar un XQuery
Este apartado contiene estos ejemplos:
Para la interfaz COM
Un ejemplo de código VBScript
Para la interfaz .NET
Un ejemplo de código C#
Un ejemplo de código Visual Basic
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
© 2015 Altova Gmb H
Lenguajes de programación
241
Altova RaptorXML Server 2015
242
Interfaces COM y .NET
7.3.1
Ejemplo de COM: VBScript
Lenguajes de programación
Este ejemplo de código VBScript se divide en varias partes:
Preparación e inicialización del objeto COM de RaptorXML
Validación de un archivo XML
Transformación XSLT y devolución del resultado en forma de cadena de texto
Procesamiento de un documento XQuery y devolución del resultado en forma de archivo
Preparación de la secuencia de ejecución del script y de su punto de entrada
' El objeto COM de RaptorXML
dim objRaptor
' Inicializar el objeto COM de RaptorXML
sub Init
objRaptor = Null
On Error Resume Next
' Intentar cargar el objeto COM de 32 bits. No emitir excepciones si no
se encuentra el objeto
Set objRaptor = WScript.GetObject( "", "RaptorXML.Server" )
On Error Goto 0
if ( IsNull( objRaptor ) ) then
' Intentar cargar el objeto COM de 64 bits (se emite una excepción
si no se encuentra el objeto)
Set objRaptor = WScript.GetObject( "", "RaptorXML_x64.Server" )
end if
' Configurar el servidor: notificación de errores, nombre y puerto del
servidor HTTP (IPv6 localhost en este
ejemplo)
objRaptor.ErrorLimit = 1
objRaptor.ReportOptionalWarnings = true
objRaptor.ServerName = "::1"
objRaptor.ServerPort = 8087
end sub
' Validar un archivo
sub ValidateXML
' Obtener una instancia del validador del objeto servidor
dim objXMLValidator
Set objXMLValidator = objRaptor.GetXMLValidator()
' Configurar los datos de entrada
objXMLValidator.InputXMLFileName = "MiArchivoXML.xml"
' Validar; en caso de que el archivo no sea válido, notificar el problema
devuelto por RaptorXML
if ( objXMLValidator.IsValid() ) then
MsgBox( "La cadena de entrada es válida" )
else
MsgBox( objXMLValidator.LastErrorMessage )
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Lenguajes de programación
243
end if
end sub
' Realizar una transformación; devolver el resultado en forma de cadena de texto
sub RunXSLT
' Obtener una instancia del motor XSLT del objeto servidor
dim objXSLT
set objXSLT = objRaptor.GetXSLT
' Configurar los datos de entrada
objXSLT.InputXMLFileName = "MiArchivoXML.xml"
objXSLT.XSLFileName = "MiTransformación.xsl"
' Ejecutar la transformación; si finaliza correctamente, el resultado se
devuelve. Si no, el motor devuelve una lista de errores
MsgBox( objXSLT.ExecuteAndGetResultAsString() )
end sub
' Ejecutar un XQuery; guardar el resultado en un archivo
sub RunXQuery
' Obtener una instancia del motor XQuery del objeto servidor
dim objXQ
set objXQ = objRaptor.GetXQuery()
' Configurar los datos de entrada
objXQ.InputXMLFileName = "MiArchivoXML.xml"
objXQ.XQueryFileName = "MiXQuery.xq"
' Configurar la serialización (opcional si quiere perfeccionar el formato
del archivo de salida)
objXQ.OutputEncoding = "UTF8"
objXQ.OutputIndent = true
objXQ.OutputMethod = "xml"
objXQ.OutputOmitXMLDeclaration = false
' Ejecutar la consulta; el resultado se serializa en la ruta de acceso
indicada
call objXQ.Execute( "MyQueryResult.xml" )
end sub
' Realizar todas las funciones de muestra
sub main
Init
ValidateXML
RunXSLT
RunXQuery
end sub
' Punto de entrada del script; ejecutar la función principal
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
244
Interfaces COM y .NET
Lenguajes de programación
main
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
7.3.2
Lenguajes de programación
245
Ejemplo de .NET: C#
Este ejemplo de código C# se divide en varias partes:
Preparación e inicialización del objeto .NET de RaptorXML
Validación de un archivo XML
Transformación XSLT y devolución del resultado en forma de cadena de texto
Procesamiento de un documento XQuery y devolución del resultado en forma de archivo
Preparar la secuencia de ejecución del código y su punto de entrada
using System;
using System.Text;
using Altova.RaptorXMLServer;
namespace RaptorXMLRunner
{
class Program
{
// El objeto .NET de RaptorXML
static ServerClass objRaptorXMLServer;
// Inicializar el objeto .NET de RaptorXML
static void Init()
{
// Asignar un objeto de RaptorXML
objRaptorXMLServer = new ServerClass();
// Configurar el servidor: notificación de errores, nombre y puerto del
servidor HTTP
// (IPv6 localhost en este ejemplo)
objRaptorXMLServer.ErrorLimit = 1;
objRaptorXMLServer.ReportOptionalWarnings = true;
objRaptorXMLServer.ServerName = "::1"
objRaptorXMLServer.ServerPort = 8087
}
// Validar un archivo
static void ValidateXML()
{
// Obtener una instancia del motor de validación del objeto servidor
XMLValidator objXMLValidator =
objRaptorXMLServer.GetXMLValidator();
// Configurar los datos de entrada
objXMLValidator.InputXMLFileName = "MyXMLFile.xml";
// Validar; si el archivo no es válido,
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
246
Interfaces COM y .NET
Lenguajes de programación
notificar el problema devuelto por RaptorXML
if ( objXMLValidator.IsValid() )
Console.WriteLine( "La cadena de entrada no es válida" );
else
Console.WriteLine( objXMLValidator.LastErrorMessage );
}
// Realizar una transformación XSLT y
// devolver el resultado en forma de cadena de texto
static void RunXSLT()
{
// Obtener una instancia del motor XSLT del objeto servidor
XSLT objXSLT = objRaptorXMLServer.GetXSLT();
// Configurar los datos de entrada
objXSLT.InputXMLFileName = "MiArchivoXML.xml";
objXSLT.XSLFileName = "MiTransformación.xsl";
// Ejecutar la transformación.
// Si se ejecuta correctamente, el resultado se devuelve.
// Si hay errores, se emite una lista de errores
Console.WriteLine( objXSLT.ExecuteAndGetResultAsString() );
}
// Ejecutar un XQuery y guardar el resultado en un archivo
static void RunXQuery()
{
// Obtener una instancia del motor XQuery del objeto servidor
XQuery objXQuery = objRaptorXMLServer.GetXQuery();
// Configurar los datos de entrada
objXQuery.InputXMLFileName = exampleFolder + "simple.xml";
objXQuery.XQueryFileName = exampleFolder + "CopyInput.xq";
// Configurar la serialización (opcional si quiere mejorar el formato
de salida)
objXQuery.OutputEncoding = "UTF8"
objXQuery.OutputIndent = true
objXQuery.OutputMethod = "xml"
objXQuery.OutputOmitXMLDeclaration = false
// Ejecutar la consulta. El resultado se serializa en la ruta de
acceso indicada
objXQuery.Execute( "MyQueryResult.xml" );
}
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Lenguajes de programación
247
static void Main(string[] args)
{
try
{
// Punto de entrada. Realizar todas las funciones
Init();
ValidateXML();
RunXSLT();
RunXQuery();
}
catch (System.Exception ex)
{
Console.WriteLine( ex.Message );
Console.WriteLine( ex.ToString() );
}
}
}
}
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
248
Interfaces COM y .NET
7.3.3
Ejemplo de .NET: Visual Basic .NET
Lenguajes de programación
Este ejemplo de código Visual Basic se divide en varias partes:
Preparar e inicializar el objeto .NET de RaptorXML
Validar un archivo XML
Transformación XSLT y devolución del resultado en forma de cadena de texto
Procesamiento de un documento XQuery y devolución del resultado en forma de archivo
Preparación de la secuencia de ejecución del código y de su punto de entrada
Option Explicit On
Imports Altova.RaptorXMLServer
Module RaptorXMLRunner
' El objeto .NET de RaptorXML
Dim objRaptor As Server
' Inicializar el objeto .NET de RaptorXML
Sub Init()
' Asignar un objeto RaptorXML
objRaptor = New Server()
' Configurar el servidor: notificación de errores, nombre y puerto del
servidor HTTP (IPv6 localhost en este ejemplo)
objRaptor.ErrorLimit = 1
objRaptor.ReportOptionalWarnings = True
objRaptor.ServerName = "::1"
objRaptor.ServerPort = 8087
End Sub
' Validar un archivo
Sub ValidateXML()
' Obtener una instancia del validador del objeto RaptorXML
Dim objXMLValidator As XMLValidator
objXMLValidator = objRaptor.GetXMLValidator()
' Configurar los datos de entrada
objXMLValidator.InputXMLFileName = "MiArchivoXML.xml"
' Validar; si el archivo no es válido, notificar el problema devuelto por
RaptorXML
If (objXMLValidator.IsValid()) Then
Console.WriteLine("La cadena de entrada es válida")
Else
Console.WriteLine(objXMLValidator.LastErrorMessage)
End If
End Sub
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Lenguajes de programación
249
' Realizar una transformación; devolver el resultado en forma de cadena de
texto
Sub RunXSLT()
' Obtener una instancia del motor XSLT del objeto servidor
Dim objXSLT As XSLT
objXSLT = objRaptor.GetXSLT()
' Configurar los datos de entrada
objXSLT.InputXMLFileName = "MiArchivoXML.xml"
objXSLT.XSLFileName = "MiTransformación.xsl"
' Ejecutar la transformación; si se ejecuta correctamente, se devuelve el
resultado; si hay errores, devolver una lista de errores
Console.WriteLine(objXSLT.ExecuteAndGetResultAsString())
End Sub
' Ejecutar un XQuery; guardar el resultado en un archivo
Sub RunXQuery()
' Obtener una instancia del motor XQuery del objeto servidor
Dim objXQ As XQuery
objXQ = objRaptor.GetXQuery()
' Configurar los datos de entrada
objXQ.InputXMLFileName = "MyXMLFile.xml"
objXQ.XQueryFileName = "MyQuery.xq"
' Configurar la serialización (opcional para mejorar el formato del
archivo de salida)
objXQ.OutputEncoding = "UTF8"
objXQ.OutputIndent = true
objXQ.OutputMethod = "xml"
objXQ.OutputOmitXMLDeclaration = false
' Ejecutar la consulta; el resultado se serializa en la ruta de acceso
indicada
objXQ.Execute( "MyQueryResult.xml" )
End Sub
Sub Main()
' Punto de entrada; realizar todas las funciones de muestra
Init()
ValidateXML()
RunXSLT()
RunXQuery()
End Sub
End Module
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
250
Interfaces COM y .NET
7.4
Referencia de la API
Referencia de la API
Esta sección describe la especificación de la API: su modelo de objetos y los detalles de sus
interfaces y enumeraciones.
El punto de partida para usar las funciones de RaptorXML es la interfaz IServer. Este objeto
contiene los objetos que ofrecen las funciones de RaptorXML: validación XML, transformaciones
XSLT y procesamiento de documentos XQuery. El modelo de objetos de la API de RaptorXML
aparece en este esquema:
La jerarquía del modelo de objetos aparece más abajo y las interfaces se describen una por una
en los apartados siguientes. Los métodos y propiedades de cada interfaz también se describen
en detalle.
-- IServer
|-- IXMLValidator
|-- IXSLT
|-- IXQuery
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
7.4.1
Referencia de la API
251
Interfaces
Las interfaces definidas son estas:
IServer
IXMLValidator
IXSLT
IXQuery
IServer
La interfaz IServer ofrece métodos para devolver las interfaces del motor de RaptorXML
correspondiente: del validador XML, XSLT y XQuery. Las propiedades definen los parámetros de la
interfaz.
Métodos
IXMLValidator
IXSLT
IXQuery
Propiedades
APIMajorVersion
GlobalResourcesFile
ServerName
APIMinorVersion
Is64Bit
ServerPath
APIServicePackVersion
MajorVersion
ServerPort
ErrorFormat
MinorVersion
ServicePackVersion
ErrorLimit
ProductName
UserCatalog
GlobalCatalog
ProductNameAndVersion
GlobalResourceConfig
ReportOptionalWarnings
Métodos
Los métodos de la IServer devuelven interfaces del correspondiente motor de RaptorXML: del
validador XML, XSLT y XQuery.
IXMLValidator GetXMLValidator()
[Subir | Métodos | Propiedades ]
Devuelve una instancia del motor del validador XML.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
252
Interfaces COM y .NET
IXSLT GetXSLT()
Referencia de la API
[Subir | Métodos | Propiedades ]
Devuelve una instancia del motor XSLT.
IXQuery GetXQuery()
[Subir | Métodos | Propiedades ]
Devuelve una instancia del motor XQuery.
Propiedades
Las propiedades de la interfaz IServer se describen a continuación por orden alfabético. La tabla
organiza las propiedades por grupos para facilitar su consulta. Recuerde que las cadenas de
entrada que deben interpretarse como direcciones URL deben dar rutas de acceso absolutas. Si
se usa una ruta de acceso relativa, debe definir en el módulo de llamada un mecanismo para
resolver la ruta de acceso relativa.
Errores y advertencias
Catálogos
Recursos globales
Servidor HTTP
ErrorFormat
GlobalCatalog
GlobalResourceConfig
ServerName
ErrorLimit
UserCatalog
GlobalResourcesFile
ServerPath
ReportOptionalWarnings
ServerPort
Información sobre el producto
ProductName
Is64Bit
ProductNameAndVersion
APIMajorVersion
MajorVersion
APIMinorVersion
MinorVersion
APIServicePackVersion
ServicePackVersion
int APIMajorVersion
[Subir | Métodos | Propiedades ]
Devuelve la versión principal de la API como número entero. La versión principal de la API puede
ser distinta a la versión principal del producto si la API está conectada a otro servidor.
int APIMinorVersion
[Subir | Métodos | Propiedades ]
Devuelve la versión secundaria de la API como número entero. La versión principal de la API
puede ser distinta a la versión secundaria del producto si la API está conectada a otro servidor.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
int APIServicePackVersion
253
[Subir | Métodos | Propiedades ]
Devuelve la versión del service pack de la API como número entero. La versión del service pack
de la API puede ser distinta a la versión del service pack del producto si la API está conectada a
otro servidor.
ENUMErrorFormat ErrorFormat
[Subir | Métodos | Propiedades ]
Establece el formato de los errores de RaptorXML y es un literal de ENUMErrorFormat (Text |
ShortXML | LongXML).
int ErrorLimit
[Subir | Métodos | Propiedades ]
Configura el límite de errores de validación de RaptorXML. Es de tipo uint. Si se alcanza el límite
de errores, la ejecución se detiene. El valor predeterminado es 100.
string GlobalCatalog
[Subir | Métodos | Propiedades ]
Indica la ubicación del archivo de catálogo principal (punto de entrada). La cadena indicada debe
ser una URL absoluta que dé la ubicación exacta del archivo de catálogo que se debe usar.
string GlobalResourceConfig
[Subir | Métodos | Propiedades ]
Indica la configuración activa del recurso global que se debe utilizar.
string GlobalResourcesFile
[Subir | Métodos | Propiedades ]
Indica el archivo de recurso global. la cadena indicada debe ser una URL absoluta que dé la
ubicación exacta del archivo de recursos globales que se debe usar.
bool Is64Bit
[Subir | Métodos | Propiedades ]
Comprueba si la aplicación es un ejecutable de 64 bits. Ejemplo: para Altova RaptorXML
Server 2015r2sp1(x64), devuelve true.
int MajorVersion
[Subir | Métodos | Propiedades ]
Devuelve la versión principal del producto como número entero. Ejemplo: para Altova RaptorXML
Server 2014r2sp1(x64), devuelve 16 (la diferencia entre la versión principal (2014) y el año
inicial 1998).
int MinorVersion
[Subir | Métodos | Propiedades ]
Devuelve la versión secundaria del producto como número entero. Ejemplo: para Altova
RaptorXML Server 2015r2sp1(x64), devuelve 2 (del número de la versión secundaria r2).
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
254
Interfaces COM y .NET
string ProductName
Referencia de la API
[Subir | Métodos | Propiedades ]
Devuelve el nombre del producto como cadena de texto. Ejemplo: para Altova RaptorXML
Server 2015r2sp1(x64), devuelve Altova RaptorXML Server.
string ProductNameAndVersion
[Subir | Métodos | Propiedades ]
Devuelve el nombre y la versión del producto como cadena de texto. Ejemplo: para Altova
RaptorXML Server 2015r2sp1(x64), devuelve Altova RaptorXML Server 2015r2sp1(x64).
bool ReportOptionalWarnings
[Subir | Métodos | Propiedades ]
Habilita o deshabilita la notificación de advertencias. El valor true habilita las advertencias; false
las deshabilita.
string ServerName
[Subir | Métodos | Propiedades ]
Establece el nombre del servidor HTTP. Si ocurre un error, se emite una excepción
RaptorXMLException.
string ServerPath
[Subir | Métodos | Propiedades ]
Especifica en forma de URL la ruta de acceso del servidor HTTP. Si ocurre un error, se emite una
excepción RaptorXMLException.
int ServerPort
[Subir | Métodos | Propiedades ]
Especifica el puerto del servidor HTTP. Es de tipo ushort. Si ocurre un error, se emite una
excepción RaptorXMLException.
int ServicePackVersion
[Subir | Métodos | Propiedades ]
Devuelve la versión del service pack del producto como número entero. Ejemplo: para RaptorXML
Server 2015r2sp1(x64), devuelve 1 (del número de versión del service pack sp1).
string UserCatalog
[Subir | Métodos | Propiedades ]
Indica, en forma de URL, la ubicación del archivo de catálogo definido por el usuario. La cadena
indicada debe ser una URL absoluta que dé la ubicación exacta del archivo de catálogo del
usuario que se debe usar.
IXMLValidator
La interfaz IXMLValidator ofrece métodos para probar:
La validez de un documento XML, DTD o XSD: IsValid. los documentos XML se pueden
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
255
validar con un DTD o con un esquema XML y las referencia al DTD/esquema pueden
estar dentro del documento XML o en el código.
Si el formato de un documento XML es correcto: IsWellFormed.
Ambos métodos devuelven el valor binario TRUE o FALSE. Las propiedades definen los parámetros
de la interfaz.
Métodos
IsValid
IsWellFormed
Propiedades
AssessmentMode
InputXMLFromText
SchemalocationHints
DTDFileName
LastErrorMessage
SchemaMapping
DTDFromText
PythonScriptFile
SchemaTextArray
EnableNamespaces
SchemaFileArray
Streaming
InputFileArray
SchemaFileName
XincludeSupport
InputTextArray
SchemaFromText
XMLValidationMode
InputXMLFileName
SchemaImports
XSDVersion
Métodos
Los dos métodos de la interfaz IXMLValidator son IsValid y IsWellFormed. Prueban si el
documento especificado es válido y si tiene un formato XML correcto respectivamente. Ambos
métodos devuelven el valor binario true o false.
bool IsValid(ENUMValidationType nType)
[Subir | Métodos | Propiedades ]
Devuelve el resultado de la validación indicada con el valor de ENUMValidationType.
Devuelve true si el documento es válido y false si no lo es.
nType es el valor de ENUMValidationType. El tipo de validación indica si el XML se debe
validar con un DTD o un XSD. O si se debe validar un DTD o un XSD. El valor
predeterminado es eValidateAny, lo cual indica que RaptorXML debe determinar el tipo
de documento automáticamente.
Si se produce un error durante la ejecución, se emite una excepción
RaptorXMLException. Use la operación LastErrorMessage para obtener más
información.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
256
Interfaces COM y .NET
Referencia de la API
bool IsWellFormed(ENUMWellformedCheckType nType)
Propiedades ]
[Subir | Métodos |
Devuelve el resultado de la comprobación de formato XML indicada con el valor de
ENUMWellformedCheckType. Devuelve true si el formato es correcto y false si no lo es.
nType es el valor de ENUMWellformedCheckType. Su valor indica si se debe revisar el
formato de un documento XML o de un documento DTD. El valor predeterminado es
eWellformedAny.
Si se produce un error durante la ejecución, se emite una excepción
RaptorXMLException. Use la operación LastErrorMessage para obtener más
información.
Propiedades
Las propiedades de la interfaz IXMLValidator se describen a continuación por orden alfabético.
La tabla organiza las propiedades por grupos para facilitar su consulta. Recuerde que las
cadenas de entrada que deben interpretarse como direcciones URL deben dar rutas de acceso
absolutas. Si se usa una ruta de acceso relativa, debe definir en el módulo de llamada un
mecanismo para resolver la ruta de acceso relativa.
Archivos de datos
Archivos de esquema
Procesamiento
InputFileArray
DTDFileName
AssessmentMode
InputTextArray
DTDFromText
EnableNamespaces
InputXMLFileName
SchemaFileArray
LastErrorMessage
InputXMLFromText
SchemaFileName
PythonScriptFile
SchemaFromText
Streaming
SchemaImports
XincludeSupport
SchemalocationHints
XMLValidationMode
SchemaMapping
XSDVersion
SchemaTextArray
ENUMAssessmentMode AssessmentMode
[Subir | Métodos | Propiedades ]
Establece el modo de evaluación del validador XML (strict o lax), según lo indicado por los
literales de ENUMAssessmentMode.
string DTDFileName
Altova RaptorXML Server 2015
[Subir | Métodos | Propiedades ]
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
257
Indica qué documento DTD externo se debe usar para la validación. La cadena indicada debe ser
una URL absoluta que dé la ubicación base del DTD que se debe usar.
string DTDFromText
[Subir | Métodos | Propiedades ]
Ofrece todo el DTD en forma de cadena de texto.
bool EnableNamespaces
[Subir | Métodos | Propiedades ]
Habilita el procesamiento preparado para espacios de nombres. Es útil si quiere buscar errores
en la instancia XML derivados del uso incorrecto de espacios de nombres. El valor true habilita el
procesamiento preparado para espacios de nombres; false lo deshabilita. El predeterminado es
false.
object InputFileArray
[Subir | Métodos | Propiedades ]
Ofrece una lista de las direcciones URL de los archivos XML que se deben usar como datos de
entrada. La propiedad ofrece un objeto que contiene, como cadenas de texto, las URL absolutas
de los archivos XML.
object InputTextArray
[Subir | Métodos | Propiedades ]
Ofrece una lista de las direcciones URL de los archivos de texto que se deben usar como datos
de entrada. La propiedad ofrece un objeto que contiene, como cadenas de texto, las URL
absolutas de los archivos de texto.
string InputXMLFileName
[Subir | Métodos | Propiedades ]
Indica qué archivo XML se debe validar. La cadena indicada debe ser una URL absoluta que dé la
ubicación base del archivo XML que se debe usar.
string InputXMLFromText
[Subir | Métodos | Propiedades ]
Suministra, como cadena de texto, el contenido del documento XML que se debe validar.
string LastErrorMessage
[Subir | Métodos | Propiedades ]
Recupera el último mensaje de error del motor de RaptorXML como cadena de texto.
string PythonScriptFile
[Subir | Métodos | Propiedades ]
Especifica el archivo de script Python que incluye un procesamiento adicional del archivo XML o
XSD indicado para la validación. La cadena indicada debe ser una URL absoluta que dé la
ubicación base del script de Python.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
258
Interfaces COM y .NET
object SchemaFileArray
Referencia de la API
[Subir | Métodos | Propiedades ]
Ofrece una lista de las URL de los archivos XSD que se deben usar como esquemas XML
externos. La propiedad ofrece un objeto que contiene, como cadenas de texto, las URL absolutas
de los archivos de esquema XML.
string SchemaFileName
[Subir | Métodos | Propiedades ]
Indica qué esquema XML externo se debe usar para la validación. La cadena indicada debe ser
una URL absoluta que dé la ubicación base del archivo de esquema XML que se debe usar.
string SchemaFromText
[Subir | Métodos | Propiedades ]
Suministra, como cadena de texto, el contenido del archivo de esquema XML que se debe usar
para la validación.
ENUMSchemaImports SchemaImports
[Subir | Métodos | Propiedades ]
Indica qué se debe hacer con las importaciones de esquema, dependiendo del valor de los
atributos de los elementos xs:import. Esto viene dado por el literal de ENUMSchemaImports
seleccionado.
ENUMLoadSchemalocation SchemalocationHints
[Subir | Métodos | Propiedades ]
Especifica el mecanismo que se debe usar para encontrar el esquema. El mecanismo viene dado
por el literal de ENUMLoadSchemalocation seleccionado.
ENUMSchemaMapping SchemaMapping
[Subir | Métodos | Propiedades ]
Establece qué asignación se usa para encontrar el esquema. La asignación viene dada por el
literal de ENUMSchemaMapping seleccionado.
object SchemaTextArray
[Subir | Métodos | Propiedades ]
Ofrece un conjunto de cadenas de texto, que son los archivos XSD que se deben usar como
esquemas XML externos. La propiedad ofrece un objeto que contiene, como cadenas de texto, la
cadena de texto correspondiente a cada archivo XSD.
bool Streaming
[Subir | Métodos | Propiedades ]
Habilita la validación por transmisión de secuencias de datos. En el modo de transmisión por
secuencias, los datos almacenados en memoria se minimizan y el procesamiento es más rápido.
El valor true habilita la validación por transmisión de secuencias; false la deshabilita. El valor
predeterminado es true.
bool XincludeSupport
[Subir | Métodos | Propiedades ]
Habilita el uso de elementos XInclude. El valor true habilita los elementos XInclude; false los
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
259
deshabilita. El valor predeterminado es false.
ENUMXMLValidationMode XMLValidationMode
[Subir | Métodos | Propiedades ]
Establece el modo de validación XML (validación o comprobación de formato XML). El modo es el
indicado por el literal de ENUMXMLValidationMode.
ENUMXSDVersion XSDVersion
[Subir | Métodos | Propiedades ]
Indica la versión de XML Schema que se debe usar para validar el documento XML. Sus valores
son los literales de ENUMXSDVersion.
IXSLT
La interfaz IXSLT ofrece métodos y propiedades para ejecutar una transformación XSLT 1.0, 2.0 o
3.0. Los resultados se pueden guardar en un archivo o devolverse como cadena de texto. La
interfaz también permite pasar parámetros XSLT a la hoja de estilos XSLT. Las direcciones URL
de los archivo XML y XSLT se pueden dar como cadenas de texto a través de las propiedades de
la interfaz. Otra opción es construir documentos XML y XSLT dentro del código como cadenas de
texto.
Nota:
Cuando las cadenas de texto de entrada se deben interpretar como URL, deben utilizarse
rutas de acceso absolutas. Si se usa una ruta de acceso relativa, debe definir en el
módulo de llamada un mecanismo para resolver la ruta de acceso relativa.
Nota:
Puede usar el motor XSLT 2.0 o 3.0 de RaptorXML en el modo compatible con versiones
anteriores para procesar hojas de estilos XSLT 1.0. No obstante, el resultado puede ser
diferente al que se obtendría con el motor XSLT 1.0.
Métodos
IsValid
Execute
ExecuteAndGetResultAsString
ExecuteAndGetResultAsStringWithBaseOutputURI
AddExternalParameter
ClearExternalParameterList
Propiedades
ChartExtensionsEnabled
JavaBarcodeExtensionLocation
SchemaMapping
DotNetExtensionsEnabled
JavaExtensionsEnabled
StreamingSerialization
EngineVersion
LastErrorMessage
XincludeSupport
IndentCharacters
LoadXMLWithPSVI
XMLValidationMode
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
260
Interfaces COM y .NET
Referencia de la API
InitialTemplateMode
NamedTemplateEntryPoint
XSDVersion
InputXMLFileName
SchemaImports
XSLFileName
InputXMLFromText
SchemalocationHints
XSLFromText
Métodos
Los métodos de la IXSLT se describen a continuación. Recuerde que las cadenas de entrada que
deben interpretarse como direcciones URL deben dar rutas de acceso absolutas. Si se usa una
ruta de acceso relativa, debe definir en el módulo de llamada un mecanismo para resolver la ruta
de acceso relativa.
Métodos
IsValid
Execute
ExecuteAndGetResultAsString
ExecuteAndGetResultAsStringWithBaseOutputURI
AddExternalParameter
ClearExternalParameterList
bool IsValid()
[Subir | Métodos | Propiedades ]
Devuelve el resultado de validar la hoja de estilos XSLT de acuerdo con la especificación
XSLT indicada en ENUMXSLTVersion (ver la propiedad EngineVersion). El resultado es
true si el XSLT es válido y false si no lo es.
Si ocurre un error, se emite una excepción RaptorXMLException. Use la operación
LastErrorMessage para obtener más información.
bool Execute(string bstrResultFileName)
[Subir | Métodos | Propiedades ]
Ejecuta la transformación XSLT de acuerdo con la especificación XSLT indicada en
ENUMXSLTVersion (ver la propiedad EngineVersion) y guarda el resultado en un archivo
de salida.
El archivo de salida viene dado por bstrResultFileName, que es una cadena que indica
la URL del archivo de salida.
El resultado es true si la transformación finaliza correctamente y false si se producen
errores.
Si ocurre un error, se emite una excepción RaptorXMLException. Use la operación
LastErrorMessage para obtener más información.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
string ExecuteAndGetResultAsString()
261
[Subir | Métodos | Propiedades ]
Ejecuta la transformación XSLT de acuerdo con la especificación indicada en
ENUMXSLTVersion (ver la propiedad EngineVersion) y devuelve el resultado de la
transformación como cadena de texto.
Si ocurre un error durante la transformación, se emite una excepción
RaptorXMLException. Use la operación LastErrorMessage para obtener más
información.
string ExecuteAndGetResultAsStringWithBaseOutputURI(string bstrBaseURI)
| Métodos | Propiedades ]
[Subir
Ejecuta la transformación XSLT de acuerdo con la especificación indicada en
ENUMXSLTVersion (ver la propiedad EngineVersion) y devuelve el resultado de la
transformación como cadena de texto en la ubicación definida por el URI base (la
cadena bstrBaseURI).
Si ocurre un error durante la transformación, se emite una excepción
RaptorXMLException. Use la operación LastErrorMessage para obtener más
información.
void AddExternalParameter(string bstrName, string bstrValue)
| Propiedades ]
[Subir | Métodos
Añade el nombre y el valor de un parámetro externo: bstrName y bstrValue son
cadenas.
Cada parámetro externo y su valor se puede especificar en una llamada distinta al
método. Los parámetros se deben declarar en el documento XSLT y si quiere puede
añadir una declaración de tipo. Sea cual sea la declaración de tipo del documento XSLT,
no es necesario ningún delimitador concreto si el valor del parámetro se indica con
AddExternalParameter.
void ClearExternalParameterList()
[Subir | Métodos | Propiedades ]
Borra la lista de parámetros externos creada con el método AddExternalParameter.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
262
Interfaces COM y .NET
Referencia de la API
Propiedades
Las propiedades de la interfaz IXSLT se describen a continuación por orden alfabético. La tabla
organiza las propiedades por grupos para facilitar su consulta. Recuerde que las cadenas de
entrada que deben interpretarse como direcciones URL deben dar rutas de acceso absolutas. Si
se usa una ruta de acceso relativa, debe definir en el módulo de llamada un mecanismo para
resolver la ruta de acceso relativa.
XML
XSLT
Schema
InputXMLFileName
EngineVersion
SchemaImports
InputXMLFromText
XSLFileName
SchemalocationHints
LoadXMLWithPSVI
XSLFromText
SchemaMapping
XincludeSupport
XSDVersion
XMLValidationMode
Procesamiento
Extensiones
IndentCharacters
ChartExtensionsEnabled
InitialTemplateMode
DotNetExtensionsEnabled
LastErrorMessage
JavaBarcodeExtensionLocation
NamedTemplateEntryPoint
JavaExtensionsEnabled
StreamingSerialization
bool ChartExtensionsEnabled
[Subir | Métodos | Propiedades ]
Habilita o deshabilita las funciones de extensión de Altova para gráficos. El valor true habilita las
extensiones para gráficos; false las deshabilita. El valor predeterminado es true.
bool DotNetExtensionsEnabled
[Subir | Métodos | Propiedades ]
Habilita o deshabilita las funciones de extensión de Visual Studio .NET. El valor true habilita las
extensiones .NET; false las deshabilita. El valor predeterminado es true.
ENUMXSLTVersion EngineVersion
[Subir | Métodos | Propiedades ]
Indica qué versión XSLT se debe usar (1.0, 2.0 o 3.0). El valor de la propiedad es un literal de
ENUMXSLTVersion.
string IndentCharacters
[Subir | Métodos | Propiedades ]
Establece el carácter que debe utilizarse para la sangría.
string InitialTemplateMode
[Subir | Métodos | Propiedades ]
Establece el modo inicial para el procesamiento XSLT. Se procesarán aquellas plantillas cuyo
valor de modo sea igual a la cadena indicada.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
string InputXMLFileName
263
[Subir | Métodos | Propiedades ]
Especifica la ubicación del archivo XML que se debe transformar. La cadena indicada debe ser
una URL absoluta que dé la ubicación exacta del archivo XML que se debe usar.
string InputXMLFromText
[Subir | Métodos | Propiedades ]
Suministra, como cadena de texto, el contenido del archivo XML que se debe transformar.
string JavaBarcodeExtensionLocation
[Subir | Métodos | Propiedades ]
Especifica la ubicación del archivo de extensiones para códigos de barras. Consulte este
apartado para obtener más información. La cadena indicada debe ser una URL absoluta que dé la
ubicación base del archivo que se debe usar.
bool JavaExtensionsEnabled
[Subir | Métodos | Propiedades ]
Habilita o deshabilita las extensiones Java. El valor true habilita las extensiones Java; false las
deshabilita. El valor predeterminado es true.
string LastErrorMessage
[Subir | Métodos | Propiedades ]
Recupera el último mensaje de error del motor de RaptorXML como cadena de texto.
bool LoadXMLWithPSVI
[Subir | Métodos | Propiedades ]
Habilita o deshabilita la opción de carga y uso del conjunto Post Schema Validation Infoset
(PSVI). Si se carga el PSVI, la información obtenida del esquema se puede usar para calificar
datos del documento XML. El valor true habilita la carga de PSVI; false la deshabilita.
string NamedTemplateEntryPoint
[Subir | Métodos | Propiedades ]
Especifica el nombre, como cadena de texto, de la plantilla con nombre que debe utilizarse como
punto de entrada de la transformación.
ENUMSchemaImports SchemaImports
[Subir | Métodos | Propiedades ]
Indica qué se debe hacer con las importaciones de esquemas, dependiendo del valor de los
atributos de los elementos xs:import. Esto viene dado por el literal de ENUMSchemaImports
seleccionado.
ENUMLoadSchemalocation SchemalocationHints
[Subir | Métodos | Propiedades ]
Especifica el mecanismo que se debe usar para encontrar el esquema. El mecanismo viene dado
por el literal de ENUMLoadSchemalocation seleccionado.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
264
Interfaces COM y .NET
Referencia de la API
ENUMSchemaMapping SchemaMapping
[Subir | Métodos | Propiedades ]
Establece qué asignación se usa para encontrar el esquema. La asignación viene dada por el
literal de ENUMSchemaMapping seleccionado.
bool StreamingSerialization
[Subir | Métodos | Propiedades ]
Habilita la serialización de secuencias de datos. En el modo de transmisión por secuencias, los
datos almacenados en memoria se minimizan y el procesamiento es más rápido. El valor true
habilita la serialización de secuencias de datos; false la deshabilita.
bool XincludeSupport
[Subir | Métodos | Propiedades ]
Habilita el uso de elementos XInclude. El valor true habilita el uso de XInclude; false lo
deshabilita. El valor predeterminado es false.
ENUMXMLValidationMode XMLValidationMode
[Subir | Métodos | Propiedades ]
Establece el modo de validación XML (validación o comprobación de formato XML). El modo es el
indicado por el literal de ENUMXMLValidationMode.
ENUMXSDVersion XSDVersion
[Subir | Métodos | Propiedades ]
Indica la versión de XML Schema que se debe usar para validar el documento XML. Sus valores
son los literales de ENUMXSDVersion.
string XSLFileName
[Subir | Métodos | Propiedades ]
Especifica qué archivo XSLT se debe usar para la transformación. La cadena indicada debe ser
una URL absoluta que dé la ubicación del archivo XSLT que se debe usar.
string XSLFromText
[Subir | Métodos | Propiedades ]
Ofrece, en forma de cadena de texto, el contenido del documento XSLT que se debe usar para la
transformación.
IXQuery
La interfaz IXQuery ofrece métodos y propiedades para ejecutar un documento XQuery 1.0 o
XQuery 3.0. Los resultados se pueden guardar en un archivo o devolverse como cadena de texto.
La interfaz también permite pasar variables XQuery externas al documento XQuery. Las URL de
los archivos XQuery y XML se pueden dar como cadenas de texto a través de las propiedades de
la interfaz. Otra opción es construir los documentos XML y XQuery dentro del código como
cadenas de texto.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Note:
Referencia de la API
265
Cuando las cadenas de texto de entrada se deben interpretar como URL, deben utilizarse
rutas de acceso absolutas. Si se usa una ruta de acceso relativa, debe definir en el
módulo de llamada un mecanismo para resolver la ruta de acceso relativa.
Métodos
IsValid
IsValidUpdate
Execute
ExecuteUpdate
ExecuteAndGetResultAsString
ExecuteUpdateAndGetResultAsString
AddExternalVariable
ClearExternalParameterList
Propiedades
ChartExtensionsEnabled
InputXMLFromText
OutputEncoding
XMLValidationM
ode
DotNetExtensionsEnabled
JavaBarcodeExtens
ionLocation
OutputIndent
XQueryFileName
EngineVersion
JavaExtensionsEna
bled
OutputMethod
XQueryFromText
IndentCharacters
LastErrorMessage
OutputOmitXMLDeclar
ation
XSDVersion
InputXMLFileName
LoadXMLWithPSVI
XincludeSupport
Métodos
Los métodos de la IXQuery se describen a continuación. Recuerde que las cadenas de entrada
que deben interpretarse como direcciones URL deben dar rutas de acceso absolutas. Si se usa
una ruta de acceso relativa, debe definir en el módulo de llamada un mecanismo para resolver la
ruta de acceso relativa.
Métodos
IsValid
IsValidUpdate
Execute
ExecuteUpdate
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
266
Interfaces COM y .NET
Referencia de la API
ExecuteAndGetResultAsString
ExecuteUpdateAndGetResultAsString
AddExternalVariable
ClearExternalParameterList
bool IsValid()
[Subir | Métodos | Propiedades ]
Devuelve el resultado de validar el documento XQuery de acuerdo con la especificación
XQuery indicada en ENUMXQueryVersion (ver la propiedad EngineVersion). El resultado
es true si el documento es válido y false si no lo es.
Si ocurre un error, se emite una excepción RaptorXMLException. Use la operación
LastErrorMessage para obtener más información.
bool IsValidUpdate()
[Subir | Métodos | Propiedades ]
Devuelve el resultado de validar el documento XQuery Update de acuerdo con la
especificación XQuery indicada en ENUMXQueryVersion (ver la propiedad
EngineVersion). El resultado es true si finaliza correctamente y false si no.
Si ocurre un error, se emite una excepción RaptorXMLException. Use la operación
LastErrorMessage para obtener más información.
bool Execute(string bstrOutputFile)
[Subir | Métodos | Propiedades ]
Ejecuta el documento XQuery de acuerdo con la especificación XQuery indicada en
ENUMXQueryVersion (ver la propiedad EngineVersion), y guarda el resultado en un
archivo de salida.
El archivo de salida viene dado por bstrOutputFile, que es una cadena que indica la
URL del archivo de salida.
El valor binario true se devuelve si la operación finaliza correctamente y false si hay
errores.
Si ocurre un error durante la transformación, se emite una excepción
RaptorXMLException. Use la operación LastErrorMessage para obtener más
información.
bool ExecuteUpdate(string bstrOutputFile)
[Subir | Métodos | Propiedades ]
Ejecuta el documento XQuery Update de acuerdo con la especificación XQuery Update
indicada en ENUMXQueryVersion (ver la propiedad EngineVersion), y guarda el resultado
en un archivo de salida.
El archivo de salida viene dado por bstrOutputFile, que es una cadena que indica la
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
267
URL del archivo de salida.
El valor binario true se devuelve si la operación finaliza correctamente y false si hay
errores.
Si ocurre un error durante la transformación, se emite una excepción
RaptorXMLException. Use la operación LastErrorMessage para obtener más
información.
string ExecuteAndGetResultAsString()
[Subir | Métodos | Propiedades ]
Ejecuta la transformación XQuery de acuerdo con la especificación XQuery indicada en
ENUMXQueryVersion (ver la propiedad EngineVersion) y devuelve el resultado de la
transformación como cadena de texto.
Si ocurre un error durante la transformación, se emite una excepción
RaptorXMLException. Use la operación LastErrorMessage para obtener más
información.
string ExecuteUpdateAndGetResultAsString()
[Subir | Métodos | Propiedades ]
Ejecuta la transformación XQuery Update de acuerdo con la especificación XQuery
Update indicada en ENUMXQueryVersion (ver la propiedad EngineVersion) y devuelve el
resultado de la transformación como cadena de texto.
Si ocurre un error durante la transformación, se emite una excepción
RaptorXMLException. Use la operación LastErrorMessage para obtener más
información.
void AddExternalVariable(string bstrName, string bstrValue)
Propiedades ]
[Subir | Métodos |
Añade el nombre y valor de una variable externa: bstrName y bstrValue son cadenas de
texto.
Cada variable externa y su valor deben indicarse en una llamada distinta al método. Las
variables deben declararse en el documento XQuery y si quiere puede incluir una
declaración de tipo. Si el valor de la variable es una cadena de texto, ponga el valor entre
comillas simples.
void ClearExternalVariableList()
[Subir | Métodos | Propiedades ]
Borra la lista de variables externas creadas con el método AddExternalVariable.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
268
Interfaces COM y .NET
Referencia de la API
Propiedades
Las propiedades de la interfaz IXQuery se describen a continuación por orden alfabético. La tabla
organiza las propiedades por grupos para facilitar su consulta. Recuerde que las cadenas de
entrada que deben interpretarse como direcciones URL deben dar rutas de acceso absolutas. Si
se usa una ruta de acceso relativa, debe definir en el módulo de llamada un mecanismo para
resolver la ruta de acceso relativa.
XML
XQuery
Procesamiento
Extensiones
InputXMLFileName EngineVersion IndentCharacters
ChartExtensionsEnabled
KeepFormatting
DotNetExtensionsEnabled
XQueryFileNam LastErrorMessage
e
InputXMLFromText XQueryFromTex OutputEncoding
t
JavaBarcodeExtensionLoca
tion
LoadXMLWithPSVI
OutputIndent
JavaExtensionsEnabled
XincludeSupport
OutputMethod
XMLValidationMod
e
OutputOmitXMLDeclarat
ion
XSDVersion
UpdatedXMLWriteMode
bool ChartExtensionsEnabled
[Subir | Métodos | Propiedades ]
Habilita o deshabilita las funciones de extensión de Altova para gráficos. El valor true habilita las
extensiones para gráficos; false las deshabilita. El valor predeterminado es true.
bool DotNetExtensionsEnabled
[Subir | Métodos | Propiedades ]
Habilita o deshabilita las funciones de extensión Visual Studio .NET. El valor true habilita las
extensiones .NET; false las deshabilita. El valor predeterminado es true.
ENUMXQueryVersion EngineVersion
[Subir | Métodos | Propiedades ]
Indica qué versión de XQuery se debe usar (1.0 o 3.0). El valor de la propiedad es un literal de
ENUMXQueryVersion.
string IndentCharacters
[Subir | Métodos | Propiedades ]
Establece el carácter que debe utilizarse para la sangría.
string InputXMLFileName
Altova RaptorXML Server 2015
[Subir | Métodos | Propiedades ]
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
269
Indica la ubicación del archivo XML que se debe procesar. La cadena indicada debe ser una URL
absoluta que dé la ubicación exacta del archivo XML que se debe usar.
string InputXMLFromText
[Subir | Métodos | Propiedades ]
Suministra, como cadena de texto, el contenido del archivo XML que se debe procesar.
string JavaBarcodeExtensionLocation
[Subir | Métodos | Propiedades ]
Especifica la ubicación del archivo de extensión para códigos de barras. Para más información
consulte este apartado. La cadena indicada debe ser una URL absoluta que dé la ubicación base
del archivo que se debe usar.
bool JavaExtensionsEnabled
[Subir | Métodos | Propiedades ]
Habilita o deshabilita las extensiones Java. El valor true habilita las extensiones Java; false las
deshabilita. El valor predeterminado es true.
bool KeepFormatting
[Subir | Métodos | Propiedades ]
Especifica si se debe conservar el formato del documento original (en la medida de lo posible) o
no. El valor true conserva el formato; false no conserva el formato. El valor predeterminado es
true.
string LastErrorMessage
[Subir | Métodos | Propiedades ]
Recupera el último mensaje de error del motor de RaptorXML como cadena de texto.
bool LoadXMLWithPSVI
[Subir | Métodos | Propiedades ]
Habilita o deshabilita la opción de carga y uso del conjunto Post Schema Validation Infoset
(PSVI). Si se carga el PSVI, la información obtenida del esquema se puede usar para calificar
datos del documento XML. El valor true habilita la carga de PSVI; false la deshabilita.
string OutputEncoding
[Subir | Métodos | Propiedades ]
Establece la codificación del documento de salida. Use un nombre de codificación IANA oficial (p.
ej. UTF-8, UTF-16, US-ASCII, ISO-8859-1) como cadena de texto.
bool OutputIndent
[Subir | Métodos | Propiedades ]
Habilita o deshabilita la sangría en el documento de salida. El valor true habilita la sangría;
false la deshabilita.
string OutputMethod
© 2015 Altova Gmb H
[Subir | Métodos | Propiedades ]
Altova RaptorXML Server 2015
270
Interfaces COM y .NET
Referencia de la API
Especifica la serialización del documento de salida. Los valores válidos son: xml | xhtml |
html | text. El valor predeterminado es xml.
bool OutputOmitXMLDeclaration
[Subir | Métodos | Propiedades ]
Habilita o deshabilita la inclusión de la declaración XML en el documento de salida. El valor true
omite la declaración; false la incluye. El valor predeterminado es false.
ENUMXQueryUpdatedXML UpdatedXMLWriteMode
[Subir | Métodos | Propiedades ]
Especifica cómo se deben gestionar las actualizaciones en el archivo XML. El valor de la
propiedad es un literal de ENUMXQueryUpdatedXML.
bool XincludeSupport
[Subir | Métodos | Propiedades ]
Habilita o deshabilita el uso de elementos XInclude. El valor true habilita el uso de XInclude;
false lo deshabilita. El valor predeterminado es false.
ENUMXMLValidationMode XMLValidationMode
[Subir | Métodos | Propiedades ]
Establece el modo de validación XML (validación o comprobación de formato XML). El modo es el
indicado por el literal de ENUMXMLValidationMode.
string XQueryFileName
[Subir | Métodos | Propiedades ]
Indica qué archivo XQuery se debe usar. La cadena indicada debe ser una URL absoluta que dé
la ubicación del archivo XQuery que se debe usar.
string XQueryFromText
[Subir | Métodos | Propiedades ]
Suministra, como cadena de texto, el contenido del archivo XQuery que se debe usar.
ENUMXSDVersion XSDVersion
[Subir | Métodos | Propiedades ]
Indica la versión de XML Schema que se debe usar para validar el documento XML. Sus valores
son los literales de ENUMXSDVersion.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
7.4.2
Referencia de la API
271
Enumeraciones
Las enumeraciones definidas son estas:
ENUMAssessmentMode
ENUMErrorFormat
ENUMLoadSchemalocation
ENUMQueryVersion
ENUMSchemaImports
ENUMSchemaMapping
ENUMValidationType
ENUMWellformedCheckType
ENUMXMLValidationMode
ENUMXQueryVersion
ENUMXSDVersion
ENUMXSLTVersion
ENUMAssessmentMode
Descripción
Contiene literales de enumeración que definen el modo de evaluación del validador XML: Strict o
Lax.
Utilizada por
Interfaz
Operación
IXMLValidator
AssessmentMode
Literales de la enumeración
eAssessmentModeStrict
= 0
eAssessmentModeLax
= 1
eAssessmentModeStrict
Establece el modo de evaluación de la validez del esquema en Strict. Es el valor
predeterminado.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
272
Interfaces COM y .NET
Referencia de la API
eAssessmentModeLax
Establece el modo de evaluación de la validez del esquema en Lax.
ENUMErrorFormat
Descripción
Contiene literales de enumeración que especifican el formato de los errores de salida.
Utilizada por
Interfaz
Operación
IServer
ErrorFormat
Literales de la enumeración
eFormatText
= 0
eFormatShortXML
= 1
eFormatLongXML
= 2
eFormatText
Establece el formato de los errores de salida en Text. Es el valor predeterminado.
eFormatShortXML
Establece el formato de los errores de salida en ShortXML. Este formato es una versión abreviada
del formato LongXML.
eFormatLongXML
Establece el formato de los errores de salida en LongXML. Este formato es el que ofrece
información más detallada.
ENUMLoadSchemalocation
Descripción
Contiene literales de enumeración que indican cómo determinar la ubicación del esquema.
Utilizada por
Interfaz
Altova RaptorXML Server 2015
Operación
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
IXMLValidator
SchemalocationHints
IXSLT
SchemalocationHints
273
Literales de la enumeración
eSHLoadBySchemalocation
= 0
eSHLoadByNamespace
= 1
eSHLoadCombiningBoth
= 2
eSHLoadIgnore
= 3
eSHLoadBySchemalocation
Asigna a Load Schemalocation el valor LoadBySchemalocation. Usa la URL de schema location
de los atributos xsi:schemaLocation y xsi:noNamespaceSchemaLocation de los documentos
XML o XBRL de instancia. Es el valor predeterminado.
eSHLoadByNamespace
Asigna a Load Schemalocation el valor LoadByNamespace. Use la parte de espacio de nombres
del atributo xsi:schemaLocation (en el caso de xsi:noNamespaceSchemaLocation es una
cadena vacía) y busca el esquema a través de la asignación de catálogo.
eSHLoadCombiningBoth
Asigna a Load Schemalocation el valor CombiningBoth. Si el espacio de nombres o la URL
tienen una asignación de catálogo, esta asignación de catálogo se utiliza. Si ambas tienen una
asignación de catálogo, entonces es el valor del parámetro ENUMSchemaMapping lo que decide
cuál de las asignaciones se utiliza. Si ninguna tiene una asignación de catálogo, se usa la URL.
eSHLoadIgnore
Asigna a Load Schemalocation el valor LoadIgnore. Si el valor del parámetro es eSHLoadIgnore,
se ignoran los atributos xsi:schemaLocation y xsi:noNamespaceSchemaLocation.
ENUMQueryVersion
Descripción
Contiene literales de enumeración que especifican la versión XQuery que se debe usar: XQuery
1.0 o 3.0.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
274
Interfaces COM y .NET
Referencia de la API
Literales de la enumeración
eXQVersion10
= 1
eXQVersion30
= 3
eXQVersion10
Establece que la versión XQuery es XQuery 1.0.
eXQVersion30
Establece que la versión XQuery es XQuery 3.0.
ENUMSchemaImports
Descripción
Contiene los literales de enumeración que definen el comportamiento de los elementos
xs:import. El elemento xs:import tiene los atributos opcionales namespace y
schemaLocation.
Utilizada por
Interfaz
Operación
IXMLValidator
SchemaImports
IXSLT
SchemaImports
Literales de la enumeración
eSILoadBySchemalocation
= 0
eSILoadPreferringSchemalocation
= 1
eSILoadByNamespace
= 2
eSICombiningBoth
= 3
eSILicenseNamespaceOnly
= 4
eSILoadBySchemalocation
Asigna a Schema Import el valor LoadBySchemalocation. El valor del atributo schemaLocation
se usa para buscar el esquema, teniendo en cuenta las asignaciones de catálogo. Si está
presente el atributo namespace, se importa el espacio de nombres.
eSILoadPreferringSchemalocation
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
275
Asigna a Schema Import el valor LoadPreferringSchemalocation. Si está presente el atributo
schemaLocation, éste se utiliza teniendo en cuenta las asignaciones de catálogo. Si no está
presente el atributo schemaLocation, se usa el valor del atributo namespace a través de una
asignación de catálogo. Este literal es el valor predeterminado de la enumeración.
eSILoadByNamespace
Asigna a Schema Import el valor LoadByNamespace. El valor del atributo namespace se utiliza
para encontrar el esquema a través de una asignación de catálogo.
eSICombiningBoth
Asigna a Schema Import el valor CombiningBoth. Si el atributo namespace o schemaLocation
tiene una asignación de catálogo, esta asignación de catálogo se utiliza. Si ambos tienen una
asignación de catálogo, entonces es el valor del parámetro ENUMSchemaMapping lo que decide
cuál de las asignaciones se utiliza. Si ninguna tiene una asignación de catálogo, se usa el valor
del atributo schemaLocation (que debería ser una URL).
eSILicenseNamespaceOnly
Asigna a Schema Import el valor LicenseNamespaceOnly. El espacio de nombres se importa. No
se importa ningún documento de esquema.
ENUMSchemaMapping
Descripción
Contiene los literales de enumeración que definen cuál de las dos asignaciones de catálogo se
prefiere: Esta enumeración sirve para eliminar ambigüedades en ENUMLoadSchemalocation y
ENUMSchemaImports.
Utilizada por
Interfaz
Operación
IXMLValidator
SchemaMapping
IXSLT
SchemaMapping
Literales de la enumeración
eSMPreferSchemalocation
= 0
eSMPreferNamespace
= 1
eSMPreferSchemalocation
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
276
Interfaces COM y .NET
Referencia de la API
Establece que se debe seleccionar la URL de schema location.
eSMPreferNamespace
Establece que se debe seleccionar el espacio de nombres.
ENUMValidationType
Descripción
Contiene literales de enumeración que definen qué tipo de documento se debe validar.
Utilizada por
Interfaz
Operación
IXMLValidator
IsValid
Literales de la enumeración
eValidateAny
= 0
eValidateXMLWithDTD
= 1
eValidateXMLWithXSD
= 2
eValidateDTD
= 3
eValidateXSD
= 4
eValidateAny
Establece que el tipo de validación es Any. Esto valida el documento después de detectar su tipo
automáticamente.
eValidateXMLWithDTD
Establece que el tipo de validación es XMLWithDTD. Especifica que el documento XML debe
validarse con un documento DTD.
eValidateXMLWithXSD
Establece que el tipo de validación es XMLWithXSD. Especifica que el documento XML debe
validarse con un esquema XML.
eValidateDTD
Establece que el tipo de validación es ValidateDTD. Especifica que debe validarse un documento
DTD.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
277
eValidateXSD
Establece que el tipo de validación es ValidateXSD. Especifica que debe validarse un documento
de XML Schema.
ENUMWellformedCheckType
Descripción
Contiene los literales de enumeración que definen el tipo de documento cuyo formato XML debe
comprobarse: XML o DTD.
Utilizada por
Interfaz
Operación
IXMLValidator
IsWellFormed
Literales de la enumeración
eWellFormedAny
= 0
eWellFormedXML
= 1
eWellFormedDTD
= 2
eWellformedAny
Establece que el tipo de comprobación de formato es Any. Comprueba el formato XML del
documento tras detectar automáticamente si se trata de un documento XML o DTD.
eWellformedXML
Establece que el tipo de comprobación de formato es XML. Comprueba si formato del documento
XML se ajusta a la especificación XML 1.0 o XML 1.1.
eWellformedDTD
Establece que el tipo de comprobación de formato es DTD. Comprueba si formato del documento
DTD es correcto.
ENUMXMLValidationMode
Descripción
Contiene literales de enumeración que definen el modo de procesamiento XML que se debe usar:
validación o comprobación de formato.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
278
Interfaces COM y .NET
Referencia de la API
Utilizada por
Interfaz
Operación
IXMLValidator
XMLValidationMode
IXQuery
XMLValidationMode
IXSLT
XMLValidationMode
Literales de la enumeración
eXMLValidationModeWF
= 0
eXMLValidationModeID
= 1
eXMLValidationModeValid
= 2
eXMLValidationModeWF
Establece que el modo de procesamiento XML es Wellformed. Es el valor predeterminado.
eXMLValidationModeID
Solo para uso interno.
eXMLValidationModeValid
Establece que el modo de procesamiento XML es Validation.
ENUMXQueryVersion
Descripción
Contiene literales de enumeración que especifican qué versión de XQuery se debe usar: XQuery
1.0 o 3.0.
Utilizada por
Interfaz
Operación
IXQuery
EngineVersion
Literales de la enumeración
eXQVersion10
= 1
eXQVersion30
= 3
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
279
eXQVersion10
Establece que la versión XQuery es XQuery 1.0.
eXQVersion30
Establece que la versión XQuery es XQuery 3.0. Es el valor predeterminado.
ENUMXQueryUpdatedXML
Descripción
Contiene los literales de enumeración necesarios para especificar cómo se gestionan las
actualizaciones XQuery.
Utilizada por
Interfaz
Operación
IXQuery
UpdatedXMLWriteMode
Literales de la enumeración
eUpdatedDiscard
= 1
eUpdatedWriteback
= 2
eUpdatedAsMainResult
= 3
eUpdatedDiscard
Las actualizaciones se descartan y no se escriben en el archivo.
eUpdatedWriteback
Las actualizaciones se escriben en el archivo de entrada indicado con InputXMLFileName.
eUpdatedAsMainResult
Las actualizaciones se escriben en la ubicación indicada por el parámetro outputFile de
ExecuteUpdate .
ENUMXSDVersion
Descripción
Contiene literales de enumeración que indican qué versión de XML Schema se debe usar para la
validación: XSD 1.0 o 1.1.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
280
Interfaces COM y .NET
Referencia de la API
Utilizada por
Interfaz
Operación
IXMLValidator
XSDVersion
IXQuery
XSDVersion
IXSLT
XSDVersion
Literales de la enumeración
eXSDVersionAuto
= 0
eXSDVersion10
= 1
eXSDVersion11
= 2
eXSDVersionAuto
Establece que la versión de XML Schema que se debe usar es Auto-detect. La versión XSD se
detecta automáticamente tras analizar el documento XSD. Si el atributo vc:minVersion del
documento XSD tiene el valor 1.1, se considera que el documento tiene la versión XSD 1.1. Si
este atributo tiene cualquier otro valor o si el atributo no está en el documento, se entiende que el
documento tiene la versión XSD 1.0.
eXSDVersion10
Establece que la versión de XML Schema que se debe usar es XML Schema 1.0.
eXSDVersion11
Establece que la versión de XML Schema que se debe usar es XML-Schema 1.1.
ENUMXSLTVersion
Descripción
Contiene literales de enumeración que especifican qué versión XSLT se debe usar: XSLT 1.0, 2.0
o 3.0.
Utilizada por
Interfaz
Operación
IXSLT
EngineVersion
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Interfaces COM y .NET
Referencia de la API
281
Literales de la enumeración
eVersion10
= 1
eVersion20
= 2
eVersion30
= 3
eVersion10
Establece que la versión XSLT que se debe usar es XSLT 1.0.
eVersion20
Establece que la versión XSLT que se debe usar es XSLT 2.0.
eVersion30
Establece que la versión XSLT que se debe usar es XSLT 3.0.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
Altova RaptorXML Server 2015
Información sobre motores XSLT y XQuery
284
Información sobre motores XSLT y XQuery
8
Información sobre motores XSLT y XQuery
Los motores XSLT y XQuery de RaptorXML Server siguen las especificaciones del W3C y, por
tanto, son más estrictos que otros motores anteriores de Altova, como los de las versiones
antiguas de XMLSpy y del predecesor de RaptorXML Server, el procesador descatalogado
AltovaXML. Por consiguiente, RaptorXML Server señala algunos errores leves que antes no se
notificaban en la versión anterior de estos motores.
Por ejemplo:
Se notifica un error de tipo (err:XPTY0018) si el resultado de un operador de ruta de
acceso contiene tanto nodos como no nodos.
Se notifica un error de tipo (err:XPTY0019) si E1 en una expresión XPath E1/E2 no da
como resultado una secuencia de nodos.
Si encuentra este tipo de errores, modifique el documento XSLT/XQuery o el documento de
instancia según corresponda.
Esta sección describe características relacionadas con la implementación de los motores e
incluye estos apartados:
XSLT 1.0
XSLT 2.0
XSLT 3.0
XQuery 1.0
XQuery 3.1
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Información sobre motores XSLT y XQuery
8.1
XSLT 1.0
285
XSLT 1.0
El motor XSLT 1.0 de RaptorXML Server cumple con la recomendación XSLT 1.0 del 16 de
noviembre de 1999 y con la recomendación XPath 1.0 del 16 de noviembre de 1999, ambas del
W3C.
Nota sobre la implementación
Cuando el atributo method de xsl:output tiene el valor HTML o si selecciona de forma
predeterminada el formato de salida HTML, los caracteres especiales del archivo XML o XSLT se
insertan en el documento HTML como referencias de caracteres HTML. Por ejemplo, el carácter
&#160; (la referencia de carácter decimal para un espacio de no separación) se inserta como
&nbsp; en el código HTML.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
286
Información sobre motores XSLT y XQuery
8.2
XSLT 2.0
XSLT 2.0
Temas de este apartado:
Especificaciones con las que cumple el motor
Compatibilidad con versiones antiguas
Espacios de nombres
Compatibilidad con esquemas
Comportamiento propio de esta implementación
Especificaciones
El motor XSLT 2.0 de RaptorXML Server cumple con la recomendación XSLT 2.0 del 23 de enero
de 2007 y la recomendación XPath 2.0 del 14 de diciembre de 2010, ambas del W3C.
Compatibilidad con versiones antiguas
El motor XSLT 2.0 es compatible con versiones previas. Esto solamente es relevante cuando se
utiliza el motor XSLT 2.0 (parámetro de la interfaz de la línea de comandos --xslt=2) para
procesar una hoja de estilos XSLT 1.0. Tenga en cuenta que los resultados obtenidos con el
motor XSLT 1.0 pueden ser diferentes a los obtenidos con el motor XSLT 2.0 en modo de
compatibilidad con versiones antiguas.
Espacios de nombres
En su hoja de estilos XSLT 2.0 debe declarar estos espacios de nombres para poder usar los
constructores de tipo y las funciones disponibles en XSLT 2.0. Los prefijos que aparecen a
continuación son los que se suelen usar, pero puede usar otros prefijos si quiere.
Espacio de
nombres
Prefijo
URI del espacio de nombres
Tipos XML Schema xs:
http://www.w3.org/2001/XMLSchema
Funciones XPath
2.0
http://www.w3.org/2005/xpath-functions
fn:
Estos espacios de nombres se suelen declarar en el elemento xsl:stylesheet o en el
elemento xsl:transform:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
...
</xsl:stylesheet>
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Información sobre motores XSLT y XQuery
XSLT 2.0
287
Es necesario tener en cuenta que:
El motor XSLT 2.0 utiliza el espacio de nombres Funciones XPath 2.0 y XQuery 1.0
como espacio de nombres de funciones predeterminado. Esto significa que puede
usar funciones XPath 2.0 y XSLT 2.0 en su hoja de estilos sin prefijos. Si declara el
espacio de nombres Funciones XPath 2.0 en su hoja de estilos con un prefijo, podrá usar
el prefijo asignado en la declaración.
Cuando se usan constructores de tipo y tipos del espacio de nombres XML Schema, el
prefijo utilizado en la declaración de espacio de nombres se debe usar en la llamada al
constructor de tipo (por ejemplo, xs:date).
Algunas funciones XPath 2.0 se llaman igual que algunos tipos de datos de XML
Schema. Por ejemplo, las funciones XPath fn:string y fn:boolean y los tipos de datos
de XML Schema xs:string y xs:boolean. Por tanto, si usa la expresión
string('Hello'), la expresión se evalúa como fn:string('Hello') y no como
xs:string('Hello').
Compatibilidad con esquemas
El motor XSLT 2.0 está preparado para esquemas de modo que puede usar tipos de esquema
definidos por el usuario y la instrucción xsl:validate.
Comportamiento propio de esta implementación
Más abajo puede ver cómo se ocupa el motor XSLT 2.0 de algunos aspectos del comportamiento
de las funciones XSLT 2.0 relacionadas con esta implementación.
xsl:result-document
También son compatibles estas codificaciones específicas de Altova: x-base16tobinary y xbase64tobinary.
function-available
Esta función mira si hay funciones del ámbito disponibles (XSLT 2.0, XPath 2.0 y funciones de
extensión).
unparsed-text
El atributo href acepta (i) rutas de acceso relativas para archivos que estén en la carpeta del URI
base y (ii) rutas de acceso absolutas con o sin el protocolo file://. También son compatibles
estas codificaciones específicas de Altova: x-binarytobase16 y x-binarytobase64.
unparsed-text-available
El atributo href acepta (i) rutas de acceso relativas para archivos que estén en la carpeta del URI
base y (ii) rutas de acceso absolutas con o sin el protocolo file://. También son compatibles
estas codificaciones específicas de Altova: x-binarytobase16 y x-binarytobase64.
Nota:
estos valores de codificación estaban implementados en el ya descatalogado AltovaXML
pero ya no se utilizan (son obsoletos): base16tobinary, base64tobinary,
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
288
Información sobre motores XSLT y XQuery
XSLT 2.0
binarytobase16 y binarytobase64.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Información sobre motores XSLT y XQuery
8.3
XSLT 3.0
289
XSLT 3.0
El motor XSLT 3.0 de RaptorXML Server cumple con el borrador de trabajo XSLT 3.0 Last Call del
2 de Octubre de 2014 y con la recomendación XPath 3.1 del 18 de Diciembre de 2014, ambos del
W3C.
El motor XSLT 3.0 tiene las mismas características de implementación que el motor XSLT 2.0.
Pero además ofrece las nuevas funciones nuevas xsl:evaluate, xsl:try y xsl:catch y es
compatible con funciones y operadores XPath y XQuery 3.0 y con la especificación XPath 3.1.
Nota: estas instrucciones XSLT 3.0 no son compatibles por ahora:
xsl:accept
xsl:accumulator
xsl:accumulator-rule
xsl:assert
xsl:break
xsl:context-item
xsl:expose
xsl:fork
xsl:iterate
xsl:map
xsl:map-entry
xsl:merge
xsl:merge-action
xsl:merge-key
xsl:merge-source
xsl:mode
xsl:next-iteration
xsl:next-match
xsl:on-completion
xsl:override
xsl:package
xsl:stream
xsl:use-package
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
290
Información sobre motores XSLT y XQuery
8.4
XQuery 1.0
XQuery 1.0
Temas de este apartado:
Especificaciones con las que cumple el motor
Compatibilidad con esquemas
Codificación
Espacios de nombres
Fuentes XML y validación
Comprobación de tipos estática y dinámica
Módulos biblioteca
Módulos externos
Intercalaciones
Precisión de datos numéricos
Compatibilidad con instrucciones XQuery
Especificaciones compatibles
El motor XQuery 1.0 de RaptorXML Server cumple con la recomendación XQuery 1.0 del 14 de
diciembre de 2010 del W3C. El estándar XQuery concede libertad a la hora de implementar
muchas características. A continuación explicamos cómo se implementaron estas
características en el motor XQuery 1.0 de RaptorXML Server.
Compatibilidad con esquemas
El motor XQuery 1.0 está preparado para esquemas.
Codificación
El motor XQuery 1.0 es compatible con las codificaciones de caracteres UTF-8 y UTF-16.
Espacios de nombres
Se predefinen estos URI de espacios de nombres y sus enlaces asociados.
Espacio de
nombres
Prefijo
URI del espacio de nombres
Tipos XML
Schema
xs:
http://www.w3.org/2001/XMLSchema
Schema instance
xsi:
http://www.w3.org/2001/XMLSchema-instance
Funciones
fn:
http://www.w3.org/2005/xpath-functions
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Información sobre motores XSLT y XQuery
XQuery 1.0
291
integradas
Funciones locales local:
http://www.w3.org/2005/xquery-local-functions
Es importante tener en cuenta que:
El motor XQuery 1.0 entiende que los prefijos de la tabla anterior están enlazados con los
correspondientes espacios de nombres.
Como el espacio de nombres de funciones integradas (ver tabla) es el espacio de
nombres de funciones predeterminado de XQuery, no es necesario usar el prefijo fn:
cuando se invocan funciones integradas (por ejemplo, string("Hello") llamará a la
función fn:string). No obstante, el prefijo fn: se puede utilizar para llamar a una
función integrada sin necesidad de declarar el espacio de nombres en el prólogo de la
consulta (por ejemplo: fn:string("Hello")).
Puede cambiar el espacio de nombres de funciones predeterminado declarando la
expresión default function namespace en el prólogo de la consulta.
Cuando use tipos del espacio de nombres XML Schema, puede usar el prefijo xs: sin
necesidad de declarar los espacios de nombres de forma explícita ni enlazar estos
prefijos a los espacios de nombres en el prólogo de la consulta. (Ejemplo: xs:date y
xs:yearMonthDuration.) Si quiere usar otros prefijos para el espacio de nombres de
XML Schema, estos se deben declarar en el prólogo de la consulta. (Ejemplo: declare
namespace alt = "http://www.w3.org/2001/XMLSchema"; alt:date("2004-1004").)
Recuerde que los tipos de datos untypedAtomic, dayTimeDuration y
yearMonthDuration se movieron del espacio de nombres XPath Datatypes al espacio de
nombres XML Schema (es decir, ahora es xs:yearMonthDuration.)
Si se asignaron mal los espacios de nombres para funciones, constructores de tipo, pruebas de
nodo, etc., se emite un error. Sin embargo, recuerde que algunas funciones se llaman igual que
los tipos de datos de esquema (p. ej. fn:string y fn:boolean.) (Se definen xs:string y
xs:boolean.) El prefijo del espacio de nombres determina si se usa la función o el constructor de
tipo.
Documento XML de origen y validación
Los documentos XML que se utilizan para ejecutar un documento XQuery con el motor XQuery
1.0 deben tener un formato XML correcto. Sin embargo, no es necesario que sean válidos con
respecto a un esquema XML. Si el archivo no es válido, el archivo no válido se carga sin
información de esquema. Si el archivo XML está asociado a un esquema externo y es válido con
respecto a dicho esquema, se genera información posterior a la validación de esquema, que se
utilizará para evaluar la consulta.
Comprobación de tipos estática y dinámica
En la fase de análisis estático se revisan aspectos de la consulta como la sintaxis, si existen
referencias externas (p. ej. para módulos), si las funciones y variables que se invocan están
definidas, etc. Si se detecta un error en la fase de análisis estático, se notifica y la ejecución se
interrumpe.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
292
Información sobre motores XSLT y XQuery
XQuery 1.0
La comprobación dinámica de tipos se realiza en tiempo de ejecución, cuando la consulta se
ejecuta. Si un tipo no es compatible con los requisitos de una operación, se emite un error. Por
ejemplo, la expresión xs:string("1") + 1 devuelve un error porque la operación de suma no se
puede llevar a cabo en un operando de tipo xs:string.
Módulos biblioteca
Los módulos biblioteca almacenan funciones y variables para poder volver a utilizarlas. El motor
XQuery 1.0 es compatible con el uso de módulos almacenados en un solo archivo XQuery
externo. Dicho archivo de módulo debe incluir una declaración module en su prólogo que apunte
a un espacio de nombres de destino Por ejemplo:
module namespace libns="urn:module-library";
declare variable $libns:company := "Altova";
declare function libns:webaddress() { "http://www.altova.com" };
Todas las funciones y variables declaradas en el módulo pertenecen al espacio de nombres
asociado al módulo. El módulo se importa en un archivo XQuery con la instrucción import
module del prólogo de la consulta. La instrucción import module solamente importa funciones y
variables declaradas directamente en el archivo de módulo biblioteca. Por ejemplo:
import module namespace modlib = "urn:module-library" at "modulefilename.xq";
if
then
else
($modlib:company = "Altova")
modlib:webaddress()
error("No match found.")
Funciones externas
Las funciones externas son incompatibles con el motor XQuery 1.0, es decir, todas las
expresiones que usen la palabra clave external. Por ejemplo:
declare function hoo($param as xs:integer) as xs:string external;
Intercalaciones
La intercalación predeterminada es la intercalación de puntos de código Unicode, que compara
las cadenas de texto según sus puntos de código Unicode. Otras intercalaciones compatibles
son las intercalaciones ICU que se enumeran aquí. Para usar una intercalación concreta, indique
su URI tal y como aparece en la lista de intercalaciones compatibles. Las comparaciones de
cadenas de texto, incluidas las comparaciones para las funciones fn:max y fn:min, se harán
según la intercalación especificada. Si no se indica la opción de intercalación, se utiliza la
intercalación de puntos de código Unicode predeterminada.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Información sobre motores XSLT y XQuery
XQuery 1.0
293
Precisión de tipos numéricos
El tipo de datos xs:integer es de precisión arbitraria, es decir, puede representar un
número de dígitos cualquiera.
El tipo de datos xs:decimal tiene un límite de 20 dígitos después del punto decimal.
Los tipos de datos xs:float y xs:double tienen una precisión limitada de 15 dígitos.
Compatibilidad con instrucciones XQuery
La instrucción Pragma no es compatible. Si se encuentra, se ignora y en su lugar se evalúa la
expresión de reserva.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
294
Información sobre motores XSLT y XQuery
8.5
XQuery 3.1
XQuery 3.1
El motor XQuery 3.0 de RaptorXML Server cumple con la recomendación XQuery 3.1 del 18 de
Diciembre de 2014 del W3C y es compatible con funciones XPath y XQuery 3.1. La
especificación XQuery 3.1 es un conjunto de la especificación 3.0. Por lo tanto XQuery 3.1 es
compatible con las características 3.0.
Las características de la implementación específica son las mismas como para XQuery 1.0.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Información sobre motores XSLT y XQuery
8.6
XQuery 1.0 and XPath 2.0 Functions
295
XQuery 1.0 and XPath 2.0 Functions
This section:
Conformance
General points (including collations)
base-uri
collection
current-date, current-dateTime, current-time
doc
id
in-scope-prefixes
normalize-unicode
resolve-uri
static-base-uri
Conformance
The XQuery 1.0 and XPath 2.0 functions support of RaptorXML Server conforms to the World Wide
Web Consortium's (W3C's) XQuery 1.0 and XPath 2.0 Functions and Operators Recommendation
of 14 December 2010.
General points
Given below is a list (in alphabetical order) of the implementation-specific behavior of certain
functions. The following general points should be noted:
The default functions namespace has been set to comply with that specified in the
standard. Functions can therefore be called without a prefix.
In general, if a function expects a sequence of one item as an argument, and a sequence
of more than one item is submitted, then an error is returned.
All string comparisons are done using the Unicode codepoint collation.
Results that are QNames are serialized in the form [prefix:]localname.
Precision of xs:decimal
The precision refers to the number of digits in the number, and a minimum of 18 digits is required
by the specification. For division operations that produce a result of type xs:decimal, the
precision is 19 digits after the decimal point with no rounding.
Implicit timezone
When two date, time, or dateTime values need to be compared, the timezone of the values being
compared need to be known. When the timezone is not explicitly given in such a value, the
implicit timezone is used. The implicit timezone is taken from the system clock, and its value can
be checked with the fn:implicit-timezone() function.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
296
Información sobre motores XSLT y XQuery
XQuery 1.0 and XPath 2.0 Functions
Collations
The default collation is the Unicode codepoint collation, which compares strings on the basis of
their Unicode codepoint. Other supported collations are the ICU collations listed below. To use a
specific collation, supply its URI as given in the list of supported collations (table below). Any
string comparisons, including for the fn:max and fn:min functions, will be made according to the
specified collation. If the collation option is not specified, the default Unicode-codepoint collation
is used.
Language
URIs
da: Danish
da_DK
de: German
de_AT, de_BE, de_CH, de_DE, de_LI, de_LU
en: English
en_AS,
en_GB,
en_MT,
en_UM,
es: Spanish
es_419, es_AR, es_BO, es_CL, es_CO, es_CR, es_DO, es_EC,
es_ES, es_GQ, es_GT, es_HN, es_MX, es_NI, es_PA, es_PE,
es_PR, es_PY, es_SV, es_US, es_UY, es_VE
fr: French
fr_BE,
fr_CG,
fr_GP,
fr_MQ,
it: Italian
it_CH, it_IT
ja: Japanese
ja_JP
nb: Norwegian
nb_NO
en_AU,
en_GU,
en_MU,
en_US,
fr_BF,
fr_CH,
fr_GQ,
fr_NE,
en_BB,
en_HK,
en_NA,
en_VI,
fr_BI,
fr_CI,
fr_KM,
fr_RE,
en_BE,
en_IE,
en_NZ,
en_ZA,
fr_BJ,
fr_CM,
fr_LU,
fr_RW,
en_BM, en_BW, en_BZ, en_CA,
en_IN, en_JM, en_MH, en_MP,
en_PH, en_PK, en_SG, en_TT,
en_ZW
fr_BL,
fr_DJ,
fr_MC,
fr_SN,
fr_CA,
fr_FR,
fr_MF,
fr_TD,
fr_CD, fr_CF,
fr_GA, fr_GN,
fr_MG, fr_ML,
fr_TG
Bokmal
nl: Dutch
nl_AW, nl_BE, nl_NL
nn: Nynorsk
nn_NO
pt: Portuguese
pt_AO, pt_BR, pt_GW, pt_MZ, pt_PT, pt_ST
ru: Russian
ru_MD, ru_RU, ru_UA
sv: Swedish
sv_FI, sv_SE
Namespace axis
The namespace axis is deprecated in XPath 2.0. Use of the namespace axis is, however,
supported. To access namespace information with XPath 2.0 mechanisms, use the fn:inscope-prefixes(), fn:namespace-uri() and fn:namespace-uri-for-prefix() functions.
base-uri
If external entities are used in the source XML document and if a node in the external
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Información sobre motores XSLT y XQuery
XQuery 1.0 and XPath 2.0 Functions
297
entity is specified as the input node argument of the base-uri() function, it is still the
base URI of the including XML document that is used—not the base URI of the external
entity.
The base URI of a node in the XML document can be modified using the xml:base
attribute.
collection
The argument is a relative URI that is resolved against the current base URI.
If the resolved URI identifies an XML file, then this XML file is treated as a catalog which
references a collection of files. This file must have the form:
<collection>
<doc href="uri-1" />
<doc href="uri-2" />
<doc href="uri-3" />
</collection>
The files referenced by the href attributes are loaded, and their document nodes are
returned as a sequence.
If the resolved URI does not identify an XML file with the catalog structure described
above, then the argument string (in which wildcards such as ? and * are allowed) is used
as a search string. XML files with names that match the search expression are loaded,
and their document nodes are returned as a sequence. See examples below.
XSLT example: The expression collection("c:\MyDocs\*.xml")//Title returns a
sequence of all DocTitle elements in the .xml files in the MyDocs folder.
XQuery example: The expression {for $i in collection(c:\MyDocs\*.xml) return
element doc{base-uri($i)}} returns the base URIs of all the .xml files in the MyDocs
folder, each URI being within a doc element.
The default collection is empty.
current-date, current-dateTime, current-time
The current date and time is taken from the system clock.
The timezone is taken from the implicit timezone provided by the evaluation context; the
implicit timezone is taken from the system clock.
The timezone is always specified in the result.
doc
An error is raised only if no XML file is available at the specified location or if the file is not wellformed. The file is validated if a schema is available. If the file is not valid, the invalid file is loaded
without schema information.
id
In a well-formed but invalid document that contains two or more elements having the same ID
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
298
Información sobre motores XSLT y XQuery
XQuery 1.0 and XPath 2.0 Functions
value, the first element in document order is returned.
in-scope-prefixes
Only default namespaces may be undeclared in the XML document. However, even when a default
namespace is undeclared on an element node, the prefix for the default namespace, which is the
zero-length string, is returned for that node.
normalize-unicode
The normalization forms NFC, NFD, NFKC, and NFKD are supported.
resolve-uri
If the second, optional argument is omitted, the URI to be resolved (the first argument) is
resolved against the base URI from the static context, which is the URI of the XSLT
stylesheet or the base URI given in the prolog of the XQuery document.
The relative URI (the first argument) is appended after the last "/" in the path notation of
the base URI notation.
If the value of the first argument is the zero-length string, the base URI from the static
context is returned, and this URI includes the file name of the document from which the
base URI of the static context is derived (e.g. the XSLT or XML file).
static-base-uri
The base URI from the static context is the base URI of the XSLT stylesheet or the base URI
specified in the prolog of the XQuery document.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Información sobre motores XSLT y XQuery
8.7
XPath and XQuery Functions 3.1
299
XPath and XQuery Functions 3.1
The XPath and XQuery 3.1 functions and operators support of RaptorXML Server conforms to the
World Wide Web Consortium's (W3C's) XPath and XQuery Functions and Operators 3.1
Candidate Recommendation of 18 December 2014. The 3.1 specification is a superset of the 3.0
specification. So engine support for the 3.1 specification also supports features of the 3.0
specification.
Implementation-specific characteristics are the same as for XQuery 1.0 and XPath 2.0 Functions.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
Altova RaptorXML Server 2015
XSLT and XPath/XQuery Functions
302
XSLT and XPath/XQuery Functions
9
XSLT and XPath/XQuery Functions
This section lists Altova extension functions and other extension functions that can be used in
XPath and/or XQuery expressions. Altova extension functions can be used with Altova's XSLT and
XQuery engines, and provide functionality additional to that available in the function libraries
defined in the W3C standards.
General points
The following general points should be noted:
Functions from the core function libraries defined in the W3C specifications can be called
without a prefix. That's because the XSLT and XQuery engines read non-prefixed functions
as belonging to a default functions namespace which is that specified in the XPath/
XQuery functions specifications http://www.w3.org/2005/xpath-functions. If this
namespace is explicitly declared in an XSLT or XQuery document, the prefix used in the
namespace declaration can also optionally be used on function names.
In general, if a function expects a sequence of one item as an argument, and a sequence
of more than one item is submitted, then an error is returned.
All string comparisons are done using the Unicode codepoint collation.
Results that are QNames are serialized in the form [prefix:]localname.
Precision of xs:decimal
The precision refers to the number of digits in the number, and a minimum of 18 digits is required
by the specification. For division operations that produce a result of type xs:decimal, the
precision is 19 digits after the decimal point with no rounding.
Implicit timezone
When two date, time, or dateTime values need to be compared, the timezone of the values being
compared need to be known. When the timezone is not explicitly given in such a value, the
implicit timezone is used. The implicit timezone is taken from the system clock, and its value can
be checked with the implicit-timezone() function.
Collations
The default collation is the Unicode codepoint collation, which compares strings on the basis of
their Unicode codepoint. Other supported collations are the ICU collations listed below. To use a
specific collation, supply its URI as given in the list of supported collations (table below). Any
string comparisons, including for the max and min functions, will be made according to the
specified collation. If the collation option is not specified, the default Unicode-codepoint collation
is used.
Language
URIs
da: Danish
da_DK
de: German
de_AT, de_BE, de_CH, de_DE, de_LI, de_LU
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
303
en: English
en_AS,
en_GB,
en_MT,
en_UM,
es: Spanish
es_419, es_AR, es_BO, es_CL, es_CO, es_CR, es_DO, es_EC,
es_ES, es_GQ, es_GT, es_HN, es_MX, es_NI, es_PA, es_PE,
es_PR, es_PY, es_SV, es_US, es_UY, es_VE
fr: French
fr_BE,
fr_CG,
fr_GP,
fr_MQ,
it: Italian
it_CH, it_IT
ja: Japanese
ja_JP
nb: Norwegian
nb_NO
en_AU,
en_GU,
en_MU,
en_US,
fr_BF,
fr_CH,
fr_GQ,
fr_NE,
en_BB,
en_HK,
en_NA,
en_VI,
fr_BI,
fr_CI,
fr_KM,
fr_RE,
en_BE,
en_IE,
en_NZ,
en_ZA,
fr_BJ,
fr_CM,
fr_LU,
fr_RW,
en_BM, en_BW, en_BZ, en_CA,
en_IN, en_JM, en_MH, en_MP,
en_PH, en_PK, en_SG, en_TT,
en_ZW
fr_BL,
fr_DJ,
fr_MC,
fr_SN,
fr_CA,
fr_FR,
fr_MF,
fr_TD,
fr_CD, fr_CF,
fr_GA, fr_GN,
fr_MG, fr_ML,
fr_TG
Bokmal
nl: Dutch
nl_AW, nl_BE, nl_NL
nn: Nynorsk
nn_NO
pt: Portuguese
pt_AO, pt_BR, pt_GW, pt_MZ, pt_PT, pt_ST
ru: Russian
ru_MD, ru_RU, ru_UA
sv: Swedish
sv_FI, sv_SE
Namespace axis
The namespace axis is deprecated in XPath 2.0. Use of the namespace axis is, however,
supported. To access namespace information with XPath 2.0 mechanisms, use the in-scopeprefixes(), namespace-uri() and namespace-uri-for-prefix() functions.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
304
XSLT and XPath/XQuery Functions
9.1
Altova Extension Functions
Altova Extension Functions
Altova extension functions can be used in XPath/XQuery expressions. They provide additional
functionality to the functionality that is available in the standard library of XPath, XQuery, and
XSLT functions. Altova extension functions are in the Altova extension functions namespace,
http://www.altova.com/xslt-extensions, and are indicated in this section with the prefix
altova:, which is assumed to be bound to this namespace. Note that, in future versions of your
product, support for a function might be discontinued or the behavior of individual functions might
change. Consult the documentation of future releases for information about support for Altova
extension functions in that release.
Functions defined in the W3C's XPath/XQuery Functions specifications can be used in: (i) XPath
expressions in an XSLT context, and (ii) in XQuery expressions in an XQuery document. In this
documentation we indicate the functions that can be used in the former context (XPath in XSLT)
with an XP symbol and call them XPath functions; those functions that can be used in the latter
(XQuery) context are indicated with an XQ symbol; they work as XQuery functions. The W3C's
XSLT specifications—not XPath/XQuery Functions specifications—also define functions that can
be used in XPath expressions in XSLT documents. These functions are marked with an XSLT
symbol and are called XSLT functions. The XPath/XQuery and XSLT versions in which a function
can be used are indicated in the description of the function (see symbols below). Functions from
the XPath/XQuery and XSLT function libraries are listed without a prefix. Extension functions from
other libraries, such as Altova extension functions, are listed with a prefix.
XPath functions (used in XPath expressions in XSLT):
XP1 XP2 XP3
XSLT functions (used in XPath expressions in XSLT):
XSLT1 XSLT2 XSLT3
XQuery functions (used in XQuery expressions in XQuery):
XQ1 XQ3
XSLT functions
XSLT functions can only be used in XPath expressions in an XSLT context (similarly to XSLT
2.0's current-group() or key() functions). These functions are not intended for, and will not
work in, a non-XSLT context (for instance, in an XQuery context). Note that XSLT functions for
XBRL can be used only with editions of Altova products that have XBRL support.
XPath/XQuery functions
XPath/XQuery functions can be used both in XPath expressions in XSLT contexts as well as in
XQuery expressions:
Date/Time
Geolocation
Image-related
Numeric
Sequence
String
Miscellaneous
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
305
Chart functions (Enterprise and Server Editions only)
Altova extension functions for charts are supported only in the Enterprise and Server Editions of
Altova products and enable charts to be generated from XML data.
Barcode functions
Altova's barcode extension functions enable barcodes to be generated and placed in output
generated via XSLT stylesheets.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
306
XSLT and XPath/XQuery Functions
9.1.1
XSLT Functions
Altova Extension Functions
XSLT extension functions can be used in XPath expressions in an XSLT context. They will not
work in a non-XSLT context (for instance, in an XQuery context).
Note about naming of functions and language applicability
Altova extension functions can be used in XPath/XQuery expressions. They provide additional
functionality to the functionality that is available in the standard library of XPath, XQuery, and
XSLT functions. Altova extension functions are in the Altova extension functions
namespace, http://www.altova.com/xslt-extensions, and are indicated in this section
with the prefix altova:, which is assumed to be bound to this namespace. Note that, in future
versions of your product, support for a function might be discontinued or the behavior of
individual functions might change. Consult the documentation of future releases for information
about support for Altova extension functions in that release.
XPath functions (used in XPath expressions in XSLT):
XP1 XP2 XP3
XSLT functions (used in XPath expressions in XSLT):
XSLT1 XSLT2 XSLT3
XQuery functions (used in XQuery expressions in XQuery):
XQ1 XQ3
Standard functions
distinct-nodes [altova:]
altova:distinct-nodes(node()*) as node()*
XSLT1 XSLT2 XSLT3
Takes a set of one or more nodes as its input and returns the same set minus nodes with
duplicate values. The comparison is done using the XPath/XQuery function fn:deep-equal.
Examples
altova:distinct-nodes(country) returns all child country nodes less those
having duplicate values.
evaluate [altova:]
altova:evaluate(XPathExpression as xs:string[, ValueOf$p1, ... ValueOf$pN])
XSLT1 XSLT2 XSLT3
Takes an XPath expression, passed as a string, as its mandatory argument. It returns the
output of the evaluated expression. For example: altova:evaluate('//Name[1]') returns
the contents of the first Name element in the document. Note that the expression //Name[1]
is passed as a string by enclosing it in single quotes.
The altova:evaluate function can optionally take additional arguments. These arguments
are the values of in-scope variables that have the names p1, p2, p3... pN. Note the following
points about usage: (i) The variables must be defined with names of the form pX, where X is
an integer; (ii) the altova:evaluate function's arguments (see signature above), from the
second argument onwards, provide the values of the variables, with the sequence of the
arguments corresponding to the numerically ordered sequence of variables: p1 to pN: The
second argument will be the value of the variable p1, the third argument that of the variable
p2, and so on; (iii) The variable values must be of type item*.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
307
Example
<xsl:variable name="xpath" select="'$p3, $p2, $p1'" />
<xsl:value-of select="altova:evaluate($xpath, 10, 20, 'hi')" />
outputs "hi 20 10"
In the listing above, notice the following:
The second argument of the altova:evaluate expression is the value
assigned to the variable $p1, the third argument that assigned to the variable
$p2, and so on.
Notice that the fourth argument of the function is a string value, indicated by its
being enclosed in quotes.
The select attribute of the xs:variable element supplies the XPath
expression. Since this expression must be of type xs:string, it is enclosed in
single quotes.
Examples to further illustrate the use of variables
<xsl:variable name="xpath" select="'$p1'" />
<xsl:value-of select="altova:evaluate($xpath, //Name[1])" />
Outputs value of the first Name element.
<xsl:variable name="xpath" select="'$p1'" />
<xsl:value-of select="altova:evaluate($xpath, '//Name[1]')" />
Outputs "//Name[1]"
The altova:evaluate() extension function is useful in situations where an XPath
expression in the XSLT stylesheet contains one or more parts that must be evaluated
dynamically. For example, consider a situation in which a user enters his request for the
sorting criterion and this criterion is stored in the attribute [email protected] In the
stylesheet, you could then have the expression: <xsl:sort
select="altova:evaluate(..[email protected])" order="ascending"/>. The
altova:evaluate() function reads the sortkey attribute of the UserReq child element of the
parent of the context node. Say the value of the sortkey attribute is Price, then Price is
returned by the altova:evaluate() function and becomes the value of the select attribute:
<xsl:sort select="Price" order="ascending"/>. If this sort instruction occurs within
the context of an element called Order, then the Order elements will be sorted according to
the values of their Price children. Alternatively, if the value of @sortkey were, say, Date,
then the Order elements would be sorted according to the values of their Date children. So
the sort criterion for Order is selected from the sortkey attribute at runtime. This could not
have been achieved with an expression like: <xsl:sort select="..[email protected]"
order="ascending"/>. In the case shown above, the sort criterion would be the sortkey
attribute itself, not Price or Date (or any other current content of sortkey).
Note:
The static context includes namespaces, types, and functions—but not variables—
from the calling environment. The base URI and default namespace are inherited.
More examples
Static variables: <xsl:value-of select="$i3, $i2, $i1" />
Outputs the values of three variables.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
308
XSLT and XPath/XQuery Functions
Altova Extension Functions
Dynamic XPath expression with dynamic variables:
<xsl:variable name="xpath" select="'$p3, $p2, $p1'" />
<xsl:value-of select="altova:evaluate($xpath, 10, 20, 30)" />
Outputs "30 20 10"
Dynamic XPath expression with no dynamic variable:
<xsl:variable name="xpath" select="'$p3, $p2, $p1'" />
<xsl:value-of select="altova:evaluate($xpath)" />
Outputs error: No variable defined for $p3.
encode-for-rtf [altova:]
altova:encode-for-rtf(input as xs:string, preserveallwhitespace as
xs:boolean, preservenewlines as xs:boolean) as xs:string XSLT2 XSLT3
Converts the input string into code for RTF. Whitespace and new lines will be preserved
according to the boolean value specified for their respective arguments.
[ Top ]
XBRL functions
Altova XBRL functions can be used only with editions of Altova products that have XBRL support.
xbrl-footnotes [altova:]
altova:xbrl-footnotes(node()) as node()*
XSLT2 XSLT3
Takes a node as its input argument and returns the set of XBRL footnote nodes referenced
by the input node.
xbrl-labels [altova:]
altova:xbrl-labels(xs:QName, xs:string) as node()*
XSLT2 XSLT3
Takes two input arguments: a node name and the taxonomy file location containing the node.
The function returns the XBRL label nodes associated with the input node.
[ Top ]
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
9.1.2
Altova Extension Functions
309
XPath/XQuery Functions: Date and Time
Altova's date/time extension functions can be used in XPath and XQuery expressions and provide
additional functionality for the processing of data held as XML Schema's various date and time
datatypes. The functions in this section can be used with Altova's XPath 3.0 and XQuery 3.0
engines. They are available in XPath/XQuery contexts.
Note about naming of functions and language applicability
Altova extension functions can be used in XPath/XQuery expressions. They provide additional
functionality to the functionality that is available in the standard library of XPath, XQuery, and
XSLT functions. Altova extension functions are in the Altova extension functions
namespace, http://www.altova.com/xslt-extensions, and are indicated in this section
with the prefix altova:, which is assumed to be bound to this namespace. Note that, in future
versions of your product, support for a function might be discontinued or the behavior of
individual functions might change. Consult the documentation of future releases for information
about support for Altova extension functions in that release.
XPath functions (used in XPath expressions in XSLT):
XP1 XP2 XP3
XSLT functions (used in XPath expressions in XSLT):
XSLT1 XSLT2 XSLT3
XQuery functions (used in XQuery expressions in XQuery):
XQ1 XQ3
Grouped by functionality
Add duration to xs:dateTime and return xs:dateTime
Add a duration to xs:date and return xs:date
Add a duration to xs:time and return xs:time
Format and retrieve durations
Remove timezone from functions that generate current date/time
Return weekday as integer from date
Return week number as integer from date
Build date, time, or duration type from lexical components of each type
Construct date, dateTime, or time type from string input
Age-related functions
Grouped alphabetically
altova:add-days-to-date
altova:add-days-to-dateTime
altova:add-hours-to-dateTime
altova:add-hours-to-time
altova:add-minutes-to-dateTime
altova:add-minutes-to-time
altova:add-months-to-date
altova:add-months-to-dateTime
altova:add-seconds-to-dateTime
altova:add-seconds-to-time
altova:add-years-to-date
altova:add-years-to-dateTime
altova:age
altova:age-details
altova:build-date
altova:build-duration
altova:build-time
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
310
XSLT and XPath/XQuery Functions
Altova Extension Functions
altova:current-dateTime-no-TZ
altova:current-date-no-TZ
altova:current-time-no-TZ
altova:format-duration
altova:parse-date
altova:parse-dateTime
altova:parse-duration
altova:parse-time
altova:weekday-from-date
altova:weekday-from-dateTime
altova:weeknumber-from-date
altova:weeknumber-from-dateTime
[ Top ]
Add a duration to xs:dateTime XP3 XQ3
These functions add a duration to xs:dateTime and return xs:dateTime. The xs:dateTime type
has a format of CCYY-MM-DDThh:mm:ss.sss. This is a concatenation of the xs:date and xs:time
formats separated by the letter T. A timezone suffix +01:00 (for example) is optional.
add-years-to-dateTime [altova:]
altova:add-years-to-dateTime(DateTime as xs:dateTime, Years as xs:integer) as
xs:dateTime XP3 XQ3
Adds a duration in years to an xs:dateTime (see examples below). The second argument is
the number of years to be added to the xs:dateTime supplied as the first argument. The
result is of type xs:dateTime.
Examples
altova:add-years-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), 10)
returns 2024-01-15T14:00:00
altova:add-years-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), -4)
returns 2010-01-15T14:00:00
add-months-to-dateTime [altova:]
altova:add-months-to-dateTime(DateTime as xs:dateTime, Months as xs:integer)
as xs:dateTime XP3 XQ3
Adds a duration in months to an xs:dateTime (see examples below). The second argument
is the number of months to be added to the xs:dateTime supplied as the first argument. The
result is of type xs:dateTime.
Examples
altova:add-months-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), 10)
returns 2014-11-15T14:00:00
altova:add-months-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), -2)
returns 2013-11-15T14:00:00
add-days-to-dateTime [altova:]
altova:add-days-to-dateTime(DateTime as xs:dateTime, Days as xs:integer) as
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
xs:dateTime
Altova Extension Functions
311
XP3 XQ3
Adds a duration in days to an xs:dateTime (see examples below). The second argument is
the number of days to be added to the xs:dateTime supplied as the first argument. The
result is of type xs:dateTime.
Examples
altova:add-days-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), 10)
returns 2014-01-25T14:00:00
altova:add-days-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), -8)
returns 2014-01-07T14:00:00
add-hours-to-dateTime [altova:]
altova:add-hours-to-dateTime(DateTime as xs:dateTime, Hours as xs:integer) as
xs:dateTime XP3 XQ3
Adds a duration in hours to an xs:dateTime (see examples below). The second argument is
the number of hours to be added to the xs:dateTime supplied as the first argument. The
result is of type xs:dateTime.
Examples
altova:add-hours-to-dateTime(xs:dateTime("2014-01-15T13:00:00"), 10)
returns 2014-01-15T23:00:00
altova:add-hours-to-dateTime(xs:dateTime("2014-01-15T13:00:00"), -8)
returns 2014-01-15T05:00:00
add-minutes-to-dateTime [altova:]
altova:add-minutes-to-dateTime(DateTime as xs:dateTime, Minutes as
xs:integer) as xs:dateTime XP3 XQ3
Adds a duration in minutes to an xs:dateTime (see examples below). The second argument
is the number of minutes to be added to the xs:dateTime supplied as the first argument. The
result is of type xs:dateTime.
Examples
altova:add-minutes-to-dateTime(xs:dateTime("2014-01-15T14:10:00"), 45)
returns 2014-01-15T14:55:00
altova:add-minutes-to-dateTime(xs:dateTime("2014-01-15T14:10:00"), -5)
returns 2014-01-15T14:05:00
add-seconds-to-dateTime [altova:]
altova:add-seconds-to-dateTime(DateTime as xs:dateTime, Seconds as
xs:integer) as xs:dateTime XP3 XQ3
Adds a duration in seconds to an xs:dateTime (see examples below). The second argument
is the number of seconds to be added to the xs:dateTime supplied as the first argument.
The result is of type xs:dateTime.
Examples
altova:add-seconds-to-dateTime(xs:dateTime("2014-01-15T14:00:10"), 20)
returns 2014-01-15T14:00:30
altova:add-seconds-to-dateTime(xs:dateTime("2014-01-15T14:00:10"), -5)
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
312
XSLT and XPath/XQuery Functions
Altova Extension Functions
returns 2014-01-15T14:00:05
[ Top ]
Add a duration to xs:date XP3 XQ3
These functions add a duration to xs:date and return xs:date. The xs:date type has a format of
CCYY-MM-DD.
add-years-to-date [altova:]
altova:add-years-to-date(Date as xs:date, Years as xs:integer) as xs:date
XP3 XQ3
Adds a duration in years to a date. The second argument is the number of years to be
added to the xs:date supplied as the first argument. The result is of type xs:date.
Examples
altova:add-years-to-date(xs:date("2014-01-15"), 10) returns 2024-01-15
altova:add-years-to-date(xs:date("2014-01-15"), -4) returns 2010-01-15
add-months-to-date [altova:]
altova:add-months-to-date(Date as xs:date, Months as xs:integer) as xs:date
XP3 XQ3
Adds a duration in months to a date. The second argument is the number of months to be
added to the xs:date supplied as the first argument. The result is of type xs:date.
Examples
altova:add-months-to-date(xs:date("2014-01-15"), 10) returns 2014-11-15
altova:add-months-to-date(xs:date("2014-01-15"), -2) returns 2013-11-15
add-days-to-date [altova:]
altova:add-days-to-date(Date as xs:date, Days as xs:integer) as xs:date
XP3
XQ3
Adds a duration in days to a date. The second argument is the number of days to be added
to the xs:date supplied as the first argument. The result is of type xs:date.
Examples
altova:add-days-to-date(xs:date("2014-01-15"), 10) returns 2014-01-25
altova:add-days-to-date(xs:date("2014-01-15"), -8) returns 2014-01-07
[ Top ]
Format and retrieve durations XP3 XQ3
These functions add a duration to xs:date and return xs:date. The xs:date type has a format of
CCYY-MM-DD.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
313
format-duration [altova:]
altova:format-duration(Duration as xs:duration, Picture as xs:string) as
xs:string XP3 XQ3
Formats a duration, which is submitted as the first argument, according to a picture string
submitted as the second argument. The output is a text string formatted according to the
picture string.
Examples
altova:format-duration(xs:duration("P2DT2H53M11.7S"), "Days:[D01]
Hours:[H01] Minutes:[m01] Seconds:[s01] Fractions:[f0]") returns
"Days:02 Hours:02 Minutes:53 Seconds:11 Fractions:7"
altova:format-duration(xs:duration("P3M2DT2H53M11.7S"), "Months:[M01]
Days:[D01] Hours:[H01] Minutes:[m01]") returns "Months:03 Days:02
Hours:02 Minutes:53"
parse-duration [altova:]
altova:parse-duration(InputString as xs:string, Picture as xs:string) as
xs:duration XP3 XQ3
Takes a patterned string as the first argument, and a picture string as the second argument.
The input string is parsed on the basis of the picture string, and an xs:duration is returned.
Examples
altova:parse-duration("Days:02 Hours:02 Minutes:53 Seconds:11
Fractions:7"), "Days:[D01] Hours:[H01] Minutes:[m01] Seconds:[s01]
Fractions:[f0]") returns "P2DT2H53M11.7S"
altova:parse-duration("Months:03 Days:02 Hours:02 Minutes:53
Seconds:11 Fractions:7", "Months:[M01] Days:[D01] Hours:[H01] Minutes:
[m01]") returns "P3M2DT2H53M"
[ Top ]
Add a duration to xs:time XP3 XQ3
These functions add a duration to xs:time and return xs:time. The xs:time type has a lexical
form of hh:mm:ss.sss. An optional time zone may be suffixed. The letter Z indicates Coordinated
Universal Time (UTC). All other time zones are represented by their difference from UTC in the
format +hh:mm, or -hh:mm. If no time zone value is present, it is considered unknown; it is not
assumed to be UTC.
add-hours-to-time [altova:]
altova:add-hours-to-time(Time as xs:time, Hours as xs:integer) as xs:time
XP3 XQ3
Adds a duration in hours to a time. The second argument is the number of hours to be added
to the xs:time supplied as the first argument. The result is of type xs:time.
Examples
altova:add-hours-to-time(xs:time("11:00:00"), 10) returns 21:00:00
altova:add-hours-to-time(xs:time("11:00:00"), -7) returns 04:00:00
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
314
XSLT and XPath/XQuery Functions
Altova Extension Functions
add-minutes-to-time [altova:]
altova:add-minutes-to-time(Time as xs:time, Minutes as xs:integer) as xs:time
XP3 XQ3
Adds a duration in minutes to a time. The second argument is the number of minutes to be
added to the xs:time supplied as the first argument. The result is of type xs:time.
Examples
altova:add-minutes-to-time(xs:time("14:10:00"), 45) returns 14:55:00
altova:add-minutes-to-time(xs:time("14:10:00"), -5) returns 14:05:00
add-seconds-to-time [altova:]
altova:add-seconds-to-time(Time as xs:time, Minutes as xs:integer) as xs:time
XP3 XQ3
Adds a duration in seconds to a time. The second argument is the number of seconds to be
added to the xs:time supplied as the first argument. The result is of type xs:time. The
Seconds component can be in the range of 0 to 59.999.
Examples
altova:add-seconds-to-time(xs:time("14:00:00"), 20) returns 14:00:20
altova:add-seconds-to-time(xs:time("14:00:00"), 20.895) returns
14:00:20.895
[ Top ]
Remove the timezone part from date/time datatypes XP3 XQ3
These functions remove the timezone from the current xs:dateTime, xs:date, or xs:time values,
respectively. Note that the difference between xs:dateTime and xs:dateTimeStamp is that in the
case of the latter the timezone part is required (while it is optional in the case of the former). So
the format of an xs:dateTimeStamp value is: CCYY-MM-DDThh:mm:ss.sss±hh:mm. or CCYY-MMDDThh:mm:ss.sssZ. If the date and time is read from the system clock as xs:dateTimeStamp,
the current-dateTime-no-TZ() function can be used to remove the timezone if so required.
current-dateTime-no-TZ [altova:]
altova:current-dateTime-no-TZ() as xs:dateTime
XP3 XQ3
This function takes no argument. It removes the timezone part of current-dateTime()
(which is the current date-and-time according to the system clock) and returns an
xs:dateTime value.
Examples
If the current dateTime is 2014-01-15T14:00:00+01:00:
altova:current-dateTime-no-TZ() returns 2014-01-15T14:00:00
current-date-no-TZ [altova:]
altova:current-date-no-TZ() as xs:date
Altova RaptorXML Server 2015
XP3 XQ3
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
315
This function takes no argument. It removes the timezone part of current-date() (which is
the current date according to the system clock) and returns an xs:date value.
Examples
If the current date is 2014-01-15+01:00:
altova:current-date-no-TZ() returns 2014-01-15
current-time-no-TZ [altova:]
altova:current-time-no-TZ() as xs:time
XP3 XQ3
This function takes no argument. It removes the timezone part of current-time() (which is
the current time according to the system clock) and returns an xs:time value.
Examples
If the current time is 14:00:00+01:00:
altova:current-time-no-TZ() returns 14:00:00
[ Top ]
Return the weekday from xs:dateTime or xs:date XP3 XQ3
These functions return the weekday (as an integer) from xs:dateTime or xs:date. The days of
the week are numbered (using the American format) from 1 to 7, with Sunday=1. In the European
format, the week starts with Monday (=1). The American format, where Sunday=1, can be set by
using the integer 0 where an integer is accepted to indicate the format.
weekday-from-dateTime [altova:]
altova:weekday-from-dateTime(DateTime as xs:dateTime) as xs:integer
XP3 XQ3
Takes a date-with-time as its single argument and returns the day of the week of this date as
an integer. The weekdays are numbered starting with Sunday=1. If the European format is
required (where Monday=1), use the other signature of this function (see next signature
below).
Examples
altova:weekday-from-dateTime(xs:dateTime("2014-02-03T09:00:00")) returns
2, which would indicate a Monday.
altova:weekday-from-dateTime(DateTime as xs:dateTime, Format as xs:integer)
as xs:integer XP3 XQ3
Takes a date-with-time as its first argument and returns the day of the week of this date as
an integer. The weekdays are numbered starting with Monday=1. If the second (integer)
argument is 0, then the weekdays are numbered 1 to 7 starting with Sunday=1. If the second
argument is an integer other than 0, then Monday=1. If there is no second argument, the
function is read as having the other signature of this function (see previous signature).
Examples
altova:weekday-from-dateTime(xs:dateTime("2014-02-03T09:00:00"), 1)
returns 1, which would indicate a Monday
altova:weekday-from-dateTime(xs:dateTime("2014-02-03T09:00:00"), 4)
returns 1, which would indicate a Monday
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
316
XSLT and XPath/XQuery Functions
Altova Extension Functions
altova:weekday-from-dateTime(xs:dateTime("2014-02-03T09:00:00"), 0)
returns 2, which would indicate a Monday.
weekday-from-date [altova:]
altova:weekday-from-date(Date as xs:date) as xs:integer
XP3 XQ3
Takes a date as its single argument and returns the day of the week of this date as an
integer. The weekdays are numbered starting with Sunday=1. If the European format is
required (where Monday=1), use the other signature of this function (see next signature
below).
Examples
altova:weekday-from-date(xs:date("2014-02-03+01:00")) returns 2, which
would indicate a Monday.
altova:weekday-from-date(Date as xs:date, Format as xs:integer) as xs:integer
XP3 XQ3
Takes a date as its first argument and returns the day of the week of this date as an integer.
The weekdays are numbered starting with Monday=1. If the second (Format) argument is 0,
then the weekdays are numbered 1 to 7 starting with Sunday=1. If the second argument is an
integer other than 0, then Monday=1. If there is no second argument, the function is read as
having the other signature of this function (see previous signature).
Examples
altova:weekday-from-date(xs:date("2014-02-03"), 1) returns 1, which would
indicate a Monday
altova:weekday-from-date(xs:date("2014-02-03"), 4) returns 1, which would
indicate a Monday
altova:weekday-from-date(xs:date("2014-02-03"), 0) returns 2, which would
indicate a Monday.
[ Top ]
Return the week number from xs:dateTime or xs:date XP2 XQ1 XP3 XQ3
These functions return the week number (as an integer) from xs:dateTime or xs:date. Weeknumbering is available in the US, ISO/European, and Islamic calendar formats. Week-numbering
is different in these calendar formats because the week is considered to start on different days (on
Sunday in the US format, Monday in the ISO/European format, and Saturday in the Islamic
format).
weeknumber-from-date [altova:]
altova:weeknumber-from-date(Date as xs:date, Calendar as xs:integer) as
xs:integer XP2 XQ1 XP3 XQ3
Returns the week number of the submitted Date argument as an integer. The second
argument (Calendar) specifies the calendar system to follow.
Supported Calendar values are:
0 = US calendar (week starts Sunday)
1 = ISO standard, European calendar (week starts Monday)
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
317
2 = Islamic calendar (week starts Saturday)
Default is 0.
Examples
altova:weeknumber-from-date(xs:date("2014-03-23"), 0) returns 13
altova:weeknumber-from-date(xs:date("2014-03-23"), 1) returns 12
altova:weeknumber-from-date(xs:date("2014-03-23"), 2) returns 13
altova:weeknumber-from-date(xs:date("2014-03-23")
) returns 13
The day of the date in the examples above (2014-03-23) is Sunday. So the US and
Islamic calendars are one week ahead of the European calendar on this day.
weeknumber-from-dateTime [altova:]
altova:weeknumber-from-dateTime(DateTime as xs:dateTime, Calendar as
xs:integer) as xs:integer XP2 XQ1 XP3 XQ3
Returns the week number of the submitted DateTime argument as an integer. The second
argument (Calendar) specifies the calendar system to follow.
Supported Calendar values are:
0 = US calendar (week starts Sunday)
1 = ISO standard, European calendar (week starts Monday)
2 = Islamic calendar (week starts Saturday)
Default is 0.
Examples
altova:weeknumber-from-dateTime(xs:dateTime("2014-03-23T00:00:00"), 0)
returns 13
altova:weeknumber-from-dateTime(xs:dateTime("2014-03-23T00:00:00"), 1)
returns 12
altova:weeknumber-from-dateTime(xs:dateTime("2014-03-23T00:00:00"), 2)
returns 13
altova:weeknumber-from-dateTime(xs:dateTime("2014-03-23T00:00:00")
)
returns 13
The day of the dateTime in the examples above (2014-03-23T00:00:00) is Sunday. So
the US and Islamic calendars are one week ahead of the European calendar on this
day.
[ Top ]
Build date, time, and duration datatypes from their lexical components
XP3
XQ3
The functions take the lexical components of the xs:date, xs:time, or xs:duration datatype as
input arguments and combine them to build the respective datatype.
build-date [altova:]
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
318
XSLT and XPath/XQuery Functions
Altova Extension Functions
altova:build-date(Year as xs:integer, Month as xs:integer, Date as
xs:integer) as xs:date XP3 XQ3
The first, second, and third arguments are, respectively, the year, month, and date. They are
combined to build a value of xs:date type. The values of the integers must be within the
correct range of that particular date part. For example, the second argument (for the month
part) should not be greater than 12.
Examples
altova:build-date(2014, 2, 03) returns 2014-02-03
build-time [altova:]
altova:build-time(Hours as xs:integer, Minutes as xs:integer, Seconds as
xs:integer) as xs:time XP3 XQ3
The first, second, and third arguments are, respectively, the hour (0 to 23), minutes (0 to 59),
and seconds (0 to 59) values. They are combined to build a value of xs:time type. The
values of the integers must be within the correct range of that particular time part. For
example, the second (Minutes) argument should not be greater than 59. To add a timezone
part to the value, use the other signature of this function (see next signature).
Examples
altova:build-time(23, 4, 57) returns 23:04:57
altova:build-time(Hours as xs:integer, Minutes as xs:integer, Seconds as
xs:integer, TimeZone as xs:string) as xs:time XP3 XQ3
The first, second, and third arguments are, respectively, the hour (0 to 23), minutes (0 to 59),
and seconds (0 to 59) values. The fourth argument is a string that provides the timezone part
of the value. The four arguments are combined to build a value of xs:time type. The values of
the integers must be within the correct range of that particular time part. For example, the
second (Minutes) argument should not be greater than 59.
Examples
altova:build-time(23, 4, 57, '+1') returns 23:04:57+01:00
build-duration [altova:]
altova:build-duration(Years as xs:integer, Months as xs:integer) as
xs:yearMonthDuration XP3 XQ3
Takes two arguments to build a value of type xs:yearMonthDuration. The first arguments
provides the Years part of the duration value, while the second argument provides the Months
part. If the second (Months) argument is greater than or equal to 12, then the integer is
divided by 12; the quotient is added to the first argument to provide the Years part of the
duration value while the remainder (of the division) provides the Months part. To build a
duration of type xs:dayTimeDuration., see the next signature.
Examples
altova:build-duration(2, 10) returns P2Y10M
altova:build-duration(14, 27) returns P16Y3M
altova:build-duration(2, 24) returns P4Y
altova:build-duration(Days as xs:integer, Hours as xs:integer, Minutes as
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
319
xs:integer, Seconds as xs:integer) as xs:dayTimeDuration XP3 XQ3
Takes four arguments and combines them to build a value of type xs:dayTimeDuration. The
first argument provides the Days part of the duration value, the second, third, and fourth
arguments provide, respectively, the Hours, Minutes, and Seconds parts of the duration
value. Each of the three Time arguments is converted to an equivalent value in terms of the
next higher unit and the result is used for calculation of the total duration value. For example,
72 seconds is converted to 1M+12S (1 minute and 12 seconds), and this value is used for
calculation of the total duration value. To build a duration of type xs:yearMonthDuration.,
see the previous signature.
Examples
altova:build-duration(2, 10, 3, 56) returns P2DT10H3M56S
altova:build-duration(1, 0, 100, 0) returns P1DT1H40M
altova:build-duration(1, 0, 0, 3600) returns P1DT1H
[ Top ]
Construct date, dateTime, and time datatypes from string input
XP2 XQ1 XP3
XQ3
These functions take strings as arguments and construct xs:date, xs:dateTime, or xs:time
datatypes. The string is analyzed for components of the datatype based on a submitted pattern
argument.
parse-date [altova:]
altova:parse-date(Date as xs:string, DatePattern as xs:string) as xs:date
XP2 XQ1 XP3 XQ3
Returns the input string Date as an xs:date value. The second argument DatePattern
specifies the pattern (sequence of components) of the input string. DatePattern is described
with the component specifiers listed below and with component separators that can be any
character. See the examples below.
D
Date
M
Month
Y
Year
The pattern in DatePattern must match the pattern in Date. Since the output is of type
xs:date, the output will always have the lexical format YYYY-MM-DD.
Examples
altova:parse-date(xs:string("09-12-2014"), "[D]-[M]-[Y]") returns 201412-09
altova:parse-date(xs:string("09-12-2014"), "[M]-[D]-[Y]") returns 201409-12
altova:parse-date("06/03/2014", "[M]/[D]/[Y]") returns 2014-06-03
altova:parse-date("06 03 2014", "[M] [D] [Y]") returns 2014-06-03
altova:parse-date("6 3 2014", "[M] [D] [Y]") returns 2014-06-03
parse-dateTime [altova:]
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
320
XSLT and XPath/XQuery Functions
Altova Extension Functions
altova:parse-dateTime(DateTime as xs:string, DateTimePattern as xs:string) as
xs:dateTime XP2 XQ1 XP3 XQ3
Returns the input string DateTime as an xs:dateTime value.The second argument
DateTimePattern specifies the pattern (sequence of components) of the input string.
DateTimePattern is described with the component specifiers listed below and with
component separators that can be any character. See the examples below.
D
Date
M
Month
Y
Year
H
Hour
m
minutes
s
seconds
The pattern in DateTimePattern must match the pattern in DateTime. Since the output is of
type xs:dateTime, the output will always have the lexical format YYYY-MM-DDTHH:mm:ss.
Examples
altova:parse-dateTime(xs:string("09-12-2014 13:56:24"), "[M]-[D]-[Y]
[H]:[m]:[s]") returns 2014-09-12T13:56:24
altova:parse-dateTime("time=13:56:24; date=09-12-2014", "time=[H]:[m]:
[s]; date=[D]-[M]-[Y]") returns 2014-12-09T13:56:24
parse-time [altova:]
altova:parse-time(Time as xs:string, TimePattern as xs:string) as xs:time
XP2 XQ1 XP3 XQ3
Returns the input string Time as an xs:time value.The second argument TimePattern
specifies the pattern (sequence of components) of the input string. TimePattern is described
with the component specifiers listed below and with component separators that can be any
character. See the examples below.
H
Hour
m
minutes
s
seconds
The pattern in TimePattern must match the pattern in Time. Since the output is of type
xs:time, the output will always have the lexical format HH:mm:ss.
Examples
altova:parse-time(xs:string("13:56:24"), "[H]:[m]:[s]") returns 13:56:24
altova:parse-time("13-56-24", "[H]-[m]") returns 13:56:00
altova:parse-time("time=13h56m24s", "time=[H]h[m]m[s]s") returns
13:56:24
altova:parse-time("time=24s56m13h", "time=[s]s[m]m[H]h") returns
13:56:24
[ Top ]
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
321
Age-related functions XP3 XQ3
These functions return the age as calculated (i) between one input argument date and the current
date, or (ii) between two input argument dates. The altova:age function returns the age in terms
of years, the altova:age-details function returns the age as a sequence of three integers giving
the years, months, and days of the age.
age [altova:]
altova:age(StartDate as xs:date) as xs:integer
XP3 XQ3
Returns an integer that is the age in years of some object, counting from a start-date
submitted as the argument and ending with the current date (taken from the system clock). If
the input argument is a date anything greater than or equal to one year in the future, the
return value will be negative.
Examples
If the current date is 2014-01-15:
altova:age(xs:date("2013-01-15"))
altova:age(xs:date("2013-01-16"))
altova:age(xs:date("2015-01-15"))
altova:age(xs:date("2015-01-14"))
returns
returns
returns
returns
1
0
-1
0
altova:age(StartDate as xs:date, EndDate as xs:date) as xs:integer
XP3 XQ3
Returns an integer that is the age in years of some object, counting from a start-date that is
submitted as the first argument up to an end-date that is the second argument. The return
value will be negative if the first argument is one year or more later than the second
argument.
Examples
If the current date is 2014-01-15:
altova:age(xs:date("2000-01-15"), xs:date("2010-01-15")) returns 10
altova:age(xs:date("2000-01-15"), current-date()) returns 14 if the current
date is 2014-01-15
altova:age(xs:date("2014-01-15"), xs:date("2010-01-15")) returns -4
age-details [altova:]
altova:age-details(InputDate as xs:date) as (xs:integer)*
XP3 XQ3
Returns three integers that are, respectively, the years, months, and days between the date
that is submitted as the argument and the current date (taken from the system clock). The
sum of the returned years+months+days together gives the total time difference between the
two dates (the input date and the current date). The input date may have a value earlier or
later than the current date, but whether the input date is earlier or later is not indicated by the
sign of the return values; the return values are always positive.
Examples
If the current date is 2014-01-15:
altova:age-details(xs:date("2014-01-16")) returns (0 0 1)
altova:age-details(xs:date("2014-01-14")) returns (0 0 1)
altova:age-details(xs:date("2013-01-16")) returns (1 0 1)
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
322
XSLT and XPath/XQuery Functions
Altova Extension Functions
altova:age-details(current-date()) returns (0 0 0)
altova:age-details(Date-1 as xs:date, Date-2 as xs:date) as (xs:integer)*
XP3
XQ3
Returns three integers that are, respectively, the years, months, and days between the two
argument dates. The sum of the returned years+months+days together gives the total time
difference between the two input dates; it does not matter whether the earlier or later of the
two dates is submitted as the first argument. The return values do not indicate whether the
input date occurs earlier or later than the current date. Return values are always positive.
Examples
altova:age-details(xs:date("2014-01-16"), xs:date("2014-01-15")) returns
(0 0 1)
altova:age-details(xs:date("2014-01-15"), xs:date("2014-01-16")) returns
(0 0 1)
[ Top ]
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
9.1.3
Altova Extension Functions
323
XPath/XQuery Functions: Geolocation
The following geolocation XPath/XQuery extension functions are supported in the current version of
RaptorXML Server and can be used in (i) XPath expressions in an XSLT context, or (ii) XQuery
expressions in an XQuery document.
Note about naming of functions and language applicability
Altova extension functions can be used in XPath/XQuery expressions. They provide additional
functionality to the functionality that is available in the standard library of XPath, XQuery, and
XSLT functions. Altova extension functions are in the Altova extension functions
namespace, http://www.altova.com/xslt-extensions, and are indicated in this section
with the prefix altova:, which is assumed to be bound to this namespace. Note that, in future
versions of your product, support for a function might be discontinued or the behavior of
individual functions might change. Consult the documentation of future releases for information
about support for Altova extension functions in that release.
XPath functions (used in XPath expressions in XSLT):
XP1 XP2 XP3
XSLT functions (used in XPath expressions in XSLT):
XSLT1 XSLT2 XSLT3
XQuery functions (used in XQuery expressions in XQuery):
XQ1 XQ3
parse-geolocation [altova:]
altova:parse-geolocation(GeolocationInputString as xs:string) as xs:decimal+
XP3 XQ3
Parses the supplied GeolocationInputString argument and returns the geolocation's
latitude and longitude (in that order) as a sequence two xs:decimal items. The formats in
which the geolocation input string can be supplied are listed below.
Note: The image-exif-data function and the Exif metadata's @Geolocation attribute can
be used to supply the geolocation input string (see example below).
Examples
altova:parse-geolocation("33.33 -22.22") returns the sequence of two
xs:decimals (33.33, 22.22)
altova:parse-geolocation("48°51'29.6""N 24°17'40.2""") returns the
sequence of two xs:decimals (48.8582222222222, 24.2945)
altova:parse-geolocation('48°51''29.6"N 24°17''40.2"') returns the
sequence of two xs:decimals (48.8582222222222, 24.2945)
altova:parse-geolocation( image-exif-data(//MyImages/
Image20141130.01)[email protected] ) returns a sequence of two xs:decimals
Geolocation input string formats:
The geolocation input string must contain latitude and longitude (in that order) separated
by whitespace. Each can be in any of the following formats. Combinations are allowed.
So latitude can be in one format and longitude can be in another. Latitude values range
from +90 to -90 (N to S). Longitude values range from +180 to -180 (E to W).
Note: If single quotes or double quotes are used to delimit the input string argument,
this will create a mismatch with the single quotes or double quotes that are used,
respectively, to indicate minute-values and second-values. In such cases, the quotes
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
324
XSLT and XPath/XQuery Functions
Altova Extension Functions
that are used for indicating minute-values and second-values must be escaped by
doubling them. In the examples in this section, quotes used to delimit the input string
are highlighted in yellow (") while unit indicators that are escaped are highlighted in blue
("").
Degrees, minutes, decimal seconds, with suffixed orientation (N/S, W/E)
D°M'S.SS"N/S D°M'S.SS"W/E
Example: 33°55'11.11"N 22º44'66.66"W
Degrees, minutes, decimal seconds, with prefixed sign (+/-); the plus sign for
(N/W) is optional
+/-D°M'S.SS" +/-D°M'S.SS"
Example: 33°55'11.11" -22°44'66.66"
Degrees, decimal minutes, with suffixed orientation (N/S, W/E)
D°M.MM'N/S D°M.MM'W/E
Example: 33°55.55'N 22°44.44'W
Degrees, decimal minutes, with prefixed sign (+/-); the plus sign for (N/W) is
optional
+/-D°M.MM' +/-D°M.MM'
Example: +33°55.55' -22°44.44'
Decimal degrees, with suffixed orientation (N/S, W/E)
D.DDN/S
D.DDW/E
Example: 33.33N
22.22W
Decimal degrees, with prefixed sign (+/-); the plus sign for (N/W) is optional
+/-D.DD
+/-D.DD
-22.22
Example: 33.33
Examples of format-combinations:
33.33N -22°44'66.66"
33.33 22°44'66.66"W
33.33 22.c
Altova Exif Attribute: Geolocation
The Altova XPath/XQuery Engine generates the custom attribute Geolocation from
standard Exif metadata tags. Geolocation is a concatenation of four Exif tags:
GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, with units added
(see table below).
GPSLatitu GPSLatitude GPSLongitu GPSLongitude Geolocation
de
Ref
de
Ref
33 51
21.91
S
151 13
11.73
E
33°51'21.91"S 151°
13'11.73"E
geolocation-distance-km [altova:]
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
325
altova:geolocation-distance-km(GeolocationInputString-1 as xs:string,
GeolocationInputString-2 as xs:string) as xs:decimal XP3 XQ3
Calculates the distance between two geolocations in kilometers. The formats in which the
geolocation input string can be supplied are listed below. Latitude values range from +90 to 90 (N to S). Longitude values range from +180 to -180 (E to W).
Note: The image-exif-data function and the Exif metadata's @Geolocation attribute can
be used to supply geolocation input strings.
Examples
altova:geolocation-distance-km("33.33 -22.22", "48°51'29.6""N
17'40.2""") returns the xs:decimal 4183.08132372392
24°
Geolocation input string formats:
The geolocation input string must contain latitude and longitude (in that order) separated
by whitespace. Each can be in any of the following formats. Combinations are allowed.
So latitude can be in one format and longitude can be in another. Latitude values range
from +90 to -90 (N to S). Longitude values range from +180 to -180 (E to W).
Note: If single quotes or double quotes are used to delimit the input string argument,
this will create a mismatch with the single quotes or double quotes that are used,
respectively, to indicate minute-values and second-values. In such cases, the quotes
that are used for indicating minute-values and second-values must be escaped by
doubling them. In the examples in this section, quotes used to delimit the input string
are highlighted in yellow (") while unit indicators that are escaped are highlighted in blue
("").
Degrees, minutes, decimal seconds, with suffixed orientation (N/S, W/E)
D°M'S.SS"N/S D°M'S.SS"W/E
Example: 33°55'11.11"N 22º44'66.66"W
Degrees, minutes, decimal seconds, with prefixed sign (+/-); the plus sign for
(N/W) is optional
+/-D°M'S.SS" +/-D°M'S.SS"
Example: 33°55'11.11" -22°44'66.66"
Degrees, decimal minutes, with suffixed orientation (N/S, W/E)
D°M.MM'N/S D°M.MM'W/E
Example: 33°55.55'N 22°44.44'W
Degrees, decimal minutes, with prefixed sign (+/-); the plus sign for (N/W) is
optional
+/-D°M.MM' +/-D°M.MM'
Example: +33°55.55' -22°44.44'
Decimal degrees, with suffixed orientation (N/S, W/E)
D.DDN/S
D.DDW/E
Example: 33.33N
22.22W
Decimal degrees, with prefixed sign (+/-); the plus sign for (N/W) is optional
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
326
XSLT and XPath/XQuery Functions
Altova Extension Functions
+/-D.DD
+/-D.DD
Example: 33.33 -22.22
Examples of format-combinations:
33.33N -22°44'66.66"
33.33 22°44'66.66"W
33.33 22.c
Altova Exif Attribute: Geolocation
The Altova XPath/XQuery Engine generates the custom attribute Geolocation from
standard Exif metadata tags. Geolocation is a concatenation of four Exif tags:
GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, with units added
(see table below).
GPSLatitu GPSLatitude GPSLongitu GPSLongitude Geolocation
de
Ref
de
Ref
33 51
21.91
S
151 13
11.73
E
33°51'21.91"S 151°
13'11.73"E
geolocation-distance-mi [altova:]
altova:geolocation-distance-mi(GeolocationInputString-1 as xs:string,
GeolocationInputString-2 as xs:string) as xs:decimal XP3 XQ3
Calculates the distance between two geolocations in miles. The formats in which a
geolocation input string can be supplied are listed below. Latitude values range from +90 to 90 (N to S). Longitude values range from +180 to -180 (E to W).
Note: The image-exif-data function and the Exif metadata's @Geolocation attribute can
be used to supply geolocation input strings.
Examples
altova:geolocation-distance-mi("33.33 -22.22", "48°51'29.6""N
17'40.2""") returns the xs:decimal 2599.40652340653
24°
Geolocation input string formats:
The geolocation input string must contain latitude and longitude (in that order) separated
by whitespace. Each can be in any of the following formats. Combinations are allowed.
So latitude can be in one format and longitude can be in another. Latitude values range
from +90 to -90 (N to S). Longitude values range from +180 to -180 (E to W).
Note: If single quotes or double quotes are used to delimit the input string argument,
this will create a mismatch with the single quotes or double quotes that are used,
respectively, to indicate minute-values and second-values. In such cases, the quotes
that are used for indicating minute-values and second-values must be escaped by
doubling them. In the examples in this section, quotes used to delimit the input string
are highlighted in yellow (") while unit indicators that are escaped are highlighted in blue
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
327
("").
Degrees, minutes, decimal seconds, with suffixed orientation (N/S, W/E)
D°M'S.SS"N/S D°M'S.SS"W/E
Example: 33°55'11.11"N 22º44'66.66"W
Degrees, minutes, decimal seconds, with prefixed sign (+/-); the plus sign for
(N/W) is optional
+/-D°M'S.SS" +/-D°M'S.SS"
Example: 33°55'11.11" -22°44'66.66"
Degrees, decimal minutes, with suffixed orientation (N/S, W/E)
D°M.MM'N/S D°M.MM'W/E
Example: 33°55.55'N 22°44.44'W
Degrees, decimal minutes, with prefixed sign (+/-); the plus sign for (N/W) is
optional
+/-D°M.MM' +/-D°M.MM'
Example: +33°55.55' -22°44.44'
Decimal degrees, with suffixed orientation (N/S, W/E)
D.DDN/S
D.DDW/E
Example: 33.33N
22.22W
Decimal degrees, with prefixed sign (+/-); the plus sign for (N/W) is optional
+/-D.DD
+/-D.DD
-22.22
Example: 33.33
Examples of format-combinations:
33.33N -22°44'66.66"
33.33 22°44'66.66"W
33.33 22.c
Altova Exif Attribute: Geolocation
The Altova XPath/XQuery Engine generates the custom attribute Geolocation from
standard Exif metadata tags. Geolocation is a concatenation of four Exif tags:
GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, with units added
(see table below).
GPSLatitu GPSLatitude GPSLongitu GPSLongitude Geolocation
de
Ref
de
Ref
33 51
21.91
S
151 13
11.73
E
33°51'21.91"S 151°
13'11.73"E
geolocation-within-polygon [altova:]
altova:geolocation-within-polygon(Geolocation as xs:string, ((PolygonPoint
as xs:string)+)) as xs:boolean XP3 XQ3
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
328
XSLT and XPath/XQuery Functions
Altova Extension Functions
Determines whether Geolocation (the first argument) is within the polygonal area described
by the PolygonPoint arguments. If the PolygonPoint arguments do not form a closed figure
(formed when the first point and the last point are the same), then the first point is implicitly
added as the last point in order to close the figure. All the arguments (Geolocation and
PolygonPoint+) are given by geolocation input strings (formats listed below). If the
Geolocation argument is within the polygonal area, then the function returns true();
otherwise it returns false(). Latitude values range from +90 to -90 (N to S). Longitude values
range from +180 to -180 (E to W).
Note: The image-exif-data function and the Exif metadata's @Geolocation attribute can
be used to supply geolocation input strings.
Examples
altova:geolocation-within-polygon("33
24", "58 -32")) returns true()
altova:geolocation-within-polygon("33
24")) returns true()
altova:geolocation-within-polygon("33
"48°51'29.6""N 24°17'40.2""")) returns
-22", ("58 -32", "-78 -55", "48
-22", ("58 -32", "-78 -55", "48
-22", ("58 -32", "-78 -55",
true()
Geolocation input string formats:
The geolocation input string must contain latitude and longitude (in that order) separated
by whitespace. Each can be in any of the following formats. Combinations are allowed.
So latitude can be in one format and longitude can be in another. Latitude values range
from +90 to -90 (N to S). Longitude values range from +180 to -180 (E to W).
Note: If single quotes or double quotes are used to delimit the input string argument,
this will create a mismatch with the single quotes or double quotes that are used,
respectively, to indicate minute-values and second-values. In such cases, the quotes
that are used for indicating minute-values and second-values must be escaped by
doubling them. In the examples in this section, quotes used to delimit the input string
are highlighted in yellow (") while unit indicators that are escaped are highlighted in blue
("").
Degrees, minutes, decimal seconds, with suffixed orientation (N/S, W/E)
D°M'S.SS"N/S D°M'S.SS"W/E
Example: 33°55'11.11"N 22º44'66.66"W
Degrees, minutes, decimal seconds, with prefixed sign (+/-); the plus sign for
(N/W) is optional
+/-D°M'S.SS" +/-D°M'S.SS"
Example: 33°55'11.11" -22°44'66.66"
Degrees, decimal minutes, with suffixed orientation (N/S, W/E)
D°M.MM'N/S D°M.MM'W/E
Example: 33°55.55'N 22°44.44'W
Degrees, decimal minutes, with prefixed sign (+/-); the plus sign for (N/W) is
optional
+/-D°M.MM'
Altova RaptorXML Server 2015
+/-D°M.MM'
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
Example: +33°55.55'
329
-22°44.44'
Decimal degrees, with suffixed orientation (N/S, W/E)
D.DDN/S
D.DDW/E
Example: 33.33N
22.22W
Decimal degrees, with prefixed sign (+/-); the plus sign for (N/W) is optional
+/-D.DD
+/-D.DD
-22.22
Example: 33.33
Examples of format-combinations:
33.33N -22°44'66.66"
33.33 22°44'66.66"W
33.33 22.c
Altova Exif Attribute: Geolocation
The Altova XPath/XQuery Engine generates the custom attribute Geolocation from
standard Exif metadata tags. Geolocation is a concatenation of four Exif tags:
GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, with units added
(see table below).
GPSLatitu GPSLatitude GPSLongitu GPSLongitude Geolocation
de
Ref
de
Ref
33 51
21.91
S
151 13
11.73
E
33°51'21.91"S 151°
13'11.73"E
geolocation-within-rectangle [altova:]
altova:geolocation-within-rectangle(Geolocation as xs:string, RectCorner-1
as xs:string, RectCorner-2 as xs:string) as xs:boolean XP3 XQ3
Determines whether Geolocation (the first argument) is within the rectangle defined by the
second and third arguments, RectCorner-1 and RectCorner-2, which specify opposite
corners of the rectangle. All the arguments (Geolocation, RectCorner-1 and RectCorner2) are given by geolocation input strings (formats listed below). If the Geolocation argument
is within the rectangle, then the function returns true(); otherwise it returns false().
Latitude values range from +90 to -90 (N to S). Longitude values range from +180 to -180 (E to
W).
Note: The image-exif-data function and the Exif metadata's @Geolocation attribute can
be used to supply geolocation input strings.
Examples
altova:geolocation-within-rectangle("33 -22", "58 -32", "-48 24")
returns true()
altova:geolocation-within-rectangle("33 -22", "58 -32", "48 24") returns
false()
altova:geolocation-within-rectangle("33 -22", "58 -32", "48°51'29.6""S
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
330
XSLT and XPath/XQuery Functions
Altova Extension Functions
24°17'40.2""") returns true()
Geolocation input string formats:
The geolocation input string must contain latitude and longitude (in that order) separated
by whitespace. Each can be in any of the following formats. Combinations are allowed.
So latitude can be in one format and longitude can be in another. Latitude values range
from +90 to -90 (N to S). Longitude values range from +180 to -180 (E to W).
Note: If single quotes or double quotes are used to delimit the input string argument,
this will create a mismatch with the single quotes or double quotes that are used,
respectively, to indicate minute-values and second-values. In such cases, the quotes
that are used for indicating minute-values and second-values must be escaped by
doubling them. In the examples in this section, quotes used to delimit the input string
are highlighted in yellow (") while unit indicators that are escaped are highlighted in blue
("").
Degrees, minutes, decimal seconds, with suffixed orientation (N/S, W/E)
D°M'S.SS"N/S D°M'S.SS"W/E
Example: 33°55'11.11"N 22º44'66.66"W
Degrees, minutes, decimal seconds, with prefixed sign (+/-); the plus sign for
(N/W) is optional
+/-D°M'S.SS" +/-D°M'S.SS"
Example: 33°55'11.11" -22°44'66.66"
Degrees, decimal minutes, with suffixed orientation (N/S, W/E)
D°M.MM'N/S D°M.MM'W/E
Example: 33°55.55'N 22°44.44'W
Degrees, decimal minutes, with prefixed sign (+/-); the plus sign for (N/W) is
optional
+/-D°M.MM' +/-D°M.MM'
Example: +33°55.55' -22°44.44'
Decimal degrees, with suffixed orientation (N/S, W/E)
D.DDN/S
D.DDW/E
Example: 33.33N
22.22W
Decimal degrees, with prefixed sign (+/-); the plus sign for (N/W) is optional
+/-D.DD
+/-D.DD
-22.22
Example: 33.33
Examples of format-combinations:
33.33N -22°44'66.66"
33.33 22°44'66.66"W
33.33 22.c
Altova Exif Attribute: Geolocation
The Altova XPath/XQuery Engine generates the custom attribute Geolocation from
standard Exif metadata tags. Geolocation is a concatenation of four Exif tags:
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
331
GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, with units added
(see table below).
GPSLatitu GPSLatitude GPSLongitu GPSLongitude Geolocation
de
Ref
de
Ref
33 51
21.91
S
151 13
11.73
E
33°51'21.91"S 151°
13'11.73"E
[ Top ]
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
332
XSLT and XPath/XQuery Functions
9.1.4
XPath/XQuery Functions: Image-Related
Altova Extension Functions
The following image-related XPath/XQuery extension functions are supported in the current version
of RaptorXML Server and can be used in (i) XPath expressions in an XSLT context, or (ii) XQuery
expressions in an XQuery document.
Note about naming of functions and language applicability
Altova extension functions can be used in XPath/XQuery expressions. They provide additional
functionality to the functionality that is available in the standard library of XPath, XQuery, and
XSLT functions. Altova extension functions are in the Altova extension functions
namespace, http://www.altova.com/xslt-extensions, and are indicated in this section
with the prefix altova:, which is assumed to be bound to this namespace. Note that, in future
versions of your product, support for a function might be discontinued or the behavior of
individual functions might change. Consult the documentation of future releases for information
about support for Altova extension functions in that release.
XPath functions (used in XPath expressions in XSLT):
XP1 XP2 XP3
XSLT functions (used in XPath expressions in XSLT):
XSLT1 XSLT2 XSLT3
XQuery functions (used in XQuery expressions in XQuery):
XQ1 XQ3
suggested-image-file-extension [altova:]
altova:suggested-image-file-extension(Base64String as string) as string?
XP3
XQ3
Takes the Base64 encoding of an image file as its argument and returns the file extension of
the image as recorded in the Base64-encoding of the image. The returned value is a
suggestion based on the image type information available in the encoding. If this information
is not available, then an empty string is returned. This function is useful if you wish to save a
Base64 image as a file and wish to dynamically retrieve an appropriate file extension.
Examples
altova:suggested-image-file-extension(/MyImages/MobilePhone/
Image20141130.01) returns 'jpg'
altova:suggested-image-file-extension([email protected]) returns
''
In the examples above, the nodes supplied as the argument of the function are assumed to
contain a Base64-encoded image. The first example retrieves jpg as the file's type and
extension. In the second example, the submitted Base64 encoding does not provide usable
file extension information.
image-exif-data [altova:]
altova:image-exif-data(Base64BinaryString as string) as element?
XP3 XQ3
Takes a Base64-encoded image as its argument and returns an element called Exif that
contains the Exif metadata of the image. The Exif metadata is created as attribute-value
pairs of the Exif element. The attribute names are the Exif data tags found in the Base64
encoding. The list of Exif-specification tags is given below. If a vendor-specific tag is present
in the Exif data, this tag and its value will also be returned as an attribute-value pair.
Additional to the standard Exif metadata tags (see list below), Altova-specific attribute-value
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
333
pairs are also generated. These Altova Exif attributes are listed below.
Examples
To access any one attribute, use the function like this:
image-exif-data(//MyImages/Image20141130.01)[email protected]
image-exif-data(//MyImages/Image20141130.01)[email protected]
To access all the attributes, use the function like this:
image-exif-data(//MyImages/Image20141130.01)/@*
To access the names of all the attributes, use the following expression:
for $i in image-exif-data(//MyImages/Image20141130.01)/@* return
name($i)
This is useful to find out the names of the attributes returned by the function.
Altova Exif Attribute: Geolocation
The Altova XPath/XQuery Engine generates the custom attribute Geolocation from
standard Exif metadata tags. Geolocation is a concatenation of four Exif tags:
GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, with units added
(see table below).
GPSLatitu GPSLatitude GPSLongitu GPSLongitude Geolocation
de
Ref
de
Ref
33 51
21.91
S
151 13
11.73
E
33°51'21.91"S 151°
13'11.73"E
Altova Exif Attribute: OrientationDegree
The Altova XPath/XQuery Engine generates the custom attribute OrientationDegree
from the Exif metadata tag Orientation.
OrientationDegree translates the standard Exif tag Orientation from an integer
value (1, 8, 3, or 6) to the respective degree values of each (0, 90, 180, 270), as shown
in the figure below. Note that there are no translations of the Orientation values of 2,
4, 5, 7. (These orientations are obtained by flipping image 1 across its vertical center
axis to get the image with a value of 2, and then rotating this image in 90-degree jumps
clockwise to get the values of 7, 4, and 5, respectively).
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
334
XSLT and XPath/XQuery Functions
Altova Extension Functions
Listing of standard Exif meta tags
ImageWidth
ImageLength
BitsPerSample
Compression
PhotometricInterpretation
Orientation
SamplesPerPixel
PlanarConfiguration
YCbCrSubSampling
YCbCrPositioning
XResolution
YResolution
ResolutionUnit
StripOffsets
RowsPerStrip
StripByteCounts
JPEGInterchangeFormat
JPEGInterchangeFormatLength
TransferFunction
WhitePoint
PrimaryChromaticities
YCbCrCoefficients
ReferenceBlackWhite
DateTime
ImageDescription
Make
Model
Software
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
335
Artist
Copyright
-----------------------------ExifVersion
FlashpixVersion
ColorSpace
ComponentsConfiguration
CompressedBitsPerPixel
PixelXDimension
PixelYDimension
MakerNote
UserComment
RelatedSoundFile
DateTimeOriginal
DateTimeDigitized
SubSecTime
SubSecTimeOriginal
SubSecTimeDigitized
ExposureTime
FNumber
ExposureProgram
SpectralSensitivity
ISOSpeedRatings
OECF
ShutterSpeedValue
ApertureValue
BrightnessValue
ExposureBiasValue
MaxApertureValue
SubjectDistance
MeteringMode
LightSource
Flash
FocalLength
SubjectArea
FlashEnergy
SpatialFrequencyResponse
FocalPlaneXResolution
FocalPlaneYResolution
FocalPlaneResolutionUnit
SubjectLocation
ExposureIndex
SensingMethod
FileSource
SceneType
CFAPattern
CustomRendered
ExposureMode
WhiteBalance
DigitalZoomRatio
FocalLengthIn35mmFilm
SceneCaptureType
GainControl
Contrast
Saturation
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
336
XSLT and XPath/XQuery Functions
Altova Extension Functions
Sharpness
DeviceSettingDescription
SubjectDistanceRange
ImageUniqueID
-----------------------------GPSVersionID
GPSLatitudeRef
GPSLatitude
GPSLongitudeRef
GPSLongitude
GPSAltitudeRef
GPSAltitude
GPSTimeStamp
GPSSatellites
GPSStatus
GPSMeasureMode
GPSDOP
GPSSpeedRef
GPSSpeed
GPSTrackRef
GPSTrack
GPSImgDirectionRef
GPSImgDirection
GPSMapDatum
GPSDestLatitudeRef
GPSDestLatitude
GPSDestLongitudeRef
GPSDestLongitude
GPSDestBearingRef
GPSDestBearing
GPSDestDistanceRef
GPSDestDistance
GPSProcessingMethod
GPSAreaInformation
GPSDateStamp
GPSDifferential
[ Top ]
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
9.1.5
Altova Extension Functions
337
XPath/XQuery Functions: Numeric
Altova's numeric extension functions can be used in XPath and XQuery expressions and provide
additional functionality for the processing of data. The functions in this section can be used with
Altova's XPath 3.0 and XQuery 3.0 engines. They are available in XPath/XQuery contexts.
Note about naming of functions and language applicability
Altova extension functions can be used in XPath/XQuery expressions. They provide additional
functionality to the functionality that is available in the standard library of XPath, XQuery, and
XSLT functions. Altova extension functions are in the Altova extension functions
namespace, http://www.altova.com/xslt-extensions, and are indicated in this section
with the prefix altova:, which is assumed to be bound to this namespace. Note that, in future
versions of your product, support for a function might be discontinued or the behavior of
individual functions might change. Consult the documentation of future releases for information
about support for Altova extension functions in that release.
XPath functions (used in XPath expressions in XSLT):
XP1 XP2 XP3
XSLT functions (used in XPath expressions in XSLT):
XSLT1 XSLT2 XSLT3
XQuery functions (used in XQuery expressions in XQuery):
XQ1 XQ3
Auto-numbering functions
generate-auto-number [altova:]
altova:generate-auto-number(ID as xs:string, StartsWith as xs:double,
Increment as xs:double, ResetOnChange as xs:string) as xs:integer XP1
XP2 XQ1
XP3 XQ3
Generates a number each time the function is called. The first number, which is generated
the first time the function is called, is specified by the StartsWith argument. Each
subsequent call to the function generates a new number, this number being incremented over
the previously generated number by the value specified in the Increment argument. In effect,
the altova:generate-auto-number function creates a counter having a name specified by
the ID argument, with this counter being incremented each time the function is called. If the
value of the ResetOnChange argument changes from that of the previous function call, then
the value of the number to be generated is reset to the StartsWith value. Auto-numbering
can also be reset by using the altova:reset-auto-number function.
Examples
altova:generate-auto-number("ChapterNumber", 1, 1, "SomeString") will
return one number each time the function is called, starting with 1, and incrementing
by 1 with each call to the function. As long as the fourth argument remains
"SomeString" in each subsequent call, the incrementing will continue. When the
value of the fourth argument changes, the counter (called ChapterNumber) will reset
to 1. The value of ChapterNumber can also be reset by a call to the altova:resetauto-number function, like this: altova:reset-auto-number("ChapterNumber").
reset-auto-number [altova:]
altova:reset-auto-number(ID as xs:string)
© 2015 Altova Gmb H
XP1 XP2 XQ1 XP3 XQ3
Altova RaptorXML Server 2015
338
XSLT and XPath/XQuery Functions
Altova Extension Functions
This function resets the number of the auto-numbering counter named in the ID argument.
The number is reset to the number specified by the StartsWith argument of the
altova:generate-auto-number function that created the counter named in the ID
argument.
Examples
altova:reset-auto-number("ChapterNumber") resets the number of the autonumbering counter named ChapterNumber that was created by the
altova:generate-auto-number function. The number is reset to the value of the
StartsWith argument of the altova:generate-auto-number function that created
ChapterNumber.
[ Top ]
Numeric functions
hex-string-to-integer [altova:]
altova:hex-string-to-integer(HexString as xs:string) as xs:integer
XP3 XQ3
Takes a string argument that is the Base-16 equivalent of an integer in the decimal system
(Base-10), and returns the decimal integer.
Examples
altova:hex-string-to-integer('1') returns 1
altova:hex-string-to-integer('9') returns 9
altova:hex-string-to-integer('A') returns 10
altova:hex-string-to-integer('B') returns 11
altova:hex-string-to-integer('F') returns 15
altova:hex-string-to-integer('G') returns an error
altova:hex-string-to-integer('10') returns 16
altova:hex-string-to-integer('01') returns 1
altova:hex-string-to-integer('20') returns 32
altova:hex-string-to-integer('21') returns 33
altova:hex-string-to-integer('5A') returns 90
altova:hex-string-to-integer('USA') returns an error
integer-to-hex-string [altova:]
altova:integer-to-hex-string(Integer as xs:integer) as xs:string
XP3 XQ3
Takes an integer argument and returns its Base-16 equivalent as a string.
Examples
altova:integer-to-hex-string(1) returns '1'
altova:integer-to-hex-string(9) returns '9'
altova:integer-to-hex-string(10) returns 'A'
altova:integer-to-hex-string(11) returns 'B'
altova:integer-to-hex-string(15) returns 'F'
altova:integer-to-hex-string(16) returns '10'
altova:integer-to-hex-string(32) returns '20'
altova:integer-to-hex-string(33) returns '21'
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
339
altova:integer-to-hex-string(90) returns '5A'
[ Top ]
Number-formatting functions
generate-auto-number [altova:]
altova:generate-auto-number(ID as xs:string, StartsWith as xs:double,
Increment as xs:double, ResetOnChange as xs:string) as xs:integer XP1
XP2 XQ1
XP3 XQ3
Generates a number each time the function is called. The first number, which is generated
the first time the function is called, is specified by the StartsWith argument. Each
subsequent call to the function generates a new number, this number being incremented over
the previously generated number by the value specified in the Increment argument. In effect,
the altova:generate-auto-number function creates a counter having a name specified by
the ID argument, with this counter being incremented each time the function is called. If the
value of the ResetOnChange argument changes from that of the previous function call, then
the value of the number to be generated is reset to the StartsWith value. Auto-numbering
can also be reset by using the altova:reset-auto-number function.
Examples
altova:generate-auto-number("ChapterNumber", 1, 1, "SomeString") will
return one number each time the function is called, starting with 1, and incrementing
by 1 with each call to the function. As long as the fourth argument remains
"SomeString" in each subsequent call, the incrementing will continue. When the
value of the fourth argument changes, the counter (called ChapterNumber) will reset
to 1. The value of ChapterNumber can also be reset by a call to the altova:resetauto-number function, like this: altova:reset-auto-number("ChapterNumber").
[ Top ]
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
340
XSLT and XPath/XQuery Functions
9.1.6
XPath/XQuery Functions: Sequence
Altova Extension Functions
Altova's sequence extension functions can be used in XPath and XQuery expressions and provide
additional functionality for the processing of data. The functions in this section can be used with
Altova's XPath 3.0 and XQuery 3.0 engines. They are available in XPath/XQuery contexts.
Note about naming of functions and language applicability
Altova extension functions can be used in XPath/XQuery expressions. They provide additional
functionality to the functionality that is available in the standard library of XPath, XQuery, and
XSLT functions. Altova extension functions are in the Altova extension functions
namespace, http://www.altova.com/xslt-extensions, and are indicated in this section
with the prefix altova:, which is assumed to be bound to this namespace. Note that, in future
versions of your product, support for a function might be discontinued or the behavior of
individual functions might change. Consult the documentation of future releases for information
about support for Altova extension functions in that release.
XPath functions (used in XPath expressions in XSLT):
XP1 XP2 XP3
XSLT functions (used in XPath expressions in XSLT):
XSLT1 XSLT2 XSLT3
XQuery functions (used in XQuery expressions in XQuery):
XQ1 XQ3
attributes [altova:]
altova:attributes(AttributeName as xs:string) as attribute()*
XP3 XQ3
Returns all attributes that have a local name which is the same as the name supplied in the
input argument, AttributeName. The search is case-sensitive and conducted along the
attribute:: axis. This means that the context node must be the parent element node.
Examples
altova:attributes("MyAttribute") returns MyAttribute()*
altova:attributes(AttributeName as xs:string, SearchOptions as xs:string) as
attribute()* XP3 XQ3
Returns all attributes that have a local name which is the same as the name supplied in the
input argument, AttributeName. The search is case-sensitive and conducted along the
attribute:: axis. The context node must be the parent element node. The second
argument is a string containing option flags. Available flags are:
r = switches to a regular-expression search; AttributeName must then be a regularexpression search string;
f = If this option is specified, then AttributeName provides a full match; otherwise
AttributeName need only partially match an attribute name to return that attribute. For
example: if f is not specified, then MyAtt will return MyAttribute;
i = switches to a case-insensitive search;
p = includes the namespace prefix in the search; AttributeName should then contain the
namespace prefix, for example: altova:MyAttribute.
The flags can be written in any order. Invalid flags will generate errors. One or more flags can
be omitted. The empty string is allowed, and will produce the same effect as the function
having only one argument (previous signature). However, an empty sequence is not allowed
as the second argument.
Examples
altova:attributes("MyAttribute", "rfip") returns MyAttribute()*
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
341
altova:attributes("MyAttribute", "pri") returns MyAttribute()*
altova:attributes("MyAtt", "rip") returns MyAttribute()*
altova:attributes("MyAttributes", "rfip") returns no match
altova:attributes("MyAttribute", "") returns MyAttribute()*
altova:attributes("MyAttribute", "Rip") returns an unrecognized-flag error.
altova:attributes("MyAttribute", ) returns a missing-second-argument error.
elements [altova:]
altova:elements(ElementName as xs:string) as element()*
XP3 XQ3
Returns all elements that have a local name which is the same as the name supplied in the
input argument, ElementName. The search is case-sensitive and conducted along the
child:: axis. The context node must be the parent node of the element/s being searched
for.
Examples
altova:elements("MyElement") returns MyElement()*
altova:elements(ElementName as xs:string, SearchOptions as xs:string) as
element()* XP3 XQ3
Returns all elements that have a local name which is the same as the name supplied in the
input argument, ElementName. The search is case-sensitive and conducted along the
child:: axis. The context node must be the parent node of the element/s being searched
for. The second argument is a string containing option flags. Available flags are:
r = switches to a regular-expression search; ElementName must then be a regularexpression search string;
f = If this option is specified, then ElementName provides a full match; otherwise
ElementName need only partially match an element name to return that element. For
example: if f is not specified, then MyElem will return MyElement;
i = switches to a case-insensitive search;
p = includes the namespace prefix in the search; ElementName should then contain the
namespace prefix, for example: altova:MyElement.
The flags can be written in any order. Invalid flags will generate errors. One or more flags can
be omitted. The empty string is allowed, and will produce the same effect as the function
having only one argument (previous signature). However, an empty sequence is not allowed.
Examples
altova:elements("MyElement", "rip") returns MyElement()*
altova:elements("MyElement", "pri") returns MyElement()*
altova:elements("MyElement", "") returns MyElement()*
altova:attributes("MyElem", "rip") returns MyElement()*
altova:attributes("MyElements", "rfip") returns no match
altova:elements("MyElement", "Rip") returns an unrecognized-flag error.
altova:elements("MyElement", ) returns a missing-second-argument error.
find-first [altova:]
altova:find-first((Sequence as item()*), (Condition( Sequence-Item as
xs:boolean)) as item()? XP3 XQ3
This function takes two arguments. The first argument is a sequence of one or more items of
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
342
XSLT and XPath/XQuery Functions
Altova Extension Functions
any datatype. The second argument, Condition, is a reference to an XPath function that
takes one argument (has an arity of 1) and returns a boolean. Each item of Sequence is
submitted, in turn, to the function referenced in Condition. (Remember: This function takes
a single argument.) The first Sequence item that causes the function in Condition to
evaluate to true() is returned as the result of altova:find-first, and the iteration stops.
Examples
altova:find-first(5 to 10, function($a) {$a mod 2 = 0}) returns
xs:integer 6
The Condition argument references the XPath 3.0 inline function, function(), which
declares an inline function named $a and then defines it. Each item in the Sequence
argument of altova:find-first is passed, in turn, to $a as its input value. The input
value is tested on the condition in the function definition ($a mod 2 = 0). The first input
value to satisfy this condition is returned as the result of altova:find-first (in this
case 6).
altova:find-first((1 to 10), (function($a) {$a+3=7})) returns xs:integer
4
Further examples
If the file C:\Temp\Customers.xml exists:
altova:find-first( ("C:\Temp\Customers.xml", "http://www.altova.com/
index.html"), (doc-available#1) ) returns xs:string C:\Temp
\Customers.xml
If the file C:\Temp\Customers.xml does not exist, and http://www.altova.com/
index.html exists:
altova:find-first( ("C:\Temp\Customers.xml", "http://www.altova.com/
index.html"), (doc-available#1) ) returns xs:string http://
www.altova.com/index.html
If the file C:\Temp\Customers.xml does not exist, and http://www.altova.com/
index.html also does not exist:
altova:find-first( ("C:\Temp\Customers.xml", "http://www.altova.com/
index.html"), (doc-available#1) ) returns no result
Notes about the examples given above
The XPath 3.0 function, doc-available, takes a single string argument, which is
used as a URI, and returns true if a document node is found at the submitted URI.
(The document at the submitted URI must therefore be an XML document.)
The doc-available function can be used for Condition, the second argument of
altova:find-first, because it takes only one argument (arity=1), because it
takes an item() as input (a string which is used as a URI), and returns a boolean
value.
Notice that the doc-available function is only referenced, not called. The #1 suffix
that is attached to it indicates a function with an arity of 1. In its entirety docavailable#1 simply means: Use the doc-availabe() function that has arity=1,
passing to it as its single argument, in turn, each of the items in the first sequence.
As a result, each of the two strings will be passed to doc-available(), which
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
343
uses the string as a URI and tests whether a document node exists at the URI. If
one does, the doc-available() evaluates to true() and that string is returned as
the result of the altova:find-first function. Note about the doc-available()
function: Relative paths are resolved relative to the the current base URI, which is
by default the URI of the XML document from which the function is loaded.
find-first-combination [altova:]
altova:find-first-combination((Seq-01 as item()*), (Seq-02 as item()*),
(Condition( Seq-01-Item, Seq-02-Item as xs:boolean)) as item()* XP3 XQ3
This function takes three arguments:
The first two arguments, Seq-01 and Seq-02, are sequences of one or more items of
any datatype.
The third argument, Condition, is a reference to an XPath function that takes two
arguments (has an arity of 2) and returns a boolean.
The items of Seq-01 and Seq-02 are passed in ordered pairs (one item from each sequence
making up a pair) as the arguments of the function in Condition. The pairs are ordered as
follows.
If
Seq-01 = X1, X2, X3 ... Xn
And Seq-02 = Y1, Y2, Y3 ... Yn
Then (X1 Y1), (X1 Y2), (X1 Y3) ... (X1 Yn), (X2 Y1), (X2 Y2) ... (Xn Yn)
The first ordered pair that causes the Condition function to evaluate to true() is returned
as the result of altova:find-first-combination. Note that: (i) If the Condition function
iterates through the submitted argument pairs and does not once evaluate to true(), then
altova:find-first-combination returns No results; (ii) The result of altova:find-firstcombination will always be a pair of items (of any datatype) or no item at all.
Examples
altova:find-first-combination(11 to 20, 21
+$b = 32}) returns the sequence of xs:integers
altova:find-first-combination(11 to 20, 21
+$b = 33}) returns the sequence of xs:integers
altova:find-first-combination(11 to 20, 21
+$b = 34}) returns the sequence of xs:integers
to 30, function($a, $b) {$a
(11, 21)
to 30, function($a, $b) {$a
(11, 22)
to 30, function($a, $b) {$a
(11, 23)
find-first-pair [altova:]
altova:find-first-pair((Seq-01 as item()*), (Seq-02 as item()*),
(Condition( Seq-01-Item, Seq-02-Item as xs:boolean)) as item()* XP3
XQ3
This function takes three arguments:
The first two arguments, Seq-01 and Seq-02, are sequences of one or more items of
any datatype.
The third argument, Condition, is a reference to an XPath function that takes two
arguments (has an arity of 2) and returns a boolean.
The items of Seq-01 and Seq-02 are passed in ordered pairs as the arguments of the
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
344
XSLT and XPath/XQuery Functions
Altova Extension Functions
function in Condition. The pairs are ordered as follows.
If
Seq-01 = X1, X2, X3 ... Xn
And Seq-02 = Y1, Y2, Y3 ... Yn
Then (X1 Y1), (X2 Y2), (X3 Y3) ... (Xn Yn)
The first ordered pair that causes the Condition function to evaluate to true() is returned
as the result of altova:find-first-pair. Note that: (i) If the Condition function iterates
through the submitted argument pairs and does not once evaluate to true(), then
altova:find-first-pair returns No results; (ii) The result of altova:find-first-pair
will always be a pair of items (of any datatype) or no item at all.
Examples
altova:find-first-pair(11 to 20, 21 to 30, function($a, $b) {$a+$b =
32}) returns the sequence of xs:integers (11, 21)
altova:find-first-pair(11 to 20, 21 to 30, function($a, $b) {$a+$b =
33}) returns No results
Notice from the two examples above that the ordering of the pairs is: (11, 21) (12,
22) (13, 23)...(20, 30). This is why the second example returns No results
(because no ordered pair gives a sum of 33).
find-first-pair-pos [altova:]
altova:find-first-pair-pos((Seq-01 as item()*), (Seq-02 as item()*),
(Condition( Seq-01-Item, Seq-02-Item as xs:boolean)) as xs:integer XP3
XQ3
This function takes three arguments:
The first two arguments, Seq-01 and Seq-02, are sequences of one or more items of
any datatype.
The third argument, Condition, is a reference to an XPath function that takes two
arguments (has an arity of 2) and returns a boolean.
The items of Seq-01 and Seq-02 are passed in ordered pairs as the arguments of the
function in Condition. The pairs are ordered as follows.
If
Seq-01 = X1, X2, X3 ... Xn
And Seq-02 = Y1, Y2, Y3 ... Yn
Then (X1 Y1), (X2 Y2), (X3 Y3) ... (Xn Yn)
The index position of the first ordered pair that causes the Condition function to evaluate to
true() is returned as the result of altova:find-first-pair-pos. Note that if the
Condition function iterates through the submitted argument pairs and does not once
evaluate to true(), then altova:find-first-pair-pos returns No results.
Examples
altova:find-first-pair-pos(11 to 20, 21 to 30, function($a, $b) {$a+$b
= 32}) returns 1
altova:find-first-pair-pos(11 to 20, 21 to 30, function($a, $b) {$a+$b
= 33}) returns No results
Notice from the two examples above that the ordering of the pairs is: (11, 21) (12,
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
345
22) (13, 23)...(20, 30). In the first example, the first pair causes the Condition
function to evaluate to true(), and so its index position in the sequence, 1, is returned.
The second example returns No results because no pair gives a sum of 33.
find-first-pos [altova:]
altova:find-first-pos((Sequence as item()*), (Condition( Sequence-Item as
xs:boolean)) as xs:integer XP3 XQ3
This function takes two arguments. The first argument is a sequence of one or more items of
any datatype. The second argument, Condition, is a reference to an XPath function that
takes one argument (has an arity of 1) and returns a boolean. Each item of Sequence is
submitted, in turn, to the function referenced in Condition. (Remember: This function takes
a single argument.) The first Sequence item that causes the function in Condition to
evaluate to true() has its index position in Sequence returned as the result of
altova:find-first-pos, and the iteration stops.
Examples
altova:find-first-pos(5 to 10, function($a) {$a mod 2 = 0}) returns
xs:integer 2
The Condition argument references the XPath 3.0 inline function, function(), which
declares an inline function named $a and then defines it. Each item in the Sequence
argument of altova:find-first-pos is passed, in turn, to $a as its input value. The
input value is tested on the condition in the function definition ($a mod 2 = 0). The
index position in the sequence of the first input value to satisfy this condition is returned
as the result of altova:find-first-pos (in this case 2, since 6, the first value (in the
sequence) to satisfy the condition, is at index position 2 in the sequence).
altova:find-first-pos((2 to 10), (function($a) {$a+3=7})) returns
xs:integer 3
Further examples
If the file C:\Temp\Customers.xml exists:
altova:find-first-pos( ("C:\Temp\Customers.xml", "http://
www.altova.com/index.html"), (doc-available#1) ) returns 1
If the file C:\Temp\Customers.xml does not exist, and http://www.altova.com/
index.html exists:
altova:find-first-pos( ("C:\Temp\Customers.xml", "http://
www.altova.com/index.html"), (doc-available#1) ) returns 2
If the file C:\Temp\Customers.xml does not exist, and http://www.altova.com/
index.html also does not exist:
altova:find-first-pos( ("C:\Temp\Customers.xml", "http://
www.altova.com/index.html"), (doc-available#1) ) returns no result
Notes about the examples given above
The XPath 3.0 function, doc-available, takes a single string argument, which is
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
346
XSLT and XPath/XQuery Functions
Altova Extension Functions
used as a URI, and returns true if a document node is found at the submitted URI.
(The document at the submitted URI must therefore be an XML document.)
The doc-available function can be used for Condition, the second argument of
altova:find-first-pos, because it takes only one argument (arity=1), because it
takes an item() as input (a string which is used as a URI), and returns a boolean
value.
Notice that the doc-available function is only referenced, not called. The #1 suffix
that is attached to it indicates a function with an arity of 1. In its entirety docavailable#1 simply means: Use the doc-availabe() function that has arity=1,
passing to it as its single argument, in turn, each of the items in the first sequence.
As a result, each of the two strings will be passed to doc-available(), which
uses the string as a URI and tests whether a document node exists at the URI. If
one does, the doc-available() function evaluates to true() and the index
position of that string in the sequence is returned as the result of the altova:findfirst-pos function. Note about the doc-available() function: Relative paths are
resolved relative to the the current base URI, which is by default the URI of the
XML document from which the function is loaded.
substitute-empty [altova:]
altova:substitute-empty(FirstSequence as item()*, SecondSequence as item())
as item()* XP3 XQ3
If FirstSequence is empty, returns SecondSequence. If FirstSequence is not empty,
returns FirstSequence.
Examples
altova:substitute-empty( (1,2,3), (4,5,6) ) returns (1,2,3)
altova:substitute-empty( (), (4,5,6) ) returns (4,5,6)
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
9.1.7
Altova Extension Functions
347
XPath/XQuery Functions: String
Altova's string extension functions can be used in XPath and XQuery expressions and provide
additional functionality for the processing of data. The functions in this section can be used with
Altova's XPath 3.0 and XQuery 3.0 engines. They are available in XPath/XQuery contexts.
Note about naming of functions and language applicability
Altova extension functions can be used in XPath/XQuery expressions. They provide additional
functionality to the functionality that is available in the standard library of XPath, XQuery, and
XSLT functions. Altova extension functions are in the Altova extension functions
namespace, http://www.altova.com/xslt-extensions, and are indicated in this section
with the prefix altova:, which is assumed to be bound to this namespace. Note that, in future
versions of your product, support for a function might be discontinued or the behavior of
individual functions might change. Consult the documentation of future releases for information
about support for Altova extension functions in that release.
XPath functions (used in XPath expressions in XSLT):
XP1 XP2 XP3
XSLT functions (used in XPath expressions in XSLT):
XSLT1 XSLT2 XSLT3
XQuery functions (used in XQuery expressions in XQuery):
XQ1 XQ3
camel-case [altova:]
altova:camel-case(InputString as xs:string) as xs:string XP3 XQ3
Returns the input string InputString in CamelCase. The string is analyzed using the regular
expression '\s' (which is a shortcut for the whitespace character). The first non-whitespace
character after a whitespace or sequence of consecutive whitespaces is capitalized. The first
character in the output string is capitalized.
Examples
altova:camel-case("max") returns Max
altova:camel-case("max max") returns Max Max
altova:camel-case("file01.xml") returns File01.xml
altova:camel-case("file01.xml file02.xml") returns File01.xml File02.xml
altova:camel-case("file01.xml
file02.xml") returns File01.xml
File02.xml
altova:camel-case("file01.xml -file02.xml") returns File01.xml file02.xml
altova:camel-case(InputString as xs:string, SplitChars as xs:string, IsRegex
as xs:boolean) as xs:string XP3 XQ3
Converts the input string InputString to camel case by using SplitChars to determine the
character/s that trigger the next capitalization. SplitChars is used as a regular expression
when IsRegex = true(), or as plain characters when IsRegex = false(). The first
character in the output string is capitalized.
Examples
altova:camel-case("setname getname", "set|get", true()) returns setName
getName
altova:camel-case("altova\documents\testcases", "\", false()) returns
Altova\Documents\Testcases
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
348
XSLT and XPath/XQuery Functions
Altova Extension Functions
char [altova:]
altova:char(Position as xs:integer) as xs:string
XP3 XQ3
Returns a string containing the character at the position specified by the Position
argument, in the string obtained by converting the value of the context item to xs:string.
The result string will be empty if no character exists at the index submitted by the Position
argument.
Examples
If the context item is 1234ABCD:
altova:char(2) returns 2
altova:char(5) returns A
altova:char(9) returns the empty string.
altova:char(-2) returns the empty string.
altova:char(InputString as xs:string, Position as xs:integer) as xs:string
XP3 XQ3
Returns a string containing the character at the position specified by the Position
argument, in the string submitted as the InputString argument. The result string will be
empty if no character exists at the index submitted by the Position argument.
Examples
altova:char("2014-01-15", 5) returns altova:char("USA", 1) returns U
altova:char("USA", 10) returns the empty string.
altova:char("USA", -2) returns the empty string.
first-chars [altova:]
altova:first-chars(X-Number as xs:integer) as xs:string XP3 XQ3
Returns a string containing the first X-Number of characters of the string obtained by
converting the value of the context item to xs:string.
Examples
If the context item is 1234ABCD:
altova:first-chars(2) returns 12
altova:first-chars(5) returns 1234A
altova:first-chars(9) returns 1234ABCD
altova:first-chars(InputString as xs:string, X-Number as xs:integer) as
xs:string XP3 XQ3
Returns a string containing the first X-Number of characters of the string submitted as the
InputString argument.
Examples
altova:first-chars("2014-01-15", 5) returns 2014altova:first-chars("USA", 1) returns U
last-chars [altova:]
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
349
altova:last-chars(X-Number as xs:integer) as xs:string XP3 XQ3
Returns a string containing the last X-Number of characters of the string obtained by
converting the value of the context item to xs:string.
Examples
If the context item is 1234ABCD:
altova:last-chars(2) returns CD
altova:last-chars(5) returns 4ABCD
altova:last-chars(9) returns 1234ABCD
altova:last-chars(InputString as xs:string, X-Number as xs:integer) as
xs:string XP3 XQ3
Returns a string containing the last X-Number of characters of the string submitted as the
InputString argument.
Examples
altova:last-chars("2014-01-15", 5) returns 01-15
altova:last-chars("USA", 10) returns USA
pad-string-left [altova:]
altova:pad-string-left(StringToPad as xs:string, StringLength as xs:integer,
PadCharacter as xs:string) as xs:string XP3 XQ3
The PadCharacter argument is a single character. It is padded to the left of the string to
increase the number of characters in StringToPad so that this number equals the integer
value of the StringLength argument. The StringLength argument can have any integer
value (positive or negative), but padding will occur only if the value of StringLength is greater
than the number of characters in StringToPad. If StringToPad. has more characters than
the value of StringLength, then StringToPad is left unchanged.
Examples
altova:pad-string-left('AP',
altova:pad-string-left('AP',
altova:pad-string-left('AP',
altova:pad-string-left('AP',
altova:pad-string-left('AP',
altova:pad-string-left('AP',
1, 'Z') returns 'AP'
2, 'Z') returns 'AP'
3, 'Z') returns 'ZAP'
4, 'Z') returns 'ZZAP'
-3, 'Z') returns 'AP'
3, 'YZ') returns a pad-character-too-long error
pad-string-right [altova:]
altova:pad-string-right(StringToPad as xs:string, StringLength as
xs:integer, PadCharacter as xs:string) as xs:string XP3 XQ3
The PadCharacter argument is a single character. It is padded to the right of the string to
increase the number of characters in StringToPad so that this number equals the integer
value of the StringLength argument. The StringLength argument can have any integer
value (positive or negative), but padding will occur only if the value of StringLength is greater
than the number of characters in StringToPad. If StringToPad has more characters than the
value of StringLength, then StringToPad is left unchanged.
Examples
altova:pad-string-right('AP', 1, 'Z') returns 'AP'
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
350
XSLT and XPath/XQuery Functions
altova:pad-string-right('AP',
altova:pad-string-right('AP',
altova:pad-string-right('AP',
altova:pad-string-right('AP',
altova:pad-string-right('AP',
Altova Extension Functions
2, 'Z') returns 'AP'
3, 'Z') returns 'APZ'
4, 'Z') returns 'APZZ'
-3, 'Z') returns 'AP'
3, 'YZ') returns a pad-character-too-long error
repeat-string [altova:]
altova:repeat-string(InputString as xs:string, Repeats as xs:integer) as
xs:string XP2 XQ1 XP3 XQ3
Generates a string that is composed of the first InputString argument repeated Repeats
number of times.
Examples
altova:repeat-string("Altova #", 3) returns "Altova #Altova #Altova #"
substring-after-last [altova:]
altova:substring-after-last(MainString as xs:string, CheckString as
xs:string) as xs:string XP3 XQ3
If CheckString is found in MainString, then the substring that occurs after CheckString in
MainString is returned. If CheckString is not found in MainString, then the empty string is
returned. If CheckString is an empty string, then MainString is returned in its entirety. If
there is more than one occurrence of CheckString in MainString, then the substring after
the last occurrence of CheckString is returned.
Examples
altova:substring-after-last('ABCDEFGH', 'B') returns 'CDEFGH'
altova:substring-after-last('ABCDEFGH', 'BC') returns 'DEFGH'
altova:substring-after-last('ABCDEFGH', 'BD') returns ''
altova:substring-after-last('ABCDEFGH', 'Z') returns ''
altova:substring-after-last('ABCDEFGH', '') returns 'ABCDEFGH'
altova:substring-after-last('ABCD-ABCD', 'B') returns 'CD'
altova:substring-after-last('ABCD-ABCD-ABCD', 'BCD') returns ''
substring-before-last [altova:]
altova:substring-before-last(MainString as xs:string, CheckString as
xs:string) as xs:string XP3 XQ3
If CheckString is found in MainString, then the substring that occurs before CheckString
in MainString is returned. If CheckString is not found in MainString, or if CheckString is
an empty string, then the empty string is returned. If there is more than one occurrence of
CheckString in MainString, then the substring before the last occurrence of CheckString
is returned.
Examples
altova:substring-before-last('ABCDEFGH', 'B') returns 'A'
altova:substring-before-last('ABCDEFGH', 'BC') returns 'A'
altova:substring-before-last('ABCDEFGH', 'BD') returns ''
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
351
altova:substring-before-last('ABCDEFGH', 'Z') returns ''
altova:substring-before-last('ABCDEFGH', '') returns ''
altova:substring-before-last('ABCD-ABCD', 'B') returns 'ABCD-A'
altova:substring-before-last('ABCD-ABCD-ABCD', 'ABCD') returns 'ABCDABCD-'
substring-pos [altova:]
altova:substring-pos(StringToCheck as xs:string, StringToFind as xs:string)
as xs:integer XP3 XQ3
Returns the character position of the first occurrence of StringToFind in the string
StringToCheck. The character position is returned as an integer. The first character of
StringToCheck has the position 1. If StringToFind does not occur within StringToCheck,
the integer 0 is returned. To check for the second or a later occurrence of StringToCheck,
use the next signature of this function.
Examples
altova:substring-pos('Altova', 'to') returns 3
altova:substring-pos('Altova', 'tov') returns 3
altova:substring-pos('Altova', 'tv') returns 0
altova:substring-pos('AltovaAltova', 'to') returns 3
altova:substring-pos(StringToCheck as xs:string, StringToFind as xs:string,
Integer as xs:integer) as xs:integer XP3 XQ3
Returns the character position of StringToFind in the string, StringToCheck. The search
for StringToFind starts from the character position given by the Integer argument; the
character substring before this position is not searched. The returned integer, however, is the
position of the found string within the entire string, StringToCheck. This signature is useful
for finding the second or a later position of a string that occurs multiple times with the
StringToCheck. If StringToFind does not occur within StringToCheck, the integer 0 is
returned.
Examples
altova:substring-pos('Altova', 'to', 1) returns 3
altova:substring-pos('Altova', 'to', 3) returns 3
altova:substring-pos('Altova', 'to', 4) returns 0
altova:substring-pos('Altova-Altova', 'to', 0) returns 3
altova:substring-pos('Altova-Altova', 'to', 4) returns 10
trim-string [altova:]
altova:trim-string(InputString as xs:string) as xs:string XP3 XQ3
This function takes an xs:string argument, removes any leading and trailing whitespace,
and returns a "trimmed" xs:string.
Examples
altova:trim-string("
Hello World
")) returns "Hello World"
altova:trim-string("Hello World
")) returns "Hello World"
altova:trim-string("
Hello World")) returns "Hello World"
altova:trim-string("Hello World")) returns "Hello World"
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
352
XSLT and XPath/XQuery Functions
altova:trim-string("Hello
Altova Extension Functions
World")) returns "Hello
World"
trim-string-left [altova:]
altova:trim-string-left(InputString as xs:string) as xs:string XP3 XQ3
This function takes an xs:string argument, removes any leading whitespace, and returns a
left-trimmed xs:string.
Examples
altova:trim-string-left("
Hello World
")) returns "Hello World
altova:trim-string-left("Hello World
")) returns "Hello World
"
altova:trim-string-left("
Hello World")) returns "Hello World"
altova:trim-string-left("Hello World")) returns "Hello World"
altova:trim-string-left("Hello
World")) returns "Hello
World"
"
trim-string-right [altova:]
altova:trim-string-right(InputString as xs:string) as xs:string XP3 XQ3
This function takes an xs:string argument, removes any trailing whitespace, and returns a
right-trimmed xs:string.
Examples
altova:trim-string-right("
Hello World
")) returns "
Hello World"
altova:trim-string-right("Hello World
")) returns "Hello World"
altova:trim-string-right("
Hello World")) returns "
Hello World"
altova:trim-string-right("Hello World")) returns "Hello World"
altova:trim-string-right("Hello
World")) returns "Hello
World"
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
9.1.8
Altova Extension Functions
353
XPath/XQuery Functions: Miscellaneous
The following general purpose XPath/XQuery extension functions are supported in the current
version of RaptorXML Server and can be used in (i) XPath expressions in an XSLT context, or (ii)
XQuery expressions in an XQuery document.
Note about naming of functions and language applicability
Altova extension functions can be used in XPath/XQuery expressions. They provide additional
functionality to the functionality that is available in the standard library of XPath, XQuery, and
XSLT functions. Altova extension functions are in the Altova extension functions
namespace, http://www.altova.com/xslt-extensions, and are indicated in this section
with the prefix altova:, which is assumed to be bound to this namespace. Note that, in future
versions of your product, support for a function might be discontinued or the behavior of
individual functions might change. Consult the documentation of future releases for information
about support for Altova extension functions in that release.
XPath functions (used in XPath expressions in XSLT):
XP1 XP2 XP3
XSLT functions (used in XPath expressions in XSLT):
XSLT1 XSLT2 XSLT3
XQuery functions (used in XQuery expressions in XQuery):
XQ1 XQ3
URI functions
get-temp-folder [altova:]
altova:get-temp-folder() as xs:string
XP2 XQ1 XP3 XQ3
This function takes no argument. It returns the path to the temporary folder of the current
user.
Examples
altova:get-temp-folder() would return, on a Windows machine, something like
C:\Users\<UserName>\AppData\Local\Temp\ as an xs:string.
[ Top ]
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
354
XSLT and XPath/XQuery Functions
9.1.9
Chart Functions
Altova Extension Functions
The chart functions listed below enable you to create, generate, and save charts as images. They
are supported in the current version of your Altova product in the manner described below.
However, note that in future versions of your product, support for one or more of these functions
might be discontinued or the behavior of individual functions might change. Consult the
documentation of future releases for information about support for Altova extension functions in
that release.
The chart functions are XPath functions (not XSLT functions), and organized into two groups:
Functions for generating and saving charts
Functions for creating charts
Note:
Chart functions are supported only in Altova's Server products and the Enterprise
Editions of Altova products.
Note:
Supported image formats for charts in server editions are jpg, png, and bmp. The best
option is png because it is lossless and compressed. In Enterprise editions, the
supported formats are jpg. png, bmp, and gif.
Functions for generating and saving charts
These functions take the chart object (obtained with the chart creation functions) and either
generate an image or save an image to file
altova:generate-chart-image ($chart, $width, $height, $encoding) as atomic
where
$chart is the chart extension item obtained with the altova:create-chart function
$width and $height must be specified with a length unit
$encoding may be binarytobase64 or binarytobase16
The function returns the chart image in the specified encoding.
altova:generate-chart-image ($chart, $width, $height, $encoding, $imagetype) as
atomic
where
$chart is the chart extension item obtained with the altova:create-chart function
$width and $height must be specified with a length unit
$encoding may be base64Binary or hexBinary
$imagetype may be one of the following image formats: png, gif, bmp, jpg, jpeg. Note
that gif is not supported on server products. Also see note at top of page.
The function returns the chart image in the specified encoding and image format.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
355
altova:save-chart-image ($chart, $filename, $width, $height) as empty() (Windows
only)
where
$chart is the chart extension item obtained with the altova:create-chart function
$filename is the path to and name of the file to which the chart image is to be saved
$width and $height must be specified with a length unit
The function saves the chart image to the file specified in $filename.
altova:save-chart-image ($chart, $filename, $width, $height, $imagetype) as
empty() (Windows only)
where
$chart is the chart extension item obtained with the altova:create-chart function
$filename is the path to and name of the file to which the chart image is to be saved
$width and $height must be specified with a length unit
$imagetype may be one of the following image formats: png, gif, bmp, jpg, jpeg. Note
that gif is not supported on server products. Also see note at top of page.
The function saves the chart image to the file specified in $filename in the image format
specified.
Functions for creating charts
The following functions are used to create charts.
altova:create-chart($chart-config, $chart-data-series*) as chart extension item
where
$chart-config is the chart-config extension item obtained with the altova:createchart-config function or or via the altova:create-chart-config-from-xml function
$chart-data-series is the chart-data-series extension item obtained with the
altova:create-chart-data-series function or altova:create-chart-dataseries-from-rows function
The function returns a chart extension item, which is created from the data supplied via the
arguments.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
356
XSLT and XPath/XQuery Functions
Altova Extension Functions
altova:create-chart-config($type-name, $title) as chart-config extension item
where
$type-name specifies the type of chart to be created: Pie, Pie3d, BarChart,
BarChart3d, BarChart3dGrouped, LineChart, ValueLineChart, RoundGauge,
BarGauge
$title is the name of the chart
The function returns a chart-config extension item containing the configuration information of
the chart.
altova:create-chart-config-from-xml($xml-struct) as chart-config extension item
where
$xml-struct is the XML structure containing the configuration information of the chart
The function returns a chart-config extension item containing the configuration information of
the chart. This information is supplied in an XML data fragment.
altova:create-chart-data-series($series-name?, $x-values*, $y-values*) as chartdata-series extension item
where
$series-name specifies the name of the series
$x-values gives the list of X-Axis values
$y-values gives the list of Y-Axis values
The function returns a chart-data-series extension item containing the data for building the
chart: that is, the names of the series and the Axes data.
altova:create-chart-data-row(x, y1, y2, y3, ...) as chart-data-x-Ny-row
extension item
where
x is the value of the X-Axis column of the chart data row
yN are the values of the Y-Axis columns
The function returns a chart-data-x-Ny-row extension item, which contains the data for the X-
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
357
Axis column and Y-Axis columns of a single series.
altova:create-chart-data-series-from-rows($series-names as xs:string*, $row*) as
chart-data-series extension item
where
$series-name is the name of the series to be created
$row is the chart-data-x-Ny-row extension item that is to be created as a series
The function returns a chart-data-series extension item, which contains the data for the X-Axis
and Y-Axes of the series.
altova:create-chart-layer($chart-config, $chart-data-series*) as chart-layer
extension item
where
$chart-config is the chart-config extension item obtained with the altova:createchart-config function or or via the altova:create-chart-config-from-xml function
$chart-data-series is the chart-data-series extension item obtained with the
altova:create-chart-data-series function or altova:create-chart-dataseries-from-rows function
The function returns a chart-layer extension item, which contains chart-layer data.
altova:create-multi-layer-chart($chart-config, $chart-data-series*, $chartlayer*)
where
$chart-config is the chart-config extension item obtained with the altova:createchart-config function or or via the altova:create-chart-config-from-xml function
$chart-data-series is the chart-data-series extension item obtained with the
altova:create-chart-data-series function or altova:create-chart-dataseries-from-rows function
$chart-layer is the chart-layer extension item obtained with the altova:createchart-layer function
The function returns a multi-layer-chart item.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
358
XSLT and XPath/XQuery Functions
Altova Extension Functions
altova:create-multi-layer-chart($chart-config, $chart-data-series*, $chartlayer*, xs:boolean $mergecategoryvalues)
where
$chart-config is the chart-config extension item obtained with the altova:createchart-config function or or via the altova:create-chart-config-from-xml function
$chart-data-series is the chart-data-series extension item obtained with the
altova:create-chart-data-series function or altova:create-chart-dataseries-from-rows function
$chart-layer is the chart-layer extension item obtained with the altova:createchart-layer function
The function returns a multi-layer-chart item.
Chart Data XML Structure
Given below is the XML structure of chart data, how it might appear for the Altova extension
functions for charts. This affects the appearance of the specific chart. Not all elements are used
for all chart kinds, e.g. the <Pie> element is ignored for bar charts.
Note:
Chart functions are supported only in the Enterprise and Server Editions of Altova
products.
<chart-config>
<General
SettingsVersion="1" must be provided
ChartKind="BarChart" Pie, Pie3d, BarChart, Stack edBarChart, BarChart3d,
BarChart3dGrouped, LineChart, ValueLineChart, AreaChart, Stack edAreaChart, RoundGauge,
BarGauge, CandleStick
BKColor="#ffffff" Color
BKColorGradientEnd="#ffffff" Color. In case of a gradient, BKColor and
BKColorGradientEnd define the gradient's colors
BKMode="#ffffff" Solid, HorzGradient, VertGradient
BKFile="Path+Filename" String. If file exists, its content is drawn over the
back ground.
BKFileMode="Stretch" Stretch, ZoomToFit, Center, Tile
ShowBorder="1" Bool
PlotBorderColor="#000000" Color
PlotBKColor="#ffffff" Color
Title="" String
ShowLegend="1" Bool
OutsideMargin="3.%" PercentOrPixel
TitleToPlotMargin="3.%"
PercentOrPixel
LegendToPlotMargin="3.%" PercentOrPixel
Orientation="vert" Enumeration: possible values are: vert, horz
>
<TitleFont
Color="#000000" Color
Name="Tahoma" String
Bold="1" Bool
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
359
Italic="0" Bool
Underline="0" Bool
MinFontHeight="10.pt" FontSize (only pt values)
Size="8.%" FontSize />
<LegendFont
Color="#000000"
Name="Tahoma"
Bold="0"
Italic="0"
Underline="0"
MinFontHeight="10.pt"
Size="3.5%" />
<AxisLabelFont
Color="#000000"
Name="Tahoma"
Bold="1"
Italic="0"
Underline="0"
MinFontHeight="10.pt"
Size="5.%" />
</General>
<Line
ConnectionShapeSize="1.%" PercentOrPixel
DrawFilledConnectionShapes="1" Bool
DrawOutlineConnectionShapes="0" Bool
DrawSlashConnectionShapes="0" Bool
DrawBackslashConnectionShapes="0" Bool
/>
<Bar
ShowShadow="1" Bool
ShadowColor="#a0a0a0" Color
OutlineColor="#000000" Color
ShowOutline="1" Bool
/>
<Area
Transparency="0" UINT ( 0-255 ) 255 is fully transparent, 0 is opaque
OutlineColor="#000000" Color
ShowOutline="1" Bool
/>
<CandleStick
FillHighClose="0"
Bool. If 0, the body is left empty. If 1, FillColorHighClose
is used for the candle body
FillColorHighClose="#ffffff"
Color. For the candle body when close >
open
FillHighOpenWithSeriesColor="1"
Bool. If true, the series color is used to
fill the candlebody when open > close
FillColorHighOpen="#000000"
Color. For the candle body when open > close
and FillHighOpenWithSeriesColor is false
/>
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
360
XSLT and XPath/XQuery Functions
Altova Extension Functions
<Colors User-defined color scheme: By default this element is empty except for the
style and has no Color attributes
UseSubsequentColors ="1" Boolean. If 0, then color in overlay is used. If 1,
then subsequent colors from previous chart layer is used
Style="User" Possible values are: "Default", "Grayscale", "Colorful", "Pastel",
"User"
Colors="#52aca0" Color: only added for user defined color set
Colors1="#d3c15d" Color: only added for user defined color set
Colors2="#8971d8" Color: only added for user defined color set
...
ColorsN=""
</Colors>
Up to ten colors are allowed in a set: from Colors to Colors9
<Pie
ShowLabels="1" Bool
OutlineColor="#404040" Color
ShowOutline="1" Bool
StartAngle="0." Double
Clockwise="1" Bool
Draw2dHighlights="1" Bool
Transparency="0" Int (0 to 255: 0 is opaque, 255 is fully transparent)
DropShadowColor="#c0c0c0" Color
DropShadowSize="5.%" PercentOrPixel
PieHeight="10.%" PercentOrPixel. Pixel values might be different in the result
because of 3d tilting
Tilt="40.0" Double (10 to 90: The 3d tilt in degrees of a 3d pie)
ShowDropShadow="1" Bool
ChartToLabelMargin="10.%" PercentOrPixel
AddValueToLabel="0" Bool
AddPercentToLabel="0" Bool
AddPercentToLabels_DecimalDigits="0" UINT ( 0 – 2 )
>
<LabelFont
Color="#000000"
Name="Arial"
Bold="0"
Italic="0"
Underline="0"
MinFontHeight="10.pt"
Size="4.%"
/>
</Pie>
<XY>
<XAxis
Axis
AutoRange="1" Bool
AutoRangeIncludesZero="1" Bool
RangeFrom="0." Double: manual range
RangeTill="1." Double : manual range
LabelToAxisMargin="3.%" PercentOrPixel
AxisLabel="" String
AxisColor="#000000" Color
AxisGridColor="#e6e6e6" Color
ShowGrid="1" Bool
UseAutoTick="1" Bool
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
361
ManualTickInterval="1." Double
AxisToChartMargin="0.px" PercentOrPixel
TickSize="3.px" PercentOrPixel
ShowTicks="1" Bool
ShowValues="1" Bool
AxisPosition="LeftOrBottom" Enums: "LeftOrBottom",
"RightOrTop", "AtValue"
AxisPositionAtValue = "0" Double
>
<ValueFont
Color="#000000"
Name="Tahoma"
Bold="0"
Italic="0"
Underline="0"
MinFontHeight="10.pt"
Size="3.%"
/>
</XAxis>
<YAxis Axis (same as for XAxis)
AutoRange="1"
AutoRangeIncludesZero="1"
RangeFrom="0."
RangeTill="1."
LabelToAxisMargin="3.%"
AxisLabel=""
AxisColor="#000000"
AxisGridColor="#e6e6e6"
ShowGrid="1"
UseAutoTick="1"
ManualTickInterval="1."
AxisToChartMargin="0.px"
TickSize="3.px"
ShowTicks="1" Bool
ShowValues="1" Bool
AxisPosition="LeftOrBottom" Enums: "LeftOrBottom",
"RightOrTop", "AtValue"
AxisPositionAtValue = "0" Double
>
<ValueFont
Color="#000000"
Name="Tahoma"
Bold="0"
Italic="0"
Underline="0"
MinFontHeight="10.pt"
Size="3.%"/>
</YAxis>
</XY>
<XY3d
AxisAutoSize="1" Bool: If false, XSize and YSize define the aspect ration of
x and y axis. If true, aspect ratio is equal to chart window
XSize="100.%" PercentOrPixel. Pixel values might be different in the result
because of 3d tilting and zooming to fit chart
YSize="100.%" PercentOrPixel. Pixel values might be different in the result
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
362
XSLT and XPath/XQuery Functions
Altova Extension Functions
because of 3d tilting and zooming to fit chart
SeriesMargin="30.%" PercentOrPixel. Pixel values might be different in the
result because of 3d tilting and zooming to fit chart
Tilt="20." Double. -90 to +90 degrees
Rot="20." Double. -359 to +359 degrees
FoV="50."> Double. Field of view: 1-120 degree
>
<ZAxis
AutoRange="1"
AutoRangeIncludesZero="1"
RangeFrom="0."
RangeTill="1."
LabelToAxisMargin="3.%"
AxisLabel=""
AxisColor="#000000"
AxisGridColor="#e6e6e6"
ShowGrid="1"
UseAutoTick="1"
ManualTickInterval="1."
AxisToChartMargin="0.px"
TickSize="3.px" >
<ValueFont
Color="#000000"
Name="Tahoma"
Bold="0"
Italic="0"
Underline="0"
MinFontHeight="10.pt"
Size="3.%"/>
</ZAxis>
</XY3d>
<Gauge
MinVal="0." Double
MaxVal="100." Double
MinAngle="225" UINT: -359-359
SweepAngle="270" UINT: 1-359
BorderToTick="1.%" PercentOrPixel
MajorTickWidth="3.px" PercentOrPixel
MajorTickLength="4.%" PercentOrPixel
MinorTickWidth="1.px" PercentOrPixel
MinorTickLength="3.%" PercentOrPixel
BorderColor="#a0a0a0" Color
FillColor="#303535" Color
MajorTickColor="#a0c0b0" Color
MinorTickColor="#a0c0b0" Color
BorderWidth="2.%" PercentOrPixel
NeedleBaseWidth="1.5%" PercentOrPixel
NeedleBaseRadius="5.%" PercentOrPixel
NeedleColor="#f00000" Color
NeedleBaseColor="#141414" Color
TickToTickValueMargin="5.%" PercentOrPixel
MajorTickStep="10." Double
MinorTickStep="5." Double
RoundGaugeBorderToColorRange="0.%" PercentOrPixel
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
363
RoundGaugeColorRangeWidth ="6.%" PercentOrPixel
BarGaugeRadius="5.%" PercentOrPixel
BarGaugeMaxHeight="20.%" PercentOrPixel
RoundGaugeNeedleLength="45.%" PercentOrPixel
BarGaugeNeedleLength="3.%" PercentOrPixel
>
<TicksFont
Color="#a0c0b0"
Name="Tahoma"
Bold="0"
Italic="0"
Underline="0"
MinFontHeight="10.pt"
Size="4.%"
/>
<ColorRanges> User-defined color ranges. By default empty with no child
element entries
<Entry
From="50. " Double
FillWithColor="1" Bool
Color="#00ff00" Color
/>
<Entry
From="50.0"
FillWithColor="1"
Color="#ff0000"
/>
...
</ColorRanges>
</Gauge>
</chart-config>
Example: Chart Functions
The example XSLT document below shows how Altova extension functions for charts can be
used. Given further below are an XML document and a screenshot of the output image generated
when the XML document is processed with the XSLT document using the XSLT 2.0 or 3.0 Engine.
Note:
Chart functions are supported only in the Enterprise and Server Editions of Altova
products.
Note:
For more information about how chart data tables are created, see the documentation of
Altova's XMLSpy and StyleVision products.
XSLT document
This XSLT document (listing below) uses Altova chart extension functions to generate a pie chart.
It can be used to process the XML document listed further below.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
364
XSLT and XPath/XQuery Functions
Altova Extension Functions
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:altovaext="http://www.altova.com/xslt-extensions"
exclude-result-prefixes="#all">
<xsl:output version="4.0" method="html" indent="yes" encoding="UTF-8"/>
<xsl:template match="/">
<html>
<head>
<title>
<xsl:text>HTML Page with Embedded Chart</xsl:text>
</title>
</head>
<body>
<xsl:for-each select="/Data/Region[1]">
<xsl:variable name="extChartConfig" as="item()*">
<xsl:variable name="ext-chart-settings" as="item()*">
<chart-config>
<General
SettingsVersion="1"
ChartKind="Pie3d"
BKColor="#ffffff"
ShowBorder="1"
PlotBorderColor="#000000"
PlotBKColor="#ffffff"
Title="[email protected]}"
ShowLegend="1"
OutsideMargin="3.2%"
TitleToPlotMargin="3.%"
LegendToPlotMargin="6.%"
>
<TitleFont
Color="#023d7d"
Name="Tahoma"
Bold="1"
Italic="0"
Underline="0"
MinFontHeight="10.pt"
Size="8.%" />
</General>
</chart-config>
</xsl:variable>
<xsl:sequence select="altovaext:create-chart-config-fromxml( $ext-chart-settings )"/>
</xsl:variable>
<xsl:variable name="chartDataSeries" as="item()*">
<xsl:variable name="chartDataRows" as="item()*">
<xsl:for-each select="(Year)">
<xsl:sequence select="altovaext:create-chart-datarow( (@id), ( .) )"/>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="chartDataSeriesNames" as="xs:string*"
select=" ( (&quot;Series 1&quot;), &apos;&apos; )[1]"/>
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
365
<xsl:sequence
select="altovaext:create-chart-data-series-fromrows( $chartDataSeriesNames, $chartDataRows)"/>
</xsl:variable>
<xsl:variable name="ChartObj" select="altovaext:createchart( $extChartConfig, ( $chartDataSeries), false() )"/>
<xsl:variable name="sChartFileName" select="'mychart1.png'"/>
<img src="{$sChartFileName, altovaext:save-chartimage( $ChartObj, $sChartFileName, 400, 400 ) }"/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XML document
This XML document can be processed with the XSLT document above. Data in the XML document
is used to generate the pie chart shown in the screenshot below.
<?xml version="1.0" encoding="UTF-8"?>
<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="YearlySales.xsd">
<ChartType>Pie Chart 2D</ChartType>
<Region id="Americas">
<Year id="2005">30000</Year>
<Year id="2006">90000</Year>
<Year id="2007">120000</Year>
<Year id="2008">180000</Year>
<Year id="2009">140000</Year>
<Year id="2010">100000</Year>
</Region>
<Region id="Europe">
<Year id="2005">50000</Year>
<Year id="2006">60000</Year>
<Year id="2007">80000</Year>
<Year id="2008">100000</Year>
<Year id="2009">95000</Year>
<Year id="2010">80000</Year>
</Region>
<Region id="Asia">
<Year id="2005">10000</Year>
<Year id="2006">25000</Year>
<Year id="2007">70000</Year>
<Year id="2008">110000</Year>
<Year id="2009">125000</Year>
<Year id="2010">150000</Year>
</Region>
</Data>
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
366
XSLT and XPath/XQuery Functions
Altova Extension Functions
Output image
The pie chart show below is generated when the XML document listed above is processed with
the XSLT document.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Altova Extension Functions
367
9.1.10 Barcode Functions
The XSLT Engine uses third-party Java libraries to create barcodes. Given below are the classes
and the public methods used. The classes are packaged in AltovaBarcodeExtension.jar,
which is located in the folder <ProgramFilesFolder>\Altova\Common2015\jar.
The Java libraries used are in sub-folders of the folder <ProgramFilesFolder>\Altova
\Common2015\jar:
barcode4j\barcode4j.jar (Website: http://barcode4j.sourceforge.net/)
zxing\core.jar (Website: http://code.google.com/p/zxing/)
The license files are also located in the respective folders.
The com.altova.extensions.barcode package
The package, com.altova.extensions.barcode, is used to generate most of the barcode types.
The following classes are used:
public class BarcodeWrapper
static BarcodeWrapper newInstance( String name, String msg, int dpi, int
orientation, BarcodePropertyWrapper[] arrProperties )
double getHeightPlusQuiet()
double getWidthPlusQuiet()
org.w3c.dom.Document generateBarcodeSVG()
byte[] generateBarcodePNG()
String generateBarcodePngAsHexString()
public class BarcodePropertyWrapper Used to store the barcode properties that will be
dynamically set later
BarcodePropertyWrapper( String methodName, String propertyValue )
BarcodePropertyWrapper( String methodName, Integer propertyValue )
BarcodePropertyWrapper( String methodName, Double propertyValue )
BarcodePropertyWrapper( String methodName, Boolean propertyValue )
BarcodePropertyWrapper( String methodName, Character propertyValue )
String getMethodName()
Object getPropertyValue()
public class AltovaBarcodeClassResolver Registers the class
com.altova.extensions.barcode.proxy.zxing.QRCodeBean for the qrcode bean, additionally
to the classes registered by the org.krysalis.barcode4j.DefaultBarcodeClassResolver.
The com.altova.extensions.barcode.proxy.zxing package
The package, com.altova.extensions.barcode.proxy.zxing, is used to generate the QRCode
barcode type.
The following classes are used:
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
368
XSLT and XPath/XQuery Functions
Altova Extension Functions
class QRCodeBean
Extends org.krysalis.barcode4j.impl.AbstractBarcodeBean
Creates an AbstractBarcodeBean interface for com.google.zxing.qrcode.encoder
void generateBarcode(CanvasProvider canvasImp, String msg)
void setQRErrorCorrectionLevel(QRCodeErrorCorrectionLevel level)
BarcodeDimension calcDimensions(String msg)
double getVerticalQuietZone()
double getBarWidth()
class QRCodeErrorCorrectionLevel Error correction level for the QRCode
static QRCodeErrorCorrectionLevel byName(String name)
“L” = ~7% correction
“M” = ~15% correction
“H” = ~25% correction
“Q” = ~30% correction
XSLT example
Given below is an XSLT example showing how barcode functions are used in an XSLT stylesheet.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:altova="http://www.altova.com"
xmlns:altovaext=”http://www.altova.com/xslt-extensions”
xmlns:altovaext-barcode="java:com.altova.extensions.barcode.BarcodeWrapper"
xmlns:altovaext-barcodeproperty="java:com.altova.extensions.barcode.BarcodePropertyWrapper">
<xsl:output method="html" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<html>
<head><title/></head>
<body>
<img alt="barcode" src="{altovaext:get-temp-folder()}barcode.png"/>
</body>
</html>
<xsl:result-document
href="{altovaext:get-temp-folder()}barcode.png"
method="text" encoding="base64tobinary" >
<xsl:variable name="barcodeObject"
select="altovaextbarcode:newInstance(&apos;Code39&apos;,string(&apos;some value&apos;),
96,0, (altovaext-barcode-property:new( &apos;setModuleWidth&apos;,
25.4 div 96 * 2 ) ) )"/>
<xsl:value-of select="xs:base64Binary(xs:hexBinary(string(altovaextbarcode:generateBarcodePngAsHexString($barcodeObject)) ))"/>
</xsl:result-document>
</xsl:template>
</xsl:stylesheet>
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
9.2
Miscellaneous Extension Functions
369
Miscellaneous Extension Functions
There are several ready-made functions in programming languages such as Java and C# that are
not available as XQuery/XPath functions or as XSLT functions. A good example would be the math
functions available in Java, such as sin() and cos(). If these functions were available to the
designers of XSLT stylesheets and XQuery queries, it would increase the application area of
stylesheets and queries and greatly simplify the tasks of stylesheet creators. The XSLT and
XQuery engines used in a number of Altova products support the use of extension functions in
Java and .NET, as well as MSXSL scripts for XSLT. This section describes how to use extension
functions and MSXSL scripts in your XSLT stylesheets and XQuery documents. The available
extension functions are organized into the following sections:
Java Extension Functions
.NET Extension Functions
MSXSL Scripts for XSLT
The two main issues considered in the descriptions are: (i) how functions in the respective
libraries are called; and (ii) what rules are followed for converting arguments in a function call to
the required input format of the function, and what rules are followed for the return conversion
(function result to XSLT/XQuery data object).
Requirements
For extension functions support, a Java Runtime Environment (for access to Java functions) and
.NET Framework 2.0 (minimum, for access to .NET functions) must be installed on the machine
running the XSLT transformation or XQuery execution, or must be accessible for the
transformations.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
370
XSLT and XPath/XQuery Functions
9.2.1
Java Extension Functions
Miscellaneous Extension Functions
A Java extension function can be used within an XPath or XQuery expression to invoke a Java
constructor or call a Java method (static or instance).
A field in a Java class is considered to be a method without any argument. A field can be static or
instance. How to access fields is described in the respective sub-sections, static and instance.
This section is organized into the following sub-sections:
Java: Constructors
Java: Static Methods and Static Fields
Java: Instance Methods and Instance Fields
Datatypes: XPath/XQuery to Java
Datatypes: Java to XPath/XQuery
Form of the extension function
The extension function in the XPath/XQuery expression must have the form prefix:fname().
The prefix: part identifies the extension function as a Java function. It does so by
associating the extension function with an in-scope namespace declaration, the URI of
which must begin with java: (see below for examples). The namespace declaration
should identify a Java class, for example: xmlns:myns="java:java.lang.Math".
However, it could also simply be: xmlns:myns="java" (without a colon), with the
identification of the Java class being left to the fname() part of the extension function.
The fname() part identifies the Java method being called, and supplies the arguments for
the method (see below for examples). However, if the namespace URI identified by the
prefix: part does not identify a Java class (see preceding point), then the Java class
should be identified in the fname() part, before the class and separated from the class by
a period (see the second XSLT example below).
Note:
The class being called must be on the classpath of the machine.
XSLT example
Here are two examples of how a static method can be called. In the first example, the class name
(java.lang.Math) is included in the namespace URI and, therefore, must not be in the fname()
part. In the second example, the prefix: part supplies the prefix java: while the fname() part
identifies the class as well as the method.
<xsl:value-of xmlns:jMath="java:java.lang.Math"
select="jMath:cos(3.14)" />
<xsl:value-of xmlns:jmath="java"
select="jmath:java.lang.Math.cos(3.14)" />
The method named in the extension function (cos() in the example above) must match the name
of a public static method in the named Java class (java.lang.Math in the example above).
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
371
XQuery example
Here is an XQuery example similar to the XSLT example above:
<cosine xmlns:jMath="java:java.lang.Math">
{jMath:cos(3.14)}
</cosine>
User-defined Java classes
If you have created your own Java classes, methods in these classes are called differently
according to: (i) whether the classes are accessed via a JAR file or a class file, and (ii) whether
these files (JAR or class) are located in the current directory (the same directory as the XSLT or
XQuery document) or not. How to locate these files is described in the sections User-Defined
Class Files and User-Defined Jar Files. Note that paths to class files not in the current directory
and to all JAR files must be specified.
User-Defined Class Files
If access is via a class file, then there are two possibilities:
The class file is in a package. The XSLT or XQuery file is in the same folder as the Java
package. (See example below.)
The class file is not packaged. The XSLT or XQuery file is in the same folder as the class
file. (See example below.)
The class file is in a package. The XSLT or XQuery file is at some random location. (See
example below.)
The class file is not packaged. The XSLT or XQuery file is at some random location. (See
example below.)
Consider the case where the class file is not packaged and is in the same folder as the XSLT or
XQuery document. In this case, since all classes in the folder are found, the file location does not
need to be specified. The syntax to identify a class is:
java:classname
where
java: indicates that a user-defined Java function is being called; (Java classes in the
current directory will be loaded by default)
classname is the name of the required method's class
The class is identified in a namespace URI, and the namespace is used to prefix a
method call.
Class file packaged, XSLT/XQuery file in same folder as Java package
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
372
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
The example below calls the getVehicleType()method of the Car class of the
com.altova.extfunc package. The com.altova.extfunc package is in the folder JavaProject.
The XSLT file is also in the folder JavaProject.
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:car="java:com.altova.extfunc.Car" >
<xsl:output exclude-result-prefixes="fn car xsl fo xs"/>
<xsl:template match="/">
<a>
<xsl:value-of select="car:getVehicleType()"/>
</a>
</xsl:template>
</xsl:stylesheet>
Class file not packaged, XSLT/XQuery file in same folder as class file
The example below calls the getVehicleType()method of the Car class of the
com.altova.extfunc package. The Car class file is in the following folder location:
JavaProject/com/altova/extfunc. The XSLT file is also in the folder JavaProject/com/
altova/extfunc.
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:car="java:Car" >
<xsl:output exclude-result-prefixes="fn car xsl fo xs"/>
<xsl:template match="/">
<a>
<xsl:value-of select="car:getVehicleType()"/>
</a>
</xsl:template>
</xsl:stylesheet>
Class file packaged, XSLT/XQuery file at any location
The example below calls the getCarColor()method of the Car class of the com.altova.extfunc
package. The com.altova.extfunc package is in the folder JavaProject. The XSLT file is at any
location. In this case, the location of the package must be specified within the URI as a query
string. The syntax is:
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
373
java:classname[?path=uri-of-package]
where
java: indicates that a user-defined Java function is being called
uri-of-package is the URI of the Java package
classname is the name of the required method's class
The class is identified in a namespace URI, and the namespace is used to prefix a
method call. The example below shows how to access a class file that is located in
another directory than the current directory.
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:car="java:com.altova.extfunc.Car?path=file:///C:/
JavaProject/" >
<xsl:output exclude-result-prefixes="fn car xsl xs"/>
<xsl:template match="/">
<xsl:variable name="myCar" select="car:new('red')" />
<a><xsl:value-of select="car:getCarColor($myCar)"/></a>
</xsl:template>
</xsl:stylesheet>
Class file not packaged, XSLT/XQuery file at any location
The example below calls the getCarColor()method of the Car class of the com.altova.extfunc
package. The com.altova.extfunc package is in the folder JavaProject. The XSLT file is at any
location. The location of the class file is specified within the namespace URI as a query string.
The syntax is:
java:classname[?path=uri-of-classfile]
where
java: indicates that a user-defined Java function is being called
uri-of-classfile is the URI of the folder containing the class file
classname is the name of the required method's class
The class is identified in a namespace URI, and the namespace is used to prefix a
method call. The example below shows how to access a class file that is located in
another directory than the current directory.
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
374
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:car="java:Car?path=file:///C:/JavaProject/com/altova/
extfunc/" >
<xsl:output exclude-result-prefixes="fn car xsl xs"/>
<xsl:template match="/">
<xsl:variable name="myCar" select="car:new('red')" />
<a><xsl:value-of select="car:getCarColor($myCar)"/></a>
</xsl:template>
</xsl:stylesheet>
Note:
When a path is supplied via the extension function, the path is added to the ClassLoader.
User-Defined Jar Files
If access is via a JAR file, the URI of the JAR file must be specified using the following syntax:
xmlns:classNS="java:classname?path=jar:uri-of-jarfile!/"
The method is then called by using the prefix of the namespace URI that identifies the
class: classNS:method()
In the above:
java: indicates that a Java function is being called
classname is the name of the user-defined class
? is the separator between the classname and the path
path=jar: indicates that a path to a JAR file is being given
uri-of-jarfile is the URI of the jar file
!/ is the end delimiter of the path
classNS:method() is the call to the method
Alternatively, the classname can be given with the method call. Here are two examples of the
syntax:
xmlns:ns1="java:docx.layout.pages?path=jar:file:///c:/projects/
docs/docx.jar!/"
ns1:main()
xmlns:ns2="java?path=jar:file:///c:/projects/docs/docx.jar!/"
ns2:docx.layout.pages.main()
Here is a complete XSLT example that uses a JAR file to call a Java extension function:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:car="java?path=jar:file:///C:/test/Car1.jar!/" >
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
375
<xsl:output exclude-result-prefixes="fn car xsl xs"/>
<xsl:template match="/">
<xsl:variable name="myCar" select="car:Car1.new('red')" />
<a><xsl:value-of select="car:Car1.getCarColor($myCar)"/></a>
</xsl:template>
<xsl:template match="car"/>
</xsl:stylesheet>
Note:
When a path is supplied via the extension function, the path is added to the ClassLoader.
Java: Constructors
An extension function can be used to call a Java constructor. All constructors are called with the
pseudo-function new().
If the result of a Java constructor call can be implicitly converted to XPath/XQuery datatypes, then
the Java extension function will return a sequence that is an XPath/XQuery datatype. If the result
of a Java constructor call cannot be converted to a suitable XPath/XQuery datatype, then the
constructor creates a wrapped Java object with a type that is the name of the class returning that
Java object. For example, if a constructor for the class java.util.Date is called
(java.util.Date.new()), then an object having a type java.util.Date is returned. The lexical
format of the returned object may not match the lexical format of an XPath datatype and the value
would therefore need to be converted to the lexical format of the required XPath datatype and then
to the required XPath datatype.
There are two things that can be done with a Java object created by a constructor:
It can be assigned to a variable:
<xsl:variable name="currentdate" select="date:new()"
xmlns:date="java:java.util.Date" />
It can be passed to an extension function (see Instance Method and Instance Fields):
<xsl:value-of select="date:toString(date:new())"
xmlns:date="java:java.util.Date" />
Java: Static Methods and Static Fields
A static method is called directly by its Java name and by supplying the arguments for the
method. Static fields (methods that take no arguments), such as the constant-value fields E and
PI, are accessed without specifying any argument.
XSLT examples
Here are some examples of how static methods and fields can be called:
<xsl:value-of xmlns:jMath="java:java.lang.Math"
select="jMath:cos(3.14)" />
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
376
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
<xsl:value-of xmlns:jMath="java:java.lang.Math"
select="jMath:cos( jMath:PI() )" />
<xsl:value-of xmlns:jMath="java:java.lang.Math"
select="jMath:E() * jMath:cos(3.14)" />
Notice that the extension functions above have the form prefix:fname(). The prefix in all three
cases is jMath:, which is associated with the namespace URI java:java.lang.Math. (The
namespace URI must begin with java:. In the examples above it is extended to contain the class
name (java.lang.Math).) The fname() part of the extension functions must match the name of a
public class (e.g. java.lang.Math) followed by the name of a public static method with its
argument/s (such as cos(3.14)) or a public static field (such as PI()).
In the examples above, the class name has been included in the namespace URI. If it were not
contained in the namespace URI, then it would have to be included in the fname() part of the
extension function. For example:
<xsl:value-of xmlns:java="java:"
select="java:java.lang.Math.cos(3.14)" />
XQuery example
A similar example in XQuery would be:
<cosine xmlns:jMath="java:java.lang.Math">
{jMath:cos(3.14)}
</cosine>
Java: Instance Methods and Instance Fields
An instance method has a Java object passed to it as the first argument of the method call. Such
a Java object typically would be created by using an extension function (for example a constructor
call) or a stylesheet parameter/variable. An XSLT example of this kind would be:
<xsl:stylesheet version="1.0" exclude-result-prefixes="date"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:date="java:java.util.Date"
xmlns:jlang="java:java.lang">
<xsl:param name="CurrentDate" select="date:new()"/>
<xsl:template match="/">
<enrollment institution-id="Altova School"
date="{date:toString($CurrentDate)}"
type="
{jlang:Object.toString(jlang:Object.getClass( date:new() ))}">
</enrollment>
</xsl:template>
</xsl:stylesheet>
In the example above, the value of the node [email protected] is created as follows:
1.
2.
An object is created with a constructor for the class java.util.Date (with the
date:new() constructor).
This Java object is passed as the argument of the jlang.Object.getClass method.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
3.
Miscellaneous Extension Functions
377
The object obtained by the getClass method is passed as the argument to the
jlang.Object.toString method.
The result (the value of @type) will be a string having the value: java.util.Date.
An instance field is theoretically different from an instance method in that it is not a Java object
per se that is passed as an argument to the instance field. Instead, a parameter or variable is
passed as the argument. However, the parameter/variable may itself contain the value returned by
a Java object. For example, the parameter CurrentDate takes the value returned by a constructor
for the class java.util.Date. This value is then passed as an argument to the instance method
date:toString in order to supply the value of [email protected]
Datatypes: XPath/XQuery to Java
When a Java function is called from within an XPath/XQuery expression, the datatype of the
function's arguments is important in determining which of multiple Java classes having the same
name is called.
In Java, the following rules are followed:
If there is more than one Java method with the same name, but each has a different
number of arguments than the other/s, then the Java method that best matches the
number of arguments in the function call is selected.
The XPath/XQuery string, number, and boolean datatypes (see list below) are implicitly
converted to a corresponding Java datatype. If the supplied XPath/XQuery type can be
converted to more than one Java type (for example, xs:integer), then that Java type is
selected which is declared for the selected method. For example, if the Java method
being called is fx(decimal) and the supplied XPath/XQuery datatype is xs:integer,
then xs:integer will be converted to Java's decimal datatype.
The table below lists the implicit conversions of XPath/XQuery string, number, and boolean types
to Java datatypes.
xs:string
java.lang.String
xs:boolean
boolean (primitive), java.lang.Boolean
xs:integer
int, long, short, byte, float, double, and the
wrapper classes of these, such as
java.lang.Integer
xs:float
float (primitive), java.lang.Float, double
(primitive)
xs:double
double (primitive), java.lang.Double
xs:decimal
float (primitive), java.lang.Float,
double(primitive), java.lang.Double
Subtypes of the XML Schema datatypes listed above (and which are used in XPath and XQuery)
will also be converted to the Java type/s corresponding to that subtype's ancestor type.
In some cases, it might not be possible to select the correct Java method based on the supplied
information. For example, consider the following case.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
378
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
The supplied argument is an xs:untypedAtomic value of 10 and it is intended for the
method mymethod(float).
However, there is another method in the class which takes an argument of another
datatype: mymethod(double).
Since the method names are the same and the supplied type (xs:untypedAtomic) could
be converted correctly to either float or double, it is possible that xs:untypedAtomic is
converted to double instead of float.
Consequently the method selected will not be the required method and might not produce
the expected result. To work around this, you can create a user-defined method with a
different name and use this method.
Types that are not covered in the list above (for example xs:date) will not be converted and will
generate an error. However, note that in some cases, it might be possible to create the required
Java type by using a Java constructor.
Datatypes: Java to XPath/XQuery
When a Java method returns a value, the datatype of the value is a string, numeric or boolean
type, then it is converted to the corresponding XPath/XQuery type. For example, Java's
java.lang.Boolean and boolean datatypes are converted to xsd:boolean.
One-dimensional arrays returned by functions are expanded to a sequence. Multi-dimensional
arrays will not be converted, and should therefore be wrapped.
When a wrapped Java object or a datatype other than string, numeric or boolean is returned, you
can ensure conversion to the required XPath/XQuery type by first using a Java method (e.g
toString) to convert the Java object to a string. In XPath/XQuery, the string can be modified to fit
the lexical representation of the required type and then converted to the required type (for
example, by using the cast as expression).
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
9.2.2
Miscellaneous Extension Functions
379
.NET Extension Functions
If you are working on the .NET platform on a Windows machine, you can use extension functions
written in any of the .NET languages (for example, C#). A .NET extension function can be used
within an XPath or XQuery expression to invoke a constructor, property, or method (static or
instance) within a .NET class.
A property of a .NET class is called using the syntax get_PropertyName().
This section is organized into the following sub-sections:
.NET: Constructors
.NET: Static Methods and Static Fields
.NET: Instance Methods and Instance Fields
Datatypes: XPath/XQuery to .NET
Datatypes: .NET to XPath/XQuery
Form of the extension function
The extension function in the XPath/XQuery expression must have the form prefix:fname().
The prefix: part is associated with a URI that identifies the .NET class being
addressed.
The fname() part identifies the constructor, property, or method (static or instance) within
the .NET class, and supplies any argument/s, if required.
The URI must begin with clitype: (which identifies the function as being a .NET
extension function).
The prefix:fname() form of the extension function can be used with system classes
and with classes in a loaded assembly. However, if a class needs to be loaded, additional
parameters containing the required information will have to be supplied.
Parameters
To load an assembly, the following parameters are used:
asm
The name of the assembly to be loaded.
ver
The version number (maximum of four integers separated by periods).
sn
The key token of the assembly's strong name (16 hex digits).
from
A URI that gives the location of the assembly (DLL) to be loaded. If the
URI is relative, it is relative to the XSLT or XQuery document. If this
parameter is present, any other parameter is ignored.
partialname
The partial name of the assembly. It is supplied to
Assembly.LoadWith.PartialName(), which will attempt to load the
assembly. If partialname is present, any other parameter is ignored.
loc
The locale, for example, en-US. The default is neutral.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
380
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
If the assembly is to be loaded from a DLL, use the from parameter and omit the sn parameter. If
the assembly is to be loaded from the Global Assembly Cache (GAC), use the sn parameter and
omit the from parameter.
A question mark must be inserted before the first parameter, and parameters must be separated
by a semi-colon. The parameter name gives its value with an equals sign (see example below).
Examples of namespace declarations
An example of a namespace declaration in XSLT that identifies the system class
System.Environment:
xmlns:myns="clitype:System.Environment"
An example of a namespace declaration in XSLT that identifies the class to be loaded as
Trade.Forward.Scrip:
xmlns:myns="clitype:Trade.Forward.Scrip?asm=forward;version=10.6.2.1"
An example of a namespace declaration in XQuery that identifies the system class
MyManagedDLL.testClass:. Two cases are distinguished:
1.
When the assembly is loaded from the GAC:
declare namespace cs="clitype:MyManagedDLL.testClass?asm=MyManagedDLL;
ver=1.2.3.4;loc=neutral;sn=b9f091b72dccfba8";
2.
When the assembly is loaded from the DLL (complete and partial references below):
declare namespace cs="clitype:MyManagedDLL.testClass?from=file:///
C:/Altova
Projects/extFunctions/MyManagedDLL.dll;
declare namespace cs="clitype:MyManagedDLL.testClass?
from=MyManagedDLL.dll;
XSLT example
Here is a complete XSLT example that calls functions in system class System.Math:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml" omit-xml-declaration="yes" />
<xsl:template match="/">
<math xmlns:math="clitype:System.Math">
<sqrt><xsl:value-of select="math:Sqrt(9)"/></sqrt>
<pi><xsl:value-of select="math:PI()"/></pi>
<e><xsl:value-of select="math:E()"/></e>
<pow><xsl:value-of select="math:Pow(math:PI(), math:E())"/></pow>
</math>
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
381
</xsl:template>
</xsl:stylesheet>
The namespace declaration on the element math associates the prefix math: with the URI
clitype:System.Math. The clitype: beginning of the URI indicates that what follows identifies
either a system class or a loaded class. The math: prefix in the XPath expressions associates
the extension functions with the URI (and, by extension, the class) System.Math. The extension
functions identify methods in the class System.Math and supply arguments where required.
XQuery example
Here is an XQuery example fragment similar to the XSLT example above:
<math xmlns:math="clitype:System.Math">
{math:Sqrt(9)}
</math>
As with the XSLT example above, the namespace declaration identifies the .NET class, in this
case a system class. The XQuery expression identifies the method to be called and supplies the
argument.
.NET: Constructors
An extension function can be used to call a .NET constructor. All constructors are called with the
pseudo-function new(). If there is more than one constructor for a class, then the constructor that
most closely matches the number of arguments supplied is selected. If no constructor is deemed
to match the supplied argument/s, then a 'No constructor found' error is returned.
Constructors that return XPath/XQuery datatypes
If the result of a .NET constructor call can be implicitly converted to XPath/XQuery datatypes, then
the .NET extension function will return a sequence that is an XPath/XQuery datatype.
Constructors that return .NET objects
If the result of a .NET constructor call cannot be converted to a suitable XPath/XQuery datatype,
then the constructor creates a wrapped .NET object with a type that is the name of the class
returning that object. For example, if a constructor for the class System.DateTime is called (with
System.DateTime.new()), then an object having a type System.DateTime is returned.
The lexical format of the returned object may not match the lexical format of a required XPath
datatype. In such cases, the returned value would need to be: (i) converted to the lexical format of
the required XPath datatype; and (ii) cast to the required XPath datatype.
There are three things that can be done with a .NET object created by a constructor:
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
382
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
It can be used within a variable:
<xsl:variable name="currentdate" select="date:new(2008, 4, 29)"
xmlns:date="clitype:System.DateTime" />
It can be passed to an extension function (see Instance Method and Instance Fields):
<xsl:value-of select="date:ToString(date:new(2008, 4, 29))"
xmlns:date="clitype:System.DateTime" />
It can be converted to a string, number, or boolean:
<xsl:value-of select="xs:integer(data:get_Month(date:new(2008, 4, 29)))"
xmlns:date="clitype:System.DateTime" />
.NET: Static Methods and Static Fields
A static method is called directly by its name and by supplying the arguments for the method.
The name used in the call must exactly match a public static method in the class specified. If the
method name and the number of arguments that were given in the function call matches more
than one method in a class, then the types of the supplied arguments are evaluated for the best
match. If a match cannot be found unambiguously, an error is reported.
Note:
A field in a .NET class is considered to be a method without any argument. A property is
called using the syntax get_PropertyName().
Examples
An XSLT example showing a call to a method with one argument (System.Math.Sin(arg)):
<xsl:value-of select="math:Sin(30)" xmlns:math="clitype:System.Math"/>
An XSLT example showing a call to a field (considered a method with no argument)
(System.Double.MaxValue()):
<xsl:value-of select="double:MaxValue()" xmlns:double="clitype:System.Double"/>
An XSLT example showing a call to a property (syntax is get_PropertyName())
(System.String()):
<xsl:value-of select="string:get_Length('my string')"
xmlns:string="clitype:System.String"/>
An XQuery example showing a call to a method with one argument (System.Math.Sin(arg)):
<sin xmlns:math="clitype:System.Math">
{ math:Sin(30) }
</sin>
.NET: Instance Methods and Instance Fields
An instance method has a .NET object passed to it as the first argument of the method call. This
.NET object typically would be created by using an extension function (for example a constructor
call) or a stylesheet parameter/variable. An XSLT example of this kind would be:
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
383
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:variable name="releasedate"
select="date:new(2008, 4, 29)"
xmlns:date="clitype:System.DateTime"/>
<doc>
<date>
<xsl:value-of select="date:ToString(date:new(2008, 4, 29))"
xmlns:date="clitype:System.DateTime"/>
</date>
<date>
<xsl:value-of select="date:ToString($releasedate)"
xmlns:date="clitype:System.DateTime"/>
</date>
</doc>
</xsl:template>
</xsl:stylesheet>
In the example above, a System.DateTime constructor (new(2008, 4, 29)) is used to create a
.NET object of type System.DateTime. This object is created twice, once as the value of the
variable releasedate, a second time as the first and only argument of the
System.DateTime.ToString() method. The instance method System.DateTime.ToString() is
called twice, both times with the System.DateTime constructor (new(2008, 4, 29)) as its first
and only argument. In one of these instances, the variable releasedate is used to get the .NET
object.
Instance methods and instance fields
The difference between an instance method and an instance field is theoretical. In an instance
method, a .NET object is directly passed as an argument; in an instance field, a parameter or
variable is passed instead—though the parameter or variable may itself contain a .NET object. For
example, in the example above, the variable releasedate contains a .NET object, and it is this
variable that is passed as the argument of ToString() in the second date element constructor.
Therefore, the ToString() instance in the first date element is an instance method while the
second is considered to be an instance field. The result produced in both instances, however, is
the same.
Datatypes: XPath/XQuery to .NET
When a .NET extension function is used within an XPath/XQuery expression, the datatypes of the
function's arguments are important for determining which one of multiple .NET methods having the
same name is called.
In .NET, the following rules are followed:
If there is more than one method with the same name in a class, then the methods
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
384
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
available for selection are reduced to those that have the same number of arguments as
the function call.
The XPath/XQuery string, number, and boolean datatypes (see list below) are implicitly
converted to a corresponding .NET datatype. If the supplied XPath/XQuery type can be
converted to more than one .NET type (for example, xs:integer), then that .NET type is
selected which is declared for the selected method. For example, if the .NET method
being called is fx(double) and the supplied XPath/XQuery datatype is xs:integer,
then xs:integer will be converted to .NET's double datatype.
The table below lists the implicit conversions of XPath/XQuery string, number, and boolean types
to .NET datatypes.
xs:string
StringValue, string
xs:boolean
BooleanValue, bool
xs:integer
IntegerValue, decimal, long, integer,
short, byte, double, float
xs:float
FloatValue, float, double
xs:double
DoubleValue, double
xs:decimal
DecimalValue, decimal, double, float
Subtypes of the XML Schema datatypes listed above (and which are used in XPath and XQuery)
will also be converted to the .NET type/s corresponding to that subtype's ancestor type.
In some cases, it might not be possible to select the correct .NET method based on the supplied
information. For example, consider the following case.
The supplied argument is an xs:untypedAtomic value of 10 and it is intended for the
method mymethod(float).
However, there is another method in the class which takes an argument of another
datatype: mymethod(double).
Since the method names are the same and the supplied type (xs:untypedAtomic) could
be converted correctly to either float or double, it is possible that xs:untypedAtomic is
converted to double instead of float.
Consequently the method selected will not be the required method and might not produce
the expected result. To work around this, you can create a user-defined method with a
different name and use this method.
Types that are not covered in the list above (for example xs:date) will not be converted and will
generate an error.
Datatypes: .NET to XPath/XQuery
When a .NET method returns a value and the datatype of the value is a string, numeric or boolean
type, then it is converted to the corresponding XPath/XQuery type. For example, .NET's decimal
datatype is converted to xsd:decimal.
When a .NET object or a datatype other than string, numeric or boolean is returned, you can
ensure conversion to the required XPath/XQuery type by first using a .NET method (for example
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
385
System.DateTime.ToString()) to convert the .NET object to a string. In XPath/XQuery, the
string can be modified to fit the lexical representation of the required type and then converted to
the required type (for example, by using the cast as expression).
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
386
XSLT and XPath/XQuery Functions
9.2.3
MSXSL Scripts for XSLT
Miscellaneous Extension Functions
The <msxsl:script> element contains user-defined functions and variables that can be called
from within XPath expressions in the XSLT stylesheet. The <msxsl:script> is a top-level
element, that is, it must be a child element of <xsl:stylesheet> or <xsl:transform>.
The <msxsl:script> element must be in the namespace urn:schemas-microsoft-com:xslt
(see example below).
Scripting language and namespace
The scripting language used within the block is specified in the <msxsl:script> element's
language attribute and the namespace to be used for function calls from XPath expressions is
identified with the implements-prefix attribute (see below).
<msxsl:script language="scripting-language" implements-prefix="user-namespaceprefix">
function-1 or variable-1
...
function-n or variable-n
</msxsl:script>
The <msxsl:script> element interacts with the Windows Scripting Runtime, so only languages
that are installed on your machine may be used within the <msxsl:script> element. The .NET
Framework 2.0 platform or higher must be installed for MSXSL scripts to be used.
Consequently, the .NET scripting languages can be used within the <msxsl:script> element.
The language attribute accepts the same values as the language attribute on the HTML
<script> element. If the language attribute is not specified, then Microsoft JScript is assumed
as the default.
The implements-prefix attribute takes a value that is a prefix of a declared in-scope namespace.
This namespace typically will be a user namespace that has been reserved for a function library.
All functions and variables defined within the <msxsl:script> element will be in the namespace
identified by the prefix specified in the implements-prefix attribute. When a function is called
from within an XPath expression, the fully qualified function name must be in the same
namespace as the function definition.
Example
Here is an example of a complete XSLT stylesheet that uses a function defined within a
<msxsl:script> element.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
387
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="http://mycompany.com/mynamespace">
<msxsl:script language="VBScript" implements-prefix="user">
<![CDATA[
' Input: A currency value: the wholesale price
' Returns: The retail price: the input value plus 20% margin,
' rounded to the nearest cent
dim a as integer = 13
Function AddMargin(WholesalePrice) as integer
AddMargin = WholesalePrice * 1.2 + a
End Function
]]>
</msxsl:script>
<xsl:template match="/">
<html>
<body>
<p>
<b>Total Retail Price =
$<xsl:value-of select="user:AddMargin(50)"/>
</b>
<br/>
<b>Total Wholesale Price =
$<xsl:value-of select="50"/>
</b>
</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Datatypes
The values of parameters passed into and out of the script block are limited to XPath datatypes.
This restriction does not apply to data passed among functions and variables within the script
block.
Assemblies
An assembly can be imported into the script by using the msxsl:assembly element. The
assembly is identified via a name or a URI. The assembly is imported when the stylesheet is
compiled. Here is a simple representation of how the msxsl:assembly element is to be used.
<msxsl:script>
<msxsl:assembly name="myAssembly.assemblyName" />
<msxsl:assembly href="pathToAssembly" />
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
388
XSLT and XPath/XQuery Functions
Miscellaneous Extension Functions
...
</msxsl:script>
The assembly name can be a full name, such as:
"system.Math, Version=3.1.4500.1 Culture=neutral
PublicKeyToken=a46b3f648229c514"
or a short name, such as "myAssembly.Draw".
Namespaces
Namespaces can be declared with the msxsl:using element. This enables assembly classes to
be written in the script without their namespaces, thus saving you some tedious typing. Here is
how the msxsl:using element is used so as to declare namespaces.
<msxsl:script>
<msxsl:using namespace="myAssemblyNS.NamespaceName" />
...
</msxsl:script>
The value of the namespace attribute is the name of the namespace.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
Altova LicenseServer
390
Altova LicenseServer
10
Altova LicenseServer
Altova LicenseServer (en adelante LicenseServer) ofrece un lugar común donde administrar todas
las licencias de los productos de Altova. Las aplicaciones de Altova que se ejecuten en la red
pueden tener asignadas licencias desde el servidor LicenseServer. Esto permite al administrador
gran flexibilidad a la hora de gestionar y supervisar licencias.
Versión actual: 1.19
Proceso de asignación de licencias con Altova LicenseServer
Para asignar una licencia a un producto servidor de Altova con LicenseServer:
1.
2.
3.
4.
5.
Inicie LicenseServer.
Abra la página de configuración de LicenseServer, es decir, la interfaz de administración
de LicenseServer en Windows, Linux o Mac OS X.
Cargue las licencias que Altova le envió. Esto se hace en la pestaña License Pool de la
página de configuración de LicenseServer.
Registre el producto servidor de Altova con LicenseServer (FlowForce Server, MapForce
Server, StyleVision Server, Registrar RaptorXML(+XBRL) Server con LicenseServer). El
proceso de registro depende del tipo de producto: puede ser desde la interfaz gráfica del
producto o desde su línea de comandos. Para más información sobre cómo registrar su
producto servidor con LicenseServer consulte la documentación de cada producto.
En la pestaña Server Management de la página de configuración de LicenseServer,
asigne una licencia al producto servidor en función del número de núcleos del equipo en
el que se ejecuta el producto.
A partir de ese momento el administrador puede supervisar y administrar las licencias desde
LicenseServer. Para más información consulte la Referencia de la página de configuración.
Nota: la página de configuración de LicenseServer no es compatible con SSL.
Versiones de LicenseServer y compatibilidad con los productos servidor de
Altova
Cuando actualice su producto servidor de Altova a una versión más reciente, asegúrese de
actualizar también su servidor LicenseServer con la versión más reciente. Las versiones
anteriores de los productos servidor de Altova funcionarán con las conversiones más
recientes de LicenseServer.
Es decir, si instala una versión nueva de un producto servidor de Altova y la versión actual de
su servidor LicenseServer no es la más reciente, desinstale la versión antigua de
LicenseServer e instale la versión más reciente (disponible en el sitio web de Altova). Toda la
información de registro y licencias almacenada en la versión antigua se guardará en una
base de datos su equipo servidor durante la desinstalación y se importará automáticamente
a la versión nueva. Cuando instale una versión más reciente de LicenseServer, la versión
más antigua se desinstalará antes de comenzar la instalación de la versión más reciente.
El número de versión del servidor LicenseServer que está instalado aparece al final de la
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
391
página de configuración de LicenseServer (en todas las pestañas).
Versión actual: 1.19
Nota sobre la documentación
La presente documentación se divide en tres secciones:
Información general sobre requisitos de red, proceso de instalación en Windows, Linux y
Mac OS X y descripción de Altova ServiceController.
Asignación de licencias: describe paso a paso el proceso de asignación de licencias en
Altova LicenseServer.
Referencia de la página de configuración: describe la interfaz de administración de
LicenseServer y sus funciones.
Última actualización: 02-24-2015
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
392
Altova LicenseServer
10.1
Información de red
Información de red
Todos los equipos clientes que ejecutan productos servidor de Altova que necesitan una licencia
deben tener acceso a un equipo servidor en el que debe estar instalado Altova LicenseServer. Los
servidores de seguridad o firewalls (tanto del servidor como del cliente) deben permitir el tráfico de
red con dicho servidor LicenseServer.
En el equipo donde está instalado LicenseServer, el puerto 35355 se utiliza para distribuir
licencias y, por tanto, debe estar abierto al tráfico de red con los equipos clientes.
Estos son los parámetros de red predeterminados y los requisitos de LicenseServer:
Para distribución de licencias con LicenseServer:
Uno de estos dos:
Conexión TCP IPv4 en el puerto 35355
Conexión TCP IPv6 en el puerto 35355
Para trabajar en tareas administrativas el servidor LicenseServer ofrece una interfaz web que
utiliza el puerto 8088. El usuario puede configurar el puerto utilizado para la interfaz web según
sus requisitos.
Conexión con el servidor maestro de licencias altova.com
Altova LicenseServer necesita comunicarse con el servidor maestro de licencias altova.com
para validar y verificar los datos de licencia y para asegurarse de que los contratos de
licencia de Altova se cumplen en todo momento. Esta comunicación se establece por
HTTPS a través del puerto 443. Si tras completar la verificación inicial con el servidor
maestro altova.com, Altova LicenseServer no puede volver a conectarse con altova.com
durante más de 5 días (120 horas), se bloqueará el uso de los productos de Altova que estén
conectados con Altova LicenseServer.
Cuando se pierde la conexión con el servidor maestro altova.com, la incidencia se registra
en la pestaña Messages de la página de configuración de Altova LicenseServer. Además el
administrador puede configurar Altova LicenseServer para que le envíe correos de alerta
cuando se pierda la conexión con altova.com. Las opciones de configuración de estos
correos de alerta se pueden definir en la pestaña Settings de la página de configuración.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
10.2
Instalación en Windows
393
Instalación en Windows
En los sistemas Windows puede instalar Altova LicenseServer de dos maneras:
como producto servidor independiente.
con el paquete de instalación de un producto servidor de Altova (Altova FlowForce Server,
Altova MapForce Server, Altova StyleVision Server y Altova RaptorXML(+XBRL)) y el
MobileTogether Server de Altova.)
Si LicenseServer no está instalado, la opción Instalar LicenseServer se activa por defecto durante
el proceso de instalación del producto servidor de Altova. Si LicenseServer ya está instalado, la
opción Instalar LicenseServer se desactiva por defecto. Puede activar o desactivar la opción si
quiere.
Para aprender a asignar licencias con Altova LicenseServer consulte la sección Asignación de
licencias.
Versiones de LicenseServer y compatibilidad con los productos servidor de
Altova
Cuando actualice su producto servidor de Altova a una versión más reciente, asegúrese de
actualizar también su servidor LicenseServer con la versión más reciente. Las versiones
anteriores de los productos servidor de Altova funcionarán con las conversiones más
recientes de LicenseServer.
Es decir, si instala una versión nueva de un producto servidor de Altova y la versión actual de
su servidor LicenseServer no es la más reciente, desinstale la versión antigua de
LicenseServer e instale la versión más reciente (disponible en el sitio web de Altova). Toda la
información de registro y licencias almacenada en la versión antigua se guardará en una
base de datos su equipo servidor durante la desinstalación y se importará automáticamente
a la versión nueva. Cuando instale una versión más reciente de LicenseServer, la versión
más antigua se desinstalará antes de comenzar la instalación de la versión más reciente.
El número de versión del servidor LicenseServer que está instalado aparece al final de la
página de configuración de LicenseServer (en todas las pestañas).
Versión actual: 1.19
El número de versión de LicenseServer correspondiente para la versión del producto servidor
aparece durante el proceso de instalación del producto servidor. Puede instalar esta versión de
LicenseServer junto con el producto servidor o instalar una versión más reciente de LicenseServer
por separado. En ambos casos el programa de instalación desinstalará la versión anterior (si
todavía está instalada) e instalará la versión más reciente.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
394
Altova LicenseServer
Instalación en Linux
10.3
Instalación en Linux
Puede instalar LicenseServer en sistemas Linux (Debian, Ubuntu, CentOS y RedHat).
Desinstalar versiones anteriores de LicenseServer
En la interfaz de la línea de comandos de Linux, compruebe si LicenseServer está instalado ya.
Para ello use este comando:
[Debian, Ubuntu]:
dpkg --list | grep Altova
[CentOS, RedHat]:
rpm -qa | grep server
Si LicenseServer no está instalado, instale el producto tal y como se explica más abajo. Si
LicenseServer ya está instalado y desea instalar una versión más reciente, desinstale la versión
antigua con este comando:
[Debian, Ubuntu]:
sudo dpkg --remove licenseserver
[CentOS, RedHat]:
sudo rpm -e licenseserver
Instalar Altova LicenseServer
En los sistemas Linux debe instalar LicenseServer por separado porque no viene incluido en los
paquetes de instalación de los productos servidor de Altova. Descargue el instalador de Altova
LicenseServer del sitio web de Altova y copie el paquete en cualquier directorio del sistema Linux.
Distribución
Extensión del
instalador
Debian
.deb
Ubuntu
.deb
CentOS
.rpm
RedHat
.rpm
En una ventana de la Terminal, cambie al directorio donde copió el paquete de Linux. Por
ejemplo, si lo copió en un directorio del usuario llamado MiAltova (en /home/User por ejemplo),
cambie a ese directorio con esta línea de comandos:
cd /home/User/MiAltova
Instale LicenseServer con este comando:
[Debian]:
sudo dpkg --install licenseserver-1.19-debian.deb
[Ubuntu]:
sudo dpkg --install licenseserver-1.19-ubuntu.deb
[CentOS, RedHat]:
Altova RaptorXML Server 2015
sudo rpm -ivh licenseserver-1.19-1.x86_64.rpm
© 2015 Altova Gmb H
Altova LicenseServer
Instalación en Linux
395
El paquete de LicenseServer se instalará en la carpeta:
/opt/Altova/LicenseServer
Para aprender a asignar licencias con Altova LicenseServer consulte la sección Asignación de
licencias.
Versiones de LicenseServer y compatibilidad con los productos servidor de
Altova
Cuando actualice su producto servidor de Altova a una versión más reciente, asegúrese de
actualizar también su servidor LicenseServer con la versión más reciente. Las versiones
anteriores de los productos servidor de Altova funcionarán con las conversiones más
recientes de LicenseServer.
Es decir, si instala una versión nueva de un producto servidor de Altova y la versión actual de
su servidor LicenseServer no es la más reciente, desinstale la versión antigua de
LicenseServer e instale la versión más reciente (disponible en el sitio web de Altova). Toda la
información de registro y licencias almacenada en la versión antigua se guardará en una
base de datos su equipo servidor durante la desinstalación y se importará automáticamente
a la versión nueva. Cuando instale una versión más reciente de LicenseServer, la versión
más antigua se desinstalará antes de comenzar la instalación de la versión más reciente.
El número de versión del servidor LicenseServer que está instalado aparece al final de la
página de configuración de LicenseServer (en todas las pestañas).
Versión actual: 1.19
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
396
Altova LicenseServer
10.4
Instalación en Mac OS X
Instalación en Mac OS X
Puede instalar Altova LicenseServer en sistemas Mac OS X (versión 10.7 o superior). En este
apartado describimos primero el proceso de desinstalación, por si necesita desinstalar una
versión previa de LicenseServer.
Desinstalar versiones previas de LicenseServer
Antes de desinstalar LicenseServer debe detener el servicio con este comando:
sudo launchctl unload /Library/LaunchDaemons/com.altova.LicenseServer.plist
Para comprobar si el servicio se detuvo o no, abra la terminal del Monitor de actividad y confirme
que LicenseServer no está en la lista.
En la terminal de Aplicaciones haga clic con el botón secundario en el icono de LicenseServer y
seleccione Mover a la papelera. La aplicación se envía a la papelera pero debe quitar la
aplicación de la carpeta usr. Para ello puede utilizar este comando:
sudo rm -rf /usr/local/Altova/LicenseServer
Si necesita desinstalar una versión antigua de Altova LicenseServer, utilice el procedimiento
descrito para FlowForce Server.
sudo launchctl unload /Library/LaunchDaemons/com.altova.LicenseServer.plist
Instalar Altova LicenseServer
Descargue Altova LicenseServer del sitio web de Altova (el archivo del instalador tiene la
extensión .pkg) y haga doble clic en el paquete del instalador para iniciar la instalación. Siga los
pasos del asistente para la instalación y acepte el contrato de licencia.
Altova LicenseServer se instala en esta carpeta:
/usr/local/Altova/LicenseServer
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
10.5
Altova ServiceController
397
Altova ServiceController
Altova ServiceController (en adelante ServiceController) es una práctica aplicación que sirve para
iniciar, detener y configurar los servicios de Altova en sistemas Windows.
ServiceController se instala con Altova LicenseServer y con los productos servidor de Altova que
se instalan como servicios (FlowForce Server, RaptorXML(+XBRL) Server y Mobile Together
Server). Se puede iniciar haciendo clic en Inicio | Altova LicenseServer | Altova
ServiceController. (Este comando también está en las carpetas del menú Inicio de los
productos servidor de Altova que se instalan como servicios (FlowForce Server,
RaptorXML(+XBRL) Server y Mobile Together Server).) Una vez iniciado, podrá acceder a
ServiceController desde la bandeja del sistema (imagen siguiente).
Si quiere que ServiceController se inicie automáticamente nada más iniciar sesión en el sistema,
haga clic en el icono de ServiceController de la bandeja del sistema para abrir el menú de
opciones de ServiceController (imagen siguiente) y active la opción Run Altova
ServiceController at Startup (Ejecutar Altova ServiceController al inicio), que de todas maneras
es la opción predeterminada. Para cerrar ServiceController haga clic en el icono de
ServiceController de la bandeja del sistema y en el menú haga clic en la opción Exit Altova
ServiceController (Salir de Altova ServiceController).
Iniciar y detener servicios de Altova
Todos los servicios de Altova instalados en el equipo aparecen en el menú contextual de
ServiceController (imagen anterior). Los servicios de Altova se pueden iniciar o detener con los
comandos del menú contextual de ServiceController. Este menú también incluye comandos de
algunas tareas de administración. Por ejemplo, en la imagen anterior puede ver el submenú del
servicio Altova LicenseServer, donde puede elegir la opción Configure para abrir la página de
configuración de Altova LicenseServer.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
398
Altova LicenseServer
10.6
Asignación de licencias
Asignación de licencias
Siga estos pasos para asignar una licencia a un producto servidor de Altova desde Altova
LicenseServer:
1.
2.
3.
4.
1.
Inicie LicenseServer
Abra la página de configuración de LicenseServer, es decir, la interfaz de administración
de LicenseServer en Windows, Linux o Mac OS X.
Cargue las licencias que Altova le envió. Esto se hace en la pestaña License Pool
(Repertorio de licencias) de la página de configuración de LicenseServer.
Registre el producto servidor de Altova (FlowForce Server, MapForce Server, StyleVision
Server o RaptorXML(+XBRL) Server) con LicenseServer. El proceso de registro depende
del tipo de producto: puede ser desde la interfaz gráfica del producto o desde su línea de
comandos. Para más información sobre cómo registrar su producto servidor con
LicenseServer consulte la documentación de cada producto.
En la pestaña Server Management (Gestión de servidores) de la página de
configuración de LicenseServer, asigne una licencia al producto servidor en función del
número de núcleos del equipo en el que se ejecuta el producto.
Nota sobre núcleos y licencias
La asignación de licencias a productos servidor de Altova (excepto en MobileTogether Server*)
depende de cuántos núcleos de procesador tiene el equipo donde se ejecuta el producto servidor
de Altova. Por ejemplo, un procesador dual tiene dos núcleos, un procesador quad tiene cuatro
núcleos, un procesador hexa-core tiene seis núcleos, y así sucesivamente. El número de núcleos
de la licencia licencia asignada a un producto instalado en un equipo servidor debe ser mayor o
igual al número de núcleos disponibles en dicho servidor, ya sea un equipo virtual o uno físico.
Por ejemplo, si un servidor tiene ocho núcleos (un procesador octa-core), deberá comprar una
licencia para ocho núcleos. También puede combinar varias licencias para alcanzar el número de
núcleos necesario. Es decir, puede usar dos licencias para cuatro núcleos para un servidor octacore en lugar de una licencia para ocho núcleos, por ejemplo.
Si usa un equipo servidor con gran cantidad de núcleos, pero tiene un bajo volumen de
procesamiento, también puede crear un equipo virtual que tenga adjudicados menos núcleos y
comprar una licencia para ese menor número de núcleos. No obstante, dicha implementación
será menos rápida que si utilizara todos los núcleos disponibles en el servidor.
Nota: cada licencia se puede usar solamente para un equipo cliente, incluso si no se
usa la totalidad de la licencia. Por ejemplo, si utiliza una licencia para 10 núcleos para un
equipo cliente que tiene 6 núcleos, los 4 núcleos restantes de la licencia no se pueden
usar para otro equipo cliente simultáneamente.
Nota*: las licencias de MobileTogether Server se asignan dependiendo del número de
usuarios, es decir, del número de dispositivos cliente que se conecten a MobileTogether
Server.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
399
10.6.1 Iniciar LicenseServer
Este apartado explica:
Cómo iniciar LicenseServer en sistemas Windows
Cómo iniciar LicenseServer en sistemas Linux
Cómo iniciar LicenseServer en sistemas Mac OS X
La conexión con el servidor maestro altova.com
Sistemas Windows
Puede iniciar LicenseServer con ayuda de ServiceController, disponible en la bandeja del sistema.
Primero haga clic en Inicio | Todos los programas | Altova LicenseServer | Altova
ServiceController para iniciar Altova ServiceController, que a partir de ese momento estará
disponible en la bandeja del sistema (imagen siguiente). Si selecciona la opción Run Altova
ServiceController at Startup, Altova ServiceController se iniciará cada vez que se inicie sesión
en el sistema y su icono aparecerá en la bandeja del sistema.
Para iniciar LicenseServer, haga clic en el icono de ServiceController de la bandeja del sistema.
En el menú emergente haga clic en Altova LicenseServer (imagen anterior) y seleccione Start
Service para iniciar el servicio. Si LicenseServer ya está en ejecución, la opción Start Service
se deshabilita (imagen anterior).
Sistemas Linux
Para iniciar LicenseServer como servicio en sistemas Linux, ejecute este comando en una
ventana de la Terminal.
[Debian]:
sudo /etc/init.d/licenseserver start
[Ubuntu]:
sudo initctl start licenseserver
[CentOS, RedHat]:
sudo initctl start licenseserver
(Si necesita detener LicenseServer, reemplace start por stop en el comando anterior.)
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
400
Altova LicenseServer
Asignación de licencias
Sistemas Mac OS X
Para iniciar LicenseServer como servicio en sistemas Mac OS X, ejecute este comando en una
ventana de la Terminal:
sudo launchctl load /Library/LaunchDaemons/com.altova.LicenseServer.plist
Si necesita detener LicenseServer por cualquier motivo, use este comando:
sudo launchctl unload /Library/LaunchDaemons/com.altova.LicenseServer.plist
Conexión con el servidor maestro de licencias altova.com
Altova LicenseServer necesita comunicarse con el servidor maestro de licencias altova.com
para validar y verificar los datos de licencia y para asegurarse de que los contratos de
licencia de Altova se cumplen en todo momento. Esta comunicación se establece por
HTTPS a través del puerto 443. Si tras completar la verificación inicial con el servidor
maestro altova.com, Altova LicenseServer no puede volver a conectarse con altova.com
durante más de 5 días (120 horas), se bloqueará el uso de los productos de Altova que estén
conectados con Altova LicenseServer.
Cuando se pierde la conexión con el servidor maestro altova.com, la incidencia se registra
en la pestaña Messages de la página de configuración de Altova LicenseServer. Además el
administrador puede configurar Altova LicenseServer para que le envíe correos de alerta
cuando se pierda la conexión con altova.com. Las opciones de configuración de estos
correos de alerta se pueden definir en la pestaña Settings de la página de configuración.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
401
10.6.2 Abrir la página de configuración de LicenseServer (Windows)
Este apartado explica:
Cómo abrir la página de configuración cuando LicenseServer está ejecutándose en el
mismo equipo
Cómo abrir la página de configuración cuando LicenseServer está ejecutándose en otro
equipo
Cómo iniciar sesión con la contraseña inicial
Cómo establecer un puerto fijo para la página de configuración
Abrir la página de configuración cuando LicenseServer está ejecutándose en
el mismo equipo
En los sistemas Windows, si el servidor LicenseServer está ejecutándose en el mismo equipo,
puede abrir la página de configuración de LicenseServer de dos maneras:
Haga clic en Inicio | Todos los programas | Altova LicenseServer | Página de
configuración de LicenseServer. La página de configuración se abre en una pestaña
nueva del explorador web.
Haga clic en el icono de Altova ServiceController de la bandeja del sistema. En el menú
emergente haga clic en Altova LicenseServer y seleccione Configure.
La página de configuración se abre en una ventana del explorador nueva por la página de
inicio de sesión (imagen siguiente).
Abrir la página de configuración cuando LicenseServer está ejecutándose en
otro equipo
Para abrir la página de configuración de LicenseServer desde otro equipo Windows de la red local
(cuando LicenseServer no está instalado en el equipo local), introduzca la URL de la página de
configuración de LicenseServer en la barra de dirección del explorador web y pulse Entrar. La
URL predeterminada de la página de configuración es:
http://<DirecciónIPoNombreDelServidor>:8088/
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
402
Altova LicenseServer
Asignación de licencias
La URL de la página de configuración está presente en el código HTML de la página de
configuración propiamente dicha, que se llama WebUI.html y está en este directorio:
C:/ProgramData/Altova/LicenseServer/WebUI.html
Si eligió que la URL de la página de configuración se genere de forma dinámica (en la pestaña
Configuración de la página de configuración), la URL nueva se genera cada vez que se inicia
LicenseServer. Para averiguar la URL actual de la página de configuración necesitará ver la
versión actual de WebUI.html.
El formato de la URL generada dinámicamente en WebUI.html será similar a
http://127.0.0.1:55541/con-una-cadena-adicional-si-quiere y se encuentra dentro de la
función checkIfServiceRunning() en un script situado cerca del final del elemento <head>. El
número de puerto de la URL se asigna dinámicamente y la parte de la dirección IP identifica el
servidor en el que está instalado LicenseServer. Si quiere acceder a la página de configuración de
LicenseServer desde otro equipo, compruebe que la dirección IP de la URL es correcta o incluye
el nombre del servidor en el que está instalado LicenseServer. Por ejemplo: http://
MiServidor:55541.
Iniciar sesión con la contraseña inicial
Después de seguir todas estas instrucciones se abre la página de configuración por la página de
inicio de sesión (imagen siguiente). Puede iniciar sesión con la contraseña predeterminada
default. Después de iniciar sesión puede cambiar la contraseña en la pestaña Settings.
Establecer un puerto fijo o dinámico para la página de configuración
El puerto de la página de configuración (y, por consiguiente, su dirección) se puede especificar en
la pestaña Settings. El puerto predeterminado es 8088 pero puede definir cualquier puerto para
la página de configuración de LicenseServer (imagen siguiente). También puede definir que el
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
403
puerto se seleccione de forma dinámica cada vez que se inicie LicenseServer. En este caso,
necesitará buscar la URL de la página de configuración en el archivo WebUI.html (consulte los
apartados Abrir la página de configuración de LicenseServer (Windows) y Abrir la página de
configuración de LicenseServer (Linux)).
La ventaja de usar un puerto fijo es que la URL de la página se conoce por adelantado y se puede
abrir con más facilidad. Si el puerto se asigna de forma dinámica, la parte del puerto de la URL
debe buscarse en el archivo WebUI.html cada vez que se inicia LicenseServer.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
404
Altova LicenseServer
Asignación de licencias
10.6.3 Abrir la página de configuración de LicenseServer (Linux)
Este apartado explica:
Cómo abrir por primera vez la página de configuración usando la URL obtenida
La URL de la página de configuración de LicenseServer
Cómo iniciar sesión con la contraseña inicial
Cómo establecer un puerto fijo para la página de configuración
Abrir por primera vez la página de configuración usando la URL obtenida
Cuando se registra el producto servidor de Altova con LicenseServer por la interfaz de la línea de
comandos en sistemas Linux, se devuelve la URL de la página de configuración de
LicenseServer. Al abrir esta URL en el explorador web, se le solicita que lea y acepte el contrato
de licencia. Después de aceptarlo, aparece la página de inicio de sesión de la página de
configuración (imagen siguiente).
URL de la página de configuración de LicenseServer
Después, cuando quiera abrir la página de configuración, escriba la URL en la barra de dirección
del explorador web y pulse Entrar. La URL predeterminada de la página de configuración es:
http://<DirecciónIPoNombreDelServidor>:8088/
La URL de la página de configuración está presente en el código HTML de la página de
configuración propiamente dicha, que se llama WebUI.html y está en este directorio:
/var/opt/Altova/LicenseServer/webUI.html
Si eligió que la URL de la página de configuración se genere de forma dinámica (en la pestaña
Configuración de la página de configuración), se genera una URL nueva cada vez que se inicia
LicenseServer. Para averiguar la URL actual de la página de configuración necesitará mirar la
versión actual de WebUI.html.
El formato de la URL generada dinámicamente en WebUI.html será similar a
http://127.0.0.1:55541 y se encuentra dentro de la función checkIfServiceRunning() en un
script situado cerca del final del elemento <head>. El número de puerto de la URL se asigna
dinámicamente y la parte de la dirección IP identifica el servidor en el que está instalado
LicenseServer. Si quiere acceder a la página de configuración de LicenseServer desde otro
equipo, compruebe que la dirección IP de la URL es correcta o incluye el nombre del servidor en
el que está instalado LicenseServer. Por ejemplo: http://MiServidor:55541.
Iniciar sesión con la contraseña inicial
Después de seguir todas estas instrucciones se abre la página de configuración por la página de
inicio de sesión (imagen siguiente). Puede iniciar sesión con la contraseña predeterminada
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
405
default. Después de iniciar sesión puede cambiar la contraseña en la pestaña Settings.
Establecer un puerto fijo o dinámico para la página de configuración
El puerto de la página de configuración (y, por consiguiente, su dirección) se puede especificar en
la pestaña Settings. El puerto predeterminado es 8088 pero puede definir cualquier puerto para
la página de configuración de LicenseServer (imagen siguiente). También puede definir que el
puerto se seleccione de forma dinámica cada vez que se inicie LicenseServer. En este caso,
necesitará buscar la URL de la página de configuración en el archivo WebUI.html (consulte los
apartados Abrir la página de configuración de LicenseServer (Windows) y Abrir la página de
configuración de LicenseServer (Linux)).
La ventaja de usar un puerto fijo es que la URL de la página se conoce por adelantado y se puede
abrir con más facilidad. Si el puerto se asigna de forma dinámica, la parte del puerto de la URL
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
406
Altova LicenseServer
Asignación de licencias
debe buscarse en el archivo WebUI.html cada vez que se inicia LicenseServer.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
407
10.6.4 Abrir la página de configuración de LicenseServer (Mac OS X)
Este apartado explica:
Cómo abrir la página de configuración por primera vez usando la URL obtenida
La URL de la página de configuración de LicenseServer
Cómo iniciar sesión con la contraseña inicial
Cómo establecer un puerto fijo para la página de configuración
Abrir por primera vez la página de configuración usando la URL obtenida
Cuando se registra el producto servidor de Altova con LicenseServer por la interfaz de la línea de
comandos en sistemas Mac OS X, se devuelve la URL de la página de configuración de
LicenseServer. Al abrir esta URL en el explorador web, se le solicita que lea y acepte el contrato
de licencia. Después de aceptarlo, aparece la página de inicio de sesión de la página de
configuración (imagen siguiente).
URL de la página de configuración de LicenseServer
Después, cuando quiera abrir la página de configuración, escriba la URL en la barra de dirección
del explorador web y pulse Entrar. La URL predeterminada de la página de configuración es:
http://<DirecciónIPoNombreDelServidor>:8088/
La URL está presente en el código HTML de la página de configuración propiamente dicha, que
se llama WebUI.html y está en este directorio:
/var/Altova/LicenseServer/webUI.html
Si eligió que la URL de la página de configuración se genere de forma dinámica (en la pestaña
Configuración de la página de configuración), se genera una URL nueva cada vez que se inicia
LicenseServer. Para averiguar la URL actual de la página de configuración necesitará mirar la
versión actual de WebUI.html.
El formato de la URL generada dinámicamente en WebUI.html será similar a
http://127.0.0.1:55541 y se encuentra dentro de la función checkIfServiceRunning() en un
script situado cerca del final del elemento <head>. El número de puerto de la URL se asigna
dinámicamente y la parte de la dirección IP identifica el servidor en el que está instalado
LicenseServer. Si quiere acceder a la página de configuración de LicenseServer desde otro
equipo, compruebe que la dirección IP de la URL es correcta o incluye el nombre del servidor en
el que está instalado LicenseServer. Por ejemplo: http://MiServidor:55541.
Nota:
la página de configuración también se puede abrir directamente desde el icono Finder |
Aplicaciones | Altova License Server.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
408
Altova LicenseServer
Asignación de licencias
Iniciar sesión con la contraseña inicial
Después de seguir todas estas instrucciones se abre la página de configuración por la página de
inicio de sesión (imagen siguiente). Puede iniciar sesión con la contraseña predeterminada
default. Después de iniciar sesión puede cambiar la contraseña en la pestaña Settings.
Establecer un puerto fijo o dinámico para la página de configuración
El puerto de la página de configuración (y, por consiguiente, su dirección) se puede especificar en
la pestaña Settings. El puerto predeterminado es 8088 pero puede definir cualquier puerto para
la página de configuración de LicenseServer (imagen siguiente). También puede definir que el
puerto se seleccione de forma dinámica cada vez que se inicie LicenseServer. En este caso,
necesitará buscar la URL de la página de configuración en el archivo WebUI.html (consulte los
apartados Abrir la página de configuración de LicenseServer (Windows) y Abrir la página de
configuración de LicenseServer (Linux)).
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
409
La ventaja de usar un puerto fijo es que la URL de la página se conoce por adelantado y se puede
abrir con más facilidad. Si el puerto se asigna de forma dinámica, la parte del puerto de la URL
debe buscarse en el archivo WebUI.html cada vez que se inicia LicenseServer.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
410
Altova LicenseServer
Asignación de licencias
10.6.5 Cargar licencias en LicenseServer
Este apartado explica:
Cómo cargar un archivo de licencias al repertorio de licencias de LicenseServer
El estado de las licencias
Cómo activar las licencias que desea usar
Pasos siguientes
Cargar un archivo de licencias al repertorio de licencias de LicenseServer
Cuando reciba el archivo de licencias de Altova, cárguelo al repertorio de licencias de Altova
LicenseServer (ver instrucciones más abajo). Un archivo de licencias puede contener varias
licencias y al cargarlo, se cargan todas las licencias incluidas en el archivo. Después podrá
asignar estas licencias a los productos de Altova que estén registrados con el servidor de
LicenseServer. Las licencias se almacenan en LicenseServer en un repertorio de licencias. Para
acceder al repertorio de licencias abra la pestaña License Pool de la página de configuración
(imagen siguiente).
Los archivos de licencias se cargan a LicenseServer haciendo clic en el botón Upload (Cargar)
de la pestaña License Pool (imagen siguiente).
Primero haga clic en el botón Browse para buscar el archivo de licencias que desea cargar. El
archivo seleccionado aparece en el campo de entrada Upload License File y se habilita el botón
Upload. Haga clic en el botón. Todas las licencias del archivo se cargan al repertorio y aparecen
en la tabla de la pestaña License Pool, como en el ejemplo de la imagen siguiente.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
411
Estado de las licencias
Las licencias pueden tener varios estados:
Activating (En activación): cuando se carga una licencia al repertorio de licencias de
LicenseServer, el servidor transmite datos sobre la licencia al servidor maestro
altova.com para validarla, verificarla y activarla. Este paso es necesario para comprobar
que se cumple el contrato de licencia de Altova. Mientras se completa esta transacción
(que dura entre 30 segundos y varios minutos, dependiendo de la velocidad y del tráfico
de la conexión) el estado de la licencia es Activating... (En activación...).
Failed verification (No se puede verificar): si no se puede establecer la conexión con el
servidor maestro altova.com, el estado de la licencia es Failed verification (No se
puede verificar). Si esto ocurre, revise su conexión a Internet y las reglas de su servidor
de seguridad y compruebe que LicenseServer puede comunicarse con el servidor
maestro altova.com.
Active (Activa): la licencia se activa tras ser verificada.
Inactive (No activa): si la licencia se verifica pero está presente en otro LicenseServer de
la red, su estado es Inactive (No activa). Esto también puede ocurrir cuando el
administrador desactiva la licencia a mano en el repertorio de licencias.
Blocked (Bloqueada): la licencia tiene este estado cuando se produce un error al verificar
la licencia y el servidor maestro altova.com no concede permiso a LicenseServer para
usar la licencia. Esto puede deberse a una infracción del contrato de licencia o a un uso
excesivo de una licencia, por ejemplo. Si su licencia está bloqueada, póngase en
contacto con el equipo de soporte técnico de Altova.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
412
Altova LicenseServer
Asignación de licencias
A continuación resumimos la información anterior:
Estado
Activating (En
activación).
Significado
Al cargar un archivo de licencias, los datos se envían a altova.com para
verificar las licencias. Actualice el explorador para ver el estado de las
licencias. El proceso de verificación y activación puede durar unos minutos.
Failed
No se puede establecer la conexión con altova.com. Cuando consiga
verification (No establecer la conexión, vuelve a iniciar LicenseServer o intente activar la
se puede
licencia otra vez (con el botón Activate).
verificar)
Active (Activa)
La licencia se verificó correctamente y la licencia está activa.
Inactive (No
activa)
La licencia se verificó correctamente pero la licencia está en otro servidor
LicenseServer de la red. Las licencias se pueden desactivar con el botón
Deactivate.
Blocked
(Bloqueada)
No se puede verificar la licencia. La licencia no es válida y se bloqueó.
Póngase en contacto con el equipo de soporte técnico de Altova.
Nota:
tras enviar los datos de licencia a altova.com es necesario actualizar la ventana del
explorador para actualizar el estado. La verificación y activación puede tardar unos
minutos.
Nota:
si no se puede establecer la conexión con altova.com, el estado de la licencia es
Failed verification (No se puede verificar). Cuando consiga establecer la conexión,
vuelve a iniciar LicenseServer o intente activar la licencia otra vez (con el botón Activar).
Nota:
cuando la licencia tiene el estado Inactive (No activa) o Blocked (Bloqueada) aparece un
mensaje explicando el motivo en la pestaña Messages.
A los productos solamente se les pueden asignar licencias activas. Las licencias activas se
pueden activar o eliminar del repertorio de licencias. Si una licencia se elimina del repertorio, se
puede cargar otra vez cargando el archivo de licencias correspondiente. Cuando se actualiza un
archivo de licencias, solamente se cargan al repertorio las licencias que todavía no están en él.
Para activar, desactivar o eliminar una licencia, selecciónela y haga clic en el botón Activate,
Deactivate o Delete respectivamente.
Activar las licencias que desea usar
Antes de asignar una licencia a un producto de Altova es necesario activarla. Si está inactiva,
selecciónela y haga clic en el botón Activate.
¿Y ahora?
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
413
Tras cargar el archivo de licencias al repertorio de LicenseServer y comprobar que las licencias
que quiere usar están activas:
1.
2.
Registre el producto servidor de Altova (FlowForce Server, MapForce Server, StyleVision
Server) con LicenseServer. Si lo hizo antes de cargar las licencias, ya puede empezar a
asignar las licencias.
Asigne una licencia al producto de Altova que está registrado con LicenseServer.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
414
Altova LicenseServer
Asignación de licencias
10.6.6 Registrar productos con LicenseServer
Antes de asignar una licencia a un producto servidor de Altova, es necesario registrar el producto
con el servidor LicenseServer. El proceso de registro se lleva a cabo desde el producto servidor
de Altova y no es el mismo si el producto servidor tiene una interfaz gráfica web o si el producto
solamente se ejecuta desde la línea de comandos. Para completar el proceso de registro es
necesario conocer el nombre de servidor o la dirección IP del equipo en el que está instalado el
servidor LicenseServer.
En esta sección explicamos cómo registrar cada producto servidor de Altova:
Registrar FlowForce Server
Registrar MapForce Server
Registrar StyleVision Server
Registrar RaptorXML(+XBRL) Server
Registrar MobileTogether Server
Registrar FlowForce Server
Este apartado explica:
Cómo registrar FlowForce Server con LicenseServer
Cómo abrir la página de configuración de FlowForce Server (Windows)
Cómo abrir la página de configuración de FlowForce Server (Linux)
Cómo registrar FlowForce Server desde la página de configuración (Windows/Linux)
Cómo registrar FlowForce Server desde la línea de comandos (Windows)
Cómo registrar FlowForce Server desde la línea de comandos (Linux)
Pasos siguientes
Cómo registrar FlowForce Server con LicenseServer
Puede registrar FlowForce Server con LicenseServer de dos maneras:
Desde la página de configuración de FlowForce Server (Windows/Linux)
Desde la interfaz de la línea de comandos de FlowForce Server (Windows)
Desde la interfaz de la línea de comandos de FlowForce Server (Linux)
Abrir la página de configuración de FlowForce Server (Windows)
Puede abrir la página de configuración de FlowForce Server de dos maneras:
Desde el menú Inicio | Altova FlowForce Server 2015 | Página de configuración de
FlowForce Server
Con Altova ServiceController: haga clic en el icono de ServiceController de la bandeja del
sistema. En el menú que aparece haga clic en Altova FlowForce Web | Setup.
Aparece la página de configuración de FlowForce Server (imagen anterior).
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
415
Abrir la página de configuración de FlowForce Server (Linux)
Tras instalar FlowForce Server en Linux (consulte el manual de FlowForce Server para obtener
más información), inicie FlowForce Web Server como servicio con este comando:
sudo /etc/init.d/flowforcewebserver start
En la ventana de la Terminal aparece un mensaje con la URL en la que se está ejecutando
FlowForceWeb:
FlowForceWeb running on http://127.0.1.1:3459/setup?key=52239315203
Copie la URL que aparece en el mensaje y péguela en la barra de dirección de su explorador
web. Aparece la página de configuración de FlowForce Server (imagen siguiente).
Registrar FlowForce Server desde la página de configuración
En la página de configuración (imagen siguiente) en el campo LicenseServer se debe indicar el
servidor Altova LicenseServer con el que desea registrar el producto.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
416
Altova LicenseServer
Asignación de licencias
Puede rellenar este campo de dos maneras:
Puede buscar servidores LicenseServer en la red (los que estén en ejecución). Para ello
haga clic en el botón en forma de lupa (resaltado en amarillo en la imagen siguiente).
La búsqueda devuelve una lista con los servidores LicenseServer que están ejecutándose
en la red. Seleccione el LicenseServer que almacena su licencia de FlowForce Server
(imagen siguiente).
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
417
O puede introducir la dirección del servidor LicenseServer directamente en el campo
LicenseServer. Si está disponible una lista de servidores, haga clic en el botón en forma
de lápiz para introducir la dirección en el campo LicenseServer.
Tras especificar el servidor LicenseServer, haga clic en el botón Registrarse con
LicenseServer. FlowForce Server se registra con el LicenseServer indicado y se abre la página
de configuración de LicenseServer por la pestaña de gestión de servidores Server Management
(imagen siguiente).
Nota:
quizá sea necesario permitir páginas emergentes en el explorador web.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
418
Altova LicenseServer
Asignación de licencias
En el ejemplo de la imagen anterior puede ver que se registraron tres productos con el servidor
Altova LicenseServer techwriter.altova.com. El apartado Asignar licencias a productos
registrados explica cómo se asignan las licencias.
Registrar FlowForce Server desde su interfaz de la línea de comandos
(Windows)
En los equipos Windows también puede registrar FlowForce Server con un LicenseServer de la
red desde la línea de comandos usando el comando licenseserver:
FlowForceServer licenseserver Servidor-O-Dirección-IP
Por ejemplo, si LicenseServer se está ejecutando en http://localhost:8088, entonces debe
registrar FlowForce Server con:
FlowForceServer licenseserver localhost
Si el paquete de instalación de FlowForce Server incluía otros productos servidor de Altova, al
registrar FlowForce Server se registran automáticamente los demás productos. Tras registrar
FlowForce Server, vaya a LicenseServer y asígnele una licencia. Para más información consulte
el apartado Asignar licencias a productos registrados.
Registrar FlowForce Server desde su interfaz de la línea de comandos (Linux)
En los equipos Windows también puede registrar FlowForce Server con un LicenseServer desde
la línea de comandos usando el comando licenseserver. Recuerde que FlowForce Server debe
iniciarse con privilegios de root:
sudo /opt/Altova/FlowForceServer2015/bin/flowforceserver licenseserver
localhost
En el comando anterior localhost es el nombre del servidor en el que está instalado
LicenseServer. Observe que el ejecutable de FlowForce Server se encuentra en:
/opt/Altova/MapForceServer2015/bin
Cuando termine de registrar FlowForce Server, vaya a LicenseServer y asígnele una licencia. Para
más información consulte el apartado Asignar licencias a productos registrados.
¿Y ahora?
1. Si todavía no ha cargado su archivo de licencias en LicenseServer (ver el apartado Cargar
licencias), cárguelo ahora y compruebe si la licencia que quiere usar está activa.
2. Asigne una licencia a su producto de Altova.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
419
Registrar MapForce Server
Este apartado explica:
Cómo registrar MapForce Server desde FlowForce Server (Windows)
Cómo registrar MapForce Server (Windows)
Cómo registrar MapForce Server (Linux)
Pasos siguientes
MapForce Server se puede instalar como componente de FlowForce o como producto servidor
independiente. En ambos casos es necesario registrarlo con Altova LicenseServer. Una vez
registrado se le puede asignar una licencia desde LicenseServer. Si instala MapForce Server
como componente de FlowForce (desde el mismo paquete de instalación) en un sistema
Windows, MapForce Server se registra automáticamente al registrar FlowForce Server. En
sistemas Linux, sin embargo, MapForce Server se registra automáticamente al registrar
FlowForce Server solamente si instaló MapForce Server después de instalar FlowForce Server.
Registrar MapForce Server desde FlowForce Server (Windows)
MapForce Server es un componente de FlowForce Server así que, al registrar FlowForce Server
con un LicenseServer de la red, MapForce Server se registra con el mismo LicenseServer
automáticamente. Para más información consulte Registrar FlowForce Server con LicenseServer.
Una vez registrado, asígnele una licencia desde LicenseServer. Para más información consulte
Asignar licencias a productos registrados.
Registrar MapForce Server como producto independiente (Windows)
Si instaló MapForce Server como producto independiente, regístrelo con un Altova LicenseServer
de su red y después asígnele una licencia. Para registrar MapForce Server desde la línea de
comandos use el comando licenseserver:
MapForceServer licenseserver Servidor-o-Dirección-IP
Por ejemplo, si LicenseServer se está ejecutando en http://localhost:8088, entonces debe
registrar MapForce Server con:
MapForceServer licenseserver localhost
Una vez registrado, asígnele una licencia desde LicenseServer. Para más información consulte
Asignar licencias a productos registrados.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
420
Altova LicenseServer
Asignación de licencias
Registrar MapForce Server (Linux)
En equipos Linux utilice el comando licenseserver para registrar MapForce Server con
LicenseServer desde la línea de comandos. Recuerde que debe iniciar MapForce Server con
privilegios de root:
sudo /opt/Altova/MapForceServer2015/bin/mapforceserver licenseserver
localhost
En el comando anterior localhost es el nombre del servidor en el que está instalado
LicenseServer. Observe que el ejecutable de MapForce Server se encuentra en:
/opt/Altova/MapForceServer2015/bin
Una vez registrado, asígnele una licencia desde LicenseServer. Para más información consulte
Asignar licencias a productos registrados.
¿Y ahora?
1. Si todavía no ha cargado su archivo de licencias en LicenseServer (ver el apartado Cargar
licencias), cárguelo ahora y compruebe si la licencia que quiere usar está activa.
2. Asigne una licencia a su producto de Altova.
Registrar StyleVision Server
Este apartado explica:
Cómo registrar StyleVision Server desde FlowForce Server (Windows)
Cómo registrar StyleVision Server (Windows)
Cómo registrar StyleVision Server (Linux)
Pasos siguientes
StyleVision Server se puede instalar como componente de FlowForce o como producto servidor
independiente. En ambos casos es necesario registrarlo con Altova LicenseServer. Una vez
registrado se le puede asignar una licencia desde LicenseServer. Si instala StyleVision Server
como componente de FlowForce (desde el mismo paquete de instalación) en un sistema
Windows, StyleVision Server se registra automáticamente al registrar FlowForce Server. En
sistemas Linux, sin embargo, StyleVision Server se registra automáticamente al registrar
FlowForce Server solamente si instaló StyleVision Server después de instalar FlowForce Server.
Registrar StyleVision Server desde FlowForce Server (Windows)
StyleVision Server es un componente de FlowForce Server así que, al registrar FlowForce Server
con un LicenseServer de la red, StyleVision Server se registra automáticamente con el mismo
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
421
LicenseServer. Para más información consulte Registrar FlowForce Server con LicenseServer.
Una vez registrado, asígnele una licencia desde LicenseServer. Para más información consulte
Asignar licencias a productos registrados.
Registrar StyleVision Server como producto independiente (Windows)
Si instaló StyleVision Server como producto independiente, regístrelo con un Altova
LicenseServer de su red y después asígnele una licencia. Para registrar StyleVision Server desde
la línea de comandos use el comando licenseserver:
StyleVisionServer licenseserver Servidor-o-Dirección-IP
Por ejemplo, si LicenseServer se está ejecutando en http://localhost:8088, entonces debe
registrar StyleVision Server con:
StyleVisionServer licenseserver localhost
Una vez registrado, asígnele una licencia desde LicenseServer. Para más información consulte
Asignar licencias a productos registrados.
Registrar StyleVision Server (Linux)
En equipos Linux utilice el comando licenseserver para registrar StyleVision Server con
LicenseServer desde la línea de comandos. Recuerde que debe iniciar StyleVision Server con
privilegios de root:
sudo /opt/Altova/StyleVisionServer2015/bin/stylevisionserver licenseserver
localhost
En el comando anterior localhost es el nombre del servidor en el que está instalado
LicenseServer. Observe que ejecutable de StyleVision Server se encuentra en:
/opt/Altova/StyleVisionServer2015/bin
Una vez registrado, asígnele una licencia desde LicenseServer. Para más información consulte
Asignar licencias a productos registrados.
¿Y ahora?
1. Si todavía no ha cargado su archivo de licencias en LicenseServer (ver el apartado Cargar
licencias), cárguelo ahora y compruebe si la licencia que quiere usar está activa.
2. Asigne una licencia a su producto de Altova.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
422
Altova LicenseServer
Asignación de licencias
Registrar RaptorXML(+XBRL) Server
Este apartado explica:
Cómo registrar RaptorXML(+XBRL) Server (Windows)
Cómo registrar RaptorXML(+XBRL) Server (Linux)
Pasos siguientes
Primero debe instalar RaptorXML(+XBRL) Server en el equipo servidor o en la misma red a la que
está conectado LicenseServer y después debe iniciarlo como servicio. Después debe registrarlo
con LicenseServer. Una vez registrado, podrá asignarle una licencia desde LicenseServer. Esta
sección explica cómo registrar RaptorXML(+XBRL) Server con LicenseServer.
Registrar RaptorXML(+XBRL) Server (Windows)
Puede registrar RaptorXML(+XBRL) Server desde la interfaz de la línea de comandos con ayuda
del comando licenseserver:
RaptorXML Server:
RaptorXML licenseserver Servidor-O-Dirección-IP
RaptorXML+XBRL
Server:
RaptorXMLXBRL licenseserver Servidor-O-Dirección-IP
Por ejemplo, si LicenseServer se está ejecutando en http://localhost:8088, entonces debe
registrar RaptorXML(+XBRL) Server con:
RaptorXML Server:
RaptorXML licenseserver hostlocal
RaptorXML+XBRL
Server:
RaptorXMLXBRL licenseserver hostlocal
Tras registrar RaptorXML(+XBRL) Server, abra la interfaz de administración de LicenseServer y
asigne una licencia a RaptorXML(+XBRL) Server. Esto se describe en el apartado Asignar
licencias a productos registrados.
Registrar RaptorXML(+XBRL) Server (Linux)
En los equipos Linux puede registrar RaptorXML(+XBRL) Server con LicenseServer con ayuda del
comando licenseserver de la interfaz de la línea de comandos de RaptorXML(+XBRL) Server.
Recuerde que para ello es necesario iniciar RaptorXML(+XBRL) Server con privilegios root.
sudo /opt/Altova/RaptorXMLServer2015/bin/raptorxmlserver licenseserver
localhost
sudo /opt/Altova/RaptorXMLXBRLServer2015/bin/raptorxmlxbrlserver licenseserver
localhost
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
423
En el comando anterior localhost es el nombre del servidor en el que está instalado
LicenseServer. Además observe que la ubicación del ejecutable de RaptorXML(+XBRL) Server es:
/opt/Altova/RaptorXMLServer2015/bin
/opt/Altova/RaptorXMLXBRLServer2015/bin
Tras registrar RaptorXML(+XBRL) Server, abra la interfaz de administración de LicenseServer y
asigne una licencia a RaptorXML(+XBRL) Server. Esto se describe en el apartado Asignar
licencias a productos registrados.
¿Y ahora?
1. Si todavía no ha cargado su archivo de licencias en LicenseServer (ver el apartado Cargar
licencias), cárguelo ahora y compruebe si la licencia que quiere usar está activa.
2. Asigne una licencia a su producto de Altova.
Registrar MobileTogether Server
Para iniciar MobileTogether Server, haga clic en el icono del controlador de servicios en la
bandeja del sistema. En el menú que aparece pase el puntero por encima de Altova
MobileTogether Server (imagen siguiente) y seleccione Start service para iniciar el servicio. Si
MobileTogether Server ya está en ejecución, la opción Start service estará deshabilitada.
MobileTogether Server se puede registrar:
desde la página Configuración de la interfaz web de MobileTogether Server: (i) inicie
MobileTogether Server desde el controlador de servicios (punto anterior); (ii) Escriba la
contraseña para acceder a la página de configuración; (iii) Seleccione el nombre o la
dirección del servidor LicenseServer y haga clic en el botón Registrar con
LicenseServer.
a través de la interfaz de la línea de comandos con ayuda del comando licenseserver:
MobileTogetherServer licenseserver [opciones] NombreServidor-ODirecciónIP
Por ejemplo, si el nombre del servidor donde está instalado LicenseServer es localhost,
entonces debe usar este comando:
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
424
Altova LicenseServer
Asignación de licencias
MobileTogetherServer licenseserver localhost
Tras registrar MobileTogether Server con el servidor LicenseServer, abra la página Server
Management de la interfaz web de LicenseServer para asignar una licencia a MobileTogether
Server.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
425
10.6.7 Asignar licencias a productos registrados
Este apartado explica:
Los pasos previos a la asignación de licencias
La pestaña Server Management
Los iconos de la pestaña Server Management
Núcleos y licencias
Cómo asignar una licencia
Cómo quitar productos del registro de LicenseServer
Pasos previos a la asignación de licencias
Antes de asignar una licencia a su producto de Altova, compruebe que:
La licencia pertinente está cargada en el repertorio de licencias de LicenseServer y que
la licencia está activa.
Su producto de Altova está registrado con LicenseServer.
Pestaña Server Management
Las licencias se asignan en la pestaña de gestión de servidores Server Management de la
página de configuración de LicenseServer (imagen siguiente). En el ejemplo de la imagen se
registraron tres productos de Altova con LicenseServer. Puesto que el paquete de instalación de
FlowForce Server incluye MapForce Server y StyleVision Server, al registrar FlowForce Server
con LicenseServer, en el mismo LicenseServer se registran automáticamente MapForce Server y
StyleVision Server. Es decir, si registra FlowForce Server no hace falta registrar los otros dos
productos por separado.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
426
Altova LicenseServer
Asignación de licencias
Es necesario mencionar estos aspectos de la pestaña Server Management:
cada producto aparece bajo el nombre de su equipo cliente. En el ejemplo de la imagen,
aparece un equipo cliente llamado DOCaltova.com. Este equipo cliente (DOCaltova.com)
tiene registrados tres productos de Altova con el servidor LicenseServer. Si otro equipo
cliente tiene un producto registrado con este LicenseServer, el equipo cliente y sus
productos registrados aparecerán en la pestaña Server Management.
junto a los productos de Altova del equipo cliente aparece la entrada Key code, que toma
el código clave de una licencia. El código clave del producto registrado se asigna
haciendo clic en el botón en forma de nudo (Editar licencias asignadas) y
seleccionando la licencia necesaria del repertorio de licencias. Este procedimiento se
explica más detenidamente un poco más adelante.
junto a cada producto aparece el número de núcleos que debe tener licencia para poder
ejecutar el producto en el equipo cliente. Si el número de núcleos de la licencia es
inferior al número de núcleos del equipo, los datos aparecen en rojo (imagen anterior). El
número de núcleos que necesitan una licencia es el número de núcleos del cliente y
LicenseServer obtiene la información del equipo cliente.
si se instalaron varias versiones del mismo producto en el mismo equipo (p. ej.
StyleVision Server 2013 y StyleVision Server 2014) y todas ellas se registraron con el
mismo servidor LicenseServer, todos los registros se reúnen en un solo registro en la
pestaña Server Management, es decir, aparecen como un solo registro. Cuando se
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
427
asigna una licencia a este registro, esta se asigna a todas las instalaciones reunidas en
ese registro. Sin embargo, en el equipo cliente se pueden ejecutar simultáneamente
varias instancias de una instalación solamente. Por ejemplo, puede ejecutar
simultáneamente varias instancias de StyleVision Server 2013 o varias instancias de
StyleVision Server 2014, pero puede ejecutar simultáneamente una instancia de
StyleVision Server 2013 y otra de StyleVision Server 2014. Recuerde que si instala
versiones nuevas, debe asignarles una licencia para poder ejecutarlas.
cuando actualice su producto servidor de Altova a una versión más reciente, asegúrese
de actualizar también su servidor LicenseServer con la versión más reciente. Las
versiones anteriores de los productos servidor de Altova funcionarán con las conversiones
más recientes de LicenseServer. Es decir, si instala una versión nueva de un producto
servidor de Altova y la versión actual de su servidor LicenseServer no es la más reciente,
desinstale la versión antigua de LicenseServer e instale la versión más reciente
(disponible en el sitio web de Altova). Toda la información de registro y licencias
almacenada en la versión antigua se guardará en una base de datos su equipo servidor
durante la desinstalación y se importará automáticamente a la versión nueva. El número
de versión de su servidor LicenseServer actual aparece en la parte inferior de la página de
configuración. El número de versión de LicenseServer también aparece durante la
instalación (tanto de LicenseServer como del producto servidor que contiene el paquete
de instalación de LicenseServer). Recuerde que puede instalar LicenseServer junto con el
producto servidor o por separado. Si quiere actualizar LicenseServer con una versión más
reciente, recuerde que antes debe desinstalar la versión anterior.
Iconos de la pestaña Server Management
Editar licencias asignadas: abre el cuadro de diálogo de gestión de licencias, donde
puede asignar nuevas licencias al producto y editar las licencias asignadas
previamente.
Mostrar licencias: aparece con cada licencia. Abre la pestaña del repertorio de licencias
y resalta la licencia seleccionada para que pueda ver sus detalles.
Quitar producto del registro: elimina el producto seleccionado (del equipo cliente
seleccionado) del registro de LicenseServer.
Nota sobre núcleos y licencias
La asignación de licencias a productos servidor de Altova (excepto en MobileTogether Server*)
depende de cuántos núcleos de procesador tiene el equipo donde se ejecuta el producto servidor
de Altova. Por ejemplo, un procesador dual tiene dos núcleos, un procesador quad tiene cuatro
núcleos, un procesador hexa-core tiene seis núcleos, y así sucesivamente. El número de núcleos
de la licencia licencia asignada a un producto instalado en un equipo servidor debe ser mayor o
igual al número de núcleos disponibles en dicho servidor, ya sea un equipo virtual o uno físico.
Por ejemplo, si un servidor tiene ocho núcleos (un procesador octa-core), deberá comprar una
licencia para ocho núcleos. También puede combinar varias licencias para alcanzar el número de
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
428
Altova LicenseServer
Asignación de licencias
núcleos necesario. Es decir, puede usar dos licencias para cuatro núcleos para un servidor octacore en lugar de una licencia para ocho núcleos, por ejemplo.
Si usa un equipo servidor con gran cantidad de núcleos, pero tiene un bajo volumen de
procesamiento, también puede crear un equipo virtual que tenga adjudicados menos núcleos y
comprar una licencia para ese menor número de núcleos. No obstante, dicha implementación
será menos rápida que si utilizara todos los núcleos disponibles en el servidor.
Nota: cada licencia se puede usar solamente para un equipo cliente, incluso si no se
usa la totalidad de la licencia. Por ejemplo, si utiliza una licencia para 10 núcleos para un
equipo cliente que tiene 6 núcleos, los 4 núcleos restantes de la licencia no se pueden
usar para otro equipo cliente simultáneamente.
Nota*: las licencias de MobileTogether Server se asignan dependiendo del número de
usuarios, es decir, del número de dispositivos cliente que se conecten a MobileTogether
Server.
Asignar una licencia
Para asignar una licencia a un producto registrado, haga clic en el botón Editar licencias
asignadas del producto. Aparece el cuadro de diálogo de gestión de licencias "Manage
Licenses" (imagen siguiente).
En este cuadro de diálogo:
El producto al que se debe asignar la licencia aparece en negrita en la parte superior
izquierda del cuadro de diálogo. Por ejemplo, en la imagen anterior se trata de Altova
FlowForce Server 2013.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Asignación de licencias
429
Las licencias que están activas en el repertorio para este producto aparecen enumeradas
en la tabla "Available licenses". Por ejemplo, en la imagen anterior hay cuatro licencias
activas para FlowForce Server en el repertorio de licencias. LicenseServer detecta
automáticamente para qué producto se emitió cada licencia del repertorio.
Las licencias que aparecen en la imagen anterior son para procesadores de 3, 2, 4 y 4
núcleos respectivamente.
Debe conocer el número de núcleos que tiene el servidor en el que está instalado el
producto servidor de Altova. Si el equipo tiene un procesador dual, necesitará una
licencia para dos núcleos. Para ello podría usar la segunda licencia que aparece
seleccionada en la imagen. Pero también podría combinar varias licencias. Por ejemplo,
si el procesador es octa-core (8 núcleos) puede combinar dos licencias para 4 núcleos,
como la tercera y cuarta licencia de la imagen.
El diálogo "Manage Licenses" solamente enumera las licencias que están activas para
este producto. No aparecen licencias de otros productos.
La casilla de las licencias ya asignadas previamente (por ejemplo en otra instalación del
mismo producto en la red) aparecen marcadas. Es decir, solamente puede seleccionar
las licencias cuya casilla no esté marcada.
La columna CPU Cores indica para cuántos núcleos es la licencia.
Si desea realizar cambios en el repertorio de licencias (para cargar, activar, desactivar o
eliminar licencias) haga clic en el botón Go to License Pool para ir al repertorio de
licencias.
Seleccione la licencia que desea asignar. Observe que la casilla de la licencia seleccionada
ahora aparece marcada y que el número máximo de núcleos para esa licencia aparece en la
parte superior izquierda del diálogo (Max licensed CPU Cores). Puede seleccionar más licencias
si quiere incrementar el número de núcleos para el producto y el cliente seleccionados. El
número máximo de núcleos es la suma de los núcleos de todas las licencias seleccionadas.
Tras seleccionar las licencias haga clic en Apply changes para aplicar los cambios realizados
en el diálogo. Las licencias se asignan al producto y aparecen en la tabla de la pestaña Server
Management (imagen siguiente). En el ejemplo de la imagen se asignó una licencia de dos
núcleos a Altova FlowForce Server (en el equipo cliente Doc.altova.com).
Quitar productos del registro
Los productos de Altova registrados con LicenseServer se enumeran en la pestaña Server
Management bajo el nombre del equipo cliente donde están instalados. Junto a ellos aparece el
icono Quitar del registro. Haga clic en este icono para quitar el producto del registro. Si el
producto tiene asignada una licencia, la asignación expira nada más quitar el producto del
registro. Para quitar todos los productos del registro, haga clic en el botón Unregister server
and all products, situado al final de la página (primera imagen de este apartado).
Para volver a registrar el producto, abra su página de configuración.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
430
Altova LicenseServer
Altova RaptorXML Server 2015
Asignación de licencias
© 2015 Altova Gmb H
Altova LicenseServer
10.7
Referencia de la página de configuración
431
Referencia de la página de configuración
La página de configuración de LicenseServer es la interfaz del administrador con el servidor de
licencias. Permite gestionar el servidor y asignar licencias a los productos de Altova que se
registraron con LicenseServer (FlowForce Server, MapForce Server, StyleVision Server,
RaptorXML(+XBRL) Server).
La página de configuración de LicenseServer se abre con un explorador web. Esto se explica en
los apartados Abrir la página de configuración de LicenseServer (Windows) y Abrir la página de
configuración de LicenseServer (Linux).
Esta sección es una referencia del usuario para la página de configuración y sus apartados se
corresponden con las pestañas de la página de configuración:
Repertorio de licencias: describe el uso pestaña License Pool.
Gestión de servidores: describe el uso de la pestaña Server Management.
Supervisión de servidores: describe el uso de la pestaña Server Monitoring.
Opciones de configuración: describe el uso de la pestaña Settings.
Mensajes, Cerrar sesión
Consulte el apartado Asignar licencias para obtener más información sobre el proceso de
asignación de licencias.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
432
Altova LicenseServer
Referencia de la página de configuración
10.7.1 Repertorio de licencias
Temas de este apartado:
Cargar licencias
Estado de las licencias
Activar, desactivar y eliminar licencias
Iconos de la pestaña License Pool
Información sobre las licencias
Nota sobre núcleos y licencias
La pestaña License Pool muestra todas las licencias que están en el servidor LicenseServer
(imagen siguiente). Cuando se carga un archivo de licencias a LicenseServer con el botón
Cargar, todas las licencias del archivo se colocan en el repertorio del servidor y aparecen en esta
pestaña.
La pestaña del repertorio de licencias incluye información sobre todas las licencias que están en
el servidor de licencias y, por tanto, ofrece un práctico resumen de todas las licencias
disponibles. En esta pestaña también puede activar, desactivar y eliminar licencias.
Cargar licencias
Siga estos pasos para cargar un archivo de licencias (el que Altova GmbH le envía para su
producto servidor de Altova):
1. Haga clic en el botón Browse para buscar el archivo de licencias. Seleccione el
archivo.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Referencia de la página de configuración
433
2. Haga clic en el botón Upload para cargar el archivo de licencias.
Las licencias del archivo se colocan en el repertorio de licencias y aparecen en la
tabla de la pestaña (imagen anterior).
Estado de las licencias
Las licencias pueden tener varios estados:
Activating (En activación): cuando se carga una licencia al repertorio de licencias de
LicenseServer, el servidor transmite datos sobre la licencia al servidor maestro
altova.com para validarla, verificarla y activarla. Este paso es necesario para comprobar
que se cumple el contrato de licencia de Altova. Mientras se completa esta transacción
(que dura entre 30 segundos y varios minutos, dependiendo de la velocidad y del tráfico
de la conexión) el estado de la licencia es Activating... (En activación...).
Failed verification (No se puede verificar): si no se puede establecer la conexión con el
servidor maestro altova.com, el estado de la licencia es Failed verification (No se
puede verificar). Si esto ocurre, revise su conexión a Internet y las reglas de su servidor
de seguridad y compruebe que LicenseServer puede comunicarse con el servidor
maestro altova.com.
Active (Activa): la licencia se activa tras ser verificada.
Inactive (No activa): si la licencia se verifica pero está presente en otro LicenseServer de
la red, su estado es Inactive (No activa). Esto también puede ocurrir cuando el
administrador desactiva la licencia a mano en el repertorio de licencias.
Blocked (Bloqueada): la licencia tiene este estado cuando se produce un error al verificar
la licencia y el servidor maestro altova.com no concede permiso a LicenseServer para
usar la licencia. Esto puede deberse a una infracción del contrato de licencia o a un uso
excesivo de una licencia, por ejemplo. Si su licencia está bloqueada, póngase en
contacto con el equipo de soporte técnico de Altova.
A continuación resumimos la información anterior:
Estado
Activating (En
activación).
Significado
Al cargar un archivo de licencias, los datos se envían a altova.com para
verificar las licencias. Actualice el explorador para ver el estado de las
licencias. El proceso de verificación y activación puede durar unos minutos.
Failed
No se puede establecer la conexión con altova.com. Cuando consiga
verification (No establecer la conexión, vuelve a iniciar LicenseServer o intente activar la
se puede
licencia otra vez (con el botón Activate).
verificar)
Active (Activa)
La licencia se verificó correctamente y la licencia está activa.
Inactive (No
activa)
La licencia se verificó correctamente pero la licencia está en otro servidor
LicenseServer de la red. Las licencias se pueden desactivar con el botón
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
434
Altova LicenseServer
Referencia de la página de configuración
Deactivate.
Blocked
(Bloqueada)
No se puede verificar la licencia. La licencia no es válida y se bloqueó.
Póngase en contacto con el equipo de soporte técnico de Altova.
Nota:
tras enviar los datos de licencia a altova.com es necesario actualizar la ventana del
explorador para actualizar el estado. La verificación y activación puede tardar unos
minutos.
Nota:
si no se puede establecer la conexión con altova.com, el estado de la licencia es
Failed verification (No se puede verificar). Cuando consiga establecer la conexión,
vuelve a iniciar LicenseServer o intente activar la licencia otra vez (con el botón Activar).
Nota:
cuando la licencia tiene el estado Inactive (No activa) o Blocked (Bloqueada) aparece un
mensaje explicando el motivo en la pestaña Messages.
A los productos solamente se les pueden asignar licencias activas. Las licencias activas se
pueden activar o eliminar del repertorio de licencias. Si una licencia se elimina del repertorio, se
puede cargar otra vez cargando el archivo de licencias correspondiente. Cuando se actualiza un
archivo de licencias, solamente se cargan al repertorio las licencias que todavía no están en él.
Para activar, desactivar o eliminar una licencia, selecciónela y haga clic en el botón Activate,
Deactivate o Delete respectivamente.
Conexión con el servidor maestro de licencias altova.com
Altova LicenseServer necesita comunicarse con el servidor maestro de licencias altova.com
para validar y verificar los datos de licencia y para asegurarse de que los contratos de
licencia de Altova se cumplen en todo momento. Esta comunicación se establece por
HTTPS a través del puerto 443. Si tras completar la verificación inicial con el servidor
maestro altova.com, Altova LicenseServer no puede volver a conectarse con altova.com
durante más de 5 días (120 horas), se bloqueará el uso de los productos de Altova que estén
conectados con Altova LicenseServer.
Cuando se pierde la conexión con el servidor maestro altova.com, la incidencia se registra
en la pestaña Messages de la página de configuración de Altova LicenseServer. Además el
administrador puede configurar Altova LicenseServer para que le envíe correos de alerta
cuando se pierda la conexión con altova.com. Las opciones de configuración de estos
correos de alerta se pueden definir en la pestaña Settings de la página de configuración.
Activar, desactivar y eliminar licencias
Para desactivar una licencia activa, selecciónela y haga clic en el botón Deactivate. Para activar
una licencia inactiva, selecciónela y haga clic en el botón Activate. Para eliminarla haga clic en
el botón Delete. Cuando se elimina una licencia, se quita del repertorio. Las licencias eliminadas
se pueden añadir otra vez al repertorio cargando el archivo de licencias pertinente. Si vuelve a
cargar un archivo de licencias, solamente se añaden las licencias que todavía no están en el
repertorio. Las licencias que ya están no se vuelve a añadir.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Referencia de la página de configuración
435
Iconos de la pestaña License Pool
Editar licencias asignadas: este icono aparece en cada licencia (en la columna
Assignments). Abre el cuadro de diálogo de gestión de licencias, donde puede asignar
nuevas licencias al producto y editar las licencias asignadas previamente.
Mostrar licencias: este icono aparece en cada licencia (en la columna Assignments).
Ofrece información sobre los clientes activos que están activos en ese momento.
Información sobre las licencias
La tabla donde se enumeran las licencias incluye estos datos:
Status. Una licencia puede tener estos estados: Failed Verification | Activating | Active |
Inactive | Block ed. (ver más arriba).
Name, Company. Nombre y compañía del titular de la licencia. Estos datos se aportaron
en el momento de compra.
Product, Edition, Version. Versión y edición de los productos con licencia.
Key, Expires in days, SMP days left. Clave de licencia que desbloquea el producto y el
número de días que faltan para que expire la licencia. Cada producto con licencia incluye
un paquete de soporte y mantenimiento, válido durante un plazo de tiempo. La columna
SMP indica cuántos días faltan hasta la expiración del paquete de soporte y
mantenimiento.
Users | CPU Cores. Número de usuarios o núcleos de CPU permitidos por la licencia. En
el caso de MobileTogether Server, es necesario asignar las licencias que correspondan al
número de clientes MobileTogether que se conecten a MobileTogether Server. En los
demás productos servidor de Altova es necesario asignar las licencias que correspondan
al número de núcleos CPU (ver nota más abajo).
Assignments. Ofrece acceso a cuadros de diálogo de edición y a información sobre
cada licencia.
Nota sobre núcleos y licencias
La asignación de licencias a productos servidor de Altova (excepto en MobileTogether Server*)
depende de cuántos núcleos de procesador tiene el equipo donde se ejecuta el producto servidor
de Altova. Por ejemplo, un procesador dual tiene dos núcleos, un procesador quad tiene cuatro
núcleos, un procesador hexa-core tiene seis núcleos, y así sucesivamente. El número de núcleos
de la licencia licencia asignada a un producto instalado en un equipo servidor debe ser mayor o
igual al número de núcleos disponibles en dicho servidor, ya sea un equipo virtual o uno físico.
Por ejemplo, si un servidor tiene ocho núcleos (un procesador octa-core), deberá comprar una
licencia para ocho núcleos. También puede combinar varias licencias para alcanzar el número de
núcleos necesario. Es decir, puede usar dos licencias para cuatro núcleos para un servidor octacore en lugar de una licencia para ocho núcleos, por ejemplo.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
436
Altova LicenseServer
Referencia de la página de configuración
Si usa un equipo servidor con gran cantidad de núcleos, pero tiene un bajo volumen de
procesamiento, también puede crear un equipo virtual que tenga adjudicados menos núcleos y
comprar una licencia para ese menor número de núcleos. No obstante, dicha implementación
será menos rápida que si utilizara todos los núcleos disponibles en el servidor.
Nota: cada licencia se puede usar solamente para un equipo cliente, incluso si no se
usa la totalidad de la licencia. Por ejemplo, si utiliza una licencia para 10 núcleos para un
equipo cliente que tiene 6 núcleos, los 4 núcleos restantes de la licencia no se pueden
usar para otro equipo cliente simultáneamente.
Nota*: las licencias de MobileTogether Server se asignan dependiendo del número de
usuarios, es decir, del número de dispositivos cliente que se conecten a MobileTogether
Server.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Referencia de la página de configuración
437
10.7.2 Gestión de servidores
Temas de este apartado:
Iconos de la pestaña Server Management
Asignación de licencias
Un equipo cliente que usa nombres diferentes
Solicitar una licencia de evaluación
Quitar productos del registro
En la pestaña Server Management (imagen siguiente), puede asignar licencias a los productos
registrados con el servidor de licencias.
En esta pestaña:
cada producto aparece bajo el nombre de su equipo cliente. En el ejemplo de la imagen,
aparece un equipo cliente llamado DOCaltova.com. Este equipo cliente (DOCaltova.com)
tiene registrados tres productos de Altova con el servidor LicenseServer. Si otro equipo
cliente tiene productos registrados con este mismo servidor de licencias, el equipo y sus
productos registrados aparecerán en la pestaña Server Management.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
438
Altova LicenseServer
Referencia de la página de configuración
junto a los productos de Altova registrados del equipo cliente aparece la entrada Key
Code, que toma el código clave de una licencia. El código clave del producto registrado
se asigna haciendo clic en el botón en forma de nudo (Editar licencias asignadas) y
seleccionando la licencia necesaria del repertorio de licencias. Este procedimiento se
explica más detenidamente un poco más adelante.
junto a cada producto (excepto MobileTogether Server) aparece el número de núcleos
que deben tener licencia para poder ejecutar le producto en el equipo cliente. Si el
número de núcleos de la licencia es inferior al número de núcleos del equipo, los datos
aparecen en rojo (imagen anterior). El número de núcleos que necesitan una licencia es
el número de núcleos del cliente y LicenseServer obtiene la información del equipo
cliente.
Ejecución por subprocesamiento simple
Si en el repertorio de licencias hay una licencia de producto para un solo núcleo, puede
asignar un equipo con varios núcleos a dicha licencia. En casos como este, el equipo
ejecutará el producto en un solo núcleo. Por tanto, el procesamiento será más lento porque
el subprocesamiento múltiple no estará disponible (funciona con varios núcleos solamente).
El producto se ejecutará en modo de subprocesamiento simple en el equipo.
Para asignar una licencia para un solo núcleo a un equipo con varios núcleos, marque la
casilla Limit to single thread execution del producto correspondiente.
Iconos de la pestaña Server Management
Editar licencias asignadas: abre el cuadro de diálogo de gestión de licencias, donde
puede asignar nuevas licencias al producto y editar las licencias asignadas
previamente.
Mostrar licencias: aparece con cada licencia. Abre la pestaña del repertorio de licencias
y resalta la licencia seleccionada para que pueda ver sus detalles.
Quitar producto del registro: elimina el producto seleccionado (del equipo cliente
seleccionado) del registro de LicenseServer.
Asignar una licencia
Para asignar una licencia a un producto registrado, haga clic en el botón Editar licencias
asignadas del producto. Aparece el cuadro de diálogo de gestión de licencias "Manage
Licenses" (imagen siguiente).
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Referencia de la página de configuración
439
Seleccione la licencia que desea asignar. Después haga clic en Apply changes para aplicar los
cambios realizados. Las licencias se asignan al producto y aparecen en la tabla de la pestaña
Server Management (imagen siguiente).
Un equipo cliente que usa nombres diferentes
Si un equipo cliente se registra más de una vez con LicenseServer, puede aparecer en la
pestaña Server Management con varios nombres diferentes, es decir, con varias entradas. Esto
puede pasar si, por ejemplo, un equipo se vuelve a registrar con un nombre de host diferente.
Es importante que no se asignen licencias adicionales al mismo equipo bajo un nombre diferente.
Por eso debe quitar la asignación de licencias a las instancias del equipo cliente que son
redundantes (clic en el botón Unregister server and all products de los equipos redundantes).
Nota: aunque en esta documentación nos referimos a los equipos cliente como clientes de
LicenseServer, en realidad son servidores de sus propios productos.
Además si se asigna varias veces la misma licencia al mismo equipo (pero con nombres
diferentes), pueden producirse conflictos de licencia. Con lo cual, para evitar estas dos
situaciones (asignación redundante de licencias y asignación de la misma licencia varias veces),
recomendamos quitar del registro las entradas redundantes del mismo equipo cliente.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
440
Altova LicenseServer
Referencia de la página de configuración
A continuación puede ver los nombres que puede tomar un equipo en la pestaña Server
Management:
Nombre de host con nombre del dominio (el nombre de dominio completo), por ejemplo
"win80-x64_1.mi.dominio.com" o "Doc3.mi.dominio.com". Esto ocurre cuando
el nombre de host del equipo (con o sin la información de dominio) se pasa como
argumento del comando licenseserver de la línea de comandos que sirve para registrar
el producto servidor con LicenseServer. Por ejemplo: <ProductoServidorAltova>
licenseserver Doc3. Esto genera el nombre de dominio completo
Doc3.mi.dominio.com.
También se obtiene un nombre de dominio completo cuando en Windows 7 se aporta
localhost como nombre de host.
Nombre de host sin nombre de dominio, por ejemplo "win80-x64_1" o "Doc3". Esto
ocurre en sistemas Windows 8 cuando se aporta localhost como nombre del equipo.
localhost. En algunos casos también aparece localhost como nombre del equipo.
Nota:
si durante la instalación del producto servidor de Altova en equipos Windows, el equipo
se registra automáticamente con LicenseServer, el instalador usa localhost como
nombre del equipo.
Solicitar una licencia de evaluación
Altova ofrece licencias de evaluación gratuitas y válidas durante 30 días para que pueda probar
todos los productos servidor. Primero debe descargar e instalar el producto servidor de Altova que
desea probar y registrarlo con LicenseServer. Al final de la pestaña Server Management, haga
clic en el botón Request evaluation licenses para solicitar licencias de evaluación. Se abre un
cuadro de diálogo que enumera los productos servidor de Altova (del equipo cliente) que están
registrados con LicenseServer. Marque las casillas de los productos que desea probar, rellene los
campos de registro y envíe la solicitud. Poco después recibirá un correo electrónico con las
licencias de evaluación, gratuitas y válidas durante 30 días. El número de núcleos para los que es
válida la licencia de cada producto coincidirá con el número de núcleos que necesita el producto
en el momento de realizarse la solicitud. Guarde las licencias en el disco y cárguelas al
repertorio de licencias.
Quitar productos del registro
Los productos de Altova registrados con LicenseServer se enumeran en la pestaña Server
Management bajo el nombre del equipo cliente donde están instalados. Junto a ellos aparece el
icono Quitar del registro. Haga clic en este icono para quitar el producto del registro. Si el
producto tiene asignada una licencia, la asignación expira al quitar el producto del registro. Para
quitar todos los productos del registro, haga clic en el botón Unregister server and all products
situado al final de la página (primera imagen de este apartado).
Para volver a registrar el producto con LicenseServer, abra su página de configuración o su
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Referencia de la página de configuración
441
interfaz de la línea de comandos y regístrelo. Consulte estos apartados para más información:
Registrar FlowForce Server, Registrar MapForce Server, Registrar StyleVision Server y Registrar
RaptorXML(+XBRL) Server.
Para más información lea el apartado Asignar licencias a productos registrados.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
442
Altova LicenseServer
Referencia de la página de configuración
10.7.3 Supervisión de servidores
La pestaña Supervisión de servidores ofrece una visión de conjunto de los servidores que están
ejecutando productos de Altova. Es decir, aquí encontrará información sobre cada producto,
sobre los usuarios y las licencias.
Note:
Failover LicenseServers funciona con aplicaciones cliente v2015rel3 o posterior; a
clientes más antigüos se les marca con la bandera en el Primary LicenServer (consulte
la captura de pantalla anterior).
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Referencia de la página de configuración
443
10.7.4 Opciones de configuración
Temas de este apartado:
Configuración Failover LicenseServer
Configuración de red
Correos de alerta
Mostrar información sobre cómo recibir e implementar licencias de evaluación
En la pestaña Settings (imagen siguiente) puede definir las opciones de configuración del
servidor LicenseServer:
la contraseña para iniciar sesión en LicenseServer. Escriba la contraseña y haga clic en
el botón Change Password (Cambiar contraseña).
puede probar la conexión con Altova haciendo clic en el botón Test Connection to
Altova. Recuerde que debe guardar las opciones de configuración nuevas (haciendo clic
en el botón Save situado al final del panel) antes de probar la conexión. Mientras se
prueba la conexión el botón Test Connection to Altova se deshabilita y se vuelve a
habilitar una vez finalizada la prueba de conexión.
estadísticas de clientes
opciones de red para la página de configuración web (Web UI), para el servidor proxy
utilizado para conectarse a Internet si lo hay (Proxy Server) y para LicenseServer
(License Service). Estas opciones se describen más adelante.
opciones del servidor de correo y el destinatario de correos de alerta a quien avisar
cuando ocurra algo importante en LicenseServer. Estas opciones se describen más
adelante.
cuando termine de cambiar las opciones de configuración, haga clic en el botón Save
situado al final del panel. Los cambios no surten efecto hasta que se guardan con este
botón.
Configuración Failover LicenseServer
Se puede configurar un segundo LicenseServer tomándolo del Primary LicenseServer en el caso
de que el Primary LicenseServer ya no se encuentre disponible. El segundo LicenseServer se
llama Failover LicenseServer.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
444
Altova LicenseServer
Referencia de la página de configuración
Para configurar un LicenseServer como the Failover LicenseServer, han de realizarse los
siguientes pasos:
1.
2.
3.
Instalar LicenseServer tal y como se describe en la sección de Instalación.
Configurar el modo del LicenseServer en Failover LicenseServer marcando el botón
correspondiente (consulte la captura de pantalla anterior). (El modo del LicenseServer
está configurado por defecto en Primary LicenseServer.)
En el cuadro de diálogo Buscar Primary LicenseServer que aparece (consulte la captura
de pantalla siguiente), introduzca el Primary LicenseServer del que desee realizar una
copia con el Failover LicenseServer. Puede hacer esto de uno o dos formas distintas: (i)
Haga clic en Buscar LicenseServers y luego seleccione en el cuadro combinado, el
LicenseServer del cual desea realizar la copis de la lista de LicenseServers encontrados;
(ii) Haga clic en Introducir dirección manualmente e introduzca la dirección del
LicenseServer del que desee realizar una copia. Después de introducir el Primary
LicenseServer, haga clic en Conectar al Primary LicenseServer.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
4.
Referencia de la página de configuración
445
Aparecerá un cuadro de diálogo de confirmación, preguntando si desea configurar el
LicenseServer actual como el Failover LicenseServer del Primary LicenseServer que
acaba de seleccionar. Si sigue adelante con la confirmación se quitarán las licencias que
estuvieran instaladas y los clientes registrados. Haga clic en Yes si desea confirmar.
Una vez se ha configurado el Failover LicenseServer, tanto el Primary LicenseServer como el
Failover LicenseServer recibirán notificaciones acerca de sus respectivos modos en la parte
superior de la Página de Configuración. En las dos capturas de pantilla siguientes, se muestra
primero el Failover LicenseServer y posteriormente el Primary LicenseServer.
Observe los siguientes puntos:
Después de que se haya configurado un Failover LicenseServer, sincronizará
periódicamente todas las licencias, clientes registrados y los acuerdos de licencias del
Primary. Si el Primary no está disponible, entonces el Failover asume el rol del
LicenseServer. Una vez que el Primary vuelve a estar de nuevo disponible, el Primary
retoma el control del Failover. Cualquier modificación relacionada con la licencia que se
haya realizado en el Failover durante este período se perderá cuando el Primary vuelva a
ganar el control.
El Failover LicenseServer proporcionará licencias sólo a clientes que son de la versión
2015 rel 3 o posterior. Los clientes más antigüos que se marcan con banderas como en
la Supervisión de servidores del Primary LicenseServer (consulte la captura de pantalla
siguiente). Le recomendamos que actualice sus aplicaciones cliente a la versión 2015 rel
3 o posterior si desea usar el the Failover LicenseServer
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
446
Altova LicenseServer
Referencia de la página de configuración
Configuración de red
El administrador puede especificar los puntos de acceso de red para la página de configuración
web y para el servidor LicenseServer:
Web UI (interfaz web): las direcciones IP permitidas pueden ser direcciones IP e
interfaces del equipo o una dirección fija. Los puertos se pueden calcular de forma
dinámica o fija. Esto permite un amplio abanico de opciones de configuración dirección
IP:puerto. El puerto predeterminado es 8088.
Proxy Server (disponible a partir de la versión 1.3): si usa un servidor proxy para
conectarse a Internet, los datos de este servidor proxy deben introducirse bajo este grupo
de opciones (imagen anterior). Rellene estos campos si está usando un servidor proxy.
Recuerde que muchos servidores proxy no exigen autenticación (con nombre de usuario
y contraseña), en cuyo caso puede dejar en blanco estos dos campos. Para configurar
LicenseServer para el servidor proxy, escriba el nombre de host del servidor proxy y un
número de puerto, si es necesario.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Referencia de la página de configuración
447
License Service (servicio de licencias): las direcciones IP pueden ser direcciones IP e
interfaces del equipo o una dirección fija. Si incluye nombres de host y direcciones IP,
sepárelas con comas y sin espacios (por ejemplo:
nombrehost1,direcciónIP1,nombrehost2). El número de puerto está fijado en 35355.
Estas opciones permiten un acceso no restringido a LicenseServer y a su página de
configuración de forma predeterminada desde las redes a las que está conectado LicenseServer.
Si quiere restringir el acceso a LicenseServer o a su página de configuración, defina las opciones
correspondientes en esta pestaña y haga clic en Save para guardar.
Realice una prueba de conexión (ver más arriba) para comprobar si funcionan las opciones
definidas.
Correos de alerta
Altova LicenseServer necesita estar conectado al servido maestro altova.com. Si la conexión se
interrumpe más de 24 x 5 horas (es decir, 5 días), LicenseServer no permitirá licencias. Como
resultado, puede que las sesiones de trabajo con productos Altova registrados con LicenseServer
se interrumpan.
Si quiere puede configurar LicenseServer para que envíe un correo de alerta al administrador
cuando la conexión se interrumpa. En el grupo de opciones Alert Mail (imagen anterior) puede
configurar los correos de alerta y la dirección de correo del administrador.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
448
Altova LicenseServer
Referencia de la página de configuración
Los campos SMTP Host y SMTP Port son los datos de acceso del servidor de correo electrónico
desde el que se enviarán los correos de alerta. Los campos User Authentication y User
Password son las credenciales de usuario para acceder al servidor de correo. El campo From
toma la dirección de la cuenta de correo electrónico desde la que se enviará el correo. El campo
To es la dirección de correo electrónico del destinatario.
Cuando termine haga clic en Save para guardar los cambios. A partir de ese momento se
enviarán correos de alerta a las direcciones especificadas cuando se produzcan eventos
relevantes, como cuando se pierde la conexión con altova.com, por ejemplo. No olvide que
estos eventos también se registran en la pestaña Messages.
Opciones varias
Show hints for receiving and deploying evaluation licenses
Si marca esta casilla (Mostrar información sobre cómo recibir e implementar licencias
de evaluación), al principio de la página de configuración aparecerán instrucciones
para recibir e implementar licencias de evaluación.
Send a warning email if contact with a running product is lost
Si marca esta casilla (Enviar correo de alerta si se pierde el contacto con un producto en
ejecución), se enviará un correo de alerta desde la dirección From a la dirección To cuando se
pierda la conexión con un producto que tiene asignada una licencia y que está en ejecución.
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Altova LicenseServer
Referencia de la página de configuración
449
10.7.5 Mensajes, Cerrar sesión
La pestaña Messages muestra todos los mensajes relacionados con las licencias del repertorio
de LicenseServer. Cada mensaje se puede eliminar haciendo clic en el correspondiente botón
Eliminar.
La pestaña Log out es en realidad un botón de cierre de sesión. Al hacer clic en Log out se
cierra inmediatamente la sesión y aparece la página de inicio de sesión.
© 2015 Altova Gmb H
Altova RaptorXML Server 2015
450
Altova LicenseServer
10.8
Reestablecer contraseña
Reestablecer contraseña
Si olvida su contraseña LicenseServer, puede usar el comando passwordreset desde el CLI para
reestablecer la contraseña a predeterminada.
1.
2.
3.
4.
Abra la ventana de comandos.
Cambie al directorio donde se encuentra instalado el paquete de la aplicación
LicenseServer o su ejecutable.
Introduzca el comando: licenseserver passwordreset
Esto reestablece la contraseña del administrador de LicenseServer a predeterminada.
Ahora puede registrarse en la página Web UI con la contraseña predeterminada
Altova RaptorXML Server 2015
© 2015 Altova Gmb H
Índice
Índice
451
Configuración del servidor, 150
Contraseña,
predeterminada al iniciar LicenseServer, 401
Contraseña predeterminada, 401
Correos de alerta, 443
.
.NET extension functions,
constructors, 381
datatype conversions, .NET to XPath/XQuery, 384
datatype conversions, XPath/XQuery to .NET, 383
for XSLT and XQuery, 379
instance methods, instance fields, 382
overview, 379
static methods, static fields, 382
D
Documentos XQuery,
validación, 111
Documentos XSLT,
validación, 92
E
A
Altova extensions,
chart functions (see chart functions), 304
Altova LicenseServer,
ver LicenseServer, 390
Altova ServiceController, 397
Asignación de licencias en Linux, 24
Asignación de licencias en Mac OS X, 31
Asignación de licencias en Windows, 16
Asignar licencias, 425, 437
C
Cargar licencias, 410, 432
Catálogos, 34
Catálogos XML, 34
Cerrar sesión, 449
Chart functions,
chart data structure for, 358
example, 363
listing, 354
Comando de ayuda de la ILC, 120
Comandos de licencias en la ILC, 122
Comandos XQuery, 98
Comandos XSLT, 84
Comprobar el formato, 73
Configuración, 443
© 2015 Altova GmbH
Ejecución de XQuery, 99
Ejemplo de script Python, 180, 185
Extension functions for XSLT and XQuery, 369
Extension Functions in .NET for XSLT and XQuery,
see under .NET extension functions, 379
Extension Functions in Java for XSLT and XQuery,
see under Java extension functions, 370
Extension Functions in MSXSL scripts, 386
F
FlowForce Server,
registrar con LicenseServer, 414
I
Información de red, 392
Instalación, 12
Linux, 20
M ac OS X, 27
Windows, 13
Instalación en Linux, 21
Instalación en Mac OS X, 28
Instalación en Windows, 14
Interfaces,
resumen, 5
452
Interfaz .NET, 5
Interfaz COM, 5
Interfaz del administrador, 431
Interfaz HTTP, 5, 144
configuración del servidor, 150
preparar el servidor, 146
problemas de seguridad, 44
solicitudes cliente, 155
Interfaz Java, 5
Interfaz Python, 5, 174
crear scripts, 176
ejecutar scripts, 179
J
Java extension functions,
constructors, 375
datatype conversions, Java to Xpath/XQuery, 378
datatype conversions, XPath/XQuery to Java, 377
for XSLT and XQuery, 370
instance methods, instance fields, 376
overview, 370
static methods, static fields, 375
user-defined class files, 371
user-defined JAR files, 374
Índice
opciones, 127
resumen de uso, 46
y XQuery, 98
Linux,
asignación de licencias en, 24
instalación en, 21
Localización, 124
M
Mac OS X,
asignación de licencias en, 31
instalación en, 28
MapForce Server,
registrar con LicenseServer, 419
Mensajes, 449
msxsl:script, 386
O
Opciones de configuración de red, 443
P
L
Licencias,
asignar, 425, 437
cargar, 410, 432
LicenseServer,
iniciar, 399
instalación en Linux, 394
instalación en M ac OS X, 396
instalación en Windows, 393
instrucciones para asignar licencias, 398
interfaz con, 431
opciones de configuración, 443
página de configuración, 431
registrar FlowForce Server con, 414
registrar M apForce Server con, 419
registrar StyleVision Server con, 420
Línea de comandos,
Página de configuración, 431
abrir en Linux, 404
abrir en M ac OS X, 407
abrir en Windows, 401
URL de, 401
URL de (Linux), 404
URL de (M ac OS X), 407
Página de configuración de LicenseServer,
(ver Página de configuración), 404, 407
ver Página de configuración, 401
Página Gestión de servidores, 437
Página Supervisión de servidores, 442
Pestaña Gestión de servidores, 425
Problemas de seguridad, 44
Python,
problemas de seguridad, 44
© 2015 Altova GmbH
Índice
453
R
W
RaptorXML,
características, 8
ediciones e interfaces, 5
especificaciones compatibles, 10
interfaces con COM , Java y .NET, 5
interfaz de la línea de comandos, 5
interfaz HTTP, 5
interfaz Python, 5
introducción, 3
requisitos del sistema, 7
Recursos globales, 42
Registrar FlowForce Server con LicenseServer, 414
Registrar MapForce Server con LicenseServer, 419
Registrar StyleVision Server con LicenseServer, 420
Repertorio de licencias, 410, 432
Windows,
asignación de licencias en, 16
instalación en, 14
S
Scripts in XSLT/XQuery,
see under Extension functions, 369
ServiceController, 397
StyleVision Server,
registrar con LicenseServer, 420
T
Transformación XSLT, 85
V
Validación,
de cualquier documento, 69
de documentos XQuery, 111
de documentos XSLT, 92
de DTD, 60
de instancias XM L con DTD, 49
de instancias XM L con XSD, 53
de XSD, 63
© 2015 Altova GmbH
X
XQuery,
Extension functions, 369
XSLT,
Extension functions, 369