XML: приклад, функції і можливості, плюси і мінуси формату

XML - код, прийнятий в якості рекомендації Консорціуму World Wide Web (W3C), аналогічний мови HTML. Він є менш складним і зручним у застосуванні, належить до підмножини мови розмітки стандарту SGML, використовуваного для створення структури документа. Основним будівельним блоком XML є елемент, який визначається початковими і кінцевими тегами. Всі дані в документі XML містяться в зовнішньому елементі, відомому як кореневої. Імена описують його вміст. А структура описує відносини між елементами в прикладі XML. Він підтримує вкладені або внутрішні елементи з ієрархічною структурою.

Історія

XML з’явився як спосіб подолати недоліки двох своїх попередників - SGML і HTML. В кінці 1980-х до появи Інтернету видавці цифрових ЗМІ реалізували різні переваги SGML для динамічного відображення інформації. Мова був надзвичайно потужним і розширюваним інструментом для семантичної розмітки і особливо корисний для каталогізації та індексації даних. SGML і сьогодні можна використовувати для створення нескінченної кількості мов розмітки.

Однак SGML залишається досить складним і дорогим, особливо для повсякденного використання в інтернеті. Додавання можливості SGML до текстового процесора подвоює або навіть влаштовує його ціну. Нарешті, комерційні браузери ясно дали зрозуміти, що вони не мають наміру коли-небудь підтримувати SGML.

Одним з найпопулярніших додатків SGML стало розвиток мови розмітки гіпертексту HTML, створеного Тімом Бернерс Лі в кінці 1980-х. З моменту свого розвитку HTML став жертвою власної популярності, так як він був швидко прийнятий і розширено багатьма способами, що виходять за рамки його первісного бачення.

w3c схвалив версію 1.0 xml

Він залишається популярним і сьогодні, хоча вважається невідповідним як формат зберігання даних загального призначення на відміну від інших мов. Приклад: XML усуває прогалину, будучи легким для читання як для людини, так і для комп’ютера, і в той же час досить гнучким для підтримки обміну даними, незалежного від платформи і архітектури. У 1998 році W3C схвалив версію 1.0 XML, таким чином, офіційно був створений новий мову.

Структура елементів

Існує два способи визначити структуру XML-документа (визначення типу даних (DTD) і схеми XML). Документи DTD були введені SGML. Вони відповідають розширеній формі Backus Naur (EBNF).

документи схеми xml

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

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

Завдяки розробці через SGML визначення типів документів більше підходять для додатків, орієнтованих на документи, таких як HTML. В HTML використовується DTD. Хоча він може визначати структуру документа, але не може визначати правила, які повинні застосовуватися до даних. Тобто всі дані, що містяться в XML-документі, в DTD обробляються як рядок. Це підходить для мов розмітки. Але не підходить, коли з додатком необхідно контролювати містяться в ньому дані.

Документ XML вважається “правильно сформованим”, тобто може бути прочитаний і зрозумілий синтаксичним аналізатором, якщо його формат відповідає специфікації XML і він правильно розмічений. А елементи належним чином вкладені. Код також підтримує можливість визначення атрибутів для елементів і опису характеристик в початковому тегу. Документи можуть бути дуже простими для XML, приклад тексту “Привіт, світ!”:

Hello world

Посібник з безпеки брандмауера

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

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

посібник з безпеки брандмауера

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

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

Управління в SOA

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

Приклад sitemap XML і нюанси використання демонструє можливості мови.

управління даними в soa

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

приклад xml файлу soa.

Формуючи метадані з використанням XML, а потім, створюючи додатки XSLT для передачі їх в компоненти SOA і з них, розробники отримують численні переваги:

  1. Вони створюють засоби для захоплення ключових елементів даних, взаємодій і семантики. Вони полегшують переміщення їх між компонентами SOA або між собою. Також документують основні поняття і припущення щодо даних, які вони використовують і необхідних метаданих.
  2. Чіткі абстрактні уявлення потоків інформації, які передаються між компонентами і між собою (а також характер і масштаб цих потоків) дають можливість перенаправляти їх у міру появи нових бізнес-потреб і в міру того як нові виробники і споживачі об'єднуються в загальній картині.
  3. Протоколи XML і обміну повідомленнями, такі як SOAP, дійсно спрощують абстрагування даних і їх переміщення. Але вони також підвищують важливість того, де знаходяться дані, як вони отримують або зберігають належний контекст і як зв'язати певний синтаксис, семантику і перевірку точності з реальною інформацією, яку вони представляють.

Процес парсеру

Однією з цілей формату XML було поліпшення форматів необроблених даних, таких як простий текст, шляхом включення докладних описів значення вмісту. Тепер, щоб мати можливість читати XML-файли, використовують синтаксичний аналізатор. Він (в основному) надає вміст документа через так званий API-інтерфейс прикладного програмування. Іншими словами, клієнтське додаток отримує доступ до вмісту XML-документа через інтерфейс замість того, щоб інтерпретувати код самостійно. Це можна продемонструвати на прикладі parser JAVA XML.

Синтаксичний аналізатор коду аналізує правильно сформований документ, вбудований в строкове поле і передає проаналізовані дані в вихідний поле записи.

При налаштуванні аналізатора XML користувач вказує два поля. Перше містить документ, друге - призначення для проаналізованих результатів. Можна визначити елемент роздільник. Це робиться для того щоб розділити документ на кілька значень. Якщо він не визначений, XML Parser передає весь документ в цільове поле у ​​вигляді карти.

При визначенні цього елемента можна використовувати його або спрощене вираз XPath. Використовують елемент, коли він знаходиться безпосередньо під кореневим вузлом і спрощене вираз XPath (для більш глибокого доступу до даних в документі XML).

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

Можна налаштувати процесор так, щоб XPath включався в кожен аналізований елемент і XML в атрибутах полів. Це також поміщає кожне простір імен в атрибут заголовка запису xmlns. Ще можна налаштувати процесор на включення атрибутів і оголошень простору імен в запис (як атрибут поля). За замовчуванням він вже включає атрибути XML і оголошення простору імен у вигляді полів.

При налаштуванні аналізатора XML вказують поле для аналізу і поле виведення для використання. На панелі “Властивості” на вкладці “Загальні” налаштовують властивості, представлені в таблиці нижче.

Призначення

Опис

Назва

Сценічний псевдонім, подібно до того, як в прикладі читання XML 1с 8 3

Опис

Необов’язкове опис

Обов’язкові поля

Поля, які повинні включати дані для запису, переданої на сцену

Можна включити поля, які використовує сцена

Записи, які не включають всі обов’язкові поля, обробляються на основі обробки помилок, налаштованої для конвеєра

Передумови

Умови, які повинні оцінюватися як ІСТИНА, щоб дозволити записи увійти в стадію обробки. Натискають кнопку “Додати”, щоб створити додаткові попередні умови.

Записи, які не відповідають всім попереднім умовам, обробляються на основі обробки помилок, налаштованої для етапу.

Не вдалося записати

Обробка записи помилок для етапу:

  • Discard - видаляє
  • Send to Error - відправляє в конвеєр для обробки помилок

Створення масштабується DOM

На відміну від DOM, SAX заснований на подіях, тому він не створює уявлення дерева вхідних документів в пам’яті. SAX обробляє елемент вхідного документа за елементами і може повідомляти про події і важливих даних в методи зворотного виклику в додатку.

В Java XDK існує три способи створення DOM:

  1. Розбір документа за допомогою DOMParser. Це був традиційний підхід XDK.
  2. Створення масштабується DOM, використовуючи фабричний метод XMLDOMImplementation.
  3. Використання конструктора XMLDocument. Це не поширене рішення в XDK.

Документ аналізується як послідовність лінійних подій.

В цілому, SAX API надає наступні переваги:

  1. Метод корисний для операцій пошуку і інших програм, яким не потрібно маніпулювати деревом XML.
  2. Він не споживає значних ресурсів пам'яті.
  3. Працює швидше, ніж DOM при отриманні XML-документів з бази даних.
  4. JAXP API дозволяє підключити реалізацію парсеру SAX або DOM.
  5. API-інтерфейси SAX і DOM, що надаються в Oracle XDK, є прикладами специфічних реалізацій, підтримуваних JAXP.

Загалом, перевага JAXP полягає в тому, що користувач може використовувати його для написання сумісних додатків. Якщо додаток використовує функції, доступні через JAXP, воно може дуже легко перемкнути реалізацію.

Основним недоліком JAXP є те, що він працює повільніше, ніж API-інтерфейси конкретного виробника.

Приклад створення повідомлень

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

Для початку потрібно оголосити версію XML. Після оголошення версії визначають кореневий елемент для документа. Як кореневого елемента використовують повідомлення, приклад JAVA XML:

Спосіб опису відносин в XML - це термінологія батька і спадкоємця. У цьому прикладі батьківським або “кореневих” елементом є той, який має дочірній елемент. Наведемо простий приклад читання XML, коли вони пов’язані в коді. Виконують відступ коду, щоб показати, що елемент є дочірнім по відношенню до іншого:

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

Info@ххххххх. edu info@хххххххх. edu

Re: XML Lesson My XML project.

Написання документа message

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

MyName YourName 2013

Hello

How are you?

Додають атрибути якщо потрібно відстежувати, чи були на ці повідомлення відповіді чи ні. Замість того щоб створювати додатковий елемент з ім’ям, привласнюють атрибут елементу і вказують, чи був цей документ відповіддю на попереднє повідомлення. JAVA XML приклад:

Або ж

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

Додатки для розробників

За своєю суттю XML дозволяє розробнику програмного забезпечення створювати словник і використовувати його для опису даних. Наприклад, при обміні даними між комп’ютерами число 42 не має сенсу. А якщо користувач вкаже це ж значення в градусах, то воно матиме сенс, оскільки температура процесора виражається в градусах Цельсія. Тільки коли відправник і одержувач мають узгоджене розуміння значення інформації, вони можуть використовувати її за призначенням.

Перед розробкою XML між системами потрібно отримати певну кількість апріорних угод про дані і їх значенні. З розвитком XML можна обмінюватися даними між системами без будь-якого попереднього згоди, за умови, що обидві системи розуміють один і той же словник, тобто “кажуть” на одній мові. З часу розробки коду з’явилося кілька таких додатків.

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

веб-пошук і автоматизація веб-задач

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

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

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

приклад xml запиту обробника подій

Додатки метаданих - код полегшує вираження метаданих в переносимому, багаторазово використовуваному форматі.

Поширені обчислення - XML ​​надає переносяться і структуровані типи інформації для відображення на що поширюються (бездротових) обчислювальних пристроях, таких як персональні цифрові помічники (PDA), мобільні телефони та інші.

Переваги і недоліки мови

Для систем реляційних баз даних неможливо обробляти дані незалежно від їх контексту. Тому вимоги електронного бізнесу не виконуються. Традиційні бази даних не можуть обробляти аудіо, відео або складні дані.

Переваги мови:

  1. Відкритий і розширюваний. Структура XML є адаптується і може бути змінена, щоб відповідати галузевим словником. Користувачі можуть додавати елементи при необхідності.
  2. Інтернаціоналізація. Багатомовні документи і стандарти Unicode підтримуються XML, що важливо для додатків електронного бізнесу.
  3. Технології, орієнтовані на майбутнє. W3C підтримує XML, який підтримується основними постачальниками програмного забезпечення. Він також використовується в усе більшій кількості галузей.
  4. З Самоопису. У бізнес-додатків існують і інші завдання, крім простого подання контенту, тому використовується XML, тому що він забезпечує повне зручність використання даних і правильне їх подання. Таким чином, для XML більш кращі традиційні системи БД.
  5. Інтеграція традиційних БД і форматів. XML-документи підтримують всі типи даних: класичний (текст, числа), мультимедіа (звуки), активні формати (Java-аплети, активні х-компоненти).
  6. Зміни в поданні. Таблиці стилів XML можна використовувати для зміни документів або веб-сайтів без зміни фактичних даних.
  7. Один сервер. Дані з різних баз даних і декількох серверів можуть бути частиною XML-документа. Тобто вся WWW конвертується в одну БД.

конвертація в одну базу даних

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



ЩЕ ПОЧИТАТИ