سؤال

لقد كتبت مستند Docbook 5.0 مع الرأس:

<?xml version="1.0" encoding="UTF-8"?>
<book version="5.0" xmlns="http://docbook.org/ns/docbook"
      xmlns:xlink="http://www.w3.org/1999/xlink"
      xmlns:xi="http://www.w3.org/2001/XInclude"
      xmlns:svg="http://www.w3.org/2000/svg"
      xmlns:m="http://www.w3.org/1998/Math/MathML"
      xmlns:html="http://www.w3.org/1999/xhtml"
      xmlns:db="http://docbook.org/ns/docbook">

و docbook2pdf على Ubuntu 9.10 يطبع العديد من رسائل الخطأ ولا يقوم بأي مستند PDF. الأخطاء هي:

openjade:test.xml:2:0:E: prolog can't be omitted unless CONCUR NO and LINK EXPLICIT NO and either IMPLYDEF ELEMENT YES or IMPLYDEF DOCTYPE YES
openjade:test.xml:2:0:E: no document type declaration; will parse without validation
openjade:/usr/share/sgml/docbook/stylesheet/dsssl/modular/print/dbtitle.dsl:18:5:E: flow objects at the root must be all of class scroll or all of class page-sequence or simple-page-sequence
openjade:/usr/share/sgml/docbook/stylesheet/dsssl/modular/print/dbbibl.dsl:704:4:E: flow objects at the root must be all of class scroll or all of class page-sequence or simple-page-sequence

docbook2pdf للوثيقة بتنسيق Docbook 4.5 مع رأس عادي مثل:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">

يعمل بشكل جيد.

هل هناك أي طريقة لتوليد PDF من Docbook 5.0؟

هل كانت مفيدة؟

المحلول

أرى ثلاثة خيارات (متوفرة في Debian/Ubuntu) لإنشاء PDF من Docbook:

  • Jade ، الذي يوفر الأمر docbook2pdf الذي استخدمه Asker. Jade قديم ويعمل مع SGML ، والذي يسبق XML ولا يدعم Unicode ؛ كما أنه يفتقر إلى دعم Docbook 5.

  • ال docbook-xsl أوراق الأنماط التي تمر من خلال XSL-FO. Docbook-XSL مخصص لـ Docbook 4.5 ، Docbook-XSL-NS مخصص لـ Docbook5. استخدم FOP للانتقال من XSL-FO إلى PDF. خط أنابيب: docbook5 - (XSL) -> XML.FO - (FOP) -> PDF. الأوامر المعنية: XSLTPROC ، FOP.

  • DBLATEX ، التي تستهدف بشكل أساسي docbook4.5 ولكن تم تحديثها لبعض DOCBOOK5.

يمكن لـ XMLTO قيادة الأخيرين ، على الرغم من أنها تتخلف حاليًا إلى DOCBOOK-XSL وليس DOCBOOK-XSL-NS.


دليل مستخدم DOCBOOK5 السريع

المتطلبات الأساسية

sudo aptitude install docbook5 docbook-xsl-ns xsltproc fop xmlto libxml2-utils xmlstarlet

تصديق

xmlstarlet val --err --xsd /usr/share/xml/docbook/schema/xsd/5.0/docbook.xsd book.xml

إخراج PDF

xsltproc /usr/share/xml/docbook/stylesheet/docbook-xsl-ns/fo/docbook.xsl book.xml > book.fo
fop -fo book.fo -pdf book.pdf

نصائح أخرى

بصرف النظر عن الرأس الذي قدمته ، هل جربت مثالًا أصغر ، مثل هذا من Docbook 5.0: الدليل النهائي ?

<?xml version="1.0" encoding="UTF-8"?>

<book xmlns='http://docbook.org/ns/docbook'>
  <title>An Example Book</title>
  <titleabbrev>Example</titleabbrev>
  <info>
    <legalnotice><para>No notice is required.</para></legalnotice>
    <author><personname>
      <firstname>Norman</firstname><surname>Walsh</surname>
    </personname></author>
  </info>

  <dedication>
  <para>
      This book is dedicated to you.
  </para>
  </dedication>

  <preface>
    <title>Foreword</title>
    <para>
        Some content is always required.
    </para>
  </preface>

  <chapter>
    <title>A Chapter</title>
    <para>
        Content is required in chapters too.
    </para>
  </chapter>

  <appendix>
    <title>Optional Appendix</title>
    <para>
        Appendixes are optional.
    </para>
  </appendix>
</book>

فقط قدمها إلى PDF من خلال واحدة من بيئات Maven الخاصة بي. هل يمكنك إعطاء مثال صغير (أو عدد قليل من البطن المنفصلة) يحتوي على بعض المحتوى ، مما يجعل استخدام جميع مساحات الأسماء الإضافية ضرورية.

في حالة عدم عمل المثال أعلاه ، وأنت مهتم بكيفية إعداد بيئتي القراءة إتاحة محتوى Docbook في موقع مشروع Maven. فقط استبدل المثال بمثال DOCBOOK 5.0 أعلاه. فقط docbkx-maven-plugin هو ذو أهمية ، فيما يتعلق بهذا السؤال. (PS: بعض المعرفة الأساسية لـ Java و Maven2 مطلوبة لهذا.)

العمومة

يمكنك استخدام العمومة لنشر Docbook XML في تنسيقات PDF و HTML و HTML-Single. يتم استخدام Publican بواسطة Red Hat كجزء من أدوات الوثائق الداخلية الخاصة بها ، وهو تطبيق مفتوح المصدر يستضيفه مشروع Fedora. تستخدم الأداة "علامات تجارية" لتحقيق وحدات في تطبيق الأنماط على المحتوى الذي يتم نشره. هذه الطريقة المحددة مسبقًا تشبه مجموعة واسعة من CMS أو أدوات التوثيق.

دليل الوثائق JBOSS

مثال جيد على الأداة في العمل هو Jboss Press Gang Documentation, ، وهو في حد ذاته مورد رائع يقدم إرشادات مجتمع الوثائق حول استخدام Docbook XML في وثائق JBOSS. تم إنشاء إصدارات HTML و PDF مع Publican.

هناك اختلافات كبيرة بين Docbook 4.5 و 5.0. وهذه الاختلافات يمكن أن تمنع وثيقتك من تحويلها.

إذا كنت ترغب في التحقق من صحة المستند 5.0 الخاص بك ، يمكنك استخدام أداة سطر الأوامر التالية:

  1. إنها أداة Java ، لذلك تحتاج إلى الحصول على بيئة وقت تشغيل Java الحديثة.

  2. الأداة هي جينغ. يمكنك تنزيله من موقع الويب Thaiopensource:http://www.thaiopensource.com/relaxng/jing.html

  3. ستحتاج أيضًا إلى ملف الاسترخاء NG لـ Docbook 5.0. يتم توفيره مع توزيع Docbook 5.

  4. قم بتشغيل اختبار التحقق من الصحة مع سطر الأوامر التالي:
    java -jar path_to_jing/jing.jar -t -i path_to_docbook5/docbook.rng document.xml

إذا كان هناك بعض الإخفاقات ، فيجب إرجاعها على هذا النحو: خطأ في عنوان URL "ملف: ...../document.xml" ، رقم السطر 211 ، رقم العمود 59: القيمة السيئة للسمة "معرف" من مساحة الاسم "http://www.w3.org/xml/1998/namespace"الوقت المنقضي 968+166 = 1134 ميلي ثانية

http://docbookpublishing.com يدعم مستندات Docbook 5.0. إنها خدمة عبر الإنترنت لـ Docbook إلى تنسيق PDF. يمكنك أيضًا إرسال مستندات Docbook الخاصة بك عبر API REST.

انتقل إلى Eclipse وتثبيت التحرير والمعالجة DOCBOOK للمكون الإضافي ECLIPSE (DEP4E). يمكنك العثور عليه من خلال الذهاب إلى Marketplace والبحث عن Docbook هناك. سيقوم هذا المكون الإضافي بإنشاء مثال Docbook ويمكنه نشره في HTML و PDF وحتى الكتاب الإلكتروني.

أو تحقق من موقع الويب DEP4E, ، إقرأ ال دليل بداية سريعة الجزء 3. البدء, ، للحصول على فكرة عن إمكانياتها.

منشورات WordPress إلى Docbook Style Posts:http://hashfold.com/techfold/wordpress-how-to-generate-docbook-style-posts/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top