Кіріспе
Гипермәтіндік таңбалау тілі (HTML) – веб-браузерде көрсетілуі үшін жасалған құжаттардың стандартты таңбалау тілі. Ол веб-контенттің мазмұны мен құрылымын анықтайды. Көбінесе Каскадты стиль кестелері (CSS) және JavaScript сияқты сценарий тілдері сияқты технологиялармен қолданылады. Веб-браузерлер HTML құжаттарын веб-серверден немесе жергілікті сақтаудан алады және оларды мультимедиалық веб-беттерге айналдырады. HTML веб-беттің құрылымын семантикалық тұрғыдан сипаттайды және бастапқыда оның сыртқы түріне қатысты нұсқауларды қамтиды. HTML элементтері – HTML беттерінің құрылыс блоктары. HTML құрылымдары арқылы суреттер және басқа да интерактивті нысандарды көрсетілімдік бетке енгізуге болады. HTML мәтіннің құрылымдық семантикасын белгілеу арқылы, мысалы, тақырыптарды, абзацтарды, тізімдерді, сілтемелерді, цитаталарды және басқа да элементтерді қамтитын құрылымды құжаттар жасауға мүмкіндік береді. HTML элементтері бұрышты жақшалармен жазылатын тегтермен белгіленеді. және сияқты тегтер мазмұнды тікелей бетке енгізеді. және сияқты басқа тегтер құжат мәтінінің айналасын қоршап тұрады және оның туралы ақпарат береді, сондай-ақ кіші элементтердің тегтерін қамтуы мүмкін. Браузерлер HTML тегтерін көрсетпейді, бірақ оларды беттің мазмұнын түсіндіру үшін пайдаланады. HTML-ге JavaScript сияқты сценарий тілінде жазылған бағдарламаларды енгізуге болады, бұл веб-беттердің мінез-құлқы мен мазмұнына әсер етеді. CSS-ті қосу контенттің көрінісі мен орналасуын анықтайды. World Wide Web Consortium (W3C) – HTML-дің бұрынғы және CSS стандарттарының қазіргі сақтаушысы – 1997 жылдан бері CSS-ті ашық түрде көрсетілімдік HTML-ге қарағанда қолдануға шақырды. HTML5 деп аталатын HTML түрі бейне және аудионы көрсету үшін қолданылады, негізінен элементімен және JavaScript-пен бірге.
HyperText Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript. Web browsers receive HTML documents from a web server or from local storage and render the documents into multimedia web pages. HTML describes the structure of a web page semantically and originally included cues for its appearance. HTML elements are the building blocks of HTML pages. With HTML constructs, images and other objects such as interactive forms may be embedded into the rendered page. HTML provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes, and other items. HTML elements are delineated by tags, written using angle brackets. Tags such as and directly introduce content into the page. Other tags such as and surround and provide information about document text and may include sub element tags. Browsers do not display the HTML tags but use them to interpret the content of the page. HTML can embed programs written in a scripting language such as JavaScript, which affects the behavior and content of web pages. The inclusion of CSS defines the look and layout of content. The World Wide Web Consortium (W3C), former maintainer of the HTML and current maintainer of the CSS standards, has encouraged the use of CSS over explicit presentational HTML as of 1997. A form of HTML, known as HTML5, is used to display video and audio, primarily using the element, together with JavaScript.
Даму
1980 жылы CERN-де физик Тим Бернерс Ли CERN зерттеушілерінің құжаттарды пайдалану және бөлісуі үшін ENQUIRE жүйесін ұсынды және прототипін жасады. 1989 жылы Бернерс Ли Интернет негізіндегі гипермәтіндік жүйені ұсынатын хат жазды. Бернерс Ли 1990 жылдың соңында HTML-ді нақтылады және браузер мен сервер бағдарламалық құралын жазды. Сол жылы Бернерс Ли мен CERN дерек жүйелері инженері Роберт Кайлиау бірлесіп қаржыландыру туралы өтініш жасады, бірақ жоба CERN-де ресми түрде қабылданбады. 1990 жылғы жеке жазбаларында Бернерс Ли «гипермәтіннің қолданылатын көптеген салаларының кейбіреулерін» тізімдеді; энциклопедия – бұл алғашқы жазба. HTML-дің алғашқы жарияланған сипаттамасы «HTML тегтері» деп аталатын құжат болды, оны Тим Бернерс Ли 1991 жылдың соңында алғаш рет Интернетте атады. Ол HTML-дің бастапқы, салыстырмалы түрде қарапайым дизайнын құрайтын 18 элементті сипаттайды. Гиперсілтеме тегінен басқа, оларға CERN-дегі Стандартталған Жалпыланған Белгілеу Тіліне (SGML) негізделген құжаттама форматы SGMLguid күшті әсер етті. Осы элементтердің 11-і әлі де HTML 4-те бар. HTML – бұл веб-браузерлер мәтін, суреттер және басқа материалдарды көрінетін немесе естілетін веб-беттерге түсіндіру және құрастыру үшін қолданатын белгілеу тілі. HTML белгілеуінің әрбір элементінің әдепкі сипаттамалары браузерде анықталады және бұл сипаттамаларды веб-беттің дизайнері CSS-ті қосымша пайдалану арқылы өзгертуге немесе жақсартуға болады. Көптеген мәтіндік элементтер 1988 жылғы ISO техникалық есебінде айтылған TR 9537 SGML қолдану техникалары, ол 1960 жылдардың басында CTSS (Compatible Time Sharing System) операциялық жүйесі үшін әзірленген RUNOFF командасы сияқты ерте мәтінді пішімдеу тілдерінің ерекшеліктерін сипаттайды. Бұл пішімдеу командалары құжаттарды қолмен пішімдеу үшін типографтар қолданатын командалардан алынған. Алайда, SGML жалпыланған белгілеу тұжырымы тек басып шығару эффектілеріне емес, жеке құрылым мен белгілеуге негізделген элементтерге (атрибуттармен бірге енген түсіндірмелі диапазонға) негізделген. HTML CSS арқылы осы бағытта бірте-бірте жылжыды. Бернерс Ли HTML-ді SGML-дің қолданысы деп қарастырды. Ол ресми түрде Интернет Инженериялық Тобы (IETF) 1993 жылдың ортасында HTML-дің бірінші ұсынысын жариялаған кезде, Бернерс Ли мен Дэн Конноллидің «Гипермәтіндік Белгілеу Тілі (HTML)» Интернет жобасы, синтаксисті анықтау үшін SGML құжат түрін анықтауға кірді. Жобаның мерзімі алты айдан кейін аяқталды, бірақ NCSA Mosaic браузерінің сызықтық суреттерді ендіруге арналған арнайы тегін мойындауымен ерекшеленді, бұл IETF-тің стандарттарды табысты прототиптерге негіздеу философиясын көрсетеді. Сол сияқты, 1993 жылдың соңында Дейв Раггеттің бәсекелес Интернет жобасы «HTML+ (Гипермәтіндік Белгілеу Форматы)» кестелер мен нысандарды толтыру сияқты қолданылып жүрген мүмкіндіктерді стандарттауды ұсынды. 1994 жылдың басында HTML және HTML+ жобаларының мерзімі өткеннен кейін IETF HTML жұмыс тобын құрды. 1995 жылы бұл жұмыс тобы «HTML 2.0» аяқтады, бұл HTML-дің алғашқы спецификациясы, болашақ іске асырулар негізделуі тиіс стандарт ретінде қарастырылуы тиіс. IETF-тің басшылығымен одан әрі даму бәсекелестік мүдделермен тоқтатылды. 1996 жылдан бастап HTML спецификациясын коммерциялық бағдарламалық қамтамасыз етушілердің үлесімен World Wide Web Consortium (W3C) сақтап келеді. 2000 жылы HTML халықаралық стандартқа айналды (ISO/IEC 15445:2000). HTML 4.01 1999 жылдың соңында жарияланды, ал 2001 жылға дейін тағы да қателер туралы хабарламалар жарияланды. 2004 жылы HTML5 Web Hypertext Application Technology Working Group (WHATWG) тобында басталды, ол 2008 жылы W3C-мен бірлескен өнімге айналды және 2014 жылдың 28 қазанында аяқталды және стандартталды.
XHTML нұсқалары
XHTML – XML 1.0 қолданылып, HTML 4.01 қайта құрылған жеке тіл. Қазір ол HTML үшін XML синтаксисі деп аталады және жеке стандарт ретінде әзірленбейді. XHTML 1.0 2000 жылдың 26 қаңтарында W3C ұсынысы ретінде жарияланды, кейіннен 2002 жылдың 1 тамызында қайта қаралып, жаңартылды. Ол HTML 4.0 және 4.01 сияқты үш нұсқаны ұсынады, олар XML форматында қайта құрылған, шағын шектеулермен. XHTML 1.1 2001 жылдың 31 мамырында W3C ұсынысы ретінде жарияланды. Ол XHTML 1.0 Strict негізінде құрылған, бірақ шағын өзгерістер енгізілген, қажеттілікке қарай өзгертілуі мүмкін және 2001 жылдың 10 сәуірінде жарияланған W3C ұсынымындағы «XHTML модульдеуі» бойынша модульдерді пайдалана отырып қайта құрылған. XHTML 2.0 – әзірлеме жобасы болды. 2009 жылы HTML5 және XHTML5 жұмыстарына басымдық беру үшін әзірлеу тоқтатылды. XHTML 2.0, XHTML 1.x-ке үйлеспегендіктен, XHTML 1.x-ке жаңарту емес, XHTML-ге ұқсас жаңа тіл ретінде сипаттаған дұрыс.
HTML жарияланымның WHATWG-ға ауысуы
2019 жылдың 28 мамырында W3C WHATWG HTML және DOM стандарттарын жариялаушы жалғыз ұйым болатынын мәлімдеді. W3C және WHATWG 2012 жылдан бері қарама-қарсы стандарттарды жариялап келді. W3C стандарты 2007 жылы WHATWG стандартымен толық сәйкес болғанмен, кейін дизайндық шешімдердің өзгешелігіне байланысты екеуі де біртіндеп айырмашылыққа ұшырады. WHATWG-нің "Тірі Стандарт" ұзақ уақыттан бері де-факто веб стандарты болып келді.
Элементтер
HTML құжаттары тіркесілген HTML элементтерінің құрылымын білдіреді. Бұл элементтер құжатта HTML тегтермен көрсетіледі, бұрышты жақшалармен қоршалған: қарапайым, жалпы жағдайда элементтің көлемі екі тегпен көрсетіледі: «бастау тегі» және «аяқтау тегі». Тегтер, сондай-ақ, тегтер мен мәтіннің қоспасын қоса, бастау мен аяқтау тегтерінің арасында қосымша тегтерді қамтуы мүмкін. Бұл ата-ана элементінің балалары ретінде қосымша (ішкі) элементтерді көрсетеді. Бастау тегі элементтің атрибуттарын тег ішінде де қамтуы мүмкін. Бұл құжаттағы бөлімдерге арналған идентификаторлар, стильдік ақпаратты құжаттың көрсетіліміне байланыстыратын идентификаторлар және кейбір тегтер үшін, мысалы, суреттерді ендіру үшін қолданылатын, сурет ресурсына сілтеме мынадай форматта: Кейбір элементтер, мысалы, жол үзілісі, мәтін немесе басқа тегтерді қамтуға рұқсат етпейді. Бұларға тек бір бос тег (бастау тегіне ұқсас) қажет және аяқтау тегі қолданылмайды. Көптеген тегтер, әсіресе жиі қолданылатын абзац элементінің аяқтау тегі, міндетті емес. HTML шолғышы немесе басқа агент элементтің аяқталуын контекст пен HTML стандартында анықталған құрылымдық ережелерден анықтай алады. Бұл ережелер күрделі және көптеген HTML авторлары оларды толық түсінбейді. HTML элементінің жалпы пішіні: Кейбір HTML элементтері бос элементтер ретінде анықталады және келесі пішінде болады. Бос элементтер мазмұн қамтамайды, мысалы, тег немесе сызық тегі. HTML элементінің атауы – тегтерде қолданылатын атау. Аяқтау тегінің атауының алдында слэш белгісі / қойылады, ал бос элементтерде аяқтау тегі қажет емес және рұқсат етілмейді. Егер атрибуттар көрсетілмесе, әр жағдайда әдепкі мәндер қолданылады.
In the simple, general case, the extent of an element is indicated by a pair of tags: a "start tag" and "end tag" The text content of the element, if any, is placed between these tags. Tags may also enclose further tag markup between the start and end, including a mixture of tags and text. This indicates further (nested) elements, as children of the parent element. The start tag may also include the element's attributes within the tag. These indicate other information, such as identifiers for sections within the document, identifiers used to bind style information to the presentation of the document, and for some tags such as the used to embed images, the reference to the image resource in the format like this:
Some elements, such as the line break do not permit any embedded content, either text or further tags. These require only a single empty tag (akin to a start tag) and do not use an end tag. Many tags, particularly the closing end tag for the very commonly used paragraph element , are optional. An HTML browser or other agent can infer the closure for the end of an element from the context and the structural rules defined by the HTML standard. These rules are complex and not widely understood by most HTML authors. The general form of an HTML element is therefore: Some HTML elements are defined as empty elements and take the form Empty elements may enclose no content, for instance, the tag or the inline tag. The name of an HTML element is the name used in the tags. The end tag's name is preceded by a slash character, /, and that in empty elements the end tag is neither required nor allowed. If attributes are not mentioned, default values are used in each case.
Деректер түрлері
HTML элементтерінің мазмұны үшін бірнеше дерек түрлері, мысалы, скрипт деректері және стильдік парақ деректері, сондай-ақ атрибут мәндері үшін көптеген типтер қарастырылған, олардың ішінде ID, атаулар, URI, сандар, ұзындық өлшемдері, тілдер, медиа сипаттамалары, түстер, символдар кодтамасы, күндер мен уақыттар және тағы да басқалары бар. Бұл дерек типтерінің барлығы – символдардан тұратын деректердің арнайы түрлері.
Семантикалық HTML
Семантикалық HTML – кодталған ақпараттың мағынасын оның сыртқы түрінен (көрінісінен) баса артық тұратын HTML жазу тәсілі. HTML бастапқыда-ақ семантикалық белгілеуді қамтыды, бірақ сонымен қатар , және сияқты көрініс белгілеулерін де қамтыды. Сондай-ақ, семантикалық бейтарап div және span белгілері де бар. 1990 жылдардың соңынан бастап, Каскадтық стильдер кестесі (CSS) көптеген браузерлерде қолданыла бастаған кезде, веб-авторлар мазмұн мен көріністі бөлу мақсатында көрініс HTML белгілеуін пайдаланудан аулақ болуға шақырылды. 2001 жылы Семантикалық Желі туралы талқылау кезінде Тим Бернерс-Ли және басқалар ақылды бағдарламалық қамтамастар ("агенттер") бір күні желіде автоматты түрде іздеп, бұрын байланысты емес, жарияланған фактілерді адамдар пайдалануы үшін таба алатынын, сүзіп алатынын және байланыстыра алатынын мысал келтірді. Мұндай агенттердің қазір кең таралғаны жоқ, бірақ Web 2.0 идеяларының кейбірі, мысалы, mashup-тар мен бағаларды салыстыру сайттары оған жақындауы мүмкін. Веб-қосымшаларының гибридтері мен Бернерс-Лидің семантикалық агенттерінің арасындағы басты айырмашылық – ақпаратты қазіргі агрегациялау мен гибридтеу әдетте веб-дамытушылармен жасалады, олар іздегісі келетін нақты деректердің желідегі орналасуын және API семантикасын біледі. Веб-беттерді алдын ала нені табатынын білмей, автоматты түрде сканерлеп оқитын веб-тараушылар немесе іздеу жүйесінің роботтары – веб-агенттерінің маңызды түрі. Бұл бағдарламалық агенттер табылған веб-беттердің семантикалық айқындығына тәуелді, өйткені олар күнделікті миллиондаған веб-беттерді оқып, индекстеу үшін және веб-пайдаланушыларға іздеу мүмкіндіктерін ұсыну үшін әртүрлі әдістер мен алгоритмдерді пайдаланады, оларсыз Дүниежүзілік Желінің пайдалылығы едәуір төмендеер еді. Іздеу жүйесінің роботтары HTML құжаттарындағы мәтіннің маңыздылығын бағалай алуы үшін, сондай-ақ mashup-тар мен басқа да гибридтерді құраушылар үшін, және дамытылатын одан да автоматтандырылған агенттер үшін HTML-дегі семантикалық құрылымдар жарияланған мәтіннің мағынасын ашып көрсету үшін кеңінен және біркелкі қолданылуы керек. Көрініс белгілеулері қазіргі HTML және XHTML ұсыныстарында ескірген деп есептеледі. HTML-дің бұрынғы нұсқаларындағы көптеген көрініс мүмкіндіктері енді рұқсат етілмейді, өйткені олар қолжетімділіктің нашарлауына, сайтты күтіп-ұстаудың жоғары құнына және құжат көлемінің ұлғаюына әкеледі. Жақсы семантикалық HTML веб-құжаттардың қолжетімділігін де жақсартады (Web Content Accessibility Guidelines-ті де қараңыз). Мысалы, экранды оқу құрылғысы немесе аудио браузер құжаттың құрылымын дұрыс анықтаса, дұрыс белгіленген жағдайда, қайталанған немесе маңызсыз ақпаратты оқып, көру қабілеті нашар пайдаланушының уақытын ысыраптамайды.
Жеткізу
HTML құжаттарын кез келген басқа компьютерлік файл сияқты тасымалдауға болады. Дегенмен, олар көбінесе веб-серверден HTTP протоколы арқылы немесе электрондық пошта арқылы жіберіледі.
HTTP-тің түрі
Дүниежүзілік Желі негізінен гипермәтіндік беру протоколын (HTTP) пайдалана отырып, веб-серверлерден веб-браузерлерге жіберілетін HTML құжаттарынан тұрады. Дегенмен, HTTP HTML-ден өзге суреттер, дыбыс және басқа да мазмұнды жеткізу үшін де қолданылады. Веб-браузерге әрбір құжатты қалай өңдеу керектігін білдіру үшін, құжатпен бірге қосымша ақпарат жіберіледі. Бұл метадеректерге әдетте MIME түрі (мысалы, text/html немесе application/xhtml+xml) және символдардың кодтауы (HTML-дегі символдардың кодтауын қараңыз) кіреді. Заманауи браузерлерде HTML құжатымен бірге жіберілетін MIME түрі құжаттың бастапқы интерпретациясына әсер етуі мүмкін. XHTML MIME түрімен жіберілген құжат жақсы құрылған XML болуы керек; синтаксистік қателер браузердің оны көрсетуіне бөгет болуы мүмкін. Ал сол құжат HTML MIME түрімен жіберілсе, кейбір браузерлер HTML-ге көбірек төзе алатындықтан, сәтті көрсетілуі мүмкін. W3C ұсыныстарына сәйкес, XHTML 1.0 құжаттары, егер олар ұсыныстың C қосымшасында келтірілген нұсқауларды орындаса, кез келген MIME түрімен белгіленуі мүмкін. XHTML 1.1 құжаттары да MIME түрімен белгіленуі тиіс деп айтылған.
HTML электрондық пошта
Көптеген графикалық электрондық пошта клиенттері HTML-дің (көбінесе нақты анықталмаған) бір бөлігін пайдалануға мүмкіндік береді, бұл қарапайым мәтінде қол жетімсіз пішімдеу мен семантикалық белгілеуді қамтамасыз етеді. Бұған түрлі түсті тақырыптар, ерекшеленген және цитаталанған мәтін, тікелей қосылған суреттер мен диаграммалар сияқты типографиялық ақпараттар кіруі мүмкін. Көптеген мұндай клиенттер HTML электрондық пошта хабарламаларын жасау үшін GUI редакторын және оларды көрсету үшін рендерлеу механизмін қамтиды. Электрондық поштада HTML қолдануы кейбір адамдар тарапынан үйлесімділік мәселелері, фишингтік шабуылдарды жасыруға мүмкіндік беруі, көзі көрмейтін немесе көру қабілеті нашар адамдар үшін қолжетімділік мәселелері, спам сүзгілерін шатастыруы және хабарлама мөлшерінің қарапайым мәтіннен үлкен болуы себептерімен сынға түседі.
Атау беру ережесі
HTML файлдарын сақтау үшін қолданылатын ең көп таралған файл кеңейтімі - html. Оның жиі қолданылатын қысқартылған түрі htm, ол DOS сияқты алғашқы операциялық жүйелер мен файлдық жүйелерде, сондай-ақ FAT дерек құрылымының шектеулерінен туындаған, себебі файл кеңейтімдері үш әріптен аспауға тиіс болған.
HTML қолданбасы
HTML қолданбасы (HTA; файл жұрнағы hta) – бағдарламаның графикалық интерфейсін қамтамасыз ету үшін браузерде HTML және динамикалық HTML тілдерін пайдаланатын Microsoft Windows қолданбасы. Қарапайым HTML файлы веб-браузердің қауіпсіздік моделімен шектеледі, тек веб-серверлермен байланыс жасайды және веб-бет объектілері мен сайт cookie файлдарын ғана өзгерте алады. HTA толыққанды сенімді қолданба ретінде жұмыс істейді, сондықтан файлдарды жасау/өзгерту/жою және Windows тіркеліміне жазбалар енгізу сияқты қосымша мүмкіндіктері бар. Олар браузердің қауіпсіздік моделінен тыс жұмыс істейтіндіктен, HTA-ны HTTP арқылы іске қосуға болмайды, оны жүктеу қажет (EXE файлы сияқты) және жергілікті файлдық жүйеден іске қосу керек.
HTML4 нұсқалары
HTML және оған байланысты протоколдар пайда болғаннан бастап салыстырмалы түрде жылдам қабылдауға ие болды. Дегенмен, тілдің алғашқы жылдарында нақты стандарттар болған жоқ. HTML-ді жасаушылары бастапқыда презентация егжей-тегжейінен мүлдем айырылған семантикалық тіл ретінде жоспарлағанмен, практикалық қолданыс түрлі браузер өндірушілерінің ықпалымен көптеген презентациялық элементтер мен атрибуттардың тілге енуіне әкелді. HTML-ге қатысты соңғы стандарттар тілдің кейде хаотикалық дамуын жеңуге және мағыналы әрі жақсы ұсынылған құжаттарды құру үшін ғылыми негіз қалауға жасалған күш-жігерді көрсетеді. HTML-ді семантикалық тіл ретінде қайтару мақсатында W3C CSS және XSL сияқты стильдік тілдерді әзірледі, олар презентациялық міндеттерді өз мойнына алды. Сонымен қатар, HTML спецификациясы презентациялық элементтерді біртіндеп шектеуде. Қазіргі уақытта HTML-дің әртүрлі нұсқаларын екі бағытта ажыратуға болады: бір бағытта SGML негізіндегі HTML және XML негізіндегі HTML (XHTML деп аталады), ал екінші бағытта қатаң, ауыспалы (бос) және фрейм-сет түрлері бар.
SGML-ге негізделген және XML-ге негізделген HTML
HTML-нің соңғы ерекшеліктерінің бірі – SGML негізіндегі және XML негізіндегі ерекшеліктер арасындағы айырмашылық. XML негізіндегі ерекшелік әдетте XHTML деп аталады, дәстүрлі анықтамадан нақтырақ ажырату үшін. Дегенмен, түбір элементінің атауы XHTML-де де "html" болып қалады. W3C XHTML 1.0-дың HTML 4.01-ге толық сәйкес болуын көздеді, бірақ XML-дің күрделі SGML-ге қарағандағы шектеулеріне байланысты кейбір түзетулер қажет болды. XHTML және HTML тығыз байланысты болғандықтан, олар көбінесе бірге құжатталады. Мұндай жағдайларда кейбір авторлар екі атауды (X)HTML немесе X(HTML деп біріктіреді. HTML 4.01 сияқты, XHTML 1.0-да да үш қосалқы ерекшелік бар: қатаң, өтпелі және фреймдік жиынтық. Құжаттың бастапқы декларациясынан басқа, HTML 4.01 және XHTML 1.0 құжаттары арасындағы айырмашылықтар, әрқайсысының сәйкес DTD-де, көбінесе синтаксистік болып табылады. HTML синтаксисі XHTML-де жоқ көптеген ыңғайлылықтарға мүмкіндік береді, мысалы, міндетті емес ашылу немесе жабылу тегтері, тіпті соңғы тегі жоқ бос элементтер. Ал XHTML барлық элементтерде ашылу және жабылу тегтерінің болуын талап етеді. Сонымен қатар, XHTML жаңа ыңғайлылықты ұсынады: XHTML тегін бір тег ішінде ашып, жабуға болады, тегтің соңына слэш қосу арқылы, мысалы: . HTML 4.01 үшін SGML декларациясында қолданылмаған бұл ыңғайлылық, осы жаңа стандартты білмейтін бағдарламалық жасақтаманы шатастыруы мүмкін. Бұл үшін түзету – тегті жабу алдында бір бос орын қосу: . HTML мен XHTML арасындағы айырмашылықтарды түсіну үшін, C қосымшасына сәйкес жарамды және дұрыс қалыптастырылған XHTML 1.0 құжатын жарамды HTML 4.01 құжатына түрлендіруді қарастырыңыз. Бұл түрлендіру үшін келесі қадамдар қажет: Элементтің тілі XHTML xml:lang атрибуты емес, lang атрибуты арқылы көрсетілуі керек. XHTML XML-дің тілді анықтау мүмкіндігін пайдаланады. XML атау кеңістігін (xmlns=URI) жою керек. HTML-де атау кеңістіктеріне қолдау жоқ. Құжат түрінің декларациясын XHTML 1.0-дан HTML 4.01-ге өзгерту керек (қосымша түсініктеме үшін DTD бөлімін қараңыз). Егер болса, XML декларациясын жою керек (әдетте: ). Құжаттың MIME түрі text/html деп орнатылғанын тексеру керек. Бұл HTML және XHTML үшін сервер жіберген HTTP Content-Type басында көрсетіледі. XML бос элемент синтаксисін HTML стиліндегі бос элементке ( to ) өзгерту керек. Бұл XHTML 1.0 құжатын HTML 4.01-ге түрлендіру үшін қажетті негізгі өзгерістер. HTML-ден XHTML-ге түрлендіру үшін, кез келген ашылмаған немесе жабылмаған тегтерді қосу қажет болады. HTML немесе XHTML кодтағанда, HTML құжатында қандай тегтерді алып тастауға болатынын есте сақтаудың орнына, міндетті тегтерді әрқашан қосу оңайырақ. Дұрыс қалыптастырылған XHTML құжаты XML синтаксисінің барлық талаптарына сәйкес келеді. Жарамды құжат XHTML мазмұнының ерекшелігіне сәйкес келеді, ол құжат құрылымын сипаттайды. W3C HTML мен XHTML арасында оңай көшуді қамтамасыз ету үшін бірнеше ұсыныстар береді (HTML үйлесімділік нұсқауларын қараңыз). Келесі қадамдар тек XHTML 1.0 құжаттарына қолданылады: Тілді тағайындаған кез келген элементке xml:lang және lang атрибуттарын қосу. HTML-де бос деп көрсетілген элементтер үшін ғана бос элемент синтаксисін пайдалану. Бос элемент тегтеріне қосымша бос орын қосу, мысалы, . Мазмұнына рұқсат етілген, бірақ бос қалдырылған элементтер үшін ашық және жабық тегтерді қосу (мысалы, , емес ). XML декларациясын жою. W3C-нің үйлесімділік нұсқауларын мұқият орындау арқылы, пайдаланушы агенті құжатты HTML немесе XHTML ретінде бірдей түсіндіре алады. XHTML 1.0 болып табылатын және осылайша үйлесімді құжаттар W3C-мен HTML (text/html MIME түрімен) немесе XHTML (application/xhtml+xml немесе application/xml MIME түрімен) ретінде берілуі мүмкін. XHTML ретінде жеткізілген кезде, браузерлер XML талдаушысын пайдалануы керек, ол құжат мазмұнын талдау үшін XML ережелеріне қатаң сәйкес келеді.
To understand the subtle differences between HTML and XHTML, consider the transformation of a valid and well formed XHTML 1.0 document that adheres to Appendix C (see below) into a valid HTML 4.01 document. Making this translation requires the following steps:
The language for an element should be specified with a lang attribute rather than the XHTML xml:lang attribute. XHTML uses XML's built in language defining functionality attribute. Remove the XML namespace (xmlns=URI). HTML has no facilities for namespaces. Change the document type declaration from XHTML 1.0 to HTML 4.01. (see DTD section for further explanation). If present, remove the XML declaration. (Typically this is: ). Ensure that the document's MIME type is set to text/html. For both HTML and XHTML, this comes from the HTTP Content Type header sent by the server. Change the XML empty element syntax to an HTML style empty element ( to ). Those are the main changes necessary to translate a document from XHTML 1.0 to HTML 4.01. To translate from HTML to XHTML would also require the addition of any omitted opening or closing tags. Whether coding in HTML or XHTML it may just be best to always include the optional tags within an HTML document rather than remembering which tags can be omitted. A well formed XHTML document adheres to all the syntax requirements of XML. A valid document adheres to the content specification for XHTML, which describes the document structure. The W3C recommends several conventions to ensure an easy migration between HTML and XHTML (see HTML Compatibility Guidelines). The following steps can be applied to XHTML 1.0 documents only:
Include both xml:lang and lang attributes on any elements assigning language. Use the empty element syntax only for elements specified as empty in HTML. Include an extra space in empty element tags: for example instead of Include explicit close tags for elements that permit content but are left empty (for example, , not ). Omit the XML declaration. By carefully following the W3C's compatibility guidelines, a user agent should be able to interpret the document equally as HTML or XHTML. For documents that are XHTML 1.0 and have been made compatible in this way, the W3C permits them to be served either as HTML (with a text/html MIME type), or as XHTML (with an application/xhtml+xml or application/xml MIME type). When delivered as XHTML, browsers should use an XML parser, which adheres strictly to the XML specifications for parsing the document's contents.
Фреймшеттер мен ауыспалы
Жоғарыда аталған ауыспалы айырмашылықтарға қоса, фрейм жиынтығының (XHTML 1.0 немесе HTML 4.01) сипаттамалары әртүрлі мазмұн моделін анықтайды, онда фрейм жиынтығы `<body>` тегінің орнына қолданылады және `<iframe>` элементтері немесе, міндетті емес, `<body>` тегін қамтитын `<noframes>` элементтері болады.
Анықтама нұсқаларының жиынтығы
Осы тізімде көрсетілгендей, спецификацияның бос нұсқалары ескі қолдау үшін сақталады. Дегенмен, көптеген қате түсініктерге қарамастан, XHTML-ге көшу осы ескі қолдауды жоюды білдірмейді. XML-дегі "X" әрпі кеңейтілмелі екенін көрсетеді, ал W3C бүкіл спецификацияны модульдеуде және оны тәуелсіз кеңейтулерге ашады. XHTML 1.0-ден XHTML 1.1-ге көшудегі басты жетістік – спецификацияның толық модульденуі. HTML-дің қатаң нұсқасы XHTML 1.1-дің негізгі спецификациясына модульдік кеңейтулер жиынтығы арқылы енгізілген. Сол сияқты, бос (өтпелі) немесе фрейм жинағы спецификацияларын іздегендер ұқсас кеңейтілген XHTML 1.1 қолдауын табады (оның көп бөлігі ескі немесе фрейм модульдерінде қамтылған). Модульдену сонымен қатар әрбір мүмкіндікті өз кестесі бойынша дамытуға мүмкіндік береді. Мысалы, XHTML 1.1 MathML (XML-ге негізделген түсіндірілімдік және мағыналық математикалық тіл) және XForms сияқты жаңа XML стандарттарына жылдам көшуге мүмкіндік береді, бұл қазіргі HTML формаларын алмастыратын жаңа, жоғары деңгейдегі веб-форма технологиясы. Қорытындылай айтқанда, HTML 4 спецификациясы барлық әртүрлі HTML жүзеге асыруларын SGML негізінде бір нақты жазылған спецификацияға біріктірді. XHTML 1.0 осы спецификацияны жаңа XML анықтамасына сәйкес келтірді. Ал XHTML 1.1 XML-дің кеңейтілмелі мүмкіндіктерін пайдаланып, бүкіл спецификацияны модульдейді. XHTML 2.0 стандарттарға негізделген тәсілмен спецификацияға жаңа мүмкіндіктер қосудың алғашқы қадамы болуы тиіс еді.
WHATWG HTML және HTML5 арасындағы айырмашылық
WHATWG әзірлеген HTML Living Standard ресми нұсқасы, ал W3C HTML5 енді WHATWG-ден тәуелсіз емес.