您好有一个由 3 个节点和 2 个连接组成的简单 graphML 文件,我想对其进行转换,以便标签和属性的内部结构以不同的方式组织。
原始文件如下:
<?xml version="1.0" encoding="utf-8"?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<graph edgedefault="undirected">
<node id="0">
<data key="d0">rBSTS</data>
<data key="d1" />
<data key="d2" />
<data key="d3">n1</data>
<data key="d4" />
</node>
<node id="1">
<data key="d1" />
<data key="d4" />
<data key="d0">rCAC</data>
<data key="d2" />
<data key="d3">n2</data>
</node>
<node id="2">
<data key="d1" />
<data key="d4" />
<data key="d0">rCMF</data>
<data key="d2" />
<data key="d3">n3</data>
</node>
<edge source="0" target="1">
<data key="d5">0.252829037184</data>
</edge>
<edge source="1" target="2">
<data key="d5">0.205407183132</data>
</edge>
</graph>
</graphml>
虽然我想获得的文件如下(我手动转换它以显示所需的结果):
<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns">
<graph edgedefault="undirected">
<node id="n1">
<data key="dn_href"></data>
<data key="dn_label">rBSTS</data>
<data key="dn_free">rBSTS</data>
<data key="dn_intensityvalue">1</data>
</node>
<node id="n2">
<data key="dn_href"></data>
<data key="dn_label">rCAC</data>
<data key="dn_free">rCAC</data>
<data key="dn_intensityvalue">2</data>
</node>
<node id="n3">
<data key="dn_href"></data>
<data key="dn_label">rCMF</data>
<data key="dn_free">rCMF</data>
<data key="dn_intensityvalue">3</data>
</node>
<edge id="e1_2" source="n1" target="n2">
<data key="de_strength">0.252829037184</data>
</edge>
<edge id="e1_3" source="n2" target="n3">
<data key="de_strength">0.205407183132</data>
</edge>
</graph>
</graphml>
结构的改变不是那么容易(例如节点ID在原始数据结构中从0开始,而在所需输出中从n1开始):是否可以使用XSL转换来转换它?