首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何可视化一组互连的XML对象?

如何可视化一组互连的XML对象?
EN

Stack Overflow用户
提问于 2010-12-09 12:16:24
回答 3查看 1.5K关注 0票数 3

我有一些XML文档,它们被大大简化了,可以描述为:

代码语言:javascript
复制
<someobject id="mykey">
  <relatedobject id="hiskey"/>
  <relatedobject id="herkey"/>
</someobject>
<someobject ...

有什么简单的方法可以制作这样的图表,显示物体在2D空间中放置得很好,它们之间有线条?

我非常熟悉XSLT和Xpath,但我更喜欢不需要从头开始编写程序的解决方案。对Saxon进行几个命令行调用,然后一个图形生成程序就可以了。对于任何可以完全使用在线托管工具完成的事情,都可以获得加分。实时(例如javascript),交互式图表的额外加分。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-09 18:21:21

这里有一个快速的解决方案,可以使用GraphViz作为suggested by Philipp直接粘贴到shell上。这样就可以利用xmlstarlet避免从头开始编写XSLT样式表。

代码语言:javascript
复制
( echo "graph G {" 
  xmlstarlet sel -t -m "//someobject/relatedobject" \
    -v "concat(../@id, ' -- ', @id, '&#xa;')" input.xml 
   echo "}" ) | dotty -

示例输出:

编辑后添加了:,对于额外的加分,仅使用在线工具here的交互式SVG图。这利用了Dracula Graph LibraryW3C XSLT Service。这需要创建一个XSLT stylesheet (直接改编自Dracula Graph Library的在线示例)。用于转换的输入文档可以在here中找到。

票数 3
EN

Stack Overflow用户

发布于 2010-12-09 12:50:05

我建议使用GraphViz:您可以使用XSLT创建一个文本文件,它描述了您想要的图形。有关快速概述,请参阅this example

我不太熟悉了,但我觉得

代码语言:javascript
复制
graph G { 
  mykey -- hiskey
  mykey -- herkey
}

应该能胜任这项工作。

票数 2
EN

Stack Overflow用户

发布于 2010-12-09 17:24:20

这不是一个简单的问题。我很久以前编写了一个程序来集群XML文档,但是显示的是网格而不是图形。不过,如果你要实现一些东西,你可能会对代码感兴趣。此外,您还可以将关键字赋予文档,这些关键字以及用于对文档进行聚类的链接也将用于命名得到的聚类。当有许多文档时,网格显示可能比图形显示更好。

http://media4.obspm.fr/outils/clustering/doc_en.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4394787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档