#binary #protocol-buffers #transformation
#двоичный #протокол-буферы #преобразование
Вопрос:
Это НЕ вопрос о XML! Это вопрос о преобразовании двоичных данных в буфер протокола Google.
Допустим, у меня есть два .proto генерирует два разных «сообщения». Представьте, что в одном сообщении все единицы измерения являются метрическими, в другом все они английские. Кроме того, все имена пишутся с большой буквы в одном, а не в другом … и так далее, и так далее.
Теперь мой вопрос: как я могу в общем виде преобразовать данные буфера протокола на месте БЕЗ: (1) написания пользовательской реализации для доступа к полю в объекте A только для его обработки и преобразования в объект B, или (2) извлечения данных из пространства имен proto и парадигмы (например: streamв xml).
До сих пор мое решение заключалось в перемещении данных из буферов протокола через Xerces, преобразовании в Xalan и последующей передаче обратно в другой объект. Болезненный, неуклюжий, медленный.
Ответ №1:
Довольно просто: я не знаю ничего сопоставимого с ранее существовавшим. Теоретически что-то может быть возможно с использованием API-интерфейсов чтения / записи (для любой платформы, на которую вы ориентируетесь), но это все равно не будет тривиальным, особенно при обработке подобъектов.
Было бы интересно исследовать такой API преобразования, но я не думаю, что он будет достаточно распространенным, чтобы гарантировать что-либо столь продвинутое, как xslt.