Man Linux: Main Page and Category List

NAME

       templates2ada - generate Ada sources from a templates file

SYNOPSIS

       templates2ada [options]

DESCRIPTION

       templates2ada  parses  all  the  template files in a directory and then
       generates an output file from  these,  based  on  a  template  file  (a
       default  example  of  which is provided as /usr/share/doc/libtemplates-
       parser-dev/examples/templates.tads). The latter contains  in  fact  two
       examples,  depending on whether one Ada package should be generated per
       template, or whether a single package should be built.  In  the  former
       case,  if you are using the GNAT compiler, you should run ‘gnatchop’ on
       the resulting file. Here is an example:

            $ rm -f src/templates/*.ads
            $ templates2ada -d resources/ -o src/templates/generated -r
            $ cd src/templates; gnatchop -w -q generated
            $ rm -f src/templates/generated

       One of the goals of templates2ada  is  to  ensure  that  you  are  only
       setting  tags that actually exist in the template (and thus prevent, as
       much as possibly, typos in the name of tags); also, when combined  with
       other  tools,  to  help ensure that all tags needed by the template are
       properly set.

       templates2ada also has special knowledge about HTTP constructs and will
       generate  Ada  constants  for  the HTTP parameters you might receive in
       return. Once more the goal is to help avoid typos in the Ada code.

       For instance, we will consider a simple template file, found in a local
       file  ‘resources/block1.thtml’.  This  template  contains the following
       simple html code:

            <form>
              <input name="PARAM1" value="@_TAG1_@" />
              <input name="PARAM2" value="@_TAG2_@" />
            </form>

       When  you  run  templates2ada,  the  following  Ada  package  will   be
       generated.  Note that this is only the default output of templates2ada,
       which can be fully tailored to your needs.

            package Templates.Block1 is
              pragma Style_Checks (Off);
              Template : constant string := "resources/block1.thtml";
              Tag1 : constant String := "TAG1";
              Tag2 : constant String := "TAG2";
              package Http is
                Param1 : constant String := "PARAM1";
                Param2 : constant String := "PARAM2";
              end Http;
            end Templates.Block1;

OPTIONS

       -d dir Search for template files in dir.

       -h     Display a summary of options.

       -o file
              Write the output to file.

       -e ext Process all files with extension  ext  that  are  in  the  input
              directory; consider these files as template files.

       -r     Recurse into subdirectories.

       -t file
              Use file as the output template file. The templates parser comes
              with an  example  for  such  a  file,  /usr/share/doc/templates-
              parser/examples/templates.tads,  that  you can adapt to your own
              needs.

       -v     Verbose mode.  This will output a warning when an http parameter
              has  a name made only of template parser tags, since no matching
              entry can then be created for it in the output file.

SEE ALSO

       templatespp(1)

       The Template Parsers User’s Guide in package libtemplates-parser-dev.

AUTHOR

       templates2ada was written by Pascal Obry <p.obry@wanadoo.fr> as part of
       the Ada Web Server.

       This manual page was written by Ludovic Brenta <lbrenta@debian.org> for
       Debian GNU/Linux.