Latest web development tutorials

XSLT no cliente

Se o seu navegador suporta XSLT, em seguida, o navegador que pode ser usado para converter documentos em XHTML.


solução de JavaScript

No capítulo anterior, nós lhes ensinamos como usar XSLT para transformar um documento XML em XHTML. Fazemos isso através das seguintes formas: folha de estilo XSL Adicionado para o arquivo XML, e concluir a conversão através de um browser.

Mesmo que o efeito do presente método é muito boa, as referências a folhas de estilo nem sempre são satisfatórios (por exemplo, no navegador XSLT não reconhece esta abordagem não funcionará) está incluído no ficheiro XML.

abordagem mais geral é usar JavaScript para concluir a conversão.

Usando JavaScript, podemos:

  • O navegador para o teste de confirmação
  • Dependendo do navegador e as necessidades do usuário para usar uma folha de estilo diferente

Este é o charme XSLT! XSLT é um projetado para tornar os dados de um formato para outro formato possível e suportar diferentes tipos de navegadores e diferentes necessidades dos utilizadores.

transformação XSLT cliente se torne no futuro um dos principais tarefas executadas pelo navegador, e vamos ver o seu crescimento (Braille, browsers aural, impressoras de rede, dispositivos portáteis, etc.) em um mercado de navegadores particular.


documentos XML e arquivos XSL

Olhe para isso na seção anterior mostrou fora de um documento XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>

Ver o arquivo XML .

E acompanhando folha de estilo XSL:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title" /></td>
<td><xsl:value-of select="artist" /></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

Veja arquivo XSL .

Por favor, note que o arquivo XML não contém uma referência para o arquivo XSL.

IMPORTANTE: significa A frase acima, arquivos XML pode usar várias folhas de estilo XSL diferentes para converter.


No navegador converter XML para XHTML

Isto é para o cliente para arquivos XML em código fonte XHTML:

Exemplos

<html>
<head>
<script>
function loadXMLDoc(dname)
{
if (window.ActiveXObject)
{
xhttp=new ActiveXObject("Msxml2.XMLHTTP.3.0");
}
else
{
xhttp=new XMLHttpRequest();
}
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}

function displayResult()
{
xml=loadXMLDoc("cdcatalog.xml");
xsl=loadXMLDoc("cdcatalog.xsl");
// code for IE
if (window.ActiveXObject)
{
ex=xml.transformNode(xsl);
document.getElementById("example").innerHTML=ex;
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml,document);
document.getElementById("example").appendChild(resultDocument);
}
}
</script>
</head>
<body onload="displayResult()">
<div id="example" />
</body>
</html>

tente »

Dica: Se você não sabe como escrever JavaScript, por favor estudar nosso tutorial JavaScript .

Exemplos explicar:

função loadXMLDoc ()

função loadXMLDoc () é usado para carregar os arquivos XML e XSL.

Ele verifica o tipo de navegador e o usuário tem que carregar o arquivo.

função displayResult ()

Esta função é utilizada para definir o arquivo XML estilo de exibição usando arquivos XSL.

  • Carregamento de arquivos XML e XSL
  • usuários de teste tem o tipo de navegador
  • Se objetos ActiveX de suporte do navegador do usuário:
    • Use o método transformNode () da folha de estilo XSL para o documento XML
    • Defina o documento atual (id = "exemplo") contém o estilo de corpo foi aplicado documentos XML
  • Se o navegador do usuário não suporta objetos ActiveX:
    • Criar uma nova arquivos objeto e XSL importação XSLTProcessor
    • Use o método transformToFragment () da folha de estilo XSL para o documento XML
    • Defina o documento atual (id = "exemplo") contém o estilo de corpo foi aplicado documentos XML