O com doparoma ten XML chce byt, Was: Konfigurator - prosim o komentar
Miroslav Sinko
sinkomiro@rocketmail.com
Středa Únor 6 09:33:55 CET 2008
Citaj medzi riadkami..
--- Jan Waclawek <konfera@efton.sk> wrote:
> Dojmy su teda zmiesane, a mam za hrst doplnujucich otazok:
>
> - parser, to je kus zdrojaku (alebo lib alebo cokolvek), co si vlepim
> do svojho programu, a nejako mi predzuje xml pri nacitani, je to tak?
Ano. Najednoduhsie je prilepit len DLL a k nej header. Parsery maju
spravidla 2 typy parsovania: SAX - predhadzuje ti postupne, co cita z
XML; DOM - rozparsuje vsetko naraz, vytvori strom, z ktoreho si Ty
mozes vyberat kedykolvek cokolvek Ta zaujima (doporucuejm DOM).
> - parser je aj free?
Ved som uz pisal. MSXML parser je sucastou kazdych Win (msxmlX.dll, kde
X je cislo verzie).
OpenSource je Xerces parser dostupny pre rozne OS a rozne kompilatory,
v C++ a Jave. Osobne pouzivam hotove binarky (DLL) a C++ header pre
Win.
> - a najde sa aj pre Pascal?
To neviem, ale ak programy v Pascale vedia pracovat s DLL (co
predpokladam), tak by to snad slo pouzit.
> - co je vlastne vstupom, okrem samotneho xml suboru? Aj ten
> neprivetivy "popisovaci" subor?
Schema moze, ale nemusi byt vstupom. Podla toho, ci chces validovat,
alebo nie.
> - a co je vlastne vystupom?
V DOM parseri ten objektovy strom. Classy su definovane v headroch,
rovnako ako metody, ktorymi k stromu pristupujes. Jednoducho vystupom
je class "document" a metodami si prechadzas jednotlive "nody" stromu,
tahas si ich nazvy, hodnoty, atributy, child nody atd...
> - validator, to je osobitny program?
Nie. Je to sucast parsera. Na zaciatku, pred load dokumentu nastavis
vlastnost validovat/nevalidovat. Ak ano, nastavis vlastnost "schema"
(zadas cestu k xsd scheme). Potom zavolas metodu load dokumentu. Ak mas
zapnutu validaciu, vysledkom je OK, alebo chyba validacie - dalsimi
metodami si vytiahnes chybovu hlasku (riadok v XML a popis, co sa mu
nepaci).
Pozor, nie vsetky parsery, ktore najdes, su validacne (maju v sebe
validator). MSXML aj Xerces samozrejme su validacne.
> - je neodpustitelnym hriechom ignorovat existenciu hotovych parserov
> (ako aj standardu vselico vyzadujuceho a predpisujuceho a
> povolujuceho atd.) a napisat si vlastny, hruby a nepresny a
> nerafinovany parser, v ramci nechute sa nieco nove ucit a skusat?
Je to skor zbytocnost. Ak by si chcel napisat validacny parser, tak mas
co robit na peknych par vecerov :-) Zvladnut hotovy parser tak, aby si
vedel pouzit to, co potrebujes, je otazkou par vecerov - dokumentacia
je dost dobra, na nete najdes plno prikladov, pripadne mas zolika
"priatel na e-maili".
> Je jasne ze si vacsinu odpovedi mozem vyguglit, ale ak to nezaberie
> vela casu, bol by som vdacny tym co uz maju chodnicky vyslapane, za
> komentar...
>
> Dakujem
Rado sa stalo :-)
miro
> wek
>
>
> PS. Este stale mi nie je jasne ako na ten medzisubor, zeby aj ten
> XML???
To si zas musim ujasnit, na co presne ma sluzit :-)
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs
Další informace o konferenci Hw-list