рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВред рднрд╛рдЧ рдПрдХ: рдПрдЪ.рдЯреА.рдПрдо.рдПрд▓.


рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!


рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрдВрдЬрди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдкрд░ рд▓реЗрдЦреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ DOM рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рддреЗрдЬ HTML рдкрд╛рд░реНрд╕рд░ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо HTML рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ HTML рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреБрд░рд╛ рдХреНрдпреЛрдВ рд╣реИред


рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ HighLoad ++ рдкрд░ рд╕реВрдЪрдирд╛ рджреАред рд╣рд░ рдХреЛрдИ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд▓реЗрдЦ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рд╣реИрдВред


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдардХ рдХреЛ HTML рдХрд╛ рдореВрд▓ рдЬреНрдЮрд╛рди рд╣реИ: рдЯреИрдЧ, рдиреЛрдбреНрд╕, рддрддреНрд╡, рдирд╛рдо рд╕реНрдерд╛рдиред


HTML рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди


рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк HTML рдкрд╛рд░реНрд╕рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╕реНрдкрд░реНрд╢ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ HTML рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдХреНрдпрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИред


рджреЛ HTML рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рд╣реИрдВ:


  1. WHATWG
    • Apple, Mozilla, Google, Microsoft
  2. W3C
    • рдХрдВрдкрдирд┐рдпреЛрдВ рдХреА рдмрдбрд╝реА рд╕реВрдЪреА

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдкрд╕рдВрдж рдЙрджреНрдпреЛрдЧ рдХреЗ рдиреЗрддрд╛рдУрдВ - WHATWG рдкрд░ рдЧрд┐рд░реАред рд▓рд┐рд╡рд┐рдВрдЧ рд╕реНрдЯреИрдВрдбрд░реНрдб, рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ / рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрдВрдЬрди рдХреЗ рд╕рд╛рдеред


рдЕрджреНрдпрддрди: рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рд░реВрд╕ рд╕реЗ рдирд╣реАрдВ рдЦреБрд▓рддреЗ рд╣реИрдВред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рддрд╛рд░ рдХреЗ рд╕рд╛рде "рдпреБрджреНрдз рдХреА рдЧреВрдВрдЬ"ред


HTML рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛


HTML рдЯреНрд░реА рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЪрд╛рд░ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


  1. рд╡рд┐рдХреЛрдбрдХ
  2. рдкреВрд░реНрд╡ рдЙрдкрдЪрд╛рд░
  3. tokenizer
  4. рдПрдХ рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг

рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рдирддреЗ рд╣реИрдВред


рд╡рд┐рдХреЛрдбрдХ


рдЯреЛрдХрдирдзрд╛рд░рдХ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдг (рдХреЛрдб рдкреЙрдЗрдВрдЯ) рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рд╣рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдг рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред


рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдЬреНрдЮрд╛рдд рдПрдиреНрдХреЛрдбрд┐рдВрдЧ (рдХреЛрдИ HTTP рд╣реЗрдбрд░) рдХреЗ рд╕рд╛рде HTML рдирд╣реАрдВ рд╣реИ, рддреЛ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдЗрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реВрдБрдШрдиреЗ рд╡рд╛рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред


рдпрджрд┐ рдмрд╣реБрдд рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░реАрдо рд╕реЗ 500 рдпрд╛ рдкрд╣рд▓реЗ 1024 рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реАрд╕реНрдХреИрди рдПрдХ рдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░реАрдо рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ http-equiv , content рдпрд╛ charset рд╕рд╛рде <meta> рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред рд╕рдордЭреЗрдВ рдХрд┐ HTML рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдХреНрдпрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ред


Encoding рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрдВрдЬрди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ 21): UTF-8, ISO-8859-2, ISO-8859-7, ISO-8859-8, windows-874, windows-1250, windows-1251, рд╡рд┐рдВрдбреЛрдЬрд╝ -1252, рд╡рд┐рдВрдбреЛ -1254, рд╡рд┐рдВрдбреЛ -1255, рд╡рд┐рдВрдбреЛ -1256, рд╡рд┐рдВрдбреЛ -1257, рд╡рд┐рдВрдбреЛ -1258, gb18030, Big5, ISO-2022-JP, Shift_JIS, EUC-KR, UTF-16BE, UTF-16LE рдФрд░ x-user рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рддред


рдкреВрд░реНрд╡ рдЙрдкрдЪрд╛рд░


рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдбреАрдХреЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ "рдХреНрд▓реАрди рдЕрдк" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдПрдХ рдХреИрд░рд┐рдЬ рд░рд┐рдЯрд░реНрди рдХреИрд░реЗрдХреНрдЯрд░ ( \r \n ) рдХреЗ рд╕рд╛рде рдПрдХ рд▓рд╛рдЗрди рдлреАрдб рдХреИрд░реЗрдХреНрдЯрд░ ( \n ) рдХреЗ рдмрд╛рдж рд╕рднреА рдХреИрд░рд┐рдЬ рд░рд┐рдЯрд░реНрди рдХреИрд░реЗрдХреНрдЯрд░ ( \r ) рдХреЛ рдмрджрд▓реЗрдВред рдлрд┐рд░, рд╕рднреА рдХреИрд░реЗрдЬрд╝ рд░рд┐рдЯрд░реНрди рд╡рд░реНрдгреЛрдВ рдХреЛ рдПрдХ рдирдИ рд╡рд░реНрдг ( \n ) рд╕реЗ рдмрджрд▓реЗрдВред


рдЗрд╕рд▓рд┐рдП рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред рдЕрд░реНрдерд╛рдд, \r\n => \r , \r => \n ред


рд▓реЗрдХрд┐рди, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЛрдИ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдЖрд╕рд╛рди рдмрдирд╛рдПрдВ:


рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдЧрд╛рдбрд╝реА рд╡рд╛рдкрд╕реА рдЪрд░рд┐рддреНрд░ ( \r ) рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдкрдВрдХреНрддрд┐ рдлрд╝реАрдб рд╡рд░реНрдг ( \n ) рд╣реИред рдпрджрд┐ рд╡рд╣рд╛рдБ рд╣реИ, рддреЛ рд╣рдо рджреЛрдиреЛрдВ рд╡рд░реНрдгреЛрдВ рдХреЛ рдкрдВрдХреНрддрд┐ рдлрд╝реАрдб рд╡рд░реНрдг ( \n ) рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╣рдо рдХреЗрд╡рд▓ рдкреНрд░рдердо рд╡рд░реНрдг ( \r ) рдХреЛ рдкрдВрдХреНрддрд┐ рдлрд╝реАрдб ( \n ) рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред


рдпрд╣ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рдВ, рдЖрдкрдХреЛ рдмрд╕ рдЧрд╛рдбрд╝реА рдХреЗ рд╡рд╛рдкрд╕реА рдХреЗ рдкреНрд░рддреАрдХреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡реЗ рдЯреЛрдХрдирдзрд╛рд░рдХ рдореЗрдВ рди рдкрдбрд╝реЗрдВред рдЯреЛрдХрдирдзрд╛рд░рдХ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдЧрд╛рдбрд╝реА рдХреЗ рд╡рд╛рдкрд╕реА рдЪрд┐рдиреНрд╣ рдХрд╛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред


рдкрд╛рд░реНрд╕рд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпрд╛рдБ


рддрд╛рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреЛрдИ рд╕рд╡рд╛рд▓ рди рд╣реЛ, рдЖрдк рддреБрд░рдВрдд рдмрддрд╛рдПрдВ рдХрд┐ рдПрдХ рдХреНрдпрд╛ ( parse error )ред


рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рдереЗ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдФрд░ рд╣реИред


рдкрд╛рд░реНрд╕рд┐рдВрдЧ рддреНрд░реБрдЯрд┐ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдпрд╛ рдЯреНрд░реА рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдХреЛ рд░реЛрдХ рдирд╣реАрдВ рдкрд╛рдПрдЧреАред рдпрд╣ рдПрдХ рд╕рдВрджреЗрд╢ рд╣реИ рдЬреЛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡реИрдз HTML рдирд╣реАрдВ рд╣реИред


рдкрд╛рд░реНрд╕рдЧ рддреНрд░реБрдЯрд┐ рд╕рд░реЛрдЧреЗрдЯ рдЬреЛрдбрд╝реЗ, \0 , рдЧрд▓рдд рдЯреИрдЧ рд╕реНрдерд╛рди, рдЧрд▓рдд <!DOCTYPE> рдФрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред


рд╡реИрд╕реЗ, рдХреБрдЫ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк "рдЦрд░рд╛рдм" <!DOCTYPE> рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ HTML рдЯреНрд░реА рдХреЛ QUIRKS рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХреБрдЫ DOM рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рддрд░реНрдХ рдмрджрд▓ рдЬрд╛рдПрдВрдЧреЗред


tokenizer


рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЯреЛрдХрди рдЯреЛрдХрди рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд░рд╛рдЬреНрдп рдорд╢реАрди рд╣реИ рдЬрд┐рд╕рдореЗрдВ 80 рд░рд╛рдЬреНрдп рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдЬреНрдп рдореЗрдВ, рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐рдпрд╛рдБред рдкреНрд░рд╛рдкреНрдд рдЪрд░рд┐рддреНрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЯреЛрдХрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:


  1. рдЕрдкрдирд╛ рд░рд╛рдЬреНрдп рдмрджрд▓реЗрдВ
  2. рдПрдХ рдЯреЛрдХрди рдмрдирд╛рдПрдВ рдФрд░ рд╕реНрдерд┐рддрд┐ рдмрджрд▓реЗрдВ
  3. рдХреБрдЫ рдордд рдХрд░реЛ, рдЕрдЧрд▓реЗ рдЪрд░рд┐рддреНрд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЛ

рдЯреЛрдХрдирдзрд╛рд░рдХ рдЫрд╣ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреЛрдХрди рдмрдирд╛рддрд╛ рд╣реИ: DOCTYPE, рд╕реНрдЯрд╛рд░реНрдЯ рдЯреИрдЧ, рдПрдВрдб рдЯреИрдЧ, рдХрдореЗрдВрдЯ, рдХреИрд░реЗрдХреНрдЯрд░, рдПрдВрдб-рдЯреВ-рдлрд╛рдЗрд▓ред рдЬреЛ рдПрдХ рдкреЗрдбрд╝ рдмрдирд╛рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВред


рдпрд╣ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдХрд┐ рдЯреЛрдХрдирдзрд╛рд░рдХ рдХреЛ рдЕрдкрдиреЗ рд╕рднреА рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╣рд╛рдВ рд▓рдЧрднрдЧ 40% (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЫрдд рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред "рдмрд╛рдХреА рдХреНрдпреЛрдВ?" - рдЖрдк рдкреВрдЫреЗрдВред рд╢реЗрд╖ 60% рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЪрд░рдг рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИред


рдпрд╣ <textarea> , <style> , <script> , <title> рдЗрддреНрдпрд╛рджрд┐ рдЬреИрд╕реЗ рдЯреИрдЧреНрд╕ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рд╡реЗ рдЯреИрдЧ рдЬрд┐рдирдореЗрдВ рд╣рдо рдЕрдиреНрдп рдЯреИрдЧ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЦреБрдж рдХреЛ рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, <title> рдореЗрдВ рдЕрдиреНрдп рдЯреИрдЧ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред <title> рдореЗрдВ рдХреЛрдИ рднреА рдЯреИрдЧ рддрдм рддрдХ рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рд╡рд╣ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдкрди рдЯреИрдЧ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ </title> ред


рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдЖрдЦрд┐рд░рдХрд╛рд░, рдЖрдк рдХреЗрд╡рд▓ рдЯреЛрдХрдирдзрд╛рд░рдХ рдХреЛ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдЧрд░ рд╣рдо <title> рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ <title> рддреЛ рд╣рдо "рдЬрд┐рд╕ рд░рд╛рд╕реНрддреЗ рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ" рдХреЗ рд╕рд╛рде рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рд╕рдЪ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдирд╛рдо рд╕реНрдерд╛рди рдирд╣реАрдВ! рд╣рд╛рдВ, рдиреЗрдорд╕реНрдкреЗрд╕ рдЯреНрд░реА-рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдЪрд░рдг рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдЯреЛрдХрди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, HTML рдФрд░ SVG рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ <title> рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:


рдПрдЪрдЯреАрдПрдордПрд▓


 <title><span></span></title> 

рдПрдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо:


 <title> "<span></span>" 

рдПрд╕рд╡реАрдЬреА


 <svg><title><span></span></title></svg> 

рдПрдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо:


 <svg> <title> <span> "" 

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ (HTML рдирд╛рдо рд╕реНрдерд╛рди) <span> рдкрд╛рда рд╣реИ, span рддрддреНрд╡ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ (SVG рдирд╛рдо рд╕реНрдерд╛рди), рдПрдХ рддрддреНрд╡ <span> рдЯреИрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрд░реНрдерд╛рддреН, рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЯреИрдЧ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред


рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред рдЗрд╕ "рдЬреАрд╡рди рдХрд╛ рдЙрддреНрд╕рд╡" рдкрд░ рдХреЗрдХ рдпрд╣ рддрдереНрдп рд╣реИ рдХрд┐ рдЯреЛрдХрдирдзрд╛рд░рдХ рдХреЛ рд╕реНрд╡рдпрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЪрд░рдг рдХреЛ рдХрд┐рд╕ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ CDATA рдХреЛ рдареАрдХ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реИред


CDATA , рджреЛ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рджреЛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:


рдПрдЪрдЯреАрдПрдордПрд▓


 <div><![CDATA[  ]]></div> 

рдПрдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо:


 <div> <!--[CDATA[  ]]--> 

рдПрд╕рд╡реАрдЬреА


 <div><svg><![CDATA[  ]]></svg></div> 

рдПрдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо:


 <div> <svg> "  " 

рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ (HTML рдирд╛рдо рд╕реНрдерд╛рди), рдЯреЛрдХрди рдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП CDATA рд▓рд┐рдпрд╛ред рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЯреЛрдХрдирдзрд╛рд░рдХ рдиреЗ CDATA рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдирд┐рдпрдо рдпрд╣ рд╣реИ: рдпрджрд┐ рд╣рдо HTML рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ CDATA рдирд╣реАрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рд╣рдо рдЗрд╕реЗ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВред


рдпрд╣ рдЯреЛрдХрдирд░ рдФрд░ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмреАрдЪ рддрдВрдЧ рд╕рдВрдмрдВрдз рд╣реИред рдЯреЛрдХрдирдзрд╛рд░рдХ рдХреЛ рдпрд╣ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯреНрд░реА рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдХрд┐рд╕ рдЪрд░рдг рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, рдФрд░ рдЯреНрд░реА рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдХрд╛ рдЪрд░рдг рдЯреЛрдХрдирдзрд╛рд░рдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред


рдЯреЛрдХрди


рдиреАрдЪреЗ рд╣рдо рдЯреЛрдХрдирдзрд╛рд░рдХ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╕рднреА рдЫрд╣ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреЛрдХрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╕рднреА рдЯреЛрдХрди рдиреЗ рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реИ рдФрд░ "рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ"ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рднреА рдирд╛рдорд┐рдд рдЪрд░рд┐рддреНрд░ рд╕рдВрджрд░реНрдн, рдЬреИрд╕реЗ © , рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред


DOCTYPE рдЯреЛрдХрди


DOCTYPE рдЯреЛрдХрди рдХреА рдЕрдкрдиреА рд╕рдВрд░рдЪрдирд╛ рдЕрдиреНрдп рдЯреИрдЧ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИред рдЯреЛрдХрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:


  1. рдкрд╣рд▓рд╛ рдирд╛рдо
  2. рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛
  3. рд╕рд┐рд╕реНрдЯрдо рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛

рдЖрдзреБрдирд┐рдХ HTML рдореЗрдВ, рдХреЗрд╡рд▓ рдорд╛рдиреНрдп / рдорд╛рдиреНрдп DOCTYPE рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:


 <!DOCTYPE html> 

рдЕрдиреНрдп рд╕рднреА <!DOCTYPE> рдХреЛ рдПрдХ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рддреНрд░реБрдЯрд┐ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред


рдЯреИрдЧ рдЯреЛрдХрди рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ


рдЙрджреНрдШрд╛рдЯрди рдЯреИрдЧ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:


  1. рдЯреИрдЧ рдХрд╛ рдирд╛рдо
  2. рдЧреБрдг
  3. рдЭрдВрдбреЗ

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,


 <div key="value" /> 

рдЙрджреНрдШрд╛рдЯрди рдЯреИрдЧ рдореЗрдВ рдПрдХ self-closing рдзреНрд╡рдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдзреНрд╡рдЬ рдЯреИрдЧ рдХреЗ рд╕рдорд╛рдкрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЧреИрд░- рд╢реВрдиреНрдп рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╛рд░реНрд╕рд┐рдВрдЧ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред


рдЕрдВрдд рдЯреИрдЧ рдЯреЛрдХрди


рдЯреИрдЧ рдмрдВрдж рдХрд░рдирд╛ред рдЗрд╕рдореЗрдВ рд╢реБрд░реБрдЖрддреА рдЯреИрдЧ рдХреЗ рдЯреЛрдХрди рдХреЗ рд╕рднреА рдЧреБрдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЯреИрдЧ рдирд╛рдо рдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рд╕реНрд▓реИрд╢ / рд╣реИред


 </div key="value" /> 

рд╕рдорд╛рдкрди рдЯреИрдЧ рдореЗрдВ рдПрдХ self-closing рдзреНрд╡рдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рд░реНрд╕рд┐рдВрдЧ рддреНрд░реБрдЯрд┐ рд╕рдорд╛рдкрди рдЯреИрдЧ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рд╣реЛрдЧреАред рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЪрд░рдг рдореЗрдВ рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рдЯрд┐рдкреНрдкрдгреА рдЯреЛрдХрди


рдЯрд┐рдкреНрдкрдгреА рдЯреЛрдХрди рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдЯрд┐рдкреНрдкрдгреА рдкрд╛рда рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдзрд╛рд░рд╛ рд╕реЗ рдЯреЛрдХрди рдХреА рдирдХрд▓ рд╣реИред


рдЙрджрд╛рд╣рд░рдг


 <!--  --> 

рдЪрд░рд┐рддреНрд░ рдЯреЛрдХрди


рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдЯреЛрдХрдиред рдпреВрдирд┐рдХреЛрдб рдЯреЛрдХрди рдкреНрд░рддреАрдХред рдПрдХ (рдХреЗрд╡рд▓ рдПрдХ) рдЪрд░рд┐рддреНрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред


HTML рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЛрдХрди рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЪрд░рдг рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


HTML рдбреЗрдЯрд╛ рд▓реЗрдВ:


 <span> ! &reg;</span> 

рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рдЯреЛрдХрди рдмрдирд╛рдП рдЬрд╛рдПрдВрдЧреЗ? рдЙрддреНрддрд░: 22


рдирд┐рд░реНрдорд┐рдд рдЯреЛрдХрди рдХреА рд╕реВрдЪреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:


 Start tag token: <span> Character token:  Character token:  Character token:  Character token:  Character token:  Character token: Character token:  Character token:  Character token:  Character token:  Character token:  Character token:  Character token:  Character token:  Character token:  Character token:  Character token: ! Character token: Character token: End tag token: </span> End-of-file token 

рдЖрд░рд╛рдо рдирд╣реАрдВ рд╣реИ, рд╣реИ рдирд╛? рд▓реЗрдХрд┐рди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, HTML рдкрд╛рд░реНрд╕рд░ рдХреЗ рдХрдИ рдирд┐рд░реНрдорд╛рддрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЯреЛрдХрди рд░рдЦрддреЗ рд╣реИрдВред рдЗрд╕реЗ рдПрдХ рд╕рд░реНрдХрд▓ рдореЗрдВ рдЪрд▓рд╛рдирд╛ рдФрд░ рд╣рд░ рдмрд╛рд░ рдирдП рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдирд╛ред


рдЪрд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ: рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдЗрд╕ рдкрд╛рда рдХреЛ рдПрдХ рд╣реА рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рдП? рдЙрддреНрддрд░ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЪрд░рдг рдореЗрдВ рд╣реИред


HTML рдЯреНрд░реА рдмрдирд╛рдиреЗ рдХреЗ рдЪрд░рдг рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЯреЛрдХрди рдмреЗрдХрд╛рд░ рд╣реИред рдпрд╣ рдПрдХ рдкреЗрдбрд╝ рдмрдирд╛рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ рд╣реИ рдХрд┐ рдкрд╛рда рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдЪрд┐рдкрдХрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:


  1. рдпрджрд┐ U+0000 ( NULL ) рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдг рдЯреЛрдХрди рдЖрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдПрдХ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВ рдФрд░ рдЯреЛрдХрди рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВред
  2. рдпрджрд┐ рдХреЛрдИ U+0009 ( CHARACTER TABULATION ), U+000A ( LINE FEED (LF) ), U+000C ( FORM FEED (FF) ) рдпрд╛ U+0020 ( SPACE ) рд╡рд░реНрдг рдЯреЛрдХрди рдЖрдпрд╛ рд╣реИ, рддреЛ рд╕рдХреНрд░рд┐рдп рд╕реНрд╡рд░реВрдкрдг рддрддреНрд╡реЛрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдкреЗрдбрд╝ рдореЗрдВ рдЯреЛрдХрди рдбрд╛рд▓реЗрдВред

рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреЗрдбрд╝ рдореЗрдВ рдкреНрд░рддреАрдХ рдЯреЛрдХрди рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ:


  1. рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдореНрдорд┐рд▓рди рдХреА рд╕реНрдерд┐рддрд┐ рдкрд╛рда рдиреЛрдб рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдкрд╛рда рдиреЛрдб рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рдкреЗрдбрд╝ рдореЗрдВ рдбрд╛рд▓реЗрдВ рдФрд░ рдЯреЛрдХрди рд╕реЗ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗрдВред
  2. рдЕрдиреНрдпрдерд╛, рдПрдХ рдореМрдЬреВрджрд╛ рдкрд╛рда рдиреЛрдб рдореЗрдВ рдЯреЛрдХрди рд╕реЗ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝реЗрдВред

рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддреАрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЛрдХрди рдмрдирд╛рдиреЗ рдФрд░ рдПрдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЪрд░рдг рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдЯреЗрдХреНрд╕реНрдЯ рдиреЛрдб рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рдпрд╛ рддреЛ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреА рд╣реИ рдпрд╛ рдлрд┐рд░ рд░реАрдХреНрд▓реЛрдХреНрд╕ рдмрдирд╛рдирд╛ рд╣реИред рдпрд╣ рд╕рдм рд╕реНрдореГрддрд┐ рдпрд╛ рд╕рдордп рд╕реЗ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИред


рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрдВрдд рдЯреЛрдХрди


рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдЯреЛрдХрдиред рдбреЗрдЯрд╛ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ - рдЖрдЗрдП рд╣рдо рдЖрдкрдХреЛ рдкреЗрдбрд╝ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЗрд╕ рдЪрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВред


рдПрдХ рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг


рдЯреНрд░реА рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдПрдХ рд░рд╛рдЬреНрдп рдорд╢реАрди рд╣реИ рдЬрд┐рд╕рдореЗрдВ 23 рд░рд╛рдЬреНрдп рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЯреЛрдХрди (рдЯреИрдЧ, рдЯреЗрдХреНрд╕реНрдЯ) рдХреА рдХрдИ рд╢рд░реНрддреЗрдВ рд╣реИрдВред рдПрдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЪрд░рдг рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд╣реИ, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рд╕реБрд╕реНрдд рдиреАрдВрдж рдФрд░ рдЬрд▓рди рдкреИрджрд╛ рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рд╣реИред


рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИред рдЯреЛрдХрди рдЗрдирдкреБрдЯ рдкрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░, рдЯреЛрдХрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЬрд╛рддреА рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдкрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ DOM рд╣реИред


рдХреЛрдИ рд╕рдорд╕реНрдпрд╛?


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд▓рдЧрддреА рд╣реИрдВ:


рдЪрд░рд┐рддреНрд░-рджрд░-рдЪрд░рд┐рддреНрд░ рдирдХрд▓


рдкреНрд░рддреНрдпреЗрдХ рдЯреЛрдХреЗрдирд╛рдЗрдЬрд╝рд░ рд░рд╛рдЬреНрдп рдЗрдирдкреБрдЯ рдкрд░ рдПрдХ рд╡рд░реНрдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдХреЙрдкреА / рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ: рдЯреИрдЧ рдирд╛рдо, рдЧреБрдг, рдЯрд┐рдкреНрдкрдгреА, рдкреНрд░рддреАрдХред


рдпрд╣ рд╕реНрдореГрддрд┐ рдФрд░ рд╕рдордп рджреЛрдиреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдмреЗрдХрд╛рд░ рд╣реИред рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢реЗрд╖рддрд╛, рдЯреИрдЧ рдирд╛рдо, рдЯрд┐рдкреНрдкрдгреА рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕реНрдореГрддрд┐ рдХреЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рдкреНрд░рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдпрд╣, рддрджрдиреБрд╕рд╛рд░, рдкреБрдирдГрдкреНрд░рдХрд╛рд╢ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреБрдирдГрдкреНрд░рдХрд╛рд╢ рдЦреЛрдП рд╣реБрдП рд╕рдордп рдХреЛ рдЬрдиреНрдо рджреЗрддрд╛ рд╣реИред


рдФрд░ рдпрджрд┐ рдЖрдк рдХрд▓реНрдкрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ HTML рдореЗрдВ 1000 рдЯреИрдЧ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЯреИрдЧ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдПрдХ рдирд╛рд░рдХреАрдп рдзреАрдорд╛ рдкрд╛рд░реНрд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИред


рдЪрд░рд┐рддреНрд░ рдЯреЛрдХрди


рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдЪрд░рд┐рддреНрд░ рдЯреЛрдХрди рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддреАрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЛрдХрди рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдкреЗрдбрд╝ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрддреЗ рд╣реИрдВред рдПрдХ рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рддрдиреЗ рдЯреЛрдХрди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реЛрдВрдЧреЗ рдФрд░ рдкрд╛рддреНрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдореГрддрд┐ рдХреЛ рддреБрд░рдВрдд рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, рдпрд╣рд╛рдВ рдкреЗрдбрд╝ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рдкрд╛рда рдиреЛрдб рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕рдорд╛рди рд░реАрдкреНрд▓реЗрдХреНрд╕ + рдирд┐рд░рдВрддрд░ рдЬрд╛рдВрдЪред


рдЕрдЦрдВрдб рдкреНрд░рдгрд╛рд▓реА


рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣рд░ рдЪреАрдЬ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╣реИред рдпрд╣реА рд╣реИ, рдЯреЛрдХрдирдзрд╛рд░рдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЯреЛрдХрдирдзрд╛рд░рдХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рд╕рдм рдХреБрдЫ рдирд╛рдорд╕реНрдерд╛рди (рдирд╛рдорд╕реНрдерд╛рди) рдХреЗ рд▓рд┐рдП рджреЛрд╖реА рд╣реИред


рд╣рдо рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреИрд╕реЗ рдХрд░реЗрдВрдЧреЗ?


рдЖрдЧреЗ, рдореИрдВ рдЕрдкрдиреЗ рд▓реЗрдХреНрд╕рдмреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ HTML рдкрд╛рд░реНрд╕рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред


рдкреВрд░реНрд╡ рдЙрдкрдЪрд╛рд░


рд╣рдо рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред рд╣рдо рдПрдХ рдЯреЛрдХрди рдХреЛ рдЕрдВрддрд░рд┐рдХреНрд╖ рдЪрд░рд┐рддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд░рд┐рдЬ рд░рд┐рдЯрд░реНрди ( \r ) рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╡рд╣ рдПрдХ рдкреЗрдбрд╝ рдмрдирд╛рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд╣рд╛рдВ рд╣рдо рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред


рдЯреЛрдХрди


рдХрд▓рд╛рдИ рдХреА рдПрдХ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рдХреЗ рд╕рд╛рде рд╣рдо рд╕рднреА рдЯреЛрдХрди рдХреЛ рдПрдХрдЬреБрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЛрдХрди рд╣реЛрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреВрд░реА рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЯреЛрдХрди рд╣реЛрдЧрд╛ред


рд╣рдорд╛рд░реЗ рдПрдХреАрдХреГрдд рдЯреЛрдХрди рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ:


  1. рдЯреИрдЧ рдЖрдИрдбреА
  2. рд╢реБрд░реВ рдХрд░рдирд╛
  3. рдЕрдВрдд
  4. рдЧреБрдг
  5. рдЭрдВрдбреЗ

рдЯреИрдЧ рдЖрдИрдбреА


рд╣рдо рдЯреИрдЧ рдирд╛рдо рдХреЗ рд╢рд╛рдмреНрджрд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╣рдо рд╕рдм рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВред рд╕рдВрдЦреНрдпрд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред


рд╣рдо рд╕рднреА рдЬреНрдЮрд╛рдд рдЯреИрдЧ рд╕реЗ рдПрдХ рд╕реНрдерд┐рд░ рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рд╣рдо рд╕рднреА рдЬреНрдЮрд╛рдд рдЯреИрдЧ рд╕реЗ рдПрдирдо рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЯреИрдЧ рдХреЛ рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╕рдЦреНрддреА рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ, рдХреБрдВрдЬреА рдЯреИрдЧ рдХрд╛ рдирд╛рдо рд╣реИ, рдФрд░ рдорд╛рди рдЧрдгрдирд╛ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред


рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:


 typedef enum { LXB_TAG__UNDEF = 0x0000, LXB_TAG__END_OF_FILE = 0x0001, LXB_TAG__TEXT = 0x0002, LXB_TAG__DOCUMENT = 0x0003, LXB_TAG__EM_COMMENT = 0x0004, LXB_TAG__EM_DOCTYPE = 0x0005, LXB_TAG_A = 0x0006, LXB_TAG_ABBR = 0x0007, LXB_TAG_ACRONYM = 0x0008, LXB_TAG_ADDRESS = 0x0009, LXB_TAG_ALTGLYPH = 0x000a, /* ... */ } 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдордиреЗ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП, рдкрд╛рда рдХреЗ рд▓рд┐рдП END-OF-FILE рдЯреЛрдХрди рдХреЗ рд▓рд┐рдП рдЯреИрдЧ рдмрдирд╛рдПред рдпрд╣ рд╕рдм рдЖрдЧреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдПред рдкрд░реНрджрд╛ рдЦреЛрд▓рддреЗ рд╣реБрдП, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдиреЛрдб ( DOM Node Interface ) рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ Tag ID ред рдпрд╣ рджреЛ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдиреЛрдб рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рддрддреНрд╡ рдкрд░ред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рд╣рдореЗрдВ DIV рддрддреНрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдиреЛрдб рдореЗрдВ рдПрдХ рдЪреЗрдХ рдХрд░рддреЗ рд╣реИрдВ:


 if (node->tag_id == LXB_TAG_DIV) { /* Best code */ } 

рд▓реЗрдХрд┐рди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


 if (node->type == LXB_DOM_NODE_TYPE_ELEMENT && node->tag_id == LXB_TAG_DIV) { /* Oh, code */ } 

LXB_TAG__ рдореЗрдВ рджреЛ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдЯреИрдЧ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо text рдпрд╛ end-of-file рд╕рд╛рде рдПрдХ рдЯреИрдЧ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ end-of-file рдФрд░ рдпрджрд┐ рд╣рдо рдлрд┐рд░ рдЯреИрдЧ рдирд╛рдо рд╕реЗ рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрдЧреАред рд╕рднреА рд╕рд┐рд╕реНрдЯрдо рдЯреИрдЧ рдПрдХ # рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред


рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдПрдХ рдиреЛрдб рдЯреИрдЧ рдирд╛рдо рдХреЗ рдкрд╛рда рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред 98.99999% рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ NULL рд╣реЛрдЧрд╛ред рдХреБрдЫ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдпрд╛ рдЯреИрдЧ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрд╕рд╡реАрдЬреА рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ baseProfile ред


рдХрд╛рд░реНрдп рдХрд╛ рддрд░реНрдХ рд╕рд░рд▓ рд╣реИред рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреИрдЧ рд╣реИ:


  1. рдЗрд╕реЗ рд▓реЛрдЕрд░ рдХреЗрд╕ рдореЗрдВ рдЯреИрдЧ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрдзрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рдЯреИрдЧ рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
  2. рдиреЛрдб рдХреЗ рд▓рд┐рдП рдкрд╛рда рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдЯреИрдЧ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдФрд░ рдореВрд▓ рдЯреИрдЧ рдирд╛рдо рдЬреЛрдбрд╝реЗрдВред

рдХрд╕реНрдЯрдо рдЯреИрдЧ


рдПрдХ рдбреЗрд╡рд▓рдкрд░ HTML рдореЗрдВ рдХреЛрдИ рднреА рдЯреИрдЧ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рд╡реЗ рдЯреИрдЧ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдПрдХ рд╕реНрдерд┐рд░ рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдИ рднреА рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рдореЗрдВ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИред рдЬрдм рдЯреИрдЧ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрддрд╛ рд╣реИ, рддреЛ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕реНрдерд┐рд░ рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдЯреИрдЧ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдЗрдП рдбрд╛рдпрдирд╛рдорд┐рдХ рдореЗрдВ рджреЗрдЦреЗрдВ, рдпрджрд┐ рд╡рд╣рд╛рдБ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдПрдХ рд╕реЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛рдЙрдВрдЯрд░ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ рдФрд░ рдбрд╛рдпрдирд╛рдорд┐рдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЯреИрдЧ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред


рд╡рд░реНрдгрд┐рдд рд╕рдм рдХреБрдЫ рдЯреЛрдХрди рдХреЗ рдЪрд░рдг рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдЯреЛрдХрди рдХреЗ рдЕрдВрджрд░ рдФрд░ рд╕рднреА рддреБрд▓рдирд╛рдУрдВ рдХреЗ рдмрд╛рдж Tag ID (рджреБрд░реНрд▓рдн рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде) рдкрд░ рдЬрд╛рдПрдВред


рд╢реБрд░реВ рдФрд░ рдЕрдВрдд


рдЕрдм рдЯреЛрдХрдирдзрд╛рд░рдХ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбрд╛рдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдирд╣реАрдВ рд╣реЛрдЧреАред рд╣рдо рдХреБрдЫ рднреА рдХреЙрдкреА рдФрд░ рдХрдиреНрд╡рд░реНрдЯ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдбреЗрдЯрд╛ рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдореЗрдВ рд╕рд┐рд░реНрдл рдкреЙрдЗрдВрдЯрд░реНрд╕ рд▓реЗрддреЗ рд╣реИрдВред


рд╕рднреА рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, рдЬреИрд╕реЗ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ, рдЯреНрд░реА-рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдЪрд░рдг рдореЗрдВ рд╣реЛрдВрдЧреЗред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдореЗрдореЛрд░реА рдХреЗ рдмрд╛рдж рдХреЗ рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЬрд╛рди рдкрд╛рдПрдВрдЧреЗред


рдЧреБрдг


рдпрд╣рд╛рдБ рд╕рдм рдХреБрдЫ рдЙрддрдирд╛ рд╣реА рд╕рд░рд▓ рд╣реИред рд╣рдо рдХреБрдЫ рднреА рдХреЙрдкреА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдирд╛рдо рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рдиреЛрдВ рдХреА рд╢реБрд░реБрдЖрдд / рдЕрдВрдд рдореЗрдВ рд╕рдВрдХреЗрдд рдмрдЪрд╛рддреЗ рд╣реИрдВред рдкреЗрдбрд╝ рдмрдирдиреЗ рдХреЗ рд╕рдордп рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗ рд╣реИрдВред


рдЭрдВрдбреЗ


рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рдЯреЛрдХрди рдХреЛ рдПрдХрдЬреБрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЯреЛрдХрди рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлреНрд▓реИрдЧрд╕ рдмрд┐рдЯрдореИрдк рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред


рдлрд╝реАрд▓реНрдб рдореЗрдВ рдирд┐рдореНрди рдорд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:


 enum { LXB_HTML_TOKEN_TYPE_OPEN = 0x0000, LXB_HTML_TOKEN_TYPE_CLOSE = 0x0001, LXB_HTML_TOKEN_TYPE_CLOSE_SELF = 0x0002, LXB_HTML_TOKEN_TYPE_TEXT = 0x0004, LXB_HTML_TOKEN_TYPE_DATA = 0x0008, LXB_HTML_TOKEN_TYPE_RCDATA = 0x0010, LXB_HTML_TOKEN_TYPE_CDATA = 0x0020, LXB_HTML_TOKEN_TYPE_NULL = 0x0040, LXB_HTML_TOKEN_TYPE_FORCE_QUIRKS = 0x0080, LXB_HTML_TOKEN_TYPE_DONE = 0x0100 }; 

рдЯреЛрдХрди рдЦреЛрд▓рдиреЗ рдпрд╛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреЗрдЯрд╛ рдХрдирд╡рд░реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдорд╛рди рд╣реИрдВред рдХреЗрд╡рд▓ рдЯреЛрдХрдирдзрд╛рд░рдХ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рддрджрдиреБрд╕рд╛рд░, рдЯреЛрдХрди рдХреЗ рдЯреЛрдХрди рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред


рдЪрд░рд┐рддреНрд░ рдЯреЛрдХрди


рдкрд╣рд▓реЗ рд╡рд░реНрдгрд┐рдд рд╕реЗ, рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреАрдХ рдЯреЛрдХрди рд╣рдорд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рдВ, рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирдП рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЯреЛрдХрди рд╣реИ: LXB_HTML_TOKEN_TYPE_TEXT ред рдЕрдм рд╣рдо рдЯреИрдЧ рдХреЗ рдмреАрдЪ рдкреВрд░реЗ рдкрд╛рда рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЛрдХрди рдмрдирд╛рддреЗ рд╣реИрдВ, рдпрд╣ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдЗрд╕реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреИрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред


рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рд╣рдореЗрдВ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╢рд░реНрддреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдореЗрдВ рдЙрд╕реЗ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╛рда рдЯреЛрдХрди рдХреЗ рд╕рд╛рде: рдХрдиреНрд╡рд░реНрдЯ, рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╡рд░реНрдгреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рдЗрд╕реА рддрд░рд╣ред


рд▓реЗрдХрд┐рди, рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдПрдХ рдкреЗрдбрд╝ рдмрдирд╛рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ, рдкрд░рд┐рд╡рд░реНрддрди рдиреНрдпреВрдирддрдо рд╣реЛрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЯреЛрдХрди рдЕрдм рд╢рдмреНрдж рд╕реЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЙрд╕рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп HTML / DOM рдЯреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ рдЬреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред


рдЯреЛрдХрди рдзрд╛рд░рдХ


рдЯреЛрдХрди рдореЗрдВ рдЙрдЪреНрдЪ рдЧрддрд┐ рдбреЗрдЯрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рдЕрдкрдиреЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рдЬреЛрдбрд╝реЗрдВрдЧреЗред рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддреАрдХ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░, рдЬреЛ рдкреНрд░рддреАрдХ рдЖрдпрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рд╕рдЪреНрдЪрд╛рдИ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ATTRIBUTE_NAME рдЪрд░рдг рд╕реЗ ATTRIBUTE_NAME рдЪрд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП ATTRIBUTE_VALUE рд╣рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо рдореЗрдВ рдПрдХ рд╕рдлреЗрдж рд╕реНрдерд╛рди рдвреВрдВрдврдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдЗрд╕рдХреЗ рдЕрдВрдд рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрдЧрд╛ред рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдореЗрдВ рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдЪрд░рд┐рддреНрд░ ATTRIBUTE_NAME рддрдХ ATTRIBUTE_NAME рдХреЗ рдЪрд░рдг рдореЗрдВ рдЪрд░рд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рдлрд╝реАрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдЪрд░рдг рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░ рд╕реНрд╡рд┐рдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдЗрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдг рдпрд╛ рдХреЙрд▓рдмреИрдХ рдЬреИрд╕реЗ "t search> next_code_point ()" рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рд╣рдо ATTRIBUTE_NAME рдЪрд░рдг рдореЗрдВ рдПрдХ рд▓реВрдк рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдкреВрд░реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдмрдлрд░ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рд▓реВрдк рдореЗрдВ, рд╣рдо рдЙрди рдкреНрд░рддреАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдФрд░ рдЕрдЧрд▓реЗ рдЪрд░рдг рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЬреАрдд рдорд┐рд▓рддреА рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдВрдХрд▓рдХ рдЕрдиреБрдХреВрд▓рди рднреАред


рд▓реЗрдХрд┐рди! рд╕рдмрд╕реЗ рдмреБрд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЪреВрдЬреЛрдВ (рдЪреВрдЬреЛрдВ) рдХрд╛ рд╕рдорд░реНрдерди рддреЛрдбрд╝ рджрд┐рдпрд╛ред рдЯреЛрдХрдирд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рдЪрд░рд┐рддреНрд░-рджрд░-рдкреНрд░рддреАрдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЪрдВрдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдерд╛, рдФрд░ рдЕрдм рд╣рдордиреЗ рдЗрд╕реЗ рддреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИред


рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ? рд╡рд┐рдЦрдВрдбреВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ?! рдпрд╣ рд╕рд░рд▓ рд╣реИ, рд╣рдо рдЖрдиреЗ рд╡рд╛рд▓реЗ рдмрдлрд╝рд░реНрд╕ (рдЖрдиреЗ рд╡рд╛рд▓реЗ рдмрдлрд╝рд░) рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВред


рдЖрдиреЗ рд╡рд╛рд▓рд╛ рдмрдлрд░


рдЕрдХреНрд╕рд░ HTML chunks рдореЗрдВ parsesред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рд╢реЗрд╖ рдбреЗрдЯрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╕рдордп рдмреЗрдХрд╛рд░ рдирд╣реАрдВ рдЦрдбрд╝реЗ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг / рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдбреЗрдЯрд╛ рдХрд╣реАрдВ рднреА рдлрд╛рдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдмрдлрд╝рд░ рд╣реИрдВ:


рдкрд╣рд▓реЗ


 <div clas 

рджреВрд╕рд░рд╛


 s="oh-no-oh-no"> 

рдЪреВрдВрдХрд┐ рд╣рдо рдЯреЛрдХрди рдЪрд░рдг рдореЗрдВ рдХреБрдЫ рднреА рдХреЙрдкреА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдореЗрдВ рд╕рдВрдХреЗрдд рд▓реЗрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдлрд╝рд░реНрд╕ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред , .


.
:


  1. (Incoming Buffer).
  2. ( ) , ? , . , . 99% .

" " . .


, . , ( ) . . , , , . .


:


, . , : . . ( ), . .


: . , .



.


, . , .


:



 tree_build_in_body_character(token) { if (token.code_point == '\0') { /* Parse error, ignore token */ } else if (token.code_point == whitespaces) { /* Insert element */' } /* ... */ } 

Lexbor HTML


 tree_build_in_body_character(token) { lexbor_str_t str = {0}; lxb_html_parser_char_t pc = {0}; pc.drop_null = true; tree->status = lxb_html_token_parse_data(token, &pc, &str, tree->document->mem->text); if (token->type & LXB_HTML_TOKEN_TYPE_NULL) { /* Parse error */ } /* Insert element if not empty */ } 

, . :


 pc.replace_null /*   '\0'    (REPLACEMENT CHARACTER (U+FFFD)) */ pc.drop_null /*   '\0' */ pc.is_attribute /*          " " */ pc.state /*  .        . */ 

. - \0 , - REPLACEMENT CHARACTER . - , - . .


, . . , <head> . , , : " ". , .


<sarcasm>

HTML ( ) sarcasm . .


 An end tag whose tag name is "sarcasm" Take a deep breath, then act as described in the "any other end tag" entry below. 

.



HTML DOM/HTML Interfaces HTML/DOM HTML .


, :


  1. ( )

    • Incoming Buffer
    • Tag ID
    • ╠Ж : , N+
    • ╠Ж
    • ╠И


i7 2012 , , 235MB (Amazon-).


, 1.5/2 , . , . , CSS (Grammar, , Grammar). HTML, CSS , "".


рд╕реНрд░реЛрдд рдХреЛрдб


HTML Lexbor HTML .


рдкреБрдирд╢реНрдЪ


CSS Grammar. , . - 6-8 .


,

. , .
( ). .


рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/hi430736/


All Articles