4.18

Sezione 4: Sviluppatori

Q 4.18: Devo fare una panoramica di XML per il mio manager/cliente/investitore/consulente. Cosa dovrei includere?

Markup flessibile multi-scopo non proprietario

 

Tad McClellan scrive:

  • XML nonè un linguaggio markup.  XML è un ‘metalinguaggio’, ovvero, è un linguaggio che ti lascia definire  i tuoi linguaggi markup (vedi definizione).
  • XML èun linguaggio markup [due (a quanto pare) affermazioni contraddittorie una dopo l’altra sono un buon modo di attirare l’attenzione che mi piace], non un linguaggio di programmazione. XML è dati: non ‘svolge’ nulla, ma si svolgono cose su di esso.
  • XML è non proprietario: i tuoi dati non possono essere tenuti in ostaggio da qualcun altro.
  • XML permette l’assegnazione di scopi multipli ai tuoi dati.
  • Le applicazioni XML ben progettate spesso separano il ‘contenuto’ dalla ‘presentazione’. Dovresti descrivere cosa èqualcosa anziché descrivere il suo aspetto (con l’eccezione di contenuti di dati numerici o categorici che non vengono mai presentati agli umani).

Dire che ‘i dati sono in XML’ è un’affermazione relativamente inutile, simile a dire ‘il libro è in una lingua naturale’. Per essere utile, quest’ultima ha bisogno di specificare che ‘abbiamo usato XML per definire il nostro linguaggio markup’ (e dire cos’è), simile a specificare ‘il libro è in Francese’.

Un esempio classico dell’assegnazione di scopi multipli e della separazione che uso spesso è quello di una compagnia farmaceutica. Hanno una grande quantità di dati su un particolare farmaco che devono pubblicare come:

  • report al FDA;
  • le informazioni sui farmaci per gli editori di cartelle/cataloghi di farmaci;
  • ricetta di prescrizione da inviare al dottore;
  • piccoli pezzi di carta da mettere in scatole;
  • etichette sulle bottiglie
  • due pagine di stampa in piccolo che seguono la loro inserzione nel Reades’s Digest;
  • istruzioni per il paziente che il farmacista locale stampa;

Senza la separazione dei contenuti e presentazione, devono mantenere essenzialmente informazioni identiche in 20 punti diversi. Se dimenticano un punto, moriranno delle persone, gli avvocati si arricchiranno, e la compagnia farmaceutica sarà al verde. Con XML (o SGML), mantengono un set di informazioni convalidate con attenzione, e scrivono 20 programmi [o un programma con 20 output (Ed)] per estrarle e formattarle per ogni applicazione. Gli stessi 20 programmi possono ora essere applicati a tutte le centinaia di farmaci che vendono.

Nel campo dello sviluppo Web, la cosa più importante che XML offre è quella di sistemare ciò che c’è di sbagliato in HTML:

  • i browser permettono la presentazione di HTML non conformi:
  • HTML è limitato ad un solo gruppo di markup (‘tagset’).

Se lasci che ci sia HTML non funzionante (lo presenti), allora non ci sarà motivo di sistemarlo. Le pagine Web sono dunque un insieme di tag che sono inutili alla successiva elaborazione. XML specifica che l’elaborazione non deve continuare se il XML non è conforme, quindi continui a lavorare finché non si conforma.  Questo significa più lavoro iniziale, ma il risultato non è un vicolo cieco.

Se volessi evidenziare i nomi delle cose: persone, luoghi, aziende, ecc. in HTML, non hai molte scelte che ti permettono di distinguerle. XML ti permette inoltre di dare un nome alle cose come sono:

<person>Charles	Goldfarb</person> worked at <company>IBM</company>

ti da la flessibilità che non hai con HTML:

<B>Charles Goldfarb</B> worked at <B>IBM</B>

Con XML non devi inserire con la forza i tuoi dati in un markup che limita le tue opzioni.

Leave a Comment

Your email address will not be published. Required fields are marked *