Какие форматы схемы позволяют представление макета каталога данных? XSD, Protobuf, Thrift … Другие?

Я пытаюсь определить объектную модель для сопоставления структуры файлов и каталогов, где файлы представляют собой смесь XML и проприетарных форматов.

Я хотел бы сделать это как можно более стандартным и переносимым способом без необходимости написания большого количества стандартного кода для сопоставления проприетарных форматов с объектной моделью. Возможно, эти собственные форматы могут быть определены с использованием ASN.1.

Эта структура каталогов также может содержать сжатые файлы, которые должны использоваться в качестве виртуальных файловых систем.

Я хотел бы иметь возможность перекрестной ссылки на файлы в структуре каталогов каноническим способом.

Важно, чтобы у типа схемы была отличная поддержка Java и хорошая поддержка C ++. Python и другие языки будут бонусом.

Он должен разрешать вложенные варианты файловых структур и спецификацию канонического варианта на каждом уровне.

Могут быть варианты структуры каталогов, но всегда будет канонический макет.

например (используя формат имени файла в стиле Java / VFS2)

Канонический формат:

major
minor
binaryFileDDMMYY01.bin
auditFileDDMMYY01.xml
/elements
/element[0]...
binaryFileDDMMYY02.bin
auditFileDDMMYY02.xml

Вариант:

major
minor
12.zip!
binaryFileDDMMYY01.bin
auditFileDDMMYY01.xml
/elements
/element[0]...
binaryFileDDMMYY02.bin
auditFileDDMMYY02.xml

Поскольку я уже использую XML, а XML содержит элементы xref / link, XML может показаться очевидным форматом. Но какой бы формат де-факто я не использовал, мне нужно будет подключиться к анализатору / объектной модели, чтобы сопоставить проприетарные форматы с чем-то, что играет с объектной моделью любого фреймворка, который я выберу (на Java, возможно, проприетарная реализация SAX / DOM, которая отображается на / из формата файла), возможно, используя пользовательские форматы URL (стиль VFS2) или расширения схемы для их определения, например:

<xref href="zip:/major/minor/12.zip!auditFileDDMMYY01.xml"/>

а также

<xref href="acme:zip:/major/minor/12.zip!binaryFileDDMMYY01.bin"/>

или же

<xref format="acme" href="zip:/major/minor/12.zip!binaryFileDDMMYY01.bin"/>

Есть ли какая-либо альтернатива схеме XSD, которая была бы лучше для достижения этой цели? Он не должен быть специфичным для XML, но должен обслуживать обмен XML.

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector