Package net.sf.saxon.expr

## Interface ExportAgent

- All Known Implementing Classes:
    `AdjacentTextNodeMerger`, `AnalyzeString`, `AncestorQualifiedPattern`, `AnchorPattern`, `AndExpression`, `ApplyImports`, `ApplyNextMatchingTemplate`, `ApplyTemplates`, `ArithmeticExpression`, `ArithmeticExpression10`, `Assign`, `Assignation`, `AtomicSequenceConverter`, `Atomizer`, `AttributeCreator`, `AttributeGetter`, `AxisExpression`, `BasePatternWithPredicate`, `BasicUpdatingExpression`, `BinaryExpression`, `Block`, `BooleanExpression`, `BooleanExpressionPattern`, `BreakInstr`, `ByteCodeCandidate`, `CallTemplate`, `CardinalityChecker`, `CastableExpression`, `CastExpression`, `CastingExpression`, `Choose`, `Comment`, `CompareToConstant`, `CompareToIntegerConstant`, `CompareToStringConstant`, `CompiledExpression`, `ComponentTracer`, `ComputedAttribute`, `ComputedElement`, `ConditionalBlock`, `ConditionalSorter`, `ConsumingOperand`, `ContextItemExpression`, `Copy`, `CopyModifyExpression`, `CopyOf`, `CurrentGroupCall`, `CurrentGroupingKeyCall`, `CurrentGroupPattern`, `CurrentItemExpression`, `DeepUpdate`, `DeleteExpression`, `Doctype`, `DocumentInstr`, `DocumentSorter`, `DoInstr`, `EagerLetExpression`, `ElementCreator`, `EmptyTextNodeRemover`, `EquivalenceComparison`, `ErrorExpression`, `EvaluateInstr`, `ExceptPattern`, `Expression`, `FilterExpression`, `FirstItemExpression`, `FixedAttribute`, `FixedElement`, `FLWORExpression`, `ForEach`, `ForEachGroup`, `ForExpression`, `Fork`, `ForMemberExpression`, `FunctionCall`, `FunctionLiteral`, `FunctionSequenceCoercer`, `GeneralComparison`, `GeneralComparison10`, `GeneralComparison20`, `GeneralComparisonEE`, `GeneralNodePattern`, `GeneralPositionalPattern`, `GlobalVariableReference`, `HomogeneityChecker`, `IdentityComparison`, `IndexedFilterExpression`, `InsertExpression`, `InstanceOfExpression`, `Instruction`, `IntegerRangeTest`, `IntegratedFunctionCall`, `IntersectPattern`, `IsLastExpression`, `ItemChecker`, `ItemTypePattern`, `IterateInstr`, `JavaExtensionFunctionCall`, `JavaExtensionLibrary.UnresolvedExtensionFunctionCall`, `JAXPVariableReference`, `LastItemExpression`, `LetExpression`, `Literal`, `LocalParam`, `LocalParamBlock`, `LocalVariableReference`, `LookupAllExpression`, `LookupExpression`, `MergeInstr`, `Message`, `MultithreadedForEach`, `NamespaceConstructor`, `NegateExpression`, `NextIteration`, `NextMatch`, `NodeSetPattern`, `NodeTestPattern`, `NumberInstruction`, `NumberSequenceFormatter`, `ObjectLookupExpression`, `OnEmptyExpr`, `OnNonEmptyExpr`, `OrExpression`, `OuterForExpression`, `ParentNodeConstructor`, `PartialApply`, `Pattern`, `PatternThatSetsCurrent`, `ProcessingInstruction`, `PseudoExpression`, `QuantifiedExpression`, `RangeExpression`, `RenameExpression`, `ReplaceNodeExpression`, `ReplaceValueExpression`, `ResultDocument`, `RootExpression`, `SequenceInstr`, `SimpleExpression`, `SimpleNodeConstructor`, `SimplePositionalPattern`, `SimpleStepExpression`, `SingleItemFilter`, `SingletonAtomizer`, `SingletonIntersectExpression`, `SlashExpression`, `SortExpression`, `SortKeyDefinition`, `SortKeyDefinitionList`, `SourceDocument`, `SQLConnect.ConnectInstruction`, `SquareArrayConstructor`, `StaticFunctionCall`, `StreamingFunctionArgumentPattern`, `StreamInstr`, `StringLiteral`, `SubscriptExpression`, `SuppliedParameterReference`, `SwitchExpression`, `SystemFunctionCall`, `SystemFunctionCall.Optimized`, `TabulateMaps`, `TailCallLoop`, `TailExpression`, `TraceExpression`, `TryCatch`, `TupleExpression`, `UnaryExpression`, `UnionPattern`, `UniversalPattern`, `UntypedSequenceConverter`, `UseAttributeSet`, `UserFunctionCall`, `UserFunctionReference`, `ValueComparison`, `ValueOf`, `VariableReference`, `VennExpression`, `VennPattern`, `WherePopulated`, `While`, `XPathFunctionCall`

      public interface ExportAgent

  An export agent performs the job of exporting an expression to a SEF file. Normally the expression itself acts as its own export agent, and includes an export() method to do the exporting. In a few cases, notably literals containing function items, extra machinery is required to export a value, and a `UserFunctionReference.BoundUserFunction` in particular includes custom export methods to handle different cases.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `export​(ExpressionPresenter out)` | Diagnostic print of expression structure.

- - ### Method Detail

    - #### export

          void export​(ExpressionPresenter out)
               throws XPathException

      Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.
      Parameters:
        `out` - the expression presenter used to display the structure
      Throws:
        `XPathException` - if the export fails, for example if an expression is found that won't work in the target environment.