Docbook XSL - موافق لتحرير الأرقام الأصلية الأصلية؟

StackOverflow https://stackoverflow.com/questions/1726194

  •  19-09-2019
  •  | 
  •  

سؤال

أود أن أقدم خطوط معينة من جدول المحتويات Docbook بالخط العريض بناء على ما إذا كان خاصا <section> لديه سمة معينة محددة. هذا سهل عن طريق إضافة <xsl:if test="..."> بيان إلى Docbook XSL (خطوط FO / Autotoc.xsl 187-230 - هذا مخصص للإخراج إلى PDF باستخدام XMLMind).

أتساءل، رغم ذلك، إذا كانت ممارسات سيئة لتحرير DocBook XSLs أنفسهم. لدي تخصيصات أخرى في XSL منفصلة من المعلمات الخاصة بي، ومعظمها حول المعلمات، لكنني لا أستطيع أن أتخيل كيف أقدم هذا المنطق الشرطي - استنادا إلى خط TOC قيد المعالجة حاليا - دون وضع نوع من التعليمات البرمجية في الأصل. أي أفكار؟ كيف يمكنك الترقية إلى Docbook XSL الأحدث بعد إجراء تغييرات؟

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

المحلول

يستورد ورقة أنماط docbook من XSLT الخاصة بك. ثم، (إعادة) حدد قالب DocBook الذي تريد "تجاوز".

نظرا لأن القالب الخاص بك سيكون الأعلى في شجرة الاستيراد، فسوف يستغرق الأمر الأسبقية.

من خلال القيام بذلك بهذه الطريقة، لا تضطر إلى تعديل أي من ملفات Docbook XSLT الأساسية. سيجعل ترقيات من أنماط DocBook أسهل في المستقبل.

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:import href="xsl/fo/docbook.xsl"/>

<xsl:template match="template-that-you-need-to-redefine">
  ...
</xsl:template>

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