THPDFContentSyntaxNode Record
Reprezentuje jeden kompaktowy węzeł zachowującego tokeny drzewa składniowego strumienia treści z powiązanymi dziećmi i zakresami leksemów
Deklaracja
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;
Jednostka
HPDFContentStream
Pola
| Pole | Przeznaczenie |
|---|---|
Kind | Klasa węzła: csnkRoot, csnkOperation, csnkOperand, csnkArray, csnkDictionary, csnkProcedure, csnkInlineImage albo csnkMalformed |
ParentIndex | Indeks węzła rodzica, -1 gdy rodzic nie jest ustawiony |
FirstChildIndex | Indeks pierwszego węzła dziecka, -1 gdy węzeł nie ma dzieci |
LastChildIndex | Indeks ostatniego węzła dziecka |
NextSiblingIndex | Indeks następnego elementu rodzeństwa, -1 na końcu listy dzieci |
ChildCount | Liczba bezpośrednich węzłów dzieci |
FirstLexemeIndex | Pierwszy leksem objęty węzłem w tablicy leksemów |
LastLexemeIndex | Ostatni leksem objęty węzłem |
OperatorLexemeIndex | Leksem przechowujący operator węzła operacji, -1 dla pozostałych rodzajów węzłów |
StartOfs | Offset bajtowy, w którym zaczyna się zakres źródłowy węzła |
EndOfs | Offset bajtowy tuż za zakresem źródłowym węzła |
Uwagi dotyczące użycia
- Węzły operacji posiadają swoje operandy i identyfikują leksem operatora osobno przez
OperatorLexemeIndex - Węzły pojemniki zachowują zagnieżdżone tablice, słowniki i procedury bez normalizacji pierwotnej pisowni, więc edycje pozostają zachowujące tokeny
- Odczytuj węzły przez
THPDFContentStreamAST.GetNodezamiast bezpośrednio dotykać wewnętrznej tablicy węzłów