რა კავშირი არსებობს 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-ის ფოკუსი არის სტრუქტურირებული მონაცემების გადაცემა, არა დოკუმენტის წარმოდგენა. განსხვავებით HTML-დან, 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-ისგან.