Üst Düzey Programlama XML 1
XML XML (Extensible Markup Language) verileri belirli yapıda tutmak için kullanılan bir işaretleme dilidir. Bu yapı bilindiği için verinin istenildiğinde kullanılmasını, değiştirilmesini ya da başka bir tipe dönüştürülmesine olanak sağlar. 2
XML Terimleri Her XML birimine document adı verilmektedir. Bu.xml uzantılı bir dosyaya karşılık gelir. Bir xml dosyası tamamen text(metin) tabanlıdır. Document ler element adlı elemanlardan oluşur. Element içinde belirli bir tip ve büyüklük içeren veridir. 3
XML Terimleri Bir belge içinde tüm yazılan xml elementlerini barındıran temel element olmalıdır. Bu temel element ' e root ya da document element denilir. Her element attribute(özellik) lardan, child(çocuk) elementlerden ve text(metin) lerden oluşur. Attribute bir element hakkında bilgi içeren bir özelliktir. 4
XML Terimleri ornek.xml XML görüldüğü gibi düz metin olmasına rağmen kendi etiketlerimiz(tag){personel,ad,no,yas} ile daha anlamlı veriler oluşturmamızı sağlar. 5
XML Avantajları Okunabilir: XML dosyaları düz metindir ve okunduğunda anlamlıdır. Düz metin işleyen programlarla kolaylıkla değiştirilebilir. Hiyerarşik: XML document leri bir ağaç yapısı şeklinde biçimlenirler. Tüm karmaşık ve kolay tipleri ifade etmek için kolaydır. Dilden Bağımsız: Bir C++ (herhangi bir dil) dili ile oluşturulan XML dosyası Java ya da herhangi bir dil ile ayrıştırılıp(parse) kolaylıkla kullanılabilir. İşletim Sisteminden Bağımsız: İşletim sisteminden bağımsızdır. 6
XML 'in Kullanımları Bir dökümanın içeriğini tanımlamak için kullanılır. Mesajlaşma: Şirketler ya da uygulamalar arasında haberleşmek için kullanılır. Veritabanı: Veritabanındaki veri XML olarak ifade edilerek farklı uygulamalarda farklı farklı şekillerde kullanılır. Bir uygulama veriyi sadece gösterirken, başka biri karmaşık hesaplamaları bu veri üzerinde yapabilir.... 7
XML 'in Kullanımları ÖNEMLİ 8
Ayrıştırıcılar (Parsers) Ayrıştırıcılar bir xml dosyasını okuyarak bizim ihtiyaç duyduğumuz verileri içinden almamızı sağlayan API lerdir. İki tip ayrıştırıcı (parser) bulunmaktadır. 1.) DOM (Document Object Model) 2.) SAX (Simple API for XML) 9
DOM (Document Object Model) Bu tip ayrıştırıcı xml dosyasını başından sonuna okuyar ve xml dosyasının tüm yapısını ağaç yapısı şeklinde bellekte oluşturur. Sinav baslik yazi soru secenek soru secenek secenek... 10
DOM (Document Object Model) Dom tipindeki ayrıştırıcılar tüm xml yapısını bellekte oluşturdukları için fazla bellek kullanırlar. Dökümanın kolaylıkla değiştirilmesine olanak verirler. Dökümanın hem ileri hem de geriye doğru gezilmesine olanak sağlarlar. Küçük xml dosyaları için oldukça kullanışlıdır. 11
SAX (Simple API for XML) Bu ayrıştırıcı xml dosyasını ayrıştırırken, incelerken bizim belirlediğimiz elementlerin verileri ile karşılaştığında belirli olayları çalıştırır. Yukarıdan aşağıya doğru xml dosyasını tarar ve istenilen elementlerde bizim istediğimiz metotları çalıştırır. Büyük xml dosyalarında kullanışlıdır. Xml yapısal değişiklikler yapılmayacaksa kullanılabilir. 12
Java da Ayrıştırıcılar Java dilinde bu iki ayrıştırıcı içinde sınıflar bulunmaktadır. Bu API nin ismi JAXP (Java API for xml Processing) dir. Bu api nin paket düzeni; -javax.xml.parsers: Firmalardan bağımsız SAX ve DOM için ayrıştırıcılar vardır. -org.w3c.dom: DOM için gerekli sınıflar vardır. -org.xml.sax: Temel SAX api sidir. -javax.xml.trasnform: XML verisinin başka tiplere dönüştürümünü sağlayan sınıflar bulunur. 13
Java da Ayrıştırıcılar 14
Java da Ayrıştırıcılar DOM Orneği 15
16
17
18
19
20
21
22
Java da Ayrıştırıcılar SAX Orneği Olay temelli bir ayrıştırma yöntemidir. SAX ayrıştırıcısı bir etiketle karşılaştığı zaman uygun bir etiket işleyici metodu (tag handler) çağırır. 23
24
25
26
27
Java da Ayrıştırıcılar SAX Orneği 28
Verilerin XML e Dönüştürülmesi Verilerin XML e dönüştürülmesinde DOM kullanılır. 29
30
31
32
33
34
Üst Düzey Programlama XML 35