| Termin | Definicja |
|---|---|
| Konwersja przypisów | Konwersja przypisów to przeniesienie odnośników dolnych i końcowych przy zmianie formatu dokumentu. Architektura struktur XML i mechanika transformacji znacznikówKonwersja przypisów na poziomie inżynierii oprogramowania biurowego i formatów dokumentów to precyzyjny proces modyfikacji drzewa DOM (Document Object Model) lub relacyjnej struktury znaczników XML. Proces ten modyfikuje system kotwiczenia, indeksowania i przestrzennego renderowania metadanych w obrębie tekstu głównego. W standardzie Office Open XML (OOXML), reprezentowanym przez pliki o rozszerzeniach DOCX, pojedynczy dokument stanowi skompresowane archiwum w formacie ZIP, wewnątrz którego znajduje się hierarchiczna struktura plików. Przypisy dolne oraz przypisy końcowe nie są przechowywane bezpośrednio w tekście, w którym występują. Posiadają one wyizolowane przestrzenie pamięci w postaci osobnych dokumentów, noszących w specyfikacji nazwy word/footnotes.xml oraz word/endnotes.xml. Główna treść dokumentu, zlokalizowana w pliku word/document.xml, odwołuje się do tych zewnętrznych zasobów poprzez system identyfikatorów, wykorzystując znaczniki referencyjne, takie jak <w:footnoteReference w:id="12"/> lub <w:endnoteReference w:id="34"/>. Zainicjowanie procesu konwersji przypisów w interfejsie graficznym edytora uruchamia procedury parsowania w tle. Oprogramowanie ładuje drzewo XML do pamięci RAM, lokalizuje powiązane znaczniki referencyjne, wyodrębnia węzły tekstowe wraz z ich zagnieżdżonym formatowaniem (włączając w to definicje czcionek, tabele, ukryte znaki podziału) z jednego pliku źródłowego, a następnie przenosi je do pliku docelowego. Operacja ta zmusza silnik edytora do wygenerowania nowej, ciągłej mapy identyfikatorów w:id, zapobiegającej duplikacji kluczy w przypadku istnienia w dokumencie mieszanego układu przypisów. Równolegle aplikacja aktualizuje zawartość plików relacyjnych z podkatalogu _rels, odpowiedzialnych za weryfikację adresów zasobów zagnieżdżonych wewnątrz samych przypisów, takich jak odnośniki URL czy grafiki wektorowe. W systemach składu zorientowanych na przetwarzanie strumieniowe, reprezentowanych przez kompilator LaTeX, konwersja zachodzi w zupełnie innych warunkach. Przekształcenie standardowego makra \footnote{} na \endnote{} w kodzie źródłowym wymusza na kompilatorze zmianę logiki alokacji bloków tekstu (box and glue model). Kompilator wstrzymuje wstawianie referencji u dołu bieżącej strony, buforując treść odnośników do tymczasowego pliku pomocniczego o rozszerzeniu .ent. Po przetworzeniu struktury dokumentu głównego, zawartość bufora jest dołączana na końcu generowanego pliku wynikowego PDF lub DVI. Środowiska pracy i rygory narzucane przez cyfrowe formaty wyjścioweZależnie od specyfikacji wybranego środowiska pracy oraz docelowego formatu eksportu, mechanizmy zarządzania przypisami podlegają określonym restrykcjom technicznym. W środowisku nowoczesnych publikacji cyfrowych, w szczególności w specyfikacji EPUB (Electronic Publication) w wersji 3.0, renderowanie tradycyjnych przypisów dolnych napotyka na barierę z powodu braku metadanych opisujących stały podział dokumentu na strony. Formaty klasy reflowable charakteryzują się płynnym układem tekstu, przeliczanym w czasie rzeczywistym przez silnik renderujący czytnika w odpowiedzi na zmianę rozmiaru ekranu lub kroju czcionki. Wynikiem tych ograniczeń jest wymuszona przez konwertery oprogramowania, takie jak Pandoc czy Calibre, konwersja wszystkich przypisów dolnych do postaci przypisów końcowych. Wykorzystuje się w tym celu struktury oparte na standardzie XHTML5, gdzie przypisy zagnieżdżane są w blokach semantycznych <aside epub:type="footnote">. Powiązanie z zawartością tekstu głównego realizowane jest za pomocą standardowych kotwic hipertekstowych, zapewniających dwukierunkową nawigację bez naruszania struktury paginacyjnej na ekranie urządzenia. W systemach DTP (Desktop Publishing) przeznaczonych do składu komputerowego, takich jak Adobe InDesign, masowa konwersja pomiędzy typami przypisów generuje wysokie obciążenie procesora wynikające z konieczności przeliczenia geometrii ramek tekstowych (text threading). Zmiana typu przypisów z dolnych na końcowe zwalnia przestrzeń na dole każdej ramki. Silnik kompozycyjny wymusza przepływ treści z kolejnych modułów w celu eliminacji pustych przestrzeni. W publikacjach naukowych o dużej objętości powoduje to kaskadowe przeliczenie parametrów takich jak kerning, tracking, a także uruchomienie algorytmów zabezpieczających przed występowaniem wdów i sierot dla każdego akapitu w zdefiniowanej sekcji. Podczas procesowania dokumentów o charakterze archiwalnym, procesy konwersji obejmują starsze formaty binarne. Pliki Microsoft Word 97-2003 (.doc), zorganizowane w oparciu o specyfikację OLE Compound File, wymagają zastosowania sprzętowych lub programowych parserów bezpośrednich. W strukturach binarnych lokalizacja przypisów była definiowana za pomocą wskaźników ofsetowych, określających przesunięcia w fizycznych blokach pamięci o stałym rozmiarze. Translacja tych wskaźników na współczesne, abstrakcyjne drzewo XML wymaga wieloetapowego wczytywania struktur i wysokiej precyzji w zachowaniu integralności odniesień do wierszy bazowych. Komplikacje strukturalne i algorytmiczne defekty integralności danychModyfikacja architektury plików biurowych i systemów wiązań referencyjnych rodzi specyficzne defekty programowe. Typowym problemem w obrębie integralności plików XML jest zjawisko przypisu osieroconego. Błąd pojawia się w sytuacji przerwania sekwencyjnego zapisu do archiwum skompresowanego lub wskutek asynchronicznego działania wtyczek wewnątrz edytora tekstu. W konsekwencji wskaźnik referencyjny umiejscowiony w pliku document.xml wciąż wyszukuje identyfikator, którego węzeł tekstowy został nadpisany lub bezpowrotnie wyeliminowany z pliku footnotes.xml. Zaburzenie to skutkuje niepowodzeniem operacji wczytania struktury DOM do pamięci przy kolejnym otwarciu dokumentu. Oprogramowanie zgłasza błąd weryfikacji metadanych i przerywa proces, klasyfikując zbiór danych jako uszkodzony. Do osierocania znaczników często dochodzi również w przypadku interferencji zewnętrznych, działających w tle menedżerów bibliografii, które aplikują własne zapytania XPath do modyfikacji identyfikatorów bez uwzględnienia logiki edytora. Kolejnym specyficznym zjawiskiem wynikającym z natury algorytmów składu jest pętla paginacyjna. Dotyczy ona silników formatujących starszego typu, które w obliczu konwersji obszernych przypisów końcowych na formę dolną, napotykają paradoks alokacji przestrzeni na stronie. Jeśli nowo zdefiniowany blok tekstu w stopce przekracza dostępne wymiary fizyczne strony, mechanizm kompozycji zmuszony jest przenieść znacznik referencyjny, będący kotwicą przypisu, do następnej sekcji. Ten ruch nakazuje przemieszczenie pełnego bloku przypisu dolnego, co natychmiast uwalnia miejsce w sekcji poprzedniej. Algorytm weryfikujący układ cofa kotwicę na wcześniejszą stronę i zjawisko zaczyna powtarzać się w zamkniętym cyklu iteracyjnym (infinite loop). Skutkuje to zatrzymaniem pracy interfejsu graficznego użytkownika oraz ciągłym utrzymywaniem maksymalnego obciążenia sprzętowego zasobów wątku procesora. Problemy występują także na poziomie analizy kaskadowych arkuszy formatujących wewnątrz plików docx. Mapowanie stylów definiowane w dokumencie styles.xml ulega przerwaniu, przez co wskaźniki przypisów po zmianie ich charakterystyki tracą wymuszone formatowanie skryptu górnego (superscript), a ciągi indeksowania korzystające ze znaków specjalnych, cyfr rzymskich lub kodowania szesnastkowego powracają do domyślnego wariantu liczb arabskich przypisanego na stałe do biblioteki edytora. Awarie infrastruktury sprzętowej w kontekście uszkodzeń plików biurowychObszar zagadnień obejmujących formatowanie tekstu, modyfikację znaczników relacyjnych w kodzie XML, obsługę programów typu DTP oraz naprawę struktur błędnie zapisanych dokumentów należy do dyscyplin inżynierii programistycznej i edytorstwa cyfrowego. Rozwiązywanie problemów związanych ze składem, jak błędy podczas konwersji przypisów i załamania układu szpalt, wykracza poza kompetencje techników utrzymujących sprzęt elektroniczny (hardware). Fizyczne serwisy komputerowe nie zajmują się redagowaniem artykułów naukowych, szkoleniami z zakresu pętli paginacyjnej, ani analizą wskaźników ofsetowych w starych plikach tekstowych. Pomiędzy stabilnością oprogramowania a kondycją podzespołów istnieje jednak udokumentowany związek techniczny. Ustawiczne zawieszanie się programu biurowego, w którym następuje uszkodzenie alokacji wirtualnej podczas przeliczania obszernych, złożonych przypisów, stanowi często wczesny indykator sprzętowej usterki modułów pamięci operacyjnej RAM (błędy kontroli parzystości, błędy odświeżania na poziomie tranzystorów układów scalonych). Podobne mechanizmy korelacji występują w przypadku systemów pamięci masowej. Generowanie zniekształconych plików ZIP z obciętymi wierszami XML, skutkujące powstawaniem "osieroconych" znaczników w plikach DOCX, wynika zazwyczaj z utraty sprawności układów NAND we flashowych nośnikach SSD lub fizycznego rysowania powierzchni roboczych nośników HDD i namnażania błędnych sektorów. W ubiegłych latach do placówek sprzętowych regularnie trafiały wysłużone dyski w architekturze IDE oraz czytniki i dyskietki magnetyczne FDD. Celem tych zleceń bywało odzyskiwanie zniekształconych raportów lub projektów akademickich zapisywanych w edytorze WordPerfect dla systemów DOS. Obecnie interwencje w stary i rzadki sprzęt w tym precyzyjnym celu należą do rzadkości. Popularyzacja systemów automatycznej synchronizacji w czasie rzeczywistym na rozproszonych klastrach chmurowych eliminuje zapotrzebowanie na skomplikowane operacje odzysku przestarzałych nośników wyłącznie w celu ratowania struktur przypisów pojedynczych projektów. Jeżeli weryfikacja diagnostyczna wskazuje na krytyczne błędy odczytu plików powiązane ze stanem fizycznym nośników krzemowych lub magnetycznych, a komputer generuje przerwania systemowe, Warszawskie Pogotowie Komputerowe podejmuje działania na warstwie sprzętowej. Obejmują one weryfikację stabilności szyn danych na płycie głównej, kontrolę termiczną kontrolerów dysków oraz niskopoziomowe klonowanie pamięci sektor po sektorze z nośników podlegających degradacji. Nie realizujemy działań następczych polegających na logicznej korekcie pofragmentowanych znaczników XML uszkodzonych przy powstawaniu bad sektorów, ponownym przypisywaniu poprawnych indeksów do wyizolowanego tekstu końcowego, ani poprawianiu estetyki odzyskanych, niesformatowanych plików tekstowych. Utrzymanie integralności danych spoczywa na algorytmach oprogramowania aplikacyjnego, z kolei zadaniem inżyniera jest zapewnienie sprawności zasilania, przesyłu impulsów na płytach drukowanych oraz ogólnej kondycji nośnika bazowego. |