39
1 XML ve XML UYGULAMALARI SEMNER NOTU  Doç. Dr. Selim Akyoku    Bilgisayar Mühendisli   i Bölümü  Do   u   Üniversitesi [email protected] I. GR  XML açlm Extensible Markup Language (Geni leyebilir aretleme Dili)’dir. XML, elektronik ticaret, elektronik veri de 'iimi, terdarik zinciri bütünle tirmesi, veri yönetimi, ak ll arama makinalar  gibi bir çok alanda stratejik bir araç olarak kullan lacak  basit ve esnek metin biçimi teknolojisidir. XML’in özellikleri veri yap lar n, içer ikle rini ve kavramlar n platform, irket ve dilden ba 'msz bi r y apda temsiline imkan vermektedir. XML uygulamalar mza özel kendi i aretleme dilleri tanmlamamz sa'layan bir meta dildir. Bu seminer notunda i aretleme dilleri ve tarihçesi, HTML dili ve s nrlamalar , XML dil i ve XML tabanl teknolojiler ve uygulamalar, XML söz dizimi (syntax) kurallar , XML DTD belge tipi tan mlamalar ,XML emalar , CSS ve XSL ile X ML belgel erinin  biçimlendirilmesi, XML belgelerinin ilenmesi gibi XML temel konular örnekler verilerek açklanmtr. II. ARETLEME DLLER  VE TAR HÇES XML’in ne oldu'unu tanmlayabilmemiz için önce Markup Language ( aretleme Dili) ne anlama geldi 'ini açklamakta fayda var. Basl yay nn geli mesiyle yaynclar n yazl metinlerin bask  makinalar nda nasl bir  ekilde biçimde yaynlanmas için hazrlad klar  notlar ve özel sembolller markup olarak ifade edilmekteydi. Bu metinin  belirli k smlar nn özel bir an lam ka zandrmak üzere iaretlenmesi ilemidir. Bu amaçla kullanlan iaretler, kurallar ve gramer kümesi markup language (iaretleme dili) tanmlanr. Bu tip iaretleme yaplar n biz bir çok ortamda görebiliriz. Örne 'in ASCII kodlama standardnn içerdi'i bir çok kontrol ka rakteri veri iletiimi için kullanmaktadr. Kelime ilem programlar  bir metin’nin içerdi'i k smlar , yaz tiplerini, font ve stilleri ayrmak için metin içeririsine gömülü bir çok i aret’leri içermektedir. Programlama dilleri fonsiyonlar , dat a ya plar n, ver ile ri ay rmak için bir tak m sembollle r vey a

XML - Turkce Notlar

Embed Size (px)

Citation preview

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 1/39

1

XML ve XML UYGULAMALARISEM NER NOTU

Doç. Dr. Selim Akyoku Bilgisayar Mühendisli i Bölümü

Do u Ü[email protected]

I. G R

XML açl m Extensible Markup Language (Genileyebilir aretleme Dili)’dir.XML, elektronik ticaret, elektronik veri de' i imi, terdarik zinciri bütünletirmesi, veriyönetimi, ak ll arama makinalar gibi bir çok alanda stratejik bir araç olarak kullanlacak basit ve esnek metin biçimi teknolojisidir. XML’in özellikleri veri yaplar n , içeriklerinive kavramlar n platform, irket ve dilden ba' ms z bir yapda temsiline imkanvermektedir. XML uygulamalar m za özel kendi i aretleme dilleri tanmlamamzsa' layan bir meta dildir.

Bu seminer notunda iaretleme dilleri ve tarihçesi, HTML dili ve sn rlamalar , XML dilive XML tabanl teknolojiler ve uygulamalar, XML söz dizimi (syntax) kurallar , XMLDTD belge tipi tanmlamalar , XML emalar , CSS ve XSL ile XML belgelerinin biçimlendirilmesi, XML belgelerinin ilenmesi gibi XML temel konular örnekler verilerek açklanm t r.

II. ARETLEME D LLER VE TAR HÇES

XML’in ne oldu' unu tan mlayabilmemiz için önce Markup Language (aretleme Dili)

ne anlama geldi' ini aç klamakta fayda var. Basl yay n n geli mesiyle yaync lar nyaz l metinlerin bask makinalar nda nas l bir ekilde biçimde yaynlanmas içinhaz rlad klar notlar ve özel sembolller markupolarak ifade edilmekteydi. Bu metinin belirli k s mlar n n özel bir anlam kazandrmak üzere i aretlenmesi i lemidir. Bu amaçlakullan lan i aretler, kurallar ve gramer kümesimarkup language(i aretleme dili)tan mlan r. Bu tip i aretleme yaplar n biz bir çok ortamda görebiliriz. Örne' in ASCIIkodlama standardn n içerdi' i bir çok kontrol karakteri veri iletiimi için kullanmaktadr.Kelime i lem programlar bir metin’nin içerdi' i k s mlar , yaz tiplerini, font ve stilleriay rmak için metin içeririsine gömülü bir çok iaret’leri içermektedir. Programlamadilleri fonsiyonlar , data yaplar n , verileri ayrmak için bir tak m sembolller veya

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 2/39

2

i aretler kullanmaktdadr. Bu tip bir standard ayraç, i aret veya etiketler kümesikullanmadan ta nabilir ve payla labilir bir uygulama gelitirilebilmesi çok güçtür.

Metin ve belgelerin kolay bir ekilde ta nabilmesi, payla labilmesi ve i lenebilmesi içinilk i aretleme dili GML (Generalized Markup Language) 1960 sonlar nda IBM’deyap lan ara t rma çal malar sonunda ortaya çkt . GML daha sonra ANSI (American Natitional Stardard Institute) 1978 te olututurlan bir grup taraf ndan geli tirilerek SGML (Standardized Generalized Markup Language) adalt nda 1986 yl nda ISO (theInternational Organization for Standardization) kurumunca uluslararas bir standardolarak kabül edildi [1]. SGML bir metin veya belge kümesinde kullanlan dilin gramer ve sözlük yaps n belirtmek için kullanlan bir dildir. SGML Amerikan hükümetikurulu lar nda, havacl k ve otomobil gibi büyük endüstri kurulular ve bas nendüstrisinde bir belgeleme standardolarak kullanlmaktad r. SGML çok güçlü bir dilolmas na ra' men son derece karma k yap s ve yüksek uygulama gelitirme maliyeti budilin yaygn bir ekilde kullanm n engellemi tir.

Tim Berners-Lee ve Anders Berlung 1989 yl nda internet ortamnda belge payla m nkolayla t rmak için Web uygulamalar n n temel ö' elerinden biri olan HTML (HypertextMarkup Language) dilini gelitirdiler. HTML bir SGML uygulamasolarak geli tirildi.Di' er bir deyi le HTML dilinin yaps SGML dilinde tanmland . HTML dili çok basityap s ile son derece baar l oldu. Albert Einstein’nin dedi' i gibi her ey daha basitolmamal ama mümkün oldu' unca basitle tirilmelidir[2]. HTML dili bir belgenin içerdi' i ba l k, font, resim ve tablo gibi bilgileri bilgisayar ortamnda standard bir ekildegörüntülemek ve biçimlendirmek için gelitirilmi bir dildir. Belgenin istenen formattasunulmas tag (etiket) olarak ifade edilen iaretler ile sa' lanmaktadr. Bu dilingeli tirilmesindeki temel amaç belgenin standard bir formatta görüntülenerek sunulmasd r. Bu dilin yalnzca web tarayc lar için sunum amaçl olarak geli tirilmesi bugunkü web uygulamalar n n gerekirdi' i daha sonra açklayaca' m z bir çok k s tlamalar XML dilinin gelitirilmesine yol açt.

1996 y l nda Word Wide Consortium (W3C,http://www.w3.org)’u SGML güç veesnekli' ini içereçek basit bir iaretleme dili oluturmak amaçyla XML dilini tasarlamaya ba lad . Hubat 1998’de XML 1.0 bir standard olarak W3C taraf ndan yaynland . XMLdili SGML dilinin bir çok özelli' ini içeren basitletirilmi dildir. SGML dilinin bir altkümesidir. XML SGML gibi bir meta dildir. Yani baka dillerin yaps n tan mlamaktakullan lan bir dildir.

III. HMTL : Biçimsel ve çeriksiz

HTML dili bir belgenin formatlanmasamaç yla daha önceden tanmlanm bir etiket(tag) kümesine sahiptir. Her bir etiket özel bir formatlama anlamiçerir. Hekil 1’dekiHTML örne' ine bakalm. Burdaki <P> etiketi bir paragraf n ba n göstermektekdir.</P> ise paragraf n biti etiketidir. Tarayc bu etiketlere bakarak bu balang ç ve bitietiketleri arasndaki metini bir paragraf olarak yorumlayarak buna göre biçimlendirmei lemini gerçekletirecektir. <b> ve </b> ekiteleri ise bu iki etiket arasndaki metinin bold

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 3/39

3

(kal n) fontta basm sa' layakt r. <br> etiketi ise yeni bir satr ba na geçilmesini ifadeeden sat r atlama etiketidir.

Bu örnekte gördü' ümüz gibi HTML dilindeki bir çok etiket yalnzca biçimlendirme ileilgili tarayc n kulland ' bir anlam ifade etmektedir. HTML’in bu yaps esnek, güçlü veçok amaçl bilgi sistemlerinin gelitirilmesini engellemektedir. HTML’in bu anlamdagetirdi' i bu tak m s n rlamalar unlard r[2|:

• HTML geni leyebilir bir dil de' ildir. HTML daha öceden tanmlanm sabit bir etiket kümesi içermektedir. Bu etiket kümesini uygulamara özgü kendimizinekleyece' i yeni etketlerle geniletemeyiz.

• HTML yalnzca sunum amaçld r. HTML etiketlerinin bir ço' u taray c n n metniyaln zca nas l biçimlendirmesi ile ilgili bilgi içermektedir. Veri kopyalama, payla m , ileti imi ve uygulama bütünlenletirmesi gibi di' er a' uygulmalar n ngereksinimlerine cevap vermemektedir.

• HTML belgeleri genellikle direkt olarak yeniden kullanlamazlar. Örne' in, bir hava tahminleri hakk nda bilgi veren bir sitedeki bir HTML belgesindeki scakl k,ve hava tahminleri ile ilgili bilgileri kendi uygulamamzda kulland ' m zdü ünelim. Kendi uygulamamz bu sayfann yap s n inceleyerek bu bilgileriistedi' iz formata dönütürsün. Hava tahmini sitesindeki en ufak bir de' i iklik olmas durumunda bizim uygulamamz de' i tirmemiz gerekeçektir. Bunun temelnedeni bir HMTL belgesi içindeki bilgi içeri' iyle sunum yaps n n birbirindenayr lmamas d r.

• HTML verilerinizin yalnzca bir "görüntüsü"nü sa' lar. Kullanc isteklerine ba' lolarak bir HTML belgesindeki bilgilerin farklformatlarda görüntülenmesiniistersek bu i lem HTML ortamnda çok zor olaçaktr. Bunun i lemigerçekle tirmek için çok fazla script kodu yazmamz gerekçektir.

• HTML verileri çok az veya hiçbir anlamsal yap bilgisi içermezler. Örne' inyukar da vermi oldu' umuz adres örne' inde metin içeri' i hakk nda ise hiç bir

<P> <b> Sn. Selim Akyoku </b> <br>

Barboros Cad. No: 11 <br>

Y ld z 80750, %STANBUL </p>

Sn. Selim AkyokuBarboros Cad. No: 11Yildiz 80750 STANBUL

HTML

Biçimle

TARAYICI

Hekil 1 – Tarayc da Biçimlendirilmi HTML Belgesi

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 4/39

4

bilgi yoktur. Bu metne bakarak bir uygulamann bu metindeki hangi verinin ad,soyad veya posta kodu oldu' unu anlamas zordur.

IV. XML NED R ?

XML’de HTML gibi iaretleme etiketlerini kullanan dildir. HTML ve XML arasndakitemel fark XML iaretleme etiketlerinin bilginin içeri' ini tan mlamak içinkullan lmas d r. XML bir meta dildir. Di' er bir deyi le di' er yeni i aretleme dillerinitan mlamak için kullanlan bir dildir. XML ile herhangi bir uygulama için bir XML belgesinin içinde bulunacak verinin içeri' i ve içerdi' i veri tiplerini tanmlayacak uygulamaya özel bir iaretleme dili tanmlayabilirsiniz. Meta veri (Metadata veyaMetainformation) veri hak ndaki bilgidir. XML etiketleri veri hak ndaki meta bilgiyitan mlamaktadr. Hekil 2’deki XML adres listesi belgesi örne' indeki etiketler adresiçinde geçen veriler hakk nda bilgi vermektedir. Balag ç <contact> ve biti </contact>etiketleri arasndaki verilerin adres bilgisi oldu' unu bildirmektedir. Bu belgenin içindeki ba lag ç ve biti etiketlerine bakarak bir uygulama bu bilgilerin ne gibi bilgi içerdiklerinikolay bir ekilde çkarabilir. Örne' in <city> ba lang ç ve </city> arasndaki “New yok”verisinin ehir bilgisi oldu' unu kolayca anla labilir.

Bu belge örne' inde gördü' ümüz gibi XML belge içindeki verinin içeri' i tan mlayan

<?xml version="1.0"?> <!DOCTYPE addressbook SYSTEM "AddressBook.dtd" [ <!ENTITY amp "&#38;#38;"> <!ENTITY apos "&#39;">

]> <addressbook>

<!-- This is my good friend Frank. -->

<contact> <name>Frank Rizzo</name> <address>1212 W 304th Street</address> <city>New York</city> <state>New York</state> <zip>10011</zip> <phone>

<voice>212-555-1212</voice> <fax>212-555-1213</fax>

</phone> <email>[email protected]</email> <web>http://www.fruity.com/rizzo</web> <company>Frank&apos;s Ratchet Service</company>

</contact> <!-- This is my old college roommate Sol. -->

<contact> <name>Sol Rosenberg</name> <address>1162 E 412th Street</address> <city>New York</city> <state>New York</state> <zip>10011</zip> <phone>

<voice>212-555-1818</voice> <fax>212-555-1819</fax>

</phone> <email>[email protected]</email> <web>http://www.fruity.com/rosenberg</web> <company>Rosenberg&apos;s Shoes &amp; Glasses</company>

</contact> </addressbook>

Hekil 2 – Adres XML Belgesi [4]

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 5/39

5

etiketler içermekdedir. Belgenin web tarayc lar nda nas l formatlanaca' konusundaherhangi bir bilgi yoktur. Belgenin formatlanmasdaha sonra görece' imiz CSS veyaXSL teknolojileri yaplabilir.

Hu ana kadar bu örnekte belge içinde hangi etiketler hangi yapda kullanlabilir belirmedik. Bir belge içerisinde her hangi bir etiket ismi verip bu etiketi belge içindekullanabilirmiyiz? Elbeteki hayr. Bir uygulamadaki XML belgesinin yaps ve içereçe' ietiketler o uygulama için gelitirilmi olan olan özel iaretleme dili ile tanmlan r. Bui aretleme dilinin yaps ise XML DTD (Document Type Definition) veya XML schemaolarak adlandr lan belge tanmlama dosyalar nda belirtilir.Hekil 3’te yukar daki adreslistesi örne' i için tanmlanm bir DTD dosyasn göstermektedir. Bu dosyada buDTD’ye göre oluturulmu bir adres listesinde hangi etiketlerin bulunabileçe' ini, buetiketlerin hangi etiketleri içerebilece' i gibi bilgiler vermektedir. lk sat r <adressbook>etiketinin bir veya daha fazla <contact> etiketi içerece' ini belirmektedir. kinci sat r ise bir <contact> etiketinin içinde geçecek elemanlar belirlemektedir.

V. XML TABANLI TEKNOLOJ LER VE UYGULAMALAR XML de' i ik veri, kavram ve içeriklerin tanmlanmas ve temsil edilmesi için uygun bir ortam sunmaktadr. Bu nedenle XML farkl alanlarda uygulama verilerinin tanmlanmasve ta nmas için üretici, dil, ve platformdan ba' ms z stratejik bir araç olarak hzlayayg nla maktad r. A a' da XML’in kullanld ' ve kullanlaça' baz temel uygulamaalanlar tan t lm t r.

Internet Arama Makinalar )Internet çok büyük bir haçimdeki yapsal olmayan veri içermektedir. Bir aramamakinasn n (search engine) ingilizçe “chip” kelimesini arad' n dü ünelim. Kar m za“chip” kelimesini içeren binlerce doküman gelecektir. Bu dokümanlar patates “chip”leri, bilgisayar “chip”leri veya “chip” isimli kiiler hak nda olabilir.Hu anda Internet belgeleriHTML ortamnda sakland ' ndan veri içeri' i hakk nda her hangi bilgi yoktur. XML

<!ELEMENT addressbook (contact)+> <!ELEMENT contact (name, address+, city, state, zip, phone, email,

web, company)> <!ELEMENT name (#PCDATA)> <!ELEMENT address (#PCDATA)> <!ELEMENT city (#PCDATA)> <!ELEMENT state (#PCDATA)> <!ELEMENT zip (#PCDATA)> <!ELEMENT phone (voice, fax?)> <!ELEMENT voice (#PCDATA)> <!ELEMENT fax (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT web (#PCDATA)> <!ELEMENT company (#PCDATA)>

Hekil 3 – Adres XML DTD Dosyas[4]

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 6/39

6

yayg n bir ekilde Internet’te belge saklama ortamolarak kullanld ' nda, aramamakinalar veriler hak nda verilen bilgileri (metadata) kullanarak daha ak ll seçimler sunabilecektir.

Ayg)t ve Uygulamadan ba/)ms)z Veri Eri 0imiHu andaki Web ortamndaki HTML belgelerine masaüstü bilgisayarlardaki tarayc(browser) programlar kullanarak eri ilmektedir. Bu yap de' i meye ba lam t r. Ceptelefonlar ve ki isel saysal yardmc PDA (Personel Digital Assistant) gibi araçlar ile bugün web eriimi h zla artmaktadr. Bu araçlardaki görüntü, band genili' i, bellek vei lemçi s n rlamalar Web’te yeniden bir yaplanmay gerektirmektedir.

HTML dili belgelerin Web tarayc lar nda gösterilmesi amaçile geli tirlmi tir. XML belge içeri' ini belge sunumundan ayrmaktad r. XML ortamndaki belgeler aygt nyap s na ba' l olarak istenilen ekilde formatlanarak sunulabilir. XML tabanl bilgilereeri im cep telefonu gibi bir aygtla eri ilece' i gibi bu i amaçl bir web uygulamas iledeolabilir. Bu uygulama XML ortamndaki bilgi içeri' ini alarak istedi' i ekilde kullanabilir veya formatlayabilir. Örne' in a a' da bir ürün hak ndaki bilgiler XML formatndaverilmi tir. Bu ürün hakk ndaki bilgiler Hekil 4’te görüldü' ü gibi XML i lemcisitaraf ndan farkl ortamlarda sunulabilir.

Hekil 4 – XML belgeleri farklortamlarda eri ilebilir [3].

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 7/39

7

Elektronik Veri De / i0imi ve Elektronik TicaretXML’in en fazla ilgi çeken taraf e-ticaret, tedarik zinciri yönetimi ve iak (workflow)yönetimi gibi elektronik i web uygulamalar nda bir veri de' i im format olarak kullan lmas d r. Bugünkü bilgisayar iletiimindeki çok büyük geliimlere ve birikimera' men, bilgisayar sistemlerindeki ve veritabanlar ndaki farkl formatlardaki verilerinirket içi ve irketler aras ta nmas ve i lenmesi en büyük problemlerden birisidir. Bu

verilerin XML formatna dönü türülerek ta nmas bu problemin çözümünükolayla t rmaktad r.

MÜ TER

TOPTANCIÜRET C<SPAR >

<FATURA>

BANKA

BANKA

< Ö D E M E

>

< Ö D E M

E ><ÇEKME>

< Ç E K M E >

< S P A

R >

< Ü R Ü

N >

<ÜRÜNBLGLER>

Bas)n ve Yay)nc)l)k

XML basn ve yaync l k için geli tirilmi olan SGML dilinin basitletirilerek türetilmi bir dil oldu' undan bu konuda ayn amaçla kullanlabilir. XML formatnda saklanan belgeler bir çok farklortama XML araçlar n kullarak dönüürülebilir ve kullanlabilir.Klasik yaync l ' n yan s ra XML yeni elektronik yaync l ktada kullanlabilir.Elektronik yayn ortam ndaki görüntü, video, ses ve di' er say sal veri nesneleri XML ileformatlanarak saklanabilir, taranabilir ve sunulabilir.

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 8/39

8

irket Uygulamar) Bütünle0tirmesiHirket Uygulamalar Bütünle tirilmesi kavram farkl uygulamalar n tek bir uygulamagibi davranmas olarak ifade edilebilir. Bu ilem farkl sistemlerdeki veri kopyalar n n veda' t k bir yapdaki verilerin do' ru zamanda ve do' ru yerde bulunmasn gerektirir.Örne' in bir muhasebe sistemi ile sat sistemini birle tirmek için sat sipari i bilgilerininfaturalar n olu mas için muhasebe sistemine aktar lmas gerekebilir. Ayn ekilde faturaverilerininde muhasebe sistemine aktar lmas gerekebilir. Bu aktarma ilemleri do' ru bir ekilde yapld ' nda her bir i hareketi otomatik olarak gerekli uygulama sistemlerine

i lenerek güncellecektir.

Yaz)l)m Geli0tirmeXML büyük çapl uygulama geli mede uygulama mimarilerinin paylam nkolayla t racakt r. OMG (Object Management Group) bir XML tabanl bir uygulama olanXMI (XML Metadata Interchange) spesifikasyonunu kullanaca' n belirmi tir. XMI,UML (Unified Modelling Language) kullanarak tasarlanmolan uygulamalar tan mlamada kullanlan bir dildir. XMI, gelitirme ekibinin çok farkluygulamageli tirme araçlar n kullanarak, tek bir UML modelinin paylam na imkan vermektedir.Bu yaz l m geli tirme sürecinde gelitirme ekibi arasndaki ileti imi art rarak geli tirmesürecini k saltmakta ve ekibi daha üretken k lmaktadr.

Yaz l m geli tiricileri XML meta bir dil oldu' undan uygulamalar n n gerektirdi' i yenidilleri geli itirebilir. Bu dillerde tanmlanm olan verileri ve yaplar haz r olarak bulunan XML kütüpaneleri ve araçlar ile kolaylkla i leyebilir.

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 9/39

9

VI. XML SÖZ D Z M (SYNTAX)XML belgeleri iaretleme ifadeleri ve veri içeri' inden olu an bir veri dosyas veya paketidir. aretleme ifadeleri elemanlar (elements), varlk referanslar (entityrefererences), açklamalar (comments), ileme komutlar (processing instructions),CDATA bölümleri ve veri tipi tanmlamalar ndan (document type declaretions) oluur.

XML’de geçen temel iaretleme ifadelerini detaylincelemeden önce aa' daki Hekil‘teki örne' i inceleyelim. Bu örnekte XML dilinde tanmlanm basit bir elektronik postaverilmi tir. Belgenin ilk satr <?xml ... ?> her zaman tanmlanmas gereken XML ilemkomutu deklarasyonudur. Bu belgenin bir XML belgesi oldu' unu ve hangi versiyonukulland ' n belirmektedir. kinci sat r opsiyonel olarak tanmlanabilen belge tipideklarasyonunudur. Bu belge için tanmlanm olan DTD (Veri Tipi Tanmlama)dosyas n n isminin e_posta.dtd oldu' unu ifade etmektedir. Bunlar n alt ndaki k s m XML belgesinin gövdesini oluturmaktadr. XML belgesi gövdesi hiyerar ik bir a' açyap s nda olu mu belge elemanlar ndan olu ur. Her bir eleman bir balang ç ve bitietiketi içerir. Örne' in a a' daki tarih eleman <tarih> ba lang ç etiketini,7 Eylül 2000 karakter verisini ve</tarih> biti etiketindan olumaktad r. Elemanlar di' er elemanlar veya karakter verileri içerebilir. Bu örnektee_posta eleman kime, kimden, tarih, konu, vemesaj elemanlar n içermektedir. Bir belgenin en üst seviyesinde bulunan eleman kök eleman olarak adlandr l r. Bu örnekte kök elemane_posta’d r.

Elemanlar (Elements)

Elemanlar XML dilinin en temel yapta lar d r. Bir eleman veri içeri' ini kapsayan bir kutudur. Karakter verileri, di' er elemanlar veya di' er i aretleme yaplar n içerebilirler.Elemanlar etiketlerle ayr l rlar. Her bir etiket bir eleman tip ismi (element type name)içerir ve bir çift (“<>”) aç parantezle içe aln r. Eleman tip isimlerini oluturmakta olankurallar di' er programlama dillerindeki isim kurallar na benzemektedir. Her bir isim bir

Hekil 4 – Elektronik posta XML belgesi

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 10/39

10

harfle veya alt çizgi (_) bayababilir. Tire (-) veya say ile ba layan isimler kulan lamazlar.

Bo elemanlar (empty elements) haricindeki her bir elemann bir ba lag ç etiketi bir de biti etiketi bulunur.

Ba0lang)ç EtiketleriBir elemann ba lama ayraç ba lang ç etiketi (start-tag) olarak adlandr l r ve bir çift(“<>”) aç parateziyle kapatl r. A a' da bir baz do' ru ba lang ç etiketleri verilmitir.

Unutulmamas gereken bir di' er kural XML dili harflerin büyük veya küçük olmasnaduyarl (case sensitive) oldu' udur. Örnekteki <Kitap> ve <kitap> etiketleri aynde' ildirler.

Biti0etiketleriBir elemann biti ay raç biti etiketi (end-tag) olarak adlandr l r. Biti etiketi eleman tipismi öcesinde bir bölü (“/”) karakteri içerir ve aç parantezleri ile kapatl r. A a' da bitietiketi örnekleri verilmitir.

XML’de her bir ba lang ç etketi bir biti etiketi ile mutlaka kapatlmal d r. Ba lang ç bitietiketi ile kapatlm bir tam XML elemana a' daki gibidir.

Bo0Eleman EtiketleriA a' daki örnekteki ilk satrda oldu' u gibi bo elemanlar (empty elements) her hangi bir içerik içermezler. Bo etiketler istenirse etkiketin sonuna tek bir bolü (/) iareti eklenerek k sat lm bir biçimde gösterilebilir. kinci sat rda bunun bir örne' i verilmi tir.

<kime><kimden><Kitap><kitap>

</kime></kimden></Kitap></kitap>

</kitap> XML Unleashed </kitap>

</br></br><br/>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 11/39

11

Belge Eleman)XML belgeleri mutlaka hiyerar ik etiket yaps nda olmald r. Etiket hiyerar isi içindekien üst sevyideki etiket kök etiket (Root tag) veya belge kökü (Document root) olarak adland r l r. Kök etiketin oluturdu' u eleman Belge eleman(Document Element) olarak adland r l r. Bu eleman belgenin a' aç yap s ndaki di' er bütün elemanlar içine al r vedi' er bir elemann içinde bulunamaz. Örne' in Hekil 4’te verilen elektronik postaörne' inde belge kökü e_posta’dr.

Elemanlar iç içe yuvaland ' nda yuvalama (nesting) kurallar na uymald rlar. Yoksa bu bir XML belgesinin hiyerar ik a' aç yap s n bozacakt r. A a' da bir yanl yuvalamaörne' i verilmi tir.

A a' da do' ru bir yuvalama örne' i verilmi tir.

Özellikler (Attributes)Elemanlara eklemek istedi' imiz ek bilgiler özellikler olarak ifade edilir. Özelikler ba lang ç etiketi içerisinde isim ve de' er ikilileri olarak geçer. Aa' da bir özellik örne' iverilmi tir:

Buradaki kitap_no kitabn bir özelli' idirr. Özellik de' erleri mutlaka çift trnak (“) veyatek t rnak (‘) içine alnmal d r.

Karakter VeriBir elemann ba lang ç ve biti etiketleri içinde geçen metin içeri' i karakter veri(character data) olarak adlandr l r. XML içinde özel amaçlolarak kullanlan (&,<,>,”,’)karaterleri oldu' u gibi bir karakater veri içerisinde geçemezler. Bu karakterler iaretlemeetiketleri içinde özel amaçlarla kullanlan ay raçlard r.

XML’de HTML’den farkl olarak etiketler içine yazlm olan veri içerisinde geçen bo luklar (White Space) korunur ve uygulamalara iletilir. Etiket tanmlar içerisinde veyaözellik tanm içerisinde geçen boluklar ise HTML’de oldu' u gibi parser taraf ndan yok edilir.

HTML allows <B><I> improper nesting <B>

<I>

XML requires <B><I> improper nesting <I>

<B>

<kitap kitap_no=”123456”>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 12/39

12

Karakter ve Varl )k referanslar )SGML ve HTML gibi ASCII karakter seti içinde karakterleri göstermek için XML ikiyöntem kullanmaktadr. Birinici yöntem karater refereranslar d r. Karater referanslar gosterilecek karateri onluk bir sayn n ba na “&#”, onaltl k bir sayn n ba na ise“&#x” ekleyerek gösterme imkansa' lar. Örne' in copyright karateri ondal k olarak “&#169” veya onaltl k olarak “&#xA9” XML’de gösterlebilir.

Varl k referanslar verilecek bir isim vastas yla istenilen karaterleri göstermek içinkullan l r. Varl k referanslar bir amersend (&) karateri, bir isim ve noktalvirgülden (;)olu ur. Örne' in XML’de özel olarak kullanlan (&,<,>,’,”) karakterleri (&amp; &lt; &gt;&apos; &quot;) varlk referanslar ile gösterilir. Bu referanslar XML de daha öncetan mlanm standard referanslardr. Bu referanslar haricinde özel olarak kullanmak istei' imiz varlk referanslar DTD içinde tanmlanmald r.

Aç)klamalar (Comments)Aç klamalar HTML’de oldu' u gibi “<!--“ ile balar ve “-->” ile biter. Açklamalar bir XML belgesinin herhangi bir k sm nda geçebilir ve belgenin bir parçassay lmazlar.

0lem Komutlar) (Processing Instructions)XML belgelerini kullanan uygulamalara her hangi bir komut geçilmesi istenildi' inde bui lem komutlar ile yap l r. lem komutlar a a' daki yap ya sahiptir:

lem komutlar XML i lemiçisi taraf ndan uygulamaya iletilir. lem komutlar aç klamalar gibi bir XML belgesinin parçassay lmazlar.

CDATA bölümleri (CDATA Sections)CDATA bölümleri XML’de kullanlan i aretleme ifadelerinin göz ardedilmesi gerekenmetinleri yazmada kullanl r. XML parsr’ bu bölümde metin içerisinde yer alani aretleme ayraçlar n ve etiketlerini normal karaterker olarak alglar. Bir CDATA bölümü u yap ya sahiptir:

Bu yap da “...” olarak ifade edilen k s m “]]” hariç herhangi bir metini içerebilir. Aa' da bir CDATA bölümü örne' i verilmi tir.

XML Veri Tipi Tan )mlamalar ) (DTD)

<?hedef ...komutlar ... ?>

<![CDATA[ ... ]]>

<![CDATA[*P = &AC = (i <= 5) ;

]]>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 13/39

13

Belge Tipi Deklarasyonu (Document Type Declaration)Belge tipi deklarasyonlar bir XML belgesinin giri k sm nda tan mlanan belgenin gramer tan m kurallar n belirleyen hangi harici ve dahili DTD (Document Type Definiton)’yikulland ' n belirtir. Bu k s m varl k referans tan mlamalar gibi ek bilgilerde içerebilir.Harici belge tipi deklarasyonlar u formatta olabilir:

Bu tan mdaki kök_eleman_ismi belge DTD’sinde en üst seviyede tanmlanan kök eleman belirtir. Sistem_tanmlay c s ise harici olarak kullanlan DTD’ye URI (UniformResource Idenifier) bir referansiçerir. kinci sat rdaki formatta XML parser’ilk önce public_tanmlay c s ’n kullarak bir URI referansolu turmaya çal r. E' er bu mümkünolmazsa sistem_tanmlay c s ’ndaki referans kullan r. A a' daki Hekil 2’de verilen adres belgesinin belge tipi deklarasyonu k sm gösterilmi tir:

lk sat r adres belgesindeki kök elemann adressbook oldu' unu belirtmektedir. BelgeninDTD’si http://xyz.com/AddressBook.dtd dosyas nda saklanr. Bunun haricindekö eli parantez içinde tanmlanan k s m ise varlk referanslar n tan mlamaktadr. Buk s mda istenirse dahili belge tipi tanmlamalar da bulunabilir.

yi Olu0mu0(Well-formed) ve Do/ ru (Valid) BelgelerXML söz dizimi (syntax) kurallar na uyan XML belgeler iyi-olumu (Well-formed) belgeler olarak adlandr l r. E' er belge için tanmlanm olan DTD’de geçen gramer kurallar na uyuyorsa bu durumdaki belgelerde do' ru (Valid) belgeler olarak adlandr l r.

VII. DTD (DOCUMENT TYPE DEFINITION) BELGE TP TANIMLAMALARIDTD’ler bir belgenin yaps n belirlerler. XML’in ilk harfinde geçen genileyebilir kelimesinin (Extensible - X) anlamn ifade eden yeni yaplar tan mlamamza imkanverir. Herhangi bir alandaki uygulamalarda kullanlacak yeni i aretleme dillerini (markuplanguages) DTD’ler ile gelitirebiliriz. Bu amaçla gelitirilmekte u anda onlarca XMLi aretleme dili vardr. Bu diller XML uygulamas(application) veya XML sözlü' ü(vocabulary) olarak anlmaktadr. XML sözlükleri bir alandaki bilgi de' i imi ortamnsa' lamak için tanmlanm i aretleme dilleridir. Baz XML sözlükleri örnekleri aa' daverilmi tir:

• Synchonized Multimedia Integreration Language (SMIL)• Chemical Markup Language (CML)• Bioinformatic Sequence Markup Language (BSML)• Common Business Library (CBL)

<!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 ">

<?xml version="1.0"?> <!DOCTYPE addressbook SYSTEM "http://xyz.com/AddressBook.dtd" [ <!ENTITY amp "&#38;#38;"> <!ENTITY apos "&#39;">

]>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 14/39

14

Bu yeni diller için tanmlanan DTD’ler bu dilin hangi etiketleri içerbilece' i, etiketlerinsahip olabilece' i özellikleri, hangi elemanlar n di' er hangi elemanlar içerebilece' i gibidil yap s bilgilerini (gramer) içerir.

Bilgisayar ortamnda dillerin gramer’leri genellikle EBNF (Extended Backus-Naur Form)’da tanmlan r. XML belirtimide (XML Specification) original olarak EBNFnotasyonunda belirtilmitir. XML 1.0 belirtimihttp://www.w3.org/TR/REC-xmladresinden elde edilebilir. EBNF dili yapkurallar n içerir. Her bir yap kural n n soltaraf yap n n ismini sa' taraf ise yap y tan mlar. Bir ki inin bir isminin art olmasn ngerekti' ini ve opsiyonel olarak telefon numaralar n n bulunabilece' ini EBNF’de uekilde ifade edebiliriz.

Ayn yap DTD’de u ekilde tanmlanabilir.

Bir XML belgesinin yaps DTD’de a a' da verilan dört çeit i aretleme ifadesi iletan mlan r.

DTD ifadesi AnlamELEMENT

ATTLIST

ENTITY

NOTATION

Bir XML eleman tan mlar.

Bir eleman tipinin alabilece' iözellikleri tanmlar.

Belli bir içeri' in bir isme ba' lanarak oisimle ili kilendirilmesini sa' lar.

XML hariçi içeri' in tan mlanmasnsa' lar. Bu tanmlaran içerik XML belgesinin bir parçasolarak parseedilmez.

ElemanlarElemanlar bir XML belgesinin en temel yaplar d r ve ELEMENT etiketi iletan mlan rlar. Dört çe it eleman tipi vardr:

• Empty (Bo ) : Eleman herhangi bir içerik içermez. Elemann özellikleri olabilir.• Element Only (Yalnzca Eleman) : Eleman yalnzca alt seviye (child) elemanlar

içerebilir.

Ki i ::= (isim telefon-no*)

<!ELEMENT ki i (isim telefon-no*)>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 15/39

15

• Mixed (Kar k) : Eleman alt seviye elemanlar ve karakter veri kar m niçerebilir.

• Any : Eleman DTD’in izin verdi' i içeri' i içerebilir.

Bo0(Empty) ElemanlarBo elemanlar a a' daki formatta tanmlan r.

Örne' in

Bo eleman XML belgesi içerisinde daha önce açkland ' gibi e' er bir özelli' i yoksaa a' daki ilk iki satrdaki gibi geçecektir:

Yukar daki örnekte alttaki iki satrda img eleman src adl bir özellik içermektedir.

Yaln)zca Eleman çeren (Element Only) ElemanlarBu tipteki elemanlar aa' daki formattadr.

Bu yap da çerik-Modeli yalnzca bu elemann alt nda kalacak alt elemanlar içerebilir.Örne' in Hekil 4’te verilen elektronik posta kök elemane-posta’nn tan m a a' dakigibidir.

Bu örnek e-posta elemankime, kimdenve mesaj alt elemanlar n mutlaka gösterilens rada XML belgesi içinde geçmesi gerekti' ini göstermektedir . Tarih ve konuelemanlar ise opsiyoneldir. Bu elemanlar n opsiyonal oldu' unu (?) sembolü göstermekdedir.XML’de çe itli amaçlarla kullanlan sembollerin anlamlar a a' da listelenmi tir:

<!ELEMENT Eleman %smi EMPTY>

<!ELEMENT img EMPTY)>

<img/> <img></img> <img src=”resim.gif”/> <img src=”resim.gif”/><img>

<!ELEMENT Eleman %smi %çerik- odeli>

<!ELEMENT e-posta kime kimden tarih? konu? mesaj>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 16/39

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 17/39

17

ANY elemanlar herhangi bir yapya sahip de' ildir. ANY eleman karakter veri,tan mlanm elemanlar veya bunlar n bir kar m n içerebilir. ANY elemanlar her hangi bir yap belirtmedi' i için kullanlmas tavsiye edilmez.

Özellikler (Attributes)Daha öncede belirtildi' i gibi özellikler elemanlar hak nda ek bilgi tanmlamak içinkullan l r. Bir eleman hakk ndaki özellik bilgileri aa' daki formatta tanmlan r.

Bir özellik bir isim ve tip bilgisini içerir. Default bir de' er olabilir veya özellik kullanmhakk nda bilgi verir. Dört çeit default de' er tipi a a' da verilmi tir.

Default Anlam

#REQUIRED

#IMPLIED

#FIXED De er

De er

Özellik her zaman tanmlanmal d r.

Özellik opsiyoneldir.

Özellik sabit bir De er’ e sahiptir.Özellik eleman içinde tanml olmazsa, parser bu sabitde er ’in oldu' unuvarsayar.

Özellik eleman içinde tanml olmazsa, parser bu de er ’in oldu' unu varsayar.E' er tan ml ise özellik farkl bir de' er içerebilir.

Örne' in a a' daki örnekte Kitap elemann n Bas mTarihi diye bir özelli' inin oldu' u ve bu özelli' in karater veri oldu' u (CDATA) belirtilmektedir.

Bu özellik bir XML belgesi içindeu ekilde geçebilir:

A a' daki örnek kitap Bas-m-Say- s- özelli' inin opsiyonel oldu' unu göstermektedir.

A a' daki örnek denizeleman n n renk özelli' in sabit olarak mavi de' erine sahipoldu' unu göstermektedir.

<!ATTLIST Eleman %smi Özellik %smi ÖzellikTipi Default >

<!ATTLIST Kitap Bas mTarihi CDATA #REQUIRED>

<Kitap Bas mTarihi=”1.1.2000”> ...... </Kitap>

<!ATTLIST Kitap Bas m-Say s CDATA #IMPLIED>

<!ATTLIST deniz renk #FIXED “mavi”>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 18/39

18

A a' daki örnek elma eleman n n renk özelli' inin default olarak k -rm- z- oldu' unugöstermektedir.

XML 10 de' i ik özellik tipini destekler. Bu özellik tipleriunlard r.

Özellik Tipi Anlam)

CDATA

Enumarated

NOTATION

ENITITY

ENTITIES

ID

IDREF

IDREFS

NMTOKEN

NMTOKENS

Karakter veri (Unparsed)

Özelli' in sahip olabileçe' i de' erler kümesi

DTD’de tanmlanm herhangi bir notation.

Harici bir varlk.

Bir den fazla bolukla (white space) ayr lm varl klar.

Bir belge içerisinde geçebilecek tek tanmlay c bir de' er (unique identifier).

DTD’te tanmlanm olan bir ID’ye olan referans.

Bo lukla (white space) ayr lm ID’ler serisine referans.

XML token karaklerlerinden (harf, say, nokta, tire, ikinokta, alt cizgi) oluan bir isim.

XML token karakterlerinden oluan bo lukla ayr lm bir çok isim.

Enumerated özellikler bir dizi de' er kümesi içerir. Özellik bunlardan bir de' eri alabilir:A a' daki örnek kalemeleman n n renk özeli' inininmavi, k -rm- z-, ye il veya beyaz olabilece' ini göstermektedir. E' er bir renk seçilmezse default olarak k -rm- z- renk al n r.

A a' daki örnek DTD’de tanmlanm olan notation’lar özellik olarak kullanmaktadr. Notation XML harici veri tiplerini tanmlamakta kullanl r. Bu örnek resim formatn n gif veya jpeg olabilece' ini belirtmektedir.

ID tipindeki özellikler de' erleri bir belge içerisinde yalnzça bir defa geçebilir. Bu bize bir eleman unique olarak tanmlamamz sa' lar. Örnegin personel diye bir elemanm z

<!ATTLIST elma renk “k rm z ”>

<!ATTLIST kalem renk (mavi | k rm z | ye il | beyaz) “k rm z ”>

<!ATTLIST resim format NOTATION (gif | jpeg) #REQUIRED>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 19/39

19

olsun. Her personel personel-no adl bir özellik içersin. Her personelin numarasfarklolaca' ndan bu özellik ID olarak tanmlan r.

IDREF, ID tipindeki elemanlara referans vermemizi sa' lar. Örne' in mühendis adl bir eleman m z olsun. Mühendis ile personel arasndaki bire bir ilikiyi IDREF ile belirtebiliriz.

Bu bize mühendisin personel bilgilerini personel elemanndan elde etmemizi sa' lar.A a' da bir XML belgesi örne' i verilmi tir.

IDREFS iki eleman arasndaki bire çoklu ilikileri göstermekte kullanlabilir.Örne' in proje-gurubu adl bir elemanm z olsun. Bir proje gurubu bir çok personeliçerecektir. Bu ilikiyi u ekilde belirtebiliriz:

Bu yap daki bir XML belgesi aa' da verilmi tir. Bu belge 12345, 67891, 23456 nolu personelin proje gurubunda yer ald' n belirtmektedir.

Özellik de' erlerininin token olarak varsaylmas gereken durumlarda NMTOKEN veya NMTOKENS tipini kullanl r. Token bo luk içermeyen bir de' erdir. XML parser’ bir özelli' i token olarak i lemesi durumumda aradaki boluklar (white space) tek bolu' aindirger ve ba ve sondaki bo luklar siler. Bu i lem özellik de' eri normalizasyonu(attribute value normalization) olarak adlandr l r. A a' da bir çok token içeren bir NMTOKENS özellik tipi tanm ve XML ifadesi verilmitir.

Varl )klar (Entities)Varl klar herhangi bir veri parçasna bir isim vererek bu veri parçalar na referransvermemizi sa' lar. Bunu C dilindeki DEFINE fonksiyonu gibi düünebiliriz. Varlk tan mlamalar bir defa tanlad ' m z bir de' eri bir çok yerde ismi ile refereans vererek tekrar kullanabiliriz. Üç çeit varl k tan mlamas vard r:

<!ATTLIST personel personel-no ID #REQUIRED>

<!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”/>

<!ELEMENT proje-gurubu EMPTY> <!ATTLIST proje-gurubu per-no IDREFS #REQUIRED>

<proje-gurubu per-no=”12345 67891 23456”

<!ATTLIST personel e Vitim NMTOKENS #IMPLIED>

<personel e Vitim=”ilkokul ortaokul lise ”

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 20/39

20

• Genel Varl klar (General Entities)• Parametre Varlklar (Parameter Entities)• Karakter Varl klar (Character Entities)

Genel Varl)klarGenel varlklar bir metin parçasna bir isim vererek bu isimle metini kullanmamz sa' lar.Örne' in a a' da bir irket ismi için yaplm tan mlama gösterilmitir.

Tan mlamay a a' daki gibi ismin ba na (&) harfi ve sonunna (;) ekleyerek kullanabiliriz.

Bu ifadedeki &irket referans tan mlamadaki metinle yer de' i tirecektir.Genel varlk tan mlamalar n harici bir dosyaya ulamak içinde kullanabiliriz. Örne' ina a' daki tanmlamanreadme.txt dosyas na referans tanmlamaktadr.

SYSTEM ve URL dosyann bulundu' u yeri belirtmektedir.

Parametre Varl )klar (Parameter Entities)Genel varlk tan mlamalar XML belgesi içinde bir metin için tanmlad ' m z isimle belgenin içinde yer almasn sa' lar. Parametre varlk tan mlamalar ayn i levi bizeDTD’nin içinde yapmamz sa' lar. Parametre varlk tan mlamalar a a' daki formattadr:

A a' daki örnekte boyut isimli bir parametre tanm yap lm t r.

Parametre varlklar varl k ismi ba na (%) sonuna (;) konarak DTD içinde referans edilir.A a' da boyut’a yaplm olan referanslar görmekteyiz.

Her üç eleaman tanm ndada %boyut; isminin geçti' i yerlerde(uzunluk geni lik

yükseklik ) metni yer alaçaktr.

Karakter Varl )klar (Character Entities)Karakter varlk referanslar verilecek bir isim vastas yla istenilen karaterleri göstermek için kullanl r. Karakter varlk referans tanmlamalar a a' daki örnekte oldu' u gibiyap l r:

<!ENTITY irket “XYZ Bilgisayar Limited _ irketi A. _ .”>

<reklam> Firmam z & irket; internet dan manl V hizmeti sunar. </reklam>

<!ENTITY aciklama SYSTEM “http://www.xyz.com/readme.txt”>

<!ENTITY % Varl k%smi Varl kTan m >

<!ENTITY % boyut “uzunluk geni lik yükseklik”>

<!ELEMENT tavan (%boyut;)> <!ELEMENT çat (%boyut;)> <!ELEMENT duvar (%boyut;)>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 21/39

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 22/39

22

ADRESBOOK DTD <!ELEMENT addressbook (contact)+> <!ELEMENT contact (name, address+, city, state, zip, phone, email, web, company)> <!ELEMENT name (#PCDATA)> <!ELEMENT address (#PCDATA)> <!ELEMENT city (#PCDATA)> <!ELEMENT state (#PCDATA)> <!ELEMENT zip (#PCDATA)> <!ELEMENT phone (voice, fax?)> <!ELEMENT voice (#PCDATA)> <!ELEMENT fax (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT web (#PCDATA)> <!ELEMENT company (#PCDATA)>

ADRESBOOK XML_EMASI <?xml version="1.0"?> <Schema name="AddressBookSchema"

xmlns="urn:schemas-microsoft-com:xml-data"xmlns:dt="urn:schemas-microsoft-com:datatypes">

<ElementType name="name" content="textOnly"/> <ElementType name="address" content="textOnly"/> <ElementType name="city" content="textOnly"/> <ElementType name="state" content="textOnly"/> <ElementType name="zip" content="textOnly" dt:type="int"/> <ElementType name="voice" content="textOnly" dt:type="int"/> <ElementType name="fax" content="textOnly" dt:type="int"/> <ElementType name="phone" content="eltOnly">

<element type="voice" minOccurs="1" maxOccurs="1"/> <element type="fax" minOccurs="0" maxOccurs="1"/>

</ElementType>

<ElementType name="email" content="textOnly"/> <ElementType name="web" content="textOnly"/> <ElementType name="company" content="textOnly"/> <ElementType name="contact" content="eltOnly">

<element type="name" minOccurs="1" maxOccurs="1"/> <element type="address" minOccurs="1" maxOccurs="2"/> <element type="city" minOccurs="1" maxOccurs="1"/> <element type="state" minOccurs="1" maxOccurs="1"/> <element type="zip" minOccurs="1" maxOccurs="1"/> <element type="phone" minOccurs="1" maxOccurs="1"/> <element type="email" minOccurs="0" maxOccurs="1"/> <element type="web" minOccurs="0" maxOccurs="1"/> <element type="company" minOccurs="0" maxOccurs="1"/>

</ElementType>

<ElementType name="addressbook" content="eltOnly"> <element type="contact" minOccurs="1"/> </ElementType>

</Schema>

Hekil 5 – Adressbook DTD ve XMLemas [4]

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 23/39

23

IX. CSS ve XSL ile XML sunumuDaha önce bahs etti' imiz gibi XML belge içeri' i ve sunumu birbirinden ayrm t r.XML belgelerinin görsel olarak biçimlenlendirilerek sunumu CSS (Cascading StyleSheets) veya XSL (eXtensible Style Language) kullanlarak gerçekle tirilir.

CSS (Cascading Style Sheets)CSS HTML ve XML belgelerini görüntüleme amaçyla kullanlan bir biçimleme dilidir.CSS biçim sayfalar (sytle sheets) belge elemanlar na uygulanacak olan bir kurallar kümesi içerir. Her bir kural elemanlar n nas l biçimlendirlece' ini belirler. Biçim kurallar a a' daki yap ya sahiptir:

Özellikler (properties) seçicinin (selector) belirti' i elemanlar n nas l formatlanaça' konusunda biçimleme ifadeleri içerir. Aa' daki HTML paragraf n n mavi renkte, Arialfontunda 14pt büyüklükte göstermek istedi' imizi varsayalm.

Bu pararaf istedi' imiz ekilde formatlayacak bir CSS kuralörne' i verilmi tir:

HTML elemanlar n n nas l biçimlendirilece' ini CSS kurallar kullanarak belirti' imizgibi, XML belgelerindeki elemanlar da CSS kurallar kullanarak biçimlendiredirebiliriz.Örne' in <isim> Selim Akyoku </isim> elemann kal n, 16pt ve Times font’unda biçimlendirmek için aa' daki CSS kuraln kullanabiliriz.

XML belgelerini CSS kurallar n içeren CSS biçim dosyasna ili kilendirmek için xml-stylesheet i lem komutu kullanl r. Örne' in a a' daki i lem komutuHekil 4’te verilenadressbook.xml XML belgesiniadressbook.cssCSS kural dosyas ileili kilendirmektedir.

Seçiçi {özellik1: de Ver1;özellik2: de Ver2;......

}

p { display : block;color: blue;font-family : Arial;font-size: 14pt;

}

<p> CSS basit bir biçimleler için kullanl r </p>

isim { display : block;font-family : Times, serif;font-size: 16pt;font-weight : bold;

}

<?xml-stylesheet type=”text/css” href=”Adressbook.css”>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 24/39

24

Bu i lem komutununadresbook.xml belgesiniadressbook.cssteki kurallara göre biçimlendirilmesi için belgenin balang c na konulmas gerekmektedir.Hekil 4’de verilenadressbook.xml belgesini biçimlendirmek için oluturulan adressbook.css CSS biçimdosyas a a' da Hekil 6’de verilmitir.

Hekil 4’teki XML belgesininadressbook.cssdosyasndaki kurallara göre InternetExplorer 5.0’daki görüntüsüHekil 7’de verilmitir.

CSS basit biçimlendirme ilemleri için iyi bir yöntemdir. Karmak biçimlendirmei lemleri için XSL dili tercih edilir.

contact {display: block;width: 350px; padding: 10px;margin-bottom: 10px; border: 4px double black; background-color: silver;

color: blue;text-align: center;}

name {display: block;font-family: Times, serif;font-size: 16pt;font-weight: bold;

}

address {display: block;font-family: Times, serif;font-size: 14pt;

}

city, state, zip {display: inline;font-family: Times, serif;font-size: 14pt;

}

phone, email, web, company {display: none;

}

Hekil 6 – Adresbook.css biçimleme dosyas[4]

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 25/39

25

XSL (eXtensible Style Language)XSL, XML belgelerinin biçimlendirilmesi tasarlanmbir biçimleme dilidir. CSS’dençok daha güçlü bir yapya sahip olmasna ra' men XSL yeni bir teknoloji oldu' undan çok

fazla yaygn de' ildir ve konudaki standardlat rma çal malar henüztamamlanamam t r. XSL dili W3C’nin aa' daki spesifikayonlar n kullan r:

• XSLT – http://www.w3.org/TR/xslt• Xpath – http://www.w3.org/TR/xpath• XSLF – http://www.w3.org/TR/xsl

XSLT (XSLT Trasformations), XML belgelerinin bir dönüümü için kullanl r. XSLT bir yap daki XML belgesini, XSL biçim dosyasndaki tanmlamalara göre baka bir yapyadönü tür. XSLT, XML belgesini HTML diline, di' er bir XML belgesine veya XSLFformatlama nesnelerine dönütürebilir. Bugün XSLT en yaygn olarak XML belgelerininHTML belgelerine dönüümünde kullanl r. Dönü üm sonuçunda elde edilen HTML belgesi tarayc lar ile görsel olarak gösterilebilir.

XSLT, bir XML belgesinin dönüümü için ilk önce belgeyi parse ederek bir a' aç yap solu turur. Olu an a' aç yap s n kök elemanndan ba l yarak a' aç tarar ve XSL biçimlemedosyas nda tan mlanan kal plara göre dönüüm i lemini gerçekletirir. XSLT a' açyap s n tararken Xpath ifadelerini kullarak a' aç n de' i ik kesimlerine eriir.Xpath spesifikasyonu oluan bir XML a' aç n n içindeki dü' ümleri adreslemek içinkullan l r ve a' aç n belirli k s mlar n adresleyerek a' aç içinde dolamam z sa' lar.

Hekil 7 – Adressbook XML belgesinin Adressbok.cssdosyas ndaki biçimleme kurallar ile olu mu görüntüsü

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 26/39

26

XSLT bir XML belgesini baka bir XML belgesinede dönütürebilir. Örne' in ceptelefonlar ndaki WAP uygulamalar nda kullanlan WML (Wireless Markup Language)cep telefonlar ndaki k s tlamalar dü ünürüklerek XML dilinde tanmlanm bir i aretlemedilidir. XML belgeleri XSLT kullanarak WML’e dönütürülerek cep telefonlar ndagörüntülenmesi sa' lanabilir.

XSLF (XSL Formating), XSL teknolojisinin biçimleme k sm n içerir. XSLT , XML belgelerini XSLF biçimlendirme nesnelerine dönütür. Biçimleme nesneleri belgeleringörsel olarak sunumu sa' lar. Biçimleme nesnelerinin görüntülenmesi için tarayc lar nXSLF biçimleme yaps n desteklemesi gerekir. XSLF spesifikasyonu henüz gelitirmea amas nda oldu' undan bu yapy destekleyen bir tarayc yoktur.

XML’den HTML’e dönü0ümHu anda XML belgelerinin görüntülenmesi için en yaygn yöntem XML belgesininHTML biçimleme diline dönütütlmesidir. Dönütürme i lemi XSL biçimleme sayfalar (style sheets) içinde tanmlam dönü üm kurallar ile gerçekle tirilir. Bu kurallar ablon(template) olarak adlandr l r. Hablonlar XML belgesi içindeki eleman ve özelliklerikal plar (pattern) ile kar la t rarak e le tirilir. Kal plar Xpath spesifikasyonuna göreXML belgesinin istedi' imiz k s mlar na eri memizi sa' lar. Örne' in “/” kök kal b bütün belgeyi adresler. “isim” kal b XML belgesi içinde geçen bütün isim elemanlar n ifadeeder. “adressbook/contact ” kal b adressbook eleman alt ndaki contact eleman nadresler. E le tirilen kal plara ablonlar uygulanarak dönütürme i lemi gerçekle ir.Örne' in a a' daki XML elemanna bakalm:

sim elemann a a' daki HTML ifadesine dönütürmek isteyelim.

Bu dönü türme i lemi için a a' daki XSLT ablonunu kullabiliriz.

Bu ifade bir XML belgesi içinde geçen isim elemanlar n bularak elemann içindekide' eri <xsl:value-of/> ifadesi ile alr ve H2 etiketi içerisinde yazar.

A a' da s k olarak kullanlan XSLT di' er baz ablon yaplar verilmi tir:• Xsl:if • Xsl:apply-templates• Xsl:for-each

Xsl:if ifadesi artl e leme i lemleri gerçekletirilir. Örne' in a a' dali ifade fiyat özelli' i(attribute) 1000 olan ürünler içinurun sablonunu uygulayacaktr.

<isim> Selim Akyoku </isim>

<H2> Selim Akyoku </H2>

<xsl:template match=”isim”><H2> <xsl:value-of/> </H2>

</xsl:template>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 27/39

27

Xsl:apply-templates XSL biçim sayfasiçinde tanmlanm ablonlar uygulamamzsa' lar.

Xsl:for-each ifadesi bir XML belgesi içindeki elemanlara bir döngü içerisinde erimemizisa' lar. Örne' in a a' daki ifadevehicleseleman içindeki vehicleelemanlar na priceeleman na göre sralayarak eri memizi sa' lar.

Hekil 4’te verilenadressbook.xml belgesini Internet Explorer 5.0’daHekil 8’deki gibigörüntülenmesini sa' layan bir XSL biçimleme sayfas Hekil 9’de gösterilmitir.

<xsl:template match=”@fiyat=1000”><xsl:apply-templates select=”urun” />

</xsl:template>

<xsl:for-each order-by="+ price" select="vehicles/vehicle"><tr>

<td><xsl:value-of select="@year"/></td><td><xsl:value-of select="@make"/></td><td><xsl:value-of select="@model"/></td><td><xsl:value-of select="mileage"/></td><td><xsl:value-of select="color"/></td><td><xsl:value-of select="price"/></td>

</tr></xsl:for-each>

Hekil 8 – Adressbook.xsl biçimleme sayfasdaki (style sheet)ablonlara göre Internet Explorer 5.0’da oluan görüntü

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 28/39

28

ADRESBOOK.XSL B%Ç% MLEME SAYFASI

<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:template match="/"> <html><head><title>Address Book XML Example</title></head>

<body bgcolor="#FFFFFF"> <xsl:for-each select="addressbook/contact">

<xsl:apply-templates select="name"/> <xsl:apply-templates select="address"/> <xsl:apply-templates select="city"/> <xsl:apply-templates select="state"/> <xsl:apply-templates select="zip"/>

</xsl:for-each> </body>

</html> </xsl:template>

<xsl:template match="name"> <h2><xsl:value-of/></h2>

</xsl:template>

<xsl:template match="address"> <xsl:value-of/><br/>

</xsl:template> <xsl:template match="city">

<xsl:value-of/>, </xsl:template>

<xsl:template match="state"> <xsl:value-of/>

</xsl:template>

<xsl:template match="zip"> <xsl:value-of/><br/>

</xsl:template>

</xsl:stylesheet>

Hekil 9 – Adressbook.xsl biçimleme sayfas(style sheet) [4]

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 29/39

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 30/39

30

Hekil 11 – Addressbook.xml belgesini Addressbook.xsl biçimleme sayfasnkullarak HTML’e Web sunucusunda dönümünü sa' layan ASP kodu

<%'Load the XMLset xml = Server.CreateObject("Microsoft.XMLDOM")xml.async = falsexml.load(Server.MapPath("Addressbook.xml"))

'Load the XSLset xsl = Server.CreateObject("Microsoft.XMLDOM")xsl.async = falsexsl.load(Server.MapPath("Addressbook.xsl "))

Response.Write(xml.transformNode(xsl))%>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 31/39

31

X. XML BELGELER N N LENMESXML belgelerinin uygulama yazl mlar i lenmesi için bir çok yazl m paketigeli tirilmi tir. Bu yaz l mlar XML processor veya XML parser olarak adland r lmaktad r. De' i ik firmalarca gelitirilen XML parser yazl mlar ndan bazlar unlard r:

• Sun X package• IBM XML4J package• Oracle XML package• Microsoft MSXML parser • Open/XML parser • Lark/Larval XML parser

XML parser’lar veya i lemcileri üç de' i ik model üzerine ina edilmi tir. Bunlar unlard r:

• Bildiri-tabanl lem modeli (Declaretive processing model)• Olay-tabanl lem Modeli (Event-Based Processing model)• A' aç-tabanl lem Modeli (Tree-based processing model

Bildiri-tabanl i lem modelinde hangi ilemlerin gerçekletirileçe' ini belirtiriz. leminnas l gerçekle tilece' ini sistem belirler. Örne' in ili kisel veritabanlar nda kullanlan SQLsorgulamama dili bildiri-tabanli lem modeline dayanan bir dildir. Bir SQL sorgu ifadesihangi sonuçlar n elde edilece' ini tan mlan r. lemin nasl gerçekle ece' ini belirtilmez.

XML için geli tirilen XQL gibi sorgulama dilleri ve XSLT bildiri-tabanli lem modelinedayan r. Bir önceki bölümde gördümüz XSLT dönüüm örneklerinde dönüüm i lemiXSL biçimleme dosyasnda tan mlanm olan kurallara gerçekletirilir. Bu kurallar nnas l geçekle e' ini XML i lemcisi belirler. XSLT bildiri-tabanl i lem modelindeolu turulmu bir yapd r.

Olay-tabanl i lem modelinde XML parser’XML belgesini okur iken bulmu oldu' unesneleri uygulama programna olay (event) olarak bildirir. Örne' in bir ba lang ç etiketi,karaketer veri veya biti etiketi okudu' unda bunu bir olay olarak uygulama programnailetir. Örne' in a a' daki XML belgesinin okundu' unu varsayalm:

XML parser’ okuma i lemi esnasnda a a' daki olaylar türetir.

<example><line>&quo;Hello,world!&quo;</line></example>

start documentstart element: examplestart element: linetext: “Hello, World!”end element: lineend element: exampleend document

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 32/39

32

Uygulama program XML parser’nn bildirdi' i olay tiplerine göre XML belgesini iler veuygulama amaçna göre bir çkt üretir. Bu amaçla gelitirilmi olan yaygn yaz l mstandard SAX (Simple API for XML) arayüzüdür. SAX arayüzü basit uygulamalar içingeli tirilmi tir. SAX arayüzünü bir çok XML parser paketi desteklemektedir.

A' aç-tabanl i lem modelinde XML parser ilk önce XML belgesini okuyarak belgeyap s na göre sistem belle' inde bir a' aç olu turur. Uygulama progam bu a' aç yap siçinde dola arak gerekli i lemleri yapar. A' aç-tabanl i lem modeli için kullanlan modelDOM (Document Object Model) dir. DOM , XML ve HTML belgerinin ilemesi içinW3C konsorsiyumu taraf ndan geli tirilmi tir. Hiyerar ik bir yapda olan XML belgeleriDOM modelinde bir a' aç yap s nda temsil edilir. Örne' in a a' da bir yazarlar XML belgesi verilmitir:

Bu belge a a' daki a' aç yap s nda temsil edilir.

D o c u m e n t

V e r s i o n C o m m e n t E le m e n t

E le m e n t E l e m e n t

T e x t T e x t

E le m e n t

DOM (Document Object Model) APIA ' aç-tabanl i lem modeli için geli irilmi olan arayüz DOM (Document Object Model)API (Application Programming Interface) olarak adlad r l r. DOM API dil ve

platformdan ba ' ms z W3C’nin önerdi ' i bir arayüz spesifikasyonudur. Geli tirilen XML parser’lar n n büyük ço ' unlu ' u bu arayüz spesifikasyonuna göre in a edilmi tir. Buk s mda Microsoft MSXML parser kullarak baz örnekler verece ' iz. MSXML parser bir COM nesnesi olarak yaz ld ' ndan hem istemci taray c taraf nda hemde sunucumakinalarda çal abilmektedir.

<?xml version=”1.0”><!—Parse a ' aç örne ' i --><yazarlar>

<yazar><ad> Ali </ad><soyad> Demir </ad>

</yazar></ornek>

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 33/39

33

A' aç yap s ndaki XML belgelerini ilemek için DOM API bir çok nesne, yöntem veözellik içerir. A a' da DOM’da kullanlan önemli nesneler listelenmitir.

Nesne Tanm

DocumentElementAttribute veya Attr Node NodeListTextCommentProcessingInstruction

XML belgesinin kök nesnesiXML ElemanXML özelli' iXML a' aç ndaki bir dü' ümDü' ümler KümesiBir eleman veya özellik içindeki metinXML açklamasXML i lem komutu

MSXML parser’nn Document nesnesinin önemli olan özellik ve method’lar a a' daverilmi tir.

Özellik/Method TanmDoctypeDocumentElementChildNodesFirstChildLastChildTextAsync

ValidateOnParse

Load()LoadXML()GetElementsByTagName()

Document DTDKök elemanAlt dü' üm listesilk dü' üm

Son Dü' ümBelgede geçen tüm metinler False ise belge tamamen yükledi' in de ca' ran method’akontrolu devr eder. True ise yükleme esnasnda devr eder.Beglenin DTD göre do' rulanmas

Bir XML belgesinin URL’le belirti' i dosyadan yükler XML belgesini direct metinden yükler Belirli bir tipteki elemanlar kümesini getirir

A a' da MSXML parser’nn Node nesnesinin önemli olan özellik ve methodlar verilmi tir.

Özellik/Method TanmChildNodesFirstChildLastChildParentNode previousSiblingnextSibling NodeName NodeValueTransformNode()

Alt dü' üm listesilk dü' üm

Son dü' ümÜst seviye dü' ümAyn seviye önceki dü' ümAyn seviye sonraki dü' ümDü' üm ismiDü' üm de' eriBelirtilen XSL dosyasna göre dönü üm yapar

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 34/39

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 35/39

35

<?xml version="1.0" standalone="no"?><!DOCTYPE movies SYSTEM "Movies.dtd">

<movies><movie type="comedy" rating="PG-13" review="5" year="1987"><title>Raising Arizona</title><writer>Ethan Coen</writer><writer>Joel Coen</writer><producer>Ethan Coen</producer><director>Joel Coen</director><actor>Nicolas Cage</actor><actor>Holly Hunter</actor><actor>John Goodman</actor><comments>A classic one-of-a-kind screwball love story.</comments>

</movie>

<movie type="comedy" rating="R" review="5" year="1988"><title>Midnight Run</title><writer>George Gallo</writer><producer>Martin Brest</producer><director>Martin Brest</director><actor>Robert De Niro</actor><actor>Charles Grodin</actor><comments>The quintessential road comedy.</comments>

</movie>

<movie type="mystery" rating="R" review="5" year="1995"><title>The Usual Suspects</title><writer>Christopher McQuarrie</writer><producer>Bryan Singer</producer>

<producer>Michael McDonnell</producer><director>Bryan Singer</director><actor>Stephen Baldwin</actor><actor>Gabriel Byrne</actor><actor>Benicio Del Toro</actor><actor>Chazz Palminteri</actor><actor>Kevin Pollak</actor><actor>Kevin Spacey</actor><comments>A crime mystery with incredibly intricate plot twists.</comments>

</movie>

<movie type="sci-fi" rating="PG-13" review="4" year="1989"><title>The Abyss</title><writer>James Cameron</writer><producer>Gale Anne Hurd</producer><director>James Cameron</director><actor>Ed Harris</actor><actor>Mary Elizabeth Mastrantonio</actor><comments>A very engaging underwater odyssey.</comments>

</movie></movies>

Hekil 12 – Movies.xml XML belgesi [4]

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 36/39

36

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">

<html><head><title>List Movies 2 Example HTML Document</title>

<script language="JavaScript">var xmldoc;

function LoadDoc() {xmldoc = new ActiveXObject("microsoft.xmldom");xmldoc.load("Movies.xml");

}

function ListMovies() {LoadDoc();root = xmldoc.documentElement;for (i = 0; i < root.childNodes.length; i++) {DOCCONTENT.innerHTML += "<b>" +root.childNodes.item(i).firstChild.text + "</b><br>";

DOCCONTENT.innerHTML += root.childNodes.item(i).lastChild.text +"<br><br>";

}}

</script></head>

<body>Click the button to list the movies in the Movies XML document.<br><input type="button" value="List Movies" onclick="ListMovies()"><div id="DOCCONTENT"></div>

</body></html>

Hekil 13 – Movies.xml belgesindeki film ve film açlamalar n listeleyen Javascript kodu [4]

Hekil 14 – Hekil 13’teki kodun üreti' i Internet Explorer 5.0 görüntüsü

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 37/39

37

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">

<html><head><title>List Actors Example HTML Document</title>

<script language="JavaScript">var xmldoc;

function LoadDoc() {xmldoc = new ActiveXObject("microsoft.xmldom");xmldoc.load("Movies.xml");

}

function ListActors() {LoadDoc();actors = xmldoc.getElementsByTagName("actor");for (i = 0; i < actors.length; i++) {DOCCONTENT.innerHTML += actors(i).text + "<br>";

}}

</script></head>

<body>Click the button to list the actors in the Movies XML document.<br><input type="button" value="List Actors" onclick="ListActors()"><div id="DOCCONTENT"></div>

</body></html>

Hekil 15 – Movies.xml belgesindeki aktör isimlerini listeleyen Javascript kodu [4]

Hekil 16 – Hekil 15’teki kodun üreti' i Internet Explorer 5.0 görüntüsü

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 38/39

38

XI. SONUÇÖnümündeki aylar ve yllar XML ve XML’in bir çok alandaki uygulamalar hakk ndayap lan daha çok arat rma, geli tirme, yazl m ve yayn çal malar na sahne olacak.Huanda oldu' u gibi XML hak nda daha çok i tece' iz. Bir çok ara t rmac ve yaz l mgeli tiricisi XML’in yazl m endüstirisinde radikal de' i iklilere sebeb olaca' nainanmakta ve XML’i elektronik veri de' i iminin yeni ASCII standardolarak kabületmektedir. Microsoft, IBM, Sun ve Oracle gibi birçok teknoloji lideri firma XML veXML uygulamala standardlar n desteklemekte ve XML tabanlyeni ürünlerini bilgiteknolojisi uygulamalar n n kullan m na sunmaktadr.

Bu yazdada gördümüz gibi XML dili, XML söz dizimi kurallar , XML DTD, XMLSchema, XML Namespaces, Xpath, Xpointer, XSL, XSLT, XSLF, SAX ve DOM gibi bir çok belirtim ve teknolojinin birleiminden olu maktad r. Bu yaz da yaln zca temel XMLteknolojilerini tantmaya çal t k.

Bunlar n yan nda XML’in veri taban sistemlerinde kullanm ; bir çok alandaki bilgi payla m n kolayla t racak XML sözlükleri (vocabularies); bu sözlüklerin standard bir

ekilde tasarlanmas, kay t ve saklanmas için Microsoft firmasn n destekledi' i BizTalk Framework’u; XML-RPC ve SOAP gibi XML mesaj protokolleri; elektronik ticaretalan nda kullanlacak olan birlemi milletler destekli ebXML çal malar ; elektronik veride' i imi standard XML/EDI gibi daha bir çok XML ile ilgili konu vardr. Bu konularda bilgi almak isteyenler aa' da verdi' imiz kaynaklardan ve internetteki di' er kaynaklardan yaralanabilirler. Bu kaynaklardan özelliklehttp://www.oasis-open.org/cover/sitesindeki XML cover pagesXML konusunda geni bir yayn listesiiçermektedir.

KAYNAKLAR:

1. A Brief History of the Development of SGML,http://www.sgmlsource.com/history/sgmlhist.htm

2. Mark Johnson, XML for the absolute beginner,http://www.javaworld.com/javaworld/jw-04-1999/jw-04-xml.html

3. Ralf I. Pfeiffer, Tutorial 1: Overview of XML,http://www4.ibm.com/software/developer/education/tutorial-prog/overview.html

4. Micheal Morrison et al., XML Unleashed , Sams Publishing, 1999.5. Richard Anderson et al., Professional XML,Wrox Press Ltd., 2000. 6. Portable Data/Portable Code: XML & Java Technologies,

http://java.sun.com/xml/ncfocus.html7. Alex Homer et al, Active Server Pages 3.0, Wrox Press Ltd., 2000. 8. Danny Ayers et al, Professinal Java Server Programming , Wrox Press Ltd., 2000.9. http://www.ibm.com/developer/xml/10. http://msdn.microsoft.com/xml/default.asp11. http://www.oracle.com/xml/

8/14/2019 XML - Turkce Notlar

http://slidepdf.com/reader/full/xml-turkce-notlar 39/39

12. http://www.oasis-open.org/cover/13. http://www.xml.org/14. http://www.xml101.com15. http://www.sun.com/software/xml/16. http://ebxml.org17. http://www.w3.org/XML/18. http://www.xml.com/19. http://www.xml.org/20. http://www.xmlinfo.com/21. http://www.geocities.com/SiliconValley/Peaks/5957/xml.html