Dela via


Å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.

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.

Se även