(As the good Mr. Champion notes, I missent this mail) ABS ----- Forwarded message from Mike.Champion@SoftwareAG-USA.com ----- Date: Mon, 13 Aug 2001 10:13:38 -0400 From: Mike.Champion@SoftwareAG-USA.com Reply-To: Mike.Champion@SoftwareAG-USA.com Subject: RE: Application Design To: alaric@alaric-snell.com Hi Al, I didn't see this on the list ... did you send it to just me by mistake? I think it makes a VERY good point ... XSLT works if you can get away with its built-in functions like sum() and count(), but if you need to do something like a standard deviation, you're outta luck, or at least you're in for an ugly time. Mike > -----Original Message----- > From: Alaric Snell [mailto:alaric@alaric-snell.com] > Sent: Monday, August 13, 2001 7:50 AM > To: Mike.Champion@SoftwareAG-USA.com > Subject: RE: Application Design > > > Quoting Mike.Champion@SoftwareAG-USA.com: > > > > If only the world were so simple! > > > > So, let's make it that simple :~) Maybe XSLT isn't what we > really need, > > but > > maybe there's a subset of XSLT that hits the 80/20 point, or maybe > > there's a > > more elegant alternative that does what we hoped XSLT would do. > > I like your thinking. > > For web designers, I've seen their needs as a very basic > templating language > that is just an HTML or XML document with special elements to: > > 1) Insert value of (expression) here > 2) If (condition expression) do (this) else (this) > 3) For each value in (list expression) do (this) > > Those "expressions" include normal number/string arithmetic > plus the power of > function-calling. The usual functions are supplied with the > core system, plus a > few functions to query SQL databases and XML documents and so > on. The backend > developers ideally provide functions to handle all those > details, but for simple > systems and simple parts of systems, being able to go direct > to the database > comes in handy. > > The expressions are dead simple. Simpler than XPath. Easier > to extend (XPath > allows for extensions with namespaced functions, but there's > no easy way to > exploit this in the implementations I've seen). From the application > programmer's perspective, there must be a language binding > standard like DOM > that explains how to invoke templates and how to set up a > "template engine" and > register functions in it for the template authors to use. > > What it definitely LACKS is templates and their matching. > THis thing is not for > converting DocBook into HTML. This thing is for displaying a > page of search > results etc. Converting DocBook into HTML is what XSLT is good at. > > I wrote a content management system based upon this > architecture once and > everyone loves using it, so it's a workable approach. > > > And > > as Michael Rys pointed out, as XSLT gets embedded deep into OS or DB > > or > > server architectures, we start to see some serious performance > > improvements > > over procedural ASP/JSP/CGI/etc. alternatives. > > I'm real keen to know how this works and to see some figures. > I'm sure like > isn't being compared with like! > > > I'd be very interested in hearing from people who have tried to > > implement > > more complex XSLT applications. When does XSLT generally > hit the wall? > > *shudder* There are certain kinds of computation it can't do. > Note that it has > sum() and count() functions, so you can do totals and > arithmetic means, but if > they want a standard deviation it gets a little harder all of > a sudden. And the > whole problem of the input XML document - in a Web > application, the designers > are always changing their minds about what to put on what > page. With my > templating system approach (that HAS no initial document, > just functions that > return values on demand) they get to choose what data they > want, rather than > having to ask the guy who writes the code that generates the > XML data to change > what data are there before the designers can update their > XSLT to display said > data. > > > Is > > there an alternative (given than you have XML data as the > input) other > > than > > just writing code? (For example, does anyone other than Al > Snell find > > PHP > > templates to be a more powerful, easier to use alternative?) > > http://www.php.net/ > http://www.php.net/usage.php > > > How do > > people > > feel about XQuery's output reformatting capabilities as an > 80/20 point > > for > > real-world web applications? > > Not yet played :-( > > ABS > > -- > Alaric B. Snell > http://www.alaric-snell.com/ http://RFC.net/ > http://www.warhead.org.uk/ > Any sufficiently advanced technology can be emulated in software > ----- End forwarded message ----- -- Alaric B. Snell http://www.alaric-snell.com/ http://RFC.net/ http://www.warhead.org.uk/ Any sufficiently advanced technology can be emulated in softwareTitle: RE: Application Design
Hi Al,
I didn't see this on the list ... did you send it to just me by mistake?
I think it makes a VERY good point ... XSLT works if you can get away with its built-in functions like sum() and count(), but if you need to do something like a standard deviation, you're outta luck, or at least you're in for an ugly time.
Mike
> -----Original Message-----
> From: Alaric Snell [mailto:alaric@alaric-snell.com]
> Sent: Monday, August 13, 2001 7:50 AM
> To: Mike.Champion@SoftwareAG-USA.com
> Subject: RE: Application Design
>
>
> Quoting Mike.Champion@SoftwareAG-USA.com:
>
> > > If only the world were so simple!
> >
> > So, let's make it that simple :~) Maybe XSLT isn't what we
> really need,
> > but
> > maybe there's a subset of XSLT that hits the 80/20 point, or maybe
> > there's a
> > more elegant alternative that does what we hoped XSLT would do.
>
> I like your thinking.
>
> For web designers, I've seen their needs as a very basic
> templating language
> that is just an HTML or XML document with special elements to:
>
> 1) Insert value of (expression) here
> 2) If (condition expression) do (this) else (this)
> 3) For each value in (list expression) do (this)
>
> Those "expressions" include normal number/string arithmetic
> plus the power of
> function-calling. The usual functions are supplied with the
> core system, plus a
> few functions to query SQL databases and XML documents and so
> on. The backend
> developers ideally provide functions to handle all those
> details, but for simple
> systems and simple parts of systems, being able to go direct
> to the database
> comes in handy.
>
> The expressions are dead simple. Simpler than XPath. Easier
> to extend (XPath
> allows for extensions with namespaced functions, but there's
> no easy way to
> exploit this in the implementations I've seen). >From the application
> programmer's perspective, there must be a language binding
> standard like DOM
> that explains how to invoke templates and how to set up a
> "template engine" and
> register functions in it for the template authors to use.
>
> What it definitely LACKS is templates and their matching.
> THis thing is not for
> converting DocBook into HTML. This thing is for displaying a
> page of search
> results etc. Converting DocBook into HTML is what XSLT is good at.
>
> I wrote a content management system based upon this
> architecture once and
> everyone loves using it, so it's a workable approach.
>
> > And
> > as Michael Rys pointed out, as XSLT gets embedded deep into OS or DB
> > or
> > server architectures, we start to see some serious performance
> > improvements
> > over procedural ASP/JSP/CGI/etc. alternatives.
>
> I'm real keen to know how this works and to see some figures.
> I'm sure like
> isn't being compared with like!
>
> > I'd be very interested in hearing from people who have tried to
> > implement
> > more complex XSLT applications. When does XSLT generally
> hit the wall?
>
> *shudder* There are certain kinds of computation it can't do.
> Note that it has
> sum() and count() functions, so you can do totals and
> arithmetic means, but if
> they want a standard deviation it gets a little harder all of
> a sudden. And the
> whole problem of the input XML document - in a Web
> application, the designers
> are always changing their minds about what to put on what
> page. With my
> templating system approach (that HAS no initial document,
> just functions that
> return values on demand) they get to choose what data they
> want, rather than
> having to ask the guy who writes the code that generates the
> XML data to change
> what data are there before the designers can update their
> XSLT to display said
> data.
>
> > Is
> > there an alternative (given than you have XML data as the
> input) other
> > than
> > just writing code? (For example, does anyone other than Al
> Snell find
> > PHP
> > templates to be a more powerful, easier to use alternative?)
>
> http://www.php.net/
> http://www.php.net/usage.php
>
> > How do
> > people
> > feel about XQuery's output reformatting capabilities as an
> 80/20 point
> > for
> > real-world web applications?
>
> Not yet played :-(
>
> ABS
>
> --
> Alaric B. Snell
> http://www.alaric-snell.com/ http://RFC.net/
> http://www.warhead.org.uk/
> Any sufficiently advanced technology can be emulated in software
>