# Proposta progetto: ROXI

**URL:** <https://www.ruby-forum.com/t/proposta-progetto-roxi/58139>\
**Category:** IT\
**Created:** [April 18, 2006, 10:08pm UTC](https://www.ruby-forum.com/t/proposta-progetto-roxi/58139 "2006-04-18T22:08:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gabriele\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/4da419/32.png) [@Gabriele\_L](https://www.ruby-forum.com/u/Gabriele_L)\
**Post date:** [April 18, 2006, 10:08pm UTC](https://www.ruby-forum.com/t/proposta-progetto-roxi/58139/1 "2006-04-18T22:08:23Z")

</div>

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/](http://microformats.org/)  
[2] [http://xvcl.comp.nus.edu.sg/](http://xvcl.comp.nus.edu.sg/)

---

<div class="post-metadata">

**Author:** ![Gabriele\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/4da419/32.png) [@Gabriele\_L](https://www.ruby-forum.com/u/Gabriele_L)\
**Post date:** [April 18, 2006, 10:45pm UTC](https://www.ruby-forum.com/t/proposta-progetto-roxi/58139/2 "2006-04-18T22:45:28Z")

</div>

Purtroppo non ne so ancora nulla di queste cosucce 🙂 quindi non posso  
aiutarti, ma spero che qualcuno lo possa fare!  
Complimenti per il lavoro iniziato.

–Andrea R.

---

<div class="post-metadata">

**Author:** ![Gabriele\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/4da419/32.png) [@Gabriele\_L](https://www.ruby-forum.com/u/Gabriele_L)\
**Post date:** [April 18, 2006, 11:16pm UTC](https://www.ruby-forum.com/t/proposta-progetto-roxi/58139/3 "2006-04-18T23:16:29Z")

</div>

Parliamone. Sono via per una settimana e mi perderò le ‘negoziazioni’  
dei progetti, ma quello che hai fatto mi sembra molto interessante e  
il tuo stile dimostra grande rigore e passione. Sono interessato.

Credo che ci siano molte sinergie possibili tra questo progetto e  
altre proposte… perchè non lo aggiungi sul wiki tra le proposte?

lo potresti poi puntare da qui: [http://ruby-it.org/pages/Attivismo+Ruby](http://ruby-it.org/pages/Attivismo+Ruby)

On 4/18/06, Gabriele L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 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

## – Chiaroscuro

Liquid Development: [http://liquiddevelopment.blogspot.com/](http://liquiddevelopment.blogspot.com/)

---

<div class="post-metadata">

**Author:** ![Gabriele\_L](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/4da419/32.png) [@Gabriele\_L](https://www.ruby-forum.com/u/Gabriele_L)\
**Post date:** [April 19, 2006, 12:36am UTC](https://www.ruby-forum.com/t/proposta-progetto-roxi/58139/4 "2006-04-19T00:36:23Z")

</div>

martedi 18 aprile 2006, alle 23:15, il navigatore chiaro scuro scrisse:

> Parliamone  
> Sono qui 🙂

> Sono via per una settimana e mi perderò le ‘negoziazioni’  
> dei progetti, ma quello che hai fatto mi sembra molto interessante e  
> il tuo stile dimostra grande rigore e passione. Sono interessato.  
> Grazie 🙂

> Credo che ci siano molte sinergie possibili tra questo progetto e  
> altre proposte… perchè non lo aggiungi sul wiki tra le proposte?  
> Fatto =\>  
> [http://ruby-it.org/pages/Attivismo+Ruby](http://ruby-it.org/pages/Attivismo+Ruby)  
> [http://ruby-it.org/pages/Roxi](http://ruby-it.org/pages/Roxi)

–  
Gabriele L.  
contact me at gabriele dot lana at agilemovement dot it  
[http://www.agilemovement.it](http://www.agilemovement.it) - Italian Agile Movement  
[http://www.xpug.it](http://www.xpug.it) - italian eXtreme Programming User Groups
