## com.saxonica.validate
Class EntityValidator

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

All Implemented Interfaces:
  Result, Receiver

    public class EntityValidator

extends ProxyReceiver

This class validates that elements and attributes of type ENTITY or ENTITIES have values are declared in the DOCTYPE declaration of the instance document as unparsed entities.

This component of the validation pipeline is used during standalone schema validation, but not during validation invoked from XSLT or XQuery, as constructed trees never contain unparsed entities.

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
`EntityValidator()` Create a validator for ID/IDREF constraints

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` `endElement()` End of element
`protected void` `reportValidationError(ValidationException err, long locationId)` Report a validation error
`void` `setUnparsedEntity(String name, String uri, String publicId)` Set the URI for an unparsed entity in the document.
`void` `startElement(int nameCode, int 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, close, comment, endDocument, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, startContent, startDocument`

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

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

Constructor Detail

### EntityValidator

    public EntityValidator()

  Create a validator for ID/IDREF constraints

Method Detail

### setUnparsedEntity

    public void setUnparsedEntity(String name,
                                  String uri,
                                  String publicId)
                           throws XPathException

  Set the URI for an unparsed entity in the document.

  Specified by:
    `setUnparsedEntity` in interface `Receiver`
  Overrides:
    `setUnparsedEntity` in class `ProxyReceiver`
  Parameters:
    `name` - The name of the unparsed entity
    `uri` - The system identifier of the unparsed entity
    `publicId` - The public identifier of the unparsed entity
  Throws:
    `XPathException`

### startElement

    public void startElement(int nameCode,
                             int 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`

### 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`

### endElement

    public void endElement()
                    throws XPathException

  End of element

  Specified by:
    `endElement` in interface `Receiver`
  Overrides:
    `endElement` in class `ProxyReceiver`
  Throws:
    `XPathException`

### attribute

    public void attribute(int nameCode,
                          int typeCode,
                          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
    `typeCode` - integer identifying the type annotation (ignored)
    `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

### 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`

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