Utilización de XML

El IBM® contiene los analizadores XML4J y XL XP-J, el compilador XL TXE-J 1.0 XSLT y el intérprete XSLT XSLT4J . Estas herramientas permiten analizar, validar, transformar y serializar documentos XML independientemente de la implementación de proceso XML específica.

Utilice los buscadores de fábrica para localizar implementaciones de las clases de fábrica abstractas, tal como se describe en Selección de un procesador XML. Mediante los buscadores de fábrica, puede seleccionar una biblioteca XML diferente sin cambiar el código Java™ .

Bibliotecas XML disponibles

El SDK de IBM contiene las siguientes bibliotecas XML:

XML4J 4.5
XML4J es un analizador con validación que proporciona soporte para los siguientes estándares:
  • XML 1.0 (Cuarta edición)
  • Namespaces in XML 1.0 (Segunda edición)
  • XML 1.1 (Segunda edición)
  • Namespaces in XML 1.1 (Segunda edición)
  • W3C XML Schema 1.0 (Segunda edición)
  • XInclude 1.0 (Segunda edición)
  • OASIS XML Catalogs 1.0
  • SAX 2.0.2
  • DOM Level 3 Core, Load and Save
  • DOM Level 2 Core, Events, Traversal and Range
  • JAXP 1.6

XML4J 4.5 está basado en Apache Xerces-J 2.9.0. Consulte http://xerces.apache.org/xerces2-j/ para obtener más información.

XL XP-J 1.1

XL XP-J 1.1 es un analizador sin validación de alto rendimiento que proporciona soporte para StAX 1.0 (JSR 173). StAX es una API bidireccional para serialización de modalidad continua y análisis completo de los documentos XML 1.0 y XML 1.1. Consulte la sección Información de referencia XL XP-J para obtener más detalles sobre lo que está soportado por XL XP-J 1.1.

XL TXE-J 1.0

Para la versión 6 y posteriores, IBM SDK for Java incluye XL TXE-J. XL TXE-J incluye el intérprete XSLT4J 2.7.8 y un nuevo compilador XSLT. El nuevo compilador se utiliza de forma predeterminada. El compilador XSLT4J ya no se incluye con IBM SDK for Java. Consulte Migración a XL-TXE-J para obtener información sobre la migración a XL TXE-J.

XL TXE-J incluye soporte para los siguientes estándares:
  • XSLT 1.0
  • XPath 1.0
  • JAXP 1.6

Selección de un procesador XML

La selección del procesador XML se realiza utilizando los proveedores de servicio. Cuando se utiliza un buscador de fábrica, Java busca en los lugares siguientes, en este orden, para ver qué proveedor de servicios utilizar:
  1. La propiedad del sistema con el mismo nombre que el proveedor de servicios.
  2. El proveedor de servicios especificado en un archivo de propiedades.
    • Únicamente para XMLEventFactory, XMLInputFactory, y XMLOutputFactory. El valor del proveedor de servicios en el archivo siguiente:
      • AIX: /etc/java8[_64]/jre/lib/stax.properties
      • Linux: /opt/ibm/java-<arch>-80/jre/lib/stax.properties
      • Windows: C:\Program Files\IBM\Java80\jre\lib\stax.properties
      • z/OS: /usr/lpp/java/J8.0[_64]/jre/lib/stax.properties
      .
    • Para otras factorías. El valor del proveedor de servicios en el archivo siguiente:
      • AIX: /etc/java8[_64]/jre/lib/jaxp.properties
      • Linux: /opt/ibm/java-<arch>-80/jre/lib/jaxp.properties
      • Windows: C:\Program Files\IBM\Java80\jre\lib\jaxp.properties
      • z/OS: /usr/lpp/java/J8.0[_64]/jre/lib/jaxp.properties
  3. El contenido del archivo META-INF/services/<service.provider>.
  4. El proveedor de servicios predeterminado.
Los proveedores de servicios siguientes controlan las bibliotecas de proceso XML utilizadas por Java:
javax.xml.parsers.SAXParserFactory
Selecciona el analizador SAX. De forma predeterminada, se utiliza org.apache.xerces.jaxp.SAXParserFactoryImpl de la biblioteca XML4J.
javax.xml.parsers.DocumentBuilderFactory
Selecciona el creador de documentos. De forma predeterminada, se utiliza org.apache.xerces.jaxp.DocumentBuilderFactoryImpl de la biblioteca XML4J.
javax.xml.datatype.DatatypeFactory
Selecciona la factoría de tipo de datos. De forma predeterminada, se utiliza org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl de la biblioteca XML4J.
javax.xml.stream.XMLEventFactory
Selecciona la factoría de sucesos StAX. De forma predeterminada, se utiliza com.ibm.xml.xlxp.api.stax.XMLEventFactoryImpl de la biblioteca XL XP-J.
javax.xml.stream.XMLInputFactory
Selecciona el analizador StAX. De forma predeterminada, se utiliza com.ibm.xml.xlxp.api.stax.XMLInputFactoryImpl de la biblioteca XL XP-J.
javax.xml.stream.XMLOutputFactory
Selecciona el serializador StAX. De forma predeterminada, se utiliza com.ibm.xml.xlxp.api.stax.XMLOutputFactoryImpl de la biblioteca XL XP-J.
javax.xml.transform.TransformerFactory
Selecciona el procesador XSLT. Los valores posibles son:
com.ibm.xtq.xslt.jaxp.compiler.TransformerFactoryImpl
Utiliza el compilador XL TXE-J. Este es el valor predeterminado.
org.apache.xalan.processor.TransformerFactoryImpl
Utiliza el intérprete XSLT4J.
javax.xml.validation.SchemaFactory:http://www.w3.org/2001/XMLSchema
Selecciona la factoría de esquema para el lenguaje de esquema W3C XML. De forma predeterminada, se utiliza org.apache.xerces.jaxp.validation.XMLSchemaFactory de la biblioteca XML4J.
javax.xml.xpath.XPathFactory
Selecciona el procesador XPath. De forma predeterminada, se utiliza org.apache.xpath.jaxp.XPathFactoryImpl de la biblioteca XSLT4J.
Nota: La implementación XML de IBM está en desuso en IBM SDK, Java Technology Edition, Versión 8 y se sustituirá por la implementación XML de Oracle en un release futuro.