Utilisation de XML

Le IBM® contient les analyseurs syntaxiques XML4J et XL XP-J, le compilateur XSLT XL TXE-J 1.0 et l'interpréteur XSLT XSLT4J . Ces outils vous permettent d'analyser, de valider, transformer et sérialiser des documents XML indépendamment de toute implémentation de traitement XML donnée.

Utilisez les outils de recherche de fabrique pour localiser les implémentations des classes de fabrique abstraites, comme décrit dans Sélection d'un processeur XML. A l'aide des outils de recherche de fabrique, vous pouvez sélectionner une bibliothèque XML différente sans modifier votre code Java™ .

Bibliothèques XML disponibles

Le SDK IBM contient les bibliothèques XML suivantes:

XML4J 4.5
XML4J est un analyseur syntaxique prenant en charge les normes suivantes :
  • XML 1.0 (Quatrième édition)
  • Espaces de nom dans XML 1.0 (Deuxième édition)
  • XML 1.1 (Deuxième édition)
  • Espaces de nom dans XML 1.1 (Deuxième édition)
  • Schéma W3C XML version 1.0 (Deuxième édition)
  • XInclude 1.0 (Deuxième édition)
  • Catalogues OASIS XML version 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 basé sur Apache Xerces-J 2.9.0. Pour plus d'informations, voir http://xerces.apache.org/xerces2-j/ .

XL XP-J 1.1

XL XP-J 1.1 est un analyseur syntaxique non-validant haute performance prenant en charge StAX 1.0 (JSR 173). StAX est une API bidirectionnelle utilisée pour l'analyse d'extraction et la sérialisation du flux des documents XML 1.0 et XML 1.1. Voir la section Informations de référence XL XP-J pour plus de détails sur les éléments pris en charge par XL XP-J 1.1.

XL TXE-J 1.0

Pour la version 6 et les versions ultérieures, IBM SDK for Java inclut XL TXE-J. XL TXE-J inclut l'interpréteur XSLT4J 2.7.8 et un nouveau compilateur XSLT. Le nouveau compilateur est utilisé par défaut. Le compilateur XSLT4J n'est plus inclus avec IBM SDK for Java. Voir Migration vers XL-TXE-J pour plus d'informations sur la migration vers XL TXE-J.

XL TXE-J prend en charge les normes suivantes :
  • XSLT 1.0
  • XPath 1.0
  • JAXP 1.6

Sélection d'un processeur XML

La sélection d'un processeur XML est effectuée à l'aide de fournisseurs de services. Lorsque vous utilisez un outil de recherche de fabrique, Java recherche dans les emplacements suivants, dans cet ordre, le fournisseur de services à utiliser:
  1. La propriété système ayant le même nom que le fournisseur de services.
  2. Le fournisseur de service spécifié dans un fichier de propriétés.
    • Pour XMLEventFactory, XMLInputFactory et XMLOutputFactory uniquement. La valeur du fournisseur de service dans le fichier suivant :
      • 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
      .
    • Pour les autres fabriques. La valeur du fournisseur de service dans le fichier suivant :
      • 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. Le contenu du fichier META-INF/services/<service.provider>.
  4. Le fournisseur de services par défaut.
Les fournisseurs de services suivants contrôlent les bibliothèques de traitement XML utilisées par Java:
javax.xml.parsers.SAXParserFactory
Sélectionne l'analyseur syntaxique SAX. org.apache.xerces.jaxp.SAXParserFactoryImpl de la bibliothèque XML4J est utilisé par défaut.
javax.xml.parsers.DocumentBuilderFactory
Sélectionne le générateur de documents. org.apache.xerces.jaxp.DocumentBuilderFactoryImpl de la bibliothèque XML4J est utilisé par défaut.
javax.xml.datatype.DatatypeFactory
Sélectionne la fabrique datatype. org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl de la bibliothèque XML4J est utilisé par défaut.
javax.xml.stream.XMLEventFactory
Sélectionne la fabrique d'événements StAX. com.ibm.xml.xlxp.api.stax.XMLEventFactoryImpl de la bibliothèque XL XP-J est utilisé par défaut.
javax.xml.stream.XMLInputFactory
Sélectionne l'analyseur syntaxique StAX. com.ibm.xml.xlxp.api.stax.XMLInputFactoryImpl de la bibliothèque XL XP-J est utilisé par défaut.
javax.xml.stream.XMLOutputFactory
Sélectionne le sérialiseur StAX. com.ibm.xml.xlxp.api.stax.XMLOutputFactoryImpl de la bibliothèque XL XP-J est utilisé par défaut.
javax.xml.transform.TransformerFactory
Sélectionne le processeur XSLT. Les valeurs possibles sont :
com.ibm.xtq.xslt.jaxp.compiler.TransformerFactoryImpl
Utilise le compilateur XL TXE-J. Cette valeur est la valeur par défaut.
org.apache.xalan.processor.TransformerFactoryImpl
Utilise l'interpréteur XSLT4J.
javax.xml.validation.SchemaFactory:http://www.w3.org/2001/XMLSchema
Sélectionne la fabrique de schémas du langage de schéma W3C XML. org.apache.xerces.jaxp.validation.XMLSchemaFactory de la bibliothèque XML4J est utilisé par défaut.
javax.xml.xpath.XPathFactory
Sélectionne le processeur XPath. org.apache.xpath.jaxp.XPathFactoryImpl de la bibliothèque XSLT4J est utilisé par défaut.
Remarque: L'implémentation XML IBM est obsolète dans IBM SDK, Java Technology Edition, Version 8 et sera remplacée par l'implémentation XML Oracle dans une version ultérieure.