[bcn-pm] lighweight xmlparser

Carlos Escribano ces at tablinum.org
Mon May 31 11:16:43 CDT 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

El Lunes 31 Mayo 2004 17:11, pancake escribió:
> M'interesa trobar un codi petitó q no sigui cap pm. per parsejar un xml a
> l'estil SAX, usase amb callbacks.  Sabeu si existeix cap codi que ho faci?
> algu en te fet cap?

Millor tirar de CPAN directament. Un parser XML no és una tasca senzilla; hi 
ha per ahi trocets de codi que per exemple simplifiquen les coses amb 
expresions regulars, però això no cumpleix totes las posibilitatats previstes 
al standard XML, o sigui que els documents d'entrada tindran restriccions de 
coses que han de excloure. 

Si el que vols és a més filtrar documents a l'aire, potser SAX no és una bona 
idea, de fet segurament no ho es cap parser no validador, millor treballar 
amb DOM i validar, perquè si el document d'entrada conté errades, el teu codi 
començara a fer aigues i no sabras per on agafar-ho. Cocoon o AxKit fan 
servir LibXML/LibXSLT, o Sablotron, que són llibreries en C molt ràpides, a 
les que s'arriba des-de Perl amb frontends. 

Si la documentació és uniforme, i utililitzes el mateix tipus de document, si 
valides externament abans de colocar-la, si control.les bé les entitats 
externes (que no es validen), segurament el que pots fer és un filtre, que 
això si que és al abast.  Per example, el llibre de 'Perl i XML' conté un 
exercici d'integració d'un filtre HTML per a documents DocBook, integrat a 
Apache, tirant de LibXML [1]. No és per a tu, es clar, però és una idea d'un 
filtre personalitzat.  De tota manera no veig l'efectivitat d'un treball 
semblant, perquè DocBook té uns 400 elements. i ara mateix ha sortit una nova 
versió del dtd, la 4.3, que canviua i afegeix coses, i ja tinc una fulla XSLT 
oficial molt complerta i personalitzable.


[1] http://secu.zzu.edu.cn/book/Perl/Perl%20Bookshelf%20%5B3rd%20Ed%
5D/pxml/ch10_03.htm
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFAu1prcrdYjP8t0J0RArHhAKDTa43gVQ62HoBOmmJH3pEiX2mDTgCgyoBc
UYVkvw/CseHjES7hkZXtw6I=
=PLbm
-----END PGP SIGNATURE-----





More information about the Barcelona-pm mailing list