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
Lista derewiacji stworzona w generate_resources_xsl_require_occurs_raport
np. default_accounting___d6e182 - nadrzedny complexType
id uzytego typy dziecka complexType np. default_accounting___d6e182
Nazwa najwyzszego complexType, z ktorego nastepuje dziedziczenie.
unikalny numer dla kazdego z rekordow - uzywany przez sso_procesy5 do wlasciwego przetwoarzenia elementu pod katem znalezienia wlasciwej derewiacji - dla kazdego z elementow @id moga byc rozne konteksty uzycia pod katem dziedziczen.
Poczatek mapy transformacji obiektu
Z reguly przetwarzamy schemat tak, ze element jest przepuszczany do typu 434, dopiero przetwarzamy kolejny typ ktory jest albo dziedziczeniem albo wlasciwym elementem
434 w przypadku wglownego wezla
:when test="local-name()='element' and @type and child::*/local-name()!='simpleType' and $p5_tr_map:last-type='477' and not(@id)" warunek 434n zaraz po 477 ktore sie tyczy zasobow z bazy danych , ktore nie maja @id - TODO jakos madrzej trzeba to wykryc
@2016-01-20 przechodzimy na wyzwalanie 4777 i nie ma juz wyjscia do 434n / 734
Element po @ref , ktory nie jest complexType - zawiera jedna wartosc wzglednie dodatkowo atrybuty. Wymagane instancjonowanie od razu z wartoscia
np. teryt WOJ po refie - ktore nie jest complexType - jest tutaj jedno wstrzymanie na complexType, do przetworzenia na 481 kolejny element.
Element z typem, lokalnie rozszerzony extension/restriction
434r warunek 434r w !__element__! = /schema/complexType//@ref/!__element__!/complexType bez @type za @ref
Element z zawartoscia simpleContent - na pewno nie moze byc to complexContent. Ten elemenet moze zawierac atrybuty. Instancjonowany w tabeli typu instancja+wartosci. Bez dziedziczenia.
Element z zawartoscia simpleContent - na pewno nie moze byc to complexContent. Ten elemenet moze zawierac atrybuty. Instancjonowany w tabeli typu instancja+wartosci. Ostatnie dziedziczenie w przypadku wiecej niz jednego dziedziczenia.
Element z zawartoscia simpleContent - na pewno nie moze byc to complexContent. Ten elemenet moze zawierac atrybuty. Instancjonowany w tabeli typu instancja+wartosci.
Element z zawartoscia simpleContent - na pewno nie moze byc to complexContent. Ten elemenet moze zawierac atrybuty. Instancjonowany w tabeli typu instancja+wartosci. Drugie i kolejne dziedziczenia w przypadku wiecej niz dwoch dziedziczen, nie ostatnie.
Element z zawartoscia simpleContent - na pewno nie moze byc to complexContent. Ten elemenet moze zawierac atrybuty. Instancjonowany w tabeli typu instancja+wartosci. - Pierwsze dziedziczenie w przypadku wiecej niz jednego dziedziczenia.
pomiedzy 4812 a 4810
warunek 494d complexType jako instancja elementu complexType bez @type - bez dziedziczen REMOTE_ID=parent::node()/ID
ten typ 494 jest uzywany w przypadku complexType bez dodatkowych dziedziczen - wylacznie jak jest uzyty element jakiego nazwanego typu
xsl:when test="local-name()='element' and not(@type) and child::node()/local-name()='complexType' and not(@system_cache__appinfo:root_element_in_schema='true')"
element|sequence/complexType/element|sequence|attribute - to jest to cos w rodzaju sequence - element bez wartosci - do ktorego mozna gromadzic atrybuty lub inne elementy - nowy warunek 473b
when test="( local-name()='element' ) and child::node()/local-name()='simpleType' and $p5_tr_map:last-type!='477' warunek 459 (podobny do 428) element lub atrybut typu simpleType np. default_default_objects_types___d10e120614-1 - schema/complexType/seq/ELEMENT/simpleType/restriction/@base
394-720 pobranie wartosci atrybutu po @ref z tabeli instancja+value
Wywolanie pseudo instancji kombinowanej do obiektu plaskiego z default_db , ktorego dane maja byc integrowane z obiektem odwolujacym sie. Tylko jedna jest mozliwa taka referencja i powinna byc ona na pierwszym miejscu w schemacie elementu zaraz za pierwszym sequence.
od 2016-01-20 jest ref do zasobow natywnej plaskiej tabeli , kombinowanej z instancja, w typie 4777 - tylko jedna taka referencja moze byc
Powinien tutaj byc schemat elementu do ktorego sie odwoluje
when test="local-name()='element' and @type and child::* and $p5_tr_map:last-type!='477'
477b wymuszenie 477 na pierwszym elemencie ktory jest @complexType i nie jest ref 477
sa to ComplexType nazwanego typu uzyte jako elementy w schemacie analogicznie jak @ref, z tymze na zasadzie @type. W zwiazku z czym jest troche inne przetwarzanie, ale robimy tak samo jak w 477, z tymze odwolujemy sie do innych nazw i inaczej zachowuja sie dziedziczenia- TODO uzyty jest tylko typ, bez elementu - dziedziczenia zgodne z typem.
4771 (aktualizacja @prefix_for_elements) pobranie atrybutu z referencja. ma @ref i musi miec REMOTE_ID
@2016-01-20 przechodzimy na wyzwalanie 4777 i nie ma juz wyjscia do 434n / 734
Pobranie danych z plaskiej tabeli z API
np. RESOURCE
np. RESOURCE
np. RESOURCE
np. default_default_objects_types__d20e41
np. Teryt_Opcje_Adresowe
tutaj pusty
np. Teryt_Opcje_Adresowe
np. teryt
np. http://biuro.biall-net.pl/xmlschema_procesy5/default_objects/teryt.xsd
np. Teryt_Opcje_Adresowe
tutaj pusty
np. Teryt_Opcje_Adresowe
np. teryt
np. http://biuro.biall-net.pl/xmlschema_procesy5/default_objects/teryt.xsd
np. Teryt_Adres_Prawidlowy
np. Teryt_Adres_Prawidlowy
np. Teryt_Adres_Prawidlowy
np. teryt
np. http://biuro.biall-net.pl/xmlschema_procesy5/default_objects/teryt.xsd
4810 tutaj jest tabela z dodatkowa derewiacja @type, z instancjami, obych obiektow (ComplexType) , pytamy sie o konkretne ID=@REMOTE_ID w konkretnej tabeli (nie ma parent_type)
np. Teryt_Opcje_Adresowe
tutaj pusty
np. Teryt_Opcje_Adresowe
np. teryt
np. http://biuro.biall-net.pl/xmlschema_procesy5/default_objects/teryt.xsd
np. Teryt_Opcje_Adresowe
tutaj pusty
np. Teryt_Opcje_Adresowe
np. teryt
np. http://biuro.biall-net.pl/xmlschema_procesy5/default_objects/teryt.xsd
4812 derewiacja na child::node=complexType , z instancjami, obych obiektow (ComplexType) , pytamy sie o konkretne ID=@REMOTE_ID w konkretnej tabeli (nie ma parent_type)
np. Teryt_Adres_Prawidlowy
np. Teryt_Adres_Prawidlowy
np. Teryt_Adres_Prawidlowy
np. teryt
np. http://biuro.biall-net.pl/xmlschema_procesy5/default_objects/teryt.xsd
481 tutaj jest tabela z instancjami obych obiektow (ComplexType) , pytamy sie o konkretne ID=@REMOTE_ID w konkretnej tabeli (nie ma parent_type)
np. RESOURCE
np. RESOURCE
np. RESOURCE
np. default_default_objects_types__d20e41
434 przepuszczenie pierwszego elementu jezeli ma @type - magazynujemy go w complexType nizej local-name:element @name:TELBOXES @id: INSTANCE_ID: np. dla elementu MAGAZYN, ktory ma @type MAGAZYN
np. default_corespondence:document_position_offer
434b przepuszczenie pierszego elementu dla przypadku //schema/element/complexType - magazynujemy go w complexType nizej local-name:element @name:WOJ @id:TERYT_terc_xml_import_after_main___d44e20 INSTANCE_ID: np. dla elementu teryt(..):WOJ , ktory ma nizej complexType
434c po 477 po refie ktory jest na element
The same like in retrieve_resource_id
The same like in retrieve_resource_id
459b element lub atrybut typu simpleType
np. NAZWA
np. TERYT_terc_xml_import_after_main:NAZWA
np. CRM_LISTA_ZASOBOW
np. xs:int TODO do potrzebny schemat typu prostego
np. TERYT_terc_xml_import_after_main___d44e182
TODO? tutaj pusty? czy to dobrze?
existient todo look for:xs:int; $restriction_path:_start_/element:ID/;
np. default_default_objects_types___d20e438-id-mag-restr
Jest to @id elementu oryginalne z restrykcji, ktore zostalo podmienione w polu @id na odpowiednik obiektu z bazowego schematu, aby trzymac dane w tej samej tabeli
np. default_default_objects_types__d20e41
eg. _start_/element:ID/
459 element lub atrybut typu simpleType
np. prefix:nazwa_attr
np. CRM_LISTA_ZASOBOW
np. xs:int TODO do potrzebny schemat typu prostego .
w 459 - w zaleznosci od sposobu wyrazonej restrykcji moze zdarzyc sie tam @type
np. TERYT_terc_xml_import_after_main___d44e182
existient todo look for:xs:int; $restriction_path:_start_/element:ID/;
np. default_default_objects_types___d20e438-id-mag-restr
Jest to @id elementu oryginalne z restrykcji, ktore zostalo podmienione w polu @id na odpowiednik obiektu z bazowego schematu, aby trzymac dane w tej samej tabeli
np. default_default_objects_types__d20e41
eg. _start_/element:ID/
np. testattr
np. testattr
np. default_default_objects_types__d20e41
np. testattr
The same like in retrieve_resource_id
np. testattr
np. testattr
np. default_default_objects_types__d20e41
np. testattr
The same like in retrieve_resource_id
eg. default_default_objects_types:MAGAZYN
np. LOKALIZACJA
eg. default_default_objects_types:MAGAZYN
eg. default_default_objects_types:MAGAZYN
eg. MAGAZYN
eg. default_default_objects_types:MAGAZYN
np. LOKALIZACJA
eg. default_default_objects_types:MAGAZYN
eg. default_default_objects_types:MAGAZYN
eg. MAGAZYN
eg. default_default_objects_types:MAGAZYN
np. LOKALIZACJA
eg. default_default_objects_types:MAGAZYN
eg. default_default_objects_types:MAGAZYN
eg. MAGAZYN
eg. default_default_objects_types:MAGAZYN
np. LOKALIZACJA
eg. default_default_objects_types:MAGAZYN
eg. default_default_objects_types:MAGAZYN
eg. MAGAZYN
eg. default_default_objects_types:MAGAZYN
np. LOKALIZACJA
eg. default_default_objects_types:MAGAZYN
eg. default_default_objects_types:MAGAZYN
eg. MAGAZYN
raczej jest to complex, wiec root-in schema pojdzie w 343d, nie tu.
Przeniesiony parametr z poprzedniego typu 343d, zaczytany z @name
eg. default_default_objects_types:MAGAZYN
np. LOKALIZACJA
eg. default_default_objects_types:MAGAZYN
eg. default_default_objects_types:MAGAZYN
eg. MAGAZYN
eg. default_default_objects_types:MAGAZYN
np. LOKALIZACJA
eg. default_default_objects_types:MAGAZYN
eg. default_default_objects_types:MAGAZYN
eg. MAGAZYN
eg. default_default_objects_types:MAGAZYN
np. LOKALIZACJA
eg. default_default_objects_types:MAGAZYN
eg. default_default_objects_types:MAGAZYN
eg. MAGAZYN
eg. default_default_objects_types:MAGAZYN
np. LOKALIZACJA
eg. default_default_objects_types:MAGAZYN
eg. default_default_objects_types:MAGAZYN
eg. MAGAZYN
477 (aktualizacja @prefix_for_elements) pobranie elementu z referencja do tabeli natywnej SE lub innej - ma @ref i musi miec REMOTE_ID np. MAGAZYN/sequence/default_db:TELBOXES (@ref) pasuje tez element /MAGAZYN//sequence/teryt:AdresUlica TODO element z ref nie moze miec ID
np. default_db:TELBOXES
np. default_db:TELBOXES
The same like in retrieve_resource_id
np. default_db:CRM_LISTA_ZASOBOW
np. default_db:CRM_LISTA_ZASOBOW
raczej nie potrzebne w dalszym przetwarzaniu _start_/element:@ref:default_default_objects_types:RESOURCE//element:RESOURCE//element:@ref:default_db:CRM_LISTA_ZASOBOW/
np. default_db:TELBOXES
np. default_db:TELBOXES
The same like in retrieve_resource_id
np. default_db:CRM_LISTA_ZASOBOW
np. default_db:CRM_LISTA_ZASOBOW
raczej nie potrzebne w dalszym przetwarzaniu _start_/element:@ref:default_default_objects_types:RESOURCE//element:RESOURCE//element:@ref:default_db:CRM_LISTA_ZASOBOW/
np. default_db:xxxx
np. default_db:xxxx
The same like in retrieve_resource_id
np. default_db:some_attr_refered
np. default_db:CRM_LISTA_ZASOBOW
raczej nie potrzebne w dalszym przetwarzaniu _start_/element:@ref:default_default_objects_types:RESOURCE//element:RESOURCE//element:@ref:default_db:CRM_LISTA_ZASOBOW/
np. default_db:TELBOXES
np. default_db:TELBOXES
The same like in retrieve_resource_id
np. default_db:CRM_LISTA_ZASOBOW
np. default_db:CRM_LISTA_ZASOBOW
raczej nie potrzebne w dalszym przetwarzaniu _start_/element:@ref:default_default_objects_types:RESOURCE//element:RESOURCE//element:@ref:default_db:CRM_LISTA_ZASOBOW/
Wyliczona pozycja elementu w schemacie - powinna byc pierwsza pozycja na lisciu schematu, zaraz za sequence, wiec=0
734 pobranie elementu zwyczajowo z default_db, bo nie ma @id i jest complextype np. MAGAZYN/sequence/default_db:TELBOXES/(obiekt z tabeli TELBOXES z ID=@REMOTE_ID)
np. TELBOXES
np. CRM_LISTA_ZASOBOW
np. ID
np. ID
The same like in retrieve_resource_id
np. CRM_LISTA_ZASOBOW
np. xs:int TODO do potrzebny schemat typu prostego
existient todo look for:xs:int; $restriction_path:_start_/element:ID/;
np. default_default_objects_types___d20e438-id-mag-restr
Jest to @id elementu oryginalne z restrykcji, ktore zostalo podmienione w polu @id na odpowiednik obiektu z bazowego schematu, aby trzymac dane w tej samej tabeli
TODO BLAD - w przykladzie z MAGAZYNU jest wartosc xs:int
np. default_default_objects_types__d20e41
eg. _start_/element:ID/
428a - parent_name:default_default_objects_types:MAGAZYN pusty element - tylko instancja
np. ID
np. ID
The same like in retrieve_resource_id
np. CRM_LISTA_ZASOBOW
np. xs:int TODO do potrzebny schemat typu prostego
existient todo look for:xs:int; $restriction_path:_start_/element:ID/;
np. default_default_objects_types___d20e438-id-mag-restr
Jest to @id elementu oryginalne z restrykcji, ktore zostalo podmienione w polu @id na odpowiednik obiektu z bazowego schematu, aby trzymac dane w tej samej tabeli
TODO BLAD - w przykladzie z MAGAZYNU jest wartosc xs:int
np. default_default_objects_types__d20e41
eg. _start_/element:ID/
np. default_default_objects_types:URZADZENIE
The same like in retrieve_resource_id
np. CRM_LISTA_ZASOBOW
jakiego typu dziedziczenia jest uzyty complexType
mainly at 477 - to detect if child nodes are loop (recursive action) which could be detected by partially instance object ref.
dorzucona struktura na potrzeby synchronizacji refow 2017-03 w p5_tr_map