Re: [Saxon-JS 2] Callback template param value
Martynas Jusevičius <martynas-tyFqBaoSXPC1Z/[email protected]> Tue, 29 Sep 2020 21:18:52 +0200
| Newsgroups | gmane.text.xml.saxon.help |
|---|---|
| Message-ID | <CAE35VmxUihKPy_AfUpbd8dBJE3r4rbjXgO_zXfnmimZtJ08N7Q@mail.gmail.com> |
I went ahead and created a ticket: https://saxonica.plan.io/issues/4767 Set the priority to High :) That's what it is for us at least. On Tue, Sep 29, 2020 at 3:05 PM Martynas Jusevičius <[email protected]> wrote: > > Thanks, I can stop banging my head against the wall :) > > Should I open a ticket? > > Is there a workaround? > > On Tue, Sep 29, 2020 at 2:27 PM Michael Kay <[email protected]> wrote: > > > > I guess the value of the variable has changed between the xsl:schedule-action being evaluated, and the xsl:call-template being evaluated when the action completes, and we haven't been clear enough in the documentation (or indeed, in our own minds) about how that's supposed to work. > > > > Certainly it would be much better if we evaluated the with-param values at the time the action is scheduled, not at the time it completes, and we need to look into that. > > > > Thanks for pointing it out. > > > > Michael Kay > > Saxonica > > > > On 29 Sep 2020, at 12:04, Martynas Jusevičius <[email protected]> wrote: > > > > Hi, > > > > I don't get how this happens -- why is the same param value passed to > > the callback template when I would expect 3 different values? > > > > <xsl:template> > > ... > > <xsl:variable name="facet-bgps" > > select="$select-xml//json:map[json:string[@key = 'type'] = > > 'bgp']/json:array[@key = > > 'triples']/json:map[not(starts-with(json:string[@key = 'predicate'], > > '?'))][starts-with(json:string[@key = 'object'], '?')]" > > as="element()*"/> > > <xsl:for-each select="$facet-bgps"> > > <xsl:sort select="ac:property-label(json:string[@key = 'predicate'])"/> > > <xsl:variable name="bgp" select="." as="element()"/> > > ... > > <xsl:variable name="results-uri" select="..." as="xs:anyURI"/> > > > > <xsl:message> > > PREDICATE: <xsl:value-of select="$bgp/json:string[@key = 'predicate']"/> > > </xsl:message> > > > > <ixsl:schedule-action http-request="map{ 'method': 'GET', > > 'href': $results-uri, 'headers': map{ 'Accept': > > 'application/sparql-results+xml' } }"> > > <xsl:call-template name="onFacetValueResultsLoad"> > > <xsl:with-param name="container-id" select="$container-id"/> > > <xsl:with-param name="bgp" select="$bgp"/> > > </xsl:call-template> > > </ixsl:schedule-action> > > </xsl:for-each> > > </xsl:template> > > > > <xsl:template name="onFacetValueResultsLoad"> > > <xsl:context-item as="map(*)" use="required"/> > > <xsl:param name="container-id" as="xs:string"/> > > <xsl:param name="bgp" as="element()"/> > > > > <xsl:message> > > PREDICATE IN CALLBACK: <xsl:value-of select="$bgp/json:string[@key > > = 'predicate']"/> > > </xsl:message> > > ... > > > > This is the output I get: > > > > xsl:message: > > PREDICATE: http://purl.uniprot.org/core/organism > > xsl:message: > > PREDICATE: http://purl.uniprot.org/core/encodedBy > > xsl:message: > > PREDICATE: http://www.w3.org/2000/01/rdf-schema#label > > xsl:message: > > PREDICATE IN CALLBACK: http://www.w3.org/2000/01/rdf-schema#label > > xsl:message: > > PREDICATE IN CALLBACK: http://www.w3.org/2000/01/rdf-schema#label > > xsl:message: > > PREDICATE IN CALLBACK: http://www.w3.org/2000/01/rdf-schema#label > > > > 3 different values in the calling template, the same 1 value in the > > callback template. > > How is that possible? > > > > > > Martynas > > > > > > _______________________________________________ > > saxon-help mailing list archived at http://saxon.markmail.org/ > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/saxon-help > > > > > > _______________________________________________ > > saxon-help mailing list archived at http://saxon.markmail.org/ > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/saxon-help _______________________________________________ saxon-help mailing list archived at http://saxon.markmail.org/ [email protected] https://lists.sourceforge.net/lists/listinfo/saxon-help