|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Accumulator use
Hello !
I try to cache values who are in external files referenced from my
source file :
source.xml
------------
<root><input href="1.xml"/><input href="2.xml"/>...</root>
n.xml
------
<root type="typeN">...</root>
I want to create a map(xs:anyUri, xs:string), where key is the external
file URI, and value is always /*/@type in the file
External files may be huge, and I'd like to stream them. I create an
accumulator, stream input files using this accumulator.
<xsl:accumulator name="acc" as="map(xs:string, xs:string)"
initial-value="map{}">
<xsl:accumulator-rule match="*[@value]">
<xsl:sequence select="map:put($value, ./local-name(),
xs:string(./@value))"/>
</xsl:accumulator-rule>
</xsl:accumulator>
<xsl:mode name="m" streamable="yes"/>
<xsl:template match="/">
<xsl:stream href="../../test/resources/entries.xml"
use-accumulators="acc">
<xsl:apply-templates mode="m"/>
</xsl:stream>
<!-- do here something that uses the accumulator -->
</xsl:template>
How can I access to the accumulator after stream processing ? I'd like
to write the map content to the output. Is it possible ?
Best regards,
Christophe
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








