http://alikoker.name.tr



Benzer belgeler
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'in Temelleri. XML veri tanimlamayi saglayan ve verilerin alisverisinde kullanilacak standart bir format olarak kullanilan bir dildir.

İNTERNET PROGRAMLAMA II. Tanımlar

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

1.PROGRAMLAMAYA GİRİŞ

İNTERNET PROGRAMCILIĞI - II

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

Öğrenci nesnesi için bir etiket

2-Hafta Temel İşlemler

BMT 202 Web Tasarımı Bahar Dönemi. Yük. Müh. Köksal GÜNDOĞDU 1

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

<html> <head> <title>sayfa Başlığı</title> </head> <body> Bu benim ilk sayfam <b>bu metin koyu</b> </body> </html>

PHP 1. Hafta 1. Sunum

Üst Düzey Programlama

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

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

B2B Sistemi Kullanımı Hakkında Bilgiler

Metin Editörleri YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ. ALINTI:

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

C# ile e-posta Göndermek

WebInstaller. 1. Kurulum Đçin Gereksinimler

WEB TASARIMINDA TEMEL KAVRAMLAR

T.C. istanbul ÜNiVERSiTESi ÖĞRENCi BiLGi SiSTEMi. ÖĞRETiM ELEMANI KULLANIM KILAVUZU

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

HAVAYOLU ELEKTRONİK BİLET RAPORU

1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Metin Text Kutuları. Metin kutusu oluşturmak için <input> tagı kullanılır.

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

görüntüleyebilirsiniz. HTML, programlama dilleri bir programlama mantığı taşımadığından öğrenilmesi gayet kolay bir dildir.

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

Interact API v2.0 Belge sürümü : 2.0.0

Öğr. Gör. Serkan AKSU 1

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

Ekran Çıktısı. FONT-WEIGHT: bold; COLOR: #00688F; FONT-FAMILY: Tahoma, Arial, sans-serif; style="text-decoration none" }

İnternet,artık hayatımızın önemli bir parçası. Her gün interneti programlar aracılığı ile ya da internet siteleri aracılığı ile kullanıyoruz.

08217 Internet Programcılığı I Internet Programming I

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G.

3. Metin ve Görünüm Etiketleri

B2C E-Ticaret. İşletmeden Tüke ciye E-Ticaret. Sa n almak için yardım alın STANDART AVANTAJLI PROFESYONEL

2. HTML Temel Etiketleri

Web Programlama Kursu

19 Şubat 2016 Cuma

Netsis e-fatura UBL-TR v1.2 Geçişi

WEB TASARIM. Öğr.Gör. Ruhsar KAVASOĞLU

Twitter da bu durumla karşılaşan başka kullanıcılar var mı diye twitter virüs anahtar kelimeleri ile genel bir arama yaptığımda ise bu durumun Nisan

WEB PROGRAMCISI A GÖREVLER. Web programcısı;

Javascript Geliştiricileri İçin Xaml Ve Microsoft Silverlight

Basit bir web uygulaması

PHP 1. Hafta 2.Sunum

Temel Bilgisayar Terimleri Yrd. Doç. Dr. Devkan Kaleci

2. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Kurulum 14 FTP ye Bağlanmak ve Dosyaları Atmak 14 Veritabanı Oluşturulması ve Bağlanıp Kurulumun Tamamlanması 15

Linux Ubuntu Kurulumu

Üst Düzey Programlama

Veritabanı. Ders 2 VERİTABANI

WEB FORMLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Şimdi olayı şöyle düşünün. Temel ile Dursun iddiaya giriyor. Temel diyor ki

TUİK Netsis Erp Paketi Entegrasyonu ve Yıllık İş İstatistikleri Sanayi ve Hizmet Araştırması (YSHİ) Anketi

> > ADAM - Yalnız... Şeyi anlamadım : ADAMIN ismi Ahmet değil ama biz şimdilik

WEB TASARIMI. Đnternet Nedir?

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

jquery kütüphanesini sayfaya eklemek için iki yöntem vardır. 1. Direkt jquery nin sitesinden ekleme

XML İşaretleme Dilinin Etkinliği Üzerine Bir Çalışma

Samsun Çocuk Hizmetleri İ l Koordinasyon Sekretarya Birimi

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

1 Temmuz 2014 Netsis Standard 2 1 Temmuz 2014

1 Temmuz 2014 Netsis Standard 2 1 Temmuz 2014

DERECESİ: ARANAN ŞARTLAR: İLAN TARİHİ:

Internet Programming I. Hafta II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

WAMP SERVER KURULUMU

08217 Internet Programcılığı I

XAML Dili Microsoft Blend. Tasarım ve Kodlamanın. Birbirinden Ayrılması

Bilgisayarlı Muhasebe 3. Hafta

YILDIZ TEKNĠK ÜNĠVERSĠTESĠ

08220 Internet Programcılığı II

Android Ders Notları

Exchange Server 2010 Sertifika Oluşturma

Elbistan MYO Güz Dönemi Öğr.Gör. Murat KEÇECİOĞLU

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

Programlama Yazılımı ile Web Sitesi Oluşturma

T E M E L B Ü Y Ü M E İ

JetSMS Direct Çözümü

IP NİZİ NASI GİZLERSİNİZ?

Sevdiğiniz editörü açın, Notepad, vi, pico vb. Daha sonra da aşağıdaki kodu yazın:

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

TÜİK e-vt Teknik Kılavuz

Windows Live ID ve parolanızı giriniz.

(PWS) gelmektedir. Ancak. Add/Remove Programs bölümünden yüklenen bir bileşen değildir. Windows 98 kurulum CD'sinden yükleyebilirsiniz.

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

Note: If you want to validate a page containing frames, be sure the DTD is set to "Frameset DTD". Read more about XHTML Validation.

Laboratuar Notları #3

Html temelleri. Ders 4

01 HAZİRAN 2015 İZİBİZEDEFTER SON KULLANICI KLAVUZU

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

ASP.NET ile Bir Web Sitesi Oluşturma

Bölüm 10: PHP ile Veritabanı Uygulamaları

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

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

Java Programlama Giriş

Transkript:

XML'e Giriş XML(eXtensible Markup Language-Genişleyebilir Anlamlandırma Dili) hakkında birşeyler duymuşsunuzdur muhakkak; onun Web üzerinde veri alışveriş methodunu değiştireceğini, HTML in bir nevi kardeşi olduğunu, ama tabi ki SGML(Standard Generalized Markup Language) in bir alt kümesi olduğunu. XML üzerine uygulamalar geliştirmek onu kendi iş süreçlerinize dahil etmek istiyorsanız XML i biraz daha geniş olarak inceleyen bu yazıyı okumanızı tavsiye ederim. İlk önce SGML i incelemekte fayda görüyorum. Sonuçta bu bir giriş olduğuna göre temeli sağlam atmalıyız. SGML International Standards Organization(ISO) tarafından 1986 yılında kabul edilmiş ve onaylanmış bilgiyönetimi standardıdır. SGML platform-bağımsız ve uygulama-bağımsız dökümanlar yaratmak sağlamak için oluşturulmuştur. Dilbilgisi gibi bir mekanizma kullanılarak dökümanların yapısını özel tanımlanmış tag ler kullanarak yapısını tanımlamamıza yarar. SGML bir meta-dildir. Meta-dil demek dil yaratmaya yarayan dil demektir. (Yapay zeka da metaknowledge in knowledge about knowledge olduğu gibi.) Örneğin HTML, SGML den türetilmiş bir anlamlandırma dilidir. Aynı şekilde XML de temel olarak SGML e dayanır. İlginç olan XML in SGML gibi bir meta-dilden türemesine rağmen kendisi de bir meta-dil olmasıdır. Yani XML den de yeni diller türetilebilir. XML i içeriğin nasıl görüneceğinden ziyade içeriğin yapısını tanımlamada kullanırız. Diğer taraftan HTML dökümanın nasıl gösterileceğini belirtir, dökümanın ne olduğundan hiç bahsetmez. DTD Diğer önemli bir konu ise DTD dir. HTML de dikkat ettiyseniz ilk satır: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 FINAL //EN"> olarak görünür. Burada Web browser a html in hangi DTD sini kullanacağı söylenir. Burada DTD Document Type Declaration dır. Fakat kesinlikle bu XML de ileride kullanacağımız DTD yani Document Type Definiton ile karıştırılmamalıdır. HTML deki Document Type Declaration bize hangi tür bir dökümana sahip olduğumuzu söylerken, XML de Document Type Definition ise dökümanın syntax ının geçerli(valid) olduğu yerleri tanımlar. Aslında ileride DTD yi geniş olarak ele alacağız ama kısaca açıklayacak olursak: DTD parser ın izleyeceği kuralları belirler. Dökümanda ne gibi elemanların olduğunu ve bu elemanların neler yaptığını açıklar. Ayrıca DTD dökümanın tag yapısının ve içeriğindeki organizasyon hiyerarşisinin önceden tanımlanmış HTML kurallarına uyup uymadığını kontrol etmek için parser tarafından kullanılır. Şimdi aklınızdan geçenleri tahmin edebiliyorum, biraz karışık gibi görünüyor ama uygulama yapınca DTD nin ne kadar kolay birşey olduğunu anlayacaksınız. Biraz daha sabır. XML'in Gelişimi Internetin ilk yıllarında birkaç HTML tag i kullanarak gri web sayfaları yapmak oldukça büyük bir işti. Ama zamanla insanlar bunun çok iyi bir reklam aracı olabileceğini farkedip, üzerinde çalışmaya başladılar. Birçok grafiksel öğe geldi, insanlar tasarım yapmaya başladılar. Bunu Html 2.0 ve 3.0 izledi. Gün geçtikçe internetin altyapısı da düzeldi. Türkiye de inanılmaz bir ISS(Internet Servis Sağlayıcı) patlaması yaşandı. Paket fiyatları düştü düştü, firmalar bu rekabetten oldukça etkilendi ve geriye oldukça köklü firmalar kaldı. Internet 2. boyutunu yani insanlardan bilgi toplama yakalamıştı. Ve halen belki de bu boyuttayız. Asp bize sunucu taraflı uygulamalar geliştimeye olanak tanıdı hem de cgi, perl gibi dilleri bilmeden sadece Vbscript ile bunu yapmamızı sağladı. Artık web sayfaları dinamik içerik sağlıyordu, sizin kim olduğunuzu anlayıp size özel işlemler yapıyordu ki, veri transferinin önemi oldukça büyüdü. Artık herşey veriye bağlanmıştı. Bir web sitesinin arkasına SQL Server lar, Oracle lar SAP R/3 sistemleri durmaya başlamıştı. İşte XML bu veri değişimi işlemini kolaylaştırmak için doğdu. 3. kuşak internette de bu ve yeni teknolojiler kullanılarak insan faktörü ön plana çıkacak ve etkileşimli web siteleri yapılacak. B2B ve B2C ler yerini Marketplace lere bırakacak. Biz şu an 2. kuşağı yaşayan ama 3. kuşağa geçmeye hazırlanan bir ülkede bulunuyoruz. XML ile veri değişiminin kolay hale gelmesi hedeflenmişti ve başarıldı. Artık sizin verilerinizi alacak sistemin ne olduğunu bilmeniz ve ona göre çıktı üretmeniz gibi birşey söz konusu değil. Siz bir XML paketi oluşturup karşı sisteme yolluyorsunuz. O da bu paketi açaral kendi sistemine dahil ediyor. Yani artık internet aracılığıyla farklı sistemler veri değişiminde aynı dili konuşuyor: XML.

ASP ve XML İlişkisi Peki ASP bunun neresinde diyeceksiniz, hatta daha komik birşey bir iş arkadaşıma SAP Türkiye de XML dersi verirken sorulan bir soru: "Asp mi Xml i kapsıyor, Xml mi Asp yi?". İki teknoloji de birbirinden bağımsız görünse de birbirine bağlı teknolojiler. Ama kimse kimseyi kapsamıyor. Asp bir teknoloji Xml de. Xml üretmek için illaki Asp ye ihtiyaç yok, tam tersi Asp için Xml e de. Ama bu iki teknoloji ortak kullanıldığında veri değişiminde oldukça kolay ve başarılı uygulamalar geliştirilebilir. XML bize karşı sistemin ne olduğunu bilmemize gerek kalmadan paket oluşturmamıza yararken, ASP de bu paketleri kullanılabilir halde oluşturmamıza yaratıyor. XML başlığı altında işleyeceğimiz diğer bir konu ise XSL yani extensible Stylesheet Language. Kısaca XSL, XML dökümanlarının biçimini belirleme ve değiştirmede kullanılır. XSL kullanarak XML dökümanlarını daha başka XML dökümanlarına dönüştürebilirsiniz. Şimdilik XSL i kafanızda CSS olarak canlandırabilirsiniz, sanki XML verilerine şekil kazandırıyormuş gibi ama ileriki konularda XSL in çok daha kapsamlı olduğunu göreceğiz. XML'in Tasarım Amaçları XML tasarlanırken düşünülen birçok düşünce var. W3C nin birleşip ortaya çıkardığı 10 temel XML in tasarım amacı şunlar: 1- XML internet üzerinde çalışabilmelidir. 2- XML neredeyse tüm uygulamalar tarafından desteklenmelidir. 3- XML SGML ile uyumlu olmalıdır. 4- XML üreten programlar oldukça kolay olmalıdır. 5- XML de opsiyonel özellikler minumum olmalı veya hiç olmamalıdır. 6- XML dökümanları okunabilir ve açık olmalıdır. 7- XML tasarımı tek bir firma bu işi ele almadan acilen hazırlanmalıdır. 8- XML tasarımı biçimlendirilmiş ve kısa olmalıdır. 9- XML dökümanlarının yaratılması çok kolay olmalıdır. 10- XML dökümanlarında anlam belirsizlikleri olmamalıdır. Kendini Tamamlayıcı Dökümanlar XML dökümanları verilen tag isimleri ile kendini tanımlayabilir olmalıdır. Örneğin: <okuladi>odtu</okuladi> Burada açık olarak anlaşılıyor ki ODTU bir okulun adıdır. Aslında işin temeline inmemizde ben yine yarar görüyorum. En başta dedim ya temel sağlam olmalı. XML dökümanları 2 kritere uymalıdır; iyioluşturulmuş(well-formed) ve geçerli(valid). İyi-oluşturulmuş Döküman: Bir XML dökümanının iyi-oluşturulmuş olması için aşağıdaki temel kurallara uyması gereklidir: 1- HTML ve SGML gibi XML de büyüktür (>) ve küçüktür (<) karakterlerini ayrıraçlar olarak kullanır. 2- Bu karakterlerle tag dediğimiz yapılar oluşturulur ve bunlar açıldığı zaman kapatılmalıdır. Tek istisna boş elemandır(değeri olmayan eleman). Bu durumlarda açma ve kapama tag i aynı olabilir. Örneğin: <okuladi/> dediğimizde okuladi diye bir tag açmış oluruz ama içinde herhangi bir değer bulunmaz. 3- Tag lerin eklentileri çift-tırnak içine alınmalıdır. HTML bu açıdan esnektir fakat XML bunu yapmanıza izin vermez. Örneğin HTML de <font size=3> diye bilirsiniz ama XML de 3 kesinlikle çift-tırnaklar içine

alınmalıdır.<font size= 3 > 4- Elemanlar aynı HTML de olduğu gibi iç-içe düzgün bir şekilde tanımlanmalıdır. Her XML dökümanı bir kök elemanına sahiptir ve diğer tüm elemanlar onun çocukları olarak anılırlar. Hemen bir örnek verelim: <universite> <universiteadi>odtu</universiteadi> <universitesehiri>ankara</universitesehiri> </universite> 5- XML deki elemanlar büyük-küçük harf ayırt eder. Yani <universite> ile <UNIVERSITE> iki ayri elemandır. Bu yönüyle de HTML den farklıdır. Bu yüzden XML kodları yazarken ençok karşılaşılacak sorun bu olabilir. Geçerli Döküman: Geçerli bir döküman kendi DTDsi veya şemasında(shema) tanımlanmış kurallara uyan dökümandır. Aslında daha ikisini de incelemedik ama kısa bir bilgi vereyim: DTDler ve şemalar o XML dökümanının her elemanının neler kapsayabileceğini ve o dökümanın organizasyonel yapısını belirler. SQL Server veya Oracle ile uğraşmış olanlar bilirler, buradaki şema yapısı da veritabanı şeması belirleme ile aynıdır. En büyük fark ise XML de elemanların eleman içermesidir. Bu konuya ileride oldukça geniş yer vereceğim çünkü oldukça önemli. XML Geliştirme Programları Tabiki yine Notepad. Microsoftun en sorunsuz çalışan ürünü olsa gerek. Eğer ben iyi kod yazarım hata yapmam diyorsanız Notepad i tavsiye ederim. Ama tabiki XML için de yazılımlar gün geçtikçe artıyor. En çok kullanılanlardan biri Microsoftun XML notepad i.(notepad e olan talebi görmüş olmalı ki.) Oldukça güzel bir arayüzü var. XML de amaçlandığı gibi çok basit bir şekilde XML dökümanı yaratmanızı sağlıyor. Ayrıca ücretsiz. Download etmek için tıklayın...

İlk Örnek Ve işte ilk örneğimiz: << Bakın burada yapılmışı var <?xml version="1.0"?> <OGRENCI> <ISIM> <AD>SERAP</AD> <SOYAD>BASARAN</SOYAD> </ISIM> <UNIVERSITE> <BOLUM>GIDA MUH</BOLUM> <YIL>1996</YIL> </UNIVERSITE> <ADRES> <CADDE>YURTLAR CADDESI</CADDE> <APARTMAN>UC APARTMANI</APARTMAN> <NO>610</NO> <ILCE>BABAESKI</ILCE> <IL>KIRKLARELI</IL> </ADRES> </OGRENCI> Farzedelim ki bir vakıf kurduk ve bu bilgileri tutmak istiyoruz. Okulundan bir XML dökümanı istiyoruz ama yapısının bu şekilde olmasını istiyoruz. Onlar bize bu yapıda bir döküman yolluyorlar biz de bunu otomatik olarak çalışan sistemimize kaydediyoruz diyelim. Böylece okuldan biri mezun olduğunda mezunlar derneğimize katılması için mektup yollayableceğimiz bir adresi var. Sistem otomatik olarak güncelleniyor. Sizin büronuz Istanbul da okul Ankara da. Aslında çok basit bir örnek ama bu uygulamaları düşünmenin hayal sınırı yok. Veriyi oluşturmak için sisteminizi çalıştırmanız yeterli, diğer tarafta nasıl sisteme entegre olacağı sizi ilgilendirmiyor. Web üzerinde kullanacağımız XML uygulamalarında XML dökümanını derleyen msxml.dll dosyasıdır. Eğer Internet Explorer 5.0 ve üzerini kullanıyorsanız XML dökümanlarını rahatça görüntüleyebilirsiniz. Eğer yukarıdaki kodu düzgün kodladıysanız xml dosyasını kişisel sunucunuzda çalıştırdığınız da aşağıdaki görüntüyü elde edersiniz:

+ ve lere tıklayarak tag leri açıp kapayabilirsiniz. Bu yapı size XML dökümanlarının eleman-çocuk ilişkisini anlamınıza yarayacaktır. XML Hata Mesajları Eğer bir hata yaptıysanız ki neredeyse her zaman ilk yazılışta hata çıkar, Internet Explorer hata verecektir. Şimdi olası hataları değerlendirelim: 1- Eğer üstteki hatayı görüyorsanız sizde anlayacaksınızdır ki, <IL> tagini kapatmayı unutmuşsunuzdur. XML dökümanı iyi-oluşturulmalıdır demiştik ya işte orada bundan söz etmiştik. 2- Eğer üstteki hatayı alıyorsanız çift-tırnak koymadığınızı anlayacaksınızdır. Bu da bir iyi-oluşturamama hatasıdır. 3- Eğer üstteki hatayı alıyorsanız, Büyük-küçük harfe dikkat etmemiş olduğunuzu göreceksiniz.

4- Eğer üstteki hatayı alıyorsanız, aynı tag i birden fazla kullanmışsınızdır.