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.