Package com.saxonica.ee.schema

## Class FieldOrSelector

- java.lang.Object
- - com.saxonica.ee.schema.SchemaStructure
  - - com.saxonica.ee.schema.FieldOrSelector

- All Implemented Interfaces:
    `javax.xml.transform.SourceLocator`, `Location`, `org.xml.sax.Locator`
  Direct Known Subclasses:
    `IdentityField`, `IdentitySelector`

      public abstract class FieldOrSelector
      extends SchemaStructure

  The selector of an IdentityConstraint

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Expression` | `selectExpression` | Compiled XPath expression

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `NamespaceResolver` | `getNamespaceContext()` | Get the namespace context for evaluating the XPath expression
    `Expression` | `getSelectExpression()` | Get the compiled XPath expression
    `Pattern` | `getSelection()` | Return the compiled XPath expression as a match pattern
    `java.lang.String` | `getXPath()` | Return the source XPath expression of this IdentitySelector.
    `java.lang.String` | `getXPathDefaultNamespace()` | Get the XPath default namespace
    `void` | `setNamespaceContext​(NamespaceResolver resolver)` | Set the namespace context.
    `void` | `setSelectExpression​(Expression selectExpression)` | Set the compiled XPath expression
    `void` | `setSelection​(Pattern selection)` | Set the compiled XPath expression as a match pattern
    `void` | `setXPath​(java.lang.String xpath)` | Sets the XPath expression for this Selector.
    `void` | `setXPathDefaultNamespace​(java.lang.String uri)` | Set the XPath default namespace

    - ### Methods inherited from class com.saxonica.ee.schema.SchemaStructure

      `elaborate, fixup, getColumnNumber, getConfiguration, getFixupStatus, getGeneratedId, getLineNumber, getPublicId, getRedefinitionLevel, getSchemaDocumentURI, getSystemId, getValidationStatus, hasSameLocation, isValidationNeeded, lookForCycles, makeXPathExpressionPropertyRecord, saveLocation, setConfiguration, setFixupStatus, setGeneratedId, setLineNumber, setLocator, setRedefinitionLevel, setSchemaDocumentURI, setSystemId, setValidationStatus`

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

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

- - ### Field Detail

    - #### selectExpression

          protected Expression selectExpression

      Compiled XPath expression

  - ### Constructor Detail

    - #### FieldOrSelector

          public FieldOrSelector()

  - ### Method Detail

    - #### getXPath

          public java.lang.String getXPath()

      Return the source XPath expression of this IdentitySelector.
      Returns:
        the XPath expression defined in this IdentitySelector.

    - #### getSelection

          public Pattern getSelection()

      Return the compiled XPath expression as a match pattern
      Returns:
        the expression as a Pattern object

    - #### getSelectExpression

          public Expression getSelectExpression()

      Get the compiled XPath expression
      Returns:
        the compiled XPath expression

    - #### setXPath

          public void setXPath​(java.lang.String xpath)

      Sets the XPath expression for this Selector.
      Parameters:
        `xpath` - the XPath expression for this IdentitySelector. Must not be null.

    - #### setSelection

          public void setSelection​(Pattern selection)

      Set the compiled XPath expression as a match pattern
      Parameters:
        `selection` - the XPath expression compiled into a Pattern object

    - #### setSelectExpression

          public void setSelectExpression​(Expression selectExpression)

      Set the compiled XPath expression
      Parameters:
        `selectExpression` - the XPath expression

    - #### setNamespaceContext

          public void setNamespaceContext​(NamespaceResolver resolver)

      Set the namespace context. This is needed to allow the assertion to be serialized, so that the namespace context can be replicated when it is reloaded.
      Parameters:
        `resolver` - the resolver used to resolve prefixes in the XPath expression to URIs

    - #### getNamespaceContext

          public NamespaceResolver getNamespaceContext()

      Get the namespace context for evaluating the XPath expression
      Returns:
        the namespace resolver used to resolve namespace prefixes in the XPath expression

    - #### setXPathDefaultNamespace

          public void setXPathDefaultNamespace​(java.lang.String uri)

      Set the XPath default namespace
      Parameters:
        `uri` - the XPath default namespace

    - #### getXPathDefaultNamespace

          public java.lang.String getXPathDefaultNamespace()

      Get the XPath default namespace
      Returns:
        the XPath default namespace