Next: , Previous: , Up: Top   [Contents]


1 Higher-Order Functions

function: xs:sequence* f:apply (fnref as item()+)

xmlns:f="http://mikegerwitz.com/hoxsl/apply"

Definition:

<function name="f:apply">
  <param name="fnref"  as="item()+" />

  <sequence select="f:partial( $fnref, () )" />
</function>
function: xs:sequence* f:apply (fnref as item()+, arg1 as xs:sequence*)

xmlns:f="http://mikegerwitz.com/hoxsl/apply"

Definition:

<function name="f:apply">
  <param name="fnref"  as="item()+" />
  <param name="arg1" />

  <sequence select="f:partial( $fnref, $arg1 )" />
</function>
function: xs:sequence* f:apply (fnref as item()+, arg1 as xs:sequence*, arg2 as xs:sequence*)

xmlns:f="http://mikegerwitz.com/hoxsl/apply"

Definition:

<function name="f:apply">
  <param name="fnref"  as="item()+" />
  <param name="arg1" />
  <param name="arg2" />

  <sequence select="f:partial( $fnref, ($arg1, $arg2) )" />
</function>
function: xs:sequence* f:apply (fnref as item()+, arg1 as xs:sequence*, arg2 as xs:sequence*, arg3 as xs:sequence*)

xmlns:f="http://mikegerwitz.com/hoxsl/apply"

Definition:

<function name="f:apply">
  <param name="fnref"  as="item()+" />
  <param name="arg1" />
  <param name="arg2" />
  <param name="arg3" />

  <sequence select="f:partial( $fnref, ($arg1, $arg2, $arg3) )" />
</function>
function: xs:sequence* f:apply (fnref as item()+, arg1 as xs:sequence*, arg2 as xs:sequence*, arg3 as xs:sequence*, arg4 as xs:sequence*)

xmlns:f="http://mikegerwitz.com/hoxsl/apply"

Definition:

<function name="f:apply">
  <param name="fnref"  as="item()+" />
  <param name="arg1" />
  <param name="arg2" />
  <param name="arg3" />
  <param name="arg4" />

  <sequence select="f:partial( $fnref, ($arg1, $arg2, $arg3, $arg4) )" />
</function>
function: xs:sequence* f:apply (fnref as item()+, arg1 as xs:sequence*, arg2 as xs:sequence*, arg3 as xs:sequence*, arg4 as xs:sequence*, arg5 as xs:sequence*)

xmlns:f="http://mikegerwitz.com/hoxsl/apply"

Definition:

<function name="f:apply">
  <param name="fnref"  as="item()+" />
  <param name="arg1" />
  <param name="arg2" />
  <param name="arg3" />
  <param name="arg4" />
  <param name="arg5" />

  <sequence select="f:partial( $fnref, ($arg1, $arg2, $arg3, $arg4, $arg5) )" />
</function>
function: xs:sequence* f:apply (fnref as item()+, arg1 as xs:sequence*, arg2 as xs:sequence*, arg3 as xs:sequence*, arg4 as xs:sequence*, arg5 as xs:sequence*, arg6 as xs:sequence*)

xmlns:f="http://mikegerwitz.com/hoxsl/apply"

Definition:

<function name="f:apply">
  <param name="fnref"  as="item()+" />
  <param name="arg1" />
  <param name="arg2" />
  <param name="arg3" />
  <param name="arg4" />
  <param name="arg5" />
  <param name="arg6" />

  <sequence select="f:partial( $fnref, ($arg1, $arg2, $arg3, $arg4, $arg5, $arg6) )" />
</function>
function: xs:sequence* f:apply (fnref as item()+, arg1 as xs:sequence*, arg2 as xs:sequence*, arg3 as xs:sequence*, arg4 as xs:sequence*, arg5 as xs:sequence*, arg6 as xs:sequence*, arg7 as xs:sequence*)

xmlns:f="http://mikegerwitz.com/hoxsl/apply"

Definition:

<function name="f:apply">
  <param name="fnref"  as="item()+" />
  <param name="arg1" />
  <param name="arg2" />
  <param name="arg3" />
  <param name="arg4" />
  <param name="arg5" />
  <param name="arg6" />
  <param name="arg7" />

  <sequence select="f:partial( $fnref, ($arg1, $arg2, $arg3, $arg4, $arg5, $arg6, $arg7) )" />
</function>
function: xs:sequence* f:apply (fnref as item()+, arg1 as xs:sequence*, arg2 as xs:sequence*, arg3 as xs:sequence*, arg4 as xs:sequence*, arg5 as xs:sequence*, arg6 as xs:sequence*, arg7 as xs:sequence*, arg8 as xs:sequence*)

xmlns:f="http://mikegerwitz.com/hoxsl/apply"

Definition:

<function name="f:apply">
  <param name="fnref"  as="item()+" />
  <param name="arg1" />
  <param name="arg2" />
  <param name="arg3" />
  <param name="arg4" />
  <param name="arg5" />
  <param name="arg6" />
  <param name="arg7" />
  <param name="arg8" />

  <sequence select="f:partial( $fnref, ($arg1, $arg2, $arg3, $arg4, $arg5, $arg6, $arg7, $arg8) )" />
</function>
match: f:apply on *

Abort processing on unknown function reference

This will occur if no application template is defined for the given function reference. Override it if you wish to perform autoloading or what have you.

If you generate the nullary and application template using apply-gen, then you won’t have to worry about this.

<template mode="f:apply"  match="*"  priority="1">
  <message terminate="yes">
    <text>error: cannot apply unknown function reference: </text>
    <copy-of select="." />
  </message>
</template>

Next: , Previous: , Up: Top   [Contents]