XSLT - Sunucu Üzerinde
- Önceki Sayfa İstemci Tarafında XSLT
- Sonraki Sayfa XSLT ile XML Düzenleme
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>
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!
- Önceki Sayfa İstemci Tarafında XSLT
- Sonraki Sayfa XSLT ile XML Düzenleme