XSLT - Sunucuda
- Önceki Sayfa XSLT İstemci
- Sonraki Sayfa XSLT XML Düzenleme
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>
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>
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!
- Önceki Sayfa XSLT İstemci
- Sonraki Sayfa XSLT XML Düzenleme