On Thu, Jul 20, 2000 at 12:36:45PM -0700, Dmitry Beransky wrote:
> At 10:56 AM 7/20/00, you wrote:
> >See this link
> >
> >http://www.asptoday.com/articles/20000712.htm
> 
> Very interesting (now I want to buy the enitre book and see what else is in 
> there). There are some aspects of the new ASP I really like especially 
> those targeted at improvements of the workflow (content/code 
> separation).  It looks to me, though, that this improvement comes at the 
> cost of parsing HTML document into a DOM tree (although, I've always wished 
> there were a cheap way to manipulate the DOM of a document on the 
> server).  I've also noticed that the markup used in the excerpt is a weird 
> combination of HTML and XHTML (those <P /> tags).  I wonder if ASP+ pages 
> are [can be?] required to be written in XHTML to speed up the parsing time...

Yeah, I don't much care for the runat="server" way of specifying that
content should be handled by the server.  I would think that they
could have used some enclosing tag to denote that the forms were to be
preprocessed...

Some of the stuff they talk about is already handled by Apache::ASP
(such as intelligently dealing with session state..)  Script_OnStart hooks,
Debug Tracing, etc, etc..

BTW I find that the XMLSubsMatch included in the latest Apache::ASP
simpler and cleaner way of doing much of ASP+ (especially this
business of the special asp: namespace..)

I can say

  XMLSubsMatch Apps:\w+

This converts all calls for tags like <Apps:foo /> or
<Apps:bar>...</Apps:bar> to equivalent functions in the Apps package.

Very, very useful.  

It will only get more powerful when compile-time tags are added.  This
will give a big performance boost for code that doesn't need to run on
every request, or allow for tags to insert code into the compiled
Apache::ASP page..

For example, you could define a tag named <Util:isloggedin>, and use
it like such:

  <Util:isloggedin>
    Welcome back 
  </Util:isloggedin>

You'd have this on the backend:

  sub Util::isloggedin {
    my ($args, $text);

    return(qq( if ($Session->{isloggedin}) { ) . 
           qq(   $Response->Write(' ) .
              $text
           qq( } );
          );
  }


almost closure like, if you ask me...





-- 
Paul Lindner
[EMAIL PROTECTED]
Red Hat Inc.

Reply via email to