1 from typing import IO, Any, Sequence, Tuple, Union
2 from typing_extensions import Literal
3 from xml.dom.minidom import Document, DOMImplementation, Element, Text
4 from xml.sax.handler import ContentHandler
5 from xml.sax.xmlreader import XMLReader
7 START_ELEMENT: Literal["START_ELEMENT"]
8 END_ELEMENT: Literal["END_ELEMENT"]
9 COMMENT: Literal["COMMENT"]
10 START_DOCUMENT: Literal["START_DOCUMENT"]
11 END_DOCUMENT: Literal["END_DOCUMENT"]
12 PROCESSING_INSTRUCTION: Literal["PROCESSING_INSTRUCTION"]
13 IGNORABLE_WHITESPACE: Literal["IGNORABLE_WHITESPACE"]
14 CHARACTERS: Literal["CHARACTERS"]
16 _DocumentFactory = Union[DOMImplementation, None]
17 _Node = Union[Document, Element, Text]
21 Literal["START_ELEMENT"],
22 Literal["END_ELEMENT"],
24 Literal["START_DOCUMENT"],
25 Literal["END_DOCUMENT"],
26 Literal["PROCESSING_INSTRUCTION"],
27 Literal["IGNORABLE_WHITESPACE"],
28 Literal["CHARACTERS"],
33 class PullDOM(ContentHandler):
34 document: Document | None
35 documentFactory: _DocumentFactory
38 elementStack: Sequence[Any]
39 pending_events: Sequence[Any]
40 def __init__(self, documentFactory: _DocumentFactory = ...) -> None: ...
41 def pop(self) -> Element: ...
42 def setDocumentLocator(self, locator) -> None: ...
43 def startPrefixMapping(self, prefix, uri) -> None: ...
44 def endPrefixMapping(self, prefix) -> None: ...
45 def startElementNS(self, name, tagName, attrs) -> None: ...
46 def endElementNS(self, name, tagName) -> None: ...
47 def startElement(self, name, attrs) -> None: ...
48 def endElement(self, name) -> None: ...
49 def comment(self, s) -> None: ...
50 def processingInstruction(self, target, data) -> None: ...
51 def ignorableWhitespace(self, chars) -> None: ...
52 def characters(self, chars) -> None: ...
53 def startDocument(self) -> None: ...
54 def buildDocument(self, uri, tagname): ...
55 def endDocument(self) -> None: ...
56 def clear(self) -> None: ...
59 def warning(self, exception) -> None: ...
60 def error(self, exception) -> None: ...
61 def fatalError(self, exception) -> None: ...
67 def __init__(self, stream: IO[bytes], parser: XMLReader, bufsize: int) -> None: ...
69 def __getitem__(self, pos): ...
70 def __next__(self): ...
71 def __iter__(self): ...
72 def getEvent(self) -> _Event: ...
73 def expandNode(self, node: _Node) -> None: ...
74 def reset(self) -> None: ...
75 def clear(self) -> None: ...
77 class SAX2DOM(PullDOM):
78 def startElementNS(self, name, tagName, attrs) -> None: ...
79 def startElement(self, name, attrs) -> None: ...
80 def processingInstruction(self, target, data) -> None: ...
81 def ignorableWhitespace(self, chars) -> None: ...
82 def characters(self, chars) -> None: ...
86 def parse(stream_or_string: str | IO[bytes], parser: XMLReader | None = ..., bufsize: int | None = ...) -> DOMEventStream: ...
87 def parseString(string: str, parser: XMLReader | None = ...) -> DOMEventStream: ...