Erros XSLT recuperáveis
A Recomendação de Transformações XSL (XSLT) Versão 1.0 do W3C inclui áreas nas quais o provedor de implementação pode decidir como lidar com uma situação. Estas áreas são consideradas como comportamento discricionário. Por exemplo, na seção 7.3 Criando instruções de processamento, a recomendação XSLT 1.0 afirma que é um erro se instanciar o conteúdo de cria nós diferentes de xsl:processing-instruction
nós de texto. Para alguns problemas, a recomendação XSLT 1.0 indica qual decisão deve ser tomada se o processador decidir se recuperar do erro. Para o problema dado na seção 7.3, o W3C diz que a implementação pode se recuperar desse erro ignorando os nós e seu conteúdo.
Comportamentos discricionários
A tabela a seguir lista cada um dos comportamentos discricionários permitidos pela recomendação XSLT 1.0 e como esses comportamentos são tratados pela XslCompiledTransform classe.
Recover indica que a XslCompiledTransform classe se recuperará desse erro. O XsltArgumentList.XsltMessageEncountered evento pode ser usado para relatar quaisquer eventos do processador XSLT.
Erro indica que uma exceção é gerada para essa condição.
As referências da seção podem ser encontradas na Recomendação de Transformações XSL do W3C (XSLT) Versão 1.0 e na Errata de Especificação das Transformações XSL do W3C (XSLT) Versão 1.0.
Condição XSLT | Section | Comportamento XslCompiledTransform |
---|---|---|
Um nó de texto corresponde a ambos e xsl:strip-space xsl:preserve-space . |
3.4 | Recuperar |
Um nó de origem corresponde a mais de uma regra de modelo. | 5,5 | Recuperar |
Um URI de namespace é declarado como um alias para vários URIs de namespace, todos com a mesma precedência de importação. | 7.1.1 | Recuperar |
O name atributo em xsl:attribute e xsl:element gerado a partir de um valor de atributo não é um QName. |
7.1.2, 7.1.3 | Erro* |
Dois conjuntos de atributos com o mesmo nome de importação e expandido têm um atributo em comum e não há outro conjunto de atributos contendo o atributo comum com o mesmo nome com maior importância. | 7.1.4 | Recuperar |
Adicionar um atributo a um elemento depois que filhos foram adicionados a ele. | 7.1.3 | Erro* |
Criando um atributo com o nome 'xmlns' | 7.1.3 | Erro* |
Adicionar um atributo a um nó que não é um elemento. | 7.1.3 | Erro* |
Criação de nós diferentes de nós de texto durante a instanciação do conteúdo do xsl:attribute atributo. |
7.1.3 | Erro* |
O name atributo de um xsl:processing-instruction não produz um NCName e um destino de instrução de processamento. |
7.3 | Erro* |
Instanciar o conteúdo de xsl:processing-instruction cria nós diferentes dos nós de texto. |
7.3 | Erro* |
O resultado da instanciação do conteúdo do contém a cadeia de xsl:processing-instruction caracteres "?>" |
7.3 | Recuperar |
O resultado da instanciação do conteúdo do contém a cadeia de xsl:processing-instruction caracteres "--" ou termina com "-". |
7.4 | Recuperar |
O resultado da instanciação do conteúdo dos xsl:comment nós de criação diferentes dos nós de texto. |
7.4 | Erro* |
O modelo dentro de um elemento de vinculação variável retorna um nó de atributo ou um nó de namespace. | 11.2 | Erro* |
Há um erro ao recuperar o recurso do URI passado para a função de documento. | 12,1 | Erro |
A referência URI na função de documento contém um identificador de fragmento e há um erro ao processar o identificador de fragmento. | 12,1 | Recuperar* |
Há vários atributos com o mesmo nome, mas valores diferentes, que não são nomeados elementos de seção cdata com xsl:output a mesma precedência de importação. |
16 | Recuperar |
O processador não suporta a xsl:output codificação no atributo de codificação. |
16.1 | Recuperar |
Desativando a saída de escape para um nó de texto que é usado para algo diferente de um nó de texto na árvore de resultados. | 16,4 | Recuperar* |
Converter um fragmento de árvore de resultados em um número ou cadeia de caracteres se o fragmento da árvore de resultados contiver um nó de texto com escape de saída habilitado. | 16,4 | Recuperar* |
O escape de saída é desabilitado para um caractere que não pode ser representado na codificação que o processador XSLT está usando para saída. | 16,4 | Recuperar* |
Adicionar um nó de namespace a um elemento depois que filhos tiverem sido adicionados a ele ou depois que atributos tiverem sido adicionados a ele. | errata 25 | Erro* |
O value atributo de an xsl:number é NAN, infinito ou menor que 0,5 |
errata 24 | Recuperar |
O segundo nó de argumento definido para a função de documento está vazio e a referência URI é relativa. | errata 14 | Recuperar |
* Esse comportamento é diferente do XslTransform da classe. Para obter mais informações, consulte Implementação de comportamentos discricionários na classe XslTransform.