XML: Разлика между версии

Изтрито е съдържание Добавено е съдържание
м Премахнати редакции на LordBumbury (б.), към версия на BotNinja
м замяна с n-тире; козметични промени
Ред 1:
'''XML''' (произнася се ''екс-ем-ел'', от [[английски език|англ.]] e'''X'''tensible '''M'''arkup '''L'''anguage — '''разширяем маркиращ език (РМЕ)''') е стандарт (метаезик), дефиниращ правила за създаване на специализирани маркиращи езици, както и синтаксисът, на който тези езици трябва да се подчиняват. Сам по себе си той е безполезен, защото указва само как да бъде структуриран един документ (чрез маркиране с етикети), но не и какво означават отделните маркери (етикети). Ето защо е по-правилно да се нарече ''метаезик'' отколкото ''език'' — обикновените езици имат [[семантика]], т.е. предават някаква информация, докато XML указва само ''граматиката'' (по-точно ''[[синтаксис]]а'') на езиците, базирани на него.
 
Ползата от XML се състои в това, че синтаксисът (структурирането) на документите се измисля само веднъж, а специализираните маркиращи езици само дефинират [[семантика]]та т.е. набора от маркиращи етикети и тяхното значение. Другата изгода е, че XML прави възможно разработването на семантично агностични програмни средства които могат да обработват всички XML базирани езици, дори и такива които не са съществували по време на съставянето на софтуера. Тези програмни средства могат след това да се използват и в изработването на софтуер който е написан за конкретен XML език. Или накратко разделянето на синтаксиса от семантиката е поредното въплъщение на принципа ''„Разделяй и владей“''.
 
XML е създаден като олекотена версия на [[SGML]], целящ по-лесното му внедряване и налагане сред разработчиците. Създаден е от Уеб консорциума ([[World Wide Web Consortium]]) и съответно е добре пригоден за употреба в Интернет пространството.
Ред 10:
<name>Иван Димитров Георгиев</name>
</source>
Тук текстът ''Иван Димитров Георгиев'' е маркиран с етикет <name> като по този начин указваме, че маркираният къс информация искаме да бъде разглеждан като едно цяло, имащо определено значение. Етикетите вървят по двойки отварящ и затварящ, маркиращи съответно началото и края на маркирания текст.
 
Освен това етикетите могат да се влагат един в друг, така че да са получи йерархична организация на информацията:
Ред 46:
Разбира се, най-вероятно бихме искали етикетът <code>&lt;name&gt;</code> да се среща само в <code>&lt;person&gt;</code> етикет, но не и в <code>&lt;language&gt;</code> етикет, тъй като с него бихме искали да маркираме име на човек. Също така ще е добре, ако държавата, в която живее човекът, бъде маркирана винаги с етикет <code>&lt;country&gt;</code>, а не с някой друг.
 
Именно това е ролята на XML разширенията да опишат допълнителни синтактични правила като това кои етикети къде могат да се срещат, както и да се изясни тяхната семантика (значение). Тези допълнителни синтактични правила са в тясна зависимост от семантиката на етикетите и по това се различават от общите XML правила. Описването им лесно може да се формализира, за която цел са създадени специални езици. Тези езици се наричат XML схеми (XML schemas) и задават допълнителните синтактични правила, на които трябва да отговаря документ, написан според някой от резширяващите XML стандарти.
 
Документи, които отговарят на правилата, описани в дадена XML схема, се наричат '''валидни'''. Валидните документи винаги са и добре оформени. Една от най-простите XML схеми е DTD ([[Document Type Definition]] Дефиниция на документен тип). Схемата, на която отговаря XML документът, се посочва в началото му и следва определен от XML синтаксис:
<source lang="xml">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
Ред 55:
Горният код показва, че документът е написан според стандарта на Web Consortium, XHTML 1.0 Transitional (който представлява разширение на XML). Формалността на описанието в XML схемите позволява проверката за валидност на документите да се автоматизира.
 
Втората задача на разширяващите стандарти описване на семантиката е по-трудна и обикновено се описва в изказен, полуформален текст, предназначен да бъде четен от хора (за разлика от XML схемите, които са формални и могат да се ''разбират'' от програмите). Спазването на семантиката е изцяло задължение на този, който съставя документа, и не може да бъде проверено от програма.
 
== Езици, основани на XML ==
Това са маркиращи езици, които са написани според XML стандарта. Всеки такъв език може да се разглежда като подмножество на XML.
* [[XHTML]] — превъплъщение на [[HTML]] езика, променен така че да отговаря на XML стандарта
* MathML език за описване на математически изрази
* SVG описване на векторна графика
 
== Стандарти, свързани с XML ==
Има множество стандарти, които са създадени да работят в тясно сътрудничество с XML.
* XSL (Extensible Stylesheet language Разширяем език за стилове) е всъщност семейство езици, чрез които може да се опише как един XML документ да бъде трансформиран или форматиран:
** XSL Transformations
** XSL Formatting Objects
** XPath
* DOM (Document Object Model Обектен документен модел) стандартен обектен модел за програмен достъп до XML документи
 
== Външни препратки ==
Взето от „https://bg.wikipedia.org/wiki/XML“.