3.12

Sezione 3: Autori

Q 3.12: Come creo i miei tipi di documento?

Analizza la classe di documenti, e scrive un DTD o uno Schema

Precedente

Successivo

I tipi di documento solitamente hanno bisogno di una descrizione formale, che sia un DTD o uno Schema. Seppure è possibile elaborare documenti XML ben formati senza tale descrizione, cercare di crearli senza uno significa cercare problemi.  Vengono usati un DTD o uno Schema con un editor XML o un’interfaccia API per guidare e controllare la costruzione del documento, assicurandosi che il giusto elemento vada nel posto giusto.

Creare il tuo tipo di documento inizia dunque con un’analisi della classe di documento che vuoi codificare: report, fatture, lettere, file di configurazione, richieste di verifica di carta di credito, romanzi, sceneggiati, tesi, o qualsiasi altra cosa. Una volta impostata correttamente la struttura, scrivi il codice per esprimerlo formalmente, usando una sintassi DTD o Schema.

Se vuoi creare un DTD, dovrai imparare la Sintassi di Dichiarazione XML (è molto semplice: la parola chiave della dichiarazione inizia con <! anziché solo con parentesi angolata aperta, e il modo in cui la dichiarazione viene formata è leggermente diverso). Ecco un esempio di una lista della spesa basata sul frammento usato in precedenza:

<!ELEMENT Shopping-List (Item)+>
<!ELEMENT Item (#PCDATA)>

Dice che ci deve essere un elemento chiamato Lista-della-Spesa e che deve contenere elementi chiamati Oggetti: deve esserci almeno un Oggetto (il segno più)ma ce ne può essere più di uno. Dice anche che l’elemento Oggettopuò contenere solo dati di carattere interpretati(PCDATA, ovvero testo: nessun altro markup).

Dato che non ci sono altri elementi che contengono Lista-della-Spesa, viene supposto che quell’elemento sia l’elemento ‘radice’, che racchiude tutto il resto presente nel documento Ora puoi usarlo per creare un file XML: dai al tuo editor la dichiarazione

<?xml version=”1.0″?> <!DOCTYPE Lista-della-Spesa SYSTEM “shoplist.dtd”>

(supponendo che abbia messo DTD in quel file) Ora il tuo editor ti permetterà di creare file secondo il sistema:

<Lista-della-Spesa>  <Oggetto>Cioccolato</Oggetto>  <Oggetto>Zucchero</Oggetto>  <Oggetto>Butter</Oggetto></Lista-della-Spesa>

È possibile sviluppare DTD complessi e potenti molto raffinati, ma per qualsiasi uso significativo dovresti imparare di più sull’analisi dei sistemi di documenti e il design del tipo di documento. Vedi l’esempio (Maler e el Andaloussi (1995)): questo è stato scritto per SGML ma probabilmente il 95% di esso è valido anche per XML, e XML è molto più semplice del SGML completo  vedi lista di restrizioni che mostrano cosa è stato eliminato.

Tra l’altro, un file DTD non ha mai una Dichiarazione DOCTYPE al suo interno: si verifica solo in un’istanza di documenti XML (è ciò che fa riferimento al DTD). E un file DTD non ha nemmeno mai una Dichiarazione XML all’inizio. Sfortunatamente ci sono ancora dei software che inseriscono uno o entrambi.

Leave a Comment

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