私の問題は次のとおりです。ノードとエッジを含む構造で、すべてのノードにアクセスするためにエッジを追加したいと思います。入力は次のようになります。
<graph>
<item id="1" type="entry">
</item>
<item id="2" type="incoming">
</item>
<item id="3" type="incoming">
</item>
<item id="4" type="body">
<connection>6</connection>
</item>
<item id="5" type="declaration"></item>
<item id="6" type="contents">
<connection>7</connection>
</item>
<item id="7" type="contents">
<connection>8</connection>
</item>
<item id="8" type="contents"></item>
</graph>
ご覧のとおり、すべての要素に完全な「接続」パスはありません。パスは、すべての@ type ='incoming'、すべての@ type ='declaration'、および最後に@ type ='body'にアクセスして(指定された順序で)、他のすべての接続をそのままにして完成させる必要があります。好き:
<graph>
<item id="1" type="entry">
<connection>2</connection>
</item>
<item id="2" type="incoming">
<connection>3</connection>
</item>
<item id="3" type="incoming">
<connection>5</connection>
</item>
<item id="4" type="body">
<connection>6</connection>
</item>
<item id="5" type="declaration">
<connection>4</connection>
</item>
<item id="6" type="contents">
<connection>7</connection>
</item>
<item id="7" type="contents">
<connection>8</connection>
</item>
<item id="8" type="contents"></item>
</graph>
どのノードにアクセスしたかを「覚えて」おく必要があるため、これを実現する方法がわかりません。XSLT-2.0を使用してそのようなことは可能ですか?ご協力いただきありがとうございます!
psアイテムは、必ずしも上記のようにidでソートされているとは限りません。