"""
PySide stub files generated by **IceSpringPySideStubs**

Home: https://baijifeilong.github.io/2022/01/06/ice-spring-pyside-stubs/index.html

Github: https://github.com/baijifeilong/IceSpringPySideStubs

PyPI(PySide2): https://pypi.org/project/IceSpringPySideStubs-PySide2

PyPI(PySide6): https://pypi.org/project/IceSpringPySideStubs-PySide6

PyPI(PyQt5): https://pypi.org/project/IceSpringPySideStubs-PyQt5

PyPI(PyQt6): https://pypi.org/project/IceSpringPySideStubs-PyQt6

Generated by BaiJiFeiLong@gmail.com

License: MIT
"""
import typing
from PyQt5 import sip


class QXmlDeclHandler(sip.simplewrapper):
    """
    https://doc.qt.io/qt-5/qxmldeclhandler.html

    **Detailed Description**

    You can set the declaration handler with **QXmlReader::setDeclHandler** ().

    This interface is based on the SAX2 extension DeclHandler.

    The interface provides **attributeDecl** (), **internalEntityDecl** () and
    **externalEntityDecl** () functions.

    **See also** **QXmlDTDHandler** , **QXmlContentHandler** ,
    **QXmlEntityResolver** , **QXmlErrorHandler** , **QXmlLexicalHandler** , and
    Introduction to SAX2.
    """

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, a0: "QXmlDeclHandler") -> None:
        ...

    def errorString(self) -> str:
        """
        https://doc.qt.io/qt-5/qxmldeclhandler.html#errorString

        **[pure virtual] QString QXmlDeclHandler::errorString() const**

        The reader calls this function to get an error string if any of the
        handler functions returns `false`.
        """
        ...

    def externalEntityDecl(self, name: str, publicId: str, systemId: str) -> bool:
        """
        https://doc.qt.io/qt-5/qxmldeclhandler.html#externalEntityDecl

        **[pure virtual] bool QXmlDeclHandler::externalEntityDecl(const QString
        & name , const QString & publicId , const QString & systemId )**

        The reader calls this function to report a parsed external entity
        declaration. Only the effective (first) declaration for each entity is
        reported.

        The reader passes the name of the entity in **name** , the public
        identifier in **publicId** and the system identifier in **systemId**. If
        there is no public identifier specified, it passes an empty string in
        **publicId**.

        If this function returns `false` the reader stops parsing and reports an
        error. The reader uses the function **errorString** () to get the error
        message.
        """
        ...

    def internalEntityDecl(self, name: str, value: str) -> bool:
        """
        https://doc.qt.io/qt-5/qxmldeclhandler.html#internalEntityDecl

        **[pure virtual] bool QXmlDeclHandler::internalEntityDecl(const QString
        & name , const QString & value )**

        The reader calls this function to report an internal entity declaration.
        Only the effective (first) declaration is reported.

        The reader passes the name of the entity in **name** and the value of
        the entity in **value**.

        If this function returns `false` the reader stops parsing and reports an
        error. The reader uses the function **errorString** () to get the error
        message.
        """
        ...

    def attributeDecl(
        self, eName: str, aName: str, type: str, valueDefault: str, value: str
    ) -> bool:
        """
        https://doc.qt.io/qt-5/qxmldeclhandler.html#attributeDecl

        **[pure virtual] bool QXmlDeclHandler::attributeDecl(const QString &
        eName , const QString & aName , const QString & type , const QString &
        valueDefault , const QString & value )**

        The reader calls this function to report an attribute type declaration.
        Only the effective (first) declaration for an attribute is reported.

        The reader passes the name of the associated element in **eName** and
        the name of the attribute in **aName**. It passes a string that
        represents the attribute type in **type** and a string that represents
        the attribute default in **valueDefault**. This string is one of
        "#IMPLIED", "#REQUIRED", "#FIXED" or an empty string (if none of the
        others applies). The reader passes the attribute's default value in
        **value**. If no default value is specified in the XML file, **value**
        is an empty string.

        If this function returns `false` the reader stops parsing and reports an
        error. The reader uses the function **errorString** () to get the error
        message.
        """
        ...
