Latest web development tutorials

XSLT na kliencie

Jeżeli Twoja przeglądarka obsługuje XSLT, to przeglądarka, która może być użyta do konwersji dokumentów do XHTML.


rozwiązanie JavaScript

W poprzednim rozdziale, my uczymy jak korzystać z XSLT do przekształcenia dokumentu XML do XHTML. Robimy to za pośrednictwem następujących sposobów: Dodano stylów XSL do pliku XML i dokonać konwersji za pomocą przeglądarki.

Nawet jeśli efekt tej metody jest bardzo dobra, odniesienia arkusz stylów nie zawsze są zadowalające (na przykład w przeglądarce XSLT nie rozpoznaje tego podejścia nie będzie działać) jest zawarty w pliku XML.

Bardziej ogólne podejście jest użycie JavaScript, aby zakończyć konwersję.

Przy użyciu JavaScript, możemy:

  • Przeglądarka dla testu potwierdzenia
  • W zależności od przeglądarki i potrzeb użytkowników, aby użyć innego arkusza stylów

To jest urok XSLT! XSLT jest zaprojektowane tak, aby dane z jednego formatu na inny format możliwe i obsługują różne typy przeglądarek i różnych potrzeb użytkowników.

Transformacja XSLT klient będzie w przyszłości jednym z głównych zadań wykonywanych przez przeglądarkę, a my zobaczymy jego wzrost (Braille, fonetycznego przeglądarek, drukarek sieciowych, urządzeń przenośnych, etc.) w danym rynku przeglądarek.


Dokumenty XML i pliki XSL

Spójrz na to w poprzedniej sekcji wykazał się dokument 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>

Zobacz plik XML .

I towarzyszących arkusza stylów 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>

Zobacz plik XSL .

Należy pamiętać, że plik XML nie zawiera referencję do pliku XSL.

UWAGA: Powyższe zdanie oznacza, pliki XML mogą korzystać z kilku różnych stylów XSL do konwersji.


W przeglądarce przekonwertować XML do XHTML

Jest to dla klienta do plików XML w kodzie źródłowym XHTML:

Przykłady

<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>

Spróbuj »

Wskazówka: Jeśli nie wiesz, jak napisać JavaScript, prosimy o zapoznania się z naszą samouczek JavaScript .

Przykłady wyjaśnić:

loadXMLDoc function ()

Funkcja loadXMLDoc () służy do ładowania plików XML i XSL.

To sprawdza typ przeglądarki, a użytkownik ma do załadowania pliku.

displayResult function ()

Funkcja ta służy do definiowania pliku XML styl wyświetlania za pomocą plików XSL.

  • Ładowanie plików XML i XSL
  • użytkownicy testów mają typ przeglądarki
  • Jeśli obsługa przeglądarki obiektów ActiveX użytkownika:
    • Użyj metody transformNode () arkusza stylów XSL do dokumentu XML
    • Ustaw bieżący dokument (id = "przykład") zawiera styl ciało zostało zastosowane dokumentów XML
  • Jeżeli przeglądarka użytkownika nie obsługuje obiektów ActiveX:
    • Tworzenie nowych plików obiektowych i import XSL XSLTProcessor
    • Użyj metody transformToFragment () arkusza stylów XSL do dokumentu XML
    • Ustaw bieżący dokument (id = "przykład") zawiera styl ciało zostało zastosowane dokumentów XML