Bir XML Dosyasının Yapıtaşları
Önceki Linux Belgeleri NASIL Sonraki
Bir XML Dosyasının Yapıtaşları
XML, HTML gibi bir biçimleme dili değildir. Sadece veriyi kullanım amacına uygun olarak etiketlemek için kullanılan bir dildir. Zaten isminin açılımı da Genişletilebilir Etiketleme Dili'dir. XML dosyaları HTML, salt metin ya da PDF biçemli dosyalar haline getirmek için bir biçimleme dili olan XSL kullanılır. XML hakkında burada dolaylı olarak yüzeysel bazı bilgiler bulacaksınız. Daha fazla bilgi edinmek isterseniz, aşağıdaki belgeleri okumanızı öneririm:
Örnek bir XML belgesini Ekler bölümünde bulabilirsiniz: Sample-HOWTO.xml
Etiketler
XML dilinin olmazsa olmaz bazı özellikleri var. HTML ve benzeri etiketli dillerde olduğu gibi metin etiketler arasında veriliyor.
<title>bir konu başlığı<title> gibi. Ancak bu etiketleme de dikkat edeceğiniz bazı kurallar var:
  • Etiket isimleri daima < ve > karakterleri arasında olmalı.
  • Etiket ve değişken isimleri daima bir harfle başlamalıdır.
  • Kullandığımız XML-Docbook için etiket ismi sadece küçük harflerden oluşmaktadır. SGL ve HTML için etiket ismini oluşturan harflerin büyüklüğünün önemi yoksa da XML için harf büyüklüğü önemlidir. Bu bakımdan standart olmamakla beraber etiket isimlerinde sadece küçük harf kullanma alışkanlığı edinmeniz yararlı olacaktır. XML'deki bu özellik temel aldığı kodlamadan kaynaklanmaktadır. UTF-8 ve UTF-16.
  • Bir etiket tanımında, içinde veri içermesi öngörülmüşse, bir açılış etiketini daima bir kapanış etiketi izlemeli. Yukarıdaki <title> etiketi gibi. HTML ve SGML'deki bazı durumlarda bitiş etiketi verilmeyebilirse de XML için bitiş etiketleri zorunludur.
  • Etiket sadece bir işlem gerçekleştirmek içinse kapanış etiketi kullanılmaz. Örnek: <sbr/> Bu etiket, Docbook'ta kendinden sonra gelen metni satırbaşından başlatmak için kullanılır.
  • Bir etiketin bitiş belirleyicisi / karakteridir. Bir veriyi sarmalayan etiketlerde, bu im, etiket isminin başına, işlem etiketlerinde sona konur.
  • Dosya içinde etiketler haricinde < karakteri kullanılmaz. Bu imi kullanmanız gerekiyorsa &lt; ile belirtmelisiniz.
    & karakterini de yazamazsınız. Bu im XML için < gibi bir dil öğesidir. &lt;'nin yazıldığı gibi görünmesi için &amp;lt; yazmalısınız.
Açıklamalar, Yorumlar
Programlama dillerinde açıklama ve yorum satırları nasıl bir kurala bağlıysa, XML için de kurallar vardır. Bu kural HTML'deki ile aynıdır. Bir açıklama <!-- ile başlar ve --> ile biter. Bu dizgecikler açıklamaların başlangıç ve bitiş etiketleri gibi düşünülmelidir. Yani her başlangıç etiketi için bir bitiş etiketi olmalıdır. Bu, bir yorum içinde, bitiş etiketi olmayan bir başlangıç etiketinin bulunamayacağı anlamına gelir. Bu kurala uyan her türlü açıklama ve yorum dosyanın herhangi bir yerinde kullanılabilir. Açıklama ve yorumlar XML dosyanın derlenmesi sırasında derleyici tarafından yorumlanmazlar.
İlk satır ve Belge Türünün Belirtilmesi
Belgeler sitemizi oluşturan temel dosya olan belgeler.xml dosyasını inceleyerek bir belge nasıl hazırlanır öğrenirken sitemizin yapısı hakkında da fikir edinebileceksiniz. belgeler.xml dosyasının ilk satırlarından başlayalım:
<?xml version="1.0" encoding="UTF-8"?>                                  
<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"             
    "docbook/dtd/docbookx.dtd" [                                        
  <!ENTITY howtos.xml SYSTEM "source/howtos/howtos.xml">                
    <!--   Türkçe  -->                                                  
    <!ENTITY belge-NASIL.xml SYSTEM "source/howtos/belge-NASIL.xml">
  <!ENTITY apps.xml SYSTEM "source/apps/apps.xml">
    <!ENTITY iptables-usage.xml SYSTEM "source/apps/iptables-usage.xml">

  <!ENTITY others.xml SYSTEM "source/others/others.xml">
    <!ENTITY lgpl.xml SYSTEM "source/others/lgpl.xml">
    <!ENTITY gpl.xml SYSTEM "source/others/gpl.xml">
]>
Bu satırlar pek sık karşılaşmayacağınız karmaşıklığa sahip, ama gözünüz korkmasın, onları da ben yazdım. Bildiklerimi şu an sizinle paylaşmaya devam ediyorum.
1
Bu satır, dosyanın bir XML dosyası olduğunu, 1.0 sürümüne göre yazıldığını, ve dosyadaki karakter kodlamasının UTF-8 olduğunu belirtiyor. Bir XML dosya için en azından <?xml version="1.0"?> satırı bulunmalıdır. XML'in güncel sürümü 1.0'dır. Bu değer değiştirilirse dosya işlenmeyebilir.
Satırın encoding parçası dosya içeriği işlenirken önem kazanır. Dosyada, belirtilen karakter kodlamasında bulunmayan bir karaktere ya da karakter dizisine rastlandığında hata üretilecektir. Burada belirtilen kodlama türü, çıktının kodlama türü değil, başlığı barındıran dosyanın karakter kodlamasıdır.
XML bildiriminin yapıldığı <? ve ?> etiketleri XML'de işlem komutlarının etiketleridir. İşlem komutları başlangıç etiketine bitişik yazılırlar. Burada <?xml bir işlem komutudur.
XML bildirim satırında kullanılabilecek diğer parametrelerden burada bahsedilmeyecektir. Onları, bölüm başında isimlerini ve bağlarını verdiğim belgelerde bulabilirsiniz.
2
Bu satır ve devamındaki satırlarda, dosyada işlenen belgenin türü, belgeyi oluşturan etiketlerin tanımlandığı paketin ismi ve sürümü, nerede bulunabileceği, belgeyi oluşturan ek dosyalar varsa bunların tanımları gibi bilgiler belirtilir. Bu tanımların başlangıç etiketi <!DOCTYPE ve bitiş etiketi > karakteridir. İçindeki herşey başlangıç etiketi olan etiketin parametreleri olarak belirli bir biçemde verilmek zorundadır.
<!DOCTYPE bildirimindeki ilk parameter olarak görünen set Docbook'un belge türü elemanlarından biridir. set elemanı bir kitaplar kümesi içerebilir. Bizim belgeler sitemiz de bir miktar kitap içeriyor. Bu alanda belirtilebilecek diğer belge türü elemanları, book, part, article article, vs. olabilir. Docbook'un elemanları ilerde tanıtılacaktır.
Hemen ardından gelen PUBLIC bir tanımlayıcıdır. Belirtilmesi isteğe bağlıdır. Kendinden sonra gelen dizge ile belgede kullanılan eleman ve parametrelerin hangi DTD ile ilişkili olduğunu belirtmekte kullanılır. Burada <!DOCTYPE bildiriminin burada kullanılmamış olan özelliklerinden bahsedilmeyecektir. Bu bilgileri Docbook Guide'da bulabilirsiniz.
3
Bu satır, <!DOCTYPE bildiriminde bulunması zorunlu olan sistem tanımlayıcıdır. Burada, belgenin oluşturulmasında kullanlan DTD'nin adresi verilmelidir. Bu adres bir URL olabildiği gibi burada olduğu gibi bir sistem dizini de olabilir. Hemen ardından gelen [ ]'ler içindeki bölüm aşağıda anlatılmıştır.
4
<!ENTITY bildirimiyle belgemizi oluşturan diğer dosyaları tanıtıyoruz. Bunun için bir değişken ismi ve SYSTEM belirteciyle de dosyanın bulunduğu yeri belirtiyoruz. Belittiğimiz değişken isimlerini dosya içinde diğer dosyaların bağlanacağı noktalarda başına bir & ve sonuna da bir ; getirerek kullanıyoruz. belgeler.xml dosyasının sonundaki gibi:
&howtos.xml;
&apps.xml;
&others.xml;
</set>
5
Bu satır bir açıklama satırıdır. Bilgi vermek amacıyla kullanılmıştır. Dosyanın derlenmesi sırasında bu ve benzeri satırlar yorumlanmazlar.
<!DOCTYPE bildirimi ek dosyalarda belirtilmez. Diğer dosyaları incelerseniz, bu dosyalarda bu satırların yorumlanmaması için açıklama elemanları ile sarmalanmış olduklarını göreceksiniz. İptal edildiği halde dosya içinde bulunmalarının sebebi bu dosyalar bağımsız olarak işlendiğinde bu bildirimlerin tekrar etkin kılınarak kullanılabilmeleri içindir.
Önceki Üst Ana Başlık Sonraki
Bir Belge Hazırlamaya Başlamadan Önce Başlangıç Docbook Elemanları
Bir Linux Kitaplığı Sayfası