Uploaded by User1489

Xml

advertisement
Mobil Uygulama Geliştirme
Android için XML Dili
Android için XML Dili





XML’in Sahibi Kimdir?
XML Nedir? Ne değildir?
XML’in Amacı Nedir?
Dünyadaki kurum yada Kuruluşlar XML’den nasıl
yararlanıyor?
XML Belgelerinin kod yapısı nasıldır?
2
XML’in Sahibi Kimdir?





XML W3C (World Wide Web Consortium)
organizasyonu tarafından geliştirilmiş bir projedir.
http://www.w3.org/
W3C bağımsız bir kuruluştur.
(www) standartlarını belirleyen bir topluluktur.
XML hiçbir firmanın,kurumun yada şirketin
tekelinde olmayan bir standarttır.Herkes alır
kullanır.
3
XML Nedir? Ne değildir?




Kelime Anlamı XML (extensible Markup LangueGenişletilebilir işaretleme dili) dir.
Eks-em-el olarak okunur.
XML bir belgenin yapısını
ve görünümünü tanımlamak
için kullanılan uluslararası bir
standarttır.
XML platform bağımsız bir teknolojidir.
4


Java-XML-Lunix platform bağımsız bir teknolojidir.
Bu üç teknoloji Android’de birleşmiştir.
5
XML nedir? Ne Değildir?



Bir veritabanının XML Servisleri kullanılarak
verilerin dış sistemlere taşınmasına izin verir.Bu
sebepten dolayı çok popülerdir.
Mesala Moskovada bir kütüphanenin içinde
kaçtane kitaplar var.Hangi kitap var
Amerikada bir kütüphane sizde hangi kitaplar
benim paylaşırmısınız dedi.Bende kaçtane var onu
sizinle paylaşıyım dedi.Bunlar internet üzerinden
nasıl haberleşebilir
6
XML nedir? Ne Değildir?






Bunların birbiriyle haberleşeceği dil XML’dir.
XML program geliştiricilerin kendi etiketlerini
tanımlamasına imkan tanır.
Bu durum rahat ve etkin programlamaya da
zemin hazırlar.
Oluşturulan etiketlerin hepsi kendi yapıları
içerisinde standardize edilirler.
HTML’nin taglarını kullanmak zorundasınız.
XML’de ise kendi taglarınızı yazıyorsunuz.
XML bu yönü ilede oldukça esnektir.
7
XML nedir? Ne Değildir?





XML aynı HTML gibi markup dillerdendir.
(HTML’nin çocuğu gibidir. Ama kısıtlı değildir.)
Bir belgedeki verileri seçerek işaretlemeye ve
onlara biçim kazandırmaya yarayan dillere
markup dilleri diyoruz.
Örneğin bana bu etiketteki bilgileri getir.
Personel tag’ı olsun personelin boyu, yaşı,
kilosu,doğum tarihi ve maaşı gibi veriler
olsun.Sadece bana maaşı>5000 büyük olanları
getirdiğinizde bir işaretleme yapım bunlara bir
biçim getirdiniz.
8
XML nedir? Ne Değildir?



XML bir meta-dildir. (XML Hem Dil Hemde
Teknolojidir.)
Meta-dil etiketler(tags) yardımıyla başka bir dil
tanımlamaya izin verir.
XML
ile
siz
başka
bir
dil
daha
tanımlayabiliyorsunuz.
9
Markup Dili


XML tabanlı markup dilidir.
XHTML javada JSF’de de görürsünüz.Net Beans
ile yazılan JSF sayfalarının çoğunluğu XHTML’dir.
10
Markup Dili


Cep telefonları için WML vardı.WML 2.0’dan sonra
kullanımı azaldı.
En son gelinen noktada XHTML Mobile Profile
vardır.
11
Markup Dili


XML verilerin bir standart ihtiyacına binaen
oluşturulmuştur.
XML hem bir teknlojidir hem de bir dildir.
12
Markup Dili


XML standart bir teknlojidir.
XML ile kod geliştirmesi ve çalıştırması için ek bir
yazılıma gerek duymaz.Web tarayıcısında bile
çalışır.
13
XML’in Amacı nedir?

XML’nin gayesi HTML gibi sadece veriyi
görüntülemek değildir.

XML’in gayesi veriyi tanımlamak ve
taşımaktır.XML bunun için geliştirilmiştir.
Bize çok güzel imkanlar sağlamaktadır.

XML verileri değiştirmek içinde kullanılır.

14
Dünyadaki kurum ve kuruluşlar XML’den
nasıl yararlanıyorlar?





Gerçek dünyada veritabanı sistemleri farklı
biçimlerde veriler kullanırlar.
XML kurum ve kuruluşlar arasındaki veri
alışverişini sağlar
Bir kurum .net kullanır, java kullanır,php
kullanabilir.
Veritabanları,yazılımlar veya sistemler değişebilir.
Her kurum farklı farklı teknolojiler kullanır.
15
Dünyadaki kurum ve kuruluşlar XML’den
nasıl yararlanıyorlar?



XML verilerin alışverişindeki temel sorunları
ortadan kaldıran bir ortak dildir.
Bir kurum projelerinde .net kullansın veritabanı
m.sql olsun diyer tarafta başka bir kurum
projesinde java veritabanıda mysql kullansın.
XML değişik alt yapıların birbiri ile iletişimde
buluna bilmesini çok kolay bir şekilde
yapabilmektedir.
16
Dünyadaki kurum ve kuruluşlar XML’den
nasıl yararlanıyorlar?


XML farklı sistemler arasında verilerin alışverişini
sağlar.
XML verilerin yapısının
tanımlamada ve taşınmasında
kullanılan standart bir teknolojidir.
17
Dünyadaki kurum ve kuruluşlar XML’den
nasıl yararlanıyorlar?


XML
Başta
veritabanları
arasında daha sonra web
ortamında, masaüstü ve
mobil
uygulamaların
arasında kullanılır.
Veriyi taşıdığı için çok önemli
rol oynamaktadır.
18
Dünyadaki kurum ve kuruluşlar XML’den
nasıl yararlanıyorlar?

XML sayasinde çok farklı ve
değişik
uygulamaların
veritabanları arasında veri
alışverişi yapabilmektedir.
Cep telefonun da bir proje geliştirmişsiniz ordan
veritabanına bir bilgi gidiyor. Ordan masüstüne
geliyor. XML bu aralarda veri taşınmasında kullanılır.
19
Dünyadaki kurum ve kuruluşlar XML’den
nasıl yararlanıyorlar?




XML verileri standart olarak tanımlandığıdan
veri alışverişi kolaylaştırmaktadır.
XML kısaca dünyada bütün bilgilerin paslaştığı
ve buluştuğu ortak noktadır.
Java da her platformda çalışıyor ama java gibi
değildir. .net ile nasıl paslaşacak arada bir
gereklidir.
Web servislerinde de XML kullanılır.Bilgiler
çekildiği için XML bulunmak zorudadır.
20
XML verileri nasıl saklar


XML verilerimizi otamatik
olarak içerik bilgileriyle
beraber saklar.
XML verileri etiketleri
arasında ve öz niteliklerinde
tutar


XML halinde tutulan verileri biz istediğimiz anda
içerik ve sunum bilgileri XML birbirinden ayırabilir.
XML Java Kitapları getir dediğimizde ekrana
getirebilir. Sisteme de yükleye bilir
21
XML Belgelerinin Kod Yapısı Nasıldır?





XML belgeleri gövde kısmı ile
başlar.
En üste ana node
vardır.Nodelar gövdeleri temsil
ediyor.
Ana yer ve çocuklar.
Çocuklarında çocukları şeklinde
dallanıp gidiyor.
Matematik te pascal üçgeni
vardır.Onada biraz benziyor.
Anne var çocuk var çocukların
çocukları var
22
XML Belgelerinin Kod Yapısı Nasıldır?





Burda seviyeler çok önemlidir.
İkinci seviye birinci seviye hepsi
önemlidir.Sorgulamada
önemlidir.
Her seviye aslında bir TAG denk
geliyor.
Gövde içerisinde kendimize ait
elemanlarımız vardır.
Gövde kısmı hiyerarşik ağaç
yapısındadır.
23
XML Belgelerinin Kod Yapısı Nasıldır?




XML büyük ve küçük harfe
duyarlıdır.
Belgemizde en üst seviyede
bulunan elemana kök eleman
denir.En az bir elemanı içine
alan her eleman kök
elamanıdır.
Diğerleri de çocuk olmuş
oluyor.
Bir elemanın içinde başka
elemanlarda olabilir
24
XML Belgelerinin Kod Yapısı Nasıldır?

Resimde 3 tane elemanın
devamı yok 4 elemanın bir
alt seviyede.Dahada
hiyerarşik yapıda dallanabilir.
25
XML Belgelerinin Kod Yapısı Nasıldır?



Gövdedeki her elamanın
başlangıç ve bitiş etiketleri
bulunmaktadır.
Bunlar birbirine
kesmeyecektir.<container>
açtığınızda kapatmanız
gerekmektedir.
Bu elemanların
adlandırılması değişken
tanımlama kurallarıyla
aynıdır.Bunların hepsi
javadaki tanımlamalar
aynıdır.
26
XML Belgelerinin Kod Yapısı Nasıldır
27



Enbaşta arabalar diye bir kök vardır.Kökün
altında araba araba diye çocuklar vardır.
Çocuğun içinde marka model renk diye birimler
vardır.
Sağ taraftada hiyerarşik yapısı vardır.
28
29
30
31

Domain ismini tersten yazalım.Firmaların
birbirleriyle kodları karışmasın diye bu şekilde
kullanır.
32
33
34
35
36
37
38




Arabaların bilgileri veritabanına gittiğinde
kaydedilebilir.
Döngülerin vasıtasıyla veritabanındaki bilgiler ya
XML yada XML’den veritabanına kaydedilebilir.
Veritabında kullandığınız alanlara denk geliyor.
Araba diye tablonuz var. Marka model renk de
onun alanları oluyor.
39



Arabanın 1. kaydında
bu bilgiler
Arabanın 2. kaydında
bu bilgiler
Arabanın 3. kaydında
bu bilgiler
40



Bunu siz tarayıcı üzerinden de görebilirsiniz.
Her başalayan bitişi var.
Bunun üzerine tez yapan insanlar vardır.
41
42
43
44



Enbaşta arabalar diye bir kök vardır.Kökün
altında araba araba diye çocuklar vardır.
Çocuğun içinde marka model renk diye birimler
vardır.
Sağ taraftada hiyerarşik yapısı vardır.



XML basit tanımı ile bir veri işaretleme dilidir.
Bir açıdan HTML' e (Hyper Text Markup
Language) benzer.
XML dokümanı, veri ve bu veriyi işaretlemek için
kullanılan takılardan oluşur. Şekil 3.1' de örnek
bir XML dokümanı verilmiştir.
Şekil 3.1: Basit bir XML örneği
Şekil 3.1: Basit bir XML örneği
HTML ve XML Arasındaki Farklılıklar





HTML verinin tarayıcıda nasıl görüntüleneceğini tanımlayan
sabit takılardan oluşur.
XML ise Web sistemlerine bilgi işlem yeteneği kazandırmak
için tasarlanmıştır.
XML içeriği bağlamdan bağımsız olarak tanımlamak için
kullanılır.
Böylelikle iki farklı uygulama arasında veri alış verişi herhangi
bir karışıklığa sebep olmaksızın gerçekleşir.
HTML ve XML Arasındaki Farklılıklar




Her bir verinin ne anlama geldiği onu çevreleyen
takı tarafından tanımlanmıştır.
XML ile verinin görünümü değil anlamı
tanımlanmaktadır.
XML ile HTML arasındaki diğer bir fark ise HTML
takılarının sabit olmasıdır.
HTML takı kümesi genişletilemez.
HTML ve XML Arasındaki Farklılıklar



XML' de ise uygulamaya ya da içeriğe özgün takı
kümesi ve takıların uymak zorunda olduğu bir
gramer tanımlanabilir.
Bu fark Şekil 3.2' deki verilen örnekte
gösterilmiştir.
Örnekte bir derse ait sınıf listesi hem HTML hem
de XML kodlandığında oluşan dokümanlar
verilmiştir.

Şekil 3.2(a)' da verilen HTML dokümanında sınıf
listesinin bir tarayıcıda nasıl görüntüleneceğine ilişkin
HTML takıları yer almaktadır.

HTML ile kodlanmış dokümanın içeriğine ilişkin bir bilgi
çıkarmak zordur. Şekil 3.2(b)' de ise sınıf listesinin içeriği,
tanımlanan XML takıları ile kodlanmıştır.



Bu dokümanda her bir verinin ne anlama geldiği
takılarla açıklanmaktadır.
Ayrıca tüm öğrencilerin notlarının listelenmesi gibi
işlemler çok kolaylıkla yapılabilir.
XML dokümanı üzerinde işlem ve sorgulama
yapmaya çok uygundur.
WWW' in Gelişimi



HTML ve XML standartları World Wide Web
Consortium (W3C) tarafından yönetilmektedir.
Mevcut XML 1.0 sürümünün tanımına
http://www.w3.org/tR/REC-xml web sitesinden
erişebilirsiniz.
XML, Web' i bir sunum ortamından bilgi işlem
ortamına dönüştürmek amacıyla geliştirilmiştir
(Şekil 3.3).
XML, Web' i bir sunum ortamından bilgi
işlem ortamına dönüştürme

Bir veritabanının XML Servisleri kullanılarak
verilerin dış sistemlere taşınmasına izin verir. XML
farklı sistemler arasında verilerin alışverişini
sağlar.
XML Bileşenleri




XML dokümanı bir metin dosyasıdır.
Bu nedenle herhangi bir metin editörü ile açılabilir ve
içeriği düzenlenebilir.
Bir XML dokümanı, öğe ve takılardan oluşur (Şekil
3.4).
Her bir öğe açan ve kapatan takı ile çevrilmiştir.
XML Bileşenleri


Bazı takılar parametre alabilir. Bu parametreler
öznitelik olarak adlandırılır.
(Şekil-3.5). Özniteliklerin sırasının bir önemi
yoktur.
XML Bileşenleri


Takı
isimleri
HTML
takılarının
aksine
küçük/büyük
harfe
duyarlıdır.
Örneğin <kişi> takısı ile <Kişi> takısı farklı
takılar olarak ele alınır.
Benzer
şekilde
<kişi>
açan
takısını
ancak </kişi> kapatan takısı sonlandırabilir.
XML Bileşenleri



Takı adları abecesel (Alfabetik) ve nümerik
karakterlerden oluşur.
İngiliz alfabesindeki harfler [a..z], [A..Z],
rakam [0..9], alt çizgi (_), nokta (.), ayıraç ()
ya
da
İngiliz
alfabesi
dışındaki
karakterlerden (ö,ç,W gibi) oluşabilir.
Ancak takı adları, rakam, nokta ve ayıraç ile
başlayamaz.
XML Bileşenleri




Takı adları istenilen uzunlukta olabilir.
Öğe içinde "<" karakteri doğrudan yer alamaz.
Çünkü bu karakter her zaman yeni bir açan takı
olarak değerlendirilir.
Eğer öğe içinde bu karakteri kullanmanız
gerekirse, < yazmalısınız.
XML Bileşenleri


XML ayrıştırıcısı < katarını "<" karakteri ile yer
değiştirecektir.
XML için bu türden beş tane özel karakter tanımı
vardır (Tablo 3.1).
Tablo 3.1: Özel karakterler
XML Bileşenleri



Eğer
öğe
içinde
bu
özel
karakterlerden çok sayıda varsa, bu
durumda
yukarıda
tanımlanan
karşılıkları kullanmak, okunurluğu
azaltır.
Bu
tür
bir
durumda,
bu
bölüm, CDATA tanımlaması içine
alınır (Şekil 3.6).
XML
ayrıştırıcı
CDATA
içinde
tanımlanmış metni değerlendirmez
Şekil 3.6: CDATA kullanımına ilişkin bir örnek
Boşluklar, Açıklama Satırı, İşlem
Komutları, Doküman Bilgi Başlığı



Karakter referanslar:
Karakter referansları, ekranda görüntülenmesi
mümkün olmayabilecek karakterleri tanımlamak
için kullanılır.
Karakter referanslar on tabanında
önünde "&#" olacak şekilde ya da onaltı
tabanında önünde "&#x" olacak şekilde
tanımlanır ve ";" ile sonlandırılır.
Örneğin © or © © sembolünü
Görünmeyen Boşluklar
XML' de dört adet görünmeyen boşluk karakteri
tanımlanmıştır:





Yatay sekme
Satır besleme
Satırbaşı
Boşluk
Tüm bu görünmeyen boşluklar içeriğe dahildir.
XML ayrıştırıcıları, seçeneğe göre bu boşlukları
içerikten çıkarabilir.
Açıklama Satırı


XML dokümanına açıklama satırları eklenebilir:
<!-- açıklama metni -->
Açıklama satırları doküman içinde, takı dışında
herhangi bir yere konulabilir.
İşlem Komutları




XML ile dokümanı işleyecek herhangi bir uygulamaya
bilgi aktarmak amacıyla işlem komutu içerebilir.
İşlem komutu "<?" ile başlar ve "?>" ile
sonlanır.
"<?"
karakter
katarını
(karakter topluluğu) hedef XML adı izler.
Ancak bu ad öğe olarak değerlendirilmez.
İşlem komutu, XML dokümanı içinde herhangi bir
yerde geçebilir.
İşlem Komutları

Şekil
3.7'
deki
örnek
XML
dokümanında, PHP yorumlayıcısına aktarılmak
üzere işlem komutu verilmiştir.
Şekil 3.7: İşlem komutu örneği: XML dokümanı içinde PHP betiği
Doküman Bilgi Başlığı



XML dokümanın başında doküman hakkında bilgi
içeren xml tanımı yer alır:
<?xml
16"?>
version="1.0"
encoding="UTF-
Versiyon numarası dokümanın hangi
belirtimine dahil olduğunu tanımlar.
XML
Doküman Bilgi Başlığı



Örnekteki 1.0 değeri bu dokümanın "6 Ekim
2000 tarihinde yayınlanan Extensible
Markup Language (XML) 1.0" belirtimine
uygunluğunu belirtir.
Kodlama özniteliği ise dokümanın hangi karakter
kümesi kullanarak kodlandığını tanımlar.
Bu bilgi, özellikle metin editörleri
ayrıştırıcıları için önem taşır.
ve
XML
Düzgün Oluşturulmuş XML Dokümanı


Tüm XML dokümanlarının sağlamak zorunda
oldukları ve XML standardı tarafından belirtilmiş
kurallar dizisi vardır.
Bu kurallara uyan bir doküman düzgün
oluşturulmuş XML dokümanı olarak adlandırılır.
Bu kurallar aşağıda sıralanmıştır:
XML Kuralları
1.
Her açan takı ile eşleşen bir kapatan takı olmalıdır.
2.
Öğeler iç içe geçebilir ama birbirlerini örtmezler.
3.
Bir dökümanın sadece bir tane kök öğesi olabilir.
4.
Öznitelik değerleri çift tırnak içinde verilmelidir.
5.
Bir öğenin aynı isimli iki özniteliği olamaz.
6.
Açıklama satırları ve işlem komutları takılar içerisinde yer alamaz.
Düzgün Oluşturulmuş XML Dokümanı


Şekil 3.8' de düzgün oluşturulmuş bir XML
dokümanı verilmiştir. Düzgün oluşturulmuş bir
XML dokümanı, bilgisayarda bir ağaç yapısında
gösterilebilir.
Örneğin Şekil 3.8' de verilen XML dokümanına
karşı düşen ağaç Şekil 3.9' da verilmiştir.
Düzgün Oluşturulmuş XML Dokümanı
Geçerli XML Dokümanı

XML dokümanlarının uymak zorunda
olduğu bir gramer vardır.

Bu gramere uyan dokümanlar geçerli
doküman olarak adlandırılır.

Bir XML dokümanı düzgün oluşturulmuş bir
doküman olabilir ama geçerli olmayabilir.

XML dokümanın hem düzgün oluşturulmuş
hem de geçerli olması istenir.
Geçerli XML Dokümanı



İki uygulama arasında düzgün veri alış verişi için
bu özellik gereklidir.
Ayrıca oluşturulan XML dokümanının tutarlılığının
ve veri bütünlüğünün sağlanması açısından da
zorunluluktur.
Gramer
iki
farklı
biçimde
tanımlanabilir:
DTD
(Document
Type
Definition) ve yine kendisi bir XML dokümanı
olan XML Schema.
Geçerli XML Dokümanı



Farklı alanlardaki uygulamalar için geliştirilmiş çok
sayıda DTD ve XML Schema mevcuttur.
Çeşitli forumlarda bu
sunulmuş durumdadır.
dokümanlar
kullanıma
Şimdi sırasıyla DTD ve XML Schema yapılarını
ayrıntılı olarak inceleyeceğiz.
Document Type Definition (DTD)


DTD, XML dokümanın uyması gereken kuralları
tanımlar. Bu kurallar takı adlarını ve takıların
diziliş yapısını, yani grameri tanımlar.
Her XML dokümanı, eğer tanımlanmış ise DTD
kurallarına uymak zorundadır. DTD kurallarına
uyan XML dokümanı geçerli doküman olarak
adlandırılır.
Öğe Tanımı



DTD dokümanı içinde öncelikle takı tanımları verilir:
Takı adını, parantez içinde, öğenin içeriğine ilişkin
tanımlama izler. Yukarıdaki örnekte, isim öğesi
içinde ad ve soyad öğelerinin yer aldığı
tanımlanmaktadır.
Bunun yanında, bir öğe boş olarak tanımlanmak
istenebilir. Bu durumda parantez içine EMPTY yazılır.
Öğe Tanımı



Eğer öğe karakter verilerden oluşuyor
ise #PCDATA tanımlaması kullanılır.
Burada PCDATA Parsed Character
DATA kelimelerinden oluşturulan bir kısaltmadır.
Örneğin ad ve soyad öğeleri bu şekilde
tanımlanabilir:
PCDATA tanımlaması, verinin nasıl yapılandırılacağı
ile ilgili bir koşut içermez.
PCDATA
PCDATA
PCDATA
PCDATA
Öğe Tanımı

Şekil 3.10' da bir DTD ve bu DTD' ye göre geçerli
bir XML dokümanı örneği verilmiştir.
Şekil 3.10

Öğeleri bir araya getirmek ve iç içe öğeler
tanımlamak mümkündür. DTD bu amaçla
kullanılabilecek beş farklı sembol içermektedir:
Öznitelik Tanımı


Bazen veriyi öğenin içinde vermek yerine öznitelik
olarak takı ile beraber vermek uygun olur.
Şekil 3.11' de, daha önce <telefon> öğesi için
telefon şehir alan kodunu öğenin içinde vermek
yerine, telefon takısının alan özniteliği olarak
tanımladık (Şekil 3.11 için bir sonraki sayfaya
geçiniz):
Öznitelik Tanımı


Öznitelikleri DTD' de ATTLIST anahtar kelimesi
ile tanımlıyoruz:
Öznitelik çeşitli tiplerde tanımlanabilir:
Öznitelik Tanımı
CDATA
CDATA



Yukarıda öznitelik türleri sıralanmıştır.
Bunun dışında, özniteliklerin öğe içinde
kullanımı ile ilgili birkaç özelliği daha kontrol
edebileceğimiz anahtar kelimeler mevcuttur.
Bunların kullanımı isteğe bağlıdır. Bu anahtar
kelimeler aşağıda açıklanmıştır:
Varsayılan Değer
FİXED
REQUIRED
IMPLIED


Aksi belirtilmedikçe öğe içinde özniteliklerin
kullanımı isteğe bağlıdır.
IMPLIED anahtar kelimesi ile tanımlanmış bir
özniteliğe, öğe içinde değer verilmemiş ise
XML ayrıştırıcı bu özniteliği göz ardı eder.
Bütün Bir DTD Örneği Ve DTD'deki Gramere
Uygun Kodlanmış XML Dokümanı Örneği

Şekil 3.11' de bütün bir DTD örneği ve bu DTD'
deki gramere uygun olarak kodlanmış bir XML
dokümanı örneği verilmiştir.
Bütün Bir DTD Örneği Ve DTD'deki Gramere
Uygun Kodlanmış XML Dokümanı Örneği
Download