Apache Daffodil. Реализация языка описания формата данных с открытым исходным кодом для преобразования между данными фиксированного формата и XML / JSON была обновлена для улучшения совместимости с DFDL.
Язык описания формата данных (DFDL) — это спецификация, разработанная Open Grid Forum для создания стандартного способа описания различных форматов данных, включая текстовые и двоичные, научные и числовые, устаревшие и современные, коммерческие, ориентированные на записи и многие промышленные и военные стандарты.
Реализация с открытым исходным кодом, Daffodil, в настоящее время является проектом Apache Incubator, имеет API-интерфейсы Java и Scala, предоставляет процессоры Apache NiFI для синтаксического анализа и распаковки файлов NiFi Flow и имеет расширение для XML Calabash, которое объявляет шаги конвейера XProc для синтаксического анализа и анализа входных данных. .
DFDL определяет язык, который является подмножеством схемы W3C XML для описания логического формата данных и аннотаций в схеме для описания физического представления. Open Grid Forum был создан в результате слияния Global Grid Forum и Enterprise Grid Alliance и представляет собой группу разработчиков и поставщиков, заинтересованных в стандартизации grid-вычислений.
Daffodil использует эти схемы DFDL для синтаксического анализа данных фиксированного формата в информационный набор, который чаще всего представлен как XML или JSON, что означает, что разработчики могут использовать XML или JSON для потребления, проверки и управления данными фиксированного формата. Daffodil также можно использовать в обратном направлении для сериализации или «разборки» информационного набора XML или JSON до исходного формата данных.
В обновленный выпуск внесен ряд изменений и исправлений ошибок, специально сделанных для улучшения совместимости с IBM DFDL, в том числе усовершенствован механизм выполнения TDML, позволяющий переносить оставшиеся данные для совместимости с тестами IBM.
Язык разметки тестовых данных (TDML) — это способ указания схемы DFDL, входных тестовых данных и ожидаемых результатов или ожидаемых сообщений об ошибках / диагностических сообщениях, которые содержатся в файле XML. IBM создала TDML для сбора тестов для своей собственной реализации DFDL. Даффодил включил эту идею и расширил ее, хотя сейчас предпринимаются попытки согласовать диалекты TDML, чтобы все реализации могли запускать одни и те же тесты.
Этот выпуск Daffodil включает перекрестную проверку исполнителей TDML, что означает, что теперь можно использовать средство исполнения TDML с тестами с различными реализациями DFDL, включая реализацию IBM DFDL. Средство выполнения TDML также добавило сравнения информационных наборов с учетом типов, что означает, что разработчики теперь могут предоставлять атрибут xsi: type в элементах информационного набора, позволяя исполнителю TDML определять, являются ли два элемента логически одинаковыми, даже если значения информационного набора могут отличаться.