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
- 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 | Sí |
| 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 | Sí |
| 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 | Sí |
| javax.xml.stream.resolver | Sí |
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 | Sí |
| javax.xml.stream.notations | Sí |
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 | Sí |
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 | Sí |
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().