Bu site emekli olmuştur. Arşiv amaçlı olarak
BT AKADEMİ
sponsorluğunda yayın hayatına devam etmektedir.
Ana Sayfa
.net TV
Makaleler
Kaynak Kod
Haberler
Serbest Köşe
Canlı Köşe
Forum
C#nedir?
Ekibimiz
RSS
XML / Web Serv.
YAZAR HAKKINDA
Aziz Durmaz
http://www.csharpnedir.com/
İletişme geçmek için
tıklayın
.
4
Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için
tıklayın
.
Yayınlanan diğer makaleleri için
tıklayın
.
İlgili etiketler:
XML / Web Serv.
Aziz Durmaz
YAZI HAKKINDA
Türü
:
Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi
:
Başlangıç
Kategori
:
XML / Web Serv.
Yayınlanma Tarihi
:
8.1.2003
Okunma Sayısı
:
31676
Yorum Sayısı
:
3
yorum yaz
SİTE İÇİ ARAMA
Üye
GİRİŞİ
Üye girişi için
tıklayın
.
Kullanıcı Adı
Şifre
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
Şifremi / Kullanıcı Adımı unuttum.
C#nedir? hesabınız yok mu?
Üye olabilmek için
tıklayın
.
Serbest KÖŞE
(?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
Bende Yazmak İstiyorum
Blogroll
Turhal Temizer
Conda install environment.yml Package
23.11.2024
Turhal Temizer
Mac OS/X Removing CUDA
23.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak
23.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi
23.11.2024
Diğer Herşey
»
Makaleler RSS
»
Video Gönder
»
Makale Gönder
»
Serbest Köşeye Yazı Gönder
»
Yazar Başvurusu
»
C#nedir? Ekibinde Olmalıyım!
Sponsorlar
Ana Sayfa
/
Makaleler
/
Aziz Durmaz
/
XML / Web Serv.
/
XML Doküman tipi Tanımlanması Kısım 1
XML Doküman tipi Tanımlanması Kısım 1
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
Bu yazımızdan önceki yazılarımızda XML’in yapısını ve nasıl görüntülenebileceğini basit bir şekilde anlatmaya çalışmıştım. Şimdi sıra XML belgelerimizi bir standart yapıya nasıl kavuşturacağımıza geldi.
XML belgemizi standart bir hale sokmalıyız?
Daha önceki yazılarımızda XML ‘in ana çıkış amaçlarından birisinin veri depolama olduğunu görmüştük. Örneğin bir projede XML belgeleri oluşturulması isteniyor ve bu belgeler özel bir yazılım sayesinde işlenecek. Tüm kullanıcıların XML belgeleri önceden tanımlanmış ortak bir DTD (Document Type Defination) içerirse, bu belgelerin istenilen yapıya uygun olması, çalışanların gelişigüzel yeni etiketler eklememeleri, etiketlerle depolanan bilgiyi hatalı sıralamamaları, etiketlerine hatalı nitelikler eklememeleri sağlanır. Ayrıca işlem yapan programında bu belgeleri tanıması ve işlemesi garanti altına alınmış olunur.
DTD (Document Type Defination) nedir?
XML belgelerimizin giriş bölümünde tanımlanan ve belgenin yapısını belirleyen Doküman Tipi Belirleyicisidir. DTD’nin amacı yukarıda belirttiğimiz gibi XML belgemizin kurallara uygun yapısal bloklarını tanımlamaktır. Bir DTD’nin genel biçimi aşağıdaki gibidir.
Name DTD >
Buradaki name kısmı belgemizdeki kök elemanının adını belirtir. DTD kısmı ise belgede geçecek olan etiketlerin, etiket niteliklerinin ve diğer özelliklerinin tanımlarının bulunduğu kısımdır. Pekala şimdi basit bir örnek görelim;
Tâbi ki DTD bildirimlerimizi sadece belgemizin içinde yapmamaktayız. Ayrıca dışarıdan herhangi bir DTD 'yi belgemizin içinde kullanmak amacıyla XML belgemize ekleyebilmekteyiz. Bir DTD belgesini XML belgemize eklememiz için gerekli olan söz dizilimi aşağıdaki gibidir.
Az önce incelediğimiz basit örneğimizdeki DTD tanımlamasını dış bir dosyadan alırsak aşağıdaki şekilde düzenlememiz gerekecektir.
basit.xml :
Basit bir XML Dökümanı
basit.dtd
Bir doküman tipi tanımlamasında aşağıdaki işaretleme bildirimleri bulunur;
Eleman türü bildirimleri :
XML 'de kullandığımız elemanlar, içerikleri ve sıralanışları DTD ‘in içinde tanımlanmaktadır. Bir eleman bildiriminin söz dizimi aşağıdaki gibidir.
ya da
Boş Elemanlar:
XML ‘de boş içerikli elemanlara sahip olabiliriz. Örneğin HTML 'deki
veya
etiketleri gibi. Bu elemanların bildirimleri için EMPTY anahtar sözcüğünü kullanırız. Örnek:
XML belgemizde IMAGE elemanını aşağıdaki şekillerde kullanabiliriz.
veya
Herhangi bir içerikli Elemanlar:
XML belgemizde karışık içerikli elemanlarımız bulunabilir. Bu elemanımız içinde herhangi bir sırada ve tekrar edilebilen elemanlar karakter verisi içeren veya içermeyen sıfır veya daha fazla alt eleman içerebilir. Herhangi bir data kombinasyonunu içerebilir. En serbest içerik tanımıdır. Örnek;
Alt elemanlı Elemanlar:
XML belgemizde bir elemanımızın içine yerleştirilmiş elemanlarımız bulunabilir. Bu konu ile ilgili örneklerimize konumuzun ilerleyen kısmında geniş bir şekilde yer vereceğiz.
Karışık içerikli Elemanlar:
Karakter verisi ile seçimimize bağlı istediğimiz kadar alt eleman barındıran elemanlardır. Bu konu ile ilgili örnekler ilerleyen kısımda verilecektir.
Nitelik Bildirimleri:
Elemanlarımızın alabilecekleri veya almaları gereken nitelikleri dtd içerisinde tanımlamanız gerekmektedir. Bu bildirim sayesinde: Elemanla ilişkili nitelik adları tanımlanır. Geçerli bir XML belgesinde bir elemanın başlangıç etiketinde yalnızca bu eleman için tanımladığımız nitelikleri kullanabiliriz. Bu niteliklerin veri türleri belirlenir. Her niteliğin gerekli olup olmadığı (REQUIRED), eğer gerekli değilse ve belirtilmediyse işlemcinin ne yapacağını belirtir. Bir nitelik bildiriminin söz dizimi aşağıdaki gibidir: Nitelik_tipi default_deger> Burada Eleman_adi olarak nitelik belirteceğimiz elemanın adını, nitelik adı olarak verilecek niteliğin adını yazmaktayız. Ayrıca nitelik tipi ve eğer nitelik belirtilmezse default değer yerine verilen değer ile işlemcinin nasıl bir işlem yapacağını belirtmekteyiz. Örneğin;
Nitelik tipleri aşağıdaki değerleri alabilir.
Değer
Açıklaması
CDATA
Değer Karakter verisi olması
(en1|en2|..)
Değer parantez içindeki değerlerden birisi olmalı
ID
Değer tekil ID olmalı
IDREF
Değer başka bir elemanın ID si olmalı
IDREFS
Değer başka ID ‘lerin listesi olmalı
NMTOKEN
Değer geçerli XML adı olmalı
NMTOKENS
Değer geçerli XML adı listesi olmalı
ENTITY
Değer bir varlık olmalı
ENTITIES
Değer bir varlık listesi olmalı
NOTATION
Değer bir notasyon olmalı
xml:
Değer önceden tanımlamış bir XML değeri olmalı
Default Değer aşağıdaki değerleri alabilir.
Değer
Açıklama
deger
Niteliğin Default değeri
#REQUIRED
Nitelik değeri Eleman içinde geçmek zorundadır.
#IMPLIED
Nitelik değeri Eleman içinde geçmek zorunda değildir.
#FIXED value
Nitelik değeri sabittir. Eğer nitelik değeri belirtirseniz default değeri yazmak zorundasınız.
Bu yazımızda XML belgemize nasıl DTD tanımları ekleyerek standart bir yapıya nasıl kavuşturacağımız hakkında bilgi vermeye çalıştık. Bundan sonraki yazılarımızda DTD hakkında yazılarımıza devam edeceğiz.
Makale:
XML Doküman tipi Tanımlanması Kısım 1 XML ve Web Servisleri Aziz Durmaz
Yazılan Yorumlar
Yorum Yaz
HAZ
15
2006
ilker acar
/
üye hakkında
Döküman gerçekten güzel yazılmış tebrik ederim.Bir yerde dikkatini çekmek isterim , DTD yazarak standart bir yapıya kavuşmak cümlesi açıkcası bana biraz garip geldi.Belki haklıda olabilirsin ama DTD , SGML den türemiştir.DTD ile standart bir yapı değil , geçerli bir xml belge yapısı oluşturabilirsin.Asıl standart yapıyı XML Schemalar sağlamaktadır ki , XML dilin deyazılmıştır.Emeğin için teşekkürler...
OCA
8
2003
Aziz Durmaz
/
üye hakkında
Diğer kısımları da bitince daha iyi olacak inşallah
OCA
8
2003
Sefer Algan
/
üye hakkında
aziz eline sağlık güzel bir yazı yazmışsın..teşekkür ederiz.
Sayfalar :
1
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için
tıklayın
.
Üye değilseniz
Üyel Ol
linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
Bu Konuda Son 10
Eklenen Son 10
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
Dizayn ve Kodlama
bt
akademi
. Tüm Hakları Saklıdır © Copyright 2002-2009 c#nedir?com
Makaleler
Serbest Köşe
Makale Gönder
.Net TV
Video Gönder
Canlı Köşe
Kaynak Kod
Forum
Haberler
Röportajlar
Anketler
C# Nedir?
İletişim
Site Haritası
RSS
Favorilere Ekle
Üyelik
Hesap Aktivasyon
Ekibimiz
Ekibe Katıl