"""
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 QtCore
from PyQt5.QtXmlPatterns import *


class QSimpleXmlNodeModel(QAbstractXmlNodeModel):
    """
    https://doc.qt.io/qt-5/qsimplexmlnodemodel.html

    **Detailed Description**

    Subclassing **QAbstractXmlNodeModel**  can be a significant task, because it
    requires implementing several, complex member functions. QSimpleXmlNodeModel
    provides default implementations of these member functions that are suitable
    for a wide range of node models.

    Subclasses of QSimpleXmlNodeModel must be thread-safe.
    """

    def __init__(self, namePool: "QXmlNamePool") -> None:
        """
        https://doc.qt.io/qt-5/qsimplexmlnodemodel.html#QSimpleXmlNodeModel

        **QSimpleXmlNodeModel::QSimpleXmlNodeModel(const QXmlNamePool & namePool
        )**

        Constructs a QSimpleXmlNodeModel for use with with the specified
        **namePool**.
        """
        ...

    def nodesByIdref(self, idref: "QXmlName") -> typing.List[QXmlNodeModelIndex]:
        """
        https://doc.qt.io/qt-5/qsimplexmlnodemodel.html#nodesByIdref

        **[override virtual] QVector<QXmlNodeModelIndex>
        QSimpleXmlNodeModel::nodesByIdref(const QXmlName & idref ) const**

        Reimplements: **QAbstractXmlNodeModel::nodesByIdref** (const QXmlName
        &idref) const.

        Always returns an empty vector, regardless of **idref**.

        This effectively means the model has no elements or attributes of type
        `IDREF`.
        """
        ...

    def elementById(self, id: "QXmlName") -> QXmlNodeModelIndex:
        """
        https://doc.qt.io/qt-5/qsimplexmlnodemodel.html#elementById

        **[override virtual] QXmlNodeModelIndex
        QSimpleXmlNodeModel::elementById(const QXmlName & id ) const**

        Reimplements: **QAbstractXmlNodeModel::elementById** (const QXmlName
        &id) const.

        Always returns a default constructed **QXmlNodeModelIndex**  instance,
        regardless of **id**.

        This effectively means the model has no elements that have an id.
        """
        ...

    def stringValue(self, node: QXmlNodeModelIndex) -> str:
        """
        https://doc.qt.io/qt-5/qsimplexmlnodemodel.html#stringValue

        **[override virtual] QString QSimpleXmlNodeModel::stringValue(const
        QXmlNodeModelIndex & node ) const**

        Reimplements: **QAbstractXmlNodeModel::stringValue** (const
        QXmlNodeModelIndex &n) const.

        If **node** is an element or attribute, **typedValue** () is called, and
        the return value converted to a string, as per **XQuery** 's rules.

        If **node** is another type of node, the empty string is returned.

        If this function is overridden for comments or processing instructions,
        it is important to remember to call it (for elements and attributes
        having values not of type `xs:string`) to ensure that the values are
        formatted according to **XQuery** .
        """
        ...

    def namespaceBindings(self, a0: QXmlNodeModelIndex) -> typing.List["QXmlName"]:
        """
        https://doc.qt.io/qt-5/qsimplexmlnodemodel.html#namespaceBindings

        **[override virtual] QVector<QXmlName>
        QSimpleXmlNodeModel::namespaceBindings(const QXmlNodeModelIndex & node )
        const**

        Reimplements: **QAbstractXmlNodeModel::namespaceBindings** (const
        QXmlNodeModelIndex &n) const.

        Always returns an empty **QVector** . This signals that no namespace
        bindings are in scope for **node**.
        """
        ...

    def namePool(self) -> "QXmlNamePool":
        """
        https://doc.qt.io/qt-5/qsimplexmlnodemodel.html#namePool

        **QXmlNamePool &QSimpleXmlNodeModel::namePool() const**

        Returns the name pool associated with this model. The implementation of
        **name** () will use this name pool to create names.
        """
        ...

    def baseUri(self, node: QXmlNodeModelIndex) -> QtCore.QUrl:
        """
        https://doc.qt.io/qt-5/qsimplexmlnodemodel.html#baseUri

        **[override virtual] QUrl QSimpleXmlNodeModel::baseUri(const
        QXmlNodeModelIndex & node ) const**

        Reimplements: **QAbstractXmlNodeModel::baseUri** (const
        QXmlNodeModelIndex &n) const.

        Returns the base URI for **node**. This is always the document URI.

        **See also** **documentUri** ().
        """
        ...
