1

次のサンプル XML があります。

<root>
<Entities>
<Entity>
<property type=”Name”&gt;Name1</property>
<property type=”Parent_id”&gt;-1</property>
<property type=”id”&gt;1</property>
</Entity>
<Entity>
<property type=”Name”&gt;Name2</property>
<property type=”Parent_id”&gt;1</property>
<property type=”id”&gt;2</property>
</Entity>

<Entity>
<property type=”Name”&gt;Name3</property>
<property type=”Parent_id”&gt;2</property>
<property type=”id”&gt;3</property>
</Entity>

<Entity>
<property type=”Name”&gt;Name4</property>
<property type=”Parent_id”&gt;2</property>
<property type=”id”&gt;4</property>
</Entity>

<Entity>
<property type=”Name”&gt;Name5</property>
<property type=”Parent_id”&gt;3</property>
<property type=”id”&gt;5</property>
</Entity>
</Entities>
</root>

XML はエンティティで構成され、各エンティティには親 ID と ID があります。親 ID = -1 のエンティティは常に 1 つ存在します。これは、ルート エンティティであることを意味します。

この種の XML を、親子関係が描かれている HTML UL に変換できる XSL が必要です。

たとえば、上記のサンプルの場合、出力は次のようになります。

<ul>
  <li>Name1</li>
    <ul>
    <li>Name2</li>
    <ul>
  <li>Name3</li>
    <ul>
    <li>Name5</li>
    </ul>
   <li>Name4</li>
    </ul>
   </ul>
   </ul>

XML は動的であり、エンティティの数は定数ではありません。保証される唯一のことは、親 ID が -1 であるエンティティの存在であり、すべてのルート エンティティとしてマークされます。

私はこれのために XSLT を書き込もうとしましたが、実行に時間がかかり、この問題を解決するための戦略を考えることができませんでした。

ライフジャケットを投げて助けてください、

4

1 に答える 1