XSLT - İstemci

Tarayıcınız XSLT'yi destekliyorsa, belgeyi XHTML'e dönüştürmek için kullanılabilir.

JavaScript Çözümü

Daha önceki bölümlerde, XSLT kullanarak belirli bir XML belgesini XHTML'e nasıl dönüştüreceğinizi anlattık. Bu işi şu şekilde tamamladık: XML dosyasına XSL stil tablosu ekledik ve tarayıcı üzerinden dönüşümü gerçekleştirdik.

Bu yöntemin etkisi iyi olsa bile, XML dosyalarında stil tablosu referanslarını içermek her zaman tatmin edici olmayabilir (örneğin, XSLT'yi tanımayan tarayıcılar bu yöntemi kullanamaz).

Daha genel bir yöntem, dönüşümü JavaScript ile tamamlamaktır.

JavaScript kullanarak yapabiliriz:

  • Tarayıcı doğrulama testi yapın
  • Farklı stiller tablolarını tarayıcı ve kullanıcının ihtiyaçlarına 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ılmak, aynı zamanda farklı türdeki tarayıcıları ve farklı kullanıcı ihtiyaçlarını desteklemektir.

Tarayıcı tarafındaki 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ı

Bu XML belgesi, daha önceki bölümlerde gösterilmiş olan:

<?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 stil şablonu:

<?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">Title</th> 
        <th align="left">Artist</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:Bu cümle, XML dosyasının birden fazla farklı XSL stil şablonu ile dönüştürülebileceğini ifade eder.

Tarayıcıda XML'yi XHTML'e dönüştür

Bu, XML dosyasını istemci üzerinde XHTML'ye 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ı bilmiyorsanız, bizim <JavaScript 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ı tarayıcıda XHTML olarak görüntüler. Görev tamamlanmıştır!

IE'de nasıl çalıştığını görün.