| 34 | * directly with primitive values. |
| 35 | */ |
| 36 | export interface XmlTokenCallbacks { |
| 37 | /** Called when a start tag opens (e.g., `<element`). */ |
| 38 | onStartTagOpen?( |
| 39 | name: string, |
| 40 | line: number, |
| 41 | column: number, |
| 42 | offset: number, |
| 43 | ): void; |
| 44 | |
| 45 | /** Called for each attribute in a start tag. */ |
| 46 | onAttribute?(name: string, value: string): void; |
| 47 | |
| 48 | /** Called when a start tag closes (e.g., `>` or `/>`). */ |
| 49 | onStartTagClose?(selfClosing: boolean): void; |
| 50 | |
| 51 | /** Called when an end tag is encountered (e.g., `</element>`). */ |
| 52 | onEndTag?(name: string, line: number, column: number, offset: number): void; |
| 53 | |
| 54 | /** Called for text content between tags. */ |
| 55 | onText?: XmlContentCallback; |
| 56 | |
| 57 | /** Called for CDATA sections. */ |
| 58 | onCData?: XmlContentCallback; |
| 59 | |
| 60 | /** Called for XML comments. */ |
| 61 | onComment?: XmlContentCallback; |
| 62 | |
| 63 | /** Called for processing instructions. */ |
| 64 | onProcessingInstruction?: XmlProcessingInstructionCallback; |
| 65 | |
| 66 | /** Called for XML declarations. */ |
| 67 | onDeclaration?: XmlDeclarationCallback; |
| 68 | |
| 69 | /** Called for DOCTYPE declarations. */ |
| 70 | onDoctype?: XmlDoctypeCallback; |
| 71 | |
| 72 | /** Called for internal entity declarations in the DTD. */ |
| 73 | onEntityDeclaration?(name: string, value: string): void; |
| 74 | } |
| 75 | |
| 76 | /** Options for the XML tokenizer. */ |
| 77 | interface XmlTokenizerOptions { |