XML для новачків

Можливо, ви чули про розширювану мову розмітки (XML) і про багато причин, чому вашій організації слід її використовувати. Але що ж таке XML? У цій статті пояснюються основи XML: що це за мова та як вона працює.

У цій статті

Знайомство з розмічуванням, розміткою й тегами

Характерні особливості XML

Кілька слів про правильно побудовані дані

Коротко про схеми

Коротко про перетворення

Знайомство з XML у системі Microsoft Office

Знайомство з розмічуванням, розміткою й тегами

Щоб розібратися з XML, слід розуміти поняття розмічування даних. Люди створюють документи вже багато століть, і стільки ж часу вони розмічують ці документи. Наприклад, шкільні вчителі весь час розмічають роботи учнів. Вони вказують учням, що потрібно перемістити абзаци, переписати речення, виправити орфографічні помилки тощо. Розмічаючи документ, ми визначаємо структуру, значення та візуальний вигляд інформації в документі. Якщо ви використовували функцію виправлень у Microsoft Office Word, то користувалися комп’ютерною формою розмічування.

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

HTML-код цієї статті є чудовим прикладом комп’ютерної розмітки. Якщо ви переглянете його (у Microsoft Internet Explorer клацніть правою кнопкою миші сторінку, а потім виберіть Перегляд HTML-коду), ви побачите зрозумілий текст, який перемежається з тегами на мові розмітки гіпертексту (HTML), наприклад <p> і <h2>. Теги в документах HTML і XML можна легко розпізнати, тому що їх узято в кутові дужки. У вихідному коді цієї статті теги HTML виконують різноманітні функції, наприклад визначають початок і завершення кожного абзацу (<p></p>) і позначають розташування кожного зображення.


Характерні особливості XML

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

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

Пам’ятайте про наведені нижче факти.

  • Не можна використовувати HTML замість XML. Але можна помістити дані XML у теги HTML і відображати їх на веб-сторінці.

  • Набір тегів в HTML є обмеженим і спільним для всіх користувачів.

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

    <?xml version="1.0"?>
    <CAT>
    <NAME>Izzy</NAME>
    <BREED>Siamese</BREED>
    <AGE>6</AGE>
    <ALTERED>yes</ALTERED>
    <DECLAWED>no</DECLAWED>
    <LICENSE>Izz138bod</LICENSE>
    <OWNER>Colin Wilcox</OWNER>
    </CAT>

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

Але не плутайте теги в цьому зразку коду з тегами у файлі HTML. Наприклад, якщо вставити цю структуру XML у файл HTML і переглянути її в браузері, результати матимуть десь такий вигляд:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

Браузер ігнорує теги XML і відображає лише дані.


Кілька слів про правильно побудовані дані

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

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

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

використання мови xml іншими програмами

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


Коротко про схеми

Нехай термін "схема" вас не лякає. Схема – це просто файл із правилами, які визначають, що може та не може містити файл даних XML. Для імен файлів схем зазвичай використовується розширення .xsd, а для файлів даних XML використовується розширення .xml.

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

схеми дозволяють застосункам використовувати спільний доступ до xml-даних.

Схеми можуть бути складними, але в цій статті ми не пояснюватимемо, як їх створювати. (До того ж, швидше за все, у вас є відділ ІТ, який уміє це робити). Але корисно знати, як схеми виглядають. Наведена нижче схема визначає правила для набору тегів <CAT> … </CAT>.

<xsd:element name="CAT">  
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NAME" type="xsd:string"/>
<xsd:element name="BREED" type="xsd:string"/>
<xsd:element name="AGE" type="xsd:positiveInteger"/>
<xsd:element name="ALTERED" type="xsd:boolean"/>
<xsd:element name="DECLAWED" type="xsd:boolean"/>
<xsd:element name="LICENSE" type="xsd:string"/>
<xsd:element name="OWNER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

Не турбуйтеся, якщо не все в зразку вам зрозуміло. Просто пам’ятайте такі факти:

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

  • Декларації надають величезні можливості контролю за структурою даних. Наприклад, декларація <xsd:sequence> означає, що теги, наприклад <NAME> (ім’я) і <BREED> (порода), мають указуватися в наведеному вище порядку. Декларації також можуть контролювати типи даних, які можуть вводити користувачі. Наприклад, наведена вище схема вимагає, щоб для віку кішки вводилося додатне число, а для тегів ALTERED (кастровано) і DECLAWED (видалено кігті) – значення типу Boolean (ІСТИНА або ХИБНІСТЬ).

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


Коротко про перетворення

Як згадувалося раніше, XML також надає потужні способи використання та повторного використання даних. Механізм повторного використання даних носить назву Extensible Stylesheet Language Transformation (XSLT). Його також називають просто перетворенням.

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

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

Базова структура XML-файлу зі схемою та перетворенням

У наведеному нижче зразку коду продемонстровано один зі способів записування перетворення. Дані <CAT> (кішка) завантажуються до таблиці на веб-сторінці. Знову ж таки, цей зразок наведено не для того, щоб показати вам, як писати перетворення, а щоб продемонструвати одну з можливих форм перетворення.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<TABLE>
<TR>
<TH>Name</TH>
<TH>Breed</TH>
<TH>Age</TH>
<TH>Altered</TH>
<TH>Declawed</TH>
<TH>License</TH>
<TH>Owner</TH>
</TR>
<xsl:for-each select="CAT">
<TR ALIGN="LEFT" VALIGN="TOP">
<TD>
<xsl:value-of select="NAME"/>
</TD>
<TD>
<xsl:value-of select="BREED"/>
</TD>
<TD>
<xsl:value-of select="AGE"/>
</TD>
<TD>
<xsl:value-of select="ALTERED"/>
</TD>
<TD>
<xsl:value-of select="DECLAWED"/>
</TD>
<TD>
<xsl:value-of select="LICENSE"/>
</TD>
<TD>
<xsl:value-of select="OWNER"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>

У цьому зразку показано один із типів перетворення, написаний кодом, але пам’ятайте: ви можете описати, що вам необхідно від даних, просто українською мовою. Наприклад, ви можете прийти до свого відділу ІТ та пояснити, що вам потрібно надрукувати дані про продажі для певних регіонів за два минулих роки, і додати: "Хочу, щоб це виглядало ось так". Після цього ваш відділ ІТ зможе написати (або змінити) перетворення для виконання цього завдання.

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


Знайомство з XML у системі Microsoft Office

XML широко підтримується в професійних випусках Office. Починаючи із системи Microsoft Office 2007, у Microsoft Office використовуються формати файлів на основі XML, наприклад DOCX, XLSX і PPTX. Оскільки XML зберігає дані в текстовому, а не у двійковому форматі, що є корпоративною власністю, ваші клієнти можуть визначати свої власні схеми та використовувати ваші дані більшою кількістю способів без сплати ліцензійних платежів. Докладні відомості про нові формати див. в статті Формати Open XML і розширення імен файлів. Інші переваги:

  • Менший розмір файлу. У новому форматі використовується ZIP та інші технології стиснення, які дають змогу зменшувати розмір файлу на 75 відсотків порівняно з двійковими форматами, які використовуються в попередніх версіях Office.

  • Простіше відновлення інформації та підвищений рівень безпеки. Для розуміння XML не потрібна спеціальна підготовка, тому в разі пошкодження файлу його можна відкрити в Блокноті (Microsoft) або іншій програмі для читання тексту та відновити принаймні частину інформації. Крім того, нові файли краще захищені, тому що вони не можуть містити код Visual Basic for Applications (VBA). Якщо ви використовуєте новий формат для створення шаблонів, усі елементи керування ActiveX і макроси VBA містяться в окремому, краще захищеному розділі файлу. Крім того, за допомогою спеціальних засобів, зокрема інспектора документів, можна видалити особисті дані. Докладні відомості про використання інспектора документів див. в статті Видалення прихованих даних і особистих відомостей із документів Office.

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

Увімкнення знарядь XML у програмах Office

За замовчуванням вкладка "Розробник" не відображається, але ви можете додати її до стрічки, якщо хочете використовувати команди XML в Office:

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×