BTP208 İnternet Programcılığı II XML ve XML Uygulamaları. (2. Kısım)

Benzer belgeler
BTP208 İnternet Programcılığı II XML ve XML Uygulamaları. (1. Kısım)

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.

XML. Ahmet Demirelli Sabancı Üniversitesi 2007

Öğrenci nesnesi için bir etiket

Ç NDEK LER 1 XML E G R fi 1 XML Nedir? 1 XML in Avantajlar 3 HTML ve XML Aras ndaki Farklar 4 XML Dosyalar n Görüntülemek 6 XML Dosyas Oluflturmak 9

XML (Extensible Mark-up Language) Hüseyin Kaya

Web Tasarımının Temelleri

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

MOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ

Üst Düzey Programlama

JavaScript & DOM XML & JSON

HTML Bloklar. CSS Display özelliği

2. HTML Temel Etiketleri

PASCAL PROGRAMLAMA DİLİ YAPISI

XML'in Temelleri. XML veri tanimlamayi saglayan ve verilerin alisverisinde kullanilacak standart bir format olarak kullanilan bir dildir.

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 2

BOOTLOADER MANUAL DOCUMENT

HSancak Nesne Tabanlı Programlama I Ders Notları

MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ

HTML (Hyper Text Markup Language)

DESTEK DOKÜMANI ZAMANLANMIŞ GÖREVLER. Masaüstü için rapor kısayolu. Ürün : UNITY2 / TIGER2 / GO Bölüm : Görev Zamanlayıcı

HTML 5 ve CSS 3. Yrd. Doç. Dr. Murat Olcay ÖZCAN

e-fatura Uygulaması (Zarf Yapısı) Versiyon : 1.4 2/10

HTML Etiketleri Genel Özellikler (Global Attributes)

Ders 8: Metotlar. barisgokce.com

HTML içerik oluşturmak için düşünülen bir işaret dilidir. Örnek

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

DESTEK DOKÜMANI. Masaüstü için rapor kısayolu. Ürün : GO Bordro-Tiger2Bordro-IK Bölüm : Görev Zamanlayıcı

<fn> FORMAT (a1,a2,a3,...) : format deyiminin satır numarasıdır READ, WRITE deyimleri ile verilir. : alan bildirim deyimleridir.

Basamaklı Stil Şablonları (CSS) BIM206 Web Programlama

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Özyineleme (Recursion)

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

DICOM Uygulama Alanı. Depolama, Query/Retrieve, Study Bileşenleri. Baskı yönetimi Query/Retrieve Sonuç Yönetimi. Medya değiştirme

Öğr. Gör. Serkan AKSU 1

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

16. Kesit ve Cephe Aracı

BTP208 İnternet Programcılığı II HTML5 ve Getirdiği Yenilikler (2. Kısım)

YZM 2105 Nesneye Yönelik Programlama

Çözüm Bilgisayar. Çözüm İntSite

XML ile Mesaj İşlemleri

PROGRAMLAMA DİLLERİ I

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

Adım Adım SPSS. 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü. Y. Doç. Dr. İbrahim Turan Nisan 2011

HTML 5 ve CSS 3. Yrd. Doç. Dr. Murat Olcay ÖZCAN

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Laboratuar Notları #1

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 5

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

BÖLÜM 11: YAPISAL VERİ TİPLERİ

Temel Giriş/Çıkış Fonksiyonları

Daha önce bu işlemin iki tane dosya oluşturduğunu gördük. GecDenTest.aspx dosyasının source kısmında içeriğini inceleyecek olursanız en başta

BİLGİSAYAR 4 MOLEKÜLER BİYOLOJİ VE GENETİK BÖLÜMÜ YARD. DOÇ. DR. MEHTAP YALÇINKAYA

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

1. Hafta MS SQL Server 2008 Kurulum ve Tanıtımı BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: Kurulum:

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Internet Programming II

Dr. Fatih AY Tel: fatihay@fatihay.net


7. Çerçeveler. Bu bölümü bitirdiğinizde,

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

Teknik Doküman. Revit te 2B profil (family) nesne yaratmak

Teknik Doküman. Autodesk Revit Building te yeni ölçü tipleri yaratmak

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

ENROUTEPLUS TA YAPILMASI GEREKENLER

Nesne Yönelimli Programlama

VERİ YAPILARI VE PROGRAMLAMA


4. Bağlantı (Köprü) Oluşturma

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

WebInstaller. 1. Kurulum Đçin Gereksinimler

Diziler (Arrays) Çok Boyutlu Diziler

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

Lambda İfadeleri (Lambda Expressions)

TC KİMLİK NO SMS GÖNDERİM SOAP API

Global Haberleşme API Kullanıcı Notları

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR


Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

DESTEK DOKÜMANI. Masaüstü için rapor kısayolu. Ürün : GO Bölüm : Görev Zamanlayıcı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

TESİ. aşağıdaki. UML deki. karşılığı. 1. yapılsın: sorgular 0..* * aşağıdakilerin. a) S1 ve S2 b) S1 ve S2 0..*

OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET

EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

Semantik (Semantics): ifadelerin, deyimlerin, ve program birimlerinin anlamı Sentaks ve semantik bir dilin tanımı sağlar

STOK KARTLARINDA ÇOKLU ÖLÇÜ BİRİMLERİ

1. Excel Dönüşümü : 2. Rapor Master Tanımları :

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e

12. Tanımlama Listeleri <dl> </dl>, <dt> </dt>, <dd> </dd>

BARTENDER PROGRAMI ETİKET AYARLARI

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

KURULUM KILAVUZU MART Visilabs Target Kurulum Kılavuzu

12 TBT / WEB TASARIM ve PROGRAMLAMA ( Not 3 )

BİL-142 Bilgisayar Programlama II

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

Transkript:

BTP208 İnternet Programcılığı II XML ve XML Uygulamaları (2. Kısım) Hazırlayan Öğr. Gör. Özgür ÖZŞEN İçerik XML DTD Belge Tipi Tanımlamaları 1

Karakter Veri Bir elemanın başlangıç ve bitiş etiketi içindeki metin karakter veri olarak adlandırılır. Özel amaçlı olarak kullanılan (&,<,>,",') karakterleri metin içerisinde kullanılamaz. HTML den farklı olarak eleman içindeki boşluklar (white space) korunur. Etiket ve özellik tanımlarındaki boşlukları parser kaldırır. <kitap_adı> Professional XML </kitap_adı> Karater veri Karakter ve Varlık Referansları Karakter referansları onluk ve onaltılık sayı sistemi ile karakterleri göstermek için kullanılır. Onluk : &#NNNN; Onaltılık : &#xnnnn; <copyright> Copyright 2000 SAMS Publishing</copyright> <copyright> Copyright 2000 SAMS Publishing</copyright> Varlık referansları (entity references) verilen bir isim ile DTD te tanımlamış referansları veya (&,<,>,",') XML özel karakterlerini göstermek için kullanılır. Varlık referansı :&isim; <yazar> Didier Martin & Mark Birbeck</yazar> & 2

Karakter ve Varlık Referansları (&,<,>,",') karakterleri için XML standart varlık referansları > > < < & ' & &apos; " " DTD devarlık referansı tanımı <!ENTITY firma "XYZ Bilgisayar A.Ş."> <reklam> &firma;" E-ticaret " hizmetleri sunar. </reklam> XYZ Bilgisayar A.Ş. "E-ticaret" hizmetleri sunar. Açıklamalar ve İşlem Komutları Açıklama (Comments)yapısı HTML ile aynıdır. <!-- Açıklama --> İşlem komutları (Processing instructions) XML belgelerini işleyen uygulamalara bir komut geçilmesi istenildiğinde kullanılır. <?hedef... Komutlar...?> <?xml version= 1.0?> 3

CDATA Bölümleri CDATA bölümleri (CDATA sections) XML de kullanılan işaretleme ifadelerinin göz ardı edilmesi gereken metinleri yazmada kullanılır. XML parsır ı bu bölümde metin içerisinde yer alan işaretleme ayıraçlarını ve etiketlerini normal karakter olarak algılar. <![CDATA[...]]> <![CDATA[ *P = &A; K = "Ali"; C = (i<= 5) ; ]]> Belge Tipi Deklarasyonu Belge tipi deklarasyonları (Document type declaretion) bir XML belgesinin giriş kısmında tanımlanır ve belgenin kullandığı harici ve dahili DTD (Document Type Definiton) i belirtir. <!DOCTYPE kök_eleman_ismi SYSTEM "sistem_tanımlayıcısı"> <!DOCTYPE kök_eleman_ismi PUBLIC "public_tanımlayıcısı""sistem_tanımlayıcısı"> SYSTEMile bu tür XML için özel yapılmış bir DTD dosyası olduğunda kullanılır. Eğer daha önce yapılmış bir DTD kullanılmak isteniyorsa SYSTEM yerine PUBLIC yazılmalıdır. Harici DTD adresi <?xml version="1.0"?> <!DOCTYPE addressbook SYSTEM "http://xyz.com/addressbook.dtd" [ <!ENTITY amp "&"> <!ENTITY apos "&#39;"> ]> 4

Belge Tipi Deklarasyonu <?xml version="1.0"?> <!DOCTYPE addressbook [ <!ELEMENT addressbook (person)+> <!ELEMENT person (name,email*)> <!ATTLIST person gender (male female) #IMPLIED> <!ELEMENT name (family,given)> <!ELEMENT family (#PCDATA)> <!ELEMENT given (#PCDATA)> <!ELEMENT email (#PCDATA)> ]> <addressbook> <person> <name> <family>wallace</family> <given>bob</given> </name> <email>bwallace@megacorp.com</email> </person> <person> <name> <family>tuttle</family> <given>claire</given> </name> <email>ctuttle@megacorp.com</email> </person> </addressbook> Dahili (Internal or inline) DTD İyi Oluşmuş ve Doğru Belgeler İyi Oluşmuş Belgeler(Well-Formed Documents) XML söz dizimi (syntax) kurallarına uyan XML belgeleri well-formed belgeler olarak adlandırılır. Doğru Belgeler(Valid Documents) Belge için tanımlanmış olan DTD teki gramer kurallarına uyan belgeler valid belgeler olarak adlandırılır. 5

Belge Tipi Tanımlamaları - DTD Belge Tipi Tanımlamaları (Document Type Definitions (DTD)) herhangi bir alanda kullanılacak yeni işaretleme dillerinin yapısını(gramer) tanımlar. Programlama dillerinin gramer inin tanımlamada kullanılan EBNF (Extended Backus Naur Form) gösterimine benzer bir yapıya sahiptir. Kişi ::= (isim telefon-no*) EBNF <!ELEMENT kişi (isim telefon-no*)> DTD Belge Tipi Tanımlamaları - DTD Bir XML belgesinin yapısı tanımlamada kullanılan temel DTD deyimleri DTD deyimi Anlamı ELEMENT ATTLIST ENTITY NOTATION Bir XML elemanı tanımlar. Bir eleman tipinin alabileceği özellikleri tanımlar. Belli bir içeriğin bir isme bağlanarak o isimle ilişkilendirilmesini sağlar. XML harici içeriğin tanımlanmasını sağlar. Bu tanımlanan içerik XML belgesinin bir parçası olarak parse edilmez. 6

DTD document Belge Tipi Tanımlamaları - DTD <!ENTITY test SYSTEM http://ceng.anadolu.edu.tr/test/test.txt > <worker> <name>&test;</name> </worker> XML document Bu örnekte testadında bir externalparameterkullanılmıştır. Kullanıldığı yere test.txtdosyasının içindeki yazılar koyulacaktır. DTD document <!ENTITY photo SYSTEM http://ceng.anadolu.edu.tr/test/photo.gif NDATA GIF89a> <!ATTLIST photo src ENTITY #REQUIRED> XML document <worker> <photo src= &photo; /> </worker> Burada NDATA(Notation Data), bu datanın parse edilebilir bir data olmadığını gösterir. Dikkat edilmesi gereken bir şey de photo elementinin src attribute inin tipi Entity olarak verilmelidir. Dört çeşit eleman tipi vardır. Eleman Tanımlamaları Empty (Boş) : Eleman herhangi bir içerik içermez. Elemanın özellikleri olabilir. Element Only (Yalnızca Eleman) : Eleman yalnızca alt seviye (child) elemanları içerebilir. Mixed (Karışık) : Eleman alt seviye elemanlar ve karakter veri karışımını içerebilir. Any: Eleman DTD in izin verdiği her içeriği içerebilir. 7

Boş Eleman (Empty Element)Tanımlamaları İçeriği boş olan elemanlar. <!ELEMENT Elemanİsmi EMPTY> <!ELEMENT img EMPTY)> <img/> <img></img> <img src= resim.gif /> <img src= resim.gif /><img> DTD XML Yalnız Eleman İçeren Elemanlar Yalnızca alt seviye elemanları içerir. <!ELEMENT Elemanİsmi İçerik-modeli> <!ELEMENT e-posta (kime, kimden, tarih?, konu?, mesaj)> Sıralama: kime, kimden, tarih, konu, mesaj +: Bir veya daha fazla?: Opsiyonel <!ELEMENT özgeçmiş(giriş, (eğitim deneyim+)+, hobiler?, referanslar*)> : Veya *: Sıfır veya daha fazla 8

Yalnız Eleman İçeren Elemanlar Eleman tanımlarında kullanılan semboller ve anlamı Eleman Tanımı Anlamı A? A+ A* A,B A B () (#PDATA) Opsiyonel; A alt elemanı bir defa veya hiç gözükmeyebilir. A alt eleman mutlaka bir defa veya daha fazla gözükür. A alt eleman sıfır veya daha fazla gözükebilir. B elemanı A dan sonra gözükmelidir. A veya B den bir tanesi gözükebilir. Parantez içinde geçecek elemanları guruplar. Örneğin (A,B)+ ifadesi A ve B nin ardışık olarak bir veya daha fazla geçeceğini göstermektedir. Karakter Veri(parsed) Karışık (Mixed) Elemanlar: Mixed ve Any Elemanı Karışık elemanlar hem karakter veri hem de alt elemanları içerebilirler. <!ELEMENT konu (#PCDATA)> <!ELEMENT not (konu tarih #PCDATA)*> <not> </not> ANY Elemanları: <konu> Yeni Dönem </konu> <tarih> 1 Ekim 2000 </tarih> Okul kayıtları başlayacak. ANY elemanı karakter veri, tanımlanmış elemanlar veya bunların karışımını içerebilir. <!ELEMENT Elemanİsmi ANY> 9

Özellikler (Attributes) Bir eleman hakkındaki özellik bilgileri aşağıdaki formatta tanımlanır. Dört çeşit Default tipi vardır. <!ATTLIST Elemanİsmi Özellikİsmi ÖzellikTipi Default> Default #REQUIRED Anlamı Özellik her zaman tanımlanmalıdır. #IMPLIED Özellik opsiyoneldir. #FIXED Değer Özellik sabit bir Değer e sahiptir. Özellik eleman içinde tanımlı olmazsa, parser bu sabit değer in olduğunu varsayar. Değer Özellik eleman içinde tanımlı olmazsa, parser bu değer in olduğunu varsayar. Eğer tanımlı ise özellik farklı bir değer içerebilir. Özellikler (Attributes) <!ATTLIST Kitap BasımTarihi CDATA #REQUIRED> <Kitap BasımTarihi= 1.1.2000 > XML e Giriş </Kitap> <!ATTLIST Kitap Basım-Sayısı CDATA #IMPLIED> Şart Karakter veri <Kitap Basım-Sayısı= 5 > XML e Giriş </Kitap> <Kitap> XML e Giriş </Kitap> Opsiyonel <!ATTLIST deniz renk #FIXED mavi > <deniz renk= mavi >... </deniz> <!ATTLIST elma renk kırmızı > <elma renk= kırmızı >... </elma> <elma renk= yeşil >... </elma> <elma>... </elma> Sabit Default Değer 10

Özellikler (Attributes) Enumarated özellikler bir dizisi içerir. <!ATTLIST kalem renk (mavi kırmızı yeşil beyaz) kırmızı > Notation XML harici veri tiplerini tanımlamakta kullanılır. Bu örnek resim formatının gif veya jpeg olabileceğini belirtmektedir. <!ATTLIST resim format NOTATION (gif jpeg) #REQUIRED> ID tipindeki özellik değerleri bir belge içerisinde yalnızca bir defa geçebilir. Bu bize bir elemanı unique olarak tanımlamamızı sağlar. <!ATTLIST personel personel-no ID #REQUIRED> IDREF, ID tipindeki elemanlara referans vermemizi sağlar. <!ELEMENT mühendis EMPTY> <!ATTLIST mühendis per-no IDREF #REQUIRED> <personel personel-no= 12345 > <isim> Ali Veli </isim>... </personel>... <mühendis per-no= 12345 /> Default Varlıklar (Entities) Varlıklar herhangi bir veri parçasına bir isim vererek bu veri parçalarına referans vermemizi sağlar. Bunu C dilindeki DEFINE fonksiyonu gibi düşünebiliriz. Üç çeşit varlık tanımlaması vardır: Genel Varlıklar(General Entities) Parametre Varlıklar(Parameter Entities) Karakter Varlıklar(Character Entities) Genel Varlıklar Genel varlıklar bir metin parçasına bir isim vererek bu isimle metini kullanmamızı sağlar. <!ENTITY şirket XYZ Bilgisayar Limited Şirketi A.Ş. > <reklam> Firmamız &şirket; internet danışmanlığı hizmeti sunar. </reklam> <!ENTITY aciklama SYSTEM http://www.xyz.com/readme.txt > 11

Varlıklar (Entities) Parametre Varlıklar (Parameter Entities) Parametre varlık tanımlamalarıdtd nin içinde bir isimle veri parçalarına referans vermemizisağlar. <!ENTITY % Varlıkİsmi VarlıkTanımı> <!ENTITY % boyut uzunluk, genişlik, yükseklik? > <!ELEMENT tavan (%boyut;)> <!ELEMENT çatı (%boyut;)> <!ELEMENT duvar (%boyut;)> Karakter Varlıklar (Character Entities) Verilecek bir isim vasıtasıyla istenilen karakterleri göstermek için kullanılır. <!ENTITY copyright &#169 > uzunluk, genişlik, yükseklik? > Notation(Gösterim) Notation tanımlamaları XML harici verinin ve bu harici ile ilişkilendirilecek bir yardımcı uygulamanın(helper application) tanımlanmasını sağlar. XML parser XML verisi üzerinde parse işlemini yapar. XML harici verilerin işlenmesini bu veri formatları ile ilişkilendirilecek bir uygulama ile yapabilir. Aşağıdaki örnekte jpg ve gif formatında tanımlanmış verileri ilgili uygulamalarla ilişkilendirmektedir. <!NOTATION jpg SYSTEM jpgviewer.exe > <!NOTATION gif SYSTEM gifviewer.exe > 12

Sorular? 13