You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Matt Sergeant <ma...@sergeant.org> on 2000/04/18 18:14:34 UTC

[ANNOUNCE] Apache::XPath::NotXSLT

I've made a version of my Non-XSLT xpath template processor available as
an Apache module. It uses some standard apache caching tricks to speed up
delivery, and I can actually get a whopping 9 requests per second out of
it (try that with an XSLT processor!). I'm making my site use it now.

http://xml.sergeant.org/

-- 
<Matt/>

Fastnet Software Ltd. High Performance Web Specialists
Providing mod_perl, XML, Sybase and Oracle solutions
Email for training and consultancy availability.
http://sergeant.org http://xml.sergeant.org


Re: [ANNOUNCE] Apache::XPath::NotXSLT

Posted by Matt Sergeant <ma...@sergeant.org>.
On Tue, 18 Apr 2000, Matt Sergeant wrote:

> I've made a version of my Non-XSLT xpath template processor available as
> an Apache module. It uses some standard apache caching tricks to speed up
> delivery, and I can actually get a whopping 9 requests per second out of
> it (try that with an XSLT processor!). I'm making my site use it now.
> 
> http://xml.sergeant.org/

I've actually made an update of this, which caches the result of parsing
the files in a local file in a .notxslt-cache directory on your
server. I'm now seeing upwards of 50 requests per second. There are more
tweaks I could do, but I'm once again out of tuits. However it should be
noted that the 9 requests per second figure is a good demonstration of
XML::XPath's raw speed - as that was parsing the template against the
source tree each time.

Simon, I don't know if you want to mention this on XML-Hack.

Below is also a brief syntax of the template system:

<?xml-stylesheet href="/default.notxslt" type="notxslt"?> - must be
present in the source file so we can identify the stylesheet to use.

Attribute: xmlns:t="http://sergeant.org/notxslt" - must be present in the
top level element of the stylesheet.

<t:select match="expr"/> - outputs the node(s) found by expr in the
source document.

<t:for-each match="expr">...</t:for-each> - loop through the children of
the nodes found by expr, executing the template instructions between the
tag with those nodes as the context node.

<t:exec match="expr"/> - just executes the expression, ignoring the
results. Very useful for setting variables (this template system is _not_
stateless like XSLT).

<t:verbatim match="expr"/> - output the node(s) found by expr in the
source document verbatim - i.e. no (<>'"&) escaping.

-- 
<Matt/>

Fastnet Software Ltd. High Performance Web Specialists
Providing mod_perl, XML, Sybase and Oracle solutions
Email for training and consultancy availability.
http://sergeant.org http://xml.sergeant.org