Xml
Често задавани въпроси
xml
Експертиза в XML за многоезично публикуване. Opticentre работи с XML работни процеси, валидиране на схеми и структурирано съдържание за локализация.
Какво е XML (Extensible Markup Език)?
XML е маркиращ език за документи, съдържащи структурирана информация.
Структурираната информация съдържа както съдържание (думи, изображения и т.н.), така и някакво указание за ролята, която това съдържание играе (например съдържание в заглавие на раздел има различно значение от съдържание в бележка под линия, което пък означава нещо различно от съдържание в надпис към фигура или съдържание в таблица на база данни и т.н.). Почти всички документи имат някаква структура.
Маркиращият език е механизъм за идентифициране на структури в документ. Спецификацията XML дефинира стандартен начин за добавяне на маркиране към документите.
Тогава XML е точно като HTML?
Не. В HTML както семантиката на таговете, така и наборът от тагове са фиксирани. W3C, съвместно с производителите на браузъри и общността на WWW, непрекъснато работи за разширяване на дефиницията на HTML, за да позволи нови тагове, които да вървят в крак с променящата се технология, и за да донесе вариации в представянето (стилови таблици) в мрежата. Тези промени обаче винаги са строго ограничени от това, което производителите на браузъри са внедрили, и от факта, че обратната съвместимост е от първостепенно значение. Освен това за хората, които искат да разпространяват информация широко, функциите, поддържани само от най-новите версии на Netscape и Internet Explorer, не са полезни.
XML не определя нито семантика, нито набор от тагове. Всъщност XML е всъщност мета-език за описване на маркиращи езици. С други думи, XML предоставя възможност за дефиниране на тагове и структурните връзки между тях. Тъй като няма предварително дефиниран набор от тагове, не може да има и предварително определена семантика. Цялата семантика на един XML документ ще се дефинира или от приложенията, които ги обработват, или от стилови таблици.
Тогава XML е точно като SGML?
Не. Е, да, донякъде. XML е дефиниран като профил на приложение на SGML. SGML е Standard Общи въпросиized Markup Език, дефиниран от ISO 8879. SGML е бил стандартният, независим от производителя начин за поддържане на хранилища със структурирана документация повече от десетилетие, но не е особено подходящ за доставяне на документи през мрежата (по редица технически причини, които са извън обхвата на тази статия). Дефинирането на XML като профил на приложение на SGML означава, че всяка изцяло съвместима SGML система ще може да чете XML документи. Използването и разбирането на XML документи обаче не изисква система, способна да разбира пълната обобщеност на SGML. XML е, грубо казано, ограничена форма на SGML.
За техническите пуристи е важно да се отбележи, че могат да съществуват и фини разлики между документите, както се разбират от XML системите, и същите тези документи, както се разбират от SGML системите. По-специално, третирането на празни интервали непосредствено до таговете може да е различно.
Защо XML?
За да се оцени XML, е важно да се разбере защо той е създаден. XML е създаден, така че богато структурирани документи да могат да се използват в мрежата. Единствените жизнеспособни алтернативи – HTML и SGML – не са практични за тази цел.
HTML, както вече обсъдихме, идва с предварително зададен набор от семантика и не предоставя произволна структура.
SGML предоставя произволна структура, но е твърде труден за внедряване, когато става дума само за уеб браузър. Пълните SGML системи решават големи, сложни проблеми, които оправдават тяхната цена. Разглеждането на структурирани документи, изпратени през мрежата, рядко носи такова оправдание.
Това не означава, че XML може да се очаква напълно да замени SGML. Докато XML е проектиран да доставя структурирано съдържание в мрежата, някои от онези характеристики, които му липсват, за да направи това практично, правят SGML по-задоволително решение за създаване и дългосрочно съхранение на сложни документи. В много организации филтрирането на SGML в XML ще бъде стандартна процедура за уеб доставка.
Как е дефиниран XML?
XML е дефиниран от редица свързани спецификации:
- Extensible Markup Език (XML) 1.0
Дефинира синтаксиса на XML. Спецификацията XML е основният фокус на тази статия. - XML Pointer Език (XPointer) и XML Linking Език (XLink)
Дефинират стандартен начин за представяне на връзки между ресурси. Освен обикновени връзки XML разполага с механизми за връзки между множество ресурси и връзки между ресурси само за четене. XPointer описва как да се адресира ресурс, а XLink описва как да се асоциират два или повече ресурса. - Extensible Style Език (XSL)
Дефинира стандартния език за стилови таблици за XML.
С течение на времето допълнителни изисквания ще бъдат адресирани от други спецификации. Понастоящем (септември 1998 г.) активно се разработват пространства от имена (за работа с тагове от множество набори от тагове), заявков език (за откриване какво се съдържа в документ или колекция от документи) и език за схеми (описване на връзките между таговете, DTDs в XML).
Прочетете повече