LINUX.ORG.RU

graphviz dot->XML


0

0

Подскажите, как наиболее элегантно и просто сконвертировать dot-файл от graphviz-а в XML?

При этом необходимо использовать как можно меньше сторонних средств.

На Python-е что-ли парсер сделать?

★★★★

Лучше объясни задачу, не ясно, какой XML тебе нужен. "Наиболее элегантно и просто" -- dot -Tsvg input.dot

Cantor ★★
()
Ответ на: комментарий от Cantor

По сути, мне нужно то же, что и в dot-файле, просто отображенное на XML. SVG я хочу сам генерить (XSLT, используя данные из dot файла, поэтому мне и нужно его в XML превратить), на основании расположения прямоугольных узлов и путей.

WFrag ★★★★
() автор топика
Ответ на: комментарий от anonymous

В принципе, вариант хороший, но не хочется сам dot править - придется его еще и пересобирать и распространять под разные платформы. Чего делать не хочется.

WFrag ★★★★
() автор топика
Ответ на: комментарий от WFrag

Ага, я тоже когда-то такое делал, потом обломался :) Я писал на яве примитивный DotReader, расширяющий org.xml.sax.DefaultHandler, для очень ограниченного подмножесва дот синтаксиса. Если делать правильно, надо взять грамматику(где-то видел готовую)и скормить ее какому-нибудь javacc.

Cantor ★★
()
Ответ на: комментарий от Cantor

>Ага, я тоже когда-то такое делал, потом обломался :) Я писал на яве примитивный DotReader, расширяющий org.xml.sax.DefaultHandler, для очень ограниченного подмножесва дот синтаксиса. Если делать правильно, надо взять грамматику(где-то видел готовую)и скормить ее какому-нибудь javacc.

Не, на Java я не хочу. Хочется на Haskelle, но думаю это будет слишком экзотично. Видимо все-таки попробую на Python-е, вроде для него есть простые генераторы парсеров (Toy Parser Generator, например).

WFrag ★★★★
() автор топика
Ответ на: комментарий от WFrag

Хочется странного? Понимаю :) У меня весь XML процессинг завязан на Java(Xerces, Saxon, etc), потому и писал на нем же. Вот, уже нашел: 1) http://www.research.att.com/~john/Grappa/grappa.html . Умеет парсить дот формат. 2) http://www.yoix.org/ - в исходниках есть грамматика для javacc

Cantor ★★
()
Ответ на: комментарий от Cantor

Нет, просто основной процесс будет скорее всего XSLT (генерация документации в DocBook XML + SVG на основании JavaDoc-а, конфигурации Spring, и.т.д). Graphiz нужен для раскладывания диаграм (а красивый SVG я сам с помощью XSLT сделаю).

А на Java мне такое писать точно не хочется :)

WFrag ★★★★
() автор топика
Ответ на: комментарий от Cantor

Тем, что нельзя свои shape-ы подставлять. А я хочу красивые, с тенями. :) Как минимум такие, как в Visio.

А по сгенеренному SVG восстановить раскладку диаграммы все же сложнее, чем распарсить dot-файл.

WFrag ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.