4.6

Sezione 4: Sviluppatori

Q 4.6: Cosa è cambiato fra SGML e XML?

Sintassi più ristretta e nessuna opzione.

 

Il cambiamento sintattico principale consiste nel fatto che gli elementi EMPTY in documenti senza DTD devono usare il trucco del Tag di Chiusura Nullo (ad es. <img src=”pic”/>) dato che senza un DTD o uno Schema il parser non ha modo di sapere di non aspettarsi un tag di chiusura. Se un tipo di elemento è dichiarato come EMPTY nel DTD/Schema allora può usare sia il NET o la sintassi di tag di chiusura completa (ad es. <img src=”pic”> </img>).

Fra gli altri cambiamenti sintattici troviamo il fatto che tutti i valori di attributo devono essere fra virgolette; non c’è minimizzazione di attributi o elementi; e tutto è caso sensibile. Un’importante aggiunta è che sono permesse le dichiarazioni ATTLIST multiple, dunque un subset interno può andare ad aggiungere agli attributi già dichiarati per un tipo di elemento.

I cambiamenti principali delle Definizioni di Tipo di Documento (DTD) stanno in ciò che puoi specificare. Per semplificare e rendere più semplice la scrittura del software di elaborazione, un gran numero di opzioni di dichiarazioni markup di SGML sono state soppresse (vedi la lista di caratteristiche omesse). Il cambiamento più grande nella gestione del vocabolario è l’introduzione di Schemi W3C, che permettono un livello di convalida di tipo di contenuto non disponibile nel DTD, e sono espressi in Sintassi di Documento XML.

L’aggiunta principale sono i namespace, che permettono agli Schemi e ai documenti di distinguere le fonti di tipi di elemento e tipi di attributo (proprietà, origine, o applicazione). Questo ti permette di avere tipi di elemento con lo stesso nome ma con significato diverso nello stesso documento, ad es. DocBook:table and TEI:table. È stato aggiunto un Carattere di Inizio del Nome (i due punti) aggiuntivo per fare questo. Nonostante la la sua classificazione, i due punti potrebbero apparire a metà nome, non all’inizio o alla fine, e il prefisso xml: è Riservato.

Leave a Comment

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