2016-03-15 6 views
1

Я недавно наткнулся на инструмент под названием Augeas. Насколько я понимаю, этот инструмент можно использовать для создания абстрактного дерева типов, которое можно манипулировать там, где объектив является посредником.Можно ли использовать Augeas для преобразования файлов?

Я хочу попытаться использовать его для преобразования файлов. Это возможно? Скажем, я хочу преобразовать yaml в xml. Как мне это сделать?

Простой пример такого преобразования с использованием augtool был бы приятным.

ответ

0

Augeas теоретически может использоваться для преобразования файлов, хотя это не его основная цель.

Это будет означать манипулирование деревом Augeas (обычно с использованием aug_cp) для создания нового дерева из существующего. Когда дело доходит до экспорта XML, Augeas также имеет вызов aug_to_xml, который экспортирует любое дерево Augeas в XML-документ.

Теперь, когда речь идет о вашей конкретной потребности, нет объектива YAML Augeas (потому что в настоящее время невозможно записать его).

+0

Спасибо за информацию, линза yaml не возможна, потому что у нее нет твердых спецификаций? Или есть другая причина? – user3081519

+0

YAML имеет очень точную и прочную спецификацию (в отличие от многих других форматов, поддерживаемых Augeas). Проблема в том, что YAML полагается на последовательные уровни отступов для уровней хеширования. Augeas в настоящее время не может запомнить количество пробелов в записи для моделирования этого формата. –

+0

Обратите внимание, что теперь есть объектив YAML, но он не очень способен. Это зависит от сложности структуры ямля. Я представил два патча и поднял одну ошибку, и она все еще не достаточно хороша для моего входного документа. augeas имеет недокументированную и ограниченную рекурсию и несколько других скрытых функций, поэтому теперь можно будет сблизиться с ними. –

Смежные вопросы