declare namespace javax { namespace xml { namespace validation { /** * This class provides access to the type information determined * by {@link ValidatorHandler}. *

* Some schema languages, such as W3C XML Schema, encourages a validator * to report the "type" it assigns to each attribute/element. * Those applications who wish to access this type information can invoke * methods defined on this "interface" to access such type information. *

* Implementation of this "interface" can be obtained through the * {@link ValidatorHandler#getTypeInfoProvider()} method. * @author Kohsuke Kawaguchi * @see org.w3c.dom.TypeInfo * @since 1.5 */ // @ts-ignore abstract class TypeInfoProvider extends java.lang.Object { /** * Constructor for the derived class. *

* The constructor does nothing. */ // @ts-ignore constructor() /** *

Returns the immutable {@link TypeInfo} object for the current * element.

*

The method may only be called by the startElement event * or the endElement event * of the {@link org.xml.sax.ContentHandler} that the application sets to * the {@link ValidatorHandler}.

*

When W3C XML Schema validation is being performed, in the * case where an element has a union type, the {@link TypeInfo} * returned by a call to getElementTypeInfo() from the * startElement * event will be the union type. The TypeInfo * returned by a call * from the endElement event will be the actual member type used * to validate the element.

* @throws IllegalStateException * If this method is called from other {#link org.xml.sax.ContentHandler} * methods. * @return An immutable {#link TypeInfo} object that represents the * type of the current element. * Note that the caller can keep references to the obtained * {@link TypeInfo} longer than the callback scope. * * Otherwise, this method returns * null if the validator is unable to * determine the type of the current element for some reason * (for example, if the validator is recovering from * an earlier error.) */ // @ts-ignore public abstract getElementTypeInfo(): org.w3c.dom.TypeInfo /** * Returns the immutable {@link TypeInfo} object for the specified * attribute of the current element. *

* The method may only be called by the startElement event of * the {@link org.xml.sax.ContentHandler} that the application sets to the * {@link ValidatorHandler}.

* @param index * The index of the attribute. The same index for * the {#link org.xml.sax.Attributes} object passed to the * startElement callback. * @throws IndexOutOfBoundsException * If the index is invalid. * @throws IllegalStateException * If this method is called from other {#link org.xml.sax.ContentHandler} * methods. * @return An immutable {#link TypeInfo} object that represents the * type of the specified attribute. * Note that the caller can keep references to the obtained * {@link TypeInfo} longer than the callback scope. * * Otherwise, this method returns * null if the validator is unable to * determine the type. */ // @ts-ignore public abstract getAttributeTypeInfo(index: number /*int*/): org.w3c.dom.TypeInfo /** * Returns true if the specified attribute is determined * to be ID. *

* Exacly how an attribute is "determined to be ID" is up to the * schema language. In case of W3C XML Schema, this means * that the actual type of the attribute is the built-in ID type * or its derived type. *

* A {@link javax.xml.parsers.DocumentBuilder} uses this information * to properly implement {@link org.w3c.dom.Attr#isId()}. *

* The method may only be called by the startElement event of * the {@link org.xml.sax.ContentHandler} that the application sets to the * {@link ValidatorHandler}. * @param index * The index of the attribute. The same index for * the {#link org.xml.sax.Attributes} object passed to the * startElement callback. * @throws IndexOutOfBoundsException * If the index is invalid. * @throws IllegalStateException * If this method is called from other {#link org.xml.sax.ContentHandler} * methods. * @return true * if the type of the specified attribute is ID. */ // @ts-ignore public abstract isIdAttribute(index: number /*int*/): boolean /** * Returns false if the attribute was added by the validator. *

* This method provides information necessary for * a {@link javax.xml.parsers.DocumentBuilder} to determine what * the DOM tree should return from the {@link org.w3c.dom.Attr#getSpecified()} method. *

* The method may only be called by the startElement event of * the {@link org.xml.sax.ContentHandler} that the application sets to the * {@link ValidatorHandler}. *

* A general guideline for validators is to return true if * the attribute was originally present in the pipeline, and * false if it was added by the validator. * @param index * The index of the attribute. The same index for * the {#link org.xml.sax.Attributes} object passed to the * startElement callback. * @throws IndexOutOfBoundsException * If the index is invalid. * @throws IllegalStateException * If this method is called from other {#link org.xml.sax.ContentHandler} * methods. * @return true if the attribute was present before the validator * processes input. false if the attribute was added * by the validator. */ // @ts-ignore public abstract isSpecified(index: number /*int*/): boolean } } } }