Delen via


Herstelbare XSLT-fouten

De aanbeveling W3C XSL Transformations (XSLT) versie 1.0 bevat gebieden waarin de implementatieprovider kan bepalen hoe een situatie moet worden afgehandeld. Deze gebieden worden beschouwd als discretionair gedrag. In sectie 7.3 Het maken van verwerkingsinstructies geeft de aanbeveling XSLT 1.0 bijvoorbeeld aan dat het een fout is als er een instantie wordt gemaakt van de inhoud van xsl:processing-instruction andere knooppunten dan tekstknooppunten. Voor sommige problemen geeft de aanbeveling XSLT 1.0 aan welke beslissing moet worden genomen als de processor besluit om te herstellen van de fout. Voor het probleem in sectie 7.3 geeft de W3C aan dat de implementatie van deze fout kan worden hersteld door de knooppunten en hun inhoud te negeren.

Discretionair gedrag

De volgende tabel bevat elk van de discretionaire gedragingen die zijn toegestaan door de XSLT 1.0-aanbeveling en hoe deze gedragingen worden verwerkt door de XslCompiledTransform klasse.

XSLT-voorwaarde Sectie XslCompiledTransform-gedrag
Een tekstknooppunt komt overeen met zowel xsl:strip-space als xsl:preserve-space. 3.4 Herstellen
Een bronknooppunt komt overeen met meer dan één sjabloonregel. 5.5 Herstellen
Een naamruimte-URI wordt gedeclareerd als een alias voor meerdere naamruimte-URI's, allemaal met dezelfde importprioriteit. 7.1.1 Herstellen
Het name kenmerk in xsl:attribute en xsl:element gegenereerd op basis van een kenmerkwaarde is geen QName. 7.1.2, 7.1.3 Fout*
Twee kenmerksets met dezelfde import- en uitgevouwen naam hebben een kenmerk gemeen en er is geen andere kenmerkset met het algemene kenmerk met dezelfde naam met een hogere urgentie. 7.1.4 Herstellen
Een kenmerk toevoegen aan een element nadat onderliggende elementen eraan zijn toegevoegd. 7.1.3 Fout*
Een kenmerk maken met de naam 'xmlns' 7.1.3 Fout*
Een kenmerk toevoegen aan een knooppunt dat geen element is. 7.1.3 Fout*
Andere knooppunten dan tekstknooppunten maken tijdens de instantiëring van de inhoud van het xsl:attribute kenmerk. 7.1.3 Fout*
Het name kenmerk van een xsl:processing-instruction geeft niet zowel een NCName als een verwerkingsinstructiedoel. 7.3 Fout*
Door de inhoud van xsl:processing-instruction andere knooppunten dan tekstknooppunten te instantiëren. 7.3 Fout*
Het resultaat van het instantiëren van de inhoud van de xsl:processing-instruction inhoud bevat de tekenreeks '?>' 7.3 Herstellen
Het resultaat van het instantiëren van de inhoud van de xsl:processing-instruction inhoud bevat de tekenreeks '--' of eindigt met '-'. 7.4 Herstellen
Het resultaat van het instantiëren van de inhoud van de xsl:comment maken van andere knooppunten dan tekstknooppunten. 7.4 Fout*
De sjabloon binnen een variabelebindingselement retourneert een kenmerkknooppunt of een naamruimteknooppunt. 11.2 Fout*
Er is een fout opgetreden bij het ophalen van de resource uit de URI die is doorgegeven aan de documentfunctie. 12.1 Error
De URI-verwijzing in de documentfunctie bevat een fragment-id en er is een fout opgetreden bij het verwerken van de fragment-id. 12.1 Herstellen*
Er zijn meerdere kenmerken met dezelfde naam, maar verschillende waarden, die geen cdata-sectie-elementen worden genoemd met xsl:output dezelfde importprioriteit. 16 Herstellen
De processor biedt geen ondersteuning voor de codering in het xsl:output coderingskenmerk. 16.1 Herstellen
Het uitschakelen van uitvoeruitvlucht voor een tekstknooppunt dat wordt gebruikt voor iets anders dan een tekstknooppunt in de resultaatstructuur. 16.4 Herstellen*
Het converteren van een fragment van een resultaatstructuur naar een getal of tekenreeks als het resultaatstructuurfragment een tekstknooppunt bevat met uitvoer escapen ingeschakeld. 16.4 Herstellen*
Escape-uitvoer is uitgeschakeld voor een teken dat niet kan worden weergegeven in de codering die door de XSLT-processor wordt gebruikt voor uitvoer. 16.4 Herstellen*
Een naamruimteknooppunt toevoegen aan een element nadat onderliggende elementen eraan zijn toegevoegd of nadat er kenmerken aan zijn toegevoegd. errata 25 Fout*
Het value kenmerk van een xsl:number is NAN, oneindig of kleiner dan 0,5 errata 24 Herstellen
De tweede argumentknooppuntenset op de documentfunctie is leeg en de URI-verwijzing is relatief. errata 14 Herstellen

* Dit gedrag verschilt van die van de XslTransform klasse. Zie Implementatie van discretionaire gedragingen in de XslTransform-klasse voor meer informatie.

Zie ook