Sobes.tech
Middle

Ի՞նչ կապ կա SGML, HTML, XML և XHTML միջև։

sobes.tech AI

Պատասխան AI-ից

SGML (Standard Generalized Markup Language)՝ դա մետա-տեքստային նշման լեզու է, ISO 8879 ստանդարտը։ Այն սահմանում է այլ նշման լեզուների սինտաքսիսը, ոչ թե ինքնին նշման լեզուն փաստաթղթերի համար։ HTML և XML-ը SGML-ի կիրառումներ (որոշումներ) են, բայց տարբեր նպատակներով և սահմանափակումներով։

HTML (HyperText Markup Language)՝ SGML-ի վրա հիմնված նշման լեզու է, որը նախատեսված է վեբ էջեր ստեղծելու համար։ Ունեցում է հաստատված տեգերի հավաքածու և կանոններ դրանց օգտագործման համար, ավելի ճկուն սինտաքսիսային կանոններ, համեմատած XML-ի (օրինակ, չի պահանջում բոլոր տեգերի պարտադիր փակումը)։

XML (eXtensible Markup Language)՝ այլ մետա-տեքստային նշման լեզու է, SGML-ի ժառանգը, բայց զգալիորեն պարզ և խիստ։ Հիմնական տարբերությունը SGML-ից այն է, որ XML-ը կենտրոնացած է կառուցվածքային տվյալների փոխանցման վրա, ոչ թե փաստաթղթի ներկայացման վրա։ Բացառապես XML-ում տեգերի հավաքածուն սահմանված չէ՝ այն սահմանում է օգտվողը։ Կանխատեսում է սինտաքսիսի խստիվ պահպանություն (միշտ փակել տեգերը, ճիշտ ներդնել և այլն)։

XHTML (eXtensible HyperText Markup Language)՝ HTML 4-ի վերաարտահայտում XML հավելվածի տեսքով։ Այսինքն՝ դա HTML է, բայց ավելի խիստ սինտաքսով, ինչպես XML կանոնները։ Փորձ էր միավորել HTML-ի առավելությունները (վեբ-էջերի համար) և XML-ի (խստություն, ընդլայնելիություն), բայց ներկայումս հիմնականում փոխարինված է HTML5-ով։

Այսպիսով, կապը հետևյալն է՝

  • SGML-ը հանդիսանում է մայր/հիմք HTML և XML-ի համար։
  • HTML և XML-ը SGML-ի կիրառումներ են (սինտաքսիսը սահմանված է SGML կանոններով)։
  • XHTML-ը HTML-ի տարբերակն է, վերաշարադրված՝ պահպանելով XML սինտաքսիսի կանոնները։
  • HTML-ը նախատեսված է փաստաթղթերի ցուցադրման համար բրաուզերում, XML-ը՝ տվյալների փոխանցման և պահպանման համար։
  • XHTML-ը փորձում է միավորել ցուցադրման (HTML) և խստության (XML) հատկանիշները։

Կարճ ասած՝ կախվածության շղթան է՝ SGML -> HTML, SGML -> XML։ Եվ նաև՝ HTML + XML սինտաքսիսը՝ XHTML։

Նմուշային կառուցվածք՝

<!-- HTML օրինակ -->
<!DOCTYPE html>
<html>
<head>
    <title>Վերնագիր</title>
</head>
<body>
    <h1>Բարև</h1>
    <p>Սա պարբերություն է։</p>
</body>
</html>
<!-- XML օրինակ -->
<գիրք>
    <անվանում>Իմ գիրքը</անվանում>
    <հեղինակ>Իվան Իվանով</հեղինակ>
    <ժանր>Գրականություն</ժանր>
</գիրք>
<!-- XHTML օրինակ -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Վերնագիր</title>
</head>
<body>
    <h1>Բարև</h1>
    <p>Սա պարբերություն է։</p>
</body>
</html>

XML և XHTML-ում տեգերի փակման խստությունը նկատելի է՝ համեմատած HTML-ի։