Re: [xsl] An efficient XSLT program that searches a large XML document for all occurrences of a string?

Subject: Re: [xsl] An efficient XSLT program that searches a large XML document for all occurrences of a string?
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 4 May 2024 09:37:39 -0000
On 03/05/2024 20:52, Piez, Wendell A. (Fed) wendell.piez@xxxxxxxx wrote:
>
>
> Hm. I guess on reflection it may be such an argument, but that doesnbt
> make it a good one. At least in view of other observable limits.
>
> Another counter argument is that although streaming might help to move
> the line, it hasnbt solved the problem of finite resources, it has
> only helped.
>
> So a real counter might be that XSLT should not have streaming at all,
> but we should have an alternative standard supporting a lightweight
> approach without those limits (it would have others instead).
>
>

If the commercial license to Saxon EE and XSLT 3 with streaming is a
problem then it is worth pointing out that the previous attempt to
produce a sreamable variant of XSLT called STX
https://stx.sourceforge.net/ continues to exist and has one open-source
implementation https://joost.sourceforge.net/ for Java, so with STX and
Joost you could do e.g.


<stx:transform xmlns:stx="http://stx.sourceforge.net/2002/ns"; version="1.0"
 B B B B B B B B B B B B B B  pass-through="none">

 B  <stx:param name="search-term" select="'DNKK'"/>

 B  <stx:template match="/">
 B B B  <results>
 B B B B B  <stx:process-children/>
 B B B  </results>
 B  </stx:template>

 B  <stx:template match="text()[. = $search-term]">
 B B B B  <result>
 B B B B B B  <stx:element name="{name(..)}">
 B B B B B B B B  <stx:value-of select="."/>
 B B B B B B  </stx:element>
 B B B B B B  <parent>
 B B B B B B B B  <stx:value-of select="name(../..)"/>
 B B B B B B  </parent>
 B B B B  </result>
 B  </stx:template>

</stx:transform>

Current Thread