DocBook.sml

Single-Source Multilingual Documentation

description usable, to be completed.

2006-12-03

Revision History

Table of Contents

What is DocBook.sml?
Quickstart
Approach
Features
Reference
Roadmap
Examples
Tutorial
Glossary
Links
Legal Notice
Powered by

sml stands for singlesource multi-language. DocBook.sml provides an easy and secure way to maintain multilingual documentations. The core idea of DocBook.sml is keeping/assembling all documentation content of identical semantic, but of different language together in/into one document and deriving from such a 'documentation repository' all desired documentation artifacts.

With DocBook.sml you maintain your multilingual documentation in a single docbook-document. Based on that 'documentation repository' you can easily produce your documentation artifacts separeted by language in a single run. Obviously the DocBook.sml-documentation itself is built using DocBook.sml. Therefore a parallel look at a) the source (see doc/docbooksml.xml) and b) the generated artifacts (see the content of the directory doc/build) of the documentation you are still reading depicts at best where DocBook.sml is good for.

The core idea of DocBook.sml is keeping/assembling all documentation content together in/into one document and deriving from such a documentation repository all desired documentation artifacts.

DocBook.sml provides an easy and secure way to maintain multilingual documentations. Depending on your individual working procedures you can decide the manner - or better the level - you would like to treat language-sensitiv content. For example you can maintain a top-level-section for each language (you will find an English and a German section of the section you are still reading).


Or you keep all together in one single section and separete the language-content on the <para>-level. Example:


Table 1.  Features

Feature

Description

Consistent maintenance of multilingual documentation.

The core idea of DocBook.sml is keeping/assembling all documentation content of identical semantic, but of different language together in/into one document and deriving from such a 'documentation repository' all desired documentation artifacts.

Unified documentation structures for all projects

DocBook.sml gathers all source and target templates, procedures and references to the subsystems into one place. In that way DocBook.sml can provide unified documentation structures (templates AND procedures) to the projects.

Customizable input and output templates and documentation procedures

DocBook.sml is designed with flexibility in mind. At input side you design your own templates (reps. adapt the provided ones) according your needs once and DocBook.sml will deploy it to the projects. At output side the production of artifacts based mainly on DocBook XSL which implies a high degree of flexibility. Due to the use of ant Docbook.sml supports the documentation procedures in a very flexible manner.

CAT (Computer aided Translation) Support

DocBook.sml provides a collaboration with OmegaT (at the moment the only open source CAT sytem). This interface should also be usable in collaboration with other CAT systems. (under construction)

Runs as part of an IDE and/or standalone

You can easily deploy and run DocBook.sml in any ant-enabled environment (like eclipse). All classpath entries are captured within the ant-script. No classpath adaption (nor on system neither on eclipse level) is necessary.

Concentrates all necessary resources at one location

All necessary resources are stored centraly in DocBook.sml's Subdirectories. The access to the used subsystem is totally parameterized.

Decouples the functional resources from subsystem versions

The usage of xmlCatalog and Parameterization facilitates the deployment and maintenance. All subsystems are cleary separated and can easily changed in version and location (and vendor if alternatives are available).

Comprehensive example for the usage of DocBook XSL

In DocBook.sml the customized generation of all major kinds of artifacts DocBook XSL provides (Html, Html chunked, PDF, eclipse) is realized. As the DocBook.sml documentation sources are part of the distribution DocBook.sml is a comprehensive example for the usage of DocBook XSL.

Free of charge.

DocBook.sml comes free of charge under the terms of GNU LGPL license.


Finally you can use DocBook.sml without following other conventions than the constraints of the docbook.dtd. If you only want to benefit from other DocBook.sml feature than the support for multilingual documentation you can skip the 'Conventions For Separating Content By Language' and obviously also the 'conventions for supporting CAT (Computer Aided Translation)'.

Monolingual elements Language-insensitive elements gets NO <lang> attribute. Such elements will be passed into each language version.


Multilingual elements Language-sensitive elements gets an <lang> attribute.


Subelements Subelements inherits unexceptionally the effect of the <lang> attribute of their super element. When a super element contains an <lang> attribute, any <lang> attribute of any sub (and sub sub) element takes no effect. The <lang> attribute of the super element keeps always its effect for the super element itself and all elements it contains.


todo

todo

todo


The DocBook.sml project (resp. the DocBook.sml-Directory) contains the directory 'doc' and the ant scripts


The DocBook.sml project as well as the project which uses DocBook.sml stores and seeks all relevant resources within a subdirectory called 'doc'.


'install' is (with some small exceptions) an image of the 'doc' directory. By deploying DocBook.sml the content of 'install' will be tranfered to the 'doc'-directory of these projects.


In the 'conf'-directory you find the global configuriaton files as well as the local configuration files. In the 'conf'-directory of an project DocBook.sml is deployed to you will find only the local configuration files.

The ant script 'addToProject.xml' deploys all necessary DocBook.sml stuff to the appropriate project. Select the file 'addToProject.xml' and choose 'External Tool..." from the 'External Tools'-Buttons (or choose Menuitem 'Run' -> 'External Tool... -> 'External Tool...').


As external program select ant and press the 'new'-Button for creating a new run-configuration for ant.


As Parameter type in name and location of the project you are deploy DocBook.sml to. Press the 'Apply'-Button to store the run configuration. Press the 'Run'-Button to run the ant script.


If everything works find, you will get a success message similar the following:

Buildfile: C:\develop\tests\eclipse\net.sf.docbooksml\addToProject.xml
check:
checkMessage:
install:
[copy] Copying 65 files to C:\develop\tests\eclipse\testProject1
[propertyfile] Updating property file: ...\testProject1\doc\conf\docbooksml.local.properties
[copy] Copying 1 file to C:\develop\tests\eclipse\testProject1\doc
all:
BUILD SUCCESSFUL
Total time: 1 second
	      

But if it is not the first time, the deployment for this programs is running, you will an error message like:

Buildfile: C:\develop\tests\eclipse\net.sf.docbooksml\addToProject.xml
check:
checkMessage:
[echo] !!! W A R N I N G !!!!
[echo] The directory 'doc' still exists in '../testProject1'.
[echo] ...the target project directory must not contain a directory named 'doc'.
[echo] The installation aborts for avoiding unintentional overwriting.
install:
all:
BUILD SUCCESSFUL
Total time: 841 milliseconds
	      

todo

todo

Software and documentation is released under the terms of the GNU LGPL license (see http://www.gnu.org/copyleft/lesser.html) and comes without a warranty of any kind.

Copyright © 2006 joerg.moebius@hamburg.de

sourceforge logo

sourceforge logo

sourceforge logo

sourceforge logo