Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

XML eXtensible Markup Language

Benzer bir sunumlar


... konulu sunumlar: "XML eXtensible Markup Language"— Sunum transkripti:

1 XML eXtensible Markup Language
Bilgi Sistemleri – 2010 Dr. Galip Aydın

2 eXtensible Markup Language
Yapısal veriler taşıyan dökümanları biçimlemek (markup) için geliştirilmiş bir dil. W3C XML Specification Standard Generalized Markup Language (SGML) kullanılarak geliştirilmiş İnternette veri değişimi ile ilgili eksikliği kapatmak amaçlanmış

3 XML vs HTML HTML Belli sayıda tag Verinin gösterimini esas alır
İhtiyaca göre arttıtılabilir tag’ler İçerik yönelimli Standart veri değişim biçimi Farklı çıktı biçimlerine izin verir HTML Belli sayıda tag Verinin gösterimini esas alır Veri doğrulama yeteneği yok Tek tür, standart çıktı

4 XML Ne İçin Kullanılır İnternette verilerin bir yerden başka bir yere aktarılması için XML alt dilleri veya lehçeleri (subsets, dialects) özel alan uygulamaları için geliştirilebilir RSS, internette haberleri paylaşmak için GML (Geography Markup Language) coğrafi verilerin değişimi için MathML (Mathematical Markup Language) matematiksel verilerin tarifi için CML (Chemical Markup Language) Kimyasal veriler, moleküler bilgilerin anlatılması için GeneXML (Gene Expression Markup Language), DNA mikro dizileri ve Gen verileri için MusicML, müzik verileri, notalar vs tarifi için W3C (World Wide Web Consortium) tarafından kaydedilen birçok XML dili farklı alanlarda veri değişimi için standart formatlar tanımlar

5 XML’in Avantajları Veriyi HTML’den ayırır
Dinamik HTML oluşturma, Gösterimle ilgili kısımlardan bağımsız veri dokümanları Veri paylaşımını basitleştirir Bilgisayarlar ve veritabanları birbiriyle uyumsuz biçimlerde verileri saklar XML plain text biçiminde veriyi sakladığı için veriler yazılım ve donanımdan bağımsız olarak depolanabilir

6 XML’in Avantajları Veri değişimini basitleştirir
Geliştiriciler için en fazla zaman alan işlerden biri birbiriyle uyumsuz formatlardaki verilerin farklı sistemler arasında değişimidir XML farklı uygulamalar tarafından okunabildiği için veri değişimi kolaylaşır Platform değişikliklerini kolaylaştırır Uygulama veya işletim sisteminin veriden bağımsızlaştırılması yenileme veya güncellemeyi kolaylaştırır

7 XML’in Avantajları Verinin daha fazla tüketiciye açık olmasını sağlar
Farklı uygulamalar, programlar veriye sadece HTML sayfalarında değil XML veri kaynaklarında da ulaşabilir XML ile veri birçok farklı okuma makinelerine açık hale gelir (el bilgisayarları, haber beslemeleri, cep telefonları vs.)

8 XML Örnek <?xml version="1.0" encoding="UTF-8"?> <Kitap>
<İsim>Anna Karenina</İsim> <Yazar>Lev Tolstoy</Yazar> <Yayınevi>Can</Yayınevi> <Yayınyılı>2008</Yayınyılı> <ISBN> </ISBN> <Fiyat>38.5</Fiyat> </Kitap>

9 XML Kuralları Bir XML dökümanı bir veya birden fazla element içerir
Her elementin bir ismi vardır. Başka elementler barındırabilir ve nitelikler (attribute) taşıyabilir Etiketler (tag) başlama-etiketi ve bitiş-etiketi olmak üzere çift olarak yazılır İç içe etiketler doğru yazılmalıdır: <Kitap><İsim></Kitap></İsim> hatalı yazım <Kitap><İsim></İsim></Kitap> doğru yazım

10 XML Kuralları Boş etiketler kısaltılabilir
<Kitap></Kitap> şeklindeki bir boş etiket <Kitap/> şeklinde kısaltılabilir XML etiketleri büyük-küçük harflere duyarlıdır <KİTAP>, <Kitap>, <kitap> farklı etiketlerdir Nitelikler (Attribute) eşit işaretiyle ayrılmış isim-değer çiftleridir: <Öğrenci No="12345">Ali Demir</Öğrenci> Nitelikler elementlere ikincil, ek bilgileri eklemek için kullanılırlar Bir XML dökümanı tek bir kök (root) element taşır

11 Well-Formed XML Bir XMl dökümanı bütün kurallara uyarak yazılmışsa doğru- biçimlendirilmiş (well-formed) denir XML parser programları öncelikle bu kurallara uyulup uyulmadığını kontrol ederler İnternet tarayıcıları XML parser programları içerirler

12 XML’de Referans vermek
<?xml version="1.0" encoding="UTF-8"?> <Soyağacı> <Kişi id="1"> <İsim>Ali</İsim> </Kişi> <Kişi id="2"> <İsim>Veli</İsim> <Kişi id="3"> <İsim>Ayşe</İsim> <Çocuklar ids="1 2"></Çocuklar> </Soyağacı>

13 XML Veri Modeli: Ağaçlar
<Kitaplar> <Kitap id="123"> <İsim>Anna Karenina</İsim> <Yazar>Lev Tolstoy</Yazar> <Yayınevi>Can</Yayınevi> <Yayınyılı>2008</Yayınyılı> <ISBN> </ISBN> <Fiyat>35</Fiyat> </Kitap> <Makale ref="123" id="1"> <Yazar> <isim>Ali Demir</isim> </Yazar> <Başlık>Tolstoy'un Eserleri</Başlık> </Makale> </Kitaplar> Tolstoy’un Eserleri Kitaplar 123 1 Can Ali Demir başlık yazar yayınevi isim Makale Kitap Tolstoy ref

14 XML Ağaçları adres isim email telefon doğumgünü isim soyisim yıl ay

15 XML Ağaçları XML Dokümanları tek bir kök elemana sahiptir.
XML veri ağacı genel sıralı bir ağaçtır Bir elemanın herhangi sayıda çocuk elemanları olabilir Çocuk elemanların kendi çocukları olabilir Root elemandan başlayarak ağaç üzerinde yürünerek ağacın yapısı çıkarılabilir Elamanların hiyerarşik düzeni verinin yapısı ve ilişkileri ile ilgili bilgi verir

16 İlişkisel veritabanı - XML
<Kisiler> <Kisi> <isim>ali</isim> <telefon>123</telefon> </Kisi> <isim>ayse</isim> <telefon>456</telefon> <isim>fatma</isim> <telefon>789</telefon> </Kisiler> isim telefon ali 123 ayşe 456 fatma 789

17 <Kisi> <isim>ali</isim> <telefon>123</telefon> <telefon>444</telefon> <telefon>555</telefon> </Kisi> isim telefon ali 123 ayşe 456 fatma 789 ???

18 Document Type Definitions (DTD)
DTD XML dilinin bir parçasıdır ve yazıldığı XML dokümanları için gramer olarak işlev görür. <!ELEMENT isim [veri_tipi]> şeklinde yazılır

19 DTD <!ELEMENT liste (kisi*)>
<liste> <kisi> <isim>Ali</isim> <yas>25</yas> </kisi> <kisi>………</kisi> </liste> <!ELEMENT liste (kisi*)> <!ELEMENT kisi (isim, yas, )> <!ELEMENT isim (#PCDATA)> <!ELEMENT yas (#PCDATA)> <!ELEMENT (#PCDATA)>

20 DTD İşaret Kaç defa geçiyor (işaret yok) Gerekli Sadece bir ? Seçmeli
Bir veya Sıfır * Seçmeli, tekrar edebilir 0, 1, veya çok sayıda + Gerekli, tekrar edebilir 1 veya çok

21 XML Schema XML Schema aynı zamanda XML dokümanıdır
DTD’lerden sonra geliştirilmiş ve doküman hakkında daha fazla bilgi sunar. Tanımlanmış birçok veri türü vardır: integer, decimal, string, boolean, date, time Elemanlar simple ve complex türler olarak ikiye ayrılmıştır Ağaç yapısının nasıl olacağı ve bir elemanın kaç çocuğu olacağına karar verilebilir

22 XML Schema Örnek

23 <. xml version="1. 0" encoding="UTF-8"
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="liste"> <xs:complexType> <xs:sequence> <xs:element name="kisi" maxOccurs="unbounded"> <xs:element name="isim" type="xs:string"/> <xs:element name="yas" type="xs:string"/> <xs:element name=" " type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

24 XML Schema Complex Types

25

26 <?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="liste"> <xs:complexType> <xs:sequence> <xs:element name="kisi" type="kisiType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="kisiType"> <xs:element name="isim" type="xs:string"/> <xs:element name="yas" type="xs:string"/> <xs:element name=" " type="xs:string"/> <xs:element name="kisi" type="kisiType"/> </xs:schema>

27 XSLT Extensible Stylesheet Language Transformations
XSLT bir xml dokümanını başka birisine (genelde HTML) dönüştürmek için kullanılır XSLT dönüşümü programları bir xml dosyasını giriş olarak alıp başka bir xml dosyasını çıktı olarak verir. Eğer çıktı HTML ise web tarayıcıları ile görüntülenebilir XML verisini kolaylıkla göstermek için güzel bir yol

28 XSLT Örnek <?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="adress"> <html><head><title>Adresler</title></head> <body> <xsl:value-of select=“isim"/> <br/><xsl:value-of select=" "/> <br/><xsl:value-of select=“telefon"/> <br/><xsl:value-of select=“dogumgunu"/> </body> </html> </xsl:template> </xsl:stylesheet>

29 XSLT XSLT dönüşümü web tarayıcısı tarafından yapılabilir
Fakat farklı tarayıcılar farklı HTML çıktısı verebileceği için, dönüşüm sunucu tarafında da yapılabilir XSLT dönüşümü için kullanılan programlama diline uygun kütüphaneler kullanılır

30 Java - XSLT


"XML eXtensible Markup Language" indir ppt

Benzer bir sunumlar


Google Reklamları