Introduzione al software WLXDB (Warlock Light XML Database)
WLXD è un database XML essenziale e leggero. Originariamente pensato come modulo del programma WPkg, si è
progressivamente evoluto verso un utilizzo più generico, fino a divenire un software completamente indipendente.
Come ogni database WLXDB permette di realizzare le seguenti classi di funzioni:
- Creare e distruggere un database.
- Selezionare uno fra diversi database creati
- Creare e rimuovere strutture
- Scrivere e leggere dati
Strutture fondamentali
Per memorizzare e indicizzare i dati WLXDB usa una struttura a rete di nodi, organizzata ad albero, ovvero ogni nodo
può avere piu' "nodi figli" ma ha un unico "nodo padre". Ogni nodo possiede un identificativo composto da due stringhe
di caratteri:
- "La chiave"
- "Il valore della chiave"
[!] Il "valore della chiave" può essere anche nullo e contenere spazzi, al contrario della chiave, che, deve
sempre essere definita e non può contenere ne spazi, ne tab (\t), ne caratteri di fine riga (\n)...
Questa coppia di stringhe e il relativo percorso XML individuano univocamente il dato. Consideriamo il seguente esempio
di sintassi XML:
<Agenda>
<LAVORO Silvio> 0212034056 </LAVORO>
<AMICIZIA Luca Bianchi> 0234506078 </AMICIZIA>
<AMICIZIA Sara Connor> 0600330333 </AMICIZIA>
<LAVORO Gino> 0223400955 </LAVORO>
</Agenda>
Nel banale esempio proposto, la chiave XML, comprensiva di percorso assoluto, che identifica il numero telefonico di
Sara Connor è .Agenda.AMICIZIA Sara Connor, e relativamente a questo nodo la chiave è "AMICIZIA" e il valore
della chiave è "Sara Connor"
Questa soluzione, in cui una coppia di valori è usata come identificativo di un singolo elemento, conferisce maggiore
flessibilità. Ad esempio assegnando alla chiave il numero direlease del dato, e utilizzando come identificativo il
solo valore della chiave si puo' ottenere facilmente un sistema in grado di garantire la consistenza dei dati.
Comunque, nel caso non fosse necessaria tale flessibilità, è sempre possibile utilizzare solo la chiave come
identificativo e dimenticarsi dell'altra stringa.