Domanda

C'è un modo di definire le macro (come tex macro o latex definisce) nei documenti DocBook?

DocBook è molto prolisso, e le macro aiuterebbe molto. Non li ho trovato in esercitazioni QuickStart.

Se è così, qualcuno potrebbe fornire un semplice esempio o un collegamento a?

Grazie

È stato utile?

Soluzione

Non è sicuro, se questo è esattamente quello che vuoi / se si riempie pieno le vostre esigenze, ma sto pensando di ENTITYs. È possibile definire in alto (del documento XML, XML così generale, niente di DocBook specifica). Come si vede qui per la 'doc.release.number' e 'doc.release.date'. Ma possono anche essere inclusi attraverso un file separato. Come visto nella riga ENTITY 3 °. Qui i mezzi SYSTEM, ritornassi da un altro file 'entities.ent'.

<?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>

Nel documento si fa riferimento le entità attraverso un & di inizio e fine ; come in &project.impl.title;

Nel 'entities.ent' file specificato gli elementi entità nel modo simile:

<?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'                  >  

Altri suggerimenti

Non è esattamente quello che hai chiesto, ma forse utile per alcuni dei vostri casi: è possibile definire modelli nel foglio di stile involucro in cui si definiscono i comandi fo. Alcuni esempi:

Codice:

<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>

Utilizzo:

<symbolchar>le</symbolchar>

Codice:

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

Utilizzo:

<?linebreak?>

Avete preso in considerazione la generazione di DocBook da un altro formato (come reStructuredText ?)

ho trovato abbastanza bello per la documentazione.

Inoltre, probabilmente si potrebbe scrivere un preprocessore macro (o sguardo in m4) abbastanza rapidamente. Se si utilizza la versione XML di DocBook, un semplice XSLT farà. Basta fare alcuni tag e trasformarli. Hanno boilerplate roba aggiunto automaticamente. E preparatevi a essere davvero arrabbiato con XSLT. Per non essere tutto ciò che potrebbe essere. Per rendere il vostro pensiero warp.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top