Helyreállítható XSLT-hibák
A W3C XSL-átalakítások (XSLT) 1.0-s verziójára vonatkozó javaslat olyan területeket tartalmaz, ahol a megvalósítási szolgáltató eldöntheti, hogyan kezelje a helyzetet. Ezek a területek diszkrecionális viselkedésnek minősülnek. Például a 7.3 Feldolgozási utasítások létrehozása szakaszban az XSLT 1.0 javaslat azt állítja, hogy hiba, ha a xsl:processing-instruction
szövegcsomópontoktól eltérő csomópontokat hoz létre. Bizonyos problémák esetén az XSLT 1.0 javaslat azt jelzi, hogy milyen döntést kell hozni, ha a processzor úgy dönt, hogy helyreállítja a hibát. A 7.3 szakaszban megadott probléma esetén a W3C azt mondja, hogy az implementáció helyre tud állni ebből a hibából a csomópontok és a tartalom figyelmen kívül hagyásával.
Diszkréciós viselkedés
Az alábbi táblázat felsorolja az XSLT 1.0-javaslat által engedélyezett diszkrecionális viselkedéseket, valamint azt, hogy az osztály hogyan kezeli ezeket a XslCompiledTransform viselkedéseket.
A helyreállítás azt jelzi, hogy az XslCompiledTransform osztály helyreáll ebből a hibából. Az XsltArgumentList.XsltMessageEncountered esemény az XSLT-processzorból származó események jelentésére használható.
A hiba azt jelzi, hogy a rendszer kivételt emel ki ehhez a feltételhez.
A szakaszhivatkozások a W3C XSL-átalakítások (XSLT) 1.0-s verziójára vonatkozó javaslatban és a W3C XSL-átalakítások (XSLT) 1.0-s specifikációs errata verziójában találhatók.
XSLT-feltétel | Section | XslCompiledTransform viselkedés |
---|---|---|
A szövegcsomópont megegyezik mind a kettővel, mind xsl:strip-space a xsl:preserve-space . |
3.4 | Helyreállítás |
A forráscsomópont egynél több sablonszabálynak felel meg. | 5,5 | Helyreállítás |
A névtér URI-ja több névtér URI-jának aliasaként van deklarálva, és mindegyiknek ugyanaz az importálási elsőbbsége van. | 7.1.1 | Helyreállítás |
Az name attribútumértékben lévő xsl:attribute és xsl:element abból létrehozott attribútum nem QName. |
7.1.2, 7.1.3 | Hiba* |
Két azonos importálási és kibontott névvel rendelkező attribútumkészlet közös attribútummal rendelkezik, és nincs más olyan attribútumkészlet, amely ugyanazt a nevet tartalmazza, és nagyobb jelentőséggel bír. | 7.1.4 | Helyreállítás |
Attribútum hozzáadása egy elemhez a gyermekek hozzáadása után. | 7.1.3 | Hiba* |
Xmlns nevű attribútum létrehozása | 7.1.3 | Hiba* |
Attribútum hozzáadása olyan csomóponthoz, amely nem elem. | 7.1.3 | Hiba* |
A szövegcsomópontoktól eltérő csomópontok létrehozása az attribútum tartalmának példányosítása xsl:attribute során. |
7.1.3 | Hiba* |
Az name egyik xsl:processing-instruction attribútum nem ad NCName-t és egy feldolgozási utasítási célt sem. |
7.3 | Hiba* |
A szövegcsomópontoktól eltérő csomópontok létrehozása a tartalom xsl:processing-instruction példányosításával. |
7.3 | Hiba* |
A sztring tartalmának példányosításának xsl:processing-instruction eredménye ?>" |
7.3 | Helyreállítás |
A tartalom példányosításának xsl:processing-instruction eredménye a "--" sztringet tartalmazza, vagy "-" karakterrel végződik. |
7,4 | Helyreállítás |
A szövegcsomópontoktól eltérő csomópontokat hoz létre a xsl:comment tartalom példányosításának eredménye. |
7,4 | Hiba* |
A változókötésű elem sablonja egy attribútumcsomópontot vagy egy névtércsomópontot ad vissza. | 11.2 | Hiba* |
Hiba történt az erőforrás beolvasása a dokumentumfüggvénybe átadott URI-ból. | 12,1 | Hiba |
A dokumentumfüggvény URI-hivatkozása egy töredékazonosítót tartalmaz, és hiba történt a töredékazonosító feldolgozásakor. | 12,1 | Visszaszerez* |
Több, azonos nevű, de eltérő értékkel rendelkező attribútum létezik, amelyek nem azonos importálási elsőbbséggel rendelkező cdata-section elemek xsl:output . |
16 | Helyreállítás |
A processzor nem támogatja a kódolási attribútum kódolását xsl:output . |
16.1 | Helyreállítás |
Az eredményfán lévő szövegcsomóponton kívül máshoz használt szövegcsomópont kimenetének letiltása. | 16,4 | Visszaszerez* |
Eredményfatöredék számmá vagy sztringgé alakítása, ha az eredményfatöredék tartalmaz egy szöveges csomópontot, amelyen engedélyezve van a kimeneti ugrás. | 16,4 | Visszaszerez* |
Az XSLT-processzor által a kimenethez használt kódolásban nem jeleníthető meg a kimenetek elől menekülő karakter. | 16,4 | Visszaszerez* |
Névtércsomópont hozzáadása egy elemhez a gyermekek hozzáadása után vagy attribútumok hozzáadása után. | errata 25 | Hiba* |
A value NAN attribútuma xsl:number , végtelen vagy 0,5-nél kisebb |
errata 24 | Helyreállítás |
A dokumentumfüggvény második argumentumcsomópontja üres, az URI-hivatkozás pedig relatív. | errata 14 | Helyreállítás |
* Ez a viselkedés eltér az XslTransform osztály viselkedésétől. További információ: A diszkréciós viselkedések implementálása az XslTransform osztályban.