XSLT - Sunucuda

Tüm tarayıcılar XSLT'yi desteklemiyor, 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, XSLT kullanarak XML'den XHTML'ye nasıl dönüştürüleceğini açıkladık. XML çözücüsü olmayan tarayıcılar için çalışan bir JavaScript çözümü oluşturduk. JavaScript çözümü XML çözücüsü olmayan tarayıcılar için çalışmaz. XML verilerini tüm türdeki tarayıcılar için uygun hale getirmek için sunucuda XML belgesini dönüştürmeli ve ardından XHMTL olarak tarayıcıya göndermeliyiz.

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öndürmektir.

XML dosyası ve XSL dosyası

Önceki bölümlerde gösterilen XML belgesini burada inceleyin:

<?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ı görüntüle.

ve ilgili XSL şablonları:

<?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 Not:Yukarıdaki cümle, XML dosyasının birden fazla farklı XSL şablonu ile dönüştürülebileceğini gösterir.

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

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

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

İpucu:ASP yazmayı bilmiyorsanız, bizim <ASP Eğitimi}

İlk kod parçası, Microsoft XML解析çisinin bir örneğini oluşturur ve XML dosyasını belleğe yükler. İkinci kod parçası, bir diğer parser örneği 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 çalıştığını görün.