Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.saxonica.validate
Class IdValidator

    java.lang.Object
      net.sf.saxon.event.SequenceReceiver
          net.sf.saxon.event.ProxyReceiver
              com.saxonica.validate.IdValidator

All Implemented Interfaces:
  Result, Receiver

    public class IdValidator

extends ProxyReceiver

This class validates that ID elements and attributes have unique values and that IDREF and IDREFS elements and attributes refer to an ID in the same document. The class assumes that these elements and attributes have already been locally validated (so, for example, a element of type ID will not have child elements).

Field Summary

Fields inherited from class net.sf.saxon.event.ProxyReceiver
`nextReceiver`

Fields inherited from class net.sf.saxon.event.SequenceReceiver
`pipelineConfiguration, previousAtomic, systemId`

Fields inherited from interface javax.xml.transform.Result
`PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

Constructor Summary
`IdValidator(Receiver next)` Create a validator for ID/IDREF constraints

Method Summary
`void` | `attribute(NodeName nameCode, SimpleType type, CharSequence value, int locationId, int properties)` Handle an attribute
`void` | `characters(CharSequence chars, int locationId, int properties)` Character data
`void` | `close()` End of document
`void` | `endElement()` End of element
`protected void` | `reportValidationError(ValidationException err, long locationId)` Report a validation error
`void` | `setConstraintChecker(ConstraintChecker checker)` Set the owning ConstraintChecker
`void` | `startElement(NodeName nameCode, SchemaType typeCode, int locationId, int properties)` Notify the start of an element
`boolean` | `usesTypeAnnotations()` Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations supplied on element and attribute events

Methods inherited from class net.sf.saxon.event.ProxyReceiver
`append, comment, endDocument, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument`

Methods inherited from class net.sf.saxon.event.SequenceReceiver
`append, getConfiguration, getPipelineConfiguration, getSystemId`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### IdValidator

    public IdValidator(Receiver next)

  Create a validator for ID/IDREF constraints

  Parameters:
    `next` - the next receiver in the pipeline

Method Detail

### setConstraintChecker

    public void setConstraintChecker(ConstraintChecker checker)

  Set the owning ConstraintChecker

  Parameters:
    `checker` - the owning ConstraintChecker

### startElement

    public void startElement(NodeName nameCode,
                             SchemaType typeCode,
                             int locationId,
                             int properties)
                      throws XPathException

  Notify the start of an element

  Specified by:
    `startElement` in interface `Receiver`
  Overrides:
    `startElement` in class `ProxyReceiver`
  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.
    `properties` - for future use. Should be set to zero.
    `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.
  Throws:
    `XPathException` - if an error occurs

### characters

    public void characters(CharSequence chars,
                           int locationId,
                           int properties)
                    throws XPathException

  Character data

  Specified by:
    `characters` in interface `Receiver`
  Overrides:
    `characters` in class `ProxyReceiver`
  Parameters:
    `chars` - The characters
    `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` - Bit significant value. The following bits are defined:
  DISABLE_ESCAPING
    Disable escaping for this text node
  USE_CDATA
    Output as a CDATA section
  Throws:
    `XPathException` - if an error occurs

### endElement

    public void endElement()
                    throws XPathException

  End of element

  Specified by:
    `endElement` in interface `Receiver`
  Overrides:
    `endElement` in class `ProxyReceiver`
  Throws:
    `XPathException` - if an error occurs

### attribute

    public void attribute(NodeName nameCode,
                          SimpleType type,
                          CharSequence value,
                          int locationId,
                          int properties)
                   throws XPathException

  Handle an attribute

  Specified by:
    `attribute` in interface `Receiver`
  Overrides:
    `attribute` in class `ProxyReceiver`
  Parameters:
    `nameCode` - integer identifying the name of the attribute
    `type` - the type annotation
    `value` - the value of the attribute
    `properties` - additional properties of the attribute
    `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.
  Throws:
    `XPathException` - On any failure to write the attribute

### close

    public void close()
               throws XPathException

  End of document

  Specified by:
    `close` in interface `Receiver`
  Overrides:
    `close` in class `ProxyReceiver`
  Throws:
    `XPathException` - if an error occurs

### usesTypeAnnotations

    public boolean usesTypeAnnotations()

  Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations supplied on element and attribute events

  Specified by:
    `usesTypeAnnotations` in interface `Receiver`
  Overrides:
    `usesTypeAnnotations` in class `ProxyReceiver`
  Returns:
    true if the Receiver makes any use of this information. If false, the caller may supply untyped nodes instead of supplying the type annotation

### reportValidationError

    protected void reportValidationError(ValidationException err,
                                         long locationId)
                                  throws ValidationException

  Report a validation error

  Parameters:
    `err` - The validation exception
    `locationId` - identifies the location in the source document or stylesheet/query where the validation error was detected
  Throws:
    `ValidationException` - if the error is determined to be fatal

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.