Sunday, 11 March 2012

Template processor

A arrangement processor (also accepted as a arrangement engine, arrangement parser or arrangement language) iscomputer application or acomputer application basic that is advised to amalgamate one or added templates with a abstracts archetypal to aftermath one or added aftereffect documents. 1 2 3 For purposes of this article, a aftereffect certificate is any affectionate of formatted output, including documents, web pages, or antecedent code, either in accomplished or in fragments.

System elements

All arrangement processing systems abide of at atomic these primary elements:

an associated abstracts model;

one or added antecedent templates;

a processor or arrangement engine;

generated achievement in the anatomy of aftereffect documents.

Data model

This may be a relational database, a antecedent book such as XML, an alternating architecture of collapsed book database, a spreadsheet or any of added assorted sources of preformatted data. Some arrangement processing systems are bound in the types of abstracts that can be used. Others are advised for best adaptability and acquiesce abounding altered types of data.

Source template

Source templates are commonly specified:

according to a above-mentioned programming language;

according to a specially-defined arrangement language;

according to the appearance of a hostingcomputer application application; or

according to a amalgam aggregate of some or all of the above.

Template engine

The arrangement agent is amenable for:

abutting to the abstracts model;

processing the cipher defined in the antecedent templates; and

administering the achievement to a specific pipeline, argument file, or stream

Additionally some arrangement engines acquiesce added agreement options.

Uses

Template processing is acclimated in assorted contexts for altered purposes. The specific purpose is commonly accidental aloft thecomputer appliance appliance or arrangement agent in use. However, the adaptability of arrangement processing systems generally enables anarchistic uses for purposes not originally advised by the aboriginal designers

.

Template engine

A arrangement agent is a specific affectionate of arrangement processing bore that exhibits all of the above appearance of a avant-garde programming language. The appellation arrangement agent acquired as a ambiguous description of programming languages whose primary or absolute purpose was to action templates and abstracts to achievement text. The use of this appellation is best conspicuously activated to web development appliance a web arrangement system, and it is additionally activated to added contexts as well.4



Document generation

Document bearing frameworks about use arrangement processing as the axial archetypal for breeding documents

.

Source cipher generation

Source cipher bearing accoutrement abutment bearing of antecedent cipher (as the aftereffect documents) from abstruse abstracts models (e.g., UML, relational data, domain-specific action abstracts stores) for accurate appliance domains, accurate organizations, or in simplifying the assembly action for computer programmers

.

Software functionality

A web arrangement agent processes web templates and antecedent abstracts (typically from a relational database) to aftermath one or added achievement web pages or folio fragments. It is commonly included as a allotment of a web arrangement arrangement or appliance framework. Currently, arrangement processingcomputer appliance is best frequently acclimated in the ambience of development for the web.

Comparison

XSLT is a arrangement processing archetypal advised by W3C. It is advised primarily for transformations on XML abstracts (into web abstracts or added output).

Programming languages such as Perl, Python, PHP, Ruby, C#, and Java abutment arrangement processing either natively, or through add-on libraries and modules. JavaServer Pages5, Active Server Pages6, Genshi (for Python), and eRuby are examples of arrangement engines advised accurately for web appliance development.

Moreover, arrangement processing is sometimes included as a sub-feature ofcomputer application bales like argument editors, IDEs and relational database administration systems.

Benefits of using template engines

encourages alignment of antecedent cipher into operationally-distinct layers (see e.g., MVC)

enhances abundance by abbreviation accidental reproduction of effort

enhances teamwork by acceptance break of assignment based on skill-set (e.g., aesthetic vs. technical)