Package com.saxonica.functions.extfn

## Class PedigreeFn

- java.lang.Object
- - net.sf.saxon.functions.AbstractFunction
  - - net.sf.saxon.functions.SystemFunction
    - - com.saxonica.functions.extfn.PedigreeFn

- All Implemented Interfaces:
    `Callable`, `Function`, `GroundedValue`, `Item`, `Sequence`

      public class PedigreeFn
      extends SystemFunction

  The saxon:pedigree function, new in Saxon 9.9.

  The function is applied to a map or array that has a pedigree, typically because it was selected by downwards selection within a tree where pedigrees are maintained. It returns information about the pedigree of the map or array, that is, information about its position within the containing tree.

  This information is returned in the form of a map that contains the following entries.

  `container` - the containing map or array, or an empty sequence if the supplied map or array is the root of the pedigree tree

  `index` - if the container is an array, this entry is an integer holding the 1-based index of the supplied map or array within the containing array

  `key` - if the container is a map, this entry is an atomic value holding the key of the entry in this map that contains the supplied map or array.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PedigreeFn()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ZeroOrOne<MapItem>` | `call​(XPathContext context, Sequence[] arguments)` | Invoke the function

    - ### Methods inherited from class net.sf.saxon.functions.SystemFunction

      `dependsOnContextItem, dynamicCall, equals, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getCardinality, getCompilerName, getContextNode, getDescription, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getIntegerBounds, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, getStreamerName, importAttributes, isTrustedResultType, makeCall, makeFunction, makeFunctionCall, makeOptimizedFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString, typeCheckCaller`

    - ### Methods inherited from class net.sf.saxon.functions.AbstractFunction

      `atomize, deepEquals, effectiveBooleanValue, getAnnotations, getStringValue, getStringValueCS, isArray, isMap, makeNewContext, simplify, typeCheck`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface net.sf.saxon.om.Function

      `getGenre`

    - ### Methods inherited from interface net.sf.saxon.om.GroundedValue

      `asIterable, concatenate, containsNode, materialize`

    - ### Methods inherited from interface net.sf.saxon.om.Item

      `getLength, head, isStreamed, itemAt, iterate, reduce, subsequence`

    - ### Methods inherited from interface net.sf.saxon.om.Sequence

      `makeRepeatable`

- - ### Constructor Detail

    - #### PedigreeFn

          public PedigreeFn()

  - ### Method Detail

    - #### call

          public ZeroOrOne<MapItem> call​(XPathContext context,
                                         Sequence[] arguments)
                                  throws XPathException

      Description copied from interface: `Function`
      Invoke the function
      Parameters:
        `context` - the XPath dynamic evaluation context
        `arguments` - the actual arguments to be supplied
      Returns:
        the result of invoking the function
      Throws:
        `XPathException` - if a dynamic error occurs within the function