Sdílet prostřednictvím


Chyby XSLT s možností zotavení

Doporučení W3C XSL (XSLT) verze 1.0 obsahuje oblasti, ve kterých se poskytovatel implementace může rozhodnout, jak řešit situaci. Tyto oblasti jsou považovány za volitelné chování. Například v části 7.3 Vytváření pokynů ke zpracování se v doporučení XSLT 1.0 uvádí, že se jedná o chybu při vytváření instance obsahu xsl:processing-instruction uzlů jiných než textových uzlů. U některých problémů doporučení XSLT 1.0 indikuje, jaké rozhodnutí by se mělo provést, pokud se procesor rozhodne zotavit z chyby. Pro problém uvedený v části 7.3 W3C říká, že implementace se může zotavit z této chyby ignorováním uzlů a jejich obsahu.

Volitelné chování

V následující tabulce jsou uvedeny jednotlivé volitelné chování povolené doporučením XSLT 1.0 a způsob zpracování těchto chování XslCompiledTransform třídou.

Podmínka XSLT Sekce Chování XslCompiledTransform
Textový uzel odpovídá oběma xsl:strip-space a xsl:preserve-space. 3.4 Obnovit
Zdrojový uzel odpovídá více než jednomu pravidlu šablony. 5.5 Obnovit
Identifikátor URI oboru názvů je deklarován jako alias pro více identifikátorů URI oboru názvů, přičemž všechny mají stejnou prioritu importu. 7.1.1 Obnovit
Atribut name v xsl:attribute a xsl:element vygenerovaný z hodnoty atributu není QName. 7.1.2, 7.1.3 Chyba*
Dvě sady atributů se stejným importem a rozšířeným názvem mají společný atribut a neexistuje žádná jiná sada atributů obsahující společný atribut se stejným názvem s vyšší důležitostí. 7.1.4 Obnovit
Přidání atributu do elementu po přidání podřízených položek do elementu 7.1.3 Chyba*
Vytvoření atributu s názvem xmlns 7.1.3 Chyba*
Přidání atributu do uzlu, který není prvkem. 7.1.3 Chyba*
Vytváření uzlů jiných než textových uzlů během vytváření instance obsahu atributu xsl:attribute . 7.1.3 Chyba*
Atribut name nedává xsl:processing-instruction ncName ani cíl instrukce zpracování. 7.3 Chyba*
Vytvoření instance obsahu xsl:processing-instruction uzlů jiných než textových uzlů 7.3 Chyba*
Výsledek vytvoření instance obsahu xsl:processing-instruction obsahuje řetězec "?>". 7.3 Obnovit
Výsledek vytvoření instance obsahu xsl:processing-instruction obsahuje řetězec "--" nebo končí na "-". 7,4 Obnovit
Výsledek vytvoření instance obsahu xsl:comment vytvoří uzly jiné než textové uzly. 7,4 Chyba*
Šablona v elementu proměnné vazby vrátí uzel atributu nebo uzel oboru názvů. 11.2 Chyba*
Při načítání prostředku z identifikátoru URI předaného do funkce dokumentu došlo k chybě. 12.1 Chyba
Odkaz na identifikátor URI ve funkci dokumentu obsahuje identifikátor fragmentu a při zpracování identifikátoru fragmentu došlo k chybě. 12.1 Obnovit*
Existuje více atributů se stejným názvem, ale různé hodnoty, které nejsou pojmenované elementy cdata-section s xsl:output stejnou prioritou importu. 16 Obnovit
Procesor nepodporuje kódování v atributu xsl:output kódování. 16.1 Obnovit
Zakázání výstupního escapingu pro textový uzel, který se používá pro něco jiného než textový uzel ve výsledném stromu 16.4 Obnovit*
Převod fragmentu výsledného stromu na číslo nebo řetězec, pokud fragment výsledného stromu obsahuje textový uzel s povoleným výstupním zapouzdřením. 16.4 Obnovit*
Výstupní zapouzdření je zakázáno pro znak, který nelze reprezentovat v kódování, které procesor XSLT používá pro výstup. 16.4 Obnovit*
Přidání uzlu oboru názvů do elementu po přidání podřízených položek nebo po přidání atributů do něj. errata 25 Chyba*
Atributem value je xsl:number NAN, nekonečné nebo menší než 0,5. errata 24 Obnovit
Druhý argument node-set na funkci dokumentu je prázdný a odkaz na identifikátor URI je relativní. errata 14 Obnovit

* Toto chování se liší od XslTransform chování třídy. Další informace naleznete v tématu Implementace volitelné chování ve třídě XslTransform.

Viz také