1 / 30

XML e X tensible M arkup L anguage

XML e X tensible M arkup L anguage. Bilgi Sistemleri – 2010 Dr. Galip Aydın. e X tensible M arkup L anguage. Yapısal veriler taşıyan dökümanları biçimlemek ( markup ) için geliştirilmiş bir dil. W3C XML Specification http://www.w3.org/TR/REC-xml/

fawn
Download Presentation

XML e X tensible M arkup L anguage

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XMLeXtensibleMarkupLanguage Bilgi Sistemleri – 2010 Dr. Galip Aydın

  2. eXtensibleMarkupLanguage • Yapısal veriler taşıyan dökümanlarıbiçimlemek (markup) için geliştirilmiş bir dil. • W3C XML Specification • http://www.w3.org/TR/REC-xml/ • Standard GeneralizedMarkupLanguage (SGML) kullanılarak geliştirilmiş • İnternette veri değişimi ile ilgili eksikliği kapatmak amaçlanmış

  3. XML vs HTML • XML • İhtiyaca göre arttıtılabilirtag’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 (GeographyMarkupLanguage) 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 (WorldWide 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 plaintext 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>12345678910</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 XMldö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> <Kişi id="3"> <İsim>Ayşe</İsim> <Çocuklar ids="1 2"></Çocuklar> </Kişi> </Soyağacı>

  13. Kitaplar Kitap Makale ref 123 1 isim yazar yazar başlık yayınevi Ali Demir Tolstoy Tolstoy’un Eserleri Can 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>123456789</ISBN> <Fiyat>35</Fiyat> </Kitap> <Makale ref="123" id="1"> <Yazar> <isim>Ali Demir</isim> </Yazar> <Başlık>Tolstoy'unEserleri</Başlık> </Makale> </Kitaplar>

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

  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> <Kisi> <isim>ayse</isim> <telefon>456</telefon> </Kisi> <Kisi> <isim>fatma</isim> <telefon>789</telefon> </Kisi> </Kisiler>

  17. <Kisi> <isim>ali</isim> <telefon>123</telefon> <telefon>444</telefon> <telefon>555</telefon> </Kisi> ???

  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 <liste> <kisi> <isim>Ali</isim> <yas>25</yas> <email>ali@mail.com</email> </kisi> <kisi>………</kisi> </liste> <!ELEMENT liste (kisi*)> <!ELEMENT kisi (isim, yas, email)> <!ELEMENT isim (#PCDATA)> <!ELEMENT yas (#PCDATA)> <!ELEMENT email (#PCDATA)>

  20. DTD

  21. XML Schema • XML Schemaaynı 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"?> <xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="liste"> <xs:complexType> <xs:sequence> <xs:element name="kisi"maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="isim" type="xs:string"/> <xs:element name="yas" type="xs:string"/> <xs:element name="email" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

  24. XML SchemaComplexTypes

  25. <?xml version="1.0" encoding="UTF-8"?> <xs:schemaxmlns: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:sequence> <xs:element name="isim" type="xs:string"/> <xs:element name="yas" type="xs:string"/> <xs:element name="email" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="kisi" type="kisiType"/> </xs:schema>

  26. XSLTExtensible 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

  27. 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="email"/> <br/><xsl:value-of select=“telefon"/> <br/><xsl:value-of select=“dogumgunu"/> </body> </html> </xsl:template> </xsl:stylesheet>

  28. 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

  29. Java - XSLT

More Related