Laboratuar Notları #1

Benzer belgeler
Laboratuar Notları #3

Laboratuar Notları #5

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

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

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.

Laboratuar Notları #7

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Öğrenci nesnesi için bir etiket

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

HTML (Hyper Text Markup Language)

2. HTML Temel Etiketleri

Ç 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

Html temelleri. Ders 4

XML. Ahmet Demirelli Sabancı Üniversitesi 2007

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

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

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

Sağlıkta Mobilite. Yusuf ARSLANTÜRK. MCP, MCTS, MCDA, MCSE, CCNA, ACE, STS, IBM, HP ASE, CEH Sistem Destek Sorumlusu FONET Bilgi Teknolojileri A.Ş.

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Laboratuar Notları #4

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

Laboratuar Notları #8

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

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

WEB TASARIMININ TEMELLERİ

ENVİSTA ARM MERKEZ YAZILIMINA VERİ AKTARMA PROSEDÜRÜ

Laboratuar Notları #2

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

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

İNTERNET PROGRAMLAMA II. Tanımlar

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

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

Müzik Verileri İçin XML Tabanlı Diller

Laboratuar Notları #5

Css Stillerinin Nesneyi Etkileme Yolları Ve Sırası, Diez, Nokta, Yıldız, Class Css De Neyi İfade Eder.

Internet Programming II

5-Hafta Genel Sayfa Yapısı

Arama Sonuçlarında Üst Sıralarda Olmak. Temel SEO Çalışması

Web Programlama Kursu

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

İNDEKSLEYİCİ İÇİN HTML BELGENİN XML BELGEYE DÖNÜŞTÜRÜLMESİ ÜZERİNE BİR UYGULAMA

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 2

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

JavaScript & DOM XML & JSON

WEB TASARIMINDA TEMEL KAVRAMLAR

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.

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

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

Öğr. Gör. Serkan AKSU 1

Web Site Tasarımı (Html-Css) (SD0139) Murat KARA 2017

Proje #2 - Lojik Devre Benzetimi

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

Laboratuar Notları #5

PROGRAMLAMA DERSİ 1. İNTERNET

BOOTLOADER MANUAL DOCUMENT

WEB TASARIMIN TEMELLERİ

Atatürk Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü BM Web Programlama ÖDEV 1

HTML Etiketleri Genel Özellikler (Global Attributes)

Kurumsal bilgiye hızlı ve kolay erişim Bütünleşik Belge Yönetimi ve İş Akış Sistemi içinde belgeler, Türkçe ve İngilizce metin arama desteği ile içeri

2-Hafta Temel İşlemler

e-ledger Fields (e-defter Alanları)

duralbend.com Web Sayfasının Seo Analiz Raporu

HTML. Doç. Dr. İsmail Rakıp Karaş Dersin Course Page: 2. Bölüm

JETSMS XML Mesaj İşlemleri Yardım Dokümanı Tarih Sürüm XML ile Mesaj İşlemleri

MOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ

WEB ARAÇLARI VE UZAKTAN EĞİTİM CEIT357-4.HAFTA

MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ

MIS213T İNTERNET VE WEB PROGRAMLAMA GÜZ 2016 LAB DOKÜMANI #2. 1. Bölüm: Temel HTML Etiketleri - Resimler

CSS(CASCADING STYLE SHEETS)

Web Önyüzü Nasıl Olmalı? <Markup> : İskelet {css} : Görünüm JavaScript() : Etkileşim

HALK SAĞLIĞI LABORATUARI WEB MODÜLÜ

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

Genel Programlama II

WEB TASARIMI. Đnternet Nedir?

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 4 MasterPage

WEB KULLANICI KONTROLLERİ ve ANASAYFA KULLANMA(Master Page)

HTML Sayfaları. Bütün html sayfaları

HTML Bloklar. CSS Display özelliği

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

IPACK LADDER. Arayüz Dökümantasyonu

Diziler İndisli Değişkenler

YENİ BİLGİ MODELLEME VE PROGRAMLAMA FELSEFESİYLE SEMANTIC WEB

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

VT Sistem Gerçeklemesi. Ders Notları- #8

Temel HTML Eğitimi. Erman Yükseltürk

.. MESLEKĠ VE TEKNĠK ANADOLU LĠSESĠ EĞĠTĠM - ÖĞRETĠM YILI

Bimel Ürün Veritabanı Paylaşım Platformu. XML Servisleri

İNTERNET PROGRAMCILIĞI - II

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

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

MODÜL 3 HTML İLE STİL ŞABLONLARI

XML ile Mesaj İşlemleri

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

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

TÜİK e-vt Teknik Kılavuz

C#(Sharp) Programlama Dili

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

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

Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri

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

Transkript:

The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module 4: Semantic Web Modül 4: Anlamsal Ağ Laboratuar Notları #1 A project implemented by CyberSoft Bilişim Teknolojileri Ltd. This project is funded by European Union. The contents of this publication are the sole responsibility of Cybersoft Bilişim Teknolojileri Ltd. and can in no way be taken to reflect the views of the European Union.

İçerik Bölüm 1: XML e giriş 1. XML Nedir?... 1 2. XML Kullanım Alanları... 1 3. Örneklerle XML Sözdizimi (Syntax), Özellik(Attribute) ve Eleman (Element) Kullanımı... 2 4. XML Dökümanlarının Ağaç Yapısı... 4 5. DTD Nedir?... 5 5.1. Element Tanımlanması... 6 5.2. Empty Element... 6 5.3. Element-Only Element... 6 5.4. Any Element... 7 5.5. Özellikler... 7 Çalışma 1... 8 Çalışma 2... 9 Calışma 3... 9

1. XML Nedir? XML (extensible Markup Language) W3C (World Wide Web Consortium) organizasyonu tarafından tasarlanan ve herhangi bir kurumun tekelinde bulunmayan, kişilerin kendi sistemlerini oluşturabilecekleri, kendi etiketlerini tanımlayarak çok daha rahat ve etkin programlama yapabilecekleri ve bu belirlenen etiketleri kendi yapıları içerisinde standardize edebilecekleri esnek, genişleyebilir ve kolay uygulanabilir bir meta dildir. Çok farklı tipteki verileri orjinal formatlarında tek bir havuzda tutabilen XML bilgiye hızlı kolay ve ortamdan bağımsız olarak erişebilme imkanı sunar. Günlük yaşantımızda kullanmakta olduğumuz verilerin %80 ini oluşturan ve unstructured olma özellikleri nedeniyle kendi bulundukları medya dışında veri özelliklerini koruyamayan (kelime işlem elektronik tablo çıktıları PDF dokümanları ses resim vb) farklı tipteki verilerin oryantasyona gerek duymadan hiyerarşik bir yapıda kullanılabilmelerine olanak vermekte ve bu verilerin hızlı bir şekilde sorgulanabilmelerini sağlamaktadır. Öncelikle veri transferinin kolaylaşmasını ve verinin içerik bilgisiyle saklanabilmesini hedefleyen XML içerik ve sunum bilgilerini birbirinden ayırır. Bu özelliği ile de HTML den farklılaşır 2. XML Kullanım Alanları Web bizlere herhangi birine ya da herhangi birisine iletişimde sınırları zorlayan imkanlar sağlar. Kapsamlı ve çoklu arabirimler kullanılarak web teknolojisinin çok önemli potansiyelleri hergün değişik biçimlerde karşımıza çıkar. Burdaki önemli öğelerden birisi de elbetteki görselliktir. HTML, GIF ve JavaScript standartlarıyla birlikte her geen gün webin kullanışlılığı ve son kullanıcıya rahat arabirimlerin sunulması artmaktadır. Böylece daha çok kullanıcı farklı zamanlarda bu bilgilere kolayca ulaşabilmektedir. Oysaki görselliğin arkasında yatan bir çok altyapılar mevcuttur. Artık internet sadece textlerden ve resimlerden oluşmamaktadır. Bunların ardında akıllı aramalar, bilgi çevrimleri, sunum adaptasyonları ve kişisel bilgilerin ulaşılabilirliği gibi bir çok ekstra hizmetler eklenmiştir. Ve artık bu hizmetlerin olması bir web alanında bulunması gereken standartlar haline gelmiştir. Bu standartların yazılım olarak benimsenmesi için 'arama', 'bilgi akışı','görünüm' gibi unsurları manipule edebilecek hızlı yazılımların kullanılması şarttır. Oysaki HTML bu konudaki tanımlamalarda bize yardımcı olamaz sadece gösterebilir. Örneğin HTML şu saydıklarımızı yapamaz: Sabit bir şekilde bir doktorun reçeteyi ezcacıya yollamasını sağlamak Herhangi bir tıbbi laboratuarın halkın istatiksel bilgilerini analiz etme imkanı Satın almak için oluştural bir formdaki elektronik ücretlerin tanımlanması ve bunların serverlarınıza aktarılması Basit bir şekilde bir hukuk sitesi içerisindeki kütüphanenin dökümanlarının konulara göre aratılması Firmaların bilgilerinin, siparişlerinin, organize yapısının katologlanması. 1

Kısacası HTML yukarıda basitçe örneklediğimiz gösterimlerden yoksundur ve bilgileri yönetemez. Bütün bunları basitçe ve kolay yazılım şekliyle yapabileceğimiz yeni bir internet yazılım dili gereklidir. İşte XML bütün bunlar için gereklidir. 3. Örneklerle XML Sözdizimi (Syntax), Özellik(Attribute) ve Eleman (Element) Kullanımı XML sözdizimi, basit birkaç kuraldan oluşmuştur. Bu yüzden de kullanilmasi ve ögrenilmesi kolaydir. Basit bir XML belgesine göz atalim: <?xml version= 1.0?> <not> <kime>mehmet</kime> <kimden>levent</kimden> <baslik>kutlama</baslik> <ileti>dogum Günün Kutlu Olsun!!</ileti> </not> Dökümanin ilk satirinda XML bildirimine yer verilir ve hangi XML sürümünü kullandığımız belirlenir. Bir sonraki satırda ise belgenin kök(root) elemani açiklaniyor. Bu belgenin kök elemani <not>. XML belgelerinde ilk sirada açiklanan eleman kök eleman olarak adlandirilir ve ondan sonra gelen elemanlar XML siradüzenine uyacak sekilde kök elemana bagli olmak durumundadirlar. XML belgelerinin yapisi kök sözcügünden de anlasilabilecegi gibi agaç yapisina benzer. Bundan sonraki 4 satirda ise 4 çocuk(child) eleman açiklanmistir. Bu çocuk elemanlar birbirleriyle kardestir(sibling). Bunun yaninda kök eleman da çocuk elemanlarinin atası(parent) durumundadir. Dikkat edilecek olursa kök,çocuk ve kardes elemanlar son derece sıradüzensel, içiçe geçmemiş bir yapı sergiliyor. Bu siradüzene göre örnegimizde <not> kök eleman. <kime>,<kimden>,<baslik> ve <ileti> ise <not> un çocuğudur ve dolayısıyla <not> bu dört elemanin atası durumundadir. Bu dört eleman ayni zamanda birbirleriyle kardestir de. <kime>, <kimde> vs. Elemanlarinin da kendi çocuklarina sahip olabileceklerini unutmamak gerekir. Diğer bir özellik ise XML in başlangıç ve bitiş etiketi kurallarına sıkı sıkıya bağlı olmasıdır. HTML de örnegin <p> ile baslamamiz gereken bir paragrafi </p> etiketiyle kapatmasak bile tarayıcı çoğu zaman bu hatayı gözardı ederek HTML belgesini görüntüler. XML bunu kesinlikle kabul etmez. Örnekte de görüldügü gibi açilan bütün etiketler kapatilmistir. Bu XML in kendisinden türetilecek dillere (ör. XHTML) de geçirecegi bir özelliğidir. XML in bu nitelikte bir başka özelliği de büyük/küçük harf duyarli (case-sensitive) olmasıdır. Bu bağlamda bir elemanin baslangıç etiketinin bitiş etiketiyle tamamen aynı yazılışta olması gerekir. Bu doğrultuda bir örnek vermek gerekirse: Hatalı bir sözdizimdir. Doğrusu ise: <yazar> Andrew S. Tanenbaum </YAZAR> Veya şeklinde olmalidir. <YAZAR> Andrew S. Tanenbaum </YAZAR> <yazar> Andrew S. Tanenbaum </yazar> 2

XML sıradüzensel bir sözdizime sahiptir ve bunu bozacak sözdizimleri hatalı olarak niteler. Örnek olarak aşağıdaki HTML koduna bakalim: <b><i>kalin ve egik metin</b></i> Görüldüğü üzere önce başlatılan kalınlık niteliği sonra başlatılan eğiklik niteliğinden önce kapatılmıştır. Bu şekilde sıradüzenselliği bozan sözdizimler XML de bulunmaz. Bu kodu XML sözdizimiyle denetledigimizi varsayalim: <b><i>kalin ve egik metin</i><ğb> Bu haliyle kod, XML sözdizimine uygundur. Daha önceden değinilen kök-çocuk ilişkisine sadık kalınmış ve XML sözdizimi açısından geçerli bir kod elde edilmiştir. XML sözdiziminin temel taşı olan elemanlarin(element) isimlendirilmesinde uyulmasi gereken kurallar şunlardir: 1. İsimler harf, sayi ya da diğer karakterleri içerebilir. 2. İsimler bir sayi veya _ (alt çizgi) karakteri ile baslamamalidir. 3. İsimler xml (ya da XML veya Xml) seklinde başlamamalidir 4. İsimler bosluk içermemelidir. Şimdi de özellik(attribute) degerlerinin XML sözdizimi içerisinde uymasi gereken kurallari inceleyelim. Bastaki örnegimize geri döndüğümüzde: <?xml version= 1.0?> <not tarih= 20/02/2002 > <kime>levent</kime> <kimden>tolga</kimden> <baslik>ilginç</baslik> <ileti>bugün çok simetrik bir gün!!</ileti> </not> XML elemanlari özelliklere sahip olabiliriler. Bu özelliklerin bir ismi ve ona atadığımiz bir değeri vardir. Tabii bazi zamanlar özelliklere deger atayamayabiliriz. Örnekte de görüldüğü üzere <not> elemani tarih özelligine sahip. Dikkat edilecek olursa = ile tarih e atanan deger çif tirnak içine alinmis. Bu XML sözdiziminin bir özelligidir. Özelliklere degerleri, eleman etiketinin içerisinde = kullanilarak çift tirnak içerisinde atilmalidir. Örnekte de tarih özelligine 20/02/2002 degeri atanmistir. Gördügümüz gibi özellikler elemanlar için ek bilgilerin tanimlanmasina olanak veren yapi birimleridir. Özellik degerini de ekleyerek ilk bastaki belgemizi biraz daha fazla bilgi tutabilecek hale getirdik. Simdi bunu baska yollardan yapmaya çalisalim: <?xml version= 1.0?> <not> <tarih>20/02/2002</tarih> <kime>levent</kime> <kimden>tolga</kimden> <baslik>ilginç</baslik> <ileti>bugün çok simetrik bir gün!!</ileti> </not> Görüldügü gibi az önce <not> elemaninin bir özelligi olan tarih bilgisi bu örnek bu elemanin bir çocugu halinde karsimiza çikiyor. Bu sekilde tutulan verinin niteligi degismiyor ama tutulma sekli degisiyor. Ayrica bu örnegi en bastaki örnekle karsilastirdigimizda yeni bir nitelik olan <tarih> in 3

belgenin yapisina hiçbir zarar vermeden belgeye eklenebildigini görüyoruz. Şimdi belgeyi biraz daha değiştirelim: <?xml version= 1.0?> <not> <tarih> <gun>20</gun> <ay>02</ay> <yil>2002</yil> </tarih> <kime>levent</kime> <kimden>tolga</kimden> <baslik>ilginç</baslik> <ileti>bugün çok simetrik bir gün!!</ileti> </not> Elimizdeki <tarih> elemanını, alt elemanlara ayırarak parçaladik. Bu şekilde elimizdeki veriyi daha etkili bir yöntemle saklamiş oluyoruz. Üstelik bu çesit bir kullanım ile hata kontrolü ve modülerlik gibi konularda da avantajlar elde etmiş oluyoruz. Görüldüğü gibi XML sözdizimi açisindan pek esnek olmamakla birlikte verinin saklanmasi ve temsili açısından son derece esnek bir yapıya sahiptir. Bu da ona HTML in aksine daha teknik ve kapsamli konularda daha etkili bir biçimde kullanılma olanağı sunuyor.. 4. XML Dökümanlarının Ağaç Yapısı XML dökümanlarını hiyerarşik bir ağaç yapısına sahiptirler. XML in ağaç yapısını daha iyi anlayabilmek için aşağıdaki örneği inceleyelim: <?xml version="1.0" encoding="utf-16"?> <!DOCTYPE email SYSTEM "email.dtd"> <email> <head> <from name="michael Maher" address="michaelmaher@cs.gu.edu.au"/> <to name="grigoris Antoniou" address="grigoris@cs.unibremen.de"/> <subject>where is your draft?</subject> </head> <body> Grigoris, where is the draft of the paper you promised me last week? </body> </email> Bu XML dökümanının ağaç yapısı aşağıdaki gibidir: 4

Sadece bir tane kök vardır. Her düğümün, kökün haricinde sadece bir tane ailesi vardır. Her düğümün bir etiket adı vardır. Elemanların sırası önemlidir. Elemannların sırası önemli olmasına rağmen özelliklerin sırası önemli değildir. Mesela aşağıdaki iki eleman aynıdır: <person lastname="woo" firstname="jason"/> <person firstname="jason" lastname="woo"/> 5. DTD Nedir? DTD (Document Type Definition) bir XML dokümanının standartlaştırılması için kullanılan yapıdır. Genel olarak, XML dokümanının hangi elementleri içereceği ve bu elementlerin Özelliklerin ne olacağı, elementlerin neleri taşıyacağı, doküman içerisindeki tekrar şekli, sayısı gibi kuralların belirtilmesi DTD dokümanı içerisinde yapılır. DTD dokümanı hazırlanır ve XML dokümanının hangi DTD'ye uyacağı belirtilir. DTD dökümanı ayrı bir dosya olarak hazırlanabileceği gibi XML dökümanının içerisinde de tanımlanabilirler. Aşağıda XML içinde bu tanımın nasıl yapılacağı gösteriliyor. <!DOCTYPE Uyeler SYSTEM "Uyeler.dtd"> Biraz dikkat edildiğinde, Uyeler isimli XML dokümanı Uyeler.dtd isimli DTD dokümanının formatına uygun bir biçimde hazırlanması gerektiğinin tanımı yapılmıştır. Bunu bir anlaşma olarak düşünebiliriz. XML dokümanını parse (okuyacak) edecek uygulamaya dokuman hakkında yapısal bir bilgi vermiş oluyoruz ve bu bilgiye dayanarak doküman içerisindeki veriye erişimi sağlıyoruz. Şimdide DTD dokümanındaki tanımlamalara bir göz atalım. 5

5.1 Element Tanımlanması Bir element tanımlanması şu şekilde olur; <!ELEMENT Element_ismi Element_türü> Buradaki Element_ismi elementin ismini belirtirken Element_türü elementin türü hakkındaki bilgiyi tanımlar. Örnek olarak aşağıdaki elementin DTD sini yaratalım: Bu elementin DTD si şu şekildedir: <lecturer> <name>david Billington</name> <phone>+61-7-3875 507</phone> </lecturer> <!ELEMENT lecturer (name,phone)> <!ELEMENT name (#PCDATA)> <!ELEMENT phone (#PCDATA)> DTD nin açıklaması şöyledir: Bu dökümanda element olarak lecturer, name, ve phone kullanılabilir. lecturer element i aynı sıra ile name ve phone elementleri içerebilir. name ve phone elementlerinin içeriği olabilir.bu da #PCDATA tip tanımlamasıyla belirtilmiştir. 5.2 Empty Element: Bu elementler içerik olarak bir şey almazlar. Örnek olarak HTML içerisindeki <img>, <br>, <p> etiketleri verilebilir. Aşağıda nasıl tanımlandığını görelim. <!ELEMENT Element_ismi EMPTY > Bu elementlerin XML dokümanı içerisinde iki çeşit kullanımı vardır. Bunlardan birincisi başlangıç ve bitiş etiketi, ikincisi ise sadece bitiş etiketidir. Bir örnek ile açıklamak gerekirse; <!ELEMENT resim EMTY > -- Elementin tanımı <resim kaynak = resim1.jpg > </resim> veya <resim kaynak = resim1.jpg /> --Elementin kullanımı 5.3 Element-Only Element: Çocuk elementleri dışında bir şey içermeyen elementlerdir. Bu elementin tanımı, içereceği çocuk elementlerin içerik modelini belirterek yapılır, yani çocuk elementleri içeren genel bir liste bildirim esnasında verilir. Genel tanım ve basit bir örnek aşağıdaki gibidir. <!ELEMENT Element_ismi İçerik_Modeli > <!ELEMENT Uye (adi, soyadi, email?, yetkiderece) > Bu tanımlamada kullanılan işaretler ve anlamı şu şekildedir. 6

() elemente ait çocukları belirtir. iki alan arasında seçim için kullanılır.? Elemandan ya vardır yada yoktur. * Elemandan ya yoktur yada birden fazla olabilir + Elemandan en az bir tane vardır fazlada olabilir. 5.4 ANY ELEMENT: Bu element içerisinde bir sıra ve bir kural koymayan ve en genel tanımın yapılacağı elementtir. Genel tanımı aşağıdaki gibidir. <!ELEMENT Element_İsmi ANY> 5.5 Özellikler (Attribute): Elementler Özelliklere sahip olabilirler ve bunlarında DTD dokümanında belirtilmesi gerekir. Bu tanımlama ise şu şekildedir. <!ATTLIST Element_İsmi Özellik_İsmi Özellik_Türü Default> Tanımlamada dört çeşit tanım vardır. Element_İsmi Özellik verilecek elementin adıdır, Özellik_İsmi ise verilecek özniteliğin ismidir, aynı şekilde özniteliğin türü ve şartı da belirtilir. #REQUIRED Kesinlikle değer verilmeli #IMPLIED Değer seçimseldir, verilme zorunluluğu yoktur #FIXED Değer sabittir default Değer verilmezse değer default verilen değerdir. Tür olarak ise; CDATA :Parse edilmemiş karakter verisi <!ATTLIST Ulke il CDATA #REQUIRED> Enumerated :Bir dizi string değeri <!ATTLIST Uye Uyrugu (T.C. K.K.T.C YABANCI ) "T.C"> NOTATION :DTD içinde herhangi bir yerde tanımlanmış olan notasyon <!ATTLIST RESIM format NOTATION (gif jpeg) #REQUIRED)> ID :Eşsiz(unique) bir tanımlayıcı <!ATTLIST Uye Uye_id ID #REQUIRED> Örnek 2. Daha önce bolum 1.4 de incelediğimiz email XML dökuman örneğinin DTD si şu şekildedir: 7

<!ELEMENT email (head,body)> <!ELEMENT head (from,to+,cc*,subject)> <!ELEMENT from EMPTY> <!ATTLIST from name CDATA #IMPLIED address CDATA #REQUIRED> <!ELEMENT to EMPTY> <!ATTLIST to name CDATA #IMPLIED address CDATA #REQUIRED> <!ELEMENT cc EMPTY> <!ATTLIST cc name CDATA #IMPLIED address CDATA #REQUIRED> <!ELEMENT subject (#PCDATA)> <!ELEMENT body (text,attachment*)> <!ELEMENT text (#PCDATA)> <!ELEMENT attachment EMPTY> <!ATTLIST attachment encoding (mime binhex) "mime" file CDATA #REQUIRED> Çalısma 1. Aşağıda verilen ağaç yapının XML kodunu yazınız. 8

Çalışma 2. Aşağıda verilen XML dökümanının DTD sini hazırlayınız. <?xml version="1.0" encoding="iso-8859-9" standalone="yes"?> <Uyeler> <Uye uye_id= 1 > <adi>yahya</adi> <soyadi>öztürk</soyadi> <email>yahyaozturk@verivizyon.com</email> <yetkiderece>1</yetkiderece> </Uye> <Uye uye_id= 2 > <adi>volkan</adi> <soyadi>verim</soyadi> <email>volkanverim@verivizyon.com</email> <yetkiderece>1</yetkiderece> </Uye> <Uye uye_id= 3 > <adi>yaşar</adi> <soyadi>gözüdeli</soyadi> <email>ygozudeli@verivizyon.com</email> <yetkiderece>1</yetkiderece> </Uye> </Uyeler> Çalışma 3. Çalışma 1 de hazırladığınız XML dökümanının DTD sini hazırlayınız. 9