|
![]() |
|
![]() tarafýndan Egon Willighagen <egonw(at)linuxfocus.org> Yazar hakkýnda: Nijmegen Üniversitesi'nde kimya üzerine yüksek lisans yapmistir ve doktorasini ayni üniversitede moleküler sunum üzerine yapmistir. Basketbol oynar ve Java uygulamalari programlar. Türkçe'ye çeviri: E. Fatih Yetkin <fatih(at)be.itu.edu.tr> Ýçerik: |
Özet:
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.
|
Görselyöre sayfalarýnýn bakýmý, LinuxFocus Editörleri tarafýndan yapýlmaktadýr
© Egon Willighagen, FDL LinuxFocus.org |
Çeviri bilgisi:
|
2002-09-23, generated by lfparser version 2.31