私はこの別の問題で現在の問題についてコメントしました。現在の問題は、再発が必要なため、より複雑です。例による詳細:
<root>
<c>cccc</c>
<a gr="g1_1">aaaa</a> <b gr="g1_1">1111</b>
<a gr="g2_1" into="g1_1">bbbb</a> <b gr="g2_1" into="g1_1">56565</b>
<a gr="g3_1" into="g2_1">BB</a> <b gr="g3_1" into="g2_1">55</b>
<a gr="g1_2">xxxx</a> <b gr="g1_2">2222</b>
<a gr="g2_2" into="g1_2">wwww</a> <b gr="g2_2" into="g1_2">3433</b>
</root>
これはタグで囲む必要がありfold
、(XSLT の後) は次のようになります。
<root>
<c>cccc</c>
<fold>
<a gr="g1_1">aaaa</a> <b gr="g1_1">1111</b>
<fold><a gr="g2_1" into="g1_1">bbbb</a>
<b gr="g2_1" into="g1_1">56565</b>
<fold><a gr="g3_1" into="g2_1">BB</a>
<b gr="g3_1" into="g2_1">55</b>
</fold>
</fold>
</fold>
<fold>
<a gr="g1_2">xxxx</a> <b gr="g1_2">2222</b>
<fold><a gr="g2_2" into="g1_2">wwww</a>
<b gr="g2_2" into="g1_2">3433</b>
</fold>
</fold>
</root>
ノート
この例には、「グループ化@gr
のラベル」( ) と「スーパーグループ化」のラベル (@into
親グループを指す) があります。
は@gr
一意のグループの ID であり、構文で「折り畳みレベル」も示します"g" level "_" level-id
。したがって、必要に応じて、折り畳みレベルの明示的な属性を追加できます...または補助構造 (gdef
入力メタデータとして) を追加できます。
<gdef>
<group gr="g1_1" level="1" into=""/>
<group gr="g2_1" level="2" into="g1_1"/>
<group gr="g3_1" level="3" into="g2_1"/>
<group gr="g1_2" level="1" into=""/>
<group gr="g2_2" level="2" into="1_2"/>
</gdef>
またはなど。