Edytor konwersji formatu tekstu w systemie GRAVITY umożliwia przekształcenie danych tekstowych zawartych w jednym z bitów magistrali na strukturę zgodną z wewnętrznym modelem danych GRAVITY — czyli jako zbiory rekordów i bitów.
Edytor został zaprojektowany z myślą o analizie i rozbiorze ustrukturyzowanych danych tekstowych, takich jak fragmenty dokumentów, komunikaty EDI, dane w formatach niestandardowych czy teksty zagnieżdżone hierarchicznie ale może być wykorzystany również do rozbicia standardowych formatów typu XML czy JSON. Budując konwersję należy, wskazać przykładowy tekst wejściowy oraz definiuje znaczniki:
W wyniku działania konwersji dane są rozbijane na rekordy zgodnie z pierwszym poziomem zagłębienia. Kolejne zagłębienia są rozwijane w formie powielanych rekordów, wzbogacanych o dodatkowe bity wynikające z kolejnych poziomów struktury.
Dzięki temu przetwarzaniu możliwa jest automatyczna interpretacja tekstów o złożonej strukturze i ich przekształcenie w spójny, tablicowy układ danych GRAVITY — gotowy do dalszego przetwarzania przez inne operatory.
Edytor dostępny jest w następujących operatorach w systemie GRAVITY
INFORMACJE PODSTAWOWE
Konwersja tekstu do bitów magistrali danych odbywa się poprzez wprowadzenie dowolnego tekstu przez osobę konfiguracyjną. Do tekstu wprowadzone są znaczniki, dzięki którym tekst będzie mógł być interpretowany w trakcie przetwarzania. Do dyspozycji masz znaczniki grup oraz bitów.
Wyróżnione są dwa rodzaje znaczników:
znaczniki grup (zagłębień) → pozwalające na wprowadzenie grup w tworzonym formacie danych (bloków powtarzających się).
<aside> <img src="/icons/info-alternate_green.svg" alt="/icons/info-alternate_green.svg" width="40px" /> Grupę można rozumieć jako blok tekstu (wraz ze znacznikami bitów), który ma zostać zinterpretowany jako powtarzający się w teksie konwertowanym. Operator w trakcie przetwarzania tekstu będzie interpretował tekst między znacznikami grupy jako powtarzający się fragment formatu danych. Możesz myśleć o grupie jak o rekordzie, a znacznikach bitów w grupie jak o kolumnach. Jeśli grupa zawiera podgrupy to ilość bitów wyjściowych ma magistrali będzie sumą bitów z wszystkich grup, ilość rekordów będzie sumą rekordów po drzewie grup (zagłębieniach). Natomiast wartości bitów z zagłębień nadrzędnych zostaną powielone na rekordach pochodzących z zagłębień.
</aside>
<aside> <img src="/icons/info-alternate_green.svg" alt="/icons/info-alternate_green.svg" width="40px" /> Wymagana jest co najmniej jedna grupa w tekście.
</aside>
#S-nazwa_grupy#
→ znacznik rozpoczęcia grupy np: #S-G1#
#E-nazwa_grupy#
→ znacznik zakończenia grupy #E-G1#
znaczniki bitów (danych) → znaczniki bitów określają miejsce w tekście gdzie występuje wartość, która może być zmienna (nie jest stałą częścią tekstu). Z tej wartości powstanie bit na magistrali wyjściowej. Znaczniki bitów mają postać nazwy bitów, jakie mają zostać utworzone na magistrali wyjściowej, ujęte w separatorach początku i końca. Domyślne separatory to {
i }
, ale możesz je zmienić na operatorze wywołującym edytor. Przykład znacznika bitów {bit_name}
.
<aside>
<img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" /> Ponieważ konwersja może być wykonywana na danych tekstowych bez określonego formatu, system ściśle przestrzega wystąpienia znaków w tekście, które nie są ujęte w znaczniki danych. W związku z tym tekst, który jest stały musi się zgadzać co do znaku (również uwzględniając znaki białe), a tekst, który może być zmienny musi zostać ujęty w znacznik danych (mogą to być puste znaczniki bez nazwy np: {}
), pomimo że nie chcemy tych danych wykorzystać.
Nie jest możliwe konwertowanie tekstu, którego struktura może się zmieniać!
Pozostawienie teksu zmiennego bez znaczników danych spowoduje błąd konwersji tekstu, który może być trudny do wykrycia!
</aside>
<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" /> Każde użycie bitu magistrali w teksie wymaga aby był on użyty w ramach jakiegoś znacznika grupy
</aside>
Edytor konwersji zbudowany jest z pola roboczego edytora, gdzie będziesz konfigurował format tekstowy oraz podglądu bitów jakie zostaną utworzone w trakcie konwersji tekstu.
Obszar User format definition jest właściwym obszarem gdzie będziesz budował konwersję tekstu do bitów magistali. Na obszarze tym znajdują się przyciski wspomagające budowę.