Relazione e differenze tra SGML, XML, HTML e XHTML

17
  1. Mi chiedevo cosa significasse "profilo" in Wikipedia :

    XML is a profile of an ISO standard SGML, and most of XML comes from SGML unchanged.

  2. Secondo link :

    HTML is a subset of SGML.

    XML is a highly functional subset of SGML.

    XHTML extends and subsets HTML.

    "uno è un sottoinsieme di un altro" significa che il codice nel primo è anche sintatticamente corretto e semanticamente uguale al secondo?

    Come nel senso della teoria degli insiemi elementari,

    • sono HTML, XML e XHTML tutti i diversi sottoinsiemi di SGML?
    • XML e HTML non si intersecano quasi tra loro?
    • è XHTML un superset di XML e HTML?
  3. Posso aspettarmi qualche sommario più conciso e chiaro del differenze negli scopi dei quattro e / o quando utilizzare quali, rispetto al link sopra? Sono davvero confuso sulla linea chiara tra i loro scopi previsti.
  4. Secondo link :

    XML is not a single Markup Language. It is a metalanguage to let users design their own markup language.

    Mi chiedevo come comprendere XML e HTML sono entrambi sottoinsiemi di SGML, ma HTML è un linguaggio di markup mentre XML non è un markup linguaggio ma un metalinguaggio per la progettazione di linguaggi di markup?

    SGML e XHTML sono entrambi metalinguaggio per la progettazione del markup lingua?

  5. Come in entrambi i link, l'HTML è un'applicazione di SGML e un sottoinsieme di SGML e XHTML è un'applicazione di XML. Mi chiedo quali siano le differenze tra dire che una lingua è un'applicazione di un altro, e una lingua è un sottoinsieme di un altro?

Grazie e saluti!

    
posta Tim 16.07.2011 - 04:00
fonte

3 risposte

8

HTML e XML sono entrambi linguaggi di markup (da cui il * ML). XML è un linguaggio di markup generico adatto a rappresentare dati arbitrari, mentre HTML è un linguaggio di marcatura specifico adatto solo per rappresentare pagine web.

HTML e XHTML sono entrambi sottoinsiemi solo di SGML, ad eccezione del fatto che XHTML ha specifiche aggiuntive in modo da poter essere validato anche come XML. Pensa all'XML come padrino influente di XHTML.

A causa di questa relazione con SGML in tutte e 3 queste lingue, ci sono molte somiglianze, ma sono tutte considerate lingue diverse. Tuttavia, gran parte di ciò che definisce queste lingue sono le loro restrizioni su SGML.

  • HTML limita SGML definendo un elenco di tag che possono essere utilizzati.
  • XML limita SGML non consentendo tag di inizio e fine non chiusi o vuoti e obbliga gli attributi a essere espliciti. XML ha anche un gran numero di restrizioni aggiuntive che non si trovano in SGML.
  • XHTML limita SGML con i tag da HTML (con alcune esclusioni, come frameset, et al) e con le limitazioni di tag e entità da XML.

Potresti trovare utile questo documento, sebbene i termini tecnici possano essere difficili da digerire. link

XML non è un metalinguaggio per la definizione dei linguaggi di markup. In realtà è solo SGML. XML è semplicemente un linguaggio di marcatura per la formattazione dei dati. La tua fonte citata utilizza termini tecnici imprecisi, motivo per cui sono confusi.

Finalità

XML serve per definire il tuo formato di dati. Se desideri passare i dati tra due sistemi, XML è spesso il modo per farlo.

Se, ad esempio, dovessi trasferire un ordine di vendita dal tuo sito web al tuo sistema di fatturazione, potresti creare questo payload XML:

<order id="12345">
    <name>John Doe</name>
    <item id="443">Adult Diapers</item>
</order>

Il tuo sito Web invierà quindi tale XML al tuo sistema di fatturazione, che potrebbe quindi analizzare i dati da tale XML.

XHTML e HTML sono ovviamente solo per le pagine web. Lo scopo principale dell'XHTML è quello di rimuovere molte delle ambiguità che avevamo negli anni precedenti (decenni) di sviluppo web. Verso la fine degli anni '90, quando ho iniziato, stavamo usando HTML 3.2 che consentiva un codice seriamente sciatto. HTML 4+ e XHTML cercano di porre rimedio a ciò suggerendo o imponendo esplicitamente tag di chiusura, attributi espliciti e tag non consentiti, il che rende più semplice sia per i browser che per gli utenti ed evita differenze impreviste nel comportamento del browser.

    
risposta data 16.07.2011 - 06:23
fonte
6

Inizierò dicendo che XML è un sottoinsieme di SGML, quindi XHTML è un sottoinsieme di XML.

L'HTML è basato su SGML ma con alcune regole diverse. XHTML è fondamentalmente una versione aggiornata dell'HTML, ma con alcune regole lo posiziona quindi è anche corretto XML.

Alcune note su come lo standard HTML 5 funziona con altre specifiche. link

Non sono sicuro delle differenze tra SGML e XML o quando si userebbe l'uno sull'altro. Sebbene XML sembra essere comunemente usato uno.

Per XHTML e HTML probabilmente stai meglio usando sempre XHTML. Gli errori sono più facili da trovare e come bonus sarà anche XML valido.

    
risposta data 16.07.2011 - 04:32
fonte
1

Generalmente nel mondo degli standard, un "profilo" di uno standard è una selezione di opzioni che lo standard offre: ad esempio, se lo standard consente di codificare i documenti in UTF-8 o UTF-16, un profilo del lo standard potrebbe richiedere che siano codificati in UTF-8. Il termine "sottoinsieme" ha un significato molto simile; anche se probabilmente il termine "profilo" è un po 'più ampio.

    
risposta data 16.07.2011 - 14:09
fonte

Leggi altre domande sui tag