• Різне

    Мова XML

    17.06.2016

    Реферат на тему Мова XML

    4.2 Недоліки

    5 Відображення XML у Всесвітній павутині

    5.1 Застосування стилів CSS

    5.2 Застосування перетворення XSLT

    6 Словники XML

    7 Версії XML

    8 См. також

    9 Примітки

    10 Література

    XML (англ. eXtensible Markup Language — розширювана мова розмітки ; вимовляється [екс-ем-е?л]) — рекомендований Консорціумом Всесвітньої павутини мова розмітки, фактично представляє собою звід загальних синтаксичних правил. XML, текстовий формат, призначений для зберігання структурованих даних (замість існуючих файлів баз даних ), для обміну інформацією між програмами. а також для створення на його основі більш спеціалізованих мов розмітки (наприклад, XHTML ), іноді званих словниками. XML є спрощеним підмножиною мови SGML .

    Метою створення XML було забезпечення сумісності при передачі структурованих даних між різними системами обробки інформації. особливо при передачі таких даних через Інтернет. Словники, засновані на XML (наприклад, RDF. RSS. MathML. XHTML. SVG ), самі по собі формально описані, що дозволяє програмно змінювати і перевіряти документи на основі цих словників, не знаючи їх семантики. тобто не знаючи смислового значення елементів. Важливою особливістю XML також є застосування так званих просторів імен (англ. namespace ).

    Правильно побудовані і дійсні документи XML

    Стандартом визначено два рівня правильності XML-документа:

    Правильно побудований (Well-formed). Правильно побудований документ відповідає всім загальним правилам синтаксису XML, застосовним до будь-якого XML-документа. І якщо, наприклад, початковий тег не має відповідного йому кінцевого тега, то це неправильно побудований документ XML. Документ, який неправильно побудований, не може вважатися документом XML; XML-процесор (парсер ) не повинен обробляти його звичайним чином і зобов’язаний класифікувати ситуацію як фатальна помилка .

    Дійсний (Valid). Дійсний документ додатково відповідає деякими семантичними правилами. Це більш сувора додаткова перевірка коректності документа на відповідність визначеним заздалегідь, але вже зовнішніми правилами, в цілях мінімізації кількості помилок, наприклад, структури і складу даного, конкретного документа або колекції документів. Ці правила можуть бути розроблені як самим користувачем, так і сторонніми розробниками, наприклад, розробниками словників або стандартів обміну даними. Зазвичай такі правила зберігаються в спеціальних файлах — схемах, де найдетальнішим чином описана структура документа, всі допустимі назви елементів, атрибутів і багато іншого. І якщо документ, наприклад, містить не визначене заздалегідь в схемах назву елемента, то XML-документ вважається недійсним; перевіряючий XML-процесор (валідатор ) при перевірці на відповідність правилам і схемами зобов’язаний (за вибором користувача) повідомити про помилку.

    ці два поняття не мають достатньо усталеного стандартизованого перекладу на російську мову. особливо поняття valid, яке можна перекласти, як має силу, правомірний, надійний, годний, або навіть перевірений на відповідність правилам, стандартам, законам. Деякі програмісти застосовують у побуті усталену кальку «Валідний».

    Синтаксис XML

    У цьому розділі розглядається лише правильна побудова XML-документів, тобто їх синтаксис.

    XML — це описана в текстовому форматі ієрархічна структура, призначена для зберігання будь-яких даних. Візуально структура може бути представлена як дерево елементів. XML-елементи описуються тегами .

    Розглянемо приклад простого кулінарного рецепту, розміченого за допомогою XML:

    Простий хліб

    Борошно

    Змішати всі інгредієнти і ретельно замісити.

    Закрити тканиною і залишити на годину в теплому приміщенні.

    Почитати вчорашню газету. — це сумнівний крок. ->

    Замісити ще раз, покласти на деко і поставити в духовку.

    Оголошення XML

    Перший рядок XML-документа називається оголошення XML (англ. XML declaration ) — це необов’язкова рядок, що вказує версію стандарту XML (зазвичай це 1.0), також тут може бути вказана кодування символів і зовнішні залежності.

    Специфікація вимагає, щоб процесори XML обов’язково підтримували Юнікод -кодування UTF-8 UTF-16 (UTF-32 не обов’язковий). Визнаються допустимими, підтримуються і широко використовуються (але не обов’язкові) інші кодування, засновані на стандарті ISO/IEC 8859. також допустимі інші кодування, наприклад, росіяни Windows-1251. KOI-8. Часто в тегах принципово не використовують не-латинські букви, в цьому випадку UTF-8 є дуже зручною кодуванням — обсяг, як правило, менше, ніж при UTF-16; декодування може бути виконано як для всього документа, так і для конкретних атрибутів і текстів; весь документ не містить заборонених символів при спробі розбору з неправильним кодуванням.

    Кореневий елемент

    Найважливіше обов’язкове синтаксичне вимога полягає в тому, що документ має тільки один кореневий елемент (англ. root element ) (так само іноді званий елемент документа (англ. document element )). Це означає, що текст або інші дані документа повинні бути розташовані між єдиним початковим кореневим тегом і відповідним йому кінцевим тегом.

    Наступний простий приклад — документ правильно побудований XML:

    Це книга: «Книжечка»

    Наступний фрагмент не може вважатися коректним XML-документом:

    Сутність №1

    Сутність №2

    Коментар

    В будь-якому місці дерева може бути розміщений елемент-коментар. XML-коментарі розміщуються всередині спеціального тега, що починається з символів і закінчується символами ->. Два знака дефіс (-) всередині коментаря бути не можуть.

    Теги всередині коментаря оброблятися не повинні.

    Теги

    Інша частина цього документа XML складається з вкладених елементів, деякі з яких мають атрибути і вміст. Елемент зазвичай складається з відкриває і закриває тегів, що обрамляють текст та інші елементи. Відкриваючий тег складається з імені елемента в кутових дужках, наприклад. а закриваючий тег складається з того ж імені в кутових дужках, але перед ім’ям ще додається коса риса, наприклад. Імена елементів, як і імена атрибутів, не можуть містити пробіли, але можуть бути на будь-якій мові, що підтримується кодування XML-документа. Ім’я не може починатися з літери, підкреслення, двокрапки. Іншими символами імені можуть бути ті ж символи, цифри, дефіс, крапка.

    Вмістом елемента (англ. content ) називається все, що розташовано між відкриваючим і закриваючим тегами, включаючи текст та інші (вкладені) елементи. Нижче наведено приклад XML-елемента, який містить відкриваючий тег, що закриває тег і вміст елемента:

    Замісити ще раз, покласти на деко і поставити в духовку.

    Крім змісту у елемента можуть бути атрибути — пар ім’я-значення, що додаються до відкриваючий тег після назви елемента. Значення атрибутів завжди полягають у лапки (одинарні або подвійні), одне і те ж ім’я атрибута не може зустрічатися двічі в одному елементі. Не рекомендується використовувати різні типи лапок для значень атрибутів одного тега.

    Борошно

    У наведеному прикладі у елемента «ingredient» є два атрибута: «amount», що має значення «3», і «unit», що має значення «стакан». З точки зору XML розмітки, наведені атрибути не несуть ніякого змісту, а є просто набором символів.

    Крім тексту, що елемент може містити інші елементи:

    Змішати всі інгредієнти і ретельно замісити.

    Закрити тканиною і залишити на годину в теплому приміщенні.

    Замісити ще раз, покласти на деко і поставити в духовку.

    В даному випадку елемент «instructions» містить три елементи «step».

    XML не допускає накладання елементів. Наприклад, наведений нижче фрагмент некоректним, так як елементи «em» і «strong» перекриваються.

    Звичайний акцентований виділений і акцентований виділений

    Для позначення елемента без змісту, званого порожнім елементом, необхідно застосовувати особливу форму запису, що складається з одного тега, в якому після назви елемента ставиться коса риса. Якщо в DTD елемент не оголошений порожнім, але в документі він не має змісту, для нього допускається застосовувати наступні (три) форми запису. Наприклад:

    Спецсимволи

    В XML визначені два методу запису спеціальних символів: посилання на сутність і посилання за номером символу.

    Сутністю (англ. entity ) в XML називаються іменовані дані, які зазвичай текстові, зокрема, спецсимволи. Посилання на сутність (англ. entity references ) вказується в тому місці, де повинна бути сутність і складається з амперсанда (&), імені сутності і крапки з комою (;).

    В XML є кілька визначених сутностей, таких як lt (посилатися на неї можна написавши <) для лівої кутової дужки та amp (посилання — &) для амперсанда, можливо також визначати власні сутності. Крім запису з допомогою сутностей окремих символів, їх можна використовувати для запису часто зустрічаються текстових блоків.

    Нижче наведено приклад використання визначеної сутності для уникнення використання знаку амперсанда в назві:

    AT & T

    Повний список зумовлених сутностей складається з & (&), < ( ), ' (') і " («) — останні дві корисні для запису роздільників всередині значень атрибутів. Визначити свої сутності можна в DTD-документі.

    Іноді буває необхідно визначити нерозривний пробіл, який дуже часто використовується в HTML і позначається як. У XML такий зумовленої суті немає, його записують , а використання викликає помилку. Відсутність цієї вельми поширеною суті у багатьох програмістів найчастіше викликає подив і це створює деякі труднощі при міграції своїх HTML-розробок в XML.

    Посилання по номеру символу (англ. numeric character reference ) виглядає як посилання на сутність, але замість імені сутності вказується символ

    # і число (в десятковій або шістнадцятковій записи), який є номером символу в кодовій таблиці Юнікод. Це зазвичай символи, які неможливо закодувати безпосередньо, наприклад, буква арабського алфавіту ASCII -кодованому документі. Амперсанд може бути представлений наступним чином:

    AT&T

    Існують і інші правила, що стосуються складання коректного XML-документа.

    Історія

    Роком народження XML можна вважати 1996 рік. в кінці якого з’явився чорновий варіант специфікації мови, або 1998 рік. коли ця специфікація була затверджена. А почалося все з появи в 1986 році мови SGML .

    SGML (англ. Standard Generalized Markup Language — стандартна узагальнена мова розмітки) заявив про себе як гнучкий, комплексний і всеосяжний мета-мову для створення мов розмітки. Незважаючи на те, що поняття гіпертексту з’явилося в 1965 (а основоположні принципи сформульовані в 1945

    [1] ), SGML не має гіпертекстової моделі. Створення SGML можна з упевненістю назвати спробою осягнути неосяжне, так як він поєднує в собі такі можливості, які вкрай рідко використовуються всі разом. В цьому і полягає його головний недолік — складність і, як наслідок, дорожнеча цієї мови обмежує його використання лише великими компаніями, які можуть дозволити собі придбати відповідне програмне забезпечення і найняти високооплачуваних фахівців. Крім того, у невеликих компаній рідко виникають такі складні завдання, щоб залучати до їх вирішення SGML.

    Найбільш широко SGML застосовується для створення інших мов розмітки, саме з його допомогою був створений мова розмітки гіпертекстових документів — HTML. специфікація якого була затверджена в 1992 році. Його поява була пов’язана з необхідністю організації стрімко зростаючого масиву документів в мережі Інтернет. Бурхливе зростання кількості підключень до Інтернету і, відповідно, веб-серверів спричинив за собою таку потребу в кодуванні електронних документів, з якої не міг впоратися SGML внаслідок високої труднощі освоєння. Поява HTML — дуже простого мови розмітки — швидко вирішило цю проблему: легкість у вивченні і багатство засобів оформлення документів зробили його найпопулярнішим мовою для користувачів Інтернет. Але, у міру зростання кількості та зміни якості документів в Мережі, росли і пропоновані до них вимоги, і простота HTML перетворилася на його головний недолік. Обмеженість кількості тегів і повна байдужість до структури документа спонукали розробників в особі консорціуму W3C до створення такої мови розмітки, який був би не настільки складний, як SGML, і не настільки примітивний, як HTML. У результаті на світ з’явився мова XML. поєднує в собі простоту HTML, логіку SGML і задовольняє вимогам Інтернету.

    Сильні і слабкі сторони

    Переваги

    XML — мова розмітки. дозволяє стандартизувати вид файлів-даних, використовуваних комп’ютерними програмами, у вигляді тексту, зрозумілого людині;

    підтримує XML Юнікод ;

    у форматі XML можуть бути описані такі структури даних як запису. списки дерева ;

    XML — це самодокументируемый формат, який описує структуру і імена полів так само як і значення полів;

    XML має строго визначений синтаксис і вимоги до аналізу, що дозволяє йому залишатися простим, ефективним і несуперечливим. Одночасно з цим, різні розробники не обмежені у виборі експресивних методів (наприклад, можна моделювати дані, поміщаючи значення в параметри тегів або в тіло тегів, можна використовувати різні мови і нотації для іменування тегів і т. д.);

    XML — формат, заснований на міжнародних стандартах;

    Ієрархічна структура XML підходить для опису практично будь-яких типів документів, крім аудіо і відео мультимедійних потоків, растрових зображень, мережевих структур даних і двійкових даних;

    XML являє собою простий текст, вільний від ліцензування та яких-небудь обмежень;

    XML не залежить від платформи;

    XML є підмножина SGML (який використовується з 1986 ). Вже накопичений великий досвід роботи з мовою і створені спеціалізовані програми;

    XML не накладає вимог на порядок розташування атрибутів елемента і вкладених елементів різних типів[2]. що істотно полегшує виконання вимог зворотної сумісності ;

    На відміну від бінарних форматів, XML містить метадані про імена, типах і класах описуваних об’єктів, за якими додаток може обробляти документ невідомої структури (наприклад, для динамічного побудови інтерфейсів[3] );

    XML реалізації парсерів для всіх сучасних мов програмування;[4]

    Існує стандартний механізм перетворення XSLT. реалізації якого вбудовані в браузери. операційні системи. веб-сервери .

    XML підтримується на низькому апаратному, микропрограммном та програмному рівнях в сучасних апаратних рішеннях.[5]

    Недоліки

    Синтаксис XML надмірний.[6]

    Розмір XML-документа істотно більше бінарного представлення даних. В грубих оцінках величину цього фактора приймають за 1 порядок (в 10 разів).

    Розмір XML-документа істотно більше, ніж документа в альтернативних текстових форматах передачі даних (наприклад, JSON

    [2]. YAML ) і особливо в форматах даних, оптимізованих для конкретного випадку використання.

    Надмірність XML може вплинути на ефективність програми. Зростає вартість зберігання, обробки і передачі даних.

    XML містить метадані (імена полів, класів, вкладених структур), і одночасно XML позиціонується як мова взаємодії відкритих систем. При передачі між системами великої кількості об’єктів одного типу (однієї структури), передавати метадані повторно немає сенсу, хоча вони містяться у кожному примірнику опису XML.

    Для великої кількості завдань не потрібна вся міць синтаксису XML можна використовувати значно більш прості і продуктивні рішення.[7]

    Неоднозначність моделювання.

    Немає загальноприйнятої методології для моделювання даних в XML, в той час як для реляційної моделі та об’єктно-орієнтованої такі засоби розроблені і базуються на реляційної алгебри. системному підході та системному аналізі.

    У природі є безліч об’єктів і явищ, для опису яких різні структури даних (мережева, реляційна, ієрархічна) є природними, і відображення об’єкта в неприродну для нього модель є болючим для його суті. У випадку з реляційної і ієрархічною моделями визначено процедури декомпозиції. забезпечують відносну однозначність, чого не можна сказати про мережевий моделі.[8]

    В результаті великої гнучкості мови і відсутності суворих обмежень, одна і та же структура може бути представлена безліччю способів (різними розробниками), наприклад, значення може бути записане як атрибут тега або як тіло тега і т. д. Наприклад: або 1 1 або і т. д.[9]

    Підтримка багатьох мов в іменуванні тегів дає можливість назвати, наприклад вага російським словом, в такому разі комп’ютер ніяк не зможе встановити відповідності цього поля з полем weight в англомовній версії програми з полями у версіях моделі об’єкта на безлічі інших мов.

    XML не містить вбудованої в мову підтримки типів даних. У ньому немає суворої типізації, тобто понять «цілих чисел», «рядків», «дат», «бульових значень» і т. д.

    Ієрархічна модель даних. пропонована XML, обмежена в порівнянні з реляційної моделлю і об’єктно-орієнтованими графами і мережевий моделі даних.

    Вираз неиерархических даних (наприклад, графів ) вимагає додаткових зусиль

    Крістофер Дейт. фахівець в області реляційних баз даних. автор класичного підручника «An Introduction to Database Systems », зазначав, що «…XML є спробою заново винайти ієрархічні бази даних …»[10] (в 1980-е роки ієрархічні бази даних були витіснені реляційними базами даних ).

    Простору імен XML складно використовувати і їх складно реалізовувати в XML-парсерах .

    Існують інші, що володіють схожими з XML можливостями, текстові формати даних, які володіють більш високою зручністю читання людиною (YAML, JSON, SweetXML[11]. XF[12] ).

    Відображення XML у Всесвітній павутині

    Найбільш поширені три способи перетворення XML-документа відображається користувачеві вигляд:

    Застосування стилів CSS ;

    Застосування перетворення XSLT ;

    Написання на якій-небудь мові програмування обробника XML-документа.

    Без використання CSS або XSL XML-документ відображається як простий текст у більшості Web-браузерів. Деякі браузери, такі як Internet Explorer Mozilla Firefox відображають структуру документа у вигляді дерева, що дозволяє згортати і розгортати вузли за допомогою натискань клавіші миші.

    Застосування стилів CSS

    Процес аналогічний застосування CSS HTML -документом для відображення.

    Для застосування CSS при відображенні в браузер, XML-документ повинен містити спеціальну посилання на таблицю стилів. Наприклад:

    Це відрізняється від підходу HTML, де використовується елемент .

    Застосування перетворення XSLT

    XSL є технологією, що описує як форматувати або перетворювати дані XML-документа. Документ трансформується у формат, придатний для відображення в браузері. Браузер — це найбільш часте використання XSL, але не варто забувати, що з допомогою XSL можна трансформувати XML у будь-який формат, наприклад, VRML. PDF. текст.

    Для завдання XSL трансформації (XSLT ) на стороні клієнта вимагається наявність в XML інструкції наступного виду:

    Словники XML

    Так як XML є досить абстрактним мовою, були розроблені словники XML.

    Словник дозволяє розробникам домовитися про деякому кінцевому наборі імен тегів і атрибутів цих тегів. Одним із перших словників є XHTML, який розуміє більшість браузерів. XHTML часто використовують для зберігання і редагування контенту в CMS .

    Були створені спеціалізовані словники, наприклад протокол передачі даних SOAP. який не є людино-орієнтованим і досить важко читаємо. Є комерційні словники, такі як CommerceML. xCBL cXML які використовуються для передачі даних, орієнтованих на торговельну діяльність, ці словники включають в себе опис системи замовлень, постачальників, продуктів та інше.

    Звичайно, описуючи будь-який документ, який людина для себе придумує деякий словник, який потім описується за допомогою DTD або просто пояснюється «на пальцях» зацікавленим особам.

    Одним із словників, що одержали широке поширення, є FB2 — словник, що описує формат книги, зі всілякими посиланнями, цитатами, навіть картинками.

    Версії XML

    XML 1.0

    XML 1.1

    См. також

    XSD

    DITA

    Редактор XML

    ^ David Megginson. Imperfect XML: Rants, Raves, Tips, and Tricks … from an Insider.

    Chapter 8

    ^ Data File Metaformats

    ^ Gustavo Alonso. Myths around Web Services Swiss Federal Institute of Technology, page 6

    ^ Tim Bray. Using in XML Internet Protocols Sun Microsystems

    ^ o’reilly Network: An Interview with Chris Date

    ^ SweetXML

    ^ XFHome.org — формат обміну даними XF

    Література

    Девід Хантер, Джефф Рафтер та ін. XML. Базовий курс = Beginning XML. — М. Вільямс. 2009. — 1344 с. — ISBN 978-5-8459-1533-7

    Сергєєв А. П. HTML і XML. Професійна робота. — М. Діалектика. 2004. — 880 с. — ISBN 5-8459-0676-8

    Роберт Тейбор. Реалізація XML Веб-служб на платформі Microsoft .NET = Microsoft .NET XML Web Services. — М. Вільямс. 2002. — 464 с. — ISBN 0-672-32088-6

    Посилання

    XML на сайті Консорціуму Всесвітньої павутини (W3C)

    Офіційна специфікація стандарту XML 1.0 (англ.)

    Російська переклад специфікації XML 1.0

    Офіційна специфікація стандарту XML 1.1 (англ.)

    Новини XML і огляди

    Короткий підручник з XML Опис можливостей мови XML, а також базові правила, що дозволяють грамотно складати XML документи.

    Документація з XML на сайті IBM статті, форуми

    Короткий опис статті: новини економіки Тема: Мова XML. Тип: Реферат. У роботі є: додатки 1 шт., виноски більше 10 шт. Мова: російська. Розмістив (ла): Анджеліна Джолі. Розмір: 34 кб. Категорія: Інформатика. Короткий опис: ‘Xml (англ. eXtensible Markup Language — розширювана мова розмітки; вимовляється [екс-ем-е?л]) — рекомендований Консорціумом Всесвітньої павутини мова розмітки, фактично представляє собою звід загальних синтаксичних правил’ Реферат Мову XML Інформатика

    Джерело: Мова XML

    Також ви можете прочитати