Package com.saxonica.ee.schema
Class IdentityConstraintReference
- java.lang.Object
-
- com.saxonica.ee.schema.SchemaStructure
-
- com.saxonica.ee.schema.IdentityConstraintReference
-
- All Implemented Interfaces:
ComponentReference
,UserSchemaComponent
,javax.xml.transform.SourceLocator
,Location
,SchemaComponent
,org.xml.sax.Locator
public class IdentityConstraintReference extends SchemaStructure implements ComponentReference
A reference to an identity constraint
-
-
Constructor Summary
Constructors Constructor Description IdentityConstraintReference()
Create a new uninitialized IdentityConstraint reference (used during schema model loading)IdentityConstraintReference(StructuredQName targetQName, int kind, EnterpriseConfiguration config, javax.xml.transform.SourceLocator locator)
Creates a new IdentityConstraint reference
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getExpectedKindOfConstraint()
Get the expected kind of constraintint
getSymbolSpace()
Get the symbol space of the target of this referenceIdentityConstraint
getTarget()
Returns the identity constraint that this type reference is a reference toStructuredQName
getTargetComponentName()
Get the name of the target of this referenceboolean
isDangling()
Ask whether this is known to be a dangling referenceboolean
isResolved()
Determine whether this reference has been resolvedvoid
setTarget(IdentityConstraint target)
Set the target of this reference.void
tryToResolve(SchemaCompiler compiler, boolean fatal)
Attempt to resolve this reference using the constraints defined in a given schema.-
Methods inherited from class com.saxonica.ee.schema.SchemaStructure
elaborate, fixup, getColumnNumber, getComponentAsFunction, getConfiguration, getFixupStatus, getGeneratedId, getLineNumber, getPublicId, getRedefinitionLevel, getSchemaDocumentURI, getSystemId, getValidationStatus, hasSameLocation, isValidationNeeded, lookForCycles, makeXPathExpressionPropertyRecord, saveLocation, setConfiguration, setFixupStatus, setGeneratedId, setLineNumber, setLocator, setRedefinitionLevel, setSchemaDocumentURI, setSystemId, setValidationStatus, validate
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.saxonica.ee.schema.ComponentReference
getConfiguration
-
Methods inherited from interface net.sf.saxon.s9api.Location
getColumnNumber, getLineNumber, getPublicId, getSystemId, saveLocation
-
-
-
-
Constructor Detail
-
IdentityConstraintReference
public IdentityConstraintReference()
Create a new uninitialized IdentityConstraint reference (used during schema model loading)
-
IdentityConstraintReference
public IdentityConstraintReference(StructuredQName targetQName, int kind, EnterpriseConfiguration config, javax.xml.transform.SourceLocator locator)
Creates a new IdentityConstraint reference- Parameters:
targetQName
- the name of the constraint being referencedkind
- the name pool fingerprint of the kind of constraint being referenced, e.g. xs:uniqueconfig
- identifies the XML Schema in which this type reference appears. May be null if the reference is in a built-in typelocator
- the SourceLocator identifying the location of the reference. May be null if the reference is in a built-in type
-
-
Method Detail
-
getExpectedKindOfConstraint
public int getExpectedKindOfConstraint()
Get the expected kind of constraint- Returns:
- one of
StandardNames.XS_UNIQUE
,StandardNames.XS_KEY
,StandardNames.XS_KEYREF
-
isResolved
public boolean isResolved()
Determine whether this reference has been resolved- Specified by:
isResolved
in interfaceComponentReference
- Returns:
- true if the reference has been resolved to a schema component
-
isDangling
public boolean isDangling()
Ask whether this is known to be a dangling reference- Specified by:
isDangling
in interfaceComponentReference
- Returns:
- true if the target of this component reference is known to be absent, and if a warning has been issued to this effect
-
setTarget
public void setTarget(IdentityConstraint target)
Set the target of this reference. Caller is responsible for ensuring that the target constraint is of the expected kind- Parameters:
target
- the target constraint (to which this is a reference)
-
getTargetComponentName
public StructuredQName getTargetComponentName()
Get the name of the target of this reference- Specified by:
getTargetComponentName
in interfaceComponentReference
- Returns:
- the component name of the target component
-
getSymbolSpace
public int getSymbolSpace()
Get the symbol space of the target of this reference- Specified by:
getSymbolSpace
in interfaceComponentReference
- Returns:
- an integer code identifying the symbol space
-
getTarget
public IdentityConstraint getTarget() throws MissingComponentException
Returns the identity constraint that this type reference is a reference to- Specified by:
getTarget
in interfaceComponentReference
- Returns:
- the schema component if the reference has been resolved.
- Throws:
MissingComponentException
- if the reference has not been resolved.
-
tryToResolve
public void tryToResolve(SchemaCompiler compiler, boolean fatal)
Attempt to resolve this reference using the constraints defined in a given schema. No error results if the reference cannot be resolved.- Specified by:
tryToResolve
in interfaceComponentReference
- Parameters:
compiler
- The compiler being used to compile the referring component.fatal
- True if a failure to resolve should be treated as fatal, irrespective of any settings in the SchemaCompiler
-
-