## net.sf.saxon.event
Interface LocationProvider

All Known Subinterfaces:
  InstructionInfo, SaxonLocator, SourceLocationProvider

All Known Implementing Classes:
  AbsentExtensionElement, AdjacentTextNodeMerger, Adjust, Aggregate, AnalyzeString, AnalyzeStringFn, ApplyImports, ApplyTemplates, ArithmeticExpression, ArithmeticExpression10, Assign, Assignation, AtomicSequenceConverter, Atomizer, AttributeCreator, AttributeSet, Available, AvailableEnvironmentVariables, Average, AxisExpression, BaseURI, BasicUpdatingExpression, BinaryExpression, Block, BooleanExpression, BooleanFn, BreakInstr, CallTemplate, CardinalityChecker, CastableExpression, CastExpression, Choose, CodepointEqual, CodepointsToString, CollatingFunction, Collection, Comment, Compare, CompareToIntegerConstant, CompileTimeFunction, Component, ComputedAttribute, ComputedElement, Concat, ConditionalSorter, Contains, ContextCall, ContextItemExpression, Copy, CopyModifyExpression, CopyOf, CopyOfFn, Count, Current, CurrentDateTime, CurrentGroup, CurrentGroupingKey, CurrentItemExpression, Data, DateTimeConstructor, DeepEqual, DefaultCollation, DeleteExpression, DistinctValues, Doc, DocAvailable, Doctype, DocumentFn, DocumentInstr, DocumentSender, DocumentSorter, DOMSender, EagerLetExpression, ElementCreator, Empty, EmptyTextNodeRemover, EndsWith, EquivalenceComparison, Error, ErrorExpression, EscapeURI, EvaluateInstr, Exists, Expression, ExpressionLocation, ExpressionParser.TemporaryContainer, ExtensionInstruction, FilterExpression, FilterFn, FirstItemExpression, FixedAttribute, FixedElement, FoldLeftFn, FoldRightFn, ForceCase, ForEach, ForEachGroup, ForExpression, Fork, FormatDate, FormatInteger, FormatNumber, FunctionArity, FunctionCall, FunctionItemExpression, FunctionName, FunctionSequenceCoercer, GeneralComparison, GeneralComparison10, GeneralComparison20, GeneralComparisonEE, GeneralVariable, GetEnvironmentVariable, GlobalParam, GlobalVariable, HeadFn, Id, IdentityComparison, Idref, IndexedFilterExpression, IndexedLookupExpression, IndexOf, InScopePrefixes, Insert, InsertExpression, InstanceOfExpression, Instruction, InstructionDetails, IntegerRangeTest, IntegratedFunctionCall, IsLastExpression, ItemChecker, IterateInstr, JavaExtensionFunctionCall, KeyDefinition, KeyFn, Lang, Last, LastItemExpression, LazyExpression, LetExpression, Literal, LiteralResultElement, LocalParam, LocalParamBlock, LocalVariable, LocalVariableReference, LocationCopier, LocationMap, MapFn, MapPairsFn, Matches, MemoFunction, Message, Minimax, MultithreadedForEach, NamePart, NamespaceConstructor, NamespaceForPrefix, NegateExpression, NextIteration, NextMatch, Nilled, NormalizeSpace, NormalizeUnicode, NumberFn, NumberInstruction, NumericPromoter, OuterForExpression, ParentNodeConstructor, ParentNodeExpression, ParseXml, PartialApply, PathExpression, PatternMatchExpression, PatternSponsor, Position, Procedure, ProcessingInstruction, ProcessRegexMatchInstruction, PromoteToDouble, PromoteToFloat, Put, QNameFn, QuantifiedExpression, RangeExpression, RegexGroup, Remove, RenameExpression, Replace, ReplaceNodeExpression, ReplaceValueExpression, ResolveQName, ResolveURI, ResultDocument, Reverse, Root, RootExpression, Rounding, SaxonAssign, SaxonCallTemplate, SaxonCollation, SaxonDoctype, SaxonEntityRef, SaxonImportQuery, SaxonWhile, Serialize, SimpleContentConstructor, SimpleExpression, SimpleNodeConstructor, SingleNodeExpression, SingletonAtomizer, SingletonComparison, SingletonIntersectExpression, SlashExpression, SnapshotFn, SortExpression, SQLClose, SQLColumn, SQLConnect, SQLDelete, SQLExecute, SQLInsert, SQLQuery, SQLUpdate, StartsWith, StaticBaseURI, StaxBridge, StaxToEventBridge, StreamingApplyTemplates, StreamingCopy, StringFn, StringJoin, StringLength, StringLiteral, StringToCodepoints, StyleElement, Subsequence, Substring, SubstringAfter, SubstringBefore, Sum, SuppliedParameterReference, SwitchExpression, SystemFunction, SystemProperty, TailCallLoop, TailExpression, TailFn, Template, TinyTreeEventIterator, Tokenize, Trace, TraceExpression, TraceInstruction, TraceWrapper, Translate, TreatFn, TryCatch, TupleExpression, TupleSorter, UnaryExpression, Unordered, UnparsedEntity, UnparsedText, UntypedAtomicConverter, UriCollection, UseAttributeSets, UserFunction, UserFunctionCall, ValueComparison, ValueOf, VariableReference, VennExpression, While, WithParam, XPathFunctionCall, XQueryFunction, XSLAnalyzeString, XSLApplyImports, XSLApplyTemplates, XSLAttribute, XSLAttributeSet, XSLBreak, XSLBreakOrContinue, XSLCallTemplate, XSLCatch, XSLCharacterMap, XSLChoose, XSLComment, XSLCopy, XSLCopyOf, XSLDecimalFormat, XSLDocument, XSLElement, XSLEvaluate, XSLFallback, XSLForEach, XSLForEachGroup, XSLFork, XSLFunction, XSLGeneralIncorporate, XSLGeneralVariable, XSLIf, XSLImport, XSLImportSchema, XSLInclude, XSLIterate, XSLKey, XSLLeafNodeConstructor, XSLMatchingSubstring, XSLMessage, XSLMode, XSLNamespace, XSLNamespaceAlias, XSLNextIteration, XSLNextMatch, XSLNumber, XSLOnCompletion, XSLOtherwise, XSLOutput, XSLOutputCharacter, XSLParam, XSLPerformSort, XSLPreserveSpace, XSLProcessingInstruction, XSLResultDocument, XSLSequence, XSLSort, XSLStylesheet, XSLTemplate, XSLText, XSLTry, XSLValueOf, XSLVariable, XSLVariableDeclaration, XSLWhen, XSLWithParam

    public interface LocationProvider

LocationProvider: this interface represents an object that provides the location of elements in a source document or instructions in a stylesheet or query. A locationProvider may be passed down the Receiver pipeline as part of the PipelineConfiguration object; on the input pipeline, this will be a `SaxonLocator` object, on the output pipeline, it will be a `LocationMap`

A LocationProvider that represents locations in the source document from which the events are derived (as distinct from locations in a query or stylesheet of the instructions causing the events) will also implement the marker interface `SourceLocationProvider`

Method Summary
`int` `getColumnNumber(long locationId)` Get the column number within the document, entity, or module containing a particular location
`int` `getLineNumber(long locationId)` Get the line number within the document, entity or module containing a particular location
`String` `getSystemId(long locationId)` Get the URI of the document, entity, or module containing a particular location

Method Detail

### getSystemId

    String getSystemId(long locationId)

  Get the URI of the document, entity, or module containing a particular location

  Parameters:
    `locationId` - identifier of the location in question (as passed down the Receiver pipeline)
  Returns:
    the URI of the document, XML entity or module. For a SourceLocationProvider this will be the URI of the document or entity (the URI that would be the base URI if there were no xml:base attributes). In other cases it may identify the query or stylesheet module currently being executed.

### getLineNumber

    int getLineNumber(long locationId)

  Get the line number within the document, entity or module containing a particular location

  Parameters:
    `locationId` - identifier of the location in question (as passed down the Receiver pipeline)
  Returns:
    the line number within the document, entity or module, or -1 if no information is available.

### getColumnNumber

    int getColumnNumber(long locationId)

  Get the column number within the document, entity, or module containing a particular location

  Parameters:
    `locationId` - identifier of the location in question (as passed down the Receiver pipeline)
  Returns:
    the column number within the document, entity, or module, or -1 if this is not available

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.