Allora prima di affrontare il bug specifico che descrivi successivamente
è IMHO necessario affrontare prima il problema delle datasource RDF.
Anche se in molta della documentazione in circolazione RDF viene riportato
come formato consigliato per le sorgenti dati, questa pratica è ora deprecata
(o deprecabile :-D) e sono state implementate le modifiche necessarie per poter
utilizzare come sorgenti dati XML e SQLite (nativamente) e altri formati come ad
esempio JSON mediante l'implementazione di una particolare interfaccia IDL.
La dimostrazione pratica è il rapido refactoring in Firefox di hystory
e bookmarks
da RDF a SQLite.
Nel tuo caso essendo la sorgente dati remota io valuterei XML o
l'implementazione
di un custom Query Processor:
* https://developer.mozilla.org/en/XUL/Template_Guide/XML_Templates
* https://developer.mozilla.org/Talk:en/XUL/Template_Guide/XML_Templates
* https://developer.mozilla.org/en/How_to_implement_a_custom_XUL_query_processor_component
* https://developer.mozilla.org/en/XUL/Template_Guide/SQLite_Templates
Mentre per quanto riguarda il tag xul tree, personalmente l'ultima volta
che l'ho utilizzato intensivamente è stato su Firefox 2 (prima cioè che
introducessero le migliorie di cui sopra) e per driblare RDF convertivo
un formato XML ordinario attraverso una TreeView personalizzata:
* https://developer.mozilla.org/En/XUL/Tree
* https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsITreeView
* https://developer.mozilla.org/en/XUL_Tutorial/Custom_Tree_Views
> Il problema che sto incontrando sorge quando
> voglio provare ad utilizzare la funzione di sort nativa del tree:
> sembra che funzioni regolarmente quando *tutti* i campi sono
> compilati, ma se qualche riga ha valore nullo per quel campo, invece
> di venire raggruppato, la riga viene messa in posizione casuale (o con
> un criterio che non sono riuscito a determinare) in mezzo alle righe
> valorizzate.
> Per il momento ho scavalcato il problema attribuendo alle righe con
> campo nullo un valore convenzionale vietato alle altre, in modo che
> vengano raggruppate, e definendo una classe css per la cella in cui il
> testo risulti invisibile, ma e' una soluzione poco elegante che non mi
> piace molto, e che non necessariamente si potrà sempre applicare.
> Mi piacerebbe sapere, se c'e' qualcuno che ne ha avuto esperienza, se
> sono io che non so come dire a xul come ccomportarsi correttamente, o
> se effettivamente è una limitazione a cui bisogna lavorare attorno...
> Grazie a tutti
Questo particolare bug nel mio usecase (che risale comunque alla versione 2
di Firefox... quindi praticamente un'implementazione del tree probabilmente
diversa) non l'ho incontrato, è fattibile per te ricavare uno snippet
ridotto che
riproduca il problema per poter toccare con mano anche noi il problema nella
sua manifestazione a runtime?
Spero nel frattempo che i link e le altre note contenute in questa mail possano
tornarti utili.
Happy hacking,
rpl
figurati... in fondo e' il motivo per cui abbiamo rimesso su una ml
italiana per xul ;-)
> Accidenti, sarebbe stato interessante avere questa informazione quando
> ho cominciato
> a trafficare con XUL... purtroppo i tutorial su MDC e tutto quanto
> riguarda specificamente
> i tree ancora non fa menzione di questo fatto.
Già... appena il lavoro mi lascia un po' di respiro vorrei tallonare
qualcuno di MDC per capire se e come poter fixare questa questione
dell'RDF
> Purtroppo fa la sua comparsa un nuovo problema: con rdf, potevo
> inserire dei meta-dati
> per precisare la natura della colonna da ordinare, in modo che il
> sorting dei numeri venisse
> effettuato correttamente.
Come sempre succede per la legge di Murphy :-D
> Da quando sono passato ad XML invece sembra che il sorting avvenga
> strettamente su base
> alfabetica, con il conseguente effetto che la lista 1,2,10 viene
> ordinata 1,10,2.
> Anche questo problema l'ho temporaneamente aggirato usando un campo
> specifico di sorting,
> nel quale i valori numerici vengono adeguatamente corretti (01,02,10
> etc.), ma preferirei
> essere in grado di comunicare a xul il tipo di dati correttamente...
> come posso farlo in xml o con il template engine?
Hai provato con la funzione xpath 'number'?
http://www.w3.org/TR/1999/REC-xpath-19991116#function-number
Dovrebbe essere possibile fare qualcosa del tipo:
<treecols>
<treecol label='Task' flex='4' sortActive='true'
sortDirectionIndicator='ascending' sort='?description' />
<treecol label='Priorita' flex='1' sortActive='true'
sortDirectionIndicator='ascending' sort='number(?priority)' />
<treecol label='Gravita' flex='1' sortActive='true'
sortDirectionIndicator='ascending' sort='number(?severity)' />
</treecols>
Happy XUL-ing,
rpl