XSLT для XML как для буферов протокола? Есть ли преобразование для данных буфера протокола Google?

#binary #protocol-buffers #transformation

#двоичный #протокол-буферы #преобразование

Вопрос:

Это НЕ вопрос о XML! Это вопрос о преобразовании двоичных данных в буфер протокола Google.

Допустим, у меня есть два .proto генерирует два разных «сообщения». Представьте, что в одном сообщении все единицы измерения являются метрическими, в другом все они английские. Кроме того, все имена пишутся с большой буквы в одном, а не в другом … и так далее, и так далее.

Теперь мой вопрос: как я могу в общем виде преобразовать данные буфера протокола на месте БЕЗ: (1) написания пользовательской реализации для доступа к полю в объекте A только для его обработки и преобразования в объект B, или (2) извлечения данных из пространства имен proto и парадигмы (например: streamв xml).

До сих пор мое решение заключалось в перемещении данных из буферов протокола через Xerces, преобразовании в Xalan и последующей передаче обратно в другой объект. Болезненный, неуклюжий, медленный.

Ответ №1:

Довольно просто: я не знаю ничего сопоставимого с ранее существовавшим. Теоретически что-то может быть возможно с использованием API-интерфейсов чтения / записи (для любой платформы, на которую вы ориентируетесь), но это все равно не будет тривиальным, особенно при обработке подобъектов.

Было бы интересно исследовать такой API преобразования, но я не думаю, что он будет достаточно распространенным, чтобы гарантировать что-либо столь продвинутое, как xslt.