Форматы данных SDMX
В отличие от формата SDMX-EDI, который разработан для поддержки преимущественно пакетного обмена, формат SDMX-ML должен удовлетворять более широкому спектру требований. Действительно, XML-форматы используются для множества различных видов автоматизированной обработки данных и, следовательно, должны поддерживать более разнообразные сценарии обработки. Вот почему язык SDMX-ML включает несколько типов сообщений. Каждый из них приспособлен для поддержки определенного набора требований к обработке данных:
- Определение структуры (Structure Definition). Все типы сообщений формата SDMX-ML имеют общий способ представления метаданных, необходимых для понимания и обработки набора данных. Этот способ представления основывается на языке XML.
- Данные родового типа (Generic Data). Все статистические данные, которые можно оформить с помощью стандарта SDMX-ML, могут быть размечены в соответствии с этим форматом данных согласно содержанию сообщения об определении структуры. Этот формат разработан для предоставления данных на web-сайтах, а также для работы с ними при таких сценариях, когда приложения, получающие данные, не могут детально распознать структуру набора данных до его окончательной загрузки. Данные, оформленные в таком формате, не отличаются компактностью, но зато предоставляют возможность легко использовать все аспекты набора данных. Однако этот формат не обеспечивает строгой проверки соответствия между набором данных и его структурным определением с помощью родового XML-парсера.
- Компактные данные (Compact Data). Этот формат имеет отношение только к ключевому понятию того набора данных, который он определяет. Он создается путем последовательных операций преобразования ("мэппинга") между конструкциями метаданных, заданных в сообщении об определении структуры, и компактным форматом. Формат поддерживает обмен больших наборов данных в формате XML (похожем на SDMX-EDI) и предусматривает передачу как неполных (поэтапное обновление), так и целых наборов данных.
- Вспомогательные данные (Utility Data). От многих инструментов и технологий XML ожидают выполнения функций, за которые "отвечает" схема XML. Одна из этих функций - тесная связь между XML-конструкциями, описанными в схеме, и данными в соответствующем XML-документе. Жесткое определение типа данных также рассматривается как нормальное явление; оно поддерживает полную проверку данных, снабженных тэгами. Этот тип сообщений, также как и сообщения компактных данных, относится только к ключевому понятию набора данных, но он разработан для поддержки проверки и других функций XML-схемы. Он также может быть получен из сообщения об определении структуры путем проведения ряда стандартных операций преобразования. Для проведения проверки с помощью XML-парсера необходимо, чтобы набор данных был полным.
- Перекрестные данные (Cross-Sectional Data). В отличие от данных, ориентированных на обработку в виде временных рядов, часть статистических данных состоит из большого количества наблюдений, полученных в один и тот же момент времени. Этот тип сообщений, так же как и сообщения компактных данных, относится только к ключевому понятию набора данных, но ориентирован на этот отличный от временных рядов способ представления данных. Перекрестный формат основывается на том же описании структуры набора данных, что и другие форматы (форматы временных рядов) для того, чтобы поиск мог осуществляться среди временных рядов, а его результаты затем форматировались для этого типа обработки, если это необходимо.
- Запрос (Query). Данные и метаданные часто находятся в базах данных, доступных через интернет. Поэтому возникает необходимость в стандартном документе запроса, который позволял бы осуществлять поиск в базах данных и возвращать результаты в формате SDMX-ML. Документ запроса - это практическое применение информационной модели SDMX для использования в web-сервисах и приложениях, которые управляются базами данных. Он позволяет посылать стандартные запросы провайдерам данных, используя эти технологии.
Поскольку все форматы SDMX-ML являются практическим воплощением одной и той же информационной модели, а все сообщения о данных могут быть получены из сообщения об определении структуры, которое описывает набор данных, то между всеми форматами данных возможно осуществление стандартных операций преобразования. Эти операции могут проводиться с помощью родовых инструментов трансформации, полезных для всех пользователей SDMX-ML. Помимо того, эти инструменты не относятся только к отдельным ключевым понятиям наборов данных, а являются общеупотребительными (даже если форматы, с которыми они имеют дело, являются таковыми).