Ok it seems to be working now, but I ran into a fundamental problem
with stylesheets such as the mkay.xsl. The SQL Extension is set up
to always contain the row-set/column-header nodes in memory and only
stream through the row-set/row nodes. This way you can always refer
back to the column-header for each row. The mkay.xsl sample builds
a table where the /column-header/@column-label is used to build the
table header. then the /row-set/row is traversed for the data. The
problem
is that the first XPath statement /row-set/column-header traverses the
whole tree to find any other column-header elements inside the row-set
data. So any XPath statement will cause the result-set to be completely
exhausted.

This brings up another real world problem. In Streaming or non streaming

mode, data acquisition is designed to be incremental. i.e. As you walk
through
the rows, the data is fetched only then. Now I see that any XPath
statement
is will traverse the whole tree trying to satisfy the query. So even
fetching
a column header could cause a delay with a large query regardless of
how the streaming mode is set. :(

Any thoughts on solving this ?
Is there a simple (or not so simple) way to test the context to see if
it will
intersect the row and if so return DTM.NULL when it gets to the row
elements ??
I could also add behavior to enableRowSet(), disableRowSet() but that
sounds
like a hack.

John G





Reply via email to