com.saxonica.schema
Class KeyRef

java.lang.Object
  extended bycom.saxonica.schema.SchemaStructure
      extended bycom.saxonica.schema.IdentityConstraint
          extended bycom.saxonica.schema.KeyRef
All Implemented Interfaces:
ComponentReference, SchemaComponent, java.io.Serializable, javax.xml.transform.SourceLocator, UserSchemaComponent

public class KeyRef
extends IdentityConstraint
implements ComponentReference

This class represents an xs:keyRef identity constraint in a schema

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface net.sf.saxon.type.SchemaComponent
FIXED_UP, INCOMPLETE, INVALID, UNVALIDATED, VALIDATED, VALIDATING
 
Constructor Summary
KeyRef(java.lang.String name, int refer)
          Create a new KeyRef Identity-Constraint.
 
Method Summary
 boolean fixup(PreparedSchema schema)
          Check references from this component to other components
 int getReferFingerprint()
          Gets the fingerprint of the name of the key being referenced).
 int getSymbolSpace()
          Get the symbol space of the target of this reference
 SchemaComponent getTarget()
          Get the schema component identified by this reference.
 boolean isResolved()
          Determine whether this reference has been resolved
 void setReferFingerprint(int referFingerprint)
          Sets the fingerprint of the name of the key being referenced.
 void tryToResolve(PreparedSchema schema)
          Try to resolve the reference if possible, relative to components present in a given schema.
 boolean validate(PreparedSchema schema)
          Checks the validity of this Schema defintion.
 
Methods inherited from class com.saxonica.schema.IdentityConstraint
addField, getFields, getFingerprint, getName, getSelector, iterateFields, setFingerprint, setName, setSelector
 
Methods inherited from class com.saxonica.schema.SchemaStructure
getColumnNumber, getFixupStatus, getLineNumber, getPublicId, getSchema, getSystemId, getValidationStatus, lookForCycles, setFixupStatus, setLineNumber, setLocator, setSchema, setSystemId, setValidationStatus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.saxonica.schema.ComponentReference
getFingerprint, getSchema
 
Methods inherited from interface javax.xml.transform.SourceLocator
getColumnNumber, getLineNumber, getPublicId, getSystemId
 
Methods inherited from interface com.saxonica.schema.UserSchemaComponent
lookForCycles
 
Methods inherited from interface net.sf.saxon.type.SchemaComponent
getValidationStatus
 

Constructor Detail

KeyRef

public KeyRef(java.lang.String name,
              int refer)
       throws SchemaException
Create a new KeyRef Identity-Constraint.

Parameters:
name - the name for the IdentityConstraint. Must not be null.
Method Detail

getReferFingerprint

public int getReferFingerprint()
Gets the fingerprint of the name of the key being referenced).

Returns:
the fingerprint of the name of the key to reference.

setReferFingerprint

public void setReferFingerprint(int referFingerprint)
Sets the fingerprint of the name of the key being referenced.

Parameters:
referFingerprint - the fingerprint of the name of the key to reference.

tryToResolve

public void tryToResolve(PreparedSchema schema)
Try to resolve the reference if possible, relative to components present in a given schema. No error occurs if the reference cannot yet be resolved.

Specified by:
tryToResolve in interface ComponentReference
Parameters:
schema - The schema containing the candidate target components for the reference. If null, the schema containing the reference is used.

isResolved

public boolean isResolved()
Determine whether this reference has been resolved

Specified by:
isResolved in interface ComponentReference

getTarget

public SchemaComponent getTarget()
                          throws UnresolvedReferenceException
Get the schema component identified by this reference.

Specified by:
getTarget in interface ComponentReference
Returns:
the schema component if the reference has been resolved.
Throws:
UnresolvedReferenceException - if the reference has not been resolved. Note that this is an unchecked exception.

getSymbolSpace

public int getSymbolSpace()
Get the symbol space of the target of this reference

Specified by:
getSymbolSpace in interface ComponentReference

fixup

public boolean fixup(PreparedSchema schema)
              throws SchemaException
Check references from this component to other components

Specified by:
fixup in interface UserSchemaComponent
Overrides:
fixup in class IdentityConstraint
Parameters:
schema - The schema is used for reporting errors
Returns:
true if all is well, false if errors found
Throws:
SchemaException

validate

public boolean validate(PreparedSchema schema)
                 throws SchemaException
Checks the validity of this Schema defintion.

Specified by:
validate in interface UserSchemaComponent
Overrides:
validate in class IdentityConstraint
Throws:
SchemaException - when this Schema definition is invalid.