original in en Egon Willighagen
en to tr E. Fatih Yetkin
Nijmegen Üniversitesi'nde kimya üzerine yüksek lisans yapmistir ve doktorasini ayni üniversitede moleküler sunum üzerine yapmistir. Basketbol oynar ve Java uygulamalari programlar.
Bu makalede, DocBook XML belgelerinin düzenlenmesi için Kate ve Kate'in XML eklentilerinin kullanımı aktarılmaktadır.
Açık kaynak XML düzenlemesi, uzun zamandır bir sorun halindedir. İnsanlar, doğru XML üretecek ve tercihen çıktısını anında gösterebilecek düzenleyicilere gereksinim duymaktadırlar.Bunu yapabilen düzenleyiciler olmasına karşın bunlar ticari yazılımlardır. Açık Kaynak dünyasında varolan az sayıdaki yazılımlar güzel bir önizleme olanağı sunmazlar ancak geçerli XML belgeleri üretebilirler ve bu belgeler içindeki bileşenler hakkında size doğru önerilerde bulunabilirler.
Elbette Emacs ve onun DocBook'un baskın modu oldukça iyi çalışmaktadır (bkz: DocBook article)Bu özel modda belge içerisinde halihazırda varolan bileşenlere bağlı olarak yeni bileşenlerin seçilmesine olanak tanımaktadır ve sekmenin sonlanmasını bu bilgiye dayandırmaktadır.
Ancak bu makalede bunlardan bahsetmeyeceğiz. DocBook XML düzenleyicisi yerine Kate'in tanıtımını yapacağız.
Kate, KDE masaüstü ortamının düzenleyicilerinden biridir.Çok sayıda dosya açma işlemine izin vermekte ve XML dahil pek çok yapı için dizim renklendirmesi yapabilmektedir.Ayrıca Daniel Naber tarafından geçtiğimiz sene geçerli XML belgeleri üretmenize yardımcı olabilecek bir XML eklentisi geliştirilmiştir. KDE 3.0 ile bu eklenti Kate için kde-addon pakedi içindedir.Eğer KDE 3.0'ın addon pakedi henüz yüklenmemişse aşağıdakileri yaparak yükleme işlemini gerçekleyebilirsiniz.
./configure --prefix=/path/where/your/kde3/is/installed make sudo make install
Yükleme işlemi tamamlandıktan sonra hala, Kate'i bundan haberdar etmeniz gerekmektedir.Bunu yapmak için, "Configure Kate" sekmesinden "Settings" menüsünü açmanız gerekmektedir. Burada eklenti yöneticisinde yüklü olan eklentiler arasına XML eklentisini yerleştirebilirsiniz.
Meta DTD, Norman Walsh'ın SourceForge.net adresinden elde edilebilecek olan dtdparser pakedi kullanılarak oluşturulur.
Ben uyarlanmış bir sürüm olan 2.0beta6'yı kullandım. Örneğin, dtparse programının ilk satırındaki yolu kendi Perl kurulumumun olduğu yeri gösterecek şekilde uyarlamak gerekti. Programı çalıştırdıktan sonraki ekran çıktısı ise aşağıdaki gibi oldu: I
> ./dtdparse /path/to/docbookx.dtd Public ID: unknown System ID: /usr/share/sgml/docbook/dtd/xml/4.1.2/docbookx.dtd SGML declaration: unknown, using defaults for xml and namecase Loading dbnotnx.mod Loading dbcentx.mod Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOamsa.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOamsb.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOamsc.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOamsn.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOamso.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOamsr.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISObox.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOcyr1.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOcyr2.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOdia.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOgrk1.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOgrk2.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOgrk3.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOgrk4.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOlat1.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOlat2.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOnum.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOpub.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOtech.ent Loading dbpoolx.mod Loading calstblx.dtd Loading dbhierx.mod Loading dbgenent.mod Parse complete. Writing docbookx.dtd.xml... Done.
Yüklenenlerin sayısının ne denli çok olduğuna dikkat ediniz. Bunun nedeni Meta DTD'nin 1.63 Mibibyte büyük olmasıdır. Ama bir XSLT işlemcisi ile (örneğin xsltproc) kde-addon pakedinden basitleştirilmiş bir simplify_dtd.xsl ile bu büyüklük 0.96 MiB 'a kadar düşürülebilmektedir.
> xsltproc simplify_dtd.xsl docbookx.dtd.xml > docbook-xml-4.1.2.dtd.xml
Sonuçta elde edilen docbook-xml-4.1.2.dtd.xml dosyası /path/to/kde3/share/apps/katexmltools/ dizinine kopyalanır. Buradaki /path/to adresi bilgisayarınızdaki KDE3'ünüzün yüklü olduğu yeri belirlemektedir. XML eklentisi yeni bir Meta DTD dosyası atanırken soracağı için ana dizin de aynı işi görebilir.
Yeni bir DocBook XML belgesine başlarken, Meta DTD atanmaya ihtiyaç duyar. Bu işlem, "XML Plugin" menüsünden "Assign meta DTD" seçilerek yapılır. Bu seçimden sonra, kullanmak isteyeceğiniz DTD'yi seçeceğiniz bir dosya seçim kutusu gelecektir. Bu örnekte, biz Docbook XML 4.1.2 Meta DTD'yi seçeceğiz.
Yeni olarak, boş belgeye "<book>" yazacağız. Elemanı kapamak için ise F11 kullanılacaktır. Eğer dizim renklendirme modu kendiliğinden açılmamışsa, "Document" sekmesinden "Highlight Mode" 'u seçerek elle de açabilirsiniz. XML dizim renklendirmesi "Markup" alt menüsünün içerisindedir.
"Book" bileşeninin ne tip niteliklerinin olduğunu belirtmemiş olduğumuzdan, imleci "book" kelimesinin sonuna getirip Ctrl+Return tuşlarına bastığımızda bileşen için olası tüm niteliklerin listesi yeni bir ekranda gelecektir.
İmleci "'in kenarına getirerek Ctrl+Return'a basmamız halinde ise şayet DTD içinde tanımlı bir nitelik ise tüm olası değerleri listelenecektir. Bu durum "id" niteliği için denenmiştir.
Niteliği belirledikten sonra aşağıdaki DocBook XML koduna sahip oluruz:
<book id="SomeID"> </book>
İmleci "kitap" etiketinin başlangıcı ile sonu arasında tutar ve Ctrl+Return tuşlarına basarsak yeni bir pencere içerisinde "book" etiketinin olası çocuk bileşenleri listesini elde ederiz.Örneğin, "title" bileşeni için:
Bu eklentinin bir eksik yanı sadece çocuk bileşenler ile ilgi- lenmesidir. Örneğin DTD, birden fazla başlıklı bileşenlere izin vermez ama XML eklentiniz sizi bu durum karşısında uyarmayacaktır. Eklenti doğrulayıcı bir opsiyona henüz sahip olmadığından yanlış belgeler üretmek çok kolay bir haldedir.
Eklentinin işlevselliği aşağıdaki tablo ile verilmiştir.
Görev | Komut |
XML'i yerleştir (bileşenler ve nitelikler) | Ctrl+Return |
Girş Yap | F10 |
Etiketi Kapa | F11 |
KDE projesi kendi belgelemesi için de DocBook'u kullanmaktadır. Böylellikle XML eklentisi öntanımlı olarak KDE için özelleştirilmiş bir DocBook sürümü ile gelmektedir.
DocBook,belgelerin içine matematiksel yapıların da yerleştirilmesine olanak tanıyan MathML 'i de desteklemektedir. MathML içeren DocBook'ları doğrulamak için bir DTD sürümü iletisinden edinilebilir.
DocBook içerisinde kullanılabilecek SVG için DTD henüz maalesef yoktur. Ancak çalışmalar sürmektedir.
Kate'in XML eklentisini kullanmak için "dtdparse" ile tümleştirilmiş yeni bir Meta DTD'ye ihtiyaç olacaktır.
Kate'in XML eklentisi size en çok DocBook XML belgelerini düzenlemekte yardımcı olacaktır. Henüz mükemmel değil, ancak geliştirilmekte olduğunu gözönünde tutmak gerekli. KDE 3.0 ile pek çok insana ulaşmıştır.