1

xmi ファイルをグラフィカル ファイルに転送するための xslt ファイルを作成したいと考えています。しかし、エッジが正しいソース ノードとターゲット ノードを接続できないという問題に遭遇しました。私はすでに2週間試しました。しかし、私はまだ混乱しています。私を助けてください。どうもありがとう。

元のコードは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<xml xmlns:xmi="#">
<element xmi:id="BasicElement-Line1" name="Line1" xmi:type="association"/>

<element xmi:id="BasicElement-Line2" name="Line2" xmi:type="association"/>

<element xmi:id="BasicElement-Object1" name="Object1" xmi:type="class">
    <ownedAttribute xmi:type="Property" name="input" type="BasicElement-Object2" association="BasicElement-Line1"/>
    <ownedAttribute xmi:type="Property" name="output" type="BasicElement-Object3" association="BasicElement-Line2"/>
</element>

<element xmi:id="BasicElement-Object2" name="Object2" xmi:type="class">
</element>

<element xmi:id="BasicElement-Object3" name="Object3" xmi:type="class">
</element>
</xml>

私の目標コードは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<xmi xmlns:y="##">
   <edge target="N1002D" source="N1001B" id="N10005">
      <y:PolyLineEdge>
         <y:Arrows target="none" source="none" />
      </y:PolyLineEdge>
   </edge>
   <edge target="N1002D" source="N1001B" id="N10010">
      <y:PolyLineEdge>
         <y:Arrows target="none" source="none" />
      </y:PolyLineEdge>
   </edge>
   <node id="N1001B">
      <y:NodeLabel>BasicElement-Object1</y:NodeLabel>
   </node>
   <node id="N1002D">
      <y:NodeLabel>BasicElement-Object2</y:NodeLabel>
   </node>
   <node id="N10033">
      <y:NodeLabel>BasicElement-Object3</y:NodeLabel>
   </node>
</xmi>

将来的には「クラス」要素が増えるからです。そこで、「{generate-id()}」を使用してノード ID を定義しました。しかし、そうすると、エッジがソースノードとターゲットノードの方法を見つけることができないことがわかりました。だから私はすでに2週間それに取り組んでいて、それについてはわかりません. 助けてください、本当に感謝しています。

4

1 に答える 1