Aw: Re:  Re: passing a function as a parameter to transform()

"Martin Honnen [email protected]" <[email protected]> Fri, 14 May 2021 13:30:40 -0000
Newsgroups gmane.text.xml.xsl.general.mulberrytech
Message-ID <[email protected]>
<html>
 <head>
  <meta name=3D"viewport" content=3D"width=3Ddevice-width">
  <meta http-equiv=3D"Content-Type" content=3D"text/vnd.ui.insecure+html;ch=
arset=3Dutf-8">
 </head>
 <body style=3D"overflow-wrap:break-word; word-break: break-word;"><div cla=
ss=3D"mail_android_message" style=3D"line-height: 1; padding: 0.5em">The pa=
rameter passing needs to use the URI of the namespace xmlns:local=3D&quot;d=
ata:,dpc&quot; <a href=3D"http://e.g.QName">e.g.QName</a>(&#39;data:,dpc&#3=
9;,&#39;functionname&#39;)<br/><br/>--<br/>Diese Nachricht wurde von meinem=
 Android Mobiltelefon mit GMX Mail gesendet.</div><div class=3D"mail_androi=
d_quote" style=3D"line-height: 1; padding: 0.3em"><html><body>Am 14.05.21, =
15:06 schrieb &quot;Graydon [email protected]&quot; &lt;xsl-list-service@li=
sts.mulberrytech.com&gt;:</body></html><blockquote class=3D"gmail_quote" st=
yle=3D"margin: 0.8ex 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 20=
4); padding-left: 1ex;">

  On Fri, May 14, 2021 at 12:39:53PM -0000, Martin Honnen martin.honnen@gmx=
.de scripsit:
  <br> &gt; Use $local:function
  <br>=20
  <br> Progress!
  <br>=20
  <br> If I invoke the passed-as-a-parameter function as
  <br>=20
  <br> &lt;xsl:sequence select=3D"$local:tiny('away')" /&gt;
  <br>=20
  <br> in the stylesheet called by transform(), it changes the error.
  <br>=20
  <br> &lt;xsl:param as=3D"function(xs:string) as text()" name=3D"local:tin=
y" /&gt; now
  <br> returns the error
  <br>=20
  <br> Engine name: Saxon-EE 10.3 (External)
  <br> Severity: error
  <br> Description: A value must be supplied for parameter $local:tiny beca=
use there is no default value for the required type
  <br>=20
  <br> oXygen binds the error to the parameter definition in the called
  <br> stylesheet.
  <br>=20
  <br> Putting a default value in the select attribute via an anonymous
  <br> function appears to override the passed-in function. It also gets
  <br> impractically complex for a non-toy-example function, so that can't =
be
  <br> right.
  <br>=20
  <br> required=3D"no" does not help. Removing the "as" attribute changes t=
he
  <br> error to:
  <br>=20
  <br> The required item type of the target of the dynamic function call is=
 function(*); the supplied value "" is an atomic value
  <br>=20
  <br> so I conclude that I can't have the param rely on the definition of
  <br> whatever function gets passed to it.
  <br>=20
  <br> Trying to search for "function parameter" gets the parameters of
  <br> functions, rather than this case, so I haven't been able to find an
  <br> example.
  <br>=20
  <br> Thank you! being able to change the error produces hope.
  <br>=20
  <br> --=20
  <br> Graydon Saunders | [email protected]
  <br> =C3=9E=C3=A6s ofer=C3=A9ode, =C3=B0isses sw=C3=A1 m=C3=A6g.
  <br> -- Deor ("That passed, so may this.")
  <br>=20
  <br>=20
  <br>=20
 </blockquote></div></body>
</html>
<div><!-- begin bl.html.trailer -->
<div style=3D"border-top:1px solid black; background-color: #dddddd;
color: #888888; font-size: smaller; padding: 5px; text-align: center;
font-family: arial,verdana,arial,sans-serif; margin-top:1em; clear:
both; margin: auto">
<a href=3D"http://www.mulberrytech.com/xsl/xsl-list">
XSL-List info and archive</a>
<div style=3D"text-align:center;">
<a style=3D"color: blue;"
  href=3D"http://lists.mulberrytech.com/unsub/xsl-list/3329386"
>EasyUnsubscribe</a>
(<a style=3D"color: blue;"
href=3D"mailto:[email protected]?subject=3Dremove"
>by email</a>)
</div>
</div>
<!-- end bl.html.trailer --></div>