[Diritto] XML

Carlo Strozzi diritto@softwarelibero.it
Tue, 11 Mar 2003 19:51:07 +0100


On Tue, Mar 11, 2003 at 06:48:35PM +0100, Adriano Sponzilli wrote:
> E un formato realizzato in XML non è necessariamente facilmente
> decompilabile, né tantomeno necessariamente libero e documeantato?

Proprio così. In pratica l'XML definisce perfettamente il formato
della "busta", ma non del contenuto. Quindi l'XML ti permette di
capire perfettamente la struttura del "veicolo" dell'informazione,
ma non necessariamente il contenuto dell'informazione stessa.

Sempre a suon di metafore, è come se uno ti dicesse: "io comunico
in modo aperto perchè affido la mia voce alle vibrazioni dell'aria,
che qualunque orecchio è in grado di cogliere". Peccato poi che
quello parli in ostrogoto :-)

Scendendo un pò più nella pratica, questo è un pezzetto di un file .nsc
utilizzato da Windows Media Player per fare cose sue. Non è XML
ma serve a dare bene l'idea di che cosa intendo:

[Address]
Player URL=023m000000001WQ01q07G0S00w02y0Bm1Z06y0P01b06
Name=02SW000000000eI01f07G0Gm1e0640RW1k06K0R01D07K0R01q06
[Description]
Description=02SW000000000eI01f07G0Gm1e0640RW1k06K0R01
...ecc...

Come vedi, in qualche modo io riesco ad intuire il probabile significato
dei vari campi, ma il loro contenuto, pur essendo puro testo, è crittato
e non intelleggibile senza una adeguata documentazione.

Se volessimo rappresentare l'esempio in XML potremmo pensare ad una
struttura di questo tipo (è solo un esempio dei tanti possibili):

<xml version="1.0">
<stream>
  <Address>
    <PlayerURL="023m000000001WQ01q07G0S00w02y0Bm1Z06y0P01b06"/>
    <Name="02SW000000000eI01f07G0Gm1e0640RW1k06K0R01D07K0R01q06"/>
  </Address>
  <Description Description="02SW000000000eI01f07G0Gm1e0640RW1k06K0R01"/>
</stream>

Se "diamo in pasto" questo esempio ad un parser XML, questo lo
interpreterà come XML correttamente strutturato, ma nulla di più.

Come vedi, anche in questo caso non posso che intuire vagamente il
significato probabile dei campi, ma niente di più. Ben diverso sarebbe
lo stesso documento XML in una forma "intelleggibile" anche nel
contenuto, oltre che nella forma:

<xml version="1.0">
<stream>
  <Address>
    <PlayerURL="http://host.domain.com/some/path/"/>
    <Name="Servizio News in tempo reale della Banca del Congo"/>
  </Address>
  <Description Description="Gorilla nella nebbia"/>
</stream>

Anche in questo caso un parser XML giudicherà valida questa struttura,
ma ora anche una persona (ed in particolare un programmatore) è in
grado di capirci qualcosa, e di scrivere un programma per produrre
o leggere questo file, inserendo nei campi cose sensate.

Spero di non averti fatto più confusione del necessario :-)

ciao,
carlo
-- 
For best reading please set the Courier font.
Freedom for Business: http://swpat.ffii.org