Package net.sf.saxon.s9api

## Interface Location

- All Superinterfaces:
    `org.xml.sax.Locator`, `javax.xml.transform.SourceLocator`
  All Known Subinterfaces:
    `ComponentReference`, `InstructionInfo`, `MutableNodeInfo`, `NodeInfo`, `SiblingCountingNode`, `SteppingNode<N>`, `VirtualNode`
  All Known Implementing Classes:
    `AbsentExtensionElement`, `AbstractNodeWrapper`, `AbstractVirtualNode`, `Accumulator`, `Actor`, `AllModelGroup`, `AnnotationParent`, `Assertion`, `AttributeDecl`, `AttributeGroupDecl`, `AttributeGroupReference`, `AttributeImpl`, `AttributeLocation`, `AttributeSet`, `AttributeUse`, `AttributeWildcard`, `AxiomAttributeWrapper`, `AxiomDocumentNodeWrapper`, `AxiomElementNodeWrapper`, `AxiomLeafNodeWrapper`, `AxiomParentNodeWrapper`, `ChoiceModelGroup`, `CommentImpl`, `CompoundMode`, `DataElement`, `DocumentImpl`, `DOM4JNodeWrapper`, `DominoAttr`, `DominoNode`, `DOMNodeWrapper`, `Edge.MaxOccursParticle`, `ElementDecl`, `ElementImpl`, `ElementParticle`, `ElementWildcard`, `ExtensionInstruction`, `FieldOrSelector`, `FleetingDocumentNode`, `FleetingElementNode`, `FleetingNode`, `FleetingParentNode`, `GlobalParam`, `GlobalVariable`, `IdentityConstraint`, `IdentityConstraintReference`, `IdentityField`, `IdentitySelector`, `IXSLRemoveAttribute`, `IXSLRemoveProperty`, `IXSLScheduleAction`, `IXSLSetAttribute`, `IXSLSetProperty`, `IXSLSetStyle`, `JDOM2NodeWrapper`, `Key`, `KeyDefinition`, `KeyRef`, `LiteralResultElement`, `Loc`, `MemoFunction`, `Mode`, `ModeEE`, `ModelGroup`, `ModelGroupDefinition`, `ModelGroupParticle`, `ModePE`, `NamedTemplate`, `NamespaceNode`, `NodeImpl`, `Notation`, `Orphan`, `ParentNodeImpl`, `Particle`, `PreparedSchema`, `ProcInstImpl`, `RebasedNode`, `ReceivingContentHandler.LocalLocator`, `SaxonArray`, `SaxonArrayMemberInst`, `SaxonAssign`, `SaxonChange`, `SaxonDeepUpdate`, `SaxonDelete`, `SaxonDo`, `SaxonDoctype`, `SaxonEntityRef`, `SaxonForEachMember`, `SaxonImportQuery`, `SaxonInsert`, `SaxonItemType`, `SaxonParam`, `SaxonPreprocess`, `SaxonRename`, `SaxonReplace`, `SaxonTabulateMaps`, `SaxonUpdate`, `SaxonWhile`, `SchemaElement`, `SchemaStructure`, `SequenceModelGroup`, `SimpleComponentReference`, `SimpleMode`, `SimpleTypeDefinition`, `SingleNamespaceSchema`, `SnapshotNode`, `SpaceStrippedNode`, `SQLClose`, `SQLColumn`, `SQLConnect`, `SQLDelete`, `SQLExecute`, `SQLInsert`, `SQLQuery`, `SQLUpdate`, `StreamableUserFunction`, `StyleElement`, `TemplateRule`, `TemplateRuleEE`, `TextFragmentValue`, `TextImpl`, `TextValueTemplateNode`, `TinyAttributeImpl`, `TinyDocumentImpl`, `TinyElementImpl`, `TinyNodeImpl`, `TinyParentNodeImpl`, `TinyTextImpl`, `TinyTextualElement`, `TinyTextualElement.TinyTextualElementText`, `TreeWalker`, `TypeAlternative`, `TypeReference`, `TypeStrippedNode`, `UndeclaredVariable`, `Unique`, `UnknownElement`, `UserAtomicType`, `UserComplexType`, `UserDefinedType`, `UserFunction`, `UserListType`, `UserSimpleType`, `UserUnionType`, `ValidationFailure`, `VirtualCopy`, `VirtualUntypedCopy`, `WhitespaceTextImpl`, `Wildcard`, `XOMDocumentWrapper`, `XOMNodeWrapper`, `XPathParser.NestedLocation`, `XQueryExpression`, `XQueryExpressionEE`, `XQueryFunction`, `XSDAlternative`, `XSDAnnotation`, `XSDAny`, `XSDAnyAttribute`, `XSDAssert`, `XSDAttribute`, `XSDAttributeGroup`, `XSDComplexContent`, `XSDComplexContentRestriction`, `XSDComplexType`, `XSDCompositor`, `XSDDefaultOpenContent`, `XSDDocumentation`, `XSDElement`, `XSDExtension`, `XSDFacet`, `XSDFieldOrSelector`, `XSDGroup`, `XSDIdentityConstraint`, `XSDImport`, `XSDInclude`, `XSDList`, `XSDNotation`, `XSDOpenContent`, `XSDOverride`, `XSDRedefine`, `XSDSchema`, `XSDSimpleContent`, `XSDSimpleContentRestriction`, `XSDSimpleType`, `XSDSimpleTypeRestriction`, `XSDUnion`, `XSLAccept`, `XSLAcceptExpose`, `XSLAccumulator`, `XSLAccumulatorRule`, `XSLAnalyzeString`, `XSLApplyImports`, `XSLApplyTemplates`, `XSLAssert`, `XSLAttribute`, `XSLAttributeSet`, `XSLBreak`, `XSLBreakOrContinue`, `XSLCallTemplate`, `XSLCatch`, `XSLCharacterMap`, `XSLChoose`, `XSLComment`, `XSLContextItem`, `XSLCopy`, `XSLCopyOf`, `XSLDecimalFormat`, `XSLDocument`, `XSLElement`, `XSLEvaluate`, `XSLExpose`, `XSLFallback`, `XSLForEach`, `XSLForEachGroup`, `XSLFork`, `XSLFunction`, `XSLGeneralIncorporate`, `XSLGeneralVariable`, `XSLGlobalContextItem`, `XSLGlobalParam`, `XSLGlobalVariable`, `XSLIf`, `XSLImport`, `XSLImportSchema`, `XSLInclude`, `XSLIterate`, `XSLKey`, `XSLLeafNodeConstructor`, `XSLLocalParam`, `XSLLocalVariable`, `XSLMap`, `XSLMapEntry`, `XSLMatchingSubstring`, `XSLMerge`, `XSLMergeAction`, `XSLMergeKey`, `XSLMergeSource`, `XSLMessage`, `XSLMode`, `XSLModuleRoot`, `XSLNamespace`, `XSLNamespaceAlias`, `XSLNextIteration`, `XSLNextMatch`, `XSLNumber`, `XSLOnCompletion`, `XSLOnEmpty`, `XSLOnNonEmpty`, `XSLOtherwise`, `XSLOutput`, `XSLOutputCharacter`, `XSLOverride`, `XSLPackage`, `XSLPerformSort`, `XSLPreserveSpace`, `XSLProcessingInstruction`, `XSLResultDocument`, `XSLSequence`, `XSLSort`, `XSLSortOrMergeKey`, `XSLSourceDocument`, `XSLStylesheet`, `XSLTemplate`, `XSLText`, `XSLTry`, `XSLUsePackage`, `XSLValueOf`, `XSLWhen`, `XSLWherePopulated`, `XSLWithParam`

      public interface Location
      extends javax.xml.transform.SourceLocator, org.xml.sax.Locator

  Saxon interface to represent a location, typically the location of an expression within a query or stylesheet. The interface combines the two JAXP interfaces SourceLocator and Locator.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getColumnNumber()` | Get the column number.
    `int` | `getLineNumber()` | Get the line number.
    `java.lang.String` | `getPublicId()` | Get the Public ID
    `java.lang.String` | `getSystemId()` | Get the system ID.
    `Location` | `saveLocation()` | Get an immutable copy of this Location object.

- - ### Method Detail

    - #### getSystemId

          java.lang.String getSystemId()

      Get the system ID. This should be the system identifier of an XML external entity; if a stylesheet module comprises multiple external entities, the distinction should be retained. This means, for example, that an instruction in a stylesheet can have a different system identifier from its parent instruction. However, SAX parsers only provide location information at the element level, so when part of an XPath expression is in a different external entity from other parts of the same expression, this distinction is lost.

      The system identifier of a node is in general not the same as its base URI. The base URI is affected by xml:base attributes; the system identifier is not.

      Specified by:
        `getSystemId` in interface `org.xml.sax.Locator`
      Specified by:
        `getSystemId` in interface `javax.xml.transform.SourceLocator`
      Returns:
        the system ID, or null if the information is not available.

    - #### getPublicId

          java.lang.String getPublicId()

      Get the Public ID
      Specified by:
        `getPublicId` in interface `org.xml.sax.Locator`
      Specified by:
        `getPublicId` in interface `javax.xml.transform.SourceLocator`
      Returns:
        usually null

    - #### getLineNumber

          int getLineNumber()

      Get the line number. This line number is relative to the external entity identified by the system identifier. Line numbers start at 1. The value may be an approximation; SAX parsers only provide line number information at the level of element nodes.
      Specified by:
        `getLineNumber` in interface `org.xml.sax.Locator`
      Specified by:
        `getLineNumber` in interface `javax.xml.transform.SourceLocator`
      Returns:
        the line number, or -1 if the information is not available.

    - #### getColumnNumber

          int getColumnNumber()

      Get the column number. This column number is relative to the line identified by the line number. Column numbers start at 1.
      Specified by:
        `getColumnNumber` in interface `org.xml.sax.Locator`
      Specified by:
        `getColumnNumber` in interface `javax.xml.transform.SourceLocator`
      Returns:
        the column number, or -1 if the information is not available.

    - #### saveLocation

          Location saveLocation()

      Get an immutable copy of this Location object. By default Location objects may be mutable, so they should not be saved for later use. The result of this operation holds the same location information, but in an immutable form.
      Returns:
        an immutable copy (which may be the original object, if it is already immutable)