org.apache.xerces.xs

## Interface PSVIProvider

-     public interface PSVIProvider

  This interface provides access to the post schema validation infoset for an API that provides a streaming document infoset, such as SAX, XNI, and others.

  For implementations that would like to provide access to the PSVI in a streaming model, a parser object should also implement the `PSVIProvider` interface. Within the scope of the methods handling the start and end of an element, applications may use the `PSVIProvider` to retrieve the PSVI related to the element and its attributes.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `AttributePSVI` | `getAttributePSVI(int index)` Provides `AttributePSVI` given the index of an attribute information item in the current element's attribute list.
    `AttributePSVI` | `getAttributePSVIByName(java.lang.String uri, java.lang.String localname)` Provides `AttributePSVI` given the namespace name and the local name of an attribute information item in the current element's attribute list.
    `ElementPSVI` | `getElementPSVI()` Provides the post schema validation item for the current element information item.

- - ### Method Detail

    - #### getElementPSVI

          ElementPSVI getElementPSVI()

      Provides the post schema validation item for the current element information item. The method must be called by an application while in the scope of the methods which report the start and end of an element. For example, for SAX the method must be called within the scope of the document handler's `startElement` or `endElement` call. If the method is called outside of the specified scope, the return value is undefined.
      Returns:
        The post schema validation infoset for the current element. If an element information item is valid, then in the post-schema-validation infoset the following properties must be available for the element information item: The following properties are available in the scope of the method that reports the start of an element: {element declaration}, {validation context}, {notation}. The {schema information} property is available for the validation root. The {error codes} property is available if any errors occured during validation. The following properties are available in the scope of the method that reports the end of an element: {nil}, {schema specified}, {normalized value},{ member type definition}, {validity}, {validation attempted} . If the declaration has a value constraint, the property {schema default} is available. The {error codes} property is available if any errors occured during validation. Note: some processors may choose to provide all the PSVI properties in the scope of the method that reports the end of an element.

    - #### getAttributePSVI

          AttributePSVI getAttributePSVI(int index)

      Provides `AttributePSVI` given the index of an attribute information item in the current element's attribute list. The method must be called by an application while in the scope of the methods which report the start and end of an element at a point where the attribute list is available. For example, for SAX the method must be called while in the scope of the document handler's `startElement` call. If the method is called outside of the specified scope, the return value is undefined.
      Parameters:
        `index` - The attribute index.
      Returns:
        The post schema validation properties of the attribute.

    - #### getAttributePSVIByName

          AttributePSVI getAttributePSVIByName(java.lang.String uri,
                                             java.lang.String localname)

      Provides `AttributePSVI` given the namespace name and the local name of an attribute information item in the current element's attribute list. The method must be called by an application while in the scope of the methods which report the start and end of an element at a point where the attribute list is available. For example, for SAX the method must be called while in the scope of the document handler's `startElement` call. If the method is called outside of the specified scope, the return value is undefined.
      Parameters:
        `uri` - The namespace name of an attribute.
        `localname` - The local name of an attribute.
      Returns:
        The post schema validation properties of the attribute.

Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.