You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axkit-dev@xml.apache.org by ba...@apache.org on 2002/09/10 18:27:31 UTC

cvs commit: xml-axkit/lib/Apache/AxKit/Language XSP.pm

barries     2002/09/10 09:27:31

  Modified:    lib/Apache/AxKit/Language XSP.pm
  Log:
  Note XSP singleton limitation upfront, where it will be seen,
  and also recomment Perl module taglib implementations over
  LogicSheet (upstream XSLT) implementations.
  
  Revision  Changes    Path
  1.22      +30 -1     xml-axkit/lib/Apache/AxKit/Language/XSP.pm
  
  Index: XSP.pm
  ===================================================================
  RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Language/XSP.pm,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- XSP.pm	13 Aug 2002 09:23:30 -0000	1.21
  +++ XSP.pm	10 Sep 2002 16:27:30 -0000	1.22
  @@ -1161,6 +1161,35 @@
   each and every step in your transformation process is namespaces aware
   and uses the correct namespace declarations.
   
  +Also, use only one XSP processor in a pipeline.  XSP is powerful enough
  +that you should only need one stage, and this implementation allows only
  +one stage.  If you have two XSP processors, perhaps in a pipeline that
  +looks like:
  +
  +    ... => XSP => XSLT => XSLT => XSP => ...
  +
  +it is pretty likely that the functionality of the intermediate XSLT
  +stages can be factored in to either upstream or downstream XSLT:
  +
  +    ... => XSLT => XSP => XSLT => ...
  +
  +This design is likely to lead to a clearer and more maintainable
  +implementation, if only because generating code, especially embedded
  +Perl code, in one XSP processor and consuming it in another is often
  +confusing and even more often a symptom of misdesign.
  +
  +Likewise, you may want to lean towards using Perl taglib modules instead
  +of upstream XSLT "LogicSheets".  Upstream XSLT LogicSheets work fine,
  +mind you, but using Perl taglib modules results in a simpler pipeline,
  +simpler configuration (just load the taglib modules in httpd.conf, no
  +need to have the correct LogicSheet XSLT page included whereever you
  +need that taglib), a more flexible coding environment, the ability to
  +pretest your taglibs before installing them on a server, and better
  +isolation of interface (the taglib API) and implementation (the Perl
  +module behind it).  LogicSheets work, and can be useful, but are often
  +the long way home.  That said, people used to the Cocoon environment may
  +prefer them.
  +
   =head2 Result Code
   
   You can specify the result code of the request in two ways. Both actions