Class XPathAxe

java.lang.Object
com.saxonica.functions.qt4.ixml.XPathAxe
All Implemented Interfaces:
org.nineml.coffeegrinder.trees.Axe

public class XPathAxe extends Object implements org.nineml.coffeegrinder.trees.Axe
The Axe used by CoffeeSacks to choose between ambiguous alternatives.

At the moment, this is not a specialist axe. To implement more general selections (random ones, for example), some provision would have to be made for creating either a "normal" or a specialist axe. TBD.

  • Field Details

  • Constructor Details

    • XPathAxe

      public XPathAxe(Processor processor, org.nineml.coffeefilter.InvisibleXmlParser parser, XmlForest forest, String input)
  • Method Details

    • setChooseFunction

      public void setChooseFunction(XPathContext context, AbstractFunction chooseFunction)
    • isSpecialist

      public boolean isSpecialist()
      Specified by:
      isSpecialist in interface org.nineml.coffeegrinder.trees.Axe
    • select

      public List<org.nineml.coffeegrinder.parser.Family> select(org.nineml.coffeegrinder.trees.ParseTree tree, org.nineml.coffeegrinder.parser.ForestNode forestNode, int count, List<org.nineml.coffeegrinder.parser.Family> choices)
      Specified by:
      select in interface org.nineml.coffeegrinder.trees.Axe
    • wasAmbiguousSelection

      public boolean wasAmbiguousSelection()
      Specified by:
      wasAmbiguousSelection in interface org.nineml.coffeegrinder.trees.Axe
    • forArborist

      public void forArborist(org.nineml.coffeegrinder.trees.Arborist arborist)
      Specified by:
      forArborist in interface org.nineml.coffeegrinder.trees.Axe