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
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--