Brat Wizard wrote:
 >
> Josh- why not make it a simple directive, like a pragma-- then it could be 
> specified inline by the end-user whenever (and if-ever) they need it one way 
> or the other.
> 
> Perhaps something like:
> 
> $Apache::ASP::XMLSubsPostProc = 1
>

Right.  I would never take away the current style/method of XMLSubs,
just add to it like you suggest.

> <my:sub>
>   <my:nestedsub><%=$blech%> __TOKEN1__</my:nestedsub>
>   <%=$foobar%> __TOKEN2__
> </my:sub>
> 
> You could wait until after the first my:sub had been called to interpret the 
> rest-- just process everything post. In my thinking __TOKEN1__ and __TOKEN2__ 
> would get resolved by the renderer function on the first pass and 
> <my:nestedsub>, $blech, and $foobar, would get processed immediately 
> afterwards-- after the tokens had been substituted.
> 
> How would that work out do you think?
>

So then the parent XMLSubs output would be then evaluated
at runtime as ASP script automatically by the system.  That
is an interesting way of looking at doing the pre-processing.

The only problem with this model is that runtime parsing/eval
of the code would be expensive.  The other preprocessing model
that I was considering would not do ANY inner code substitution
on its own, leaving this to the XMLSubs definition to do if
it wanted to.

I am not sure which one I would lean to more, but they are both
interesting models.

>>my $pgimage = My::PgImage->new(
>>      ASP => $asp,
>>      Attrib => { pg=>"__PG__" sku=>"__SKU__" },
>>      Parent => $pgloop
>>};
>>$pgimage->execute(\'');
>>$pgloop->execute(\$final_data_output_within);
> 
> 
> 
>>This pre/post processing model would allow pgimage to
>>work with $self->{Parent}{sth}, or pgloop could populate
>>its own data in this way.  Output from pgimage could be
>>trapped and inlined, passed into the execute() function
>>for pgloop.
> 
> 
> Hmm- sounds a little complicated. Not to mention you are exposing a lot of the 
> $asp guts to the programmer/user that way and the goal should be the exact 
> opposite-- to abstract that away from the programmer and toward the 
> web-monkey/end-user...?
> 
>

This was just an example of how the preprocessing model would
get executed.  This would be more for the XMLSubs definer to
worry about.  I ideally to the end user, things would just work.
I believe that XMLSubs will have to grow in complexity to be
able to do really doo things that other platform taglib functionality
offers.  I will be looking hard as JSP & AxKit before I do any
next generation XMLSubs for sure.

> 
> Actually I was thinking something very similar but for another reason-- if you 
> use delayed processing, like I describe above, conditionals actually get 
> pretty easy I think. You just build them into the my:sub "$body" text and let 
> the post-processing pick them up.
>

I see the power of the preprocessing + execute output during post
processing model.  The speed issue is the only one I have to get
over here.  I'll look at some taglib libraries that I would like
to implement in Apache::ASP & see what kind of power we need here.
It may be that some things are only possible with the kind of
power that you suggest, and its a very interesting idea giving
the XMLSubs programmer the ability to rewrite the code on the fly.

> All you need to do is make the one adjustment to handle <% %> subs post 
> instead of pre and I think the render function can handle the inbetween 
> stuff. The __TOKEN__ format is very comfortable and intuitive to me in this 
> instance. It seems very obvious that they are serving as placeholders for 
> yet-to-be-in-scope data. And by delaying the <% %> processing, you allow 
> substitution to occur _before_ conditional blocks take place.
> 
> 
> What is your take on all this? 
> 
> I think we've just descibed a very functional, useable processing paradigm 
> that fits with the current "feel" of the asp system, and with the single 
> exception of moving <% %> substitution to post-processing, you don't have to 
> make any other radical changes to the Apache::ASP framework or api (at least 
> I don't think you do).
> 
> Your thoughts?
> 

Pretty good stuff.  I'll definately be following up on this later
when I go to implement, so stay tuned.

Regards,

Josh
________________________________________________________________
Josh Chamas, Founder                   phone:925-552-0128
Chamas Enterprises Inc.                http://www.chamas.com
NodeWorks Link Checking                http://www.nodeworks.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to