LINUX.ORG.RU

graphviz dot->XML


0

0

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

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

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

★★★★

Re: graphviz dot->XML

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

Cantor ★★ ()

Re: graphviz dot->XML

Добавь вывод в XML-формате в сам dot. Логышно?

anonymous ()
Ответ на: Re: graphviz dot->XML от Cantor

Re: graphviz dot->XML

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

WFrag ★★★★ ()
Ответ на: Re: graphviz dot->XML от anonymous

Re: graphviz dot->XML

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

WFrag ★★★★ ()
Ответ на: Re: graphviz dot->XML от WFrag

Re: graphviz dot->XML

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

Cantor ★★ ()
Ответ на: Re: graphviz dot->XML от Cantor

Re: graphviz dot->XML

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

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

WFrag ★★★★ ()
Ответ на: Re: graphviz dot->XML от WFrag

Re: graphviz dot->XML

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

Cantor ★★ ()
Ответ на: Re: graphviz dot->XML от Cantor

Re: graphviz dot->XML

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

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

WFrag ★★★★ ()
Ответ на: Re: graphviz dot->XML от WFrag

Re: graphviz dot->XML

>а красивый SVG я сам с помощью XSLT сделаю

А чем плох dot -Tsvg ?

Cantor ★★ ()
Ответ на: Re: graphviz dot->XML от Cantor

Re: graphviz dot->XML

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

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

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