Ciao ragazzi,
visto il furore sacro che aleggia nella comunita' italiana di
Ruby, e viste le proposte fatte per iniziare nuovi progetti, propongo
anche il mio
Qualche tempo fa avevo iniziato un progetto che avrebbe dovuto portare
alla realizzazione di un wiki strutturato, putroppo i fondi sono stati
sospesi, e cosi’ il progetto, pero’ ho fatto in tempo ad ultimare un
semilavorato, ovvero una libreria per la manipolazione di documenti
XML che comprende:
- un parser xml scritto ad hoc in C, no validazione, no DTD,
funzionamento misto pull/push (il primo parser pull scritto in C che
io sappia) + i relativi binding per ruby ovviamente - un DOM realizzato per sfuttare la duttilita’ di ruby, quindi non mi
sono rifatto a DOM standard (ex. DOM1/DOM2/DOM3), ma piuttosto a
XLinq di C# 3.0 - un interprete XPath 1.0 100% compliant, parser scritto in C, engine
scritto in ruby (onestamente veloce) - supporto per XUpdate attraverso un DSL
- supporto per XQuery (80% delle funzionalita’) attraverso un DSL
- supporto iniziale per il binding classi Ruby ↔ DOM subtree, ovvero
la possibilita’ di creare delle istanze di classi Ruby da dati
contenuti in un documento XML attraverso una specifica data
Il tutto e’ stato sviluppato in TDD (Test Driven Development), quindi
ci sono piu’ di 400 test automatici che ne provano il funzionamento.
Attualmente non ho molto tempo per portare avanti il progetto, ma
magari qualcuno di voi e’ interessato a darmi una mano
Cosa mancherebbe:
- [Facile] Validazione documenti con Schematron
- [Medio] Validazione documenti con RelaxNG
- [Difficile] Supporto per XSLT
- [Facile] Supporto per manipolazione file RSS
- [Facile] Supporto per manipolazione file Atom
- [Facile] Supporto per manipolazione file OPML
- [Facile] Supporto per manipolazione file
- [Facile] Supporto per estrazione/manipolazione microformats [1]
- [Facile] Supporto XInclude
- [Difficile] Supporto per FOP [2]
- [Medio] Supporto per XLink
- Documentazione. In realta’ i test parlano chiaro, e preferirei che
le cose restassero cosi’, infatti mi piacerebbe realizzare un tool
per la generazione automatica della documentazione a partire dai
test - Deploy/Distribuzione. Attualmente non gestisco in alcun modo la
distribuzione del pacchetto, ci sono solo degli script Rake per
build/test/clean del codice - Porting. Dovrebbe essere verificata la portabilita’ sotto Win* (non
ho mai provato visto che non possiedo una macchina Win*)
Se vi va di divertirvi, fatemelo sapere ![]()
[1] http://microformats.org/
[2] http://xvcl.comp.nus.edu.sg/
quindi non posso