Transcript XML-örnek

XML





Genişletilebilir İşaretleme Dili (eXtensible Markup
Language), hem insanlar hem bilgi işlem sistemleri
tarafından kolayca okunabilecek dokümanlar oluşturmayı
sağlamaktadır
W3C tarafından tanımlanmış bir standarttır.
Bu özelliği ile veri saklamanın yanında farklı sistemler
arasında veri alışverişi yapmaya yarayan bir ara format
görevi de görür.
Bir programlama dili değil, bir işaretleme dilidir
Platform bağımsızdır ve platformlar arası veri aktarımını
münkün kılar. Dil bağımsızdır, türkçe yazılabilir
XML




Birçok yazılım, diğer yazılımlarla veri alışverişini XML
üzerinden yapmaktadır. XML'in en yaygın kullanan
uygulamalara, veri tabanlarına rastlamak mümkündür.
Microsoft'un geliştirdiği .NET teknolojisinde kullanılan
DataSet nesneleri XML formatındadır. Ayrıca XML, ofis
uygulamalarının alt yapısı haline getirilmiştir.
XML yapısıyla ilgili ayrıntılar DTD (Document Type
Definition) ya da XML Schema adı verilen harici
dokümanlar ile tanımlanır.
Karmaşık veri kümelerini ağaç stilinde işaretleyerek
işlenebilir kılar
XML-örnek

Bütün XML dökümanlarının bir kök elemanı olmalıdır. Diğer
bütün elemanlar kök elemanı tarafından kapsanır.

<kok>
<cocuk>
<torun>.....</torun>
</cocuk>
</kok>
- Bilgiler "tree" yani agaç yapısı şeklinde bir hiyerarşiye sahiptir
- Tag isimlerini biz veririz
XML-örnek

<kullanicilar>
<kullanici id="1">
<ad>Ali</ad>
<soyad>Tas</soyad>
</kullanici>
<kullanici id="2">
<ad>Cem</ad>
<soyad>Dede</soyad>
</kullanici>
<kullanici id=“3">
<ad>Emre</ad>
<soyad>Fatsa</soyad>
</kullanici>
<kullanici id=“4">
<ad>Ayse</ad>
XML her ne kadar cezbedici
<soyad>Has</soyad>
olsada büyük karmaşık
</kullanici>
veritabanı projelerinde, sürekli
</kullanicilar>
rasgele veri istemlerinde aşırı
yavaşlık söz konusudur.
XML



Birçok dilde programda örnekler yapılabilir:
Java’da, C#’da örnekler yapmak mümkün
Adobe Flash ilede örnekler yapmak mümkün
 Örnek: 100 adet resmin kullanıldığı bir Webde Flash
yapımız var; bu 100 adet resmin yüklenmesini hemen
hemen hiç bir internet gezgini beklemeyecektir. Ama XML
ile veriyi harici olarak gerektiğinde çekmeniz durumunda
kullanıcı talep ettikçe ilgili resim dosyası yüklenecektir ve bu
da ziyaretçilerinizi bekletmeyecektir. Bir resim
gösteriliyorken geçen zaman içerisinde arkaplanda diğer bir
veri yüklenmekte ve ziyaretçinin bunu farketmesinin bile
önüne geçilebilmektedir.
XML-örnek
<?xml version="1.0" encoding="iso-8859-9"?>
<cicekler>
<cicek>
<html>
<tur>gül</tur>
<body>
<renk>sarı</renk>
<xml id="cicekci" src="cicek.xml"></xml>
<fiyat>10 ytl</fiyat>
<table border="1" datasrc="#cicekci">
</cicek>
<tr>
<cicek>
<td><span datafld="tur"></span></td>
<tur>papatya</tur>
<td><span datafld="renk"></span></td>
<renk>beyaz</renk>
<td><span datafld="fiyat"></span></td>
<fiyat>15 ytl</fiyat>
</cicek>
</tr>
<cicek>
</table>
<tur>menekşe</tur>
</body>
<renk>mor</renk>
</html>
<fiyat>20 ytl</fiyat>
</cicek>
cicek.html
cicek.xml
</cicekler>
XML-DTD

Bir uygulamadaki XML belgesinin hangi etiketleri içerebileceği,
etiketlerin sahip olabileceği özellikleri, hangi elemanların diğer
hangi elemanları içerebileceği gibi dil yapısı bilgileri o uygulama
için geliştirilmiş olan XML DTD (Document Type Definition – Veri
Tipi Tanımlama) veya "XML schema" olarak adlandırılan belge
tanımlama dosyalarında belirtilir.

Şimdi ODTU kütüphanesindeki kitapları gruplayalım, ansiklopedi,
roman, atlas olsun.. Mesala romanlarıda gruplayalım, macera,
korku.. Buna benzer şekilde bütün kitaplarımı organize ettim
diyelim.. Birde Gazi üniversitesinin kütüphanesindeki kitaplara
bakalım onlarıda gruplayalım.. Ama onlar farklı gruplandığını
düşünelim. Ne olur: arama yaptığımda ikisinede aynı anda
ulaşamam. Ama ortak olsa ise gruplama kriterleri, iki
kütüphanede aynı anda arama yapabilirdim.. DTD aslında ortak
kriterleri oluşturmada burda yardımcı oluyor.. XML kuralları koyan
bir dosya. Ve eger benim XML'in bu Data Definiton'a uymuyorsa
hata veriyor. Ve bu sayede standarta oturtabiliyorum
XML-DTD
<?xml version="1.0" ?>
<!DOCTYPE elektronikposta SYSTEM "eposta.dtd">
<eposta>
<kime>Herkese</kime>
<kimden> Erman</kimden>
<tarih> 1 Mayıs 2010</tarih>
<konu> Web Teknolohjileri Uygulamaları</konu>
<mesaj> XML, DTD örneğidir</mesaj>
</eposta>
<!ELEMENT eposta (kime, kimden, tarih, konu, mesaj)>
<!ELEMENT kime (#PCDATA)>
<!ELEMENT kimden (#PCDATA)>
<!ELEMENT tarih (#PCDATA)>
<!ELEMENT konu (#PCDATA)>
<!ELEMENT mesaj (#PCDATA)>
XML
DTD
XML-DTD
<?xml version="1.0"?>
<Schema name="ElektronikPosta"
xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<ElementType name="kime" content="textOnly"/>
<ElementType name="kimden" content="textOnly"/>
<ElementType name="tarih" content="textOnly"/>
<ElementType name="konu" content="textOnly"/>
<ElementType name="mesaj" content="textOnly"/>
</Schema>
DTD
XSD
XLST-örnek



Genişletilebilir Stil Sayfası Dil Dönüşümü (XSLT)
XML belgelerinin dönüşümü için kullanılır
XSLT bir yapıdaki XML belgesini, XSL biçim dosyasındaki
tanımlamalara göre başka bir yapıya dönüştür