xsl-list
[Top] [All Lists]

Re: [xsl] Keeping result-document() from writing to a file more than once?

2019-04-19 10:39:40
Yes--thanks for catching that--cut and paste error.

Cheers,

E.

--
Eliot Kimber
http://contrext.com
 

On 4/19/19, 10:10 AM, "Martin Honnen martin(_dot_)honnen(_at_)gmx(_dot_)de" 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

    On 19.04.2019 17:02, Eliot Kimber ekimber(_at_)contrext(_dot_)com wrote:
    
    > If you construct map entries for each use and then combine them into a 
single map using the "use-first" or "use-any" "duplicates" option then you can 
blindly process all the references and let the map-merge process produce a 
single list of elements, e.g.;
    >
    > <xsl:variable name="use-entries" as="map(*)*">
    >    <xsl:call-template name="find-all-conrefs"/>
    > </xsl:variable>
    >
    > The find-all-conrefs template generates maps, one for each id/element 
pair, which you can create with xsl:map or using the literal map constructor: 
"map{$key : $value}".
    >
    > Now make a single map:
    >
    > <xsl:variable name="use-map" as="map(*)"
    >    select="map:merge($use-entries, map{ 'duplicates' : 'use-any'}"
    > />
    >
    > And then process the entries to produce the result docs:
    >
    > <xsl:for-each select="map:keys($use-map)">
    >    <xsl:variable name="key" select="." as="xs:string"/>
    >    <xsl:call-template name="make-result-doc">
    >      <xsl:with-param name="key" as="xs:string" select="$key"/>
    >      <xsl:with-param name="key" as="element() " select="map:get($use-map, 
$key)" as="element() "/>
    
    Isn't that second parameter supposed to be named
            <xsl:with-param name="value" as="element() "
    select="map:get($use-map, $key)" as="element() "/>
    ?
    
    >    </xsl:call-template>
    > </xsl:for-each>
    >
    
    
    
--~----------------------------------------------------------------
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
--~--

<Prev in Thread] Current Thread [Next in Thread>