TfrxBLXML
Kontrolka ta służy do zarządzania treścią dokumentów XML Właściwości: property XML : string
Treść XMLa znajdującego się w kontrolce property ListCount
Ilość znalezionych nodów spełniających kryteria określone w funkcji: SelectNodes property ContainsDocXML
Określa, czy kontrolka zawiera XML odczytany jakąś funkcją (False), czy może XML zawierający aktualny dokument (True). Pozwala odczytywać dowolne dane z aktualnego dokumentu.
Funkcje:
Funkcje zwracają wartość BOOLEAN informując w ten sposób, czy operacja się powiodła.
W razie niepowidzenia nie następuje zmiana aktywnego nodu.
function SelectNode(AXPth: string) : boolean
-
ustawia znaleziony node jako aktywny; Zwraca TRUE, jeśli cokolwiek odnaleziono
function SelectNodeAtr(AXPth: string; AAtr : string) : string
-
ustawia znaleziony node jako aktywny; Zwraca wartość atrybutu AAtr w ramach znalezionego noda
function SelectNodes(AXPth: string) : boolean
-
szuka listę nodów spełniającyh kryteria AXPath. Ilość znalezionych nodów jest dostępna właściwość: ListCount. Dostęp do znalezionych nodów poprzez funkcję: ChangeNode
function ChangeNode(AInex: integer) : boolean
-
ustawia jako aktywny wskazany poprzez AIndex node z listy znalezionej poprzez SelectNodes; Lista 0-indexowana
function CloneNode(ASIDFrom, ASIDTo: string): boolean
-
kopiuje dane XML z nodu odpowiadającego ASIDFrom do nodu ASICTo.
Zwraca TRUE, jeśli operacja się powidła.
UWAGA: Funcja nie oznacza dokumentu jako zmodyfikowanego, więc aby dokument się zapisał należy zmodyfikować jakiś inny element dokumentu - np.dodać rekord w tabeli.
function SelectParent : boolean
-
Przechodzi na nadrzędnego nodu
function Atr(AAtr: string) : string
-
Zwraca wartość Atrybutu AArt
function Next : boolean
-
Przechodzi do kolejnego nodu w ramach nodu nadrzędnego
-
Przechodzi do poprzedniego nodu w ramach nodu nadrzędnego
function First : boolean
-
Przechodzi do pierwszego nodu w ramach nodu nadrzędnego
function Last : boolean
-
Przechodzi do ostatniego nodu w ramach nodu nadrzędnego
function NextSimilar : boolean
-
Przechodzi do kolejnego nodu o tej samej nazwie w ramach nodu nadrzędnego
function PriorSimilar : boolean
-
Przechodzi do poprzedniego nodu o tej samej nazwie w ramach nodu nadrzędnego
function FirstSimilar : boolean
-
Przechodzi do pierwszego nodu o tej samej nazwie w ramach nodu nadrzędnego
function LastSimilar : boolean
-
Przechodzi do ostatniego nodu o tej samej nazwie w ramach nodu nadrzędnego
function Eof : boolean
-
Informuje, czy któraś z poprzednio opisanych funkcji (Next;Prior...) właśnie osiągnęła koniec/początek zbioru
function NodeXML : string
-
Treść XML aktualnego nodu
procedure StoreNode
-
Zachowuje aktualny node do wewnętrznego schowka
-
Odczytuje node z wewnętrznego schowka i ustawia go jako aktualny
function LoadDocumentBySQL(ASQL: string): boolean
-
Ładuje wskazany dokument z bazy dokumentów; Uwaga: Polecenie SQL musi sprawdzać, czy dokument jest typu XML; Pole z XML musi być pierwszym polem w wyniku SQLa.
Przykładowy SQL:
select p_dokument_load_from_file(d.idx_dokumentu) from dokumenty d
where d.idx_dokumentu = 1234 and d.format = 'XML'
Zwraca TRUE, jeśli XML aktualnie załadowany XML został prawidłowo sparsowany. function LoadDocumentByName(AIdx_pobytu : integer; AName : string) : boolean
-
j.w., ale szuka dokumentu w ramach pobytu o idx = AIdx_pobytu i nazwie: AName (nazwa oznacza nazwę podaną w definicji dokumentów podpiętych do oddziału (nie nazwę raportu))
Funkcja testuje, czy dokument jest typu XML i tylko taki załaduje
Zwraca TRUE, jeśli XML aktualnie załadowany XML został prawidłowo sparsowany. Jeśli document nie został załadowany (bo np. nie był to XML, to wynik zależsy od tego, czy stary XML, który nie zostanie przez funkcję zmieniony - był prawidłowy)
function LoadDocumentByIdx(AIdx_dokumentu : integer) : boolean
-
j.w., ale szuka konkretnego dokumentu o podanym IDX = AIdx_dokumentu
Funkcja testuje, czy dokument jest typu XML i tylko taki załaduje
Zwraca TRUE, jeśli XML aktualnie załadowany XML został prawidłowo sparsowany. Jeśli document nie został załadowany (bo np. nie był to XML, to wynik zależsy od tego, czy stary XML, który nie zostanie przez funkcję zmieniony - był prawidłowy)