THPDFContentSyntaxNode Record
Repræsenterer én kompakt knude i det tokenbevarende indholdsstrøm-syntakstræ med kædede børn og lexeme-spænd
Deklaration
THPDFContentSyntaxNode= record
Kind: THPDFContentSyntaxNodeKind;
ParentIndex: Integer;
FirstChildIndex: Integer;
LastChildIndex: Integer;
NextSiblingIndex: Integer;
ChildCount: Integer;
FirstLexemeIndex: Integer;
LastLexemeIndex: Integer;
OperatorLexemeIndex: Integer;
StartOfs: Integer;
EndOfs: Integer;
end;
Enhed
HPDFContentStream
Felter
| Felt | Formål |
|---|---|
Kind | Knudetype: csnkRoot, csnkOperation, csnkOperand, csnkArray, csnkDictionary, csnkProcedure, csnkInlineImage eller csnkMalformed |
ParentIndex | Indeks for den overordnede knude, -1 når ingen forælder er sat |
FirstChildIndex | Indeks for den første underordnede knude, -1 når knuden ikke har børn |
LastChildIndex | Indeks for den sidste underordnede knude |
NextSiblingIndex | Indeks for den næste søskende, -1 i slutningen af en børneliste |
ChildCount | Antal direkte underordnede knuder |
FirstLexemeIndex | Første lexeme, som knuden dækker i lexeme-arrayet |
LastLexemeIndex | Sidste lexeme, som knuden dækker |
OperatorLexemeIndex | Lexeme, der holder operationens operator i en operationsknude, -1 for andre knudetyper |
StartOfs | Byteforskydning, hvor knudens kildespænd starter |
EndOfs | Byteforskydning lige efter knudens kildespænd |
Brugsnoter
- Operationsknuder ejer deres operander og identificerer operator-lexemet separat via
OperatorLexemeIndex - Containerknuder bevarer indlejrede arrays, ordbøger og procedurer uden at normalisere deres oprindelige skrivemåde, så redigeringer forbliver tokenbevarende
- Læs knuder via
THPDFContentStreamAST.GetNodei stedet for at røre det interne knudearray direkte