XSLT - Sunucu Üzerinde

Tüm tarayıcılar XSLT'yi desteklemez, bu nedenle başka bir çözüm sunucuda XML'den XHTML'ye dönüşümü tamamlamaktır.

Çapraz tarayıcı çözümü

Önceki bölümlerde, tarayıcılar üzerinde XSLT kullanarak XML'den XHTML'ye dönüşüm nasıl yapılacağını anlattık. XML ayrıştırıcı kullanan bir JavaScript oluşturduk. JavaScript çözümü XML ayrıştırıcısı olmayan tarayıcılarda çalışmaz. XML verilerinin tüm türdeki tarayıcılara uygulanabilir olması için, sunucuda XML belgesinin dönüştürülmesi ve ardından tarayıcıya XHMTL olarak gönderilmesi gerekmektedir.

Bu, XSLT'nin diğer bir avantajıdır. XSLT'nin tasarım hedeflerinden biri, verilerin sunucuda bir formattan diğer bir formata dönüştürülmesini mümkün kılmak ve tüm türdeki tarayıcılara okunabilir veriler dönmektir.

XML dosyası ve XSL dosyası

Bu önceki bölümlerde gösterilmiş olan XML belgesini kontrol edin:

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

Bu XML dosyasını kontrol edin

ve ilgili XSL tarzı tablosu:

<?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>CD Koleksiyonum</h2> 
    <table border="1">
      <tr bgcolor="#9acd32">
        <th align="left">Başlık</th> 
        <th align="left">Sanatçı</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>

Bu XSL dosyasını görüntüle

Lütfen dikkat edin, bu XML dosyası XSL dosyasına atıf içermemektedir.

Önemli Bilgi:Yukarıdaki cümle, XML dosyasının birden fazla farklı XSL stil şablonu ile dönüştürülebileceğini gösterir.

Sunucuda XML'yi XHTML'e dönüştürme

Bu, sunucuda XML dosyasını XHTML'ye dönüştüren kaynak kodudur:

<%
'XML Yükle
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cdcatalog.xml"))
'XSL Yükle
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))
'Dönüştür dosyası
Response.Write(xml.transformNode(xsl))
%>

İpucu:ASP yazmayı nasıl yazacağınızı bilmiyorsanız, bizimASP Eğitimi

İlk kod parçası, Microsoft XML Ayrıştırıcısının bir örneğini oluşturur ve XML dosyasını belleğe yükler. İkinci kod parçası, ayrıştırıcının bir başka örneğini oluşturur ve bu XSL dosyasını belleğe yükler. Son satır, XSL belgesi ile XML belgesini dönüştürür ve sonuçları XHTML olarak tarayıcınıza gönderir. Görev tamamlanmıştır!

İşleyişini nasıl görmek isterim