Polyglot-uppmärkning

Inom datorer är en polyglot-markering ett dokument eller skript skrivet i en giltig form av flera uppmärkningsspråk , som utför samma utdata, oberoende av uppmärkningens parser , layoutmotor eller tolk . I allmänhet polyglotmarkeringen en vanlig delmängd av två eller flera språk, som kan användas som en robust eller förenklad profil.

Polyglot HTML är HTML som har skrivits för att överensstämma med både HTML- och XHTML -specifikationerna. Ett polyglotdokument kan därför tolkas som antingen HTML (som är SGML -kompatibelt ) eller XML , och kommer att producera samma DOM -struktur åt båda hållen. Till exempel, för att ett HTML5- dokument ska uppfylla dessa kriterier, är de två kraven att det måste ha en HTML5 doctype och vara skrivet i välformaterad XHTML. Samma dokument kan sedan visas som antingen HTML eller XHTML, beroende på webbläsarstöd och MIME-typ.

Polyglot HTML-krav

Som uttrycks av html-polyglot-rekommendationen , för att skriva ett polyglot HTML5-dokument, bör följande nyckelpunkter observeras:

  1. Bearbetningsinstruktioner och XML-deklarationen är båda förbjudna i polyglot-uppmärkning
  2. Ange ett dokuments teckenkodning
  3. DOKTYPEN
  4. Namnutrymmen
  5. Elementsyntax (dvs. Sluttaggar är inte valfria. Använd självstängande taggar för ogiltiga element.)
  6. Elementinnehåll
  7. Text (dvs pre och textarea ska inte börja med nyradstecken)
  8. Attribut (dvs. värden måste anges)
  9. Namngivna enhetsreferenser (dvs. Endast amp, lt, gt, apos, quot)
  10. Kommentarer (dvs. Använd )
  11. Scripting och styling av polyglot-markering

Det mest grundläggande möjliga polyglotmarkeringsdokumentet skulle därför se ut så här:


   
  
    
  
  
  
 <!DOCTYPE html>  <  html  xmlns  =  "http://www.w3.org/1999/xhtml"  lang  =  ""  xml:lang  =  ""  >  <  head  >  <  title  >  Titelelementet får inte vara tomt.  </  title  >  </  head  >  <  body  >  </  body  >  </  html  > 

I ett polyglot-markeringsdokument kan icke-void-element (som script , p , div ) inte vara självstängande även om de är tomma, eftersom detta inte är giltig HTML. Till exempel, för att lägga till ett tomt textområde på en sida kan man inte använda <textarea/> utan måste använda <textarea></textarea> istället.

Se även

externa länkar