from typing import IO, Any, Sequence, Tuple, Union from typing_extensions import Literal from xml.dom.minidom import Document, DOMImplementation, Element, Text from xml.sax.handler import ContentHandler from xml.sax.xmlreader import XMLReader START_ELEMENT: Literal["START_ELEMENT"] END_ELEMENT: Literal["END_ELEMENT"] COMMENT: Literal["COMMENT"] START_DOCUMENT: Literal["START_DOCUMENT"] END_DOCUMENT: Literal["END_DOCUMENT"] PROCESSING_INSTRUCTION: Literal["PROCESSING_INSTRUCTION"] IGNORABLE_WHITESPACE: Literal["IGNORABLE_WHITESPACE"] CHARACTERS: Literal["CHARACTERS"] _DocumentFactory = Union[DOMImplementation, None] _Node = Union[Document, Element, Text] _Event = Tuple[ Literal[ Literal["START_ELEMENT"], Literal["END_ELEMENT"], Literal["COMMENT"], Literal["START_DOCUMENT"], Literal["END_DOCUMENT"], Literal["PROCESSING_INSTRUCTION"], Literal["IGNORABLE_WHITESPACE"], Literal["CHARACTERS"], ], _Node, ] class PullDOM(ContentHandler): document: Document | None documentFactory: _DocumentFactory firstEvent: Any lastEvent: Any elementStack: Sequence[Any] pending_events: Sequence[Any] def __init__(self, documentFactory: _DocumentFactory = ...) -> None: ... def pop(self) -> Element: ... def setDocumentLocator(self, locator) -> None: ... def startPrefixMapping(self, prefix, uri) -> None: ... def endPrefixMapping(self, prefix) -> None: ... def startElementNS(self, name, tagName, attrs) -> None: ... def endElementNS(self, name, tagName) -> None: ... def startElement(self, name, attrs) -> None: ... def endElement(self, name) -> None: ... def comment(self, s) -> None: ... def processingInstruction(self, target, data) -> None: ... def ignorableWhitespace(self, chars) -> None: ... def characters(self, chars) -> None: ... def startDocument(self) -> None: ... def buildDocument(self, uri, tagname): ... def endDocument(self) -> None: ... def clear(self) -> None: ... class ErrorHandler: def warning(self, exception) -> None: ... def error(self, exception) -> None: ... def fatalError(self, exception) -> None: ... class DOMEventStream: stream: IO[bytes] parser: XMLReader bufsize: int def __init__(self, stream: IO[bytes], parser: XMLReader, bufsize: int) -> None: ... pulldom: Any def __getitem__(self, pos): ... def __next__(self): ... def __iter__(self): ... def getEvent(self) -> _Event: ... def expandNode(self, node: _Node) -> None: ... def reset(self) -> None: ... def clear(self) -> None: ... class SAX2DOM(PullDOM): def startElementNS(self, name, tagName, attrs) -> None: ... def startElement(self, name, attrs) -> None: ... def processingInstruction(self, target, data) -> None: ... def ignorableWhitespace(self, chars) -> None: ... def characters(self, chars) -> None: ... default_bufsize: int def parse(stream_or_string: str | IO[bytes], parser: XMLReader | None = ..., bufsize: int | None = ...) -> DOMEventStream: ... def parseString(string: str, parser: XMLReader | None = ...) -> DOMEventStream: ...