Información de referencia XL XP-J

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.

Características no soportadas

Las siguientes características opcionales StAX no están soportadas en XL XP-J:
  • La validación de DTD cuando se utiliza un XMLStreamReader o XMLEventReader. El analizador XL XP-J es sin validación.
  • Cuando se utiliza un XMLStreamReader para leer desde una corriente de caracteres (java.io.Reader), el método Location.getCharaterOffset() siempre devuelve el valor -1. Location.getCharaterOffset() devuelve el desplazamiento de byte de Location cuando se utiliza XMLStreamReader para leer desde una corriente de bytes (java.io.InputStream).

Referencia de XMLInputFactory

La implementación de javax.xml.stream.XMLInputFactory da soporte a las propiedades siguientes, tal como se describe en la información de Javadoc de XMLInputFactory : https://docs.oracle.com/javase/8/docs/api/javax/xml/stream/XMLInputFactory.html.

Nombre de propiedad ¿Está soportada?
javax.xml.stream.isValidating Núm. El explorador XL XP-J no da soporte a la validación.
javax.xml.stream.isNamespaceAware Sí; soporta true y false. En los XMLStreamReader creados desde DOMSource, el proceso de espacios de nombres depende de los métodos que se utilizaron para crear el árbol DOM y este valor no surtirá efecto.
javax.xml.stream.isCoalescing
javax.xml.stream.isReplacingEntityReferences Sí. En los métodos XMLStreamReader creados a partir de DOMSource, si las entidades ya se han sustituido en el árbol DOM, el valor de este parámetro no surte ningún efecto.
javax.xml.stream.isSupportingExternalEntities
javax.xml.stream.supportDTD

Siempre se da soporte a True. Establecer el valor en false sólo funciona si la propiedad del sistema com.ibm.xml.xlxp.support.dtd.compat.mode también se establece en false.

Cuando ambas propiedades se establecen en False, los analizadores creados por la fábrica emiten una excepción XMLStreamException cuando encuentran una referencia de entidad que requiere la expansión. Este valor es útil para la protección frente a ataques de denegación de servicio (DoS) que afectan a entidades declaradas en la DTD.

javax.xml.stream.reporter
javax.xml.stream.resolver

XL XP-J también admite el método opcional createXMLStreamReader(javax.xml.transform.Source), lo que permite que los lectores StAX se creen a partir de fuentes DOM y SAX.

XL XP-J también da soporte a la propiedad javax.xml.stream.isSupportingLocationCoordinates. Si establece esta propiedad en true, los XMLStreamReader creados por la fábrica devuelven una línea precisa, una columna e información de carácter utilizando objetos Location. Si establece esta propiedad en el valor False, la información de línea, de columna y de carácter no estará disponible. De forma predeterminada, esta propiedad se establece en el valor False por razones de rendimiento.

Referencia de XMLStreamReader

La implementación de javax.xml.stream.XMLStreamReader da soporte a las propiedades siguientes, tal como se describe en el Javadoc de XMLStreamReader : https://docs.oracle.com/javase/8/docs/api/javax/xml/stream/XMLStreamReader.html.

Nombre de propiedad ¿Está soportada?
javax.xml.stream.entities
javax.xml.stream.notations

XL XP-J también da soporte a la propiedad javax.xml.stream.isInterning. Esta propiedad devuelve un valor booleano que indica si el analizador ha incluido o no los nombres XML o URI de espacio de nombres. Esta propiedad es de sólo lectura.

Referencia de XMLOutputFactory

La implementación de javax.xml.stream.XMLOutputFactory da soporte a las propiedades siguientes, tal como se describe en el Javadoc de XMLOutputFactory : https://docs.oracle.com/javase/8/docs/api/javax/xml/stream/XMLOutputFactory.html.

Nombre de propiedad ¿Está soportada?
javax.xml.stream.isRepairingNamespaces

XL XP-J también da soporte a la propiedad javax.xml.stream.XMLOutputFactory.recycleWritersOnEndDocument. Si establece esta propiedad en True, los XMLStreamWriter creados por esta fábrica se reciclan cuando se llama a writeEndDocument(). Tras el reciclaje, no deben invocarse algunos métodos XMLStreamWriter, como, por ejemplo, getNamespaceContext(). De forma predeterminada, se reciclan los métodos XMLStreamWriter cuando se invoca a close(). Debe invocar el método XMLStreamWriter.close() cuando haya finalizad con un XMLStreamWriter, aunque esta propiedad tenga el valor true.

Referencia de XMLStreamWriter

La implementación de javax.xml.stream.XMLStreamWriter da soporte a las propiedades siguientes, tal como se describe en el Javadoc de XMLStreamWriter : https://docs.oracle.com/javase/8/docs/api/javax/xml/stream/XMLStreamWriter.html.

Nombre de propiedad ¿Está soportada?
javax.xml.stream.isRepairingNamespaces

Las propiedades de los objetos XMLStreamWriter son de sólo lectura.

XL XP-J también da soporte a la propiedad javax.xml.stream.XMLStreamWriter.isSetPrefixBeforeStartElement. Esta propiedad devuelve un valor Boolean que indica si las llamadas a setPrefix() y setDefaultNamespace() deben llevarse a cabo antes que las llamadas a writeStartElement() o a writeEmptyElement() para colocar un prefijo de espacio de nombres para ese elemento. XL XP-J siempre devuelve el valor false; las llamadas a setPrefix() y a setDefaultNamespace() deben llevarse a cabo después de writeStartElement() o de writeEmptyElement().

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 futuro release.