Implementierungsspezifisches Verhalten für XSLT 2.0, XPath 2.0 und XQuery 1.0

Tabelle 1. Implementierungsdefiniertes Verhalten.

In der folgenden Tabelle ist das implementierungsdefinierte Verhalten der API für XSLT 2.0, XPath 2.0 und XQuery 1.0 aufgeführt.

Feature Description Spezifikation Fehlercode Dokumentiertes Verhalten
Mehrfachübereinstimmung mit preserve-space und strip-space Die Übereinstimmung eines Elements im Quellendokument sowohl mit einer Deklaration xsl:strip-space als auch mit einer Deklaration xsl:preserve-space ist ein behebbarer dynamischer Fehler. XSLT 2.0

Abschnitt 4.4

XTRE0270 Der Prozessor gibt keinen Fehler zurück, sondern wählt die letzte Deklaration xsl:strip-space bzw. xsl:preserve-space in der Deklarationsreihenfolge aus.
Musterauswertung Alle dynamischen Fehler, die während der Auswertung eines Musters für eine bestimmten Knoten auftritt, wird als behebbarer Fehler angesehen. Dies trifft sogar zu, wenn der Fehler unter den gegebenen Umständen nicht behoben werden kann. Die optionale Fehlerbehebungsmaßnahme besteht darin, das Muster als nicht mit dem Knoten übereinstimmendes Muster zu betrachten. XSLT 2.0

Abschnitt 5.5.4

Der Prozessor gibt keinen Fehler zurück, sondern behandelt das Muster wie ein nicht mit dem Knoten übereinstimmendes Muster.
Mehrere passende Schablonen Das Vorliegen mehr als einer passenden Schablonenregel nach Verarbeitung des Konfliktlösungsalgorithmus für Schablonenregeln ist ein behebbarer dynamischer Fehler. Als Optionale Fehlerbehebungsmaßnahme wird von den übriggebliebenen passenden Schablonenregeln diejenige ausgewählt, die in der Deklarationsreihenfolge die letzte ist. XSLT 2.0

Abschnitt 6.4

XTRE0540 Der Prozessor gibt keinen Fehler zurück, sondern wählt die letzte Schablone in der Deklarationsreihenfolge aus.
Ungültiger Wert für xml:space Die Angabe eines anderen Wertes als "default" oder "preserve" für ein konstruiertes Attribut mit dem Namen xml:space ist ein behebbarer dynamischer Fehler. Die optionale Fehlerbehebungsmaßnahme besteht darin, das Attribut mit dem angeforderten Wert zu konstruieren. Dies trifft unabhängig davon zu, ob das Attribut mit einem resultierenden Literalelement oder mit einer der Anweisungen xsl:attribute, xsl:copy bzw. xsl:copy-of konstruiert wird. XSLT 2.0

Abschnitt 11.1.2

XTRE0795 Der Prozessor gibt keinen Fehler zurück, sondern konstruiert das Attribut mit dem angeforderten Wert.
Ungültiges Fragment in einem Dokument-URI Wenn eine an die Funktion document übergebene URI-Referenz eine Fragment-ID enthält, gilt dies in jedem der folgenden Fälle als ein behebbarer dynamischer Fehler:
  • Der Medientyp ist nicht der vom Prozessor erkannte Typ.
  • Die Fragment-ID entspricht nicht den Fragment-ID-Regeln dieses Medientyps.
  • Die Fragment-ID wählt etwas anderes als eine Sequenz von Knoten aus (z. B. einen Zeichenbereich innerhalb eines Textknotens).
Die optionale Fehlerbehebungsmaßnahme besteht darin, die Fragment-ID zu ignorieren und den Dokumentknoten zurückzugeben. (Diese Fehlerbehebungsmaßnahme unterscheidet sich von der in XSLT 1.0.)
XSLT 2.0

Abschnitt 16.1

XTRE1160 Der Prozessor ignoriert die Fragment-ID und gibt den Dokumentknoten zurück. Es wird keine Warnung zurückgegeben.
Nur eine Ressource bei mehreren Ergebnissen Bei einer Transformation ist die Generierung von zwei oder mehr abschließenden Ergebnisstrukturen mit URIs, die dieselbe physische Ressource angeben, ein behebbarer dynamischer Fehler. Die optionale Fehlerbehebungsmaßnahme ist implementierungsunabhängig, weil der Prozessor möglicherweise nicht in der Lage ist, den Fehler zu erkennen. XSLT 2.0

Abschnitt 19.1

XTRE1495 Der Prozessor gibt einen Fehler zurück.
Lese- und Schreiboperationen für dieselbe Ressource Das Schreiben in eine externe Ressource und das Lesen derselben Ressource während einer Transformation ist ein behebbarer dynamischer Fehler. Dies gilt unabhängig davon, ob bei beiden Operationen derselbe URI für den Ressourcenzugriff verwendet wird oder nicht. Die optionale Fehlerbehebungsmaßnahme ist implementierungsunabhängig, weil die Fehlerbedingung nicht von Implementierungen erkannt werden muss. XSLT 2.0

Abschnitt 19.1

XTRE1500 Der Prozessor versucht nicht, diese Fehlerbedingung zu erkennen.
Keine Unterstützung für die Inaktivierung von Escape-Zeichen in Ausgaben Die Inaktivierung von Escape-Zeichen in Ausgaben mit der Anweisung xsl:value-of oder xsl:text wird von der Implementierung nicht unterstützt und ist ein behebbarer dynamischer Fehler. Die optionale Fehlerbehebungsmaßnahme besteht darin, das Attribut disable-output-escaping zu ignorieren. XSLT 2.0

Abschnitt 20.2

XTRE1620 Der Prozessor ist nicht in der Lage, Escape-Zeichen in Ausgaben zu inaktivieren, und ignoriert das Attribut disable-output-escaping ohne Warnung.
Inaktivierung von Escape-Zeichen in Ausgaben für nicht serialisierte Ergebnisse Die Inaktivierung von Escape-Zeichen in Ausgaben mit der Anweisung xsl:value-of oder xsl:text ist beim Schreiben in eine abschließende Ergebnisstruktur, die nicht serialisiert wird, ein behebbarer dynamischer Fehler. Die optionale Fehlerbehebungsmaßnahme besteht darin, das Attribut disable-output-escaping zu ignorieren. XSLT 2.0

Abschnitt 20.2

XTRE1630 Der Prozessor ist nicht in der Lage, Escape-Zeichen in Ausgaben zu inaktivieren, und ignoriert das Attribut disable-output-escaping ohne Warnung.
Integer-Überlauf Bei arithmetischen xs:integer-Operationen müssen Implementierungen, die Integer-Operationen mit begrenzter Genauigkeit unterstützen, in Über- und Unterlaufsituationen eine der folgenden Optionen auswählen:
  • Es wird immer ein Fehler ausgelöst (FOAR0002).
  • Es wird ein implementierungsdefinierter Mechanismus bereitgestellt, über den Benutzer auswählen können, ob ein Fehler ausgelöst oder als Ergebnis der Modulo in Form des größten darstellbaren ganzzahligen Wertes zurückgegeben wird.
XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 6.2

FOAR0002 Der Prozessor stellt einen Mechanismus bereit, der bei Integer-Operationen eine Überlauferkennung mit der Methode com.ibm.xml.xapi.XStaticContext.setIntegerMathMode(int) ermöglicht, die zur Unterscheidung zwischen den beiden Optionen mit der Konstante INTEGER_MATH_MODE_OVERFLOW_DETECTION oder INTEGER_MATH_MODE_LIMITED_PRECISION (definiert für das Interface XStaticContext) aufgerufen werden kann. Für ganze Zahlen mit beliebiger Genauigkeit wird als dritte Option INTEGER_MATH_MODE_ARBITRARY_PRECISION bereitgestellt.
Double- und Float-Überlauf Das Überlaufverhalten von arithmetischen xs:float- und xs:double-Operationen muss IEEE 754-1985 entsprechen. Folgende Optionen sind zulässig:
  • Mit einer Überlauffangzone wird ein Fehler ausgelöst (FOAR0002).
  • Es wird INF oder -INF zurückgegeben.
  • Die größte nicht unendliche Zahl (positiv oder negativ) wird zurückgegeben.
XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 6.2

  Der Prozessor gibt INF oder -INF zurück.
Double- und Float-Unterlauf Das Unterlaufverhalten von arithmetischen xs:float- und xs:double-Operationen muss IEEE 754-1985 entsprechen. Folgende Optionen sind zulässig:
  • Mit einer Unterlauffangzone wird ein Fehler ausgelöst (FOAR0002).
  • Es wird INF oder -INF zurückgegeben.
  • Es wird 0.0E0, +/- 2**Emin oder ein denormalisierter Wert zurückgegeben, wobei Emin der kleinstmögliche Exponent für xs:float oder xs:double ist.
XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 6.2

  Der Prozessor gibt 0.0E0 zurück.
Ungültige Verwendung des Attributs doctype-system oder standalone Die Angabe des Parameters doctype-system oder standalone mit einem anderen Wert als omit ist ein Serialisierungsfehler, wenn die Instanz des Datenmodells Textknoten oder mehrere Elementknoten als untergeordnete Knoten des Stammknotens enthält. Der Serializer muss den Fehler signalisieren oder ihn beheben, indem er die Anforderung nach Ausgabe einer Dokumenttypdeklaration oder des Parameters standalone ignoriert. SR

Abschnitt 5

SEPM0004 Der Prozessor gibt einen Serialisierungsfehler zurück.
Ungültige XML-Ausgabecodierung Wenn für die Ausgabemethode XML eine andere Ausgabecodierung als UTF-8 oder UTF-16 angefordert wird und diese andere Codierung nicht vom Serializer unterstützt wird, tritt ein Serialisierungsfehler auf. Der Serializer muss den Fehler (SESU0007) zurückgeben oder den Fehler beheben, indem er UTF-8 oder UTF-16 verwendet. SR

Abschnitt 5.1.2

SESU0007 Der Prozessor gibt einen Serialisierungsfehler zurück.
Fehler oder Fehlerbehebung Einige Fehler werden als behebbare Fehler klassifiziert. Wenn ein behebbarer Fehler auftritt, kann der Prozessor den Fehler signalisieren (indem er die Fehlerbedingung meldet und die Ausführung beendet) oder eine definierte Fehlerbehebungsmaßnahme ausführen und die Verarbeitung fortsetzen. XSLT 2.0

Abschnitt 2.9

Der Prozessor kann viele behebbare Fehler beheben und signalisiert in einigen Fällen trotzdem einen Fehler. Anhand dieser Tabelle können Sie ermitteln, welches implementierungsdefinierte Verhalten für die einzelnen behebbaren Fehler gilt.
Typfehler statisch signalisieren Ob Typfehler statisch signalisiert werden, ist in der Implementierung definiert. XSLT 2.0

Abschnitt 2.9

Der Prozessor stellt Typfehler nach Möglichkeit statisch fest. Es gibt aber auch Situationen, in denen der Fehler nicht zur Kompilierzeit festgestellt werden kann. In solchen Situationen wird der Fehler während der Ausführung festgestellt.
Handhabung von Serialisierungsfehlern Die Handhabung von Serialisierungsfehler ist in der Implementierung definiert. XSLT 2.0

Abschnitt 20

Fehlernachrichten werden an eine Implementierung von com.ibm.xml.xapi.XMessageHandler gesendet, die mit der Methode setXMessageHandler des Interface com.ibm.xml.xapi.XDynamicContext registriert ist.
Basisausgabe-URI Die Art der Erstellung eines Basisausgabe-URI ist in der Implementierung definiert. XSLT 2.0

Abschnitt 2.3

Benutzer können den Basisausgabe-URI mit der Methode setBaseOutputURI des Interface com.ibm.xml.xapi.XDynamicContext definieren.
Erweiterungsattribute Implementierungen können Erweiterungsattribute zulassen, um das Verhalten von Erweiterungsfunktionen und -anweisungen zu modifizieren oder die Serialisierungsmethode xml, xhtml, html bzw. text dahingehend zu beeinflussen, dass ihr Verhalten implementierungsdefiniert oder von der Implementierung unabhängig ist. XSLT 2.0

Abschnitt 3.3

Der Prozessor erkennt das Attribut indent-amount von xsl:output-Deklarationen und bestimmt ausgehend davon, wie viele Leerzeichen bei aktivierter Einrückung für die einzelnen Einrückungsstufen verwendet werden. Das Attribut muss aus einem der folgenden Namespaces stammen:
  • http://www.ibm.com/xmlns/prod/xltxe-j
  • http://xml.apache.org/xalan
  • http://xml.apache.org/xslt
Lesen Sie auch die Informationen zu den anderen Serialisierungsparametern in dieser Tabelle.
Benutzerdefinierte Datenelemente Eine Implementierung kann benutzerdefinierten Datenelementen, die in bestimmten Namespaces erscheinen, eine implementierungsdefinierte Bedeutung zuordnen. Welche Namespaces für solche Datenelemente erkannt werden, ist in der Implementierung definiert. XSLT 2.0

Abschnitt 3.6.2

Der Prozessor erkennt keine benutzerdefinierten Datenelemente.
Benutzerdefinierte Typen Die Unterstützung für zusätzliche benutzer- der implementierungsdefinierte Typen ist in der Implementierung definiert. XPath 2.0 Data Model

Abschnitt 2.6

Ein schemafähiger Prozessor wird unterstützt.
Verhalten bei nicht definiertem Typ Einige typisierte Werte des Datenmodells sind nicht definiert. Der Versuch, auf eine nicht definierte Eigenschaft zuzugreifen, ist immer ein Fehler. Das Verhalten in solchen Fällen ist in der Implementierung definiert, und das Ergebnis wird von der jeweiligen Hostsprache bestimmt. XPath 2.0 Data Model

Abschnitt 2.5.2 Punkt 4.d

FOTY0012 Der Prozessor gibt einen Fehler zurück. Fehlernachrichten werden an eine Implementierung von com.ibm.xml.xapi.XMessageHandler gesendet, die mit der Methode setXMessageHandler des Interface com.ibm.xml.xapi.XDynamicContext registriert ist.
Darstellung von Namespaceknoten Ob Namespaces als Knoten dargestellt werden, hängt von der Implementierung ab. XPath 2.0 Data Model

Abschnitt 6.4

Die Namespaceachse wird unterstützt.
Auffinden des Style-Sheet-Moduls Wie die URI-Referenz aus dem Attribut href einer xsl:include- oder xsl:import-Deklaration nach Auflösung anhand des Basis-URI für die Suche nach der Darstellung eines Style-Sheet-Moduls verwendet wird und wie das Style-Sheet-Modul dann anhand dieser Darstellung konstruiert wird, ist in der Implementierung definiert. Insbesondere sind die unterstützten URI-Schemata, die Unterstützung/Nichtunterstützung von Fragment-IDs und die unterstützten Medientypen von der jeweiligen Implementierung abhängig. XSLT 2.0

Abschnitt 3.10.1

Benutzer können über die Methode com.ibm.xml.xapi.XStaticContext.setSourceResolver(XSourceResolver) eine Implementierung von com.ibm.xml.xapi.XSourceResolver angeben. Der Prozessor löst mit dem XSourceResolver URIs von xsl:include- und xsl:import-Deklarationen auf (sodass der Benutzer entscheiden kann, welche URIs unterstützt werden sollen). Die Methode getSource(String, String) des Resolvers muss ein JAXP-Quellenobjekt zurückgeben.

Wenn kein XSourceResolver angegeben ist, wendet der Prozessor das Schema für Datei-URIs und die von der Methode java.net.URL.openConnection() unterstützten Schemata an. Mithilfe eines URI-Fragments kann ein eingebettetes Style-Sheet-Modul in einem XML-Quellendokument ausgewählt werden. Das Fragment muss ein Element xsl:stylesheet mit einem der Attribute dieses Elements im Dokument angeben. Dabei kann es sich um ein Attribut xml:id, um ein in einer DTD definiertes Attribut vom Typ ID oder um ein in einem Schema definiertes Attribut vom Typ xs:ID handeln. Es gibt keine integrierte Unterstützung für Nicht-XML-Medientypen. Benutzer können jedoch über eine Implementierung von XSourceResolver eine XML-Darstellung von Nicht-XML-Daten für den Prozessor bereitstellen.

Erweiterungsfunktionen Erweiterungsfunktionen

Die Spezifikation XSLT 2.0 definiert, wie Erweiterungsanweisungen und -funktionen aufgerufen werden. Mit welchen Mitteln solche Anweisungen und Funktionen erstellt werden, hängt jedoch von der jeweiligen Implementierung ab.

XSLT 2.0

Abschnitt 18.1

Erweiterungsfunktionen werden über die Methoden XStaticContext.declareFunction und XDynamicContext.bindFunction des Prozessors unterstützt. Alternativ können Sie Erweiterungsfunktionen direkt in einem Style-Sheet oder in einer Abfrage deklarieren. Vom Parser und vom Prozessor unterstützte Erweiterungsfunktionen des alten Typs werden aus Gründen der Abwärtskompatibilität weiter unterstützt. Dies gilt jedoch nur für 1.0-Typen. Nähere Informationen hierzu finden Sie in der Dokumentation zur API. Es wird empfohlen, Erweiterungsfunktionen - sofern möglich - direkt in Ihrem Style-Sheet oder über die API für Erweiterungsfunktionen zu deklarieren und nicht im alten Stil.
Erweiterungsanweisungen Erweiterungsanweisungen

Die Spezifikation XSLT 2.0 definiert, wie Erweiterungsanweisungen und -funktionen aufgerufen werden. Mit welchen Mitteln solche Anweisungen und Funktionen erstellt werden, hängt jedoch von der jeweiligen Implementierung ab.

XSLT 2.0

Abschnitt 18.2

XTDE1450 Benutzerdefinierte Erweiterungsanweisungen werden nicht unterstützt. Erweiterungsanweisungen müssen mit einer Anweisung fallback geschützt werden, weil andernfalls das Style-Sheet nicht kompiliert werden kann. Aus Gründen der Abwärtskompatibilität wird die "redirect"-Erweiterung weiter unterstützt. Sie sollten jedoch die Anweisung xsl:result-document von XSLT 2.0 verwenden, da diese leichter portiert werden kann.
Abwärtskompatibilität Ob eine bestimmte XSLT-2.0-Implementierung abwärtskompatibles Verhalten unterstützt, ist in der Implementierung definiert. XSLT 2.0

Abschnitt 3.8

Das in der Spezifikation XSLT 2.0 beschriebene Feature für Abwärtskompatibilität wird unterstützt.
Bereichsinterne Sortierfolgen für use-when Bereichsinterne Sortierfolgen für "use-when"-Ausdrücke XSLT 2.0

Abschnitt 3.12

Für die Auswertung eines "use-when"-Ausdrucks ist die Sortierfolge für Unicode-Codepunkte die einzige verfügbare Sortierfolge.
Aktuelle Datums-/Zeitangabe für use-when Aktuelle Datums-/Zeitangabe für "use-when"-Ausdrücke XSLT 2.0

Abschnitt 3.12

Die aktuelle Datums-/Zeitangabe ist die durch Aufrufen der Methode java.util.GregorianCalendar getInstance() abgerufene aktuelle Datums-/Zeitangabe des Systems.
Implizite Zeitzone für use-when Implizite Zeitzone für "use-when"-Ausdrücke XSLT 2.0

Abschnitt 3.12

Die implizite Zeitzone ist die durch Aufrufen der Methode java.util.TimeZone getDefault() abgerufene Zeitzone des Systems.
Maximale Anzahl Dezimalstellen Die maximale Gesamtzahl der Dezimalstellen ist in der Implementierung definiert, darf aber nicht kleiner als 18 sein. XSLT 2.0

Abschnitt 4.6

Die Implementierung verwendet die Klasse java.math.BigDecimal, die eine fast unbegrenzte Genauigkeit unterstützt. Lediglich die Anzahl der Dezimalstellen nach dem Komma ist auf den Wert von Integer.MAX_VALUE begrenzt. Eine Verkürzung ist nur bei Divisionen erforderlich, weil bei Divisionen potenziell unendliche Dezimalzahlen möglich sind. Die Genauigkeit der Nachkommastellen von Ergebnissen ist auf 18 Stellen begrenzt. In diesem Fall wird der Rundungsmodus ROUND_HALF_UP verwendet, bei dem nicht angegebene Nachkommazahlen ab 0,5 (von null weg) aufgerundet und kleinere Nachkommazahlen abgerundet werden.
Wert des Abschnitts year Wertebereich des Abschnitts year (von +0001 bis +9999) und maximale Anzahl Stellen für den Sekundenbruchteil (mindestens 3) für die Typen Typen xs:date, xs:time, xs:dateTime, xs:gYear und xs:gYearMonth XSLT 2.0

Abschnitt 4.6

Der Abschnitt year der Typen xs:date, xs:dateTime, xs:gYear und xs:gYearMonth muss im Bereich von -(10^9-1) bis (10^9)-1 liegen. Für die Typen xs:time und xs:dateTime werden maximal drei Stellen für den Sekundenbruchteil unterstützt.
duration Maximale Absolutwerte der Abschnitte years, months, days, hours, minutes und seconds für den Typ xs:duration XSLT 2.0

Abschnitt 4.6

Für die Abschnitte des Typs duration gelten die folgenden maximalen Absolutwerte:
  • year: 178956970
  • month: 2147483647
  • day: 106751991167
  • hour: 2562047788015
  • minute: 153722867280912
  • second: 9223372036854775
Für Millisekunden wird eine Genauigkeit von drei Stellen unterstützt.
"yearMonthDuration" Maximaler Absolutwert für den Typ xdt:yearMonthDuration als ganze Zahl von Monaten XSLT 2.0

Abschnitt 4.6

Der maximale Absolutwert für den Typ xs:yearMonthDuration liegt bei 2147483647 Monaten.
"dayTimeDuration" Maximaler Absolutwert für den Typ xdt:dayTimeDuration als Dezimalzahl zur Angabe der Sekunden XSLT 2.0

Abschnitt 4.6

Der maximale Absolutwert für den Typ xs:dayTimeDuration liegt bei 9223372036854775 Sekunden.
Maximale Länge des Wertes Maximale Länge des Wertes für die Typen xs:string, xs:hexBinary, xs:base64Binary, xs:QName, xs:anyURI, xs:NOTATION und die aus ihnen abgeleiteten Typen XSLT 2.0

Abschnitt 4.6

Theoretisch liegt die maximale Länge bei 2^31 - 1. Der Systemspeicher wird jedoch wahrscheinlich erschöpft sein, lange bevor diese maximale Begrenzung erricht wird.
Sequenzlänge Maximale Anzahl von Elementen in einer Sequenz XSLT 2.0

Abschnitt 4.6

Theoretisch liegt die maximale Anzahl von Elementen bei 2^31 - 1. Der Systemspeicher wird jedoch wahrscheinlich erschöpft sein, lange bevor diese maximale Begrenzung erricht wird.
Statisch bekannte Sortierfolgen Gruppe der bereichsinternen Sortierfolgen XSLT 2.0

Abschnitt 5.4.1

XPath 2.0

Abschnitt 2.1.1

XQuery 1.0

Abschnitt 2.1.1

Für jeden URI wird angenommen, das er zur Gruppe der bereichsinternen Sortierfolgen gehört. Jedem URI, der als Sortierfolgen-URI verwendet wird, muss während der Ausführung ein Java™ Collator zugeordnet werden.
implicit timezone Implizite Zeitzone XSLT 2.0

Abschnitt 5.4.3.2

XPath 2.0

Abschnitt 2.1.2

XQuery 1.0

Abschnitt 2.1.2

Die implizite Zeitzone kann mit der Methode XDynamicContext.setImplicitTimeZone(Duration) im Prozessor festgelegt werden. Wenn die implizite Zeitzone nicht definiert ist, wird die mit der Methode java.util.TimeZone.getDefault() abgerufene Systemzeitzone verwendet.
Standard-Collection Standard-Collection

Dies ist die Knotensequenz, die beim Aufruf der Funktion fn:collection ohne Argumente als Ergebnis zurückgegeben wird. Der Wert der Standard-Collection kann von der Implementierung initialisiert werden.

XSLT 2.0

XPath 2.0

Abschnitt 2.1.2

FODC0004 Die Standard-Collection wird von dem in XDynamicContext registrierten XCollectionResolver bestimmt. Ist kein XCollectionResolver registriert, wird ein Fehler zurückgegeben und die leere Sequenz verwendet. Weitere Informationen zum Interface XCollectionResolver finden Sie in der Dokumentation zu API.
Style-Sheet-Parameter Angabe des Style-Sheet-Parameterwerts bei Ausführung einer Transformation

Ein Element xsl:param der Ausgangsebene deklariert einen Style-Sheet-Parameter. Ein Style-Sheet-Parameter ist eine globale Variable mit der zusätzlichen Eigenschaft, dass ihr Wert bei Einleitung einer Transformation vom Aufrufenden angegeben werden kann.

XSLT 2.0

Abschnitt 9.5

Wenn ein Wert für einen Parameter in den XDynamicContext eingebunden ist, wird dieser verwendet. Andernfalls wird der im Style-Sheet für den Parameter angegebene Standardwert verwendet.

Verwenden Sie die Methode XDynamicContext.bind(), um Werte an Parameter zu binden.

Mechanismus zum Überschreiben von Style-Sheet-Funktionen Überschreiben einer Style-Sheet-Funktion durch einem vom Benutzer angegebene Funktion (Element xsl:function)

Das optionale Attribut "override" definiert, was geschieht, wenn diese Funktion denselben Namen und dieselbe Stelligkeit wie eine vom Benutzer angegebene Funktion oder eine mit einem implementierungsspezifischen Mechanismus im statischen Kontext angegebene Funktion hat. Ist das Attribut "override" auf "yes" gesetzt, wird diese Funktion bevorzugt verwendet. Der Wert "no" gibt an, dass die andere Funktion bevorzugt wird. Der Standardwert ist "yes". Durch Angabe von override="yes" wird die Interoperabilität sichergestellt (alle Prozessoren führen denselben Code aus). Die Angabe von override="no" ist sinnvoll, wenn Sie für eine Funktion, die nicht nicht bei allen Prozessoren verfügbar ist, eine Rückgriffimplementierung schreiben, bei der die Anbieterimplementierung der Funktion (oder eine als Erweiterungsfunktion geschriebene Benutzerimplementierung) Vorrang vor der Style-Sheet-Implementierung haben kann.

XSLT 2.0

Abschnitt 10.3

Wenn das Attribut override den Wert yes hat, können Style-Sheet-Funktionen Folgendes überschreiben:
  • In XStaticContext mit den XStaticContext.declareFunction()-Methoden deklarierte Erweiterungsfunktionen, die mit XDynamicContext.bindFunction()-Methoden in den XDynamicContext eingebunden sind
  • Von XSLT4J und XL TXE-J 1.0 unterstützte Erweiterungsfunktionen des alten Typs

    Lesen Sie hierzu den Abschnitt Erweiterungsfunktionen verwenden.

  • Vom Prozessor implementierte EXSLT-Erweiterungsfunktionen

Style-Sheet-Funktionen können keine der in der Spezifikation XSLT 2.0 definierten Kernfunktionen und keine Funktionen aus der Spezifikation "XQuery 1.0 and XPath 2.0 Functions and Operators" überschreiben.

Normalisierung einer kopierten XML-ID Wenn ein Attribut xml:id mit der Anweisung xsl:copy oder xsl:copy-of kopiert wird, ist es von der jeweiligen Implementierung abhängig, ob der Wert des Attributs einer Normalisierung unterzogen wird (d. h., ob die Funktion normalize-space aus der Spezifikation "XQuery 1.0 and XPath 2.0 Functions and Operators" angewendet wird). XSLT 2.0

Abschnitt 11.9

Die Anweisungen xsl:copy und xsl:copy-of wenden die Funktion normalize-space nicht auf xml:id-Attribute an, sodass alle Leerräume erhalten bleiben.
Unterstützte Nummerierungsfolgen Unterstützte Nummerierungsfolgen

Welche Nummerierungsfolgen zusätzlich zu den oben aufgeführten unterstützt werden, ist in der Implementierung definiert. Wenn eine Implementierung keine Unterstützung für die vom gegebenen Token dargestellte Nummerierungsfolge bietet, muss sie das Formattoken 1 verwenden.

XSLT 2.0

Abschnitt 12.3

Der Prozessor unterstützt nur die Standardnummerierungsfolgen.
Begrenzung von Nummernbereichen Unter- und Obergrenze für Nummernbereiche

Für die Standardnummerierungsfolgen darf eine von der Implementierung gesetzte Obergrenze nicht kleiner als 1000 (eintausend) und eine gesetzte Untergrenze nicht größer als 1 sein. Zahlen, die außerhalb dieses Bereichs liegen, müssen mit dem Formattoken 1 formatiert werden, dessen zugeordnete Nummerierungsfolge die Untergrenze 0 (null) hat.

XSLT 2.0

Abschnitt 12.3

  • Buchstabenwerte: beliebige Genauigkeit beim Integer-Modus mit beliebiger Genauigkeit, sonst 0 bis 2^63 - 1
  • Zahlenwerte: beliebige Genauigkeit beim Integer-Modus mit beliebiger Genauigkeit, sonst 0 bis 2^63 - 1
  • Römische Zahlen: 0 - 9999
  • Wortzahl: 0 - 19999
Standardsprache für Nummerierung Standardsprache für Nummerierung

Das Attribut lang gibt an, welche Sprachkonventionen verwendet werden sollen. Der Wertebereich stimmt mit dem von xml:lang überein (siehe Spezifikation XML 1.0). Wenn kein Wert für "lang" angegeben ist, wird die in der Implementierung definierte Sprache verwendet.

Die Sprachen mit unterstützter Nummerierung sind in der Implementierung definiert. Wird eine nicht unterstützte Sprache angefordert, verwendet der Prozessor die Sprache, die bei fehlendem Attribut "lang" verwendet werden würde.

XSLT 2.0

Abschnitt 12.3

Die Standardsprache für Zahlenformate ist immer auf en-US gesetzt.
Sprachen für Nummerierung Gruppe der Sprachen für Nummerierung

Viele Nummerierungsfolgen sind sprachabhängig.

XSLT 2.0

Abschnitt 12.3

Die unterstützten Sprachen basieren auf International Component Unicode (ICU) und sind von der JVM unterstützte Sprachen.
Kombinationen für Nummerierung Kombinationen der Werte für das Formattoken, die Sprache und das Attribut "ordinal" für Nummerierung XSLT 2.0

Abschnitt 12.3

Der Prozessor unterstützt für "ordinal" nur den Wert "yes". Alle anderen Werte für das Attribut "ordinal" werden ignoriert.
Datentyp für Sortierung Auswirkung des Attributs data-type auf xsl:sort

Ist dieses Attribut auf den Wert "text" gesetzt, werden die atomisierten Sortierschlüsselwerte vor dem Vergleich in Zeichenfolgen konvertiert. Ist dieses Attribut auf den Wert "number" gesetzt, werden die atomisierten Sortierschlüsselwerte vor dem Vergleich in Double-Werte konvertiert. Die Konvertierung erfolgt jeweils mit der Funktion string-FO bzw. number-FO. Wenn das Attribut data-type einen anderen Wert hat, muss es sich um einen lexikalischen qualifizierten Name (QName) mit einem nicht leeren Präfix handeln. Der Effekt dieses Wertes hängt von der jeweiligen Implementierung ab.

XSLT 2.0

Abschnitt 13.1.2

Für das Attribut data-type werden die Werte 'text' und 'number' unterstützt. Bei allen anderen Werten wird eine Warnung ausgegeben und das Attribut data-type ignoriert.
Sortierfolgen-URI Art der Zuordnung des URI zu einer Sortierfolgenregel bzw. einem Sortierfolgenalgorithmus

Wenn ein Attribut "collation" vorhanden ist, werden die Attribute "lang" und "case-order" ignoriert. Fehlt das Attribut "collation" jedoch, liefern die genannten Attribute Eingaben für einen implementierungsdefinierten Algorithmus zur Ermittlung einer geeigneten Sortierfolge.

Mechanismen aus XSLT 2.0 und XPath 2.0, die eine Sortierung von Zeichenfolgen erfordern, basieren auf dem Konzept einer benannten Sortierfolge. Eine Sortierfolge besteht aus Regeln, die festlegen, ob sich Zeichenfolgen gleichen. Wenn Zeichenfolgen nicht gleich sind, legen die Regeln fest, welche der Zeichenfolgen bei der Sortierung vor der anderen erscheint. Eine Sortierfolge wird über einen URI identifiziert. Wie dieser URI jedoch einer konkreten Regel oder einem konkreten Algorithmus zugeordnet wird, ist in der Implementierung definiert.

XSLT 2.0

Abschnitt 13.1.3

Sortierfolgen-URIs werden über die API mit einer der XDynamicContext.bindCollation-Methoden einem Java Collator zugeordnet.
Sortierfolge nach Attribut "lang" und "case-order" Attribute "lang" und "case-order", die einen Algorithmus für die Sortierung bestimmen XSLT 2.0

Abschnitt 13.1.3

Der Prozessor ruft ausgehend vom Wert des Attributs "lang" eine Ländereinstellung ab. Anschließend erstellt er mit der Methode java.text.Collator.getInstance(Locale) einen Java Collator. Falls das Attribut "case-order" angegeben ist, wird ggf. die Vergleichsmethode des Collators überschrieben. Wenn das Attribut "lang" nicht angegeben ist, geht der Prozessor wie oben angegeben vor und verwendet die von der Java-Methode Locale.getDefault() zurückgegebene Standardländereinstellung.
Standardsortierfolge für Sortierung Standardsortierfolge für Sortierung

Falls xsl:sort keines der Attribute "collation", "lang" oder "case-order" enthält, wird die von der Implementierung definierte Sortierfolge ausgewählt. Die Standardsortierfolge muss nicht mit der für die Auswertung von XPath-Ausdrücken verwendeten Standardsortierfolge übereinstimmen. (siehe Abschnitt 5.4.1: "Initializing the Static Context" und Abschnitt 3.6.1: "The default-collation attribute")

XSLT 2.0

Abschnitt 13.1.3

Der Prozessor verwendet die von der Java-Methode Locale.getDefault() zurückgegebene Standardländereinstellung, um dann mit der Methode java.text.Collator.getInstance(Locale) einen Java Collator zu erstellen.
Erkannte Medientypen Von einem Prozessor erkannte Gruppen von Medientypen XSLT 2.0

Abschnitt 16.1

Der Prozessor unterstützt nur XML-Dateien.
Alternative beim Datumsformat Alternativdarstellung der Formatzeichenfolge bei den Datumsformatfunktionen (Das Formattoken n, N oder Nn gibt an, ob der Wert des Abschnitts als Name in Kleinbuchstaben, in Großbuchstaben oder mit großem Anfangsbuchstaben ausgegeben wird.)

Zu den Abschnitten, die mit Namen ausgegebenen werden können, gehören unter anderem Monate, Wochentage, Zeitzonen und Epochen. Kann der Prozessor diese Abschnitte für den ausgewählten Kalender und die ausgewählte Sprache nicht mit dem Namen ausgeben, muss eine implementierungsdefinierte Alternativdarstellung verwendet werden.

XSLT 2.0

Abschnitt 16.5.1

Der Prozessor greift auf die Ausgabe [Calendar: AD] zurück.
Von Datumsformatfunktionen unterstützte Gruppe Von den Datumsformatfunktionen unterstützte Sprachen, Kalender und Länder XSLT 2.0

Abschnitt 16.5.2, Absatz 1

  • Unterstützte Kalender: AD, ISO, BE
  • Unterstützte Sprachen und Ländereinstellungen: von java.util.Locale.getAvailableLocales() zurückgegebene Werte
Standardeinstellungen in Datumsformatfunktionen Standardsprache, -kalender und -ländereinstellung in Datumsformatfunktionen bei fehlenden oder leeren Argumenten XSLT 2.0

Abschnitt 16.5.2, Absatz 1

  • Standardkalender: AD (gregorianisch)
  • Standardsprache und -ländereinstellung: von java.util.Locale.getDefault() angegebene Werte
Standardsprache in Datumsformatfunktionen Standardsprache in Datumsformatfunktionen

Wenn das Argument "language" fehlt oder auf eine leere Sequenz, einen ungültigen Wert bzw. einen von der Implementierung nicht erkannten Wert gesetzt ist, verwendet der Prozessor eine von der Implementierung definierte Sprache.

XSLT 2.0

Abschnitt 16.5.2, Absatz 4

Siehe "Standardeinstellungen in Datumsformatfunktionen"
Namen und Abkürzungen für Sprachen in Datumsformatfunktionen Namen und Abkürzungen in Datumsformatfunktionen XSLT 2.0

Abschnitt 16.5.2, Absatz 7

Auf der ICU-Website (International Components for Unicode) gibt es einen Locale Explorer mit Links zu Tabellen für jede unterstützte Ländereinstellung. Der Prozessor verwendet für die in diesen Tabellen angegebenen Namen der Wochentage und Monate Kurznamen als abgekürzte Form und die ausgeschriebenen Namen als nicht abgekürzte Form.
Kalenderverhalten in Datumsformatfunktionen Kalenderverhalten in Datumsformatfunktionen XSLT 2.0

Abschnitt 16.5.2, Absatz 10

Der Prozessor unterstützt keine Kalender mit einem Namespace-URI ungleich null. Wenn der angegebene QName ein Präfix hat, wird der gregorianische Kalender (AD) verwendet.
Standardkalender in Datumsformatfunktionen Standardkalender in Datumsformatfunktionen XSLT 2.0

Abschnitt 16.5.2, Absatz 11

Siehe "Standardeinstellungen in Datumsformatfunktionen"
Unterstützte Kalender in Datumsformatfunktionen Von Datumsformatfunktionen unterstützte Kalender XSLT 2.0

Abschnitt 16.5.2, erster Absatz nach der Kalendertabelle

Siehe "Von Datumsformatfunktionen unterstützte Gruppe"
Werte von Systemeigenschaften Werte von Systemeigenschaften XSLT 2.0

Abschnitt 16.5.5, zweiter Absatz nach den Listenpunkten

Werte der Systemeigenschaften:
  • 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
Gruppe der Systemeigenschaften Gruppe der Systemeigenschaften XSLT 2.0

Abschnitt 16.6.5 und Erratum XT.E14

Der Prozessor unterstützt Folgendes:
  • Alle im Abschnitt 16.6.5 der Spezifikation XSLT 2.0 definierten Systemeigenschaften
  • Neu die optionale Eigenschaft xsl:supports-namespace-axis (definiert in XSLT Erratum XT.E15)
xslmessage Senden einer Nachricht durch die Anweisung xsl:message XSLT 2.0

Abschnitt 17, Absatz 1

Gemäß Abschnitt 17 der Spezifikation XSLT 2.0 sendet xsl:message eine Nachricht auf implementierungsspezifische Weise an einen in der Implementierung definierten Bestimmungsort. Der Prozessor verwendet den Zeichenfolgewert des von der Anweisung xsl:message erstellten Dokumentknotens als Nachricht.

Wenn der Benutzer für die Transformation keine Instanz von com.ibm.xml.xapi.XMessageHandler für com.ibm.xml.xapi.XDynamicContext angegeben hat, wird die Nachricht in den Ausgabedatenstrom von System.err geschrieben. Falls das Attribut "terminate" den Wert "yes" hat, löst die Transformation eine Ausnahme aus. Wenn der Benutzer eine Instanz von com.ibm.xml.xapi.XMessageHandler angegeben hat, wird die Nachricht an die Methode report() dieses Objekts übergeben. Nähere Informationen hierzu finden Sie in der Dokumentation zur API.

Bestimmungsort für xsl:message Bestimmungsort für die Ausgabe eines mit der Anweisung xsl:message erstellten Dokuments XSLT 2.0

Abschnitt 17, Absatz 1

Siehe "xsl:message"
Fehlerbehandlung für Erweiterungsfunktionen Folgen des Fehlers, wenn eine Erweiterungsfunktion eine Zeichenfolge mit Nicht-XML-Zeichen zurückgibt XSLT 2.0

Abschnitt 18.1.2, Absatz nach der dritten Anmerkung

Abschnitt 18.1.2 der Spezifikation XSLT 2.0 erlaubt verschiedene Verhaltensweisen, wenn eine Erweiterungsfunktion eine Zeichenfolge zurückgibt, die in XML nicht zulässige Zeichen enthält. Ein mögliches Verhalten ist, die Zeichen wie zulässige Zeichen zu behandeln. Dies ist die vom Prozessor implementierte Verhaltensweise.
Externe Objekte Art der Darstellung externer Objekte im Typsystem XSLT 2.0

Abschnitt 18.1.3, Absatz 2

Datenobjekte, deren Werte von ihrem Typ her nicht den im Abschnitt Zuordnung von XML-Typen zu Java-Typen beschriebenen integrierten Typen zugeordnet werden kann, werden nicht unterstützt.
Bereitstellung der abschließenden Ergebnisstruktur Bereitstellung der abschließenden Ergebnisstruktur für eine Anwendung XSLT 2.0

Abschnitt 19, Absatz 3

Gemäß Abschnitt 19.1 der Spezifikation XSLT 2.0 kann eine Implementierung eine Serialisierung der abschließenden Ergebnisstruktur erlauben oder einen zusätzlichen Verarbeitungsmechanismus zur Verfügung stellen.
Im Prozessor kann eine abschließende Ergebnisstruktur serialisiert oder in Form eines java.xml.transform.Result -Objekts bzw. eines com.ibm.xml.xapi.XSequenceCursor-Objekts für die Anwendung bereitgestellt werden. Die abschließende Ergebnisstruktur wird als javax.xml.transform.Result-Objekt für die Anwendung bereitgestellt, wenn der URI der Struktur nicht mit dem Basisausgabe-URI übereinstimmt und folgende Bedingung erfüllt ist:
  • Der Benutzer hat einen com.ibm.xml.xapi.XResultResolver für den com.ibm.xml.xapi.XDynamicContext bereitgestellt. Das Objekt wird in dem Fall von com.ibm.xml.xapi.XResultResolver.getResult() zurückgegeben.
  • In allen anderen Fällen wird die Ergebnisstruktur mit java.net.URL.openConnection() an der vom URI angegebenen Position serialisiert.

    Eine abschließende Ergebnisstruktur, deren URI mit dem Basisausgabe-URI übereinstimmt, wird für die Anwendung mit einem beliebigen Objekt javax.xml.transform.Result bereitgestellt, das in der Methode com.ibm.xml.xapi.XExecutable.execute angegeben ist, mit der die Transformation aufgerufen wurde. Die Struktur wird als com.ibm.xml.xapi.XSequenceCursor von der Methode com.ibm.xml.xapi.XExecutable.execute() zurückgegeben, wenn die Methodensignatur kein Argument javax.xml.transform.Result enthält.

    Wird die Ergebnisstruktur in Form eines javax.xml.transform.stream.StreamResult bereitgestellt, wird sie an der vom StreamResult angegebenen Position serialisiert. Wenn die Struktur als Instanz einer anderen Unterklasse von Result oder in Form eines XSequenceCursor bereitgestellt, erfolgt die Bereitstellung in der für diese API angemessenen Form.

    Weitere Informationen finden Sie in der API-Dokumentation.

URI-Beschränkung Beschränkungen für das Format eines absoluten URI in "href" XSLT 2.0

Abschnitt 19.1, dritter Absatz nach der zweiten Anmerkung

Gemäß Abschnitt 19.1 der Spezifikation XSLT 2.0 kann eine Implementierung spezifische Beschränkungen für einen absoluten URI (d. h. den Wert eines Attributs href für eine Anweisung xsl:result-document) festlegen. Für den Prozessor gilt:
  • Wenn der Benutzer einen com.ibm.xml.xapi.XResultResolver für den com.ibm.xml.xapi.XDynamicContext angibt, in dem das Style-Sheet ausgewertet wird, gibt es keine Beschränkungen für das Format eines solchen absoluten URI.
  • Wenn der Benutzer keinen XResultResolver angibt, gibt es nur Beschränkungen, wenn das Attribut href einen absoluten URI mit folgenden Eigenschaften angibt:
    • Der URI verwendet das Dateiprotokoll. In dem Fall muss der Benutzer berechtigt sein, den Ausgabedatenstrom für diese Datei zu öffnen.
    • Der URI verwendet ein anderes Protokoll. In dem Fall muss der Benutzer berechtigt sein, mit der neuen, zu Java äquivalenten Methode java.net.URL(href).openConnection().getOutputStream() einen Ausgabedatenstrom für den URI zu erstellen.
Position der abschließenden Ergebnisstruktur Position, an der die abschließende Ergebnisstruktur serialisiert wird XSLT 2.0

Abschnitt 2.3, siehe "Basisausgabe-URI"

Standardmäßig werden URIs abschließender Ergebnisstrukturen bezogen auf den Basis-URI des Hauptausgabedokuments interpretiert. Falls eine andere Position gewünscht wird, kann im dynamischen Kontext eine Implementierung von XResultResolver registriert werden, um benutzerdefiniertes Verhalten zu implementieren. Registrieren Sie die Implementierung von XResultResolver mit der Methode XDynamicContext.setResultResolver(). Der verwendete Basis-URI kann auch durch Aufrufen der Methode XDynamicContext.setBaseOutputURI() geändert werden.
Standardausgabecodierung Standardwert des Attributs "encoding" in xsl:output XSLT 2.0

Abschnitt 20

Die Standardausgabecodierung ist UTF-8.
"byte-order-mark" für UTF-8 "byte-order-mark" für UTF-8 XSLT 2.0

Abschnitt 20

Der Standardwert ist "no" und bedeutet, das am Anfang von UTF-8-Dateien keine Byteanordnungsmarkierung (BOM) erzeugt wird.
Zusätzliches Normalisierungsformat Zusätzliches Normalisierungsformat für Serialisierung XSLT 2.0 and XQuery 1.0 Serialization

Abschnitt 19.1

Abschnitt 20

Abschnitt 5.1.8

Es stehen keine implementierungsdefinierten Normalisierungsformate zur Verfügung.
Version in xsl:output Gültige Werte und Standardwert des Attributs "version" in xsl:output XSLT 2.0

Abschnitt 20

Der Standardwert für XML oder XHTML ist 1.0. Benutzer können explizit 1.0 oder 1.1 angeben. Für HTML ist der Standardwert 4.0.
Statische Typisierung im Style-Sheet Interaktion von XSLT-2.0-Style-Sheets mit dem XPath-2.0-Feature für statische Typisierung XSLT 2.0 und XPath 2.0

XSLT 2.0, Abschnitt 21

XPath 2.0, Abschnitt F.1

Dieser XSLT-Prozessor stellt derzeit keinen Mechanismus bereit, mit dem die statische Typisierung für XPaths angefordert werden kann.
Integrierte Typen Verfügbare Typdefinitionen in einem Style-Sheet XSLT 2.0

Abschnitt 3.13

Der Prozessor ist gemäß Abschnitt 3.13 der Spezifikation XSLT 2.0 schemafähig.
Namespace für zusätzliche Fehlercodes Verwendeter Namespace, wenn in der Implementierung zusätzliche Fehler-QNames definiert sind XSLT 2.0

Abschnitt 2.9

Der Prozessor nimmt ggf. die angegebenen Fehlercodes in eckigen Klammern in den Text seiner Nachrichten auf. Zusätzliche Fehler werden im Allgemeinen ähnlich ausgedrückt, allerdings ohne Spezifikationspräfix für die Fehler-ID.

Fehlerbedingungen werden nicht als QNames dargestellt. Anwendungen, die programmgesteuert auf Fehler reagieren sollen, müssen diese Fehler-IDs am Anfang der Fehlernachrichtenzeichenfolgen analysieren.

Codierung für nicht analysierten Text Mechanismus zur Bestimmung der Codierung einer externen Quelle XSLT 2.0

Abschnitt 16.2

Der Prozessor implementiert keine zusätzlichen heuristischen Verfahren. Die Auflösung der Codierung beginnt gleich mit Schritt 5. Vorausgesetzt wird UTF-8.
Verfügbare Dokumente Mechanismus zum Anfordern eines Dokumentknotens und eines Medientyps, wenn ein absoluter URI gegeben ist XSLT 2.0

Abschnitt 2.3

Abschnitt 16.1

Für Quellendokumente, die mit der XPath-Funktion fn:doc geladen werden, werden relative URIs standardmäßig ausgehend vom Basis-URI aus dem statischen Kontext aufgelöst. Wenn der Basis-URI nicht verfügbar ist, wird das aktuelle Arbeitsverzeichnis verwendet. Absolute URIs werden unverändert verwendet. Für Quellendokumente, die mit der XSLT-Funktion "document" geladen werden, ist die standardmäßige Auflösung in der Spezifikation XSLT 2.0 unter Multiple Source Documents beschrieben. Wenn kein Basis-URI verfügbar ist, wird das aktuelle Arbeitsverzeichnis verwendet. Falls die Anwendung dieses Verhalten beschränken oder erweitern muss, kann mit der Methode setSourceResolver() eine Implementierung von XSourceResolver in den XDynamicContext integriert werden.
Zusätzliche Ausgabemethoden Unterstützung für implementierungsdefinierte Ausgabemethoden XSLT 2.0 and XQuery 1.0 Serialization

Abschnitt 3

Der Prozessor implementiert keine zusätzlichen Ausgabemethoden.
Zusätzliche Serialisierungsparameter Effekt zusätzlicher Serialisierungsparameter in der Ausgabe des Serializers XSLT 2.0 and XQuery 1.0 Serialization

Abschnitt 3

XSLT 2.0, Abschnitt 20

Der Prozessor implementiert die folgenden zusätzlichen Serialisierungsparameter:
  • INDENT AMOUNT:

    Gibt die Anzahl der Leerzeichen bei aktiviertem Serialisierungsparameter "indent" an. Verwenden Sie die Methode XOutputParameters.setIndentAmount(). Sie können xalan:indent-amount auch im Element xsl:output eines XSL-Style-Sheets angeben. Verwenden Sie in dem Fall das Attribut "indent-amount".

  • BC MODE:

    Aktiviert für den Serializer den Modus für Abwärtskompatibilität. Wenn dieser Modus aktiviert ist und keine Ausgabemethode angegeben ist, wird standardmäßig XML verwendet. Wenn der Modus inaktiviert ist und keine Ausgabemethode angegeben ist, werden die Regeln von XSLT 2.0 befolgt. Verwenden Sie zum Aktivieren die Methode XOutputParameters.setBackwardsCompatible(). Für XSL-Style-Sheets bis Version 2.0 ist der Modus für Abwärtskompatibilität standardmäßig aktiviert.

Zusätzliches Normalisierungsformat Unterstützung für ein zusätzliches Unicode-Normalisierungsformat XSLT 2.0 and XQuery 1.0 Serialization

Abschnitt 5.1.8

Es stehen keine implementierungsdefinierten Normalisierungsformate zur Verfügung.
Option für Codierungsphase Auswirkung einer Option, mit der die Codierungsphase übersprungen werden kann, sodass das Serialisierungsergebnis ein Datenstrom mit Unicode-Zeichen ist XSLT 2.0 and XQuery 1.0 Serialization

Abschnitt 4

Der Prozessor stellt keine solche Option bereit.
Mechanismus für CDATA-Abschnitte Vom Benutzer angeforderter, alternativer Mechanismus für die Erstellung von CDATA-Abschnitten SR

Abschnitt 5.1.4 von "XSLT 2.0 and XQuery 1.0 Serialization"

Der Prozessor stellt keinen alternativen Mechanismus für die Erstellung von CDATA-Abschnitten bereit.
Unicode-Version Unterstützte Unicode-Version XPath 2.0

Anhang D

XQuery 1.0

Anhang D

Der Prozessor unterstützt die von der Host-JRE unterstützte Unicode-Version, d. h. Unicode Standard Version 4.0 für Java 6 und Unicode Standard Version 6.0 für Java 7.
Tracefunktion Tracefunktion

Der Bestimmungsort der Traceausgabe ist in der Implementierung definiert.

XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 4

Wenn Sie die Funktion fn:trace() verwenden, wird das Ergebnis an den com.ibm.xml.xapi.XMessageHandler (früher com.ibm.xml.xapi.XErrorHandler)) übergeben. Der Benutzer muss für die vom Prozessor gemeldeten Traceergebnisse einen eigenen XMessageHandler angeben. Der Typ von Tracenachrichten wir von XMessageHandler.TRACE angegeben.
Fehlerbehebung im Falle eines Unter-/Überlaufs bei Integer-Operationen Mechanismus, über den Benutzer auswählen können, ob bei arithmetischen Operationen im Falle eines Über-/Unterlaufs ein Fehler ausgelöst oder als Ergebnis der Modulo in Form des größten darstellbaren ganzzahligen Wertes zurückgegeben wird XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 6.2

Der Prozessor stellt einen Mechanismus bereit, der bei Integer-Operationen eine Überlauferkennung mit der Methode com.ibm.xml.xapi.XStaticContext.setIntegerMathMode(int) ermöglicht, die zur Unterscheidung zwischen den beiden Optionen mit der Konstante INTEGER_MATH_MODE_OVERFLOW_DETECTION oder INTEGER_MATH_MODE_LIMITED_PRECISION aufgerufen werden kann. Für ganze Zahlen mit beliebiger Genauigkeit wird eine dritte Option bereitgestellt.
Kürzen von Stellen Überschreitet die Anzahl der Stellen des Ergebnisses einer numerischen Operation die von der Implementierung unterstützte Anzahl, wir das Ergebnis auf implementierungsspezifische Weise gekürzt oder gerundet. XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 6.2

Abschnitt 3.2.3 von "XML Schema" Teil 2, "Datatypes" (zweite Auflage

Die Implementierung verwendet die Klasse java.math.BigDecimal, die eine fast unbegrenzte Genauigkeit unterstützt. Lediglich die Anzahl der Dezimalstellen nach dem Komma ist auf den Wert von Integer.MAX_VALUE begrenzt. Eine Verkürzung ist nur bei Divisionen erforderlich, weil bei Divisionen potenziell unendliche Dezimalzahlen möglich sind. Die Genauigkeit der Nachkommastellen von Ergebnissen ist auf 18 Stellen begrenzt. In diesem Fall wird der Rundungsmodus ROUND_HALF_UP verwendet, bei dem nicht angegebene Nachkommazahlen ab 0,5 (von null weg) aufgerundet und kleinere Nachkommazahlen abgerundet werden.
Funktionalität von Sortierfolgen Fähigkeit einer angegebenen Sortierfolge, Zeichenfolgen in für den Unterzeichenfolgenabgleich geeignete Sortierfolgeneinheiten zu zerlegen, als implementierungsdefinierte Eigenschaft XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 7.5

Wenn es sich bei dem Java Collator, der in einem Aufruf der Methode bindCollation für das Interface XDynamicContext angegeben ist, um eine Instanz der Klasse RuleBasedCollator handelt, kann der zugeordnete Sortierfolgen-URI mit einer der Funktionen für den sortierfolgenbasierten Unterzeichenfolgenabgleich verwendet werden.
Begrenzung für Jahreswerte Maximale Anzahl Stellen für Jahreswerte

Alle Prozessoren mit Mindestkonformität müssen Jahreswerte mit mindestens 4 Stellen (YYYY) unterstützen und für Sekundenbruchteile mindestens eine Genauigkeit von einer Millisekunde bzw. von drei Stellen (s.sss). Für konforme Prozessoren können in der Implementierung auch größere Grenzwerte für diese maximalen Stellenangaben festgelegt sein.

XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 10.1.1

Der Abschnitt year der Typen xs:date, xs:dateTime, xs:gYear und xs:gYearMonth muss im Bereich von -(10^9-1) bis (10^9)-1 liegen.
Genauigkeit von Sekundenbruchteilen Maximale Anzahl Stellen für Sekundenbruchteile XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 10.1.1

Für die Typen xs:time und xs:dateTime werden maximal 3 Stellen für den Sekundenbruchteil unterstützt.
Funktion "doc" Verschiedene Aspekte der Verarbeitung von fn:doc sind implementierungsspezifisch. Implementierungen können externe Konfigurationsoptionen angeben, die dem Benutzer erlauben, die Verarbeitungsaspekte zu steuern. XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 15.5.4

Benutzer können über die Methode com.ibm.xml.xapi.XDynamicContext.setSourceResolver(XSourceResolver) eine Implementierung von com.ibm.xml.xapi.XSourceResolver angeben. Die Implementierung von fn:doc löst mit dem XSourceResolver URIs auf, (sodass der Benutzer entscheiden kann, welche URIs unterstützt werden sollen). Die Methode getSource(String, String) des Resolvers muss ein JAXP-Quellenobjekt zurückgeben. Wenn kein XSourceResolver angegeben ist, wendet der Prozessor das Schema für Datei-URIs und die von der Methode java.net.URL.openConnection() unterstützten Schemata an. URI-Fragmente werden nicht verarbeitet. Es gibt keine integrierte Unterstützung für Nicht-XML-Medientypen. Benutzer können jedoch über eine Implementierung von XSourceResolver eine XML-Darstellung von Nicht-XML-Daten für den Prozessor bereitstellen.

Auf das Quellendokument kann je nach Validierungseinstellung die DTD-Validierung oder die Schemavalidierung angewendet werden. Die Validierungseinstellung kann für Instanzen von com.ibm.xml.xapi.XFactory mit der Methode setValidating festgelegt werden. Diese Einstellung wird von Objekten geerbt, die von der XFactory erstellt werden. Wenn für die Ausführungsmethode oder die Methode executeToList einer Instanz von com.ibm.xml.xapi.XExecutable eine Instanz von com.ibm.xml.xapi.XDynamicContext angegeben ist, wird die Validierungseinstellung dieser Instanz verwendet. Andernfalls wird die Einstellung der XExecutable-Instanz verwendet. Fehler, die beim Abrufen der Ressource oder bei der Analyse bzw. Validierung des Ressourceninhalts auftreten, kann der Prozessor nicht beheben.

Der Prozessor stellt keine Option bereit, die die Funktion fn:doc von der Rückgabe stabiler Ergebnisse entbindet.

Genauigkeit für Dezimalzahlen von Operatoren Bei xs:decimal-Werten ist die Genauigkeit der von numerischen Operatoren zurückgegebenen Dezimalstellen implementierungsspezifisch. XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 6.2, letzter Absatz

Die durch die Genauigkeit vorgegebene Anzahl Stellen ist das erforderliche Minimum für die Darstellung des genauen Ergebnisses ohne Rundung. Dies gilt nicht im Falle von Divisionen, wo die Anzahl der Nachkommastellen des Ergebnisses auf 18 beschränkt ist.
Stabilität von "fn:collection" und "fn:doc" Benutzeroption für die Auswertung der Funktion ohne garantierte Stabilität sowie Art der Bereitstellung einer solchen Option XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitte 15.5.4 und 15.5.6

Der Prozessor stellt keine Option bereit, die die Funktionen fn:doc und fn:collection von der Rückgabe stabiler Ergebnisse entbindet.
Dezimalgenauigkeit Von xs:decimal unterstützte Anzahl von Dezimalstellen

Das Ergebnis der Umsetzung einer Zeichenfolge in xs:decimal ist implementierungsdefiniert, wenn der Ergebniswert nicht zu groß oder zu klein ist, aber dennoch zu viele Dezimalstellen für eine genaue Darstellung hat.

XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 17.1.1

Die Implementierung verwendet die Klasse java.math.BigDecimal, die eine fast unbegrenzte Genauigkeit unterstützt. Lediglich die Anzahl der Dezimalstellen nach dem Komma ist auf den Wert von Integer.MAX_VALUE begrenzt. Der Arbeitsspeicher wäre vor Erreichung dieser Begrenzung erschöpft.
Warnung zurückgeben Umstände, unter denen Warnungen zurückgegeben werden, und Handhabung von Warnungen XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 2.3

XPath 2.0

Abschnitt 2.3.1

XQuery 1.0

Abschnitt 2.3.1

Der Benutzer kann mit der Methode setMessageHandler()(XMessageHandler) für com.ibm.xml.xapi.XStaticContext (statische Warnungen) oder com.ibm.xml.xapi.XDynamicContext (dynamische Warnungen) eine Implementierung von com.ibm.xml.xapi.XMessageHandler bereitstellen. Für jede Warnung wird die Methode report(int, String, XSourceLocation, Exception) des XMessageHandler aufgerufen, wobei das erste Argument gleich XMessageHandler.WARNING ist.

Wenn kein XMessageHandler angegeben ist, werden Warnungen an den Standardfehlerausgabedatenstrom ausgegeben.

Warnungen werden zurückgegeben, wenn der Prozessor Maßnahmen zur Vermeidung einer Fehlerbedingung ergreift, wenn er beispielsweise einen ungültigen Wert (den der Benutzer später korrigieren kann) durch einen Standardwert ersetzt.

Melden von Fehlern Methoden, mit denen die externe Verarbeitungsumgebung über Fehler informiert wird XQuery 1.0 and XPath 2.0 Functions and Operators

Abschnitt 2.3

XPath 2.0

Abschnitt 2.3.2

XQuery 1.0

Abschnitt 2.3.2

Der Benutzer kann mit der Methode setMessageHandler()(XMessageHandler) für com.ibm.xml.xapi.XStaticContext (statische Fehler) oder com.ibm.xml.xapi.XDynamicContext (dynamische Fehler) eine Implementierung von com.ibm.xml.xapi.XMessageHandler bereitstellen. Für jeden Fehler wird die Methode report(int, String, XSourceLocation, Exception) des XMessageHandler aufgerufen, wobei das erste Argument gleich XMessageHandler.ERROR oder XMessageHandler.FATAL_ERROR ist.

Wenn kein XMessageHandler angegeben ist, werden Fehler an den Standardfehlerausgabedatenstrom ausgegeben.

Regeln von XML 1.0 oder XML 1.1 Angabe, ob der Prozessor für Namen und unterstützte Zeichen die Regeln von XML 1.0 oder XML 1.1 verwendet XPath 2.0

Anhang D

XQuery 1.0

Anhang D

  Der Prozessor befolgt für NDName-Definitionen und unterstützte Zeichen sowie bei der Zeilenendebehandlung und der Normalisierung von Attributwerten die Regeln von XML 1.1.
Standardsortierung für leere Sequenzen Angabe, ob auf leere Sequenzen in "order by" der Wert "empty least" oder "empty greatest" angewendet wird XQuery 1.0

Abschnitt 3.8.3

  Der Prozessor verwendet den durch einen Aufruf der XStaticContext-Methode setDefaultOrderForEmptySequences gesetzten Standardwert. Andernfalls gilt die Standardeinstellung "empty greatest".
Unterstützte "pragmas" Namen und Semantik von unterstützten XQuery-Erweiterungsausdrücken (pragmas) XQuery 1.0

Abschnitt 3.14

XQST0079 Der Prozessor erkennt und unterstützt keine Erweiterungsausdrücke.
Unterstützte Optionen Namen und Semantik von unterstützten XQuery-Optionsdeklarationen XQuery 1.0

Abschnitt 4.16

  Der Prozessor unterstützt momentan die Option "java-extension" für die Deklaration von Erweiterungsfunktionen in einer Abfrage. Nähere Informationen hierzu finden Sie in der Dokumentation zur API.
Parameterübergabe an externe Funktionen Unterstützte Protokolle für die Parameterübergabe an externe Funktionen von XQuery und für die Rückgabe eines Ergebnisses XQuery 1.0

Abschnitt 4.15

  Erweiterungsfunktionen werden über die Methoden XStaticContext.declareFunction und XDynamicContext.bindFunction des Prozessors unterstützt. Weitere Informationen finden Sie in der API-Dokumentation.
Aufrufen der Serialisierung Mittel zum Aufrufen der Serialisierung für das Auswertungsergebnis einer XQuery-Abfrage XQuery 1.0

Abschnitt 2.2.4

  Wenn für eine Auswertungsmethode einer XQueryExecutable-Instanz eine Instanz des Interface javax.xml.transform.stream.StreamResult angegeben ist, serialisiert der Prozessor das Ergebnis der Abfrage. Sie können auch einen XSequenceCursor serialisieren, der das Ergebnis einer Abfrageauswertung ist, indem Sie eine der exportSequence-Methoden aufrufen.
Standardparameter für Serialisierung Standardwerte der Serialisierungsparameter byte-order-mark, encoding, media-type, normalization-form, omit-xml-declaration, standalone und version XQuery 1.0

Abschnitt 2.2.4

Anhang C.3

  Die Einstellungen für Serialisierungsparameter können in einer Instanz des Interface XOutputParameters angegeben werden.
  • Die Standardeinstellung des Serialisierungsparameters byte-order-mark lautet "yes" für die Codierung UTF-16. Andernfalls wird "no" verwendet.
  • Die Standardeinstellung für den Serialisierungsparameter encoding ist "UTF-8".
  • Die Standardeinstellung des Serialisierungsparameters media-type lautet "text/xml" für die Ausgabemethode xml, "text/html" für die Ausgabemethoden html und xhtml und "text/plain" für die Ausgabemethode text.
  • Die Standardeinstellung für den Serialisierungsparameter normalization-form ist "none".
  • Die Standardeinstellung für den Serialisierungsparameter omit-xml-declaration ist "no".
  • Die Standardeinstellung für den Serialisierungsparameter standalone ist "no".
  • Die Standardeinstellung für den Serialisierungsparameter version ist "1.0" für die Ausgabemethoden xml und xhtml und "4.01" für die Ausgabemethode html.
Nicht erfolgreicher Aufruf einer externen Funktion Auswirkung eines erfolglosen Aufrufs einer externen Funktion XQuery 1.0

Anhang D

  Der Prozessor meldet zuerst jeder angegebenen Instanz des Interface XMessageHandler einen Fehler und löst dann eine Ausnahme aus, falls ein Aufruf einer externen Funktion von XQuery aus einem der folgenden Gründe erfolglos ist (weitere Gründe sind möglich):
  • Der Funktionsname wurde nicht mit der Methode XDynamicContext.bindFunction an eine Funktionsdefinition gebunden.
  • Die Anzahl oder der Typ der angegebenen Argumente entspricht nicht den Erwartungen der Funktionsimplementierung bezüglich der Anzahl oder des Typs.
  • Die Implementierung der Funktion hat einen Fehler oder eine Ausnahme ausgelöst.
Modulimporte suchen Der Prozess, mit dem die jeweiligen durch einen Modulimport zu importierenden Module ermittelt werden, wenn das Modulfeature unterstützt wird (einschließlich der Verarbeitung von möglicherweise vorhandenen Positionshinweisen). XQuery 1.0

Abschnitt 4.11

  Wenn ein XModuleResolver bei XStaticContext registriert ist, wird dieser verwendet, um Quellenobjekte (Source) für die Module abzurufen. Ist kein XModuleResolver registriert oder gibt dieer null zurück, versucht der Prozessor, ein einziges Modul für jeden Positionshinweis zu laden. Relative URIs werden anhand des Basis-URI aus dem statischen Kontext, sofern verfügbar, aufgelöst. Wenn der Basis-URI nicht verfügbar ist, werden relative Positionshinweise als Dateipfade relativ zum aktuellen Arbeitsverzeichnis aufgelöst. Absolute Positionshinweise werden unverändert verwendet. Wenn ein Modul für einen bestimmten Positionshinweis nicht geladen werden kann, fährt der Prozessor mit der Verarbeitung des nächsten Hinweises fort. Es wird eine Fehlernachricht ausgegeben, wenn keine Module für einen Namespace geladen werden können.
Die folgenden implementierungsspezifischen Informationen beziehen sich auf die Unterstützung für XSLT 1.0:
  • Die Funktion "system-property" unterstützt keine Java-Systemeigenschaften.
  • Wenn bei Verwendung der Ausgabemethode HTML der Wert eines Attributs ein Tabulatorzeichen, ein Rücklaufzeichen oder ein Zeilenvorschubzeichen enthält, serialisiert der Prozessor das eigentliche Zeichen und nicht die Zeichenreferenz als Teil des Attributwertes. Beides ist laut XSLT 2.0 and XQuery 1.0 Serialization Recommendation and by the HTML 4.01 Recommendation zulässig, doch ältere Versionen von IBM XSLT-Prozessoren würden in einem solchen Kontext das Zeichen als Zeichenreferenz serialisieren.

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cins_xml_discretion
Dateiname:cins_xml_discretion.html