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