Subject: Re: [xsl] Keeping result-document() from writing to a file more than once? From: "Eliot Kimber ekimber@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 19 Apr 2019 15:39:35 -0000 |
Yes--thanks for catching that--cut and paste error. Cheers, E. -- Eliot Kimber http://contrext.com o;?On 4/19/19, 10:10 AM, "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: On 19.04.2019 17:02, Eliot Kimber ekimber@xxxxxxxxxxxx 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>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Keeping result-document(), Martin Honnen martin | Thread | [xsl] How to avoid careless mistake, David Sewell dsewell |
Re: [xsl] Keeping result-document(), Martin Honnen martin | Date | [xsl] How to avoid careless mistake, David Sewell dsewell |
Month |