New XSL Optimization

Subject: New XSL Optimization
From: S Manimaran <mani@xxxxxxxxxxxxxxxxx>
Date: Wed, 23 Jun 1999 15:34:20 +0530 (IST)
	As my ME project, I have implemented a new technique for finding
the matching patterns of a XSL stylesheet at all the nodes of a XML
document. Basically I implemented the new technique for finding the
matching patterns over the Xt-XSL engine by James Clark which uses the
December-1998 XSL WD standard.
	Briefly the technique is as follows:

1. First I extracted out the match patterns to be matched from the XSL
stylesheet. Then the match patterns are converted to a context-free
grammar whose language is the matching trees in pre-order linearized form.

2. The input XML document is linearized by pre-order traversal of the XML

3. An Earley parser built using the Context free grammar devoloped in 1 is
given the linearized input got in 2. This earley parser reports all the
match patterns that are matched at all the nodes of the XML document. If
the match patterns have qualifiers, then the earley parser also outputs
the nodes at which the qualifiers has to be checked.

4. If there are qualifiers in a pattern, they are checked at the nodes
output by the earley parser before a match of the pattern is reported.

5. If there are more patterns matched at a node, the rule for resolving
according to the priority as mentioned in the XSL specification is used.

The implementation of this new technique is all built over the Xt-XSL
engine of James Clark. In my implementation the interface all communicate
to one another through intermediate files. That makes the running very
slower due to all the overheads involved. I think if all these overheads
are neglected, this one pass algorithm should run faster I believe. Please
note that the Earley parser traverses the whole XML document only once to
find all the matching patterns at all the nodes.

Also in my implementation I have used the SAXON patterns for simplicity.

Best wishes,

Indian Internet Chess Server IICS::telnet 5000
Join frenchlist by sending a mail to french@xxxxxxxxxxxxxxxxx
f16    Fingerprint16 = EC FF 4D 6C 3A 09 84 30  AA B5 F0 A2 38 A0 4C A4

 XSL-List info and archive:

Current Thread