perl-docs-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From per...@apache.org
Subject svn commit: r618166 - /perl/modperl/docs/trunk/src/docs/tutorials/tmpl/comparison/comparison.pod
Date Mon, 04 Feb 2008 04:03:43 GMT
Author: perrin
Date: Sun Feb  3 20:03:42 2008
New Revision: 618166

URL: http://svn.apache.org/viewvc?rev=618166&view=rev
Log:
Remove AxKit and add AxKit2, remove useless matrix at bottom of document

Modified:
    perl/modperl/docs/trunk/src/docs/tutorials/tmpl/comparison/comparison.pod

Modified: perl/modperl/docs/trunk/src/docs/tutorials/tmpl/comparison/comparison.pod
URL: http://svn.apache.org/viewvc/perl/modperl/docs/trunk/src/docs/tutorials/tmpl/comparison/comparison.pod?rev=618166&r1=618165&r2=618166&view=diff
==============================================================================
--- perl/modperl/docs/trunk/src/docs/tutorials/tmpl/comparison/comparison.pod (original)
+++ perl/modperl/docs/trunk/src/docs/tutorials/tmpl/comparison/comparison.pod Sun Feb  3 20:03:42
2008
@@ -142,11 +142,11 @@
 using object calls or in-line Perl.  This would be using it in a
 callback style.
 
-HTML::Template and some of the AxKit XML processors are fairly rigid
-about insisting on a pipeline approach.  Neither provide methods for
+HTML::Template is fairly rigid
+about insisting on a pipeline approach.  It doesn't provide methods for
 calling back into Perl code during the HTML formatting stage; you have
-to do the work before running the template.  The authors of these
-tools consider this a feature since it prevents developers from
+to do the work before running the template.  The author of the
+module consider this a feature since it prevents developers from
 cheating on the separation of application code and presentation.
 
 =head2 Languages
@@ -164,8 +164,7 @@
 addition to) in-line Perl.  These will typically have just enough
 syntax to handle variable substitution, conditionals, and looping.
 HTML::Template and Template Toolkit are popular systems using this
-approach.  AxKit straddles the fence, providing both a (not-so-)
-mini-language - XSLT - and an in-line Perl approach - XPathScript.
+approach.
 
 Here's how a typical discussion of the merits of these approaches might go:
 
@@ -331,11 +330,9 @@
 
 =head3 Output Caching
 
-Caching is the key to good performance in many web systems, and some
-of these tools provide user-controlled caching of output.  This is one
-of the major features of both Mason and AxKit.  AxKit can cache at the
-page level, while Mason also offers fine-grained caching of components
-within the page.
+While caching of output is outside the scope of most templating systems, Mason
+includes it as a standard feature.  In addition to page-level caching, Mason also 
+offers fine-grained caching of output from sections within a page.
 
 =head3 Form Handling
 
@@ -535,72 +532,6 @@
 supports direct use of the Perl debugger on Embperl templates, and
 provides performance improvements.
 
-=head2 Apache::AxKit
-
-AxKit is the first mod_perl page generation system to be built from the
-ground up around XML.  Technically, AxKit itself is not a templating
-tool but rather a framework for stringing together different modules
-that generate and transform XML data.  In fact, it can optionally use
-Template Toolkit as an XML transformation language.  However, it
-deserves coverage here since it is also the home of some templating
-tools that are not represented elsewhere.
-
-In its simplest form, AxKit maps XML files to XSL stylesheets which it
-can process using commonly available XSLT modules like XML::XSLT or
-XML::Sablotron.  The rules for mapping a stylesheet to a request are
-very flexible, and they can incorporate query strings, cookies, and
-other attributes of the request.  The idea is that you can use this
-feature to handle a wide variety of clients with differing display
-capabilities by choosing the right stylesheet.
-
-Recognizing that not everyone is a fan of XSL's somewhat obtuse
-syntax, Matt Sergeant has provided an alternate stylesheet language
-called XPathScript.  XPathScript allows you to write a stylesheet
-using text with embedded Perl code.  This is similar to the other
-embedded Perl templating tools, but the focus is on using the built in
-XPath functions for querying an XML document and manipulating the
-retrieved data.  XPathScript can also be used in a declarative
-fashion, specifying the formatting of particular elements in the XML
-input.  For example this snippet will change all C<E<lt>fooE<gt>> tags
-in an XML document to BAR in the output::
-
-  <%
-    $t->{'foo'}{pre}   = 'BAR';
-    $t->{'foo'}{post}    = '';
-    $t->{'foo'}{showtag} = 0;
-  %>
-  <%= apply_templates() %>
-
-By using XPathScript's include function (which looks just like SSI),
-you can build up libraries of useful transformations that use this
-technique.
-
-This is all well and good if you have a bunch of XML files sitting on
-a disk somewhere, but what about dynamic content?  AxKit handles this
-by allowing you to substitute a different data source for the default
-file-based one.  This can include running some dynamic code on each
-request to generate the XML data that will be transformed.  The
-distribution includes a module for doing this called XSP.  XSP is a
-language for building an XML DOM using in-line Perl and tag libraries.
-The tag libraries are specified as stylesheets which can turn XML tags
-into Perl code.  This is demonstrated through the included SQL tag
-library, which allows you to write an XSP page using XML tags which
-will connect to a database, execute queries, and generate an XML
-document with the results.
-
-AxKit has some nice performance boosts built into it.  It can cache
-the full output of a page and serve it as a static file on future
-requests.  It can also compress output to speed up downloads for
-browsers that understand gzip encoding.  These can be done with other
-systems, but they require you to setup additional software .  With
-AxKit, you just enable them in the configuration file.
-
-If all of these languages, tag libraries, and stylesheets sound
-intimidating to you, AxKit may be overkill for your project.  However,
-AxKit has the advantage of being built on approved W3C standards, and
-many of the skills used in developing for it carry over to other
-languages and tools.
-
 =head2 Apache::ASP
 
 Apache::ASP started out as a port of Microsoft's Active Server Pages
@@ -804,6 +735,23 @@
 
 And now, a few honorable mentions:
 
+=head2 AxKit2
+
+Previous versions of this document covered Apache::AxKit.  However, the coverage
+was not very good and that project has since been replaced by AxKit2.
+
+Like its predecessor, AxKit2 is all about XML.  It is more of a framework than a
+templating system per se, but includes support for multiple templating systems
+within it.  The systems supported in the core release include XSLT, TAL (see
+the notes on Petal and Template::TAL below), XSP, an XML-based mini-language
+which can be extended with your own tags, and facilities for writing custom tag
+libraries.
+
+Rather than short-change AxKit2 here with an inadequate description, I would
+encourage people who are intrigued by what they've heard so far to go and check
+out AxKit2 on CPAN.  If you like working with XML, this may be a very good fit
+for you.
+
 =head2 HTML_Tree
 
 As mentioned earlier, HTML Tree uses a fairly unique method of
@@ -933,180 +881,6 @@
 simple regex parsing and doesn't need to eval any in-line Perl code.
 Almost everything else mentioned here will add tenths of seconds to
 each page in compilation time alone.
-
-=head1 Matrix
-
-To help you choose a system, I'll summarize the basic characteristics
-of the major systems along the decision points I've explained in the
-beginning of the article.  Keep in mind that in many cases a system
-can be used in more than one way, and I've simply shown the dominant
-method as seen in the documentation and real world use.  You should
-not eliminate options based on this chart without reading the more
-detailed explanations above.
-
-=for html
-  <table  border="0" cellpadding="1" cellspacing="1">
-    <tr>
-      <th class="table-title-bg"><br></th>
-      <th class="table-title-bg">
-      <div class="table-title">
-        Application Framework
-      </div>
-      </th>
-      <th class="table-title-bg">
-      <div class="table-title">
-        Pipeline or Callback
-      </div>
-      </th>
-      <th class="table-title-bg">
-      <div class="table-title">
-        Parsing Method
-      </div>
-      </th>
-      <th class="table-title-bg">
-      <div class="table-title">
-        Language
-      </div>
-      </th>
-    </tr>
-    <tr>
-      <td class="table-bg">
-        HTML::Mason
-      </td>
-      <td class="table-bg">
-        Framework
-      </td>
-      <td class="table-bg">
-        Callback
-      </td>
-      <td class="table-bg">
-        Compiled
-      </td>
-      <td class="table-bg">
-        Perl
-      </td>
-    </tr>
-    <tr>
-      <td class="table-bg">
-        Template Toolkit
-      </td>
-      <td class="table-bg">
-        Just Templates
-      </td>
-      <td class="table-bg">
-        Pipeline
-      </td>
-      <td class="table-bg">
-        Compiled
-      </td>
-      <td class="table-bg">
-        Mini-Language
-      </td>
-    </tr>
-    <tr>
-      <td class="table-bg">
-        Apache::ASP
-      </td>
-      <td class="table-bg">
-        Framework
-      </td>
-      <td class="table-bg">
-        Callback
-      </td>
-      <td class="table-bg">
-        Compiled
-      </td>
-      <td class="table-bg">
-        Perl and XSL
-      </td>
-    </tr>
-    <tr>
-      <td class="table-bg">
-        HTML::Embperl
-      </td>
-      <td class="table-bg">
-        Framework
-      </td>
-      <td class="table-bg">
-        Callback
-      </td>
-      <td class="table-bg">
-        Compiled
-      </td>
-      <td class="table-bg">
-        Perl
-      </td>
-    </tr>
-    <tr>
-      <td class="table-bg">
-        SSI
-      </td>
-      <td class="table-bg">
-        Just Templates
-      </td>
-      <td class="table-bg">
-        Callback
-      </td>
-      <td class="table-bg">
-        Repeated Parse
-      </td>
-      <td class="table-bg">
-        Mini-Language
-      </td>
-    </tr>
-    <tr>
-      <td class="table-bg">
-        AxKit
-      </td>
-      <td class="table-bg">
-        Framework
-      </td>
-      <td class="table-bg">
-        Pipeline
-      </td>
-      <td class="table-bg">
-        Compiled or Cached Parse Tree
-      </td>
-      <td class="table-bg">
-        Perl and XSL and Mini-Language(s)
-      </td>
-    </tr>
-    <tr>
-      <td class="table-bg">
-        HTML::Template
-      </td>
-      <td class="table-bg">
-        Just Templates
-      </td>
-      <td class="table-bg">
-        Pipeline
-      </td>
-      <td class="table-bg">
-        Cached Parse Tree
-      </td>
-      <td class="table-bg">
-        Mini-Language
-      </td>
-    </tr>
-    <tr>
-      <td class="table-bg">
-        Text::Template
-      </td>
-      <td class="table-bg">
-        Just Templates
-      </td>
-      <td class="table-bg">
-        Pipeline
-      </td>
-      <td class="table-bg">
-        Compiled
-      </td>
-      <td class="table-bg">
-        Perl
-      </td>
-    </tr>
-  </table>
-
 
 =head1 Updates
 



---------------------------------------------------------------------
To unsubscribe, e-mail: docs-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: docs-cvs-help@perl.apache.org


Mime
View raw message