سؤال

أرغب في الحصول على مستند Docbook XML واحد يحتوي على محتوى للعديد من الجماهير المستهدفة. هل هناك مرشح يمكّنني من تصفية الأشياء اللازمة فقط للمستخدمين "المتقدمين"؟

تم اختراع سمة المستوى من قِبل لي للتعبير عن ما يدور في ذهني.

 <?xml version="1.0"?>
 <book>  
   <title lang="en">Documentation</title>

   <chapter id="introduction" level="advanced">  
       <title>Introduction for advanced users</title>
   </chapter>

   <chapter id="introduction" level="basic">  
      <title>Introduction for basic users</title>
   </chapter>  

   <chapter id="ch1">
      <para level="basic">Just press the button</para>
      <para level="advanced">
           Go to preferences to set your
           needs and then start the process 
           by pressing the button.
      </para>
   </chapter>
</book>
هل كانت مفيدة؟

المحلول

لا يحتوي Docbook على ملف level ينسب. ربما كنت تعني userlevel?

إذا كنت تستخدم أوراق أنماط Docbook XSL لتحويل المستندات الخاصة بك ، فسيحصل على دعم مدمج للتوصيف (النص الشرطي). لاستخدامه تحتاج إلى

  1. استخدم النسخة التي تدعم التوصيف من ورقة الأنماط (مثل الاستخدام html/profile-docbook.xsl بدلا من المعتاد html/docbook.xsl)، و

  2. حدد قيم السمة التي تريد ملف تعريفها عبر معامل (على سبيل المثال مجموعة profile.userlevel إلى basic).

الفصل 26 من بوب ستون Docbook XSL: الدليل الكامل لديه كل التفاصيل.

نصائح أخرى

طريقتين ، خارج الجزء العلوي من رأسي:

  1. اكتب نصًا سريعًا يأخذ level كمعلمة و ، باستخدام xpath أو التعبيرات العادية ، التي تبصق فقط XML الذي تريده.
  2. اكتب التحول XSLT هذا سوف يبصق XML الذي تريده.

(2) هو أنظف ، ولكن (1) ربما يكون أسرع في الكتابة.

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