com.saxonica.validate
Class ComplexContentValidator
java.lang.Object
net.sf.saxon.event.SequenceReceiver
net.sf.saxon.event.ProxyReceiver
com.saxonica.validate.ContentValidator
com.saxonica.validate.AttributeValidator
com.saxonica.validate.ComplexContentValidator
- All Implemented Interfaces:
- Result, Receiver
public class ComplexContentValidator
- extends AttributeValidator
This class is a filter that is used to validate the content of an element with a
complex type. As each child element is encountered, it is used to compute a transition
in the finite state machine compiled for the given complex type.
Methods inherited from class com.saxonica.validate.ContentValidator |
endDocument, getContainingElement, getContainingElementLocationId, getElementDeclaration, getNamespaceResolver, getNillability, isInvalid, isNil, isOutput, makeValidator, makeValidator, setContainingElement, setElementDeclaration, setErrorCode, setIsOutput, setNamespaceResolver, setNillability, setXSIType |
Methods inherited from class net.sf.saxon.event.ProxyReceiver |
append, close, comment, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startDocument |
ComplexContentValidator
public ComplexContentValidator(ElementDecl declaration,
UserComplexType type)
throws ValidationException
- Create a ComplexContentValidator for a given type
- Parameters:
declaration
- the element declaration, if available, or null otherwise.type
- the complex type
- Throws:
ValidationException
setPipelineConfiguration
public void setPipelineConfiguration(PipelineConfiguration pipe)
- Description copied from interface:
Receiver
- Set the pipeline configuration
- Specified by:
setPipelineConfiguration
in interface Receiver
- Overrides:
setPipelineConfiguration
in class ProxyReceiver
setSchemaType
public void setSchemaType(UserComplexType type)
throws ValidationException
- Throws:
ValidationException
getSchemaType
public UserComplexType getSchemaType()
startElement
public void startElement(int nameCode,
int typeCode,
int locationId,
int properties)
throws XPathException
- Handle the start tag for a child element of the element being validated
- Specified by:
startElement
in interface Receiver
- Overrides:
startElement
in class AttributeValidator
- Parameters:
nameCode
- integer code identifying the name of the element within the name pool.typeCode
- integer code identifying the element's type within the name pool.locationId
- an integer which can be interpreted using a LocationProvider
to return
information such as line number and system ID. If no location information is available,
the value zero is supplied.properties
- properties of the element node
- Throws:
XPathException
characters
public void characters(CharSequence chars,
int locationId,
int properties)
throws XPathException
- Handle character data appearing as a child of the element being validated
- Specified by:
characters
in interface Receiver
- Overrides:
characters
in class AttributeValidator
- Parameters:
chars
- The character contentproperties
- Additional propertieslocationId
- an integer which can be interpreted using a LocationProvider
to return
information such as line number and system ID. If no location information is available,
the value zero is supplied.
- Throws:
XPathException
- If this element does not allow character data
endElement
public void endElement()
throws XPathException
- Validation at the end of the element being validated. (Note this is a different element from
the one passed to startElement).
- Specified by:
endElement
in interface Receiver
- Overrides:
endElement
in class ProxyReceiver
- Throws:
XPathException
- if the element is invalid
Copyright (C) Michael H. Kay. All rights reserved.