معرفی DocBook ، راه حلی جدید(2409 مجموع کلمات موجود در متن) (7844 بار مطالعه شده است) 0.مقدمه
یکی از مهمترین مسائل در انجام کارها استفاده از استانداردهاست.استانداردها مجموعه قواعد و تعاریفی هستند که توسط متخصصین امر تدوین میشوند و اگر در حین انجام کار بر اساس این استاندارها عمل نمایید علاوه براین که کیفیت کار بالاتر خواهد بود محصولی ارائه خواهید کرد که با محصولات دیگری که در سایهی استاندارد تولید شدهاند یکسان هستند. در علم کامپیوتر استاندارد یکی از مهمترین قواعدی است که باید رعایت شود. با آمدن اینترنت و شبکههای گستردهی دیگری که در سطح شهر یا کشور فعال هستنداگر هر شخصی بخواهد بر اساس نظر خود به انجام امور بپردازد دیگر انجام کارها غیرممکن خواهد شد. بنابراین از ابتدای ابداع و در ضمن توسعهی کامپیوتر همواره شرکتهای بزرگ سعی داشتهآند محصولات و راهکارهای خود را به عنوان یک استاندارد در دنیای کامپیوتر اعمال کنند. اما پس از مدتی نهادها و کنسرسیومهایی تشکیل شدند که به اعمال قواعد و استاندارهایی بینالمللی مشغول شدند. بدین ترتیب دیگر نظر یک شرکت نظر غالب نبوده و برای استاندارد تلقی شدن یک راهکار باید مجموعهای از شرکتها نظر میدادند، با این روش دیگر از انحصار گرایی در بازار کامپیوتر جلوگیری شد.
با آمدن استاندارها برای هر کاری راهکاری مشخص ایجاد شد. برای نمونه همه میدانستند که برای ایجاد یک صفحهی وبی باید از زبان HTML استفاده کرد. البته هنوز هم شرکتهای بزرگ سعی دارند محصولاتشان را با کیفیتی بالا تولید کنند تا به استانداری برای کارها تبدیل شوند. یکی از این استاندارها که یک استاندار آزاد است و متعلق به هیچ شرکتی نیست استاندارد ”SGML“ است.SGML مخفف ”Standard Generalized Markup Language“ میباشد. در حقیقت SGML یک ”زبان نشانه گذاری“ یا ”Markup Language“ است. علاوه براین SGML یک Meta Language یا فرا زبان است، به این معنی که از طریق این زبان میتوان به تعریف زبانهای دیگر پرداخت. در سالهای اخیر این زبان توسعه یافته و به زبان نشانه ذاری XML تبدیل شده است. در شمارهی قبل دربارهی ”XML“ یا ”eXtensiable Markup Language“ صحبت کردیم. با استفاده از SGML ما مجموعه قوانینی تعریف میکنیم که چگونگی نمایش مستندات را روشن میکند. به هر سری از این مجموعه قوانین یک SGML DTD گفته میشود ”DTD“ نیز خود مخفف” Document Type Defination“ یا تعریف نوع مستندات است. برای روشنتر شدن نمونهای ذکر میکنم ، زبان HTML یک SGML DTD است که مجموعه قوانینی تعریف میکند که روش نمایش صفحات وب را مشخص میکند. برای نمونه صبق این تعریف اگر متنی میان <b> و <b/> قرار گیرد به صورت ذخیم یا BOLD نمایش داده میشود. بنابراین HTML یکی از SGML DTDهاست. زبان SGML به خودی خود کاربرد فراوانی ندارد چرا که یک Metalanguage است و از طریق آن زبانهای دیگر ایجاد میشوند مانند HTML. یک سری قوانین یا DTDهای دیگر نیز برای نوشتن فرمولهای ریاضی تعریف شده است که ”MathML“ یا ”Mathematic Markup Language“ نامیده میشود. MathML نیز یک SGML DTD است، یعنی یک سری قوانین و مقررات است که طی آن تعریف شده اگر متنی میان تگ <root> قرار گیرد زیر رادیکال نمایش داده شود. یکی دیگر از این سری قوانین که زادهی SGML است زبان DocBook است. این زبان نیز مانند HTML یک زبان نشانه گذاری یا Markup Language است که در آن تگهای خاصی برای انجام امور مختلف تعریف شده است.
1.چه کسانی باید از این زبان استفاده کنند؟ چرا؟!
همان طور که از نام این زبان مشخص است این زبان برای استفادهی کسانی ایجاد شده است که در امر مستند نویسی فعالیت میکنند. خواه نویسندهی یک کتاب هستید خواه مدیر یک سایت آموزشی هستید که مقالات آموزشی چاپ میکند. یکی از مشکلاتی که نویسندگان امروزه با آن مواجه هستند استفاده نکردن از زبان استاندار خواص برای کارشان است. اغلب نویسندگان کتابهایشان را دز برنامههایی مانند Word مجموعهی Office یا برنامههایی مشابه آن مینویسند. این عمل باعث میشود که نویسنده برای همیشه به این برنامه وبسته باشد و علاوه بر این با مشکلاتی مانند ناسازگاری نسخههای مختلف روبرو شود. برای نمونه متنی که در Microsoft Word نوشته میشود معلوم نیست که در یک کامپیوتر لینوکسی یا مکینتاشی قابل خواندن باشد یا خیر، شاید مدیر بخش حروفچینی از نسخههای قدیمی استفاده میکند و شما در نسخههای جدید متنتان را نوشتهاید؟!! در حقیقت شما قابلیت مهم و ساسی انتقال پذیری را از دست دادهآید. از طرفی اگر شما مدیر یک سایت هستید و میخواهید مقالهی آموزشی خودتان را علاوه بر فرمت HTML با فرمتهای PDF یا RTF و نیز PostScript نیز منتشر کنید چه؟ آیا در تمام برنامههای واژه پردازی مانند Word این امکانات موجودند؟ آیا همهی این برنامهها با متن شما خوش رفتارند؟!
راه حل عملی این کار استفاده از زبانی واحد برای انجام امور است به نام :« DocBook». از آنجایی که DocBook براساس SGML است بنابراین کاملا انتقال پذیر است، شما میتوانید متن خود را در Notepad ویندوز بنویسید و در Emacs در لینوکس تدوین کنید و به مدیر انتشارات که از MAC OSX استفاده میکند بدهید و سپس در چند ثانیه آن را به فرمتّای HTML یا PDF و .. نیز تبدیل کنید و در سایت خود قرار دهید.
از آنجایی که DocBook یک استاندارد باز یا Open Standard است شما میتوانید با خیال راحت و به دور از مسائل حقوقی از آن در کارهایتان استفاده کنید. اگر روزی ویندوزی تولید نشد شما میتوانید متنهای خود را در لینوکس ویرایش کنید اما اگر از برنامههایی مانند Word استفاده کنید با منتشر نشدن نسخهی جدی Word مطمئنا به مشکلی بزرگ برخواهید خورد. در اغلب پروژهّای OPen Source نیز برای تهیهی مستندات از DocBook استفاده میشود، از جملهی این پروژها پروژهی TLDP است که به نوشتن مقالات آموزشی لینوکس مشغول است. این پروژه ابتدا از زبان مخصوص خود به نام LinuxDoc استفاده میکرد اما با آمدن DocBook دیگر از زبان استاندارد DocBook برای نوشتن مستندات خود استفاده میکند.
2.گذشته و آیندهی Docbook
استاندارهای مربوط به SGML و نیز XML توسط OASIS سازماندهی میشوند. OASIS یا Organization for the Advancement of Structured Information Standards یک کنسرسیوم آزاد و غیر وابستهی بین المللی است که به تدوین XML و SGML میپردازد. این کنسرسیوم یک کمیتهی فنی دارد که زبان Docbook را در سال ۱۹۹۸ به صورت کاملا سازماندهی شده به عنوان یک استاندارد برای نوشتن مستندات منتشر کرد. در حقیقت زبان DocBook زبانیست ابداعی از سوی انتشارات O'Reilly و HalComputer Systems که حدود سال ۱۹۹۱ برای نوشتن مستندات UNIX تعریف شد و همانطور ه ذکر شد در سال ۱۹۹۸ به صورت استانداردی جهانی مورد استفاده قرار گرفت.
نسخههای جدید DocBook همانند HTML بر اساس زبان XML است. همانطور که گفته شد XML نسخهی توسعه یافته و استاندارد شدهی SGML است. در حال حاضر XHTML یک XML DTD است، یعنی مجموعه قواعد و قوانینش بر اساس زبان XML تعریف شده است.DocBook نیز از این قافله عقب نمانده و تعریفی بر اساس XML برای خود دارد. در حقیقت دو تعریف برای DocBook داریم، یکی SGML DTD و دیگری XML DTD. برای کار با DocBook برنامههای مختلفی مخصوصا در لینوکس موجود است که علاوه بر داشتن تگهای DocBook به ویرایش عیبیابی و سایر امور مربوط به مستندسازی نیز میپردازد. امروزه برنامههای ویرایشگر HTML که توسط جامعهی بازمتن نوشته میشوند اغلب از DocBook نیز پشتیبانی میکنند. با توجه به محبوبیت و کاربرد فراوان XML در صنعت نرمافزار و دانش کامپیوتر DocBook نیز آیندهآی بسیار روشن در پیش رو دارد. شما با داشتن حداقل امکانات مانند یک PDA یا یک گوشی موبایل مجهز به ویرایشگر متن حتی با داشتن یک Amiga قدیمی میتوانید کتاب خود را بنویسید و یا مقالهی خود را منتشر کنید. این قدرت انتقال پذیری و نیاز به حداقل امکانات یکی از بزرگترین دلایلی است که نویسندگان را به استفاده از DocBook برای نوشتن مقالات و کتب خود تشویق میکند. امروزه اگر بخواهید برای ناشرانی مانند O'Reilly کتابی بنویسید لازم است که کتاببه زبان DocBook باشد. البته اگر کتابتان را با زبان DocBook نوشتید میتوانید به راحتی از طریق برنامههای ختلف به فرمتهایی مانند HTML یا PDF نیز تبدیل کنید، حتی میتوانید آن را به فرمت Word شرکت مایکروسافت یا OOwriter از مجموعهی OpenOffice نیز تبدیل کنید، و این جادوی DocBook است.
3.برای شروع به چه نیاز دارم؟
برای شروع کافیست تصمیم بگیرید، سپس تمام تگهای DocBook را بیاموزید و در یک ویرایشگر متن معمولی مانند Gedit یا Kate شروع به نوشتن کنید. البته اگر میتوانید در VI یا EMACS فارسی بنویسید یا کتابیتان به زبان فارسی نیست میتوانید از ابزارهایی مانند EMACS یا VI نیز استفاده کنید. اگر قبل از این با زبان HTML کار کرده باشید آموختن اصول و روش کار با تگهای DocBook برایتان بسیار ساده خواهد بود. برای آموزش میتوانید از منابعی که در بخش پنجم ذکر شده است استفاده کنید.
4.چه قابلیتهایی موردپشتبانی است؟
هر آنچه برای نوشتن یک مقاله یا کتاب نیاز دارید در این زبان مورد پشتیبانی است، برای نمونه شما میتوانید از تصاویر یا فایلهای دیگر در متن خود استفاده کنید، به راحتی میتوانید مقالهی خود را به صورت بخش بندی شده به ترتیب فصل و بخش درآورید، اگر به فهرست نساز دارید تگهای مخصوصی برای آن وجود دارد. برای نمونه اگر شما فهرستی را از طریق DocBook ایجاد کنید و سپس این فایل را به یک صفحهی HTML تبدیل کنید برنامهی مبدل به صورت خودکار لینکهای لازم به صفحات را ایجاد میکند!! شما میتوانید مانند HTML در قسمت ابتدای مقاله یا کتاب از کتاب یا مقالهی خود بنویسید و مجوز استفاده(کپی رایت) و نیز اطلاعات دیگر را از طریق تگها ایجاد کنید. اگر نیاز به ایجاد جدولها، لیستهای تو در تو و ... دارید همه و همه در این زبان پشتیبانی میشود. اگر کتاب فنی یا ریاضی مینویسید که در آن از فرمولهای پیچیده استفاده شده است میتوانید فرمولها را به زبان MathML بنویسید و سپس در DocBook ترکیب کنید.
پس از پایان کار مقاله یا کتاب شما به شکل زیر شباهت خواهد داشت:
بسیار خوب برای استفاده از این کدها به عنوان یک کتاب یا مقاله کافیست آن را به فرمتی که دلخواهتان است تبدیل کنید و در اختیار ناشر قرار دهید، خواه این فرمت HTML باشد و در یک سایت اینترنتی استفاده شود، خواه فرمت PostScript و آمادهی به چاپ باشد. شما میتوانید از XML Schema برای زیبا کردن کتاب یا مقالهی خود استفاده کنید. در حقیقت شما یک متن را از شابلونی به نام XML Schema عبور میدهید و با مقالهای زیبا روبرو میشوید. البته برای زیبا کردن متن میةوانید از DSSL یا Document Style Semantics and Specification Language نیز استفاده کنید، که در حقیقت نقش یک شابلون را دارد. شما مجموعهای از قوانین تعریف مینمایید که نحوهی نمایش هر تگ را بیان میکند، با مخلوط کردن تگّای DocBook با این شابلون (قوانین) متنی زیبا و جذاب تولید خواهد شد. این روش مزیتی بزرگ دارد، اگر شما یک متن را در OpenOffice Writer یا Microsoft Word بنویسید و به آن جلوههایی مانند رنگ متن و .. بدهید و بخواهید کوچکترین تغییری بدهید مجبور خواهید شد در تمام صفحات به دنبال متن گشته و برای نمونه رنگ آن را تعویض کنید. اما در روشی که برای DocBook استفاده میشود کافیست که شابلون یا همان DSSSL را تغییر دهید، با تغییر در این شابلون تغییر به صورت خودکار در تمام کتاب یا مقاله اعمال خواهد شد. حتی میتوانید شابلونهای مختلفی برای سلیقههای مختلف ایجاد کنید در صورتی که در برنامههای پردازشگر متن چنین کاری بسیار طاقت فرسا خواهد بود.
5.منابع بیشتر
اگر به فراگیری این زبان بسیار شیرین ;) علاقهمند شدهاید میتوانید از سایت رسمی آن به آدرس www.DocBook.org یاد گیری را آغاز نمایید.البته میتوانید به سایت OASIS در آدرس www.oasis-open.org نیز مراجعه کنید.در سایت www.SGMLsource.com نیز منابع مناسبی موجود هستند. از آنجایی که سایت www.tldp.org از DocBook به عنوان استاندارد خود استفاده میکند آموزشها و مقالات بسیار مفید و جالبی در بارهی این زبان دارد که میتواند نقطهی آغازی مناسب برای شما باشد. برای مطالعهی این مقالات کافیست در بخش جستجو بنویسید : «DocBook».
در نهایت امیدوارم در انتخاب روشی که بوسیلهی آن مقالات و کتب خود را ذخیره و منتشر میکنید دقت لازم را داشته باشید تا در آینده با مشکلی روبرو نشوید.
موفق باشید.
نویسنده: $Nəvid$ |