Återställningsbara XSLT-fel
Rekommendationen W3C XSL Transformations (XSLT) version 1.0 innehåller områden där implementeringsprovidern kan bestämma hur en situation ska hanteras. Dessa områden anses vara diskretionärt beteende. I avsnitt 7.3 Skapa bearbetningsinstruktioner anger till exempel XSLT 1.0-rekommendationen att det är ett fel om instansiering av xsl:processing-instruction
innehållet i skapar andra noder än textnoder. För vissa problem anger XSLT 1.0-rekommendationen vilket beslut som ska fattas om processorn bestämmer sig för att återställa från felet. För det problem som anges i avsnitt 7.3 säger W3C att implementeringen kan återställas från det här felet genom att ignorera noderna och deras innehåll.
Diskretionära beteenden
I följande tabell visas var och en av de diskretionära beteenden som tillåts av XSLT 1.0-rekommendationen XslCompiledTransform och hur dessa beteenden hanteras av klassen.
Återställning anger att XslCompiledTransform klassen kommer att återställas från det här felet. Händelsen XsltArgumentList.XsltMessageEncountered kan användas för att rapportera händelser från XSLT-processorn.
Felet anger att ett undantag utlöses för det här villkoret.
Avsnittsreferenserna finns i W3C XSL Transformations (XSLT) Version 1.0 Recommendation och W3C XSL Transformations (XSLT) Version 1.0 Specification Errata.
XSLT-villkor | Avsnitt | XslCompiledTransform-beteende |
---|---|---|
En textnod matchar både xsl:strip-space och xsl:preserve-space . |
3.4 | Återställ |
En källnod matchar mer än en mallregel. | 5,5 | Återställ |
En namnområdes-URI deklareras som ett alias för flera namnområdes-URI:er, som alla har samma importpriorence. | 7.1.1 | Återställ |
Attributet name i xsl:attribute och xsl:element som genereras från ett attributvärde är inte ett QName. |
7.1.2, 7.1.3 | Fel* |
Två attributuppsättningar med samma import och expanderade namn har ett gemensamt attribut och det finns ingen annan attributuppsättning som innehåller det gemensamma attributet med samma namn med högre prioritet. | 7.1.4 | Återställ |
Lägga till ett attribut till ett element efter att underordnade har lagts till i det. | 7.1.3 | Fel* |
Skapa ett attribut med namnet "xmlns" | 7.1.3 | Fel* |
Lägga till ett attribut till en nod som inte är ett element. | 7.1.3 | Fel* |
Skapa andra noder än textnoder under instansieringen av innehållet i attributet xsl:attribute . |
7.1.3 | Fel* |
Attributet name för en xsl:processing-instruction ger inte både ett NCName och ett mål för bearbetningsinstruktioner. |
7.3 | Fel* |
Om du instansierar innehållet xsl:processing-instruction i skapas andra noder än textnoder. |
7.3 | Fel* |
Resultatet av instansiering av innehållet i xsl:processing-instruction innehåller strängen "?>" |
7.3 | Återställ |
Resultatet av instansiering av innehållet i xsl:processing-instruction innehåller strängen "--" eller slutar med "-". |
7,4 | Återställ |
Resultatet av instansiering av innehållet i xsl:comment skapar andra noder än textnoder. |
7,4 | Fel* |
Mallen i ett variabelbindningselement returnerar en attributnod eller en namnområdesnod. | 11.2 | Fel* |
Ett fel uppstod när resursen skulle hämtas från den URI som skickades till dokumentfunktionen. | 12,1 | Fel |
URI-referensen i dokumentfunktionen innehåller en fragmentidentifierare och det finns ett fel vid bearbetning av fragmentidentifieraren. | 12,1 | Återställa* |
Det finns flera attribut med samma namn, men olika värden, som inte heter cdata-section-element i xsl:output med samma importpriorens. |
16 | Återställ |
Processorn stöder inte kodningen i kodningsattributet xsl:output . |
16.1 | Återställ |
Inaktivera utdata som tas bort för en textnod som används för något annat än en textnod i resultatträdet. | 16,4 | Återställa* |
Konvertera ett resultatträdsfragment till ett tal eller en sträng om resultatträdsfragmentet innehåller en textnod med utdata som inte är aktiverade. | 16,4 | Återställa* |
Utdata som flyr inaktiveras för ett tecken som inte kan representeras i den kodning som XSLT-processorn använder för utdata. | 16,4 | Återställa* |
Lägga till en namnområdesnod i ett element efter att underordnade har lagts till i den eller efter att attribut har lagts till i den. | errata 25 | Fel* |
Attributet value för ett xsl:number är NAN, oändligt eller mindre än 0,5 |
errata 24 | Återställ |
Det andra argumentets noduppsättning till dokumentfunktionen är tom och URI-referensen är relativ. | errata 14 | Återställ |
* Det här beteendet skiljer sig från klassens XslTransform . Mer information finns i Implementering av diskretionära beteenden i XslTransform-klassen.