Есть ли какой-либо способ определить макросы (как tex макросы o, латекс определяет) в документах DocBook?
DocBook является очень подробным, и макросы помогли бы много. Я не нашел их в учебных руководствах по быстрому запуску.
Если так, кто-либо мог обеспечить простой пример или ссылку на?
Спасибо
Не уверен, что это именно то, что вы хотите / полностью ли это соответствует вашим требованиям, но я думаю о ENTITY. Вы можете определить их вверху (вашего XML-документа, так что общий XML, ничего особенного для DocBook). Как показано здесь для "doc.release.number" и "doc.release.date". Но они также могут быть включены через отдельный файл. Как видно в 3-й строке ENTITY. Здесь СИСТЕМА означает переход из другого файла «entity.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>
В документе вы ссылаетесь на объекты через начальный &
и конечный ;
, как в & project.impl.title;
В файле 'entity.ent 'вы указываете элементы ENTITY аналогичным образом:
<?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' >
Рассматривали ли вы создание DocBook из другого формата (например, reStructuredText ?)
Мне показалось, что это очень удобно для документации.
Кроме того, вы, вероятно, могли бы довольно быстро написать макрос-препроцессор (или заглянуть в m4). Если вы используете XML-версию DocBook, подойдет простой XSLT. Просто придумайте несколько тегов и преобразуйте их. Автоматическое добавление шаблонных материалов. И будьте готовы по-настоящему рассердиться на XSLT. За то, что не было всем, чем могло быть. Для искажения вашего мышления.