XSLT - İstemci Üzerinde

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>

Bu XML dosyasını görüntüle

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>

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 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!

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