Latest web development tutorials

XSLT na stronie serwera

Ponieważ nie wszystkie przeglądarki obsługują XSLT, innym rozwiązaniem jest, aby zakończyć konwersję do formatu XML na serwerze XHTML.


Rozwiązanie cross-browser

W poprzednim rozdziale wyjaśniamy, jak korzystać z XSLT poprzez przeglądarkę, aby zakończyć XML do nawrócenia XHTML. Stworzyliśmy niektóre użyć parsera XML do konwersji JavaScript. Rozwiązanie JavaScript nie działa w żadnej przeglądarce XML parser.

Aby dane XML zastosowanie do każdego rodzaju przeglądarki, musimy być na serwerze dla konwersji dokumentu XML, a następnie odesłać do przeglądarki jako XHMTL.

Jest to kolejna zaleta XSLT. Jednym z celów projektowych dla XSLT było uczynienie danych na serwerze do konwersji z jednego formatu na inny format, jak to możliwe, do wszystkich typów przeglądarek zwrócone dane czytelne.


Dokumenty XML i pliki XSLT

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.


Na serwerze przekonwertować XML do XHTML

Stosuje się go na serwerze do plików XML w kodzie źródłowym XHTML:

<%
'Load XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cdcatalog.xml"))

'Load XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))

'Transform file
Response.Write(xml.transformNode(xsl))
%>

Wskazówka: Jeśli nie wiesz, jak napisać ASP można studiować nasz poradnik ASP .

Pierwszy blok kodu tworzy instancję XML parser Microsoft (XMLDOM) i pliku XML w pamięci. Drugi akapit kodu tworzy inną instancję parsera, a do tego pliku XSL do pamięci. Ostatni wiersz kodu przy użyciu dokumentu XSL dokument XML konwersji i wysyła wynik jako XHTML w przeglądarce. Świetnie!

Jak to działa .