Package com.saxonica.ee.schema
Class SimpleComponentReference
- java.lang.Object
-
- com.saxonica.ee.schema.SchemaStructure
-
- com.saxonica.ee.schema.SimpleComponentReference
-
- All Implemented Interfaces:
ComponentReference
,UserSchemaComponent
,javax.xml.transform.SourceLocator
,Location
,SchemaComponent
,org.xml.sax.Locator
- Direct Known Subclasses:
AttributeUse
,Particle
public class SimpleComponentReference extends SchemaStructure implements ComponentReference
A reference to a named schema group within the content model of a complex type
-
-
Field Summary
Fields Modifier and Type Field Description protected int
symbolSpace
The symbol space representing the kind of schema component that is referencedprotected SchemaComponent
target
The corresponding SchemaComponent.
-
Constructor Summary
Constructors Modifier Constructor Description protected
SimpleComponentReference()
Default constructor for use by subclassesSimpleComponentReference(int symbolSpace, StructuredQName name, EnterpriseConfiguration config)
Creates a new SimpleComponentReference definition
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getSymbolSpace()
Get the symbol space of the target of this referenceSchemaComponent
getTarget()
Returns the schema component that this is a reference toStructuredQName
getTargetComponentName()
Get the name of the target of this referenceint
getTargetFingerprint()
boolean
isDangling()
Ask whether this is known to be a dangling referenceboolean
isResolved()
Determine whether this reference has been resolvedvoid
setTarget(SchemaComponent target)
Set the target componentvoid
setTargetComponentName(StructuredQName name)
void
tryToResolve(SchemaCompiler compiler, boolean fatal)
Attempt to resolve this reference using the components 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
-
-
-
-
Field Detail
-
target
protected SchemaComponent target
The corresponding SchemaComponent. This is null until the reference has been resolved.
-
symbolSpace
protected int symbolSpace
The symbol space representing the kind of schema component that is referenced
-
-
Constructor Detail
-
SimpleComponentReference
protected SimpleComponentReference()
Default constructor for use by subclasses
-
SimpleComponentReference
public SimpleComponentReference(int symbolSpace, StructuredQName name, EnterpriseConfiguration config)
Creates a new SimpleComponentReference definition- Parameters:
symbolSpace
- the symbol space for the component reference, for example elements, attributes, or typesname
- the component nameconfig
- the configuration to which this component belongs
-
-
Method Detail
-
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
-
setTargetComponentName
public void setTargetComponentName(StructuredQName name)
-
getTargetComponentName
public StructuredQName getTargetComponentName()
Description copied from interface:ComponentReference
Get the name of the target of this reference- Specified by:
getTargetComponentName
in interfaceComponentReference
- Returns:
- the component name of the target component
-
getTargetFingerprint
public int getTargetFingerprint()
-
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 SchemaComponent getTarget() throws MissingComponentException
Returns the schema component that this 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. Note that this is an unchecked exception.
-
setTarget
public void setTarget(SchemaComponent target)
Set the target component- Parameters:
target
- the component that this reference points to
-
tryToResolve
public void tryToResolve(SchemaCompiler compiler, boolean fatal) throws SchemaException
Attempt to resolve this reference using the components 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- Throws:
SchemaException
- if the reference cannot be resolved or repaired.
-
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
-
-