[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