Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE
- l_enota VARCHAR2(2);
- l_mid NUMBER;
- l_hs NUMBER;
- l_hd VARCHAR2(2000);
- l_labela VARCHAR2(100);
- l_ul_mid NUMBER;
- l_na_mid NUMBER;
- l_ob_mid NUMBER;
- l_pt_mid NUMBER;
- l_po_mid NUMBER;
- l_datum_od VARCHAR2(100);
- l_datum_vod VARCHAR2(100);
- l_datum_od_f DATE;
- l_datum_vod_f DATE;
- l_status VARCHAR2(2);
- l_yc NUMBER;
- l_xc NUMBER;
- l_ns VARCHAR2(100) := 'xmlns:wfs=http://www.opengis.net/wfs/2.0';
- l_ns_f VARCHAR2(100) := 'xmlns:SI.GURS.RPE=https://prostor4.gov.si/ows2-pub/SI.GURS.RPE';
- l_vsebina_xml xmltype;
- l_collection xmltype;
- l_member xmltype;
- l_response clob;
- l_convert clob;
- l_member_c clob;
- l_smeti clob;
- l_req clob;
- l_req_n clob;
- l_startindex NUMBER := 0;
- l_zst NUMBER := 1;
- l_count NUMBER;
- BEGIN
- LOOP
- EXIT WHEN l_startindex > 50000;
- l_req := '<?xml version="1.0" encoding="UTF-8"?>
- <GetFeature request="getFeature" version="2.0.0" service="WFS" outputFormat="application/gml+xml; version=3.2" count="1" xmlns:fes="http://www.opengis.net/fes/2.0" xmlns:SI.GURS.RPE="https://prostor4.gov.si/ows2-pub/SI.GURS.RPE">
- <Query typeNames="SI.GURS.RPE:HS">
- <PropertyName>ENOTA</PropertyName>
- <PropertyName>HS_MID</PropertyName>
- <PropertyName>HS</PropertyName>
- <PropertyName>HD</PropertyName>
- <PropertyName>LABELA</PropertyName>
- <PropertyName>UL_MID</PropertyName>
- <PropertyName>NA_MID</PropertyName>
- <PropertyName>OB_MID</PropertyName>
- <PropertyName>PT_MID</PropertyName>
- <PropertyName>PO_MID</PropertyName>
- <PropertyName>D_OD</PropertyName>
- <PropertyName>DV_OD</PropertyName>
- <PropertyName>STATUS</PropertyName>
- <PropertyName>Y_C</PropertyName>
- <PropertyName>X_C</PropertyName>
- </Query>
- </GetFeature>';
- l_req_n := '<?xml version="1.0" encoding="UTF-8"?>
- <GetFeature request="getFeature" version="2.0.0" service="WFS" outputFormat="application/gml+xml; version=3.2" startIndex="'||l_startindex||'" count="1" xmlns:fes="http://www.opengis.net/fes/2.0" xmlns:SI.GURS.RPE="https://prostor4.gov.si/ows2-pub/SI.GURS.RPE">
- <Query typeNames="SI.GURS.RPE:HS">
- <PropertyName>ENOTA</PropertyName>
- <PropertyName>HS_MID</PropertyName>
- <PropertyName>HS</PropertyName>
- <PropertyName>HD</PropertyName>
- <PropertyName>LABELA</PropertyName>
- <PropertyName>UL_MID</PropertyName>
- <PropertyName>NA_MID</PropertyName>
- <PropertyName>OB_MID</PropertyName>
- <PropertyName>PT_MID</PropertyName>
- <PropertyName>PO_MID</PropertyName>
- <PropertyName>D_OD</PropertyName>
- <PropertyName>DV_OD</PropertyName>
- <PropertyName>STATUS</PropertyName>
- <PropertyName>Y_C</PropertyName>
- <PropertyName>X_C</PropertyName>
- </Query>
- </GetFeature>';
- IF l_startindex = 0 THEN
- l_response := met_akcije_ws.f_ws_klic
- ( p_wse_sifra => 'GURS'
- , p_request_body => l_req
- );
- ELSE
- l_response := met_akcije_ws.f_ws_klic
- ( p_wse_sifra => 'GURS'
- , p_request_body => l_req_n
- );
- put_xl_line('tu sem');
- END IF;
- l_vsebina_xml := xmltype.createxml(l_response);
- l_collection := l_vsebina_xml.EXTRACT('//wfs:FeatureCollection/child::node()'
- ,l_ns
- );
- -- l_convert := l_collection.getClobVal();
- -- put_xl_line(l_convert);
- l_member := l_vsebina_xml.EXTRACT('//wfs:FeatureCollection/wfs:member/child::node()'
- ,l_ns
- );
- -- l_smeti := l_member.getClobVal();
- -- put_xl_line(l_smeti);
- put_xl_line('---------ASD1 Pred Parsiranjem----------');
- LOOP
- IF l_member.EXISTSNODE('/SI.GURS.RPE:HS['||l_zst||']', l_ns_f) = 0 THEN
- EXIT;
- END IF;
- put_xl_line('---------ASD2 Med Parsiranjem----------');
- l_enota := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:ENOTA/child::node()'
- ,l_ns_f).getStringVal();
- l_mid := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:HS_MID/child::node()'
- ,l_ns_f).getStringVal();
- l_hs := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:HS/child::node()'
- ,l_ns_f).getStringVal();
- IF l_member.EXISTSNODE('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:HD/child::node()', l_ns_f) = 0 THEN
- l_hd := NULL;
- ELSE
- l_hd := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:HD/child::node()'
- ,l_ns_f).getStringVal();
- END IF;
- l_labela := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:LABELA/child::node()'
- ,l_ns_f).getStringVal();
- l_ul_mid := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:UL_MID/child::node()'
- ,l_ns_f).getStringVal();
- l_na_mid := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:NA_MID/child::node()'
- ,l_ns_f).getStringVal();
- l_ob_mid := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:OB_MID/child::node()'
- ,l_ns_f).getStringVal();
- l_pt_mid := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:PT_MID/child::node()'
- ,l_ns_f).getStringVal();
- l_po_mid := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:PO_MID/child::node()'
- ,l_ns_f).getStringVal();
- l_datum_od := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:D_OD/child::node()'
- ,l_ns_f).getStringVal();
- l_datum_od_f := TO_DATE(l_datum_od, 'yyyy-mm-dd"t"hh24:mi:ss"z"');
- l_datum_vod := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:DV_OD/child::node()'
- ,l_ns_f).getStringVal();
- l_datum_vod_f := TO_DATE(l_datum_vod, 'yyyy-mm-dd"t"hh24:mi:ss"z"');
- l_status := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:STATUS/child::node()'
- ,l_ns_f).getStringVal();
- l_yc := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:Y_C/child::node()'
- ,l_ns_f).getStringVal();
- l_xc := l_member.EXTRACT('/SI.GURS.RPE:HS['||l_zst||']/SI.GURS.RPE:X_C/child::node()'
- ,l_ns_f).getStringVal();
- l_zst := l_zst +1;
- -- put_xl_line('Zaporedno : ' || l_zst);
- -- put_xl_line('Enota : ' ||l_enota);
- put_xl_line('HS_MID : ' ||l_mid);
- -- put_xl_line('HS : ' ||l_hs);
- -- put_xl_line('HD : ' ||l_hd);
- -- put_xl_line('LABELA : ' ||l_labela);
- -- put_xl_line('UL_MID : ' ||l_ul_mid);
- -- put_xl_line('NA_MID : ' ||l_na_mid);
- -- put_xl_line('OB_MID : ' ||l_ob_mid);
- -- put_xl_line('PT_MID : ' ||l_pt_mid);
- -- put_xl_line('PO_MID : ' ||l_po_mid);
- -- put_xl_line('D_OD : ' ||to_char(l_datum_od_f));
- -- put_xl_line('DV_OD : ' ||to_char(l_datum_vod_f));
- -- put_xl_line('STATUS : ' ||l_status);
- -- put_xl_line('Y_C : ' ||l_yc);
- -- put_xl_line('X_C : ' ||l_xc);
- -- put_xl_line('-----------------------');
- END LOOP;
- l_startindex := l_startindex + 50000;
- END LOOP;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement