[LinuxFocus-icon]
Ev  |  Eriþimdüzeni  |  Ýçindekiler  |  Arama

Duyumlar | Belgelikler | Baðlantýlar | LF Nedir
[an error occurred while processing this directive]
convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
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:

 

DocBook XML Belgelerini Düzenlemek

[Illustration]

Özet:

Bu makalede, DocBook XML belgelerinin düzenlenmesi için Kate ve Kate'in XML eklentilerinin kullanýmý aktarýlmaktadýr.


_________________ _________________ _________________

 

Giriþ

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

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.

[Kate'in eklenti yöneticisi]
 

Meta DTD'yi Derlemek

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.

 

Düzenleme

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.

[Meta DTD parsing dialog]

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.

[Inserting an attribute]

Ý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:

[Inserting an attribute]

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 DocBook

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.

 

MathML ve SVG

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.

 

Sonuç

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.

 

Bu yazý için görüþ bildiriminde bulunabilirsiniz

Her yazý kendi görüþ bildirim sayfasýna sahiptir. Bu sayfaya yorumlarýnýzý yazabilir ve diðer okuyucularýn yorumlarýna bakabilirsiniz.
 talkback page 

Görselyöre sayfalarýnýn bakýmý, LinuxFocus Editörleri tarafýndan yapýlmaktadýr
© Egon Willighagen, FDL
LinuxFocus.org
Çeviri bilgisi:
en --> -- : Egon Willighagen <egonw(at)linuxfocus.org>
en --> tr: E. Fatih Yetkin <fatih(at)be.itu.edu.tr>

2002-09-23, generated by lfparser version 2.31