Perché un commento XML non può contenere due trattini

15

Stavo applicando i commenti markdown nei commenti xml di un file di configurazione quando XmlParser ha riportato che due trattini ( -- ) non sono consentiti nei commenti xml.

Controllando la Specifica XML , sembra che il commento xml non sia progettato per contenere due trattini per ragioni di compatibilità con i parser SGML.

Perché i parser SGML non consentono il doppio dei trattini nei commenti?

    
posta OnesimusUnbound 17.05.2013 - 12:48
fonte

2 risposte

29

Questa pagina delinea un bel po 'della cronologia HTML / SGML e le regole piuttosto contorte di quei due trattini consecutivi (doppio trattino).

La parte pertinente su SGML:

To put it simply, the double dash at the start and end of the comment do not start and end the comment. Double dash indicates a change in what the comment is allowed to contain. The first -- starts the comment, and tells the browser that the comment is allowed to contain > characters without ending the comment. The second -- does not end the comment. It tells the browser that if it encounters a > character, it must then end the comment. If another -- is added, then it goes back to allowing the > characters.

    
risposta data 17.05.2013 - 16:04
fonte
11

Poiché un trattino doppio è il delimitatore di commento in SGML. Il <! avvia un'istruzione SGML, il -- indica un commento. Quindi, fondamentalmente è per la stessa ragione per cui un commento C ++ non può contenere */ .

    
risposta data 17.05.2013 - 15:39
fonte

Leggi altre domande sui tag