Кодування табличних даних у форматі XML

У цьому додатку описується, як Таблиці даних кодуються в (і декодуються) XML. Таблиці даних кодуються в XML тільки, коли їх необхідно передати як рядкові аргументи для функцій Web-сервісу, у всіх інших випадках AggreGate використовує свій синтаксис кодування.

У більшості інших компонентів AggreGate (базі даних, Протоколі взаємодії AggreGate та ін.) таблиці даних зберігаються і передаються за допомогою так званого власного кодування. Цей формат описано в окремому додатку.

XML – схема для таблиць даних

Наступна XML-схема використовується для кодування таблиць даних:

Додаткову інформацію див. на сайті: http://www.w3.org/XML/Schema

Ця схема XML визначає структуру XML-документа таблиці даних. Кореневий елемент - table визначає Таблицю даних.

Елемент table може містити один елемент format, який визначає формат таблиць даних. Він також може містити опціональний елемент records , який включає список записів таблиць з даними.

Елемент format повинен включати поделемент fields, що містить перелік полів таблиці. Він може мати атрибути minRecords та maxRecords , які визначають мінімальну та максимальну кількість записів у таблиці. Якщо minRecords не визначено, мінімальна кількість записів дорівнює нулю. Якщо maxRecords не визначено, максимальна кількість записів не обмежена (на практиці обмежено 2^64).

Елемент fields складається з одного або більше елементів field. Елемент field визначає формат одного поля. Для нього потрібні атрибути name та type. Елемент fieldType може бути представлений одним кодом типу, визначеного тут. Атрибути description , noReplicated , nullable і readonly опціональні. Елемент field може бути такожвключати поделементи selectionValues ​​і defaultValue . Додаткову інформацію про ці атрибути та елементи можна знайти у розділі Таблиці даних.

Елемент selectionValues ​​може містити один або більше елементів option. Елемент value відноситься до типу fieldVal. Елемент value вимагає атрибут description, який визначає опис певного значення вибору.

defaultValue теж відноситься до типу fieldVal.

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

  • елементами table (включені таблиці)
  • елементами data (бінарні блоки даних)
  • простим текстом (всі типи значень, див правила кодування тут)

Елементи записів містять послідовність елементів запису. Кожен запис представляє один запис Таблиці даних. Вона містить кількість елементів value. Їх тип даних - fieldVal, описаний раніше. Кожен елемент має необхідний атрибут name , включаючи ім'я поля, значення якого становить value .

приклади таблиці даних, закодованих у форматі XML