Hata ayıklamaktansa hatasız yazmayı tercih etmelisiniz. Bu Kate kullanınca
hiç zor değil. Kate XML dosyaları yazmak için bir eklenti içeriyor. Bu
eklenti sayesinde etiketleri yazmak zorunda kalmıyorum, basitçe bir
menüden seçiyorum. Dolayısıyla dosyada bir hata olmuyor. Bu özelliğinden
yararlanabilmek için kullanılan DTD'nin Kate'e tanıtılması gerekiyor.
Sitemizin DTD'sini Kate ile kullanılabilecek biçeme dönüştürdüm.
Bu dosyayı proje sayfamıza indirilebilirsiniz:
belgeler.dtd.xml-1.0.bz2
(19kB). Belgeler-DTD, ihtiyaçlar doğrultusunda geliştirilmektedir. Bu bakımdan
yeni sürümler hakkında otomatik olarak bilgilendirilmek isterseniz, paket
bağının yanındaki küçük zarfa tıklayın ve istenen bilgileri verin.
Bu dosyayı Kate ile nasıl kullanacağız?
Önce Red Hat dağıtımını kullandığımı belirtmeliyim. Çünkü bu dosyayı
kopyalayacağınız yer sizin dağıtımınızda farklı bir yerde olabilir.
Bunzip2 ile önce dosyayı açın, yaklaşık 1.1 MB.lık bir dosya oluşacak.
Bu dosyayı (belgeler.dtd.xml) /usr/share/apps/katexmltools/
dizinine kopyalayın.
Kate'i çalıştırın. Menüsünden sırayla Ayarlar -> Kate Programını Yapılandır -> Eklentiler üzerinden Kate XML Tamamlama seçeneğini işaretleyin. Menü çubuğundan XML -> Meta DTD Ata ... seçerek açılan dosya yükleme penceresinden belgeler.dtd.xml dosyasını seçin. Kısa sürede Kate bu dosyayı yükleyecek.
Ne zaman bir etikete ihtiyacınız olursa yapacağınız şey ctrl+enter veya %lt; tuşlamak olacak. Etiketleri kullandıkça, açılan DTD menüsünün içeriğinin değiştiğini farkedeceksiniz. Bu DTD'nin bir özelliğidir. Etiketler, bir diğerinin yorum aralığında farklı etiketler kabul eder. Bu özellik sayesinde yazdığınız XML dosya, DTD'ye uyumlu olur ve derleme sırasında hata vermez. Ayrıca, imleç bir etiketin yorum alanında değil de etiketin içindeyken menü isterseniz bu kez etiketle birlikte kullanılabilecek parametrelerin listesini alacaksınız.
Kate'i bu eklentisi ile kullandığınızda tamamen hatasız bir dosya üreteceğinizi sanmayın. İnsanız, mutlaka bir yerde hata yaparız. Bu bakımdan okumayı burada bırakmayıp belgenin devamını okuyun.
Belgemizi hazırlarken ve/veya hazırladıktan sonra hataları ayıklamamız ve sunuma hazırlamamız lazım. Bunun için, konsolda basit bir komut yazıyoruz:
$ xsltproc -o index.html belgem.xsl belgem.xml
Burada ilk parametre olan -o ile belgemizin HTML
çıktısının ismini belirtiyoruz: index.html. Sıradaki
parametre hazırladığımız belgenin HTML olarak derlenmesini sağlayan XSL
dönüşüm betiği, son parametre de hazırladığımız dosyadır. Bu komutu
çalıştırdığınızda belgem.xml hatasızsa bir dizi HTML
dosya üretilecektir. Komut, dosyaların hepsinin aynı dizinde olduğu
varsayılarak hazırlanmıştır. Her terim için göreli dizin isimleri
belirtebilirsiniz.
belgem.xsl dosyası için şu kod işinizi görecektir:
<?xml version='1.0' encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
<xsl:import
href="docbook/xsl/html/chunk.xsl"/>
<xsl:param name="chunk.sections" select="'1'"/>
<xsl:param name="chunk.first.sections" select="1"/>
<xsl:param name="chunk.section.depth" select="1"/>
<xsl:param name="root.filename"/>
<xsl:param name="html.stylesheet" select="'../belgelerim.css'"/>
<xsl:param name="admon.graphics.path">../images/xsl/</xsl:param>
<xsl:param name="callout.graphics.path" select="'../images/xsl/callouts/'"/>
<xsl:param name="navig.graphics.path">../images/xsl/</xsl:param>
</xsl:stylesheet>
Kullandığımız komut derleme sırasında dosyada bir hata olduğunda
bir sürü hata üretir. İlk belirtilen hatayı giderdikten sonra
komutu tekrar çalıştırın. Diğer hatalar, dosya ardışık işlendiği
için ardışık üretilen hatalardır. Daima ilk hatayı gidererek
kısa sürede sonuca ulaşırsınız. Dosyayı yazarken hep
derlenebilecek şekilde yazmanızı ve yazdıkça hatalar bakımından
denetlemenizi öneririm. Böylece hatayı hep son yazdığınız kısımlarda
arama lüksünüz olur. Aksi takdirde hatayı bulmak çok güç olabilir.
Belgeleri istenen biçemde biçimlemekte kullanılan XSL dili hakkında
burada bilgi verilmeyecektir. Bu dil hakkında fikir edinmek için
xsl-stylesheet belgelerine ve koduna bakabilir, daha ayrıntılı bilgi
edinmek için aşağıdaki adresleri ziyaret edebilirsiniz:
Belgeleri, SGML araçları ile denetlemenizi önermeyeceğim. Diğer
belge biçemlerini elde ederken SGML araçlarını kullanmadığımız için
belge taslaklarında SGML uyumluluğu aranmamaktadır. XML uyumluluğu
yeterlidir. (XML, SGML'nin alt kümesi olarak tasarlanmışsa da SGML araçları XML belgeler için yeterli olamamaktadır; bu durum standardın değil, araçların yetersizliğinden kaynaklanmaktadır.)
Bu belgenin oluşturulmasında faydalanılan tüm kaynaklar belge içinde
yeri geldikçe belirtilmiştir.