Package com.saxonica.ee.schema

## Class IdentityField

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

- All Implemented Interfaces:
    `javax.xml.transform.SourceLocator`, `Location`, `org.xml.sax.Locator`

      public class IdentityField
      extends FieldOrSelector

  The field selector for an IdentityConstraint

- - ### Field Summary

    - ### Fields inherited from class com.saxonica.ee.schema.FieldOrSelector

      `selectExpression`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `IdentityField​(java.lang.String xpath)` | Creates a new IdentityField.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `BuiltInAtomicType` | `getBuiltInBaseType()` |
    `int` | `getCardinality​(ExpressionVisitor visitor, ContextItemStaticInfo contextItemType)` | Get the static cardinality of the expression, that is the number of nodes the field xpath will select for each node selected by the selector xpath.
    `boolean` | `isAscending()` |
    `boolean` | `isListValued()` |
    `void` | `setAscending​(boolean upwards)` |
    `void` | `setBuiltInBaseType​(BuiltInAtomicType builtInBaseType, boolean listValued)` |

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

      `getNamespaceContext, getSelectExpression, getSelection, getXPath, getXPathDefaultNamespace, setNamespaceContext, setSelectExpression, setSelection, setXPath, setXPathDefaultNamespace`

    - ### 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`

- - ### Constructor Detail

    - #### IdentityField

          public IdentityField​(java.lang.String xpath)

      Creates a new IdentityField.
      Parameters:
        `xpath` - the xpath for the IdentityField. Must not be null.

  - ### Method Detail

    - #### getBuiltInBaseType

          public BuiltInAtomicType getBuiltInBaseType()

    - #### isListValued

          public boolean isListValued()

    - #### setBuiltInBaseType

          public void setBuiltInBaseType​(BuiltInAtomicType builtInBaseType,
                                         boolean listValued)

    - #### setAscending

          public void setAscending​(boolean upwards)

    - #### isAscending

          public boolean isAscending()

    - #### getCardinality

          public int getCardinality​(ExpressionVisitor visitor,
                                    ContextItemStaticInfo contextItemType)
                             throws XPathException

      Get the static cardinality of the expression, that is the number of nodes the field xpath will select for each node selected by the selector xpath.
      Parameters:
        `visitor` - the expression visitor
        `contextItemType` - the type of the context item, and information about whether a context item will always be provided or not
      Returns:
        the static cardinality
      Throws:
        `XPathException` - if an error is found during the evaluation