HTX

http://search.cpan.org/~tale/HTML-Template-HTX-0.07/HTX.pm

HTML-Template-HTX is een parser gemaakt om snel sequentiële data te kunnen tonen in HTML. Het maakt het ook makkelijk om met meerdere mensen aan een website te werken. Het heeft veel minder geheugen nodig dan HTML-Template en is veel sneller. Perl heeft transparante UTF8 codering. Voor je HTML file wil je dit echter nooit. Je wil altijd UTF8 of niet. HTX maakt het zelfs in Perl 5.6 mogelijk dit goed aan te geven.

Wat is HTX

HTX is een fileformat. Het was de voorloper van ASP van Microsoft. Het maakt dan ook gebruik van tags tussen <% en %> .

Voorbeelden

Om uit te leggen wat HTX kan volgen hier vier voorbeelden:


Example 1:
#!/usr/bin/perl

use strict;
use HTML::Template::HTX;

my $htx = HTML::Template::HTX->new('template.htx', -count) or die "Oops!";

$htx->print_header(1);

foreach(qw(I used to care but Things Have Changed)) {
  $htx->param(
    'Name'    => $_,
  );
  $htx->print_detail;
}

$htx->print_footer;
$htx->close;


<HTML><HEAD><TITLE>Example 1</TITLE>

</HEAD><BODY>

<H2>Example 1:</H2>

<%begindetail%>
  <%NUMBER%>. <%Name%><BR>
<%enddetail%>

</BODY></HTML>

Voorbeeld 1

Example 2:

<HTML><HEAD><TITLE>Example 2</TITLE>

</HEAD><BODY>

<H2>Example 2:</H2>

<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0>
<%begindetail%>
  <TR<%if NUMBER? eq 0%> BGCOLOR=F8F8F8<%endif%>><TD NOWRAP VALIGN=TOP>
  <%NUMBER%>.</TD><TD><%Name%></TD></TR>
<%enddetail%>
</TABLE>

</BODY></HTML>

Voorbeeld 2

Example 3:
#!/usr/bin/perl

use strict;
use HTML::Template::HTX;

my $htx = HTML::Template::HTX->new('template.htx', -count) or die "Oops!";

$htx->param('text' => 'Just some text');

while(my $section = $htx->print_header(1)) {
  if($section eq 'DATA') {
    foreach(qw(I used to care but Things Have Changed)) {
      $htx->param(
        'Name'    => $_,
      );
      $htx->print_detail;
    }
    next;
  }
  if($section eq 'ADS') {
    foreach(qw(We need ads on this site)) {
      $htx->param(
        'Name'    => $_,
      );
      $htx->print_detail;
    }
  }
}

$htx->close;


<HTML><HEAD><TITLE>Example 3</TITLE>

</HEAD><BODY>

<H2>Example 3:</H2>

<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0>
<%detailsection DATA%>
<%begindetail%>
  <TR<%if NUMBER? eq 0%> BGCOLOR=F8F8F8<%endif%>><TD NOWRAP VALIGN=TOP>
  <%NUMBER%>.</TD><TD><%Name%></TD></TR>
<%enddetail%>
</TABLE>

<B><%text%></B><BR>

<TABLE WIDTH=100% BORDER=1 CELLPADDING=0 CELLSPACING=0 BGCOLOR=EEEEEE>
<%detailsection ADS%>
<%begindetail%>
  <TR<%if NUMBER? eq 0%> BGCOLOR=F8F8F8<%endif%>><TD NOWRAP VALIGN=TOP>
  <%NUMBER%>.</TD><TD><%Name%></TD></TR>
<%enddetail%>
</TABLE>

</BODY></HTML>

Voorbeeld 3

Example 4:

<HTML><HEAD><TITLE>Example 4</TITLE>

</HEAD><BODY>

<H2>Example 4:</H2>

<TABLE WIDTH=100% BORDER=1 CELLPADDING=0 CELLSPACING=0 BGCOLOR=EEEEEE>
<%detailsection ADS%>
<%begindetail%>
  <TR<%if NUMBER? eq 0%> BGCOLOR=F8F8F8<%endif%>><TD NOWRAP VALIGN=TOP>
  <%NUMBER%>.</TD><TD><%Name%></TD></TR>
<%enddetail%>
</TABLE>

<B><%text%></B><BR>

<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0>
<%detailsection DATA%>
<%begindetail%>
  <TR<%if NUMBER? eq 0%> BGCOLOR=F8F8F8<%endif%>><TD NOWRAP VALIGN=TOP>
  <%NUMBER%>.</TD><TD><%Name%></TD></TR>
<%enddetail%>
</TABLE>

</BODY></HTML>

Voorbeeld 4

Een echt voorbeeld van HTX is http://www.sweden.tv/blog/ waar een RSS file wordt omgezet in een HTML file door middel van HTX. Een ander voorbeeld van HTX en z'n snelheid is de Phrase zoeker op http://www.taletn.com/music/lyrics/. Ook het bestelsysteem op http://www.memorybar.com/memorybar/order/ werkt met HTX.