Recentemente, usei o Firefox para depurar páginas da web e descobri que algumas instruções JavaScript XSLT que processam XML suportam apenas o navegador do IE. Alguns artigos na Internet que introduzem o JavaScript XSLT no processo XML são basicamente baseados no AJAX.
Impossadamente, escrevi uma pequena função das páginas de exibição do JavaScript XSLT Processing XML. Agora estou postando para compartilhar com você, espero que você possa me dar algumas sugestões de melhoria.
No Firefox, usando o objeto XSLTProcessor para processar XML, principalmente usando dois métodos desse objeto:
1. TransformTofragment ().
2. TransformTodocument ().
O código a seguir usa apenas o método TransformTofragment () para implementar o processamento de arquivos XML. Se você estiver interessado em usar o JavaScript XSLT para processar arquivos XML no Firefox, também pode tentar reescrever o código a seguir em uma função de processamento implementada usando o método TransformTodocument ().
O código JavaScript é o seguinte:
A cópia do código é a seguinte:
função inicialize () {
var xmldoc;
var xsldoc;
// determinar o tipo de navegador
if (document.implementation && document.implementation.createLedocument)
{
// Apoio ao navegador Mozilla
tentar
{
xmldoc = document.implementation.createCumocument ("", "", null);
xmldoc.async = false;
xmldoc.load ("livro do livro/livro de visitas.xml");
}
captura (e)
{
alerta ("erro: 001");
}
tentar
{
xsldoc = document.implementation.createCumocument ("", "", null);
xsldoc.async = false;
xsldoc.load ("Livro de visitas/livro de visitas.xsl");
}
captura (e)
{
alerta ("erro: 002");
}
tentar
{
// define o objeto XSLTProcessor
var xsltProcessor = new XSLTProcessor ();
xsltprocessor.importStylesheet (xslDoc);
var oresultfragment = xsltprocessor.transformTofragment (xmldoc, documento);
// emitir o texto analisado para a página
var odiv = document.getElementById ("visitantebookPanel");
odiv.appendChild (oresultfragment);
}
captura (e)
{
alerta ("erro: 003");
}
}
caso contrário, if (typeof window.activexObject! = 'indefinido')
{
// var xmldoc = server.createObject ("msxml2.domdocument.4.0");
// Apoio ao navegador IE
xmldoc = new ActiveXObject ('Microsoft.xmldom');
xsldoc = new ActiveXObject ('Microsoft.xmldom');
xmldoc.async = false;
xsldoc.async = false;
xmldoc.load ("livro do livro/livro de visitas.xml");
xsldoc.load ("Livro de visitas/livro de visitas.xsl");
VIVERBOOKPANEL.Innerhtml = xmldoc.documentElement.TransFormNode (XSLDOC);
}
outro
{
alerta ("navegador desconhecido!");
}
}
JavaScript DOM A segunda maneira de processar dados de exibição XSL.
O código principal é o seguinte:
A cópia do código é a seguinte:
var xmldoc;
var xsldoc;
// determinar o tipo de navegador
if (document.implementation && document.implementation.createLedocument)
{
// Apoio ao navegador Mozilla
tentar
{
xmldoc = document.implementation.createCumocument ("", "", null);
xmldoc.async = false;
xmldoc.load ("livro do livro/livro de visitas.xml");
xsldoc = document.implementation.createCumocument ("", "", null);
xsldoc.async = false;
xsldoc.load ("Livro de visitas/livro de visitas.xsl");
// define o objeto XSLTProcessor
var xsltProcessor = new XSLTProcessor ();
xsltprocessor.importStylesheet (xslDoc);
// Método TransformTodocument
var resultado = xsltProcessor.TransFormTodocument (xmldoc);
var xmls = new XMLSerializer ();
Document.getElementById ("VIVERBOOKPANEL"). Innerhtml = xmls.serializetoString (resultado);
}
captura (e)
{
alerta ("Não é possível fazer processamento XML/XSL");
}
}
caso contrário, if (typeof window.activexObject! = 'indefinido')
{
tentar
{
// Apoio ao navegador IE
xmldoc = new ActiveXObject ('msxml2.domdocument');
xsldoc = new ActiveXObject ('msxml2.domdocument');
xmldoc.async = false;
xsldoc.async = false;
xmldoc.load ("livro do livro/livro de visitas.xml");
xsldoc.load ("Livro de visitas/livro de visitas.xsl");
VIVERBOOKPANEL.Innerhtml = xmldoc.documentElement.TransFormNode (XSLDOC);
}
captura (e)
{
alerta ("Não é possível fazer processamento XML/XSL");
}
}
outro
{
alerta ("navegador desconhecido!");
}