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.
Herstellen geeft aan dat de XslCompiledTransform klasse van deze fout wordt hersteld. De XsltArgumentList.XsltMessageEncountered gebeurtenis kan worden gebruikt om gebeurtenissen van de XSLT-processor te rapporteren.
Fout geeft aan dat er een uitzondering wordt gegenereerd voor deze voorwaarde.
De sectieverwijzingen vindt u in de W3C XSL-transformaties (XSLT) versie 1.0-aanbeveling en de W3C XSL-transformaties (XSLT) versie 1.0-specificatie Errata.
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.