Comprendi SGML e HTML

0

Quando leggo la Specifica HTML 4 .

Il documento dice:

Each markup language defined in SGML is called an SGML application. An SGML application is generally characterized by:

  1. An SGML declaration.
  2. A document type definition (DTD).
  3. A specification that describes the semantics to be ascribed to the markup. This specification also imposes syntax restrictions that cannot be expressed within the DTD.
  4. Document instances containing data (content) and markup. Each instance contains a reference to the DTD to be used to interpret it.

Dal paragrafo precedente, la mia comprensione è che HTML è un SGML application , è giusto? E so che ci sono tre tipi (Traditional, Strict e Frameset) di DTD per HTML4 (no DTD per HTML5). quindi per il seguente esempio di Html. Qual è il tipo di DTD? Grazie.

<Html>
  <head>
  </head>
  <body>
    <p>the test html</p>
  </body>
</Html>
    
posta Joe.wang 18.11.2014 - 16:05
fonte

1 risposta

4

Da HTML 2.0 a HTML 4.01, l'HTML era nominalmente definito come un'applicazione SGML, come descritto nella citazione dalla specifica HTML 4.01. Non è mai stato implementato in questo modo. Almeno non c'è mai stato alcun software pubblicato che implementa effettivamente l'HTML come applicazione SGML. Ciò si riflette nella clausola B.3.3 Funzioni SGML con supporto limitato delle specifiche ; ha descritto le caratteristiche "che non sono ampiamente supportate dagli user agent HTML", che è un eufemismo grossolano; eliminare "ampiamente".

L'esempio non contiene alcuna dichiarazione del tipo di documento (dichiarazione doctype ), quindi non specifica alcuna DTD. Non è un documento HTML 4.01 conforme, dal momento che HTML 4.01 richiede l'utilizzo di una delle tre dichiarazioni del tipo di documento (e rende obbligatorio l'elemento title ). A rigor di termini, non è affatto HTML, anche se i browser lo tratteranno felicemente come HTML. Formalmente, quel pezzo di codice è un documento SGML, dal momento che SGML non richiede l'uso di una dichiarazione del tipo di documento. Ma come tale, non ha significato; è pura sintassi.

    
risposta data 18.11.2014 - 17:42
fonte

Leggi altre domande sui tag