La lettura del DTD XHTML Una guida per le dichiarazioni XMLLa lettura del DTD XHTML: A Guide to XML Dichiarazioni Anche se il W3C ha avuto per lungo tempo le definizioni del tipo di documento (DTD) per l'HTML, gli sviluppatori utilizzano effettivamente poche quelle DTD come base per imparare il linguaggio HTML. XHTML 1.0 semplifica i DTD con la sintassi XML un po 'più amichevole - che in precedenza utilizzato SGML sintassi più complessa - e l'accento posto sulla convalida può portare agli sviluppatori di esplorare più da vicino. Fare buon uso di XHTML 1.1 richiede un certo livello di comprensione della DTD, in modo da iniziare ora è una buona idea. Fortunatamente, XHTML non usa tutti gli strumenti XML fornisce; capire XHTML è più facile che imparare tutto su XML. NotaIl W3C sta muovendo lentamente verso la sua nuova schemi XML standard per la descrizione delle strutture documento. Ti vogliono imparare schemi XML quando sono pronti, ma la DTD descritto in questa struttura di fornire una solida base per capire them out. È possibile lavorare con XHTML 1.0, senza la comprensione del DTD, perché le regole per l'elemento e attributo di utilizzo sono le stesse di quelle per l'HTML 4.0. Tuttavia, se si pensa di utilizzare la convalida parser con XHTML 1.0, dovete sapere su DTD per capire alcuni dei messaggi di errore che si possono verificare. Inoltre, DTD comprensione può aiutarvi notevolmente con XHTML 1.1 e il suo approccio modulare. NotaPerché non hanno necessariamente bisogno di capire DTD sintassi da usare XHTML, siete i benvenuti al salvataggio di questo articolo, se si preferisce, e tornare ad essa, se e quando ne hai bisogno. Il W3C ha scritto il DTD XHTML per i propri convenienza, rendendoli più gestibile (e ad un livello astratto, più leggibile) - ma a costo di richiedere alcuni riferimenti incrociati per capire esattamente cosa è incluso in un particolare elemento o un attributo. Come risultato, i DTD XHTML non è una lettura consigliata per gli sviluppatori, senza uno sfondo SGML o XML. Le seguenti sezioni introducono i diversi tipi di dichiarazioni utilizzate all'interno del DTD XHTML nelle loro forme più semplici, costruendo le norme più complessi utilizzati per assemblare la DTD XHTML 1.0.
Suggerimento Se si desidera una guida per la creazione e la lettura di DTD XML in tutto il loro splendore, prova XML: APrimer, 2nd Edition da Simon St. Laurent (articoli IDG, 1999). Per ulteriori dettagli sui tecnicismi XML, vedere Elementi XML di Stile (McGraw-Hill, 1999), anche da Simon St. Laurent. Tipo di elemento dichiarazioniOgni documento valido, ha bisogno di uno o più dichiarazioni di tipo di elemento, che descrivono i nomi degli elementi utilizzati all'interno di un documento e il contenuto che appare all'interno di un dato elemento. Se il nome di un elemento viene visualizzato in un documento e non vi è alcuna dichiarazione corrispondente tipo di elemento, la convalida parser segnalare un errore. (Alcuni parser anche fermare la trasformazione, anche se ciò non è necessario). Allo stesso modo, se un elemento viene visualizzato in un contesto dove non è dovuto comparire, la convalida parser errori relazione. La sintassi per le dichiarazioni di tipo di elemento è semplice: elementName contentModel> I nomi degli elementi devono iniziare con lettere, underscore, o due punti, e possono contenere lettere, underscore, due punti, cifre, trattini, e periodi. I nomi degli elementi che iniziano con XML (o qualsiasi variazione sul caso che, come XML o XML) sono riservati per l'utilizzo del W3C. L'uso di due punti è scoraggiato salvo per l'uso con i namespace, che l'articolo 4 descrive. modelli contenuti possono essere molto più complicato, permettendo ai progettisti di specificare le combinazioni complesse di elementi e di testo. Ci sono quattro tipi fondamentali di modelli disponibili contenuti: vuoto, di ogni, modelli di contenuti strutturati, e miste modelli di contenuto. NotaDichiarazioni di tipo Element non fornire qualsiasi background su ciò che è per l'elemento, quali contesti può essere utilizzato in, o ciò che la sua comparsa in un determinato contesto potrebbe significare. È necessario fornire le informazioni che separatamente, in genere nella documentazione. Dichiarazioni di tipo di elemento solo descrivere un piccolo, ma importante, insieme di proprietà degli elementi: nome e il contenuto permesso. Il modello di contenuto vuotoIl VUOTO contenuto del modello è il modello più semplice a disposizione. Elementi vuoti possono utilizzare i tag di elemento vuoto o un insieme di inizio e fine tag con un contenuto di sorta (nemmeno gli spazi) tra di loro. Tuttavia, esse possono (e di solito lo fanno) memorizzare le informazioni in attributi, che sono dichiarati separatamente. Il img e gli elementi br sono entrambi esempi di elementi con EMPTY modelli di contenuto, e le loro dichiarazioni sono molto simili:
Il modello di contenuto QUALSIASIIl QUALSIASI contenuto del modello è così semplice come il modello vuoto. Elementi dichiarati come QUALSIASI può contenere qualsiasi combinazione di testo e (dichiarata) elementi. Il modello QUALSIASI contenuto non viene mai utilizzato all'interno di XHTML 1.0, ma sembra che a volte in documenti XML che contengono contenuti XHTML (magari seguito da un commento): Sviluppatori XML cipiglio per l'uso diffuso delle QUALSIASI, visto come l'introduzione di gravi carenze, ma si può usare in modo appropriato nel vostro DTD proprio all'inizio di un progetto o per preservare gli spazi per estensioni future. Utilizzando questa chiave di decoder, è possibile tradurre il contenuto del modello di dichiarazione del tipo di elemento da tavola e le sue opere in inglese. L'esterno parentesi solo racchiudere l'intero modello di contenuto - un requisito per strutturato dichiarazioni modello di contenuto. Il primo elemento all'interno delle parentesi, la didascalia?, Indica che un elemento caption può apparire una volta come il primo elemento all'interno dell'elemento tavolo (ma è facoltativo) . Il comma seguente didascalia? Indica che gli altri elementi di seguito deve apparire in sequenza. Il pezzo che segue fornisce alcune opzioni: (COL * | COLGROUP *) Questo raggruppamento significa che o elementi COL o colgroup può essere visualizzato dopo la didascalia e prima della thead (se appaiono), ma che gli elementi col colgroup e non possono essere mescolati all'interno di un determinato elemento di tabella. Questo pezzo di codice che dice o zero o più elementi COL o zero o più elementi colgroup possono apparire a questo punto. Se gli sviluppatori dello standard XHTML aveva voluto per permettere elementi COL e colgroup essere mescolati, che avrebbe potuto scrivere: (Col | colgroup) * Questo ci dice che lo zero o più istanze degli elementi Col o colgroup può apparire, senza che vieta sia di apparire in una singola sequenza. Una virgola segue il Col (* | colgroup *) raggruppamento, seguito da thead?. Come didascalia?, Questo permette l'elemento thead a comparire zero o una volta. La virgola che segue permette quindi tfoot? per indicare la possibile comparsa di un elemento tfoot zero o una volta. L'ultima parte del modello di contenuto è simile a quello col (* | colgroup *) raggruppamento, ma con una lieve modifica: (tbody + | + tr) Anche in questo caso, elementi o tbody tr o possono apparire in questa posizione all'interno del modello di contenuto. Tuttavia, almeno in un caso di uno di questi elementi è necessario per un documento valido. Questo è il contenuto richiesto solo all'interno di un elemento della tabella. Nessun caso l'elemento tabella possono apparire senza contenente almeno un tbody o un elemento tr. Misti modelli di contenutoLa maggior parte degli elementi HTML contengono misti modelli di contenuto, Che consentono gli autori del documento di mescolare elementi di testo e insieme per creare pagine web. Misti modelli contenuti in XML sono disponibili in due varietà. La varietà più semplice consente di creare elementi che possono contenere solo testo: L'elemento del titolo, per esempio, può contenere solo testo: PCDATA sta per dati di carattere analizzati, L'unico dei tipi testuali SGML che supporta XML. È possibile scrivere la stessa dichiarazione come questa: L'asterisco è facoltativa quando un testo unico elemento è dichiarato, ma l'asterisco rende più coerente con altri modelli di contenuto misto. Misto modelli che descrivono il contenuto misto di testo e gli elementi sono più complicate. Sembrano strutturati modelli di contenuti, utilizzando il | * e indicatori, ma sono molto limitate nel modo in cui è possibile utilizzarli. La sintassi generale di una dichiarazione del tipo di elemento con contenuto misto di questo tipo è simile al seguente: elementName (# PCDATA | child1 | child2 | ...) *> Misti modelli di contenuto solo consentono di elencare una serie di elementi che possono apparire miscelato con il testo, ma non è possibile specificare la loro sequenza o il numero di volte in cui possono apparire. Ad esempio, se un elemento molto semplice paragrafo contiene solo testo mescolato con elementi in grassetto e corsivo, le dichiarazioni potrebbe assomigliare a questo: Sulla base di tali dichiarazioni, tutti i punti indicati qui sono legali:
Dichiarazioni misti sono utilizzati in tutta la DTD XHTML 1.0, comprendere il loro utilizzo non è necessario conoscere entità parametro (che coprono più avanti in questo articolo). Dichiarazioni di attributo ListDichiarazioni di attributo list consentono di specificare gli attributi che è possibile utilizzare sui tipi di elemento particolare. Ogni elemento in XHTML abbia almeno un core set di attributi in modo che attribuiscono dichiarazioni di lista (talvolta abbreviato ATTLIST dichiarazioni) sono una parte importante della XHTML 1.0 DTD. Si hanno più opzioni per le dichiarazioni di lista di attributi di dichiarazioni di tipo di elemento in XML, ma fortunatamente l'specifiche XHTML 1.0 rimane lontano dai tipi più complicato di attributi. La sintassi di base per una dichiarazione lista di attributi come questo: elementName attName default attType attName default attType ... > Dichiarazioni elenco su più attributi possono essere visualizzati per un singolo tipo di elemento, anche se la prima definizione di un particolare attributo per un dato elemento è quello che viene usato nelle definizioni ripetute. Qualsiasi numero di attributi possono essere definiti per un elemento particolare in una dichiarazione fornita lista di attributi, se non addirittura inesistente: I nomi degli attributi sono soggetti alle stesse regole, come i nomi degli elementi: si deve iniziare con lettere, underscore, o due punti, e può contenere lettere, underscore, due punti, cifre, trattini, e periodi. Attribute nomi che iniziano con XML (o qualsiasi variazione caso il che, come XML o XML) sono riservati per l'utilizzo del W3C. Inoltre, l'uso di due punti è scoraggiato salvo per l'utilizzo con i namespace. Il tipo più semplice di attributo è il tipo CDATA, l'abbreviazione di Carattere DATI. Il valore predefinito più semplice è la parola chiave # IMPLIED, che non fornisce alcun valore di default per l'attributo. Una dichiarazione molto semplice attributo dovrebbe assomigliare a questo: Le seguenti sezioni affrontano i tipi di attributi e le opzioni di default in modo più dettagliato. Tipi di attributiDiamo uno sguardo a come questi attributi sono usati da esplorare sottoinsiemi delle dichiarazioni impiegati nella DTD XHTML. La DTD utilizza entità parametro, di cui più avanti in questo articolo, e gli esempi più piccoli sono più facili da lavorare, in modo creeremo esempi che sono facili da leggere, ma non sono la citazione esatta dal DTD XHTML. Inoltre, come si vedrà, il W3C utilizza entità parametro per specificare le aspettative per il contenuto di un attributo che non possono essere espressi utilizzando i tipi di base. Attributi di tipo CDATA appaiono in tutta la DTD XHTML. CDATA è il modello più avventati, ad accogliere tutti i tipi di esigenze, fissando nel contempo le aspettative molto pochi. Tipi di attributo CDATA può contenere URL, le informazioni numeriche, informazioni di stile - in sostanza tutto ciò che può essere espresso come testo. Un sottoinsieme della dichiarazione di lista di attributi per l'elemento img, ad esempio, potrebbe essere simile a questo: L'attributo src, che prende un URL, viene rappresentato come CDATA. L'attributo alt, che contiene il testo da visualizzare se l'immagine non viene caricata, è anche rappresentato come CDATA, nonostante le differenze tra il suo contenuto e che dell'attributo src. L'altezza e la larghezza di attributi, che accettano lunghezze, utilizzare anche CDATA. CDATA grado di gestire tutti questi tipi diversi, perché così pochi posti restrizioni sul suo contenuto. XHTML 1.0 La raccomandazione tutti i nomi dei suoi attributi di tipo ID come ID e li rende disponibili ad ogni singolo elemento nella DTD. Per aggiungere l'elemento ID per l'elemento img, basta usare questo: O aggiungere questo alla lista precedente: Il IDREF e IDREF tipi di attributi vengono utilizzati più parsimonia. L'elemento label, che consente la creazione di etichette per tutti gli elementi in un documento, ha per attributo che dovrebbe contenere un valore ID che descrive il contenuto di essere etichettato:
|
|||||
| Online: 366 users browsing the articles directory |
|
|