ANASAYFA | OYUNLAR | YEMEK TARIFLERI | Magazin Haberleri | FIKRALAR | BIYOGRAFILER | HIKAYELER | FORUM

ARA :    |   Faydalı Bilgiler  Makale EKLE

Sıralama :  A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z -

 
Genel  Bilgisayar  Sağlık  Bilim  Dini Bilgiler  Msn Messenger Yardim  Windows Live Messenger Yardım  Kişisel Gelişim  Google  PHP  ASP  Web Tasarım  HTML  Photoshop  CSS  Java Script  Java - JDBC   XML  Corel Draw  MYSQL  Webmaster  Internet  Güvenlik  Bilgisayar ve Donanım Dersleri  Arama Motorları (SEO)  PHP-NUKE  Joomla  Oracle  SQLServer  Kültür ve Sanat   Müzik   Sinema   Edebiyat / Kitap   Müze   YAŞAM   SPOR   Eğitim   Otomobil   Genç  FotoGaleri  Galeri video ve Analiz  Galeri Haber  FotoGaleri Sıcak ve Yaşam haberleri  Tüm İcatlar ve keşifler  Bunları Biliyormuydunuz  Sizllerden ve Bizden Gelenler Güncel Haber  rüya tabirleri Sözlüğü  Mizah  Kuraldışı Yaşamak  Tarihte Bugün  imsakiye iftar ve sahur vakitleri  Erkek ve kadın ilişkileri  Birazda Gülelim  Alternatif Tarih  Başarı Öyküleri  Gölgelerden Aydınlığa   
XML den HTML e dönüşüm
XML den HTML e dönüşüm


Şu anda XML belgelerinin görüntülenmesi için en yaygın yöntem XML belgesinin HTML biçimleme diline dönüştütlmesidir. Dönüştürme işlemi XSL biçimleme sayfaları (style sheets) içinde tanımlamış dönüşüm kuralları ile gerçekleştirilir. Bu kurallar şablon (template) olarak adlandırılır. Şablonlar XML belgesi içindeki eleman ve özellikleri kalıplar (pattern) ile karşılaştırarak eşleştirilir. Kalıplar Xpath spesifikasyonuna göre XML belgesinin istediğimiz kısımlarına erişmemizi sağlar. Örneğin “/” kök kalıbı bütün belgeyi adresler. “isim” kalıbı XML belgesi içinde geçen bütün isim elemanlarını ifade eder. “adressbook/contact” kalıbı adressbook elemanı altındaki contact elemanını adresler. Eşleştirilen kalıplara şablonlar uygulanarak dönüştürme işlemi gerçekleşir. Örneğin aşağıdaki XML elemanına bakalım:

XML:
<isim> Selim Akyokuş </isim>


İsim elemanını aşağıdaki HTML ifadesine dönüştürmek isteyelim.

HTML:
<H2> Selim Akyokuş </H2>


Bu dönüştürme işlemi için aşağıdaki XSLT şablonunu kullabiliriz.

XML:
<xsl:template match=&#8221;isim&#8221;>
        <H2> <xsl:value-of/> </H2>
</xsl:template>


Bu ifade bir XML belgesi içinde geçen isim elemanlarını bularak elemanın içindeki değeri <xsl:value-of/> ifadesi ile alır ve H2 etiketi içerisinde yazar.

Aşağıda sık olarak kullanılan XSLT diğer bazı şablon yapıları verilmiştir:
• Xsl:if
• Xsl:apply-templates
• Xsl:for-each

Xsl:if ifadesi şartlı eşleme işlemleri gerçekleştirilir. Örneğin aşağıdali ifade fiyat özelliği (attribute) 1000 olan ürünler için urun sablonunu uygulayacaktır.

XML:
<xsl:template match=&#8221;@fiyat=1000&#8221;>
         <xsl:apply-templates select=&#8221;urun&#8221; />
</xsl:template>


Xsl:apply-templates XSL biçim sayfası içinde tanımlanmış şablonları uygulamamızı sağlar.

Xsl:for-each ifadesi bir XML belgesi içindeki elemanlara bir döngü içerisinde erişmemizi sağlar. Örneğin aşağıdaki ifade vehicles elemanı içindeki vehicle elemanlarına price elemanına göre sıralayarak erişmemizi sağlar.

XML:
<xsl:for-each order-by="+ price" select="vehicles/vehicle">
            <tr>
              <td><xsl:value-of select="@year"/></td>
              <td><xsl:value-of select="@make"/></td>
              <td><xsl:value-of select="@model"/></td>
              <td><xsl:value-of select="mileage"/></td>
              <td><xsl:value-of select="color"/></td>
              <td><xsl:value-of select="price"/></td>
            </tr>
 </xsl:for-each>



ÖRN:

XML:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <xsl:template match="/">
    <html><head><title>Address Book XML Example</title></head>
      <body bgcolor="#FFFFFF">
        <xsl:for-each select="addressbook/contact">
          <xsl:apply-templates select="name"/>
          <xsl:apply-templates select="address"/>
          <xsl:apply-templates select="city"/>
          <xsl:apply-templates select="state"/>
          <xsl:apply-templates select="zip"/>
        </xsl:for-each>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="name">
    <h2><xsl:value-of/></h2>
  </xsl:template>

  <xsl:template match="address">
    <xsl:value-of/><br/>
  </xsl:template>

  <xsl:template match="city">
    <xsl:value-of/>,
  </xsl:template>

  <xsl:template match="state">
    <xsl:value-of/>
  </xsl:template>

  <xsl:template match="zip">
    <xsl:value-of/><br/>
  </xsl:template>

</xsl:stylesheet>

Adressbook.xsl biçimleme sayfası (style sheet) [4]

Adressbook.xsl biçimleme sayfasına göre adressbook.xml belgesini biçimlendirmek için aşağıdaki işlem komutunun XML belgesinin başlagıçına konulması gerekir. Internet Explorer 5.0 bu komutu kullanarak belge ile biçimleme sayfasını eşleştirir ve XML belgesinin HTML formatına dönüşümünü sağlar.

XML:
<?xml-stylesheet href="AddressBook.xsl" type="text/xsl"?>


XML belgelerinin XSL biçimleme sayfaları ile HTML’e dönüşüm işlemi isternirse Javascript kullanılarakta yapılabilir. Dönüştürme işlemi XMLDOM COM nesnesi ile yapılır. Şekil 10’da Addressbook.xml belgesini Addressbook.xsl biçimleme sayfasını kullarak HTML’e dönşümünü sağlayan Javascript kodu verilmiştir.

XML belgelerinin HTML’e dönüştürme işlemi isternirse Web sunucusu makinasınada yapılabilir. Bu yapıda sunucu tarafında XML belgeleri HTML’e dönüştürülerek tarayıcılara gönrilir. Böylece XSL’i desteklemeyen tarayıcılardada XML belgelerinin görüntülenmesi sağlanır. Şekil 11’da Addressbook.xml belgesini Addressbook.xsl biçimleme sayfasını kullarak HTML’e Web sunucusunda dönüşümünü sağlayan ASP kodu verilmiştir.

HTML:
<html>
<body>
<script language="javascript">
// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("Addressbook.xml")

// Load the XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("Addressbook.xsl")

// Transform
document.write(xml.transformNode(xsl))
</script>

</body>
</html>

Addressbook.xml belgesini Addressbook.xsl biçimleme sayfasını kullarak HTML’e dönşümünü sağlayan Javascript kodu

asp:
<%
`Load the XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("Addressbook.xml"))

`
Load the XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("Addressbook.xsl "))

Response.Write(xml.transformNode(xsl))
%>

Addressbook.xml belgesini Addressbook.xsl biçimleme sayfasını kullarak HTML’e Web sunucusunda dönşümünü sağlayan ASP kodu

 Arkadaşınıza gönderin

   
 

  Ekleyen : Alim Ömer ABUL
Okunma Sayısı : 163
Eklenme Tarihi : 25 Ocak 2007, Perşembe
SONRAKI BILGI : JDBC ve Tablolar   
Forum Linki:
HTML Link:
Direkt Link:
Mause ile tıklayın ve Ctrl + C ile kopyalayın
   

 

 
 

 
ONLINE KULLANICI : 18 | 0,11 saniye Sayfa Yüklenme
Copyright © E-hadi.NET by: Bahar YILMAZ & Alim Ömer ABUL, 2006.
Hosting Hizmetleri       Webmaster Pagerank