/usr/share/doc/libtemplates-parser-doc/html/introduction.html is in libtemplates-parser-doc 17.2-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1. Introduction — Templates_Parser: Templates Engine 17.2 documentation</title>
<link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '17.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="shortcut icon" href="_static/favicon.ico"/>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="2. Tags" href="tags.html" />
<link rel="prev" title="Templates Parser: A template engine" href="index.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="tags.html" title="2. Tags"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="index.html" title="Templates Parser: A template engine"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Templates_Parser: Templates Engine 17.2 documentation</a> »</li>
</ul>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="index.html">
<img class="logo" src="_static/adacore_transparent.png" alt="Logo"/>
</a></p>
<h4>Previous topic</h4>
<p class="topless"><a href="index.html"
title="previous chapter">Templates Parser: A template engine</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="tags.html"
title="next chapter">2. Tags</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/introduction.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="introduction">
<span id="id1"></span><h1>1. Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">ΒΆ</a></h1>
<p>The templates parser package has been designed to parse files and to
replace some specific tags into these files by some specified values.</p>
<p>The main goal was to ease the development of Web servers. In CGI
(<em>Common Gateway Interface</em>) mode you have to write the HTML page in
the program (in Ada or whatever other languages) by using some specific
libraries or by using only basic output functions like Ada <cite>Put_Line</cite> for
example. This is of course not mandatory but by lack of a good library
every Web development end up doing just that.</p>
<p>The main problems with this approach are:</p>
<ul class="simple">
<li>It is painful to have to recompile the program each time you have
a slight change to do in the design (center an image, change the border
width of a table...)</li>
<li>You have the design and the program merged together. It means that
to change the design you must know the Ada language. And to change the
Ada program you need to understand what is going on with all these
inline HTML command.</li>
<li>You can’t use the nice tools to generate your HTML.</li>
</ul>
<p>With the templates parser package these problems are gone. The code and
the design is <strong>completely</strong> separated. This is a very important
point. PHP or JSP have tried this but most of the time you have the
script embedded into the Web template. And worst you need to use another
language just for your Web development.</p>
<ul class="simple">
<li>The HTML page is separated from the program code. Then you can
change the design without changing the code. Moreover when you fix the
code you don’t have to handle all the specific HTML output. And you do
not risk to break the design.</li>
<li>It is easier to work on the design and the program at the same time
using the right people for the job.</li>
<li>It reduces the number of <em>edit/build/test</em> cycles. Writing HTML
code from a program is error prone.</li>
<li>It is possible to use standard tools to produce the HTML.</li>
<li>You don’t have to learn a new language.</li>
<li>The script is Ada, so here you have the benefit of all the Ada power.</li>
</ul>
<p>In fact, the Ada program now simply computes some values, gets some data
from a database or whatever and then calls the templates parser to output
a page with the data displayed. To the templates parser you just pass
the template file name and an associative table.</p>
<p>It is even more convenient to have different displays with the same set
of data. You just have to provide as many templates as you like.</p>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="tags.html" title="2. Tags"
>next</a> |</li>
<li class="right" >
<a href="index.html" title="Templates Parser: A template engine"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Templates_Parser: Templates Engine 17.2 documentation</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2002-2017, AdaCore.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
</div>
</body>
</html>
|