XML'in Temelleri I. XML'IN TEMELLERI XML veri tanimlamayi saglayan ve verilerin alisverisinde kullanilacak standart bir format olarak kullanilan bir dildir. XML'in üstünlükleri sunlardir: -Genisleyebilir. -Birlikte çalisabilir. -Veri tanimlayabilir. XML belgelerine kendi etiketlerinizi ekleyebilirsiniz. Uygulama, dil, isletim sistemi gibi kisitlamalara bagli degildir. Uygulamalar kendi veri yapilarini tanimlayabilir. XML, yapisal verileri Web üzerinde kullanmak için gelistirilmistir. Böylece Web üzerinde zengin olarak yapilandirilmis belgeler kullanilir. Diger isaretleme dilleri HTML ve SGML bu amaca hizmet etmemektedir. A. BIR XML BELGESININ YAPISI Bir XML belgesi metin (text) dosya olarak olusturulan ya da SQL Server gibi çesitli programlar tarafindan olusturulan bir dosyadir. Temel yapi hiyerarsik etiketlere dayanir. Ana XML bilesenleri: -Eleman etiketleri. -Varlik basvurulari. -Açiklamalar. -Islem komutlari. -Belge türü tanimlamalari. 1/8
XML elemanlari açiklayicidir. Bir alan etiketlerle çevrilir: Eger bir etiket veri içermiyorsa o zaman yerine yalnizca etiketi yeterlidir. Örnek: <kayitlar> <kayit> <soyadi> çubukçu soyadi> 1234 sokak no: 1 izmir kayit> <kayit> ayse <soyadi> örnek soyadi> 1234 sokak no: 2 istanbul kayit> kayitlar> Örneklerde görüldügü gibi XML belgeleri hiyerarsik bir etiketleme yapisina sahiptir. Veriler dogrudan belge içine yazilir. XML belgeleri örneklerdeki gibi yalnizca kayit türü verilerle degil de daha genis bir alanda kitaplar, notalar vb. gibi düzenli bir formata sahip olmayan verileri de içerebilir. Bu nedenle XML belgelerinde kayit (record) yerine dügümden (node) bahsedilir. XML belgelerinde verilerin özellikleri de belirtilebilir. 2/8
ayse currency="usd"> 200 Tanimlamalar: XML belgesinin tanimlamalari, XML Spesifikasyonun versiyonu ve belge içinde kullanilacak karakter seti gibi bilgileri içerir. Iki ana tanimlama: DTD ve XML Schema'dir. Bu tanimlamalar eleman ve özelliklerin birbiriyle iliskilerini belirler. xml version="1.0"?> ogrenci SYSTEM "ogrenci.dtd"> <ogrenci> <soyadi>çubukçusoyadi> 1234 sokak no:2 ogrenci> Kök elamanlar: Kök (root) eleman belge içindeki diger bütün elemanlari ve özelliklerini içerir. XML belgeleri Veri (data), Yapi (structure) ve Sunum (presentation) olarak ayri ayri yapilandirilir. Bu üç belge bileseni birbirinden ayri olarak ele alinabilir. Data: Düz metni ifade eder. Yapi: Dokümanin türü, elemanlarini düzeni ve sirasi. Processing Instructions (Islem Komutlari): 3/8
XML belgesini tanimlayan özel bilgiler. isaretleri arasindadir. xml version="1.0"?> Bu ifade belgenin XML 1.0 versiyonu oldugunu belirtir. B. BIR XML BELGESI OLUSTURMAK XML belgeleri genellikle SQL Server gibi yazilimlardan ya da ASP uygulamalar hazirlanarak otomatik olarak olusturulur. Ancak, ister otomatik olusturulsun ya da elle olusturulsun genel yapi kurallari uygulanir: Örneklerde görüldügü gibi XML belgesi hiyerarsik bir yapiya sahiptir. XML belgeleri örneklerdeki gibi yalnizca kayit türü verilerle degil de daha genis bir alanda kitaplar, notalar vb. gibi düzenli bir formata sahip olmayan verileri de içerebilir. SQL Server'dan XML belgesi olarak çikti almak: Microsoft SQL Server 2000'e HTTP kullanarak erisebilirsiniz. Ancak bu islemin yapilmasi için IIS Virtual Directory Management for SQL Server programinin çalistirilmasi gerekir. Bu islem erisilecek veritabani için bir virtual dizin yaratir. HTTP ile SQL Server'a erisildiginde sunlari yapabilirsiniz: URL içinde dogrudan sorgu yapabilmek: http://iisserver/nwind?sql=select+*+from+customers+for+xml+auto&root=root FOR XML sözcügü standart kayit kümesi yerine bir XML belgesini döndürür. ROOT parametresi en üst elemanin tanimlanmasini saglar. ASP sayfasindan XML belgesi olarak çikti almak: <% Response.ContentType = "text/xml" %> 4/8
<% Set Con = Server.CreateObject("ADODB.connection") Set Rs = Server.CreateObject("ADODB.recordset") Con.Open="Provider=Microsoft.Jet.OLEDB.4.0 ; Data Source=c:\\access\data\musteriler.mdb" Rs.Open "SELECT * FROM MUSTERI", Con ' baslik Response.Write "xml version=" & chr(34) & "1.0" & chr(34) & "?>" & vbcrlf ' Kök elemani için XML etiketi. Set stream = CreateObject("ADODB.Stream") Rs.Save Stream, adpersistxml XMLText = Stream.ReadText Response.Write XMLText rs.close con.close %> II. XML BELGELERINI GÖRÜNTÜLEMEK XML belgeleri http üzerinde iletilebilmekle birlikte degisik programlar tarafindan görüntülenebilir. Internet Explorer Ile XML Belgelerini Görüntülemek Elemanlarin basinda (tire) isareti vardir. Bu simge sayesinde eleman açilabilir ya da kapatilabilir. XML belgelerinin daha iyi görünmesi için HTML'de oldugu gibi CSS belgeleri kullanilir. A. CSS (CASCADING STYLE SHEETS) KULLANIMI CSS tanimlamalari XML belgesindeki verilerin formatlanmasi için kullanilir. 5/8
Önce HTML'deki kullanimina bir bakalim: CSS Dosyasi: HTML Belgesi: text/css" HREF="cssdosyasi.css"> bu baslik bilgisidir. HTML belgesindeki H1 formati belirtilen CSS dosyasindan alinir. Örnek: <ogrenci> <soyadi>çubukçusoyadi> 1234 sokak no:2 ogrenci> Seklindeki bir XML belgesini formatlamak için CSS kullanilir. xml-stylesheet type="text/xsl" href="c:\dosyacss.css"?> <ogrenci> 6/8
<soyadi>çubukçusoyadi> 1234 sokak no:2 ogrenci> B. XSL STYLE SHEETS KULLANIMI XSL Style Sheets kullanimi CSS'e göre daha genis olanaklar saglar. XSL yeni eleman ve özelliklerin eklenmesine olanak tanir. XSL yeni eleman ve özelliklerin siralanmasina olanak tanir. XSL veriler üzerinde islem yapmayi saglar. XSL Style Sheets'lerin Uygulanmasi XSL dosyasi hazirlanarak XML belgesine eklenir. xml-stylesheet type="text/xsl" href="xsl dosyasinin URL'i"?> <ogrenci> <soyadi>çubukçusoyadi> 1234 sokak no:2 ogrenci> III. XML ARAÇLARI NotePad XML belgeleri olusturmak için NotePad kullanilabilir. XMLNotepad 7/8
Yazilan XML belgelerini dogrulamak bakiminda gelistirilmis özelliklere sahip olan bir NotePad'dir. XML Tree Viewer Hiyerarsik bir yapida olan XML belgelerinin agaç yapisini göstermek için kullanilir. Kaynak Site: Ismail KIRBAS ile Web Sitesi Tasarimi http:// Belge Adresi: www.kirbas.com/index.php?id=355 8/8