|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.event.SequenceReceiver net.sf.saxon.event.ProxyReceiver com.saxonica.validate.ValidatingFilter com.saxonica.validate.ValidationStack
public class ValidationStack
This class manages the receivers that do element content validation. It maintains a stack of Validators, each of which does local element validation of the contents of a single element, adding a new validator to the stack to handle each layer of nesting.
Field Summary |
---|
Fields inherited from interface javax.xml.transform.Result |
---|
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING |
Constructor Summary | |
---|---|
ValidationStack(Receiver out,
int initialValidationMode,
SchemaType initialType,
boolean isOutput)
Create a validation stack |
Method Summary | |
---|---|
void |
attribute(int nameCode,
int typeCode,
CharSequence value,
int locationId,
int properties)
Handle an attribute |
void |
characters(CharSequence chars,
int locationId,
int properties)
Character data |
void |
endDocument()
Notify the end of a document node |
void |
endElement()
End of element |
int |
getTopLevelElement()
Get the name of the required top-level element (if any) as a namepool fingerprint |
void |
setConstraintChecker(ConstraintChecker checker)
Set the constraint checker in use (if any). |
void |
setInitialValidator(ContentValidator validator)
Set the initial validator to be used for the outermost element |
void |
setIsNilled(boolean nilled)
Indicate whether the current element is nilled |
void |
setNamespaceResolver(NamespaceResolver resolver)
Set the NamespaceResolver to be used for resolving QName-valued attributes |
void |
setTopLevelElement(int nameCode)
Set the name of the required top-level element (if any) as a namepool code |
void |
setXSIType(SchemaType type)
Set the value of xsi:type, if present. |
void |
startContent()
Notify the start of the content, that is, the completion of all attributes and namespaces. |
void |
startElement(int nameCode,
int typeCode,
int locationId,
int properties)
Process element start tag |
void |
testAssertions(NodeInfo root,
Set assertions)
Test whether all the assertions are true |
Methods inherited from class com.saxonica.validate.ValidatingFilter |
---|
setErrorCode |
Methods inherited from class net.sf.saxon.event.ProxyReceiver |
---|
append, close, comment, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startDocument |
Methods inherited from class net.sf.saxon.event.SequenceReceiver |
---|
getPipelineConfiguration, getSystemId |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ValidationStack(Receiver out, int initialValidationMode, SchemaType initialType, boolean isOutput)
out
- the destination of events after passing through validationinitialValidationMode
- the initial validation mode, strict/laxinitialType
- the initial type to validate against, if anyisOutput
- true if the output is being serialized (so that we can handle more than one
validation error)Method Detail |
---|
public void setTopLevelElement(int nameCode)
nameCode
- the name of the element that must appear at the root of the subtree
being validatedpublic int getTopLevelElement()
public void setConstraintChecker(ConstraintChecker checker)
checker
- the constraint checkerpublic void setXSIType(SchemaType type)
type
- the type referenced by the xsi:type attributepublic void setIsNilled(boolean nilled)
nilled
- true if xsi:nil is setpublic void setNamespaceResolver(NamespaceResolver resolver)
resolver
- the namespace resolverpublic void startElement(int nameCode, int typeCode, int locationId, int properties) throws XPathException
startElement
in interface Receiver
startElement
in class ProxyReceiver
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
XPathException
public void setInitialValidator(ContentValidator validator)
validator
- the validator to be used for the outermost element being validatedpublic void attribute(int nameCode, int typeCode, CharSequence value, int locationId, int properties) throws XPathException
attribute
in interface Receiver
attribute
in class ProxyReceiver
nameCode
- integer identifying the name of the attributetypeCode
- integer identifying the type annotation (ignored)value
- the value of the attributeproperties
- additional properties of the attributelocationId
- 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.
XPathException
- On any failure to write the attributepublic final void startContent() throws XPathException
startContent
in interface Receiver
startContent
in class ProxyReceiver
XPathException
public void characters(CharSequence chars, int locationId, int properties) throws XPathException
ProxyReceiver
characters
in interface Receiver
characters
in class ProxyReceiver
chars
- The characterslocationId
- 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
- Bit significant value. The following bits are defined:
XPathException
public void endElement() throws XPathException
endElement
in interface Receiver
endElement
in class ProxyReceiver
XPathException
public void endDocument() throws XPathException
endDocument
in interface Receiver
endDocument
in class ProxyReceiver
XPathException
public void testAssertions(NodeInfo root, Set assertions) throws ValidationException
root
- the element whose assertions are to be testedassertions
- the xs:assert conditions to be applied
ValidationException
- if any of the assertions are not true
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |