Schemat do appinfo do określania informacji o relacjach - doswiadczalny - propozycja - DRAFT @2015-11-19 modelowa struktura obietkow generowanych przez algorytm tworzenia mapy przetwarzania obiektow Struktura do wstawiania do appinfo w schematach XSD w miejscu dowiązania relacji do innej tabeli. Z reguły w relacjach 1-1 w kolumnie tabeli lokalnej pojawiał się znacznik klucza tabely zdalnej. W przypadku stworzenia relacji do tabeli zdalnej nie jest możliwe wprowadzenie nazwy kolumny, dla tego należy w tym polu wprowadzić nazwę kolumny, w ramach której dana relacja będzie prowadzona. W danej kolumnie silnik powinien trzymać aktualne dane relacji, mogą być one "cache" oraz obsługiwane przez triggery. Kazdy element ktory ma sluzyc przeszukiwaniu/filtrowaniu w glab powinien miec ten atrybut : W przypadku checi podmiany elementu w jakims complexType - nalezy wlaczyc te atrybuty w elementach: complexType, sequence, element . Ostatni będzie podmieniany, ale to zalezy od innego atrybutu. Jest to unikalny numer elementu dla rekordu zmiany. Ostatni wezel bedzie miec powtorzony ten numer w polu @change_optimize_id_root Kazdy element ktory ma sluzyc przeszukiwaniu/filtrowaniu w glab powinien miec ten atrybut : W przypadku checi podmiany elementu w jakims complexType - nalezy wlaczyc te atrybuty w elementach: complexType, sequence, element . Ostatni będzie podmieniany, ale to zalezy od innego atrybutu. Po tym atrybucie bedzie odnajdywany odpowiedni element w drzewie docelowym. Ten atrybut dziala w parze z replace_attribute_value, ktory mowi o poszukiwanej wartosci tego atrybutu w drzewie przeszukiwanym. Nasz element zmieniany moze nie posiadac takiego atrybutu. W przypadku checi podmiany elementu w complexType o nazwie @name='EMPLOYEE_TYPE' , nalezy w tym atrybucie podac jego wartosc: system_cache__appinfo:replace_attribute_value="EMPLOYEE_TYPE" Kazdy element ktory ma sluzyc przeszukiwaniu/filtrowaniu w glab powinien miec ten atrybut : W przypadku checi podmiany elementu w jakims complexType - nalezy wlaczyc te atrybuty w elementach: complexType, sequence, element . Ostatni będzie podmieniany, ale to zalezy od innego atrybutu. Jest to numer item elementu zmiany, jaki ma byc wprowadzony do glownego drzewa. Obiekt ze struktura podrzedna, wskazujacy na kawalek struktury, ktory bedzie podmieniany w innym obiekcie. Uzywany przy modyfikacji schematu, definiuje sie complexType/sequence/element - wstawia sie specjalne znaczniki , dzieki czemu w duzym schemacie dany complexType/sequence/element o takich samych nazwach moze byc podmieniony z tym. Walidacja schematu nie dziala prawidlowo dla tego obiektu - wymagane jest redefine XSD_Schema w celu wlaczenia dodatkowych atrybutow. complexType zrobiony dla lepszej dokumentacji transformacji XSL uzywajacych tych struktur w silniku. przyklad: xs:complexType name="ACCESS_REQUESTS" system_cache__appinfo:rel_key="@name" system_cache__appinfo:dig_recurse="1" Nalezy wprowadzic glowny klucz nazwy do odnalezienia odpowiednika elementu w drzewie edytowanym Obiekt powsatly na podstawie change za pomoca transformacji xsl o nazwie template mode="system_cache__appinfo:change_optimize_id , dodane ma atrybuty niezbedne do przeszukania w drzewie Jest to numer item elementu zmiany, jaki ma byc wprowadzony do glownego drzewa. przyklad: xs:complexType name="ACCESS_REQUESTS" system_cache__appinfo:rel_key="@name" system_cache__appinfo:dig_recurse="1" Nalezy wprowadzic glowny klucz nazwy do odnalezienia odpowiednika elementu w drzewie edytowanym Jest to unikalny numer elementu dla rekordu zmiany. Ostatni wezel bedzie miec powtorzony ten numer w polu @change_optimize_id_root tak samo atrybuty dostepne @read_key_value lub @evaluate_key_value tak samo atrybuty dostepne @read_key_value lub @evaluate_key_value TODO obiekt do gromadzenia danych komunikacji przez GUI do przygotowania transakcji do zapisu danych/edycji - np. uzytkownik wybral 10 urzadzen, ktore chce pobrac do jakiejs lokalizacji? Do usuniecia - jest to dlugosc w bajtach podstawy restrykcji w buildCOmplexType.xsl zwlaszcza przy 477 w przypadku kiedy na ref nastepuje zapetlenie - zawiera nazwe wyzwalanego obiektu razem z prefixem do uzycia zwlasczcza w p5_tr_map:loop - zawiera nazwe zapetlajacego sie elementu z prefixem. Todo nie koniecznie loop wskazuje na wlasciwa instancje Tabela wykryta gdzie jest przechowywana główna instancja zawartosc nie zawsze oznacza, ze typ odwolania jest referencja - moze to byc uzycie complexType W przypadku kiedy relacja do obcego obiektu nie wynika z zastosowania typu 477 (referencja), zamiast tego uzyty jest typ ComplexType nazwany, to wlaczany jest ten atrybut z ta zawartoscia. Element uzyty np w IN7_DZIENNIK_KORESP/ID_PROJECT w celu opisania relacji cache do innego obiektu (opisany od drugiej strony) np default_db:IN7_MK_BAZA_DYSTRYBUCJI/IN7_MK_BAZA_DYSTRYBUCJI/ID np ="ID" dla wskazania, jakie pole jest lokalnie podstawa do zbudowania relacji, np w przypadku URZADZENIE do URZADZENIE bedzie to ID, ktore ma sie pojawic w PARENT_ID ${basedir}/config/NamespaceBinding.xml Describe which prefix to use to retrieve objects from api (used temporary - should use namespace URL) used in root schema element to use in grouping anc classyfing objects in output styles templates To handle some group in styles/output/object - e.g. Infrastructure