ProcessReferencingPart linia 430, TSInfoFiles.pp

private procedure ProcessReferencingPart();

Metoda umożliwiająca przetworzenie części referencjonowanej.

Jest to jedna z dwóch głównych metod przetwarzających zawartość listy źródłowej z pola FInput. Umożliwia przetworzenie drugiej części listy źródłowej, zawierającej definicje wszystkich elementów referencjonowanych pierwszego poziomu. Elementy zdejmowane są z listy z pola FRefElements i uzupełniane brakującymi danymi.

Jeżeli z listy zdjęty zostaje węzeł referencjonowany, podczas uzupełniania jego zawartości istnieje możliwość natrafienia na kolejne referencjonowane atrybuty lub referencjonowane węzły potomne. W takim przypadku kolejne elementy tym razem wstawiane są na początek listy FRefElements za pomocą metody z pola FStoreRefElement i kompletowane jako następne. Dzięki temu proces uzupełniania zagnieżdżonych elementów referencjonowanych jest zgodny z określoną przez format kolejnością ich definiowania.

Proces kompletowania informacji referencjonowanych elementów trwa dotąd, aż z listy pomocniczej zostaną zdjęte wszystkie obiekty elementów. Metoda może przerwać proces kompletowania rzuceniem wyjątku klasy ETSInfoFileException także w przypadku, gdy przetwarzane linie źródłowe nie zawierają definicji aktualnie uzupełnianego elementu. Proces ten również przerywany jest w momencie, gdy przetworzone zostaną wszystkie linie źródłowe, a lista pomocnicza nadal zawierać będzie obiekty elementów. Taka sytuacja oznacza, że niektóre elementy referencjonowane nie posiadają swoich definicji, co jest niezgodne ze specyfikacją formatu.

Wykorzystywana jest jedynie w metodzie ProcessInput, tuż po przetworzeniu głównego ciała drzewa.

zobacz też:

copyright © furious programming 2013—2018