[ KacaXYZ @ 23.01.2005. 07:55 ] @
Zdravo, svima!
Treba mi pomoc. Kako da prevodim Database u XML?Izgleda ovako:
sifra materijal kom
0003 bombona 200
0015 cips 100
0500 cokolade 500
Ukupno 800

Unapred zahvalna.


p.s. postoje 2 nacina:
<?xml version="1.0" encoding="UTF-8"?>
<Baza>
<transport sifra="0003" materijal="bombona" kom="200" />
<transport sifra="0015" materijal="cips" kom="100" />
<transport sifra="0500" materijal="cokolade" kom="500" />
...............???? .............
</Baza>

ili

<?xml version="1.0" encoding="UTF-8"?>
<Baza>
<transport>
<sifra>0003</sifra>
<materijal>bombona</materijal>
<kom>200</kom>
</transport>
<transport>
<sifra>0003</sifra>
<materijal>bombona</materijal>
<kom>200</kom>
</transport>
<transport>
<sifra>0050</sifra>
<materijal>cokolade</materijal>
<kom>500</kom>
</transport>
...........??????????..............
</Baza>
[ _owl_ @ 23.01.2005. 14:08 ] @
Drugi nacin mi se vise svidja.
[ KacaXYZ @ 23.01.2005. 16:33 ] @
@_owl_

Hvala na odgovoru.
ALi ne znam kako da dodam "Ukupno" u XML. To je problemcic.
[ Shadowed @ 23.01.2005. 16:39 ] @
Pa to ukupno ti svakako nije u istoj tabeli kao i ostalo. Naravno ako je zaista baza podataka, mada meni se cini da je izvorni format Excel.
Inace mozes:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<Baza ukupno="800">
<transport>
<sifra>0003</sifra>
<materijal>bombona</materijal>
<kom>200</kom>
</transport>
.......
</Baza>
[ KacaXYZ @ 23.01.2005. 16:53 ] @
@Shadowed
Wow, to je pravi odgovor. Hvala na strpljenju.

p.s. jeste, to je baza podataka. Unosi se samo sifra,materijal,kom, a izlazi se podacima zajedno sa “ukupno” . To je drugaciji metod od obicnog svakodnevnog unosenja.
[ utvara @ 23.01.2005. 17:11 ] @
Kad smo vec kod relacione baze => XML, da li neko ima ozbiljnih
iskustava sa temom. Znaci kako kompleksnije query-je prebaciti u XML.

NPR:

SELECT prezime_ime, br_telefona, mesto, mesto_id FROM somewhere

i lepo dobijemo odgovor od baze i da napakujemo strukuturu

Code:

<grad id="$mesto_id">
      <pretplatnik>
                   <prizime_ime>$preizme_ime</prezime_ime>
                   <telefoni>
                             <telfon>$br_telefona</telefon>
                             <telfon>$br_telefona</telefon>
                   </telefoni>
      </pretplatnik>
</grad>


Da li bi ovo radili sirovim intervencijama nad svakim querijem. Ili
postoji nacin da se napravi OO struktura koja ce ovo evikasno da
odradjuje.

Formirajuci strukturu iz vana ka unutra dosao sam do problema cestih
poziva ka bazi. Ima li ko kakavo pametano razmisljanje?

poz utvara

--
Sve najlepse,
Best regards,
Slobodan
[ broker @ 24.01.2005. 00:04 ] @
Da li XML hoces da koristis kao fizicki format podataka za bazu ili samo kao format za razmenu podataka izmedju raznorodnih aplikacija?
[ utvara @ 24.01.2005. 00:56 ] @
XML je samo forma za razmenu podataka izmedju klijenta i servera,
udaljenih servera i klijenata. Ono sto mi je problem je prebacivanje
podataka na serveru iz MySQL-a u XML.

Znaci za sada ne racunam na XMLdb varijante, geldao sam i db4object
(svidja mi se ideja, mislim da je dobitna) nego me interesuje kako
najbezbolnije ozcupati XML iz relacione baze (pod najbezbolnije
podrazumevam dobar koeficijent upotreba procesora i memorije / vreme
izvrsavanja).

Pozdrav,
utvara

--
Sve najlepse,
Best regards,
Slobodan
[ jablan @ 24.01.2005. 08:19 ] @
MS SQL ima proširenje SQL-a u vidu direktive FOR XML, konkretno FOR XML EXPLICIT ti daje mogućnost da direktno specificiraš kakav izlazni format hoćeš. Doduše, kad se struktura usložni, postaje jako zahebano sve to pisati, a tek održavati.
Treba razmotriti varijantu da SQL vrati običan XML (FOR XML RAW kod MSSQL-a, ili neko jednostavno pakovanje iz datareadera kod drugih baza) pa da se nad tim XML-om radi XSL transformacija koja daje strukturu koja ti treba.
[ broker @ 24.01.2005. 09:52 ] @
Citat:
utvara:
... nego me interesuje kako
najbezbolnije ozcupati XML iz relacione baze (pod najbezbolnije
podrazumevam dobar koeficijent upotreba procesora i memorije / vreme
izvrsavanja).


Moja slobodna procena je da je svejedno, uplitanjem XML-a u svakom slucaju preterano opterecujes resurse.

Koji je razlog da ne koristis prirodan pristup SQL serveru preko mreze?

Native aplikacija ce sigurno mnogo optimalnije da koristi i resurse i konekciju ka bazi a uz to ces raditi nad zivim podacima.
[ utvara @ 24.01.2005. 19:43 ] @
b> Moja slobodna procena je da je svejedno, uplitanjem XML-a u
b> svakom slucaju preterano opterecujes resurse.

b> Koji je razlog da ne koristis prirodan pristup SQL serveru preko mreze?

Razlog je sto se bazi ne pristupa samo iz klijent aplikacije nego i
preko web interfeja, koristi se za generisanje dokumentacije i treba
da se omoguci pristup preko wap-a.

Ergo, po meni je najnormalnije resenje da se za tranport podataka
koristi XML za koji se samo posle napisu XSL-ovi i isparsira po
potrebi.

--
Sve najlepse,
Best regards,
Slobodan
[ Shadowed @ 25.01.2005. 13:01 ] @
Onda je mozda bolje da koristis Web Services. Pogledaj malo SOAP specifikaciju. Koristi XML ali ako radis sa odgovarajucim alatom (Visual Studio.NET npr.) ne moras da vidis nista od tog XML-a.
[ utvara @ 25.01.2005. 15:29 ] @
Pogledacu SOAP, mada mi se cini da nece razresiti moju dilemu.

Inace radim u LAMP okruzenju i vec kroz par projekata razvijam
svoje okruzenje (nekako mi dodje kao hobi :).

--
Sve najlepse,
Best regards,
Slobodan
[ dalibor-zg @ 10.02.2005. 16:22 ] @
Exportiraj cijelu bazu u xml, napisi prekidace u toj sql bazi ili dodaj funkciju u programu koja svaki novi, promijenjeni ili obrisani zapis exportira na disk u xml formatu. Krace, kad promijenis zapis u sql bazi promjenu sacuvaj i u xml-u.
Cak i da imas veliki broj administratora baze dobit u perfomansama je ogromna. Svakako preporucam upotrebu xsl-a kako bi rasteretio serverski procesor pripreme stranica za klijenta.
Ja sam prije dvije godine razvio jedan projekt sa 400.000 xml-ova ali i vlastitim indeksima na file systemu (tako sam sprijecio ponavljanje xml-ova) i posebno prilagodjenim httpd serverom koji zna raditi sa tim indeksima. Ne moram reci da vise ne koristim server za 8000 eura vec za 1200 eura i taj je uglavnom slobodan procesorski i memorijski. Da bi smanjio trajanje procesa moras jos i komprimirati sadrzaj sa gz kompresorom i to ne on fly kao sto to moze apache vec unaprijed komprimiraj da ne procesor na on fly komprimiranje.
Ajd uzdravlje