Comportements spécifiques aux implémentations XSLT 2.0, XPath 2.0 et XQuery 1.0

Tableau 1. comportements définis par les implémentations.

Le tableau suivant répertorie les comportements de l'API définis par les implémentations XSLT 2.0, XPath 2.0 et XQuery 1.0.

Fonction Description Spécification Code d'erreur Comportement décrit
concordances multiples de preserve-space et strip-space Cette erreur dynamique remédiable se produit quand un élément du document source correspond à la fois à une déclaration xsl:strip-space et xsl:preserve-space. XSLT 2.0

Section 4.4

XTRE0270 Le processeur ne renvoie pas d'erreur et répare l'incident en sélectionnant la déclaration xsl:strip-space ou xsl:preserve-space qui figure en dernier dans l'ordre de la déclaration.
évaluation du modèle Toute erreur dynamique ou erreur de type qui se produit pendant l'évaluation d'un modèle sur un noeud particulier est une erreur remédiable même si elle ne le serait pas dans d'autres circonstances. L'action de reprise facultative consiste à traiter le modèle comme ne concordant pas avec ce noeud. XSLT 2.0

Section 5.5.4

Le processeur ne renvoie pas d'erreur et répare l'incident en traitant le modèle comme ne concordant pas avec ce noeud.
concordances de modèles multiples Cette erreur dynamique remédiable se produit quand l'algorithme de résolution de conflit des règles de modèle laisse plusieurs règles de modèle concordantes. L'action de reprise facultative consiste à sélectionner parmi les règles de modèle concordantes celle qui figure en dernier dans l'ordre de déclaration. XSLT 2.0

Section 6.4

XTRE0540 Le processeur ne renvoie pas d'erreur et répare l'incident en sélectionnant le modèle qui figure en dernier dans l'ordre de la déclaration.
valeur incorrecte pour xml:space Cette erreur dynamique remédiable se produit quand le nom d'un attribut construit est xml:space et que sa valeur n'est ni default ni preserve. L'action de reprise facultative consiste à construire l'attribut avec la valeur demandée. Ceci s'applique dès lors que l'attribut est construit avec un élément de résultat littéral ou avec les instruction sxsl:attribute, xsl:copy ou xsl:copy-of. XSLT 2.0

Section 11.1.2

XTRE0795 Le processeur ne renvoie pas d'erreur et construit l'attribut avec la valeur demandée.
fragment incorrect dans un URI de document Quand une référence d'URI fournie dans la fonction du document contient un identifiant de fragment, il s'agit d'une erreur dynamique remédiable si l'une des conditions suivantes est remplie :
  • Le type de support n'est pas reconnu par le processeur.
  • L'identifiant du fragment ne respecte pas les règles applicables aux identifiants de fragment pour ce type de support.
  • Si l'identifiant de fragment sélectionne autre chose qu'une séquence de noeuds, par exemple s'il sélectionne une plage de caractères dans un noeud de texte.
L'action de reprise facultative consiste à ignorer l'identifiant de fragment et à renvoyer le noeud de document. Notez que l'option de reprise est différente avec XSLT 1.0.
XSLT 2.0

Section 16.1

XTRE1160 Le processeur ignore l'identifiant de fragment et renvoie le noeud de document. Aucun avertissement n'est renvoyé.
ressource identique pour plusieurs résultats Cette erreur dynamique remédiable se produit quand une transformation génère deux arborescences de résultats finaux ou plus avec des URI qui identifient la même ressource physique. L'action de reprise facultative dépend de l'implémentation car le processeur peut ne pas détecter l'erreur. XSLT 2.0

Section 19.1

XTRE1495 Le processeur renvoie une erreur.
lecture et écriture dans la même ressource Cette erreur dynamique remédiable se produit quand une feuille de style écrit des données dans une ressource externe et lit des données depuis la même ressource au cours d'une même transformation, que la même URI soit utilisée ou non pour accéder à la ressource dans les deux cas. L'action de reprise facultative dépend de l'implémentation ; les implémentations ne sont pas toutes obligées de détecter l'erreur. XSLT 2.0

Section 19.1

XTRE1500 Le processeur n'essaie pas de détecter cette erreur.
désactivation de la neutralisation de sortie non prise en charge Cette erreur dynamique remédiable se produit quand une instruction xsl:value-of ou xsl:text spécifie que la neutralisation de la sortie doit être désactivée et que l'implémentation ne prend pas en charge cette option. L'action de reprise facultative consiste à ignorer cet attribut. XSLT 2.0

Section 20.2

XTRE1620 Le processeur ne permet pas de désactiver la neutralisation de la sortie et ignore l'attribut disable-output-escaping sans générer d'avertissement.
désactivation de la neutralisation de sortie non sérialisée Cette erreur dynamique remédiable se produit quand une instruction xsl:value-of ou xsl:text spécifie que la neutralisation de la sortie doit être désactivée lors de l'écriture de données dans une arborescence de résultats finaux qui n'est pas sérialisée. L'action de reprise facultative consiste à ignorer cet attribut. XSLT 2.0

Section 20.2

XTRE1630 Le processeur ne permet pas de désactiver la neutralisation de la sortie et ignore l'attribut disable-output-escaping sans générer d'avertissement.
dépassement de capacité avec des entiers Dans les cas de dépassement de capacité ou de sous utilisation au cours d'opérations arithmétiques avec xs:integer, les implémentations qui prennent en charge les opérations avec des nombres entiers à précision limitée doivent sélectionner l'une des options suivantes :
  • Toujours signaler une erreur (FOAR0002)
  • Fournir un mécanisme défini par l'implémentation qui permet aux utilisateurs de choisir entre signaler une erreur et renvoyer un résultat qui module la plus grande valeur entière pouvant être représentée.
Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 6.2

FOAR0002 Le processeur fournit un mécanisme qui permet de détecter les dépassements de capacité lors des opérations avec nombres entiers via la méthode com.ibm.xml.xapi.XStaticContext.setIntegerMathMode(int). Vous pouvez appeler cette méthode avec les constantes INTEGER_MATH_MODE_OVERFLOW_DETECTION ou INTEGER_MATH_MODE_LIMITED_PRECISION (définies dans l'interface XStaticContext) afin de choisir l'une ou l'autre de ces deux options. Il existe une troisième option, INTEGER_MATH_MODE_ARBITRARY_PRECISION, qui permet d'utiliser des nombres entiers de précision arbitraire.
dépassement de capacité avec des valeurs flottantes doubles Pour les opérations arithmétiques xs:float et xs:double le comportement en cas de dépassement de capacité doit respecter la spécification IEEE 754-1985, qui permet les options suivantes :
  • Signaler une erreur (FOAR0002) à l'aide d'une interception de dépassement de capacité
  • Renvoyer INF ou -INF
  • Renvoyer la plus grande valeur (positive ou négative) non infinie
Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 6.2

  Le processeur renvoie INF ou -INF.
sous-utilisation de capacité avec des valeurs flottantes doubles Pour les opérations arithmétiques xs:float et xs:double le comportement en cas de sous-utilisation de capacité doit respecter la spécification IEEE 754-1985, qui permet les options suivantes :
  • Signaler une erreur (FOAR0002) à l'aide d'une interception de sous-utilisation de capacité
  • Renvoyer INF ou -INF
  • Renvoyer 0.0E0, +/- 2**Emin, ou une valeur dénormalisée dans laquelle Emin est le plus petit exposant xs:float ou xs:double possible.
Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 6.2

  Le processeur renvoie 0.0E0.
utilisation incorrecte de l'attribut doctype-system ou standalone Cette erreur de sérialisation se produit quand vous indiquez le paramètre doctype-system ou le paramètre standalone avec une valeur différente de "omit" si l'instance du modèle de données contient des noeuds de texte ou plusieurs noeuds d'éléments qui sont des enfants du noeud racine. Le processus de sérialisation doit signaler l'erreur ou ignorer la requête de sortie d'une déclaration de type de document ou le paramètre standalone. SR

Section 5

SEPM0004 Le processeur renvoie une erreur de sérialisation.
codage de sortie XML incorrect Une erreur de sérialisation se produit si la méthode de sortie est XML et qu'un codage de sortie autre que UTF-8 ou UTF-16 est demandé quand le programme de sérialisation ne prend pas en charge ce codage. Le programme de sérialisation doit renvoyer l'erreur (SESU0007) ou la corriger en utilisant le codage UTF-8 ou UTF-16 à la place. SR

Section 5.1.2

SESU0007 Le processeur renvoie une erreur de sérialisation.
erreur ou reprise Certaines erreurs dynamiques sont classées comme des erreurs remédiables. Quand une erreur remédiable se produit, le processeur peut la signaler (en faisant état de cette erreur et en arrêtant l'exécution) ou accomplir une action de reprise définie et poursuivre le traitement. XSLT 2.0

Section 2.9

Le processeur peut corriger de nombreuses erreurs remédiables mais signale une erreur dans certains cas. Consultez le tableau suivant pour déterminer le comportement défini par l'implémentation pour chaque type d'erreur remédiable.
signalement statique des erreurs de type Le signalement statique ou non des erreurs de type est défini par l'implémentation. XSLT 2.0

Section 2.9

Le processeur détecte les erreurs de type statiquement si possible. Toutefois, dans certains cas, l'erreur n'est pas détectable au moment de la compilation. Dans ces situations, l'erreur est détectée au moment de l'exécution.
gestion des erreurs de sérialisation Le mode de gestion des erreurs de sérialisation est défini par l'implémentation. XSLT 2.0

Section 20

Les messages d'erreur sont adressés à une implémentation de com.ibm.xml.xapi.XMessageHandler enregistrée au moyen de la méthode setXMessageHandler dans l'interface com.ibm.xml.xapi.XDynamicContext
URI de sortie de base La manière dont une URI de sortie de base est créée est définie par l'implémentation. XSLT 2.0

Section 2.3

L'utilisateur peut définir l'URI de sortie de base avec la méthode setBaseOutputURI dans l'interface com.ibm.xml.xapi.XDynamicContext.
attributs d'extension Les différentes implémentations peuvent permettre à des attributs d'extension de modifier le comportement des instructions et des fonctions d'extension ou d'influencer le comportement des méthodes de sérialisation xml, xhtml, html ou text de telle sorte que ce comportement soit défini par ou dépendant de l'implémentation. XSLT 2.0

Section 3.3

Le processeur reconnaît dans les déclarations xsl:output l'attribut indent-amount qui spécifie le nombre d'espaces utilisés pour chaque niveau de retrait lorsque le retrait est utilisé. L'attribut doit provenir de l'un des espaces de noms suivants :
  • http://www.ibm.com/xmlns/prod/xltxe-j
  • http://xml.apache.org/xalan
  • http://xml.apache.org/xslt
Voir les paramètres de sérialisation supplémentaires figurant plus loin dans ce tableau.
données élémentaires définies par l'utilisateur Une implémentation doit associer une signification définie aux données élémentaires qui apparaissent dans certains espaces de noms. Les espaces de noms qui sont reconnus pour ces données élémentaires sont définis par l'implémentation. XSLT 2.0

Section 3.6.2

Le processeur ne reconnaît pas les données élémentaires définies par l'utilisateur.
types définis par l'utilisateur La prise en charge des types définis par l'utilisateur ou par l'implémentation est définie par l'implémentation. modèle de données XPath 2.0

Section 2.6

Un processeur fonctionnant avec un schéma est pris en charge.
comportement de type non défini Certaines des valeurs figurant dans le modèle de données ne sont pas définies. Chaque tentative d'accès à une propriété non définie aboutit à une erreur. Dans ces situations, le comportement est défini par l'implémentation et le langage du système hôte détermine le résultat. modèle de données XPath 2.0

Section 2.5.2, alinéa 4.d

FOTY0012 Le processeur a renvoyé une erreur. Les messages d'erreur sont adressés à une implémentation com.ibm.xml.xapi.XMessageHandler enregistrée au moyen de la méthode setXMessageHandler dans l'interface com.ibm.xml.xapi.XDynamicContext
représentation des noeuds de l'espace de noms La représentation des espaces de noms, c'est-à-dire s'ils se présentent ou non sous forme de noeuds, dépend de l'implémentation. modèle de données XPath 2.0

Section 6.4

L'axe de l'espace de noms est pris en charge.
localiser le module de feuille de style Une fois l'URI de base résolu, la manière dont la référence d'URI de l'attribut href d'une déclaration xsl:include ou xsl:import est utilisée pour localiser la représentation d'un module de feuille de style et la manière dont ce module est construit d'après la représentation sont définies par l'implémentation. En particulier l'implémentation détermine les schémas d'URI pris en charge, si les identifiants de fragment sont pris en charge et quels types de supports sont pris en charge. XSLT 2.0

Section 3.10.1

L'utilisateur peut fournir une implémentation de com.ibm.xml.xapi.XSourceResolver par le biais de la méthode com.ibm.xml.xapi.XStaticContext. setSourceResolver(XSourceResolver). Le processeur utilise l'objet XSourceResolver pour résoudre les URI issus des déclarations xsl:include et xsl:import (l'utilisateur peut donc décider quels URI doivent être pris en charge) et sa méthodegetSource(String, String) doit renvoyer un objet JAXP Source.

En l'absence d'argument pour XSourceResolver, le processeur gère le schéma des URI de fichier et ceux pris en charge par la méthode java.net.URL.openConnection(). Vous pouvez utiliser un fragment d'URI pour sélectionner un module de feuille de style imbriqué dans un document XML source. Le fragment doit identifier un élément xsl:stylesheet dans le document en utilisant la valeur de l'un de ses attributs, c'est-à-dire un attribut xml:id, ou être défini dans un fichier DTD comme étant de type ID, ou être défini dans un schéma comme étant de type xs:ID. Il n'existe pas de prise en charge intégrée pour les types de supports non XML mais vous pouvez utiliser une implémentation de XSourceResolver pour fournir au processeur une représentation XML de données non XML.

fonctions d'extension Fonctions d'extension

La spécification XSLT 2.0 définit comment appeler les fonctions et les instructions d'extension mais les fonctions qui permettent de créer de nouvelles fonctions et instructions d'extension sont définies par l'implémentation.

XSLT 2.0

Section 18.1

Les fonctions d'extension sont prises en charge via les méthodes XStaticContext.declareFunction et XDynamicContext.bindFunction du processeur. De plus, il est également possible de déclarer des fonctions d'extension directement dans une feuille de style ou une requête. Les anciennes méthodes des fonctions d'extension prises en charge dans l'analyseur syntaxique et le processeur sont également prises en charge pour la compatibilité amont. Toutefois, seuls les types de la version 1.0 sont pris en charge avec l'ancienne méthode. Pour plus d'informations, reportez-vous à la documentation de l'API. Il est recommandé de déclarer les fonctions d'extension directement dans votre feuille de style ou via l'API pour les fonctions d'extension lorsque cela est possible au lieu d'utiliser l'ancien style.
instructions d'extension Instructions d'extension

La spécification XSLT 2.0 définit comment appeler les fonctions et les instructions d'extension mais les fonctions qui permettent de créer de nouvelles fonctions et instructions d'extension sont définies par l'implémentation.

XSLT 2.0

Section 18.2

XTDE1450 Les instructions d'extension définies par l'utilisateur ne sont pas prises en charge. Les instructions d'extension doivent être protégées par une instruction de secours, sans quoi il sera impossible de compiler la feuille de style. L'extension de redirection est prise en charge pour la compatibilité amont. Toutefois, il est conseillé d'utiliser l'instruction XSLT 2.0 xsl:result-document car elle est davantage portable.
compatibilité amont L'implémentation définit si une implémentation XSLT 2.0 donnée prend en charge un comportement compatible en amont. XSLT 2.0

Section 3.8

La fonction de compatibilité amont décrite dans la spécification XSLT 2.0 est prise en charge.
classements par portée pour use-when Classements par portée pour les expressions use-when XSLT 2.0

Section 3.12

Le seul attribut collation (classement) disponible durant l'évaluation d'un use-when est le point de code Unicode.
heure en cours et date du jour pour use-when Current date and time for use-when expressions XSLT 2.0

Section 3.12

L'heure en cours et la date du jour sont celles du système, telles qu'elles sont obtenues par un appel à la méthode java.util.GregorianCalendar getInstance().
fuseau horaire implicite pour use-when Fuseau horaire implicite pour les expressions use-when XSLT 2.0

Section 3.12

Le fuseau horaire implicite est celui du système, tel qu'il est obtenu par un appel à la méthode java.util.TimeZone getDefault().
nombre maximal de chiffres décimaux Le nombre maximum de chiffres figurant dans les nombres décimaux est défini par l'implémentation mais doit être au minimum de 18 chiffres. XSLT 2.0

Section 4.6

L'implémentation utilise la classe java.math.BigDecimal qui autorise une précision quasi-illimitée. Toutefois, le nombre de chiffres situés à la droite du séparateur décimal est limité par la variable Integer.MAX_VALUE. La troncature n'est requise que dans le cas d'une division, pour lequel les décimales infinies sont admises. La précision de la partie décimale du résultat est limitée à 18 chiffres. Le mode d'arrondi dans ce cas est ROUND_HALF_UP, où les valeurs décimales supérieures ou égales à 0,5 sont arrondies à la valeur supérieure tandis que les autres sont arrondies à la valeur inférieure.
valeurs du composant année Pour les types xs:date, xs:time, xs:dateTime, xs:gYear et xs:gYearMonth, la plage de valeurs du composant année (qui peut varier de +0001 à+9999) et le nombre maximum de valeurs décimales (au minimum 3) sont définis par l'implémentation. XSLT 2.0

Section 4.6

Le composant année des types xs:date, xs:dateTime, xs:gYear et xs:gYearMonth est situé dans l'intervalle -(10^9-1) à (10^9)-1. Le nombre maximum de valeurs décimales pris en charge pour les types xs:time et xs:dateTime est égal à 3.
durée Pour le type xs:duration, les valeurs absolues maximales des composants année, mois, jour, heure, minute et seconde sont définies par l'implémentation. XSLT 2.0

Section 4.6

Les valeurs absolues maximales pour les composants de durée sont les suivantes :
  • année : 178956970
  • mois : 2147483647
  • jour : 106751991167
  • heure : 2562047788015
  • minute : 153722867280912
  • seconde : 9223372036854775
Les millisecondes peuvent avoir jusqu'à trois unités de précision.
durée des mois de l'année Pour le type xdt:yearMonthDuration, la valeur absolue maximale est exprimée sous la forme d'un nombre entier de mois. XSLT 2.0

Section 4.6

La valeur absolue maximale du type xs:yearMonthDuration est de 2147483647 mois.
durée de la journée Pour le type xdt:dayTimeDuration, la valeur absolue maximale est exprimée sous la forme d'un nombre décimal de secondes. XSLT 2.0

Section 4.6

La valeur absolue maximale du type xs:dayTimeDuration est de 9223372036854775 secondes.
longueur maximale de la valeur Pour les types xs:string, xs:hexBinary, xs:base64Binary, xs:QName, xs:anyURI, xs:NOTATION et pour les types qui en sont dérivés, la longueur maximale de la valeur est définie par l'implémentation. XSLT 2.0

Section 4.6

La longueur maximale théorique est égale à 2^31 - 1. Toutefois, le système risque de manquer de mémoire bien avant cette limite.
longueur de séquence Nombre maximum d'éléments dans une séquence XSLT 2.0

Section 4.6

Le nombre maximal théorique est égal à 2^31 - 1. Toutefois, le système risque de manquer de mémoire bien avant cette limite.
classements connus statiquement Ensemble de classements par portée XSLT 2.0

Section 5.4.1

XPath 2.0

Section 2.1.1

XQuery 1.0

Section 2.1.1

Tous les URI sont considérés comme faisant partie de l'ensemble de classements par portée. Tout URI utilisé comme URI de classement doit être associé à un assembleur Java™ au moment de l'exécution.
fuseau horaire implicite Fuseau horaire implicite XSLT 2.0

Section 5.4.3.2

XPath 2.0

Section 2.1.2

XQuery 1.0

Section 2.1.2

Le fuseau horaire implicite peut être défini dans le processeur à l'aide de la méthode XDynamicContext.setImplicitTimeZone(Duration). Si le fuseau horaire implicite est indéfini, le fuseau horaire du système est récupéré par la méthode java.util.TimeZone.getDefault() pour être utilisé.
collection par défaut Collection par défaut

Cette séquence de noeuds est obtenue si l'on appelle la fonction fn:collection sans arguments. La valeur de la collection par défaut peut être définie par l'implémentation.

XSLT 2.0

XPath 2.0

Section 2.1.2

FODC0004 La collection par défaut est déterminée par l'élément XCollectionResolver enregistré dans l'élément XDynamicContext. Si l'élément XCollectionResolver n'est pas enregistré, une erreur est renvoyée et la séquence vide est utilisée. Pour plus d'informations sur l'interface de XCollectionResolver, reportez-vous à la documentation de l'API.
paramètre de feuille de style Permet de fournir une valeur de paramètre de feuille de style lors de l'exécution d'une transformation.

Un élément xsl:param de haut niveau déclare un paramètre de feuille de style. Un paramètre de feuille de style est une variable globale dont la valeur peut être fournie par le programme appelant quand une transformation est initialisée.

XSLT 2.0

Section 9.5

Si la valeur d'un paramètre est liée dans l'élément XDynamicContext, cette valeur est appliquée. Sinon, la valeur appliquée est la valeur par défaut définie pour le paramètre dans la feuille de style.

Pour associer des valeurs à des paramètres, utilisez les méthodes XDynamicContext.bind().

mécanisme de remplacement des fonctions de feuille de style Permet de remplacer une fonction de feuille de style par une fonction fournie par l'implémentation. Dépend de l'élément xsl:function.

Cet attribut de remplacement facultatif détermine ce qui se produit quand une fonction a le même nom qu'une fonction fournie par l'implémentation ou disponible dans le contexte statique. Si l'attribut de remplacement (override) a la valeur "yes", cette dernière fonction est utilisée en priorité. Si sa valeur est "no", la première fonction est utilisée en priorité. La valeur par défaut est "yes". Si vous indiquez override="yes", vous obtenez un comportement cohérent, qui exécutera le même code, dans tous les processeurs. Vous pouvez indiquer override="no" quand vous développez une implémentation de secours d'une fonction disponible pour certains processeurs mais pas d'autres. Cela permet à l'implémentation du fournisseur de la fonction (ou l'implémentation d'un utilisateur développée comme fonction d'extension) d'être utilisée en priorité au lieu de celle de la feuille de style.

XSLT 2.0

Section 10.3

Si l'attribut override a la valeur "yes", les fonctions de la feuille de style peuvent remplacer les éléments suivants :
  • fonctions d'extension déclarées dans XStaticContext à l'aide des méthodes XStaticContext.declareFunction() et liées dans XDynamicContext à l'aide des méthodes XDynamicContext.bindFunction()
  • anciennes fonctions d'extension prises en charge dans XSLT4J et XL TXE-J 1.0

    Pour plus d'informations, voir Utilisation des fonctions d'extension.

  • fonctions d'extension XSLT implémentées par le processeur

Les fonctions de feuille de style ne peuvent pas servir à remplacer les fonctions centrales définies dans la spécification XSLT 2.0 ou la spécification des fonctions et opérateurs XQuery 1.0 et XPath 2.0.

normaliser l'ID XML copié Quand un attribut xml:id est copié à l'aide de l'instruction xsl:copy ou xsl:copy-of, l'implémentation définit si la valeur de l'attribut doit être normalisée ou non, c'est-à-dire s'il faut appliquer la fonction normalize-space de la spécification des fonctions et opérateurs XQuery 1.0 et XPath 2.0. XSLT 2.0

Section 11.9

Ni xsl:copy, ni xsl:copy-of n'appliquent la fonction normalize-space sur les attributs xml:id. C'est pourquoi tous les blancs sont conservés.
séquences de numérotation prises en charge Séquences de numérotation prises en charge

L'implémentation définit les séquences de numérotation qui sont prises en charge en plus de celles qui sont précédemment détaillées. Si une implémentation ne prend pas en charge une séquence de numérotation utilisée par un jeton, elle utilisera un jeton de format 1.

XSLT 2.0

Section 12.3

Le processeur prend en charge uniquement les séquences de numérotation standard.
limites des plages de valeurs Limites supérieure et inférieure des plages de valeurs

Pour les séquences de numérotation standard, la limite supérieure imposée par l'implémentation ne doit pas être inférieure à 1000 (mille) et la limite inférieure ne doit pas être supérieure à 1. Les nombres situés en dehors de cette plage doivent être mis en forme avec le jeton de format 1. La séquence de numérotation associée au jeton de format 1 a une limite inférieure égale à 0 (zéro).

XSLT 2.0

Section 12.3

  • Valeurs de l'alphabet : précision arbitraire dans le mode de précision arbitraire des entiers, sinon 0 à 2^63 - 1.
  • Valeurs numériques : précision arbitraire dans le mode de précision arbitraire des entiers, sinon 0 à 2^63 - 1.
  • Chiffres romains : 0 à 9999
  • Nombre de mots : 0 à 19999
langue par défaut pour la numérotation Langue par défaut utilisée pour la numérotation

L'attribut lang indique les conventions linguistiques à utiliser. Sa plage de valeurs est la même que pour xml:lang (voir la spécification XML 1.0). Si vous ne définissez pas l'attribut lang, la langue utilisée est définie par l'implémentation.

Les langues pouvant être prises en charge pour la numérotation sont définies par l'implémentation. Si une langue demandée n'est pas prise en charge, le processeur utilise la langue qu'il utiliserait en l'absence de l'attribut lang.

XSLT 2.0

Section 12.3

La langue par défaut utilisée pour mettre en forme des valeurs numériques est toujours l'anglais américain (en-US).
langues pour la numérotation Langues utilisées pour la numérotation

De nombreuses séquences de numérotation varient selon la langue utilisée.

XSLT 2.0

Section 12.3

Les langues prises en charge reposent sur le système International Component Unicode (ICU) et sur les langues de la machine virtuelle Java (JVM) .
combinaisons pour la numérotation Combinaisons des valeurs du jeton de format, de la langue et de l'attribut ordinal pour la numérotation XSLT 2.0

Section 12.3

Le processeur prend en charge uniquement la valeur ordinale "yes". Toutes les autres valeurs affectées à cet attribut ordinal sont ignorée comme s'il n'était pas spécifié.
type de données pour le tri Effet de l'attribut data-type pour xsl:sort

Si cet attribut contient le texte de la valeur, les valeurs des clés de tri atomisées sont converties en chaînes puis sont comparées. Si cet attribut contient la valeur numérique, les valeurs des clés de tri atomisées sont converties en doublons puis sont comparées. La conversion s'opère avec la fonction string-FO ou number-FO selon le cas. Si l'attribut data-type a une autre valeur, il peut s'agir d'un nom QName lexical avec un préfixe non vide et l'effet de l'attribut est alors défini par l'implémentation.

XSLT 2.0

Section 13.1.2

Les valeurs prises en charge pour l'attribut data-type sont "text" et "number". Pour toute autre valeur valide, un message d'avertissement est généré et l'attribut data-type est ignoré.
URI de classement Manière dont l'URI est associé à un algorithme ou une règle de classement (collation).

Les attributs lang et case-order sont ignorés si l'attribut collation est défini. En l'absence de cet attribut collation, ces attributs sont utilisés comme entrée d'un algorithme défini par l'implémentation pour rechercher un classement approprié.

Les fonctionnalités de XSLT 2.0 et XPath 2.0 qui demandent des chaînes triées reposent sur le principe d'un classement nommé. Un classement est un ensemble de règles qui déterminent si deux chaînes sont identiques et, dans la négative, laquelle doit être triée avant l'autre. Un classement est identifié par un URI mais la manière dont cet URI est associé à une règle ou un algorithme est définie par l'implémentation.

XSLT 2.0

Section 13.1.3

Les URI de classement sont associés à un assembleur Java via l'une des méthodes XDynamicContext.bindCollation de l'API.
lang et case-order déterminent le classement Indique quel attribut entre lang et case-order détermine un algorithme de classement utilisé pour le tri. XSLT 2.0

Section 13.1.3

Le processeur récupère une variable d'environnement local sur la base de la valeur de l'attribut lang. Il crée ensuite un assembleur Java à l'aide de la méthode java.text.Collator.getInstance(Locale). La méthode de comparaison de l'assembleur est remplacée par une autre pour gérer l'attribut case-order si vous le spécifiez. If the lang attribute was not specified, the processor proceeds as previous using the default locale returned by the Java method Locale.getDefault().
classement par défaut pour le tri Classement par défaut pour le tri

Si aucun des attributs collation, lang ou case-order n'est spécifié dans xsl:sort, le choix du classement est défini par l'implémentation. Il n'est pas obligatoire que le classement par défaut utilisé pour le tri soit identique au classement par défaut utilisé pour évaluer les expressions XPath. (Voir Section 5.4.1 : Initialisation du contexte statique et Section 3.6.1 : Attribut default-collation)

XSLT 2.0

Section 13.1.3

The processor uses the default locale returned by the Java method Locale.getDefault() to create a Java collator using the java.text.Collator.getInstance(Locale) method.
types de supports reconnus Types de supports reconnus par un processeur XSLT 2.0

Section 16.1

Le processeur prend exclusivement en charge les fichiers XML.
image alternative pour la mise en forme des dates Représentation alternative pour les chaînes d'images dans les fonctions de mise en forme des dates. Jeton de format n, N, ou Nn, qui indique que la valeur du composant doit s'afficher avec son nom, respectivement en minuscules, en majuscules ou en format titre.

Les composants pouvant s'afficher par leur nom comprennent notamment les mois, les jours de la semaine, les fuseaux horaires et les ères. Si le processeur ne peut pas afficher ces composants par leur nom pour le calendrier et la langue choisis, il doit utiliser une représentation alternative définie par l'implémentation.

XSLT 2.0

Section 16.5.1

Le processeur affichera [Calendar: AD] comme représentation alternative.
données prises en charge dans les fonctions de mise en forme des dates Il s'agit des langues, des calendriers et des pays qui sont pris en charge dans les fonctions de mise en forme des dates. XSLT 2.0

Section 16.5.2, Paragraphe 1

  • Calendriers pris en charge : AD, ISO, BE
  • Langues et environnements locaux pris en charge : ceux renvoyés par la méthode java.util.Locale.getAvailableLocales()
valeurs par défaut des fonctions de mise en forme des dates Il s'agit de la langue, du calendrier et du pays utilisés par défaut dans les fonctions de mise en forme des dates quand les arguments correspondants sont absents ou vides. XSLT 2.0

Section 16.5.2, Paragraphe 1

  • Calendrier par défaut : AD
  • Langues et environnements locaux par défaut : ceux renvoyés par la méthode java.util.Locale.getDefault()
langue par défaut des fonctions de mise en forme des dates Il s'agit de la langue par défaut utilisée dans les fonctions de mise en forme des dates.

Si l'attribut lang est absent, vide, ou contient une valeur incorrecte ou non reconnue par l'implémentation, le processeur utilise une langue définie par l'implémentation.

XSLT 2.0

Section 16.5.2, Paragraphe 4

Voir Valeurs par défaut des fonctions de mise en forme des dates
abréviation des noms dans la langue des fonctions de mise en forme des dates Noms et abréviations utilisés dans les fonctions de mise en forme des dates. XSLT 2.0

Section 16.5.2, Paragraphe 7

Le site Web d'International Components for Unicode (ICU) contient un utilitaire nommé Locale Explorer qui propose des liens vers des tables pour chaque environnement local pris en charge. Pour nommer les jours de la semaine et les mois de l'année, le processeur utilise les noms abrégés et les noms complets figurant dans ces tables.
comportement du calendrier dans les fonctions de mise en forme des dates Comportement du calendrier dans les fonctions de mise en forme des dates. XSLT 2.0

Section 16.5.2, Paragraphe 10

Le processeur ne prend pas en charge les calendriers dont l'URI d'espace de nom est différent de zéro. Si le QName fourni est assorti d'un préfixe, le calendrier AD est utilisé.
calendrier par défaut des fonctions de mise en forme des dates Il s'agit du calendrier par défaut utilisé dans les fonctions de mise en forme des dates. XSLT 2.0

Section 16.5.2, Paragraphe 11

Voir Valeurs par défaut des fonctions de mise en forme des dates
calendriers pris en charge dans les fonctions de mise en forme des dates Calendriers pris en charge dans les fonctions de mise en forme des dates. XSLT 2.0

Section 16.5.2, premier paragraphe après le tableau des calendriers

Voir Données prises en charge dans les fonctions de mise en forme des dates
valeurs des propriétés système Valeurs renvoyées par les propriétés système XSLT 2.0

Section 16.5.5, Deuxième paragraphe après la liste à puces

Les valeurs des propriétés système sont les suivantes :
  • xsl:version = 2.0
  • xsl:vendor = IBM® Corporation
  • xsl:vendor-url = http://www.ibm.com/
  • xsl:product-name = XL Transform and Query Engine for Java
  • xsl:product-version = 2.0
  • xsl:is-schema-aware = yes
  • xsl:supports-serialization = yes
  • xsl:supports-backwards-compatibility = yes
  • xsl:supports-namespace-axis = yes
propriétés système Ensemble des propriétés système XSLT 2.0

Section 16.6.5 et Erratum XT.E14

Le processeur prend en charge ce qui suit :
  • Toutes les propriétés système définies dans la section 16.6.5 de la spécification XSLT 2.0
  • Nouvelle propriété facultative xsl:supports-namespace-axis définie par XSLT Erratum XT.E14
xslmessage Manière dont une instruction xsl:message envoie un message XSLT 2.0

Section 17, Paragraphe 1

D'après la section 17 de la spécification XSLT 2.0, l'instruction xsl:message envoie un message selon une méthode définie par l'implémentation à une destination également définie par l'implémentation. Le processeur utilise la valeur de chaîne du noeud de document créé par l'instruction xsl:message comme message.

Si l'utilisateur n'a pas fourni une instance de com.ibm.xml.xapi.XMessageHandler dans com.ibm.xml.xapi.XDynamicContext pour la transformation, le message est écrit dans le flux de sortie System.err. Si la valeur de l'attribut terminate est "yes", la transformation génère une exception. Si l'utilisateur a fourni une instance de com.ibm.xml.xapi.XMessageHandler, le message est communiqué à la méthode report() de ce message. Pour plus d'informations, reportez-vous à la documentation de l'API.

destination de xsl:message Destination de sortie des documents créés par une instruction xsl:message XSLT 2.0

Section 17, Paragraphe 1

Voir xsl:message.
gestion des erreurs dans les fonctions ext Conséquences d'une erreur d'une fonction d'extension qui renvoie une chaîne contenant des caractères non XML. XSLT 2.0

Section 18.1.2, paragraphe suivant la troisième remarque

La section 18.1.2 de la spécification XSLT 2.0 autorise plusieurs comportements quand une fonction d'extension renvoie une chaîne qui contient des caractères non autorisés en XML. Ces comportements permettent le cas échéant de traiter ces chaînes comme si elles étaient valides. Il s'agit du comportement que le processeur implémente.
objets externes Manière dont les objets externes sont représentés dans le système type. XSLT 2.0

Section 18.1.3, Paragraphe 2

Les objets de données dont les valeurs sont d'un autre type que les types intégrés décrits dans Mappage des types XML aux types Java ne sont pas pris en charge.
livraison de l'arborescence de résultats finale Manière dont l'arborescence de résultats finale est communiquée à une application. XSLT 2.0

Section 19, Paragraphe 3

Comme décrit dans la section 19.1 de la spécification XSLT 2.0, une implémentation peut autoriser la sérialisation d'une arborescence de résultats finale ou fournir d'autres mécanismes pour traiter ces résultats.
Dans le processeur, une arborescence de résultat finale peut être sérialisée ou transmise à une application sous la forme d'un objet java.xml.transform.Result ou com.ibm.xml.xapi.XSequenceCursor. Si l'URI d'une arborescence de résultats finale est différente de l'URI de sortie de base, et que :
  • l'utilisateur a fourni un objet com.ibm.xml.xapi.XResultResolver dans l'élément com.ibm.xml.xapi.XDynamicContext, l'arborescence de résultats est transmise à l'application sous la forme d'un objet javax.xml.transform.Result renvoyé par la méthode com.ibm.xml.xapi.XResultResolver.getResult().
  • sinon, l'arborescence de résultats est sérialisée à l'emplacement spécifié par l'URI avec la méthode java.net.URL.openConnection().

    Une arborescence de résultats finale dont l'URI est identique à l'URI de sortie de base est transmise à l'application avec n'importe quel objet javax.xml.transform.Result spécifié dans la méthode com.ibm.xml.xapi.XExecutable.execute utilisée pour appeler la transformation, ou sous la forme d'un objet com.ibm.xml.xapi.XSequenceCursor renvoyé par la méthode com.ibm.xml.xapi.XExecutable.execute() si la signature de cette méthode ne contient aucun argument javax.xml.transform.Result.

    Si l'arborescence de résultats est communiquée sous la forme d'un objet javax.xml.transform.stream.StreamResult, elle est sérialisée à l'emplacement spécifié par StreamResult. Si elle est délivrée comme instance d'une autre sous-classe de Result ou comme objet XSequenceCursor, l'arborescence de résultats est transmise sous une forme appropriée à cette API.

    Pour plus d'informations, reportez-vous à la documentation de l'API.

restrictions applicable à l'URI Restrictions applicables au format des URI absolus utilisés dans un attribut href. XSLT 2.0

Section 19.1, troisième paragraphe après la deuxième remarque

Comme décrit dans la section 19.1 de la spécification XSLT 2.0, une implémentation peut imposer des limites définies par elle-même à un URI absolu qui constitue la valeur d'un attribut href dans une instruction xsl:result-document. Au niveau du processeur :
  • Si l'utilisateur spécifie un objet com.ibm.xml.xapi.XResultResolver dans l'élément com.ibm.xml.xapi.XDynamicContext dans lequel la feuille de style est évaluée, il n'existe pas de limite applicables au format d'un URI absolu de ce type.
  • Si l'utilisateur ne fournit pas d'objet XResultResolver, si l'attribut href figure dans un URI absolu qui :
    • utilise le protocole de fichier, l'utilisateur doit avoir le droit d'ouvrir un flux de sortie avec ce fichier.
    • utilise un autre protocole, l'utilisateur doit avoir le droit de créer un flux de sortie avec l'URI et la nouvelle fonction Java équivalente, java.net.URL(href).openConnection().getOutputStream().
emplacement de l'arborescence de résultats finale Emplacement où l'arborescence de résultats finale est sérialisée. XSLT 2.0

Section 2.3, voir URI de sortie de base

Par défaut, les URI d'arborescence de résultats finale sont interprétés par rapport à l'URI de base du document de sortie principal. Si vous désirez un autre emplacement, vous pouvez enregistrer une implémentation de XResultResolver dans le contexte dynamique afin de mettre en oeuvre des comportements définis par l'utilisateur. Utilisez la méthode XDynamicContext.setResultResolver() pour enregistrer l'implémentation de XResultResolver. Vous pouvez aussi changer l'URI de base utilisé en appelant la méthode XDynamicContext.setBaseOutputURI().
codage de sortie par défaut Valeur par défaut de l'attribut encoding dans xsl:output. XSLT 2.0

Section 20

Le système de codage par défaut de la sortie est UTF-8.
byte-order-mark pour UTF-8 Marque d'ordre d'octet pour UTF-8 XSLT 2.0

Section 20

La valeur par défaut est "no", ce qui signifie qu'aucune marque d'ordre d'octet n'est générée au début des fichiers UTF-8.
autre forme de normalisation Autre forme de normalisation pour la sérialisation. Sérialisation dans XSLT 2.0 et XQuery 1.0

Section 19.1

Section 20

Section 5.1.8

L'implémentation ne définit aucun format de normalisation.
version de la sortie Valeur par défaut et autorisée pour l'attribut version dans xsl:output XSLT 2.0

Section 20

La valeur par défaut pour XML ou XHTML est 1.0. L'utilisateur peut explicitement indiquer 1.0 ou 1.1. Pour HTML, la valeur par défaut est 4.0.
typage statique dans les feuilles de style Interaction entre les feuilles de styles XSLT 2.0 et la fonction de typage statique de XPath 2.0 XSLT 2.0 et XPath 2.0

XSLT 2.0 Section 21

XPath 2.0, Section F.1

Ce processeur XSLT ne possède actuellement aucun mécanisme lui permettant de demander à ses expressions XPath d'exécuter un typage statique.
types intégrés Définitions des types disponibles dans une feuille de style XSLT 2.0

Section 3.13

Le processeur a connaissance des schémas comme le décrit la section 3.13 de la spécification XSLT 2.0.
espace de nom pour les autres codes d'erreur Espace de noms utilisé si d'autres QName d'erreur sont définis par l'implémentation. XSLT 2.0

Section 2.9

Le cas échéant, le processeur n'inclut pas le ou les codes d'erreur spécifiés dans le texte de ses messages entre crochets. D'autres erreurs sont habituellement exprimées de la même manière mais sans préfixe de spécification dans l'identifiant d'erreur.

Les cas d'erreur ne sont pas présentés sous la forme d'un QName. Les applications qui veulent répondre aux erreurs à l'aide d'un programme doivent analyser la syntaxe des identifiants d'erreur qui figurent en tête des chaînes des messages d'erreur.

codage de texte non analysé Mécanisme qui permet de déterminer le codage d'une source externe. XSLT 2.0

Section 16.2

Le processeur n'implémente pas d'heuristique supplémentaire. La résolution du codage passe immédiatement à l'étape 5 et le système UTF-8 est utilisé par défaut.
documents disponibles Mécanisme qui permet d'obtenir un noeud de document et un type de support en fournissant un URI absolu. XSLT 2.0

Section 2.3

Section 16.1

Le mode de résolution par défaut pour les documents source chargés avec la fonction XPath fn:doc consiste à convertir les URI relatifs en fonction de l'URI de base issu du contexte statique. Si cet URI de base est indisponible, le répertoire de travail en cours est utilisé. Les URI absolus sont utilisés tels quels. Le mode de résolution par défaut pour les documents source chargés avec la fonction de document XSLT est décrit dans la spécification XSLT 2.0 Documents de sources multiples. Si l'URI de base est indisponible, le répertoire de travail en cours est utilisé. Si l'application a besoin de limiter ou d'étendre ces comportements, il est possible d'ajouter une implémentation de l'objet XSourceResolver dans l'élément XDynamicContext via la méthode setSourceResolver().
autres méthodes de sortie Prise en charge d'une méthode de sortie définie par l'implémentation Sérialisation XSLT 2.0 et XQuery 1.0

Section 3

Le processeur n'implémente pas de méthodes de sortie supplémentaires.
autres paramètres de sérialisation Effets des paramètres de sérialisation supplémentaires sur la sortie du processus de sérialisation Sérialisation XSLT 2.0 et XQuery 1.0

Section 3

XSLT 2.0, Section 20

Le processeur implémente les paramètres de sérialisation supplémentaire suivants :
  • INDENT AMOUNT:

    Indique le nombre d'espaces à utiliser quand le paramètre de sérialisation de retrait est activé. Utilisez la méthode XOutputParameters.setIndentAmount() ou spécifiez le paramètre xalan:indent-amount dans l'élément xsl:output d'une feuille de style XSL à l'aide de l'attribut indent-amount.

  • BC MODE:

    Active le mode compatibilité amont pour le programme de sérialisation. Si vous activez ce mode sans spécifier de méthode de sortie, XML est utilisé par défaut. Si vous le désactivez, les règles de la spécification XSLT 2.0 sont appliquées quand aucune méthode de sortie n'est spécifiée. Utilisez la méthode XOutputParameters.setBackwardsCompatible() pour l'activer. Pour les feuilles de style XSL antérieures à la version 2.0, le mode compatibilité amont est activé par défaut.

autres formats de normalisation Prise en charge des autres formats de normalisation Unicode Sérialisation XSLT 2.0 et XQuery 1.0

Section 5.1.8

L'implémentation ne définit aucun format de normalisation.
option pendant la phase de codage Effet d'une option qui permet d'ignorer la phase de codage afin que la sérialisation génère un flux de caractères Unicode. Sérialisation XSLT 2.0 et XQuery 1.0

Section 4

Aucune option correspondante n'est actuellement fournie par le processeur.
mécanisme cdata sec Mécanisme alternatif que l'utilisateur peut employer pour créer des sections CDATA. SR

Section 5.1.4 de XSLT 2.0 et XQuery 1.0 - Sérialisation

Le processeur ne fournit pas de mécanisme alternatif pour créer des sections CDATA.
version d'Unicode Versions d'Unicode qui sont prises en charge. XPath 2.0

Annexe D

XQuery 1.0

Annexe D

Le processeur prend en charge la version d'Unicode prise en charge par l'environnement d'exécution Java (JRE) du système hôte, c'est-à-dire Unicode Standard Version 4.0 pour Java 6 et Unicode Standard Version 6.0 pour Java 7.
fonction de trace Fonction de trace.

La destination de la sortie de trace est définie par l'implémentation.

Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 4

Quand vous utilisez la fonction fn:trace(), le résultat est communiqué à l'objet com.ibm.xml.xapi.XMessageHandler (anciennement nommé com.ibm.xml.xapi.XErrorHandler). Il revient à l'utilisateur de désigner son propre objet XMessageHandler pour gérer les résultats de trace communiqués par le processeur. Le type de message de trace est indiqué par l'attribut XMessageHandler.TRACE.
reprise après un dépassement ou une sous-utilisation de capacité dans des opérations sur nombres entiers Mécanisme qui permet aux utilisateurs de choisir entre signaler une erreur et renvoyer un résultat qui module la plus grande valeur entière pouvant être représentée au cours d'opérations arithmétiques occasionnant un dépassement ou une sous-utilisation de la capacité de mémoire. Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 6.2

Le processeur fournit un mécanisme qui permet de détecter les dépassements de capacité lors des opérations avec nombres entiers via la méthode com.ibm.xml.xapi.XStaticContext.setIntegerMathMode(int). Vous pouvez appeler cette méthode avec les constantes INTEGER_MATH_MODE_OVERFLOW_DETECTION ou INTEGER_MATH_MODE_LIMITED_PRECISION afin de choisir l'une ou l'autre de ces deux options. Il existe une troisième option qui permet d'utiliser des nombres entiers de précision arbitraire.
troncature des chiffres Si le nombre de chiffres figurant dans le résultat d'une opération numérique dépasse le nombre pris en charge par l'implémentation, le résultat est tronqué ou arrondi d'une manière définie par l'implémentation. Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 6.2

Section 3.2.3 du document Schéma XML, Partie 2 : Types de données, Deuxième édition.

L'implémentation utilise la classe java.math.BigDecimal qui autorise une précision quasi-illimitée. Toutefois, le nombre de chiffres situés à la droite du séparateur décimal est limité par la variable Integer.MAX_VALUE. La troncature n'est requise que dans le cas d'une division, pour lequel les décimales infinies sont admises. La précision de la partie décimale du résultat est limitée à 18 chiffres. Le mode d'arrondi dans ce cas est ROUND_HALF_UP, où les valeurs décimales supérieures ou égales à 0,5 sont arrondies à la valeur supérieure tandis que les autres sont arrondies à la valeur inférieure.
capacités de classement La capacité d'un classement donné de décomposer les chaîne en unités de classement pouvant faire l'objet d'une mise en correspondance des sous-chaînes est une propriété de classement définie par l'implémentation. Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 7.5

Si l'assembleur Java indiqué dans un appel à la méthode bindCollation de l'interface XDynamicContext est une instance de la classe RuleBasedCollator, vous pouvez utiliser l'URI du classement associé avec l'une des fonctions qui exécutent la mise en correspondance des sous-chaînes basée sur le classement.
limites des valeurs d'année Nombre maximum de chiffres pouvant figurer dans une valeur d'année.

Tous les processeurs conformes doivent prendre en charge à minima des valeurs d'année comprenant au moins 4 chiffres (AAAA) et une précision des décimales de seconde d'au moins 3 chiffres (s.sss). Toutefois, les processeur conformes peuvent imposer des limites définies par l'implémentation pour le nombre maximum de chiffres qu'ils prendront en charge dans ces deux situations.

Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 10.1.1

Le composant année des types xs:date, xs:dateTime, xs:gYear et xs:gYearMonth est compris dans la plage -(10^9-1) à (10^9)-1.
précision des décimales des secondes Nombre maximum de chiffres pouvant figurer dans une valeur de décimale de seconde. Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 10.1.1

Le nombre maximum de valeurs décimales pris en charge pour les types xs:time et xs:dateTime est égal à 3.
fonction doc Plusieurs aspects du traitement exécuté par la fonction fn:doc sont définis par l'implémentation. L'implémentation peut fournir des options de configuration externes qui permettent à l'utilisateur de contrôler tous les aspects du traitement. Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 15.5.4

L'utilisateur peut fournir une implémentation com.ibm.xml.xapi.XSourceResolver par le biais de la méthode com.ibm.xml.xapi.XDynamicContext. setSourceResolver(XSourceResolver). Le processeur utilise la méthode XSourceResolver pour résoudre les URI (l'utilisateur peut donc décider quels URI doivent être pris en charge) et sa méthode getSource(String, String) doit renvoyer un objet JAXP Source. En l'absence d'argument XSourceResolver, le processeur gère le schéma des URI de fichier et ceux pris en charge par la méthode java.net.URL.openConnection(). Il ne traite pas les fragments d'URI. Il n'existe pas de prise en charge intégrée pour les types de supports non XML mais vous pouvez utiliser une implémentation de XSourceResolver pour fournir au processeur une représentation XML de données non XML.

La validation de fichier DTD et la validation de schéma peuvent être appliquées au document source selon les paramètres de validation. Vous pouvez définir les paramètres de validation sur les instances com.ibm.xml.xapi.XFactory à l'aide de la méthode setValidating et ces paramètres seront hérités par les objets créés avec XFactory. Si vous fournissez une instance de com.ibm.xml.xapi.XDynamicContext à la méthode execute ou executeToList d'une instance com.ibm.xml.xapi.XExecutable, ses paramètres de validation sont utilisés. Sinon, les paramètres utilisés sont ceux de l'instance de l'objet XExecutable. Le processeur ne propose pas de mécanisme de reprise en cas d'erreurs lors de la récupération de la ressource ou de l'analyse syntaxique ou validation de son contenu.

Le processeur ne fournit pas d'option pour dispenser la fonction fn:doc de renvoyer des résultats stables.

précision de l'opérateur décimal Pour les valeurs de xs:decimal, le nombre d'unités de précision renvoyées par les opérateurs numériques est défini par l'implémentation. Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 6.2, dernier paragraphe

Le nombre d'unités de précision est le minimum requis pour représenter le résultat exact sans arrondi, hormis dans le cas des divisions où le nombre d'unités de précision pour la partie décimale du résultat est limité à 18 chiffres.
stabilité de collection doc Options définies par l'utilisateur qui permettent d'évaluer une fonction sans garantie de stabilité et mode de communication de ces options. Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Sections 15.5.4 et 15.5.6

Le processeur ne fournit pas d'option pour dispenser la fonction fn:doc ou fn:collection de renvoyer des résultats stables.
précision décimale Nombre de chiffres décimaux pris en charge dans la fonction xs:decimal.

L'implémentation définit le type de résultat obtenu lorsque vous communiquez une chaîne à la fonction xs:decimal et que la valeur obtenue n'est ni trop grande ni trop petite mais contient toutefois trop de décimales pour être exprimée de manière exacte.

Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 17.1.1

L'implémentation utilise la classe java.math.BigDecimal qui autorise une précision quasi-illimitée. Toutefois, le nombre de chiffres situés à la droite du séparateur décimal est limité par la variable Integer.MAX_VALUE. Vous risquez de rencontrer une insuffisance de mémoire bien avant cette limite.
Renvoie un avertissement Circonstances dans lesquelles des avertissements sont renvoyés et manière dont ils sont traités Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 2.3

XPath 2.0

Section 2.3.1

XQuery 1.0

Section 2.3.1

L'utilisateur peut fournir une implémentation de l'objet com.ibm.xml.xapi.XMessageHandler avec la méthode setMessageHandler()(XMessageHandler) sur com.ibm.xml.xapi.XStaticContext ou com.ibm.xml.xapi.XDynamicContext pour obtenir respectivement des avertissements statiques ou dynamiques. La méthode report(int, String, XSourceLocation, Exception) de l'objet XMessageHandler sera appelée pour chaque avertissement avec un premier argument égal à XMessageHandler.WARNING.

Si vous ne fournissez aucune implémentation de XMessageHandler, les avertissements sont dirigés vers le flux de sortie d'erreur standard.

Des avertissements sont renvoyés quand le processeur exécute une action pour éviter un cas d'erreur que vous pensez corriger plus tard, comme par exemple si vous remplacez une valeur par défaut par une valeur incorrecte.

signaler une erreur Méthode par laquelle les erreurs sont signalées dans l'environnement de traitement externe. Fonctions et opérateurs de XQuery 1.0 et XPath 2.0

Section 2.3

XPath 2.0

Section 2.3.2

XQuery 1.0

Section 2.3.2

L'utilisateur peut fournir une implémentation de l'objet com.ibm.xml.xapi.XMessageHandler avec la méthode setMessageHandler()(XMessageHandler) sur com.ibm.xml.xapi.XStaticContext ou com.ibm.xml.xapi.XDynamicContext pour obtenir respectivement des erreurs statiques ou dynamiques. La méthode report(int, String, XSourceLocation, Exception) de l'objet XMessageHandler sera appelée pour chaque erreur avec un premier argument égal à XMessageHandler.ERROR ou XMessageHandler.FATAL_ERROR.

Si vous ne fournissez aucune implémentation de XMessageHandler, les erreurs sont dirigées vers le flux de sortie d'erreur standard.

règles de XML 1.0 ou XML 1.1 Détermine si le processeur repose sur les règles XML 1.0 ou XML 1.1 pour les noms et les caractères pris en charge. XPath 2.0

Annexe D

XQuery 1.0

Annexe D

  Le processeur applique les règles de XML 1.1 pour les définitions des NCName et des caractères pris en charge, ainsi que pour la gestion des fins de ligne et la normalisation des valeurs d'attribut.
ordre par défaut des séquences vides Détermine si le mode de gestion par défaut des séquences vides figurant dans "order by" est "empty least" ou "empty greatest". XQuery 1.0

Section 3.8.3

  Le processeur utilise la valeur par défaut définie par un appel à la méthode XStaticContext :setDefaultOrderForEmptySequences. Sinon, le paramètres par défaut est "empty greatest".
pragmas pris en charge Nom et sémantique de toutes les expressions d'extension (pragmas) XQuery prises en charge. XQuery 1.0

Section 3.14

XQST0079 Le processeur ne reconnaît pas ou ne prend pas en charge les expressions d'extension.
options prises en charge Nom et sémantique de toutes les déclarations d'option XQuery prises en charge. XQuery 1.0

Section 4.16

  Le processeur prend actuellement en charge l'option java-extension pour la déclaration des fonctions d'extension dans une requête. Pour plus d'informations, reportez-vous à la documentation de l'API.
communication de paramètres de fonction externe Protocoles pris en charge pour communiquer des paramètres à des fonctions externes depuis XQuery et pour renvoyer des résultats. XQuery 1.0

Section 4.15

  Les fonctions d'extension sont prises en charge via les méthodes XStaticContext.declareFunction et XDynamicContext.bindFunction du processeur. Pour plus d'informations, reportez-vous à la documentation de l'API.
appel de sérialisation Moyen qui permet d'appeler une sérialisation pour le résultat de l'évaluation d'une requête XQuery. XQuery 1.0

Section 2.2.4

  Si vous fournissez une instance de l'interface javax.xml.transform.stream.StreamResult à une méthode evaluate d'une instance XQueryExecutable, le processeur sérialise le résultat de la requête. Vous pouvez également sérialiser un objet XSequenceCursor résultant de l'évaluation d'une requête en appelant l'une des méthodes exportSequence.
paramètres de sérialisation par défaut Valeurs par défaut des paramètres de sérialisation byte-order-mark, encoding, media-type, normalization-form, omit-xml-declaration, standalone, et version. XQuery 1.0

Section 2.2.4

Annexe C.3

  Vous pouvez définir les paramètres de sérialisation dans une instance de l'interface XOutputParameters.
  • La valeur par défaut du paramètre de sérialisation byte-order-mark est "yes" pour le codage UTF-16 et "no" dans les autres cas.
  • La valeur par défaut du paramètre de sérialisation encoding est "UTF-8".
  • La valeur par défaut du paramètre de sérialisation media-type est "text/xml" si la méthode de sortie est XML, "text/html" pour les méthodes de sortie HTML et XHTML, et "text/plain" pour la méthode de sortie au format texte.
  • La valeur par défaut du paramètre de sérialisation normalization-form est "none".
  • La valeur par défaut du paramètre de sérialisation omit-xml-declaration est "no".
  • La valeur par défaut du paramètre de sérialisation standalone est "no".
  • La valeur par défaut du paramètre de sérialisation version est "1.0" pour les méthodes de sortie XML et XHTML et "4.01" pour la méthode de sortie HTML.
échec d'un appel de fonction externe Conséquences lorsqu'un appel à une fonction externe échoue. XQuery 1.0

Annexe D

  Le processeur signale d'abord une erreur à toutes les instances de l'interface de gestion XMessage fournies puis génère une exception quand un appel de XQuery à une fonction externe échoue pour l'une ou l'autre des raisons suivantes :
  • Le nom de fonction n'est pas relié à une définition de fonction à l'aide de la méthode XDynamicContext.bindFunction.
  • Le nombre ou le type des arguments fournis ne correspond pas à ceux attendus par l'implémentation de la fonction.
  • Une erreur ou une exception a été générée par l'implémentation de la fonction.
Localiser les importations de module Processus via lequel les modules spécifiques à importer lors d'une importation de module sont identifiés si la fonction de module est prise en charge (y compris le traitement des paramètres d'emplacement) XQuery 1.0

Section 4.11

  Si un élément XModuleResolver est enregistré avec l'élément XStaticContext, il permet d'obtenir les objets source pour le module. Si aucun élément XModuleResolver n'est enregistré ou s'il renvoie la valeur null, le processeur tente de charger un module pour chaque paramètre d'emplacement. Les URI relatifs sont résolus par rapport à l'URI de base à partir du contexte statique s'il est disponible. Dans le cas contraire, les paramètres d'emplacement relatifs sont interprétés comme chemins de fichier relatifs au répertoire de travail en cours. Les paramètres d'emplacement sont utilisés en l'état. S'il n'est pas possible de charger un module pour un paramètre d'emplacement spécifié, le processeur passe au paramètre suivant. Un message d'erreur est émis uniquement lorsqu'aucun module ne peut être chargé pour un espace de nom.
Les informations qui suivent concernent la prise en charge de XSLT 1.0 en fonction des implémentations.
  • La fonction de propriété système ne prend pas en charge les propriétés système Java.
  • Si la valeur d'un attribut contient une tabulation, un retour chariot ou un saut de ligne avec la méthode sortie HTML, le processeur sérialise la valeur réelle comme faisant partie de la valeur d'attribut au lieu d'une référence de caractère. Les deux modes sont autorisés dans les documents XSLT 2.0 et XQuery 1.0 Serialization Recommendation et HTML 4.01 Recommendation, mais les précédentes versions des processeurs IBM XSLT sérialisaient ces caractères en tant que références de caractère dans ce type de contexte.

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cins_xml_discretion
Nom du fichier : cins_xml_discretion.html