سؤال

هل هناك أي طريقة لتحديد وحدات الماكرو (مثل تعريفات Tex Macros O Latex) في مستندات Docbook؟

Docbook مطوّلة للغاية ، وستساعد وحدات الماكرو كثيرًا. لم أجدهم في البرامج التعليمية QuickStart.

إذا كان الأمر كذلك ، هل يمكن لأي شخص تقديم مثال بسيط أو رابط؟

شكرًا

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

المحلول

لست متأكدًا ، إذا كان هذا هو بالضبط ما تريده / إذا كان يملأ متطلباتك بالكامل ، لكنني أفكر في الكيانات. يمكنك تحديدها في الجزء العلوي (من مستند XML الخاص بك ، لذلك XML العامة ، لا شيء محدد). كما رأينا هنا لـ 'Doc.Release.number' و 'Doc.Release.date'. ولكن يمكن تضمينها أيضًا من خلال ملف منفصل. كما رأينا في صف الكيان الثالث. هنا يعني النظام ، قادمًا من ملف آخر "كيانات.

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

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
    "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [

  <!ENTITY  doc.release.number                 "1.0.0.beta-1"       >
  <!ENTITY  doc.release.date                   "April 2010"         >

  <!ENTITY  %   entities  SYSTEM  "entities.ent" >

  %entities;

]>

<!--  This document is based on http://readyset.tigris.org/nonav/templates/userguide.html  -->
<article  lang="en">
  <articleinfo>
    <title>&project.impl.title; - User Manual</title>
    <subtitle></subtitle>
    <date>&project.impl.release.date;</date>
    <copyright>
      <year>doc.release.year</year>
      <holder>Team - &project.impl.title;</holder>
    </copyright>
    <releaseinfo>&doc.release.number;</releaseinfo>
  </articleinfo>

  <section>
    <title>Introduction</title>
    <para>
    The &project.impl.title; has been created to clean up (X)HTML and XML documents as part of 


    </para>
  <section>
</article>

في المستند الذي تشير إليه الكيانات من خلال بداية & وينتهي ; كما في &project.impl.title;

في ملف "الكيانات.

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

<!ENTITY  project.impl.title            'Maven Tidy Plug-in'    >
<!ENTITY  project.impl.group-id         'net.sourceforge.docbook-utils.maven-plugin'    >
<!ENTITY  project.impl.artifact-id      'maven-tidy-plugin'     >
<!ENTITY  project.impl.release.number   '1.0.0.beta-1'          >
<!ENTITY  project.impl.release.date     'April 2010'            >
<!ENTITY  project.impl.release.year     '2010'                  >
<!ENTITY  project.impl.url              '../'                   >
<!ENTITY  project.spec.title            ''  >
<!ENTITY  project.spec.release.number   ''  >
<!ENTITY  project.spec.release.date     ''  >
<!ENTITY  doc.release.year              '2010'                  >  

نصائح أخرى

ليس بالضبط ما طلبته ، ولكن ربما يكون مفيدًا لبعض حالاتك: يمكنك تحديد القوالب في ورقة الأنماط الخاصة بك حيث تحددها fo الأوامر. بعض الأمثلة:

شفرة:

<xsl:template match="symbolchar">
  <fo:inline font-family="Symbol">
    <xsl:choose>
      <xsl:when test=".='ge'">&#x2265;</xsl:when>
      <xsl:when test=".='le'">&#x2264;</xsl:when>
      <xsl:when test=".='sqrt'">&#x221A;</xsl:when>
      <xsl:otherwise>?!?</xsl:otherwise>
    </xsl:choose>
  </fo:inline>
</xsl:template>

الاستخدام:

<symbolchar>le</symbolchar>

شفرة:

<xsl:template match="processing-instruction('linebreak')">
  <fo:block/>
</xsl:template>

الاستخدام:

<?linebreak?>

هل فكرت في توليد docbook من تنسيق آخر (مثل إعادة هيكلة النص?)

لقد وجدت أنه من الجيد جدًا للتوثيق.

أيضًا ، من المحتمل أن تكتب معالجًا مسبقًا ماكرو (أو النظر إلى M4) بسرعة كبيرة. إذا كنت تستخدم إصدار XML من Docbook ، فسيقوم XSLT بسيط بذلك. مجرد تكوين بعض العلامات وتحويلها. قم بإضافة أشياء Boilerplate تلقائيًا. واستعد لتكون غاضبًا حقًا من XSLT. لعدم أن تكون كل ما يمكن أن يكون. لجعل تفكيرك تشوه.

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