[Po4a-devel]Sgml and generic file inclusion

Nicolas François nicolas.francois@centraliens.net
Fri, 27 May 2005 13:43:38 +0200


Hello,

With Martin having no time, but spending a lot of time on po4a, it seems
the right moment to ask this.


First, extracting the file inclusion part from the TeX module to put it in
the Transtractor works.
It has mostly one drawback: the file inclusion has to be done in one line.
For example:
  .so foo.1
or:
  \include{foo.tex}\input{bar}
should work, but:
  <!ENTITY foo SYSTEM
  foo_foo_foo_foo_foo_foo_foo_foo_foo_foo_foo_foo_foo_foo.sgml>
will not work (at least currently; if it is needed, it will work)

To use this file inclusion mechanism, a module will have to implement one
function, which will find the filename and return the piece of text to put
before and after the inclusion of the given file. (it is a littel bit more
complicated, but basically works this way).
For example, the Man module could return "", "foo.1", "" when it receive
".so foo.1"

Other facilities are also provided (for example, the TeX module needs find
a file wether the .tex extension is given or not).


So here are some questions regarding the Sgml module:
  Is there any problem with the current implementation of the inclusion?

  The Sgml module is quite different from the other modules (the lines are
  not shifted one by one, but the file is given in its whole to nsgmls. So
  is this module a good choice for testing the file inclusion? Maybe I can
  try to implement it in order to be able to use the whole file.

  Is there another module which could need inclusion, and could be used to
  test if this mechanism is sufficient and generic enough

I will submit the patch to the list, so you can have a look at it. But I'm
a little bit reluctant at committing it before it is tested by at least
two modules.

Kind Regards,
-- 
Nekral