Banner

index prev next

Ek-5

Sayfa 3


DTD Yazılımın Okunması (3)

Element Tanımları ve İçerik Modelleri :

DTD nin amacı, belge içinde kullanılacak elementlerin tanımı ve kullanım şekillerinin belirtilmesidir. Bir elementin kullanımı için, başlangıç ve sonuç imlerinin gerekliliği, nitelik listesi ve bu elementin içerebileceği elementleri gösteren bir içerik modeli DTD de belirtilmelidir. Element tanımları aşağıdaki sıraya göre yapılabilir :

Element adının belirtilmesi, başlangıç ve sonuç imlerinin gerekli olup olmadıklarını belirten ifadeler, elementin içerik modelini belirten ifade.

Bir örnek olarak AREA elementinin DTD deki tanımını inceleyelim :

Bu tanımda ilk olarak element adı AREA olarak tanımlanmıştır. Bu elementin başlangıç imi - işareti ile belirtildiği gibi zorunludur. Sonuç imi ise O (Omitted=Vazgeçilebilir) işareti konulduğundan zorunlu değil şeklinde nitelendirilebilirse de, bundan sonra gelen içerik modeli tanımı Empty (boş) olarak belirtildiğinden, sonuç iminin yasak olduğu anlaşılır. Boş elementlerin sonuç imlerinin kullanımı, tanım gereği yasaktır.

Tekrarlama İşaretleri :

İçerik modelinde, bazı durumlarda tekrar edilebilen ögeler bulunabilir. Bunların belirtilmesi için özel tekrarlama işaretleri kullanılır. Tekrarlama işaretleri aşağıda görülmektedir:

Tekrarlı ve mantıksal işlemlerin bir arada kullanıldığı bir element tanımını inceleyelim :

DL (Definition List=Tanım Listesi) adı verilmiş olan bu elementin hem başlangıç hem de sonuç imlerinin zorunlu olarak kullanılması gerektiği - ve - işaretleri ile anlaşılmaktadır. DL elementinin içeriği olduğu, içerik modelinde bu elementin içerebileceği elementler verildiği için bellidir. Yani DL elementi, bir boş element değildir ve zaten boş element olsaydı, içerik modelinin EMPTY sözcüğü ile tanımlanması ve sonuç iminin yasak olması gerekirdi. İçerik modeli, içinde mantıksal bir işlem olan bir parantezle başlamakta ve parantezin dışında bir + tekrar işareti bulunmaktadır.  İşlemlerin öncelik sırası, parantez içi işlemlere öncelik tanıdığından, mantıksal işlem önce çözümlenecektir. Bu işlem, iki seçenekten sadece birinin seçilebileceğini öngörmektedir. Bu seçim yapılınca, sıra öncelik sırasında sonra gelen olan parantez dışı + işareti ile belirtilen işleme gelecektir. Bu işlem, parantez içi seçim işleminin en az bir kez olmak üzere istenildiği kadar tekrarlanabileceğini belirtmektedir. Sonuçta, DL elementinin başlangıç ve sonuç imlerinin kullanımının zorunlu olduğu ve bu elementin en az bir olmak üzere, istendiği kadar, DT (Definition Term) ve DD (Definition Description) elementini içerebileceği belirtilmiş olmaktadır.

Bu örnekte de görüldüğü gibi, DTD uzun bir anlatımı, kısa bir yoldan ifade edilebilecek kapasitede, bir tür stenografi işareti (shorthand) gibidir.

İçeriğe Dahil Olacak ve İçeriğin Dışında Kalacak Öğelerin Bildirimi :

Bir elementin içerik modeli tanımlanırken uzun bir içerik listesi yapılması yerine, içerilebilecek öğeler, generik bir sınıf halinde verilir ve bu sınıf içinde olan bazı ögelerin içerilemeyeceği, bu generik sınıf dışında kalan bazı ögelerin de, içerilebileceği belirtilirse, kısa tanımlar oluşturulabilir. İçerik modeline giremeyecek ögelerin önüne - (eksi) , girebilecek ögelerin önüne de + (artı) işareti konulur. Buna en çarpıcı örnek <body> elementinin tanımıdır :

Bu tanımdan anlaşılacağı gibi, belge gövdesini oluşturan <body> elementinin, başlangıç ve sonuç imlerinin kullanımı isteğe bağlıdır. İçerik modelinde, ilk olarak sağ tarafında + işareti olan bir parantez görülmektedir. Bu parantezin değerlendirilmesi ile, <body> elementinin, istendiği kadar blokdüzey elementleri ve <script> elementi içerebileceği anlaşılmaktadır. İkinci mantıksal işlem, bir + işaretini takip ettiği için, bir içerik ekleme işlemi olarak nitelendirilir. Bu işlemin değerlendirilmesi ile, <body> elementinin içeriğine, sadece bir tane <ins> veya <del> elementinin eklenebileceği anlaşılmaktadır. Diğer satıriçi elementlerinin <body> içinde bağımsız olarak bulunamayacakları, fakat blokdüzey elementlerinin içeriğinde kullanılabilecekleri anlaşılmaktadır.

Bir diğer örnek de önformatlanmış paragraf anlamına gelen, preformatted text <pre> elementinin bildirimidir:

Bu tanımda, <pre> elementinin başlangıç ve bitiş imlerinin kullanımının zorunlu olduğu, içeriğinde tüm satıriçi elementlerinin istendiği kadar tekrarlanarak kullnılabileceği, sadece %pre.exclusion parametre valığının içerik modeli dışında kalacağı belirtilmiştir. Daha açık bilgi edinilmesi için, tüm <pre> elementinin bildiriminin incelenmesi uygun olacaktır :

 

Burada eksik bir tanım kalmadığından, <pre> elementinin içermememesi gereken elementler açıkça görülmektedir.