XSLT - İstemci Üzerinde
- Önceki Sayfa XSLT Uygulama
- Sonraki Sayfa Sunucu Tarafında XSLT
Eğer tarayıcınız XSLT'yi destekliyorsa, belgeyi XHTML'e dönüştürmek için kullanılabilir.
JavaScript Çözümü
Önceki bölümlerde, XSLT kullanarak belirli bir XML belgesini XHTML'e nasıl dönüştüreceğinizi açıkladık. Bu işi bu şekilde tamamladık: XML dosyasına XSL stili tablosu ekledik ve tarayıcı üzerinden dönüşümü gerçekleştirdik.
Bu yöntemin etkisi iyi olsa bile, XML dosyasına stil tablosu referansını içermek her zaman tatmin edici olmamaktadır (örneğin, XSLT'yi tanımayan tarayıcılar bu yöntemi etkili kılmaz).
Daha genel bir yöntem, dönüşümü tamamlamak için JavaScript kullanmaktır.
JavaScript kullanarak:
- Tarayıcı doğrulama testi yapın
- Farklı stiller tablolarını tarayıcı ve kullanıcının gereksinimlerine göre kullanın
Bu, XSLT'nin çekiciliğinin burada yatıyor! XSLT'nin tasarım amaçlarından biri, bir biçimden diğerine dönüşümü mümkün kılmaktır, aynı zamanda farklı türdeki tarayıcıları ve farklı kullanıcı ihtiyaçlarını desteklemektedir.
Tarayıcıların XSLT dönüşümü gelecekteki tarayıcıların gerçekleştireceği ana görevlerden biri olacaktır; aynı zamanda belirli tarayıcı pazarlarının büyümesini de göreceğiz (Braille, web yazıcılar, işitme cihazları vb.).
XML dosyası ve XSL dosyası
Önceki bölümlerde gösterilen bu XML belgesini görün:
<?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>
veyleşik XSL stil 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>My CD Collection</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:Bu cümle, XML dosyasının birden fazla farklı XSL stilleri ile dönüştürülebileceğini ifade eder.
XML'yi tarayıcıda XHTML'e dönüştürme
Bu, XML dosyasını istemci tarafında XHTML'e dönüştürmek için kullanılan kaynak kodudur:
<html> <body> <script type="text/javascript"> // Load XML var xml = new ActiveXObject("Microsoft.XMLDOM") xml.async = false xml.load("cdcatalog.xml") // Load XSL var xsl = new ActiveXObject("Microsoft.XMLDOM") xsl.async = false xsl.load("cdcatalog.xsl") // Transform document.write(xml.transformNode(xsl)) </script> </body> </html>
İpucu:JavaScript yazmayı nasıl yazdığınızı bilmiyorsanız, bizimJavaScript Eğitimi》。
Birinci paragraf kodu, Microsoft XML解析器的 bir örnek oluşturur ve ardından XML dosyasını belleğe yükler. İkinci paragraf kodu, bir diğer解析ör örnek oluşturur ve bu XSL dosyasını belleğe yükler. Son satır kodu, XSL belgesini XML belgesini dönüştürür ve sonuçları tarayıcıda XHTML olarak görüntüler. Görev tamamlanmıştır!
- Önceki Sayfa XSLT Uygulama
- Sonraki Sayfa Sunucu Tarafında XSLT