É possível ter uma folha de estilo opcional em uma instrução de processamento xsl-stylesheet?
-
13-09-2019 - |
Pergunta
Eu apliquei uma folha de estilo para um documento XML usando <?xsl-stylesheet ...>
, isso funciona muito bem quando o XML está sendo visto em meu aplicativo. Mas se o xml é exportado, eu quero o XML ainda processar como XML simples, é possível ter a folha de estilo como opcional, em vez de ele produzir este erro quando o estilo não for encontrada:
Erro ao carregar folhas de estilo: um erro de rede ocorreu carregar uma folha de estilo XSLT:
Solução
A única solução é remover o xml-stylesheet durante a exportação, infelizmente.
Outras dicas
(eu sei ti é uma questão antiga, mas pede uma atualização)
De modo geral, não é uma boa idéia usar a instrução de processamento xsl-stylesheet
em XML, devido à sua aplicabilidade limitada e porque você está ligando o objectivo dos dados. Enquanto você poderia torná-lo dinâmico por ter o seu servidor web retornar uma folha de estilo diferente dependendo de onde o pedido vem, isso não é o ideal.
Em vez disso, na sua aplicação, use qualquer processador XSLT disponíveis e processar o XML antes de mostrá-lo no visualizador. Isto é simples de construir e manter e tem a vantagem adicional de que a visão (o XSLT) é separado dos dados (XML). Ao visualizar o XML normalmente, não terá o PI mais e será mostrado como XML regular.