XBinder
Обзор XBinder
XBinder это инструмент привязки данных C/C++ по определению на XML Schema.
Привязка данных XML это процесс, при котором информационные элементы схемы XML преобразуются
в типы и функции на языке программирования.
Исходный код, произволимый XBinder компилятором, это C или C++ текст, который
состоит из определений типов и функций кодирования/раскодирования. Это дает полный
программный интерфейс (API) для работы со всеми определениями сообщений, описанными
в XML Schema.
С компилятором поставляется, как часть пакета, библиотека с базовыми функциями кодирования/раскодирования.
Это библитека содержит процедуры для кодирования и раскодирования базовых типов
XML Schema (числа, строки, двоичные данные и тд.). XBinder компилятор собирает серии
вызовов этих функций для преобразования более сложных типов сообщений.
Зачем использовать привязку данных с XML?
Зачем нужен такой продукт как XBinder? Привязка XML данных дает следующие преимущества
по сравнению с традиционными XML API, такими как SAX и DOM:
Производительность : Операции, такие как проверка данных, сериализация и
десериализация, обычно быстрее для для кода, сгенерированного из схемы XML, чем
при работе парсера. Причина этого заключается в том, что анализ схемы выполнен во
время компиляции и в код вставленаы только необходимые проверки. В отличие от этого,
проверяющий парсер загружает и использует структуру схемы во время выполнения.
Легкое использование: Пользователь приложений с привязкой данных XML могут
работать с переменными и структурами на родными для языка программирования, и им
не требуется беспокоится о представлении в XML. В данном случае прикланной уровень,
уровень разбора и формат данных четко разделены. Это увеличивает производительность
труда, позволяя программистам работать с тем, что они хорошо знают.
Надежность : Приложения, использующие привязку XML данных обеспечивают правильность
генерированного XML документа за счет работы на уровне схемы. Все документы генерируются
единообразно. Если обнаруживается ошибка, единое исправление процесса генерации
или разбора будет распространено на все XML документы, генерируемые приложением.
Заметим, что привязка XML данных не всегда лучший выбор для приложений. Если ожидается
частое изменение схемы, то потребуется и частая регенерация кода, используемого
схемой. Это может быть потенциальным неудобством. Но в случае относительно стабильной
схемы, привязка данных XML может быть хорошим выбором.
XML Schema to C or C++

Текущая версия XBinder способна создавать C или C++ исходный код по заданной спецификации
на XML Schema. Генерируемый код использует библиотеку, состоящую из набора низкоуровневых
C функций для кодирования и раскодирования базовых типов. Собщения на XML
генерируются за счет заполнения структуры и последующего вызова общей функции кодирования.
В других подобных продуктах этот процесс называется маршаллингом или сериализацией.
XML сообщения могут быть разобраны в эквивалентные C структуры. В других продуктах
это называется анмаршаллингом или десериализацией.
В дополнение к C или C++ коду для кодирования или раскодирования XML сообщений,
может быть сгенерен код для отображения содержимого структур в текстовом виде и
для заполнения структур тестовыми данными. Функции печати помогают при отладке,
т.к. позволяют легко просматривать содержимое структур. Тестовые функции дают не
только возможность тестировать сгенерированный код, но и являются шаблоном, который
помогает пользователям заполнять структуры для кодирования в XML.
Также возможно генерировать makefile, который совместим с GNU make или Microsoft Visual C++ nmake утилитами, для конкретного проекта.
|