Ho trovato questo CSS (
https://www.cssscript.com/demo/semantic-hierarchy-tree-treeflex/ ) che permette, tramite una struttura <ul><li> di creare una visualizzazione ad albero di vari elementi, è molto carino, e personalizzando il CSS si possono ottenere effetti grafici davvero accattivanti.
Ovviamente la struttura della lista <ul> non è standard ma segue una logica leggermente diversa da quella tradizionale: esempio:
<div class="tf-tree">
<ul>
<li>
<span class="tf-nc">1</span>
<ul>
<li>
<span class="tf-nc">2</span>
<ul>
<li><span class="tf-nc">4</span></li>
<li><span class="tf-nc">5</span>
<ul>
<li><span class="tf-nc">9</span></li>
<li><span class="tf-nc">10</span></li>
</ul>
</li>
<li><span class="tf-nc">6</span></li>
</ul>
</li>
<li>
<span class="tf-nc">3</span>
<ul>
<li><span class="tf-nc">7</span></li>
<li><span class="tf-nc">8</span></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
Che genera una vista come quella allegata.
Ora, partendo da un file, generato da un db, con questa formattazione:
,,,
1:00931-002,,,
,2:00111-002,,
,,4:00876-002,
,,5:00564-002,
,,,9:00451-002
,,,10:00361-002
,,6:00261-002,
,3:00264-002,,
,,7:00221-002,
,,8:00161-002,
Vorrei generare la porzione di codice da inserire in una pagina html e poi eseguirla con il browser predefinito.
Chiarimenti sulla struttura del file:
la prima linea contiene un numero di virgole pari alla massima profondità di <ul>, in questo caso un padre e tre generazioni, quindi tre virgole.
Il padre non ha virgole in quanto è la generazione zero. Una virgola per la prima generazione e così via...
Credo che sia solo una questione di parsing e di taglia e cuci delle stringhe, ma non ho idea da dove partire...
Ho provato in Lazarus, che mi è più "alla mano", ma sono riuscito solo a capire che non mi riesce... :-(
Ho provato in python ed è andata un pò meglio, ma non riesco a risalire alla generazione precedente (vedi elemento "3" che è fratello di elemento "2" entrambi figli di elemento "1")
Volevo ricorrere alla potenza della bash, ma qualcosa mi sfugge...
Consigli?