Freigeben über


Wiederherstellbare XSLT-Fehler

Die W3C-Empfehlung zu XSL-Transformationen (XSLT), Version 1.0, umfasst Bereiche, bei denen der Anbieter der Implementierung u. U. über die Behandlung der Situation entscheidet. Diese Bereiche werden als freigegebene Verhaltensweisen betrachtet. Laut W3C-Empfehlung, Abschnitt 7.3, "Creating Processing Instructions", liegt z. B. ein Fehler vor, wenn durch Instanziierung des Inhalts von xsl:processing-instruction außer Textknoten auch andere Knoten erstellt werden. Bei bestimmten Problemen gibt die Empfehlung zu XSLT 1.0 auch Maßnahmen für den Fall an, dass der Prozessor eine Wiederherstellung vom Fehler durchführt. Für das in Abschnitt 7.3 angeführte Problem empfiehlt das W3C, die Knoten einschließlich des Inhalts zu ignorieren, damit die Implementierung von diesem Fehler wiederherstellen kann.

Freigegebene Verhaltensweisen

Die folgenden Tabelle enthält alle freigegebenen Verhaltensweisen, die gemäß der Empfehlung zu XSLT 1.0 zugelassen sind, und beschreibt, wie diese Verhaltensweisen von der XslCompiledTransform-Klasse behandelt werden.

XSLT-Bedingung

Abschnitt

XslCompiledTransform-Verhaltensweise

Ein Textknoten entspricht sowohl xsl:strip-space als auch xsl:preserve-space.

3.4

Wiederherstellen

Ein Quellknoten entspricht mehreren Vorlagenregeln.

5.5

Wiederherstellen

Ein Namespace-URI (Uniform Resource Identifier) ist als Alias für mehrere Namespace-URIs deklariert, die alle die gleiche Importpriorität haben.

7.1.1

Wiederherstellen

Das aus einem Attributwert erstellte name-Attribut im xsl:attribute und im xsl:element ist kein QName.

7.1.2, 7.1.3

Fehler*

Zwei Attributgruppen mit derselben Importpriorität und demselben erweiterten Namen haben ein gemeinsames Attribut, und es gibt keine andere Attributgruppe, die das gemeinsame Attribut mit demselben Namen und einer höheren Priorität enthält.

7.1.4

Wiederherstellen

Hinzufügen eines Attributs zu einem Element, nachdem diesem untergeordnete Elemente hinzugefügt wurden.

7.1.3

Fehler*

Erstellen eines Attributs mit dem Namen 'xmlns'.

7.1.3

Fehler*

Hinzufügen eines Attributs zu einem Knoten, bei dem es sich nicht um ein Element handelt.

7.1.3

Fehler*

Erstellen von anderen Knoten als Textknoten während der Instanziierung des Inhalts des xsl:attribute-Attributs.

7.1.3

Fehler*

Das name-Attribut einer xsl:processing-instruction ergibt nicht gleichzeitig einen NCName und ein Verarbeitungsanweisungsziel.

7.3

Fehler*

Bei der Instanziierung des Inhalts von xsl:processing-instruction werden statt Textknoten andere Knoten erstellt.

7.3

Fehler*

Die Ergebnisse der Instanziierung des Inhalts von xsl:processing-instruction enthalten die Zeichenfolge "?>".

7.3

Wiederherstellen

Die Ergebnisse der Instanziierung des Inhalts von xsl:processing-instruction enthalten die Zeichenfolge "--" oder enden mit "-".

7.4

Wiederherstellen

Bei den Ergebnisse der Instanziierung des Inhalts von xsl:comment werden statt Textknoten andere Knoten erstellt.

7.4

Fehler*

Von der Vorlage innerhalb eines Variablenbindungselements wird ein Attributknoten oder ein Namespace-Knoten zurückgegeben.

11.2

Fehler*

Fehler beim Abrufen der Ressource aus dem URI, der in die Dokumentfunktion übergeben wird.

12.1

Fehler

Der URI-Verweis in der Dokumentfunktion enthält einen Fragmentbezeichner, und es tritt ein Fehler bei der Verarbeitung des Fragmentbezeichners auf.

12.1

Wiederherstellen*

Es sind mehrere Attribute mit demselben Namen aber unterschiedlichen Werten vorhanden, die in der xsl:output nicht als cdata-section-Elemente mit derselben Importpriorität bezeichnet werden.

16

Wiederherstellen

Die Codierung im xsl:output-Codierungsattribut wird vom Prozessor nicht unterstützt.

16.1

Wiederherstellen

Deaktivieren des Ausgabeschutzes für einen Textknoten, der in der Ergebnisstruktur nicht für einen Textknoten verwendet wird.

16.4

Wiederherstellen*

Konvertieren eines Ergebnisstrukturfragments in eine Zahl oder eine Zeichenfolge, falls das Ergebnisstrukturfragment einen Textknoten mit aktiviertem Ausgabeschutz enthält.

16.4

Wiederherstellen*

Der Ausgabeschutz wird für ein Zeichen deaktiviert, das in der vom XSLT-Prozessor für die Ausgabe verwendeten Codierung nicht dargestellt werden kann.

16.4

Wiederherstellen*

Hinzufügen eines Namespace-Knotens zu einem Element, nachdem diesem entweder untergeordnete Elemente oder Attribute hinzugefügt worden sind.

errata 25

Fehler*

Das value-Attribut einer xsl:number ist NAN (Not a Number), unendlich oder kleiner als 0,5.

errata 24

Wiederherstellen

Das zweite node-set-Argument der Dokumentfunktion ist leer, und der URI-Verweis ist relativ.

errata 14

Wiederherstellen

* Diese Verhaltensweise unterscheidet sich von der der XslTransform-Klasse. Weitere Informationen finden Sie unter Implementierung von freigegebenen Verhaltensweisen in der XslTransform-Klasse.

Siehe auch

Weitere Ressourcen

XSLT-Transformationen