如何通过XSLT将自定义图形格式转换为SVG图形视图?

时间:2016-11-02 19:21:52

标签: xml xslt svg converter graph-visualization

我有xml的自定义图片格式 - 就像格式一样。我想明确地安排节点textviewedge。我的方法是使用XSLxml的{​​{1}}转换。我是svg格式的新手,但是对svg有点兴趣。我想知道这个任务是否已经像xsl中的graphml to svg功能那样解决了。是否有一些方便的方法来进行这样的转换?

yEd

我刚刚创建了可以将nodeviews转换为rects的示例<?xml version="1.0" encoding="windows-1251"?> <project version="1.2"> <calc allowworktime="false" cutoff="0"/> <sfc> <graphview> <nodeview idref="1"> <properties> <color value="#FF000000" name="outline.color"/> <rectangle left="165" top="85" right="195" bottom="115" name="bounds"/> <color value="#FFFFFFFF" name="fill.color"/> </properties> </nodeview> <edgeview idref="1"> <properties> <color value="#FF000000" name="outline.color"/> </properties> </edgeview> <textview> <properties> <color value="#00000000" name="outline.color"/> <color value="#FF000000" name="label.font.color"/> <integer value="8" name="label.font.size"/> <rectangle left="176" top="63" right="194" bottom="78" name="bounds"/> <string value="Tahoma" name="label.font.family"/> <color value="#00000000" name="fill.color"/> <integer value="0" name="label.font.style"/> <string value="Ë1" name="label.text"/> </properties> </textview> </graphview> </sfc> </project> ,但是当在inkscape中打开时,svg不会以某种方式呈现。

xslt

1 个答案:

答案 0 :(得分:3)

样式表的主要问题是您创建的元素不在SVG名称空间中。您可以通过使SVG名称空间成为样式表的默认名称空间来轻松解决这个问题 - IOW,更改此内容:

xmlns:svg="http://www.w3.org/2000/svg"

为:

xmlns="http://www.w3.org/2000/svg"

另一件事是您的计算返回负高度,这在SVG中是不允许的。