Latest web development tutorials

サーバー側でのXSLT

ていないすべてのブラウザがXSLTをサポートしているため、別の解決策は、XHTMLのサーバー上のXMLへの変換を完了することです。


クロスブラウザのソリューション

前のセクションでは、XHTMLへの変換XMLを完了するために、ブラウザを介してXSLTを使用する方法について説明します。 我々はいくつかはJavaScriptを変換するためにXMLパーサを使用して作成しました。 JavaScriptの解決策はありませんXMLパーサーブラウザでは動作しません。

ブラウザのいずれかのタイプにXMLデータを適用可能にするために、我々は、XML文書の変換のためのサーバー上にある必要があり、その後、XHMTLなどのブラウザに送り返さ。

これは、XSLTの別の利点です。 XSLTのための設計目標の1つは、ブラウザのすべてのタイプに読み取り可能なデータを返され、可能性としてある形式から別の形式に変換するために、サーバー上のデータを作ることでした。


XML文書とXSLTファイル

前のセクションでは、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>

XMLファイルを表示します

そして、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>

XSLファイルを参照してください

XMLファイルは、XSLファイルへの参照が含まれていませんので、あらかじめご了承ください。

重要:上記の文は意味、XMLファイルは変換するために、いくつかの異なるXSLスタイルシートを使用することができます。


サーバー上のXHTMLへのXMLを変換

これは、XHTMLソースコードにXMLファイルをサーバー上で使用されます。

<%
'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))
%>

ヒント:ASPを記述する方法がわからない場合は、私たちの勉強できるASPのチュートリアルを

コードの最初のブロックは、メモリに、MicrosoftのXMLパーサー(XMLDOM)とXMLファイルのインスタンスを作成します。 コードの2番目の段落は、パーサーの別のインスタンスを作成し、このXSLファイルをメモリに。 コードの最後の行は、XSL文書変換のXML文書を使用して、ブラウザにXHTMLとして結果を送信します。 すばらしいです!

どのように動作します