|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||
java.lang.Objectnet.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 resolver
public void startElement(int nameCode,
int typeCode,
int locationId,
int properties)
throws XPathException
startElement in interface ReceiverstartElement in class ProxyReceivernameCode - 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
XPathExceptionpublic void setInitialValidator(ContentValidator validator)
validator - the validator to be used for the outermost element being validated
public void attribute(int nameCode,
int typeCode,
CharSequence value,
int locationId,
int properties)
throws XPathException
attribute in interface Receiverattribute in class ProxyReceivernameCode - 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 attribute
public final void startContent()
throws XPathException
startContent in interface ReceiverstartContent in class ProxyReceiverXPathException
public void characters(CharSequence chars,
int locationId,
int properties)
throws XPathException
ProxyReceiver
characters in interface Receivercharacters in class ProxyReceiverchars - 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 ReceiverendElement in class ProxyReceiverXPathException
public void endDocument()
throws XPathException
endDocument in interface ReceiverendDocument in class ProxyReceiverXPathException
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 | ||||||