Saxon XSLT 2.0を使用すると、必然的にXSLT 3.0を使用する可能性があります。XSLTを使用してjQueryツリーテーブル属性を持つテーブルを生成
主な問題は、IDと親のID(data-tt-id
とdata-tt-parent-id
)を生成することです。これは、ライブラリが表示に使用するダッシュで区切られた数字のシーケンスです(順番に並べる必要があります)。効率的なアプローチに関するアドバイスはありますか?私は継続的に文字列変数を更新することを考えています。つまり、XSLTが正しい順序(深さ - 最初、順番に、マルチスレッドの影響を受けない)で移動する場合です。さもなければ、私は非常に非効率的であるように各価値のために祖先などを数えることで賢明にならなければならないかもしれません。私は、XSLTに多少新たなんだ、私はjQueryのドラッグ&ドロップで自分のコンプレックスツリーに似たツリーテーブルを生成しています
<table id="example-basic">
<caption>Basic jQuery treetable Example</caption>
<thead>
<tr>
<th>Tree column</th>
<th>Additional data</th>
</tr>
</thead>
<tbody>
<tr data-tt-id="1">
<td>Node 1: Click on the icon in front of me to expand this branch.</td>
<td>I live in the second column.</td>
</tr>
<tr data-tt-id="1.1" data-tt-parent-id="1">
<td>Node 1.1: Look, I am a table row <em>and</em> I am part of a tree!</td>
<td>Interesting.</td>
</tr>
<tr data-tt-id="1.1.1" data-tt-parent-id="1.1">
<td>Node 1.1.1: I am part of the tree too!</td>
<td>That's it!</td>
</tr>
<tr data-tt-id="2">
<td>Node 2: I am another root node, but without children</td>
<td>Hurray!</td>
</tr>
</tbody>
</table>
これらの例とjQueryのツリーテーブルがhttp://ludo.cubicphuse.nl/jquery-treetable/#usage
でより詳細に記載されている):
<table id="example-advanced">
<caption>
<a href="#" onclick="jQuery('#example-advanced').treetable('expandAll'); return false;">Expand all</a>
<a href="#" onclick="jQuery('#example-advanced').treetable('collapseAll'); return false;">Collapse all</a>
</caption>
<thead>
<tr>
<th>Name</th>
<th>Kind</th>
<th>Size</th>
</tr>
</thead>
<tbody>
<tr data-tt-id='1'><td><span class='file'>Acknowledgements.rtf</span></td><td>File</td><td>480.95 KB</td></tr>
<tr data-tt-id='2'><td><span class='folder'>CHUD</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='2-1' data-tt-parent-id='2'><td><span class='folder'>amber</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='2-1-1' data-tt-parent-id='2-1'><td><span class='file'>AmberTraceFormats.pdf</span></td><td>File</td><td>124.46 KB</td></tr>
<tr data-tt-id='2-2' data-tt-parent-id='2'><td><span class='folder'>BigTop</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='2-2-1' data-tt-parent-id='2-2'><td><span class='file'>BigTopUserGuide.pdf</span></td><td>File</td><td>1314.71 KB</td></tr>
<tr data-tt-id='2-3' data-tt-parent-id='2'><td><span class='folder'>Saturn</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='2-3-1' data-tt-parent-id='2-3'><td><span class='file'>SaturnUserGuide.pdf</span></td><td>File</td><td>694.29 KB</td></tr>
<tr data-tt-id='2-4' data-tt-parent-id='2'><td><span class='folder'>Shark</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='2-4-1' data-tt-parent-id='2-4'><td><span class='file'>SharkUserGuide.pdf</span></td><td>File</td><td>12902.51 KB</td></tr>
<tr data-tt-id='2-5' data-tt-parent-id='2'><td><span class='folder'>simg4</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='2-6' data-tt-parent-id='2'><td><span class='folder'>simg4_plus</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='2-7' data-tt-parent-id='2'><td><span class='folder'>simg5</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3'><td><span class='folder'>DocSets</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3-1' data-tt-parent-id='3'><td><span class='folder'>com.apple.ADC_Reference_Library.CoreReference.docset</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3-1-1' data-tt-parent-id='3-1'><td><span class='folder'>Contents</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3-1-1-1' data-tt-parent-id='3-1-1'><td><span class='file'>Info.plist</span></td><td>File</td><td>1.23 KB</td></tr>
<tr data-tt-id='3-1-1-2' data-tt-parent-id='3-1-1'><td><span class='folder'>Resources</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3-1-1-2-1' data-tt-parent-id='3-1-1-2'><td><span class='file'>docSet.dsidx</span></td><td>File</td><td>41504 KB</td></tr>
<tr data-tt-id='3-1-1-2-2' data-tt-parent-id='3-1-1-2'><td><span class='file'>docSet.skidx</span></td><td>File</td><td>43072 KB</td></tr>
<tr data-tt-id='3-1-1-2-3' data-tt-parent-id='3-1-1-2'><td><span class='folder'>Documents</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3-1-1-2-3-1' data-tt-parent-id='3-1-1-2-3'><td><span class='folder'>documentation</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3-1-1-2-3-1-1' data-tt-parent-id='3-1-1-2-3-1'><td><span class='folder'>Accessibility</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3-1-1-2-3-1-1-1' data-tt-parent-id='3-1-1-2-3-1-1'><td><span class='folder'>Reference</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3-1-1-2-3-1-1-1-1' data-tt-parent-id='3-1-1-2-3-1-1-1'><td><span class='folder'>AccessibilityCarbonRef</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3-1-1-2-3-1-1-1-1-1' data-tt-parent-id='3-1-1-2-3-1-1-1-1'><td><span class='folder'>CarbonAXRefRevisions</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3-1-1-2-3-1-1-1-1-1-1' data-tt-parent-id='3-1-1-2-3-1-1-1-1-1'><td><span class='file'>CarbonAXRefRevisions.html</span></td><td>File</td><td>7.44 KB</td></tr>
<tr data-tt-id='3-1-1-2-3-1-1-1-1-2' data-tt-parent-id='3-1-1-2-3-1-1-1-1'><td><span class='folder'>Index</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3-1-1-2-3-1-1-1-1-2-1' data-tt-parent-id='3-1-1-2-3-1-1-1-1-2'><td><span class='file'>index_of_book.html</span></td><td>File</td><td>174.1 KB</td></tr>
<tr data-tt-id='3-1-1-2-3-1-1-1-1-3' data-tt-parent-id='3-1-1-2-3-1-1-1-1'><td><span class='file'>index.html</span></td><td>File</td><td>1.1 KB</td></tr>
<tr data-tt-id='3-1-1-2-3-1-1-1-1-4' data-tt-parent-id='3-1-1-2-3-1-1-1-1'><td><span class='folder'>Reference</span></td><td>Folder</td><td>--</td></tr>
<tr data-tt-id='3-1-1-2-3-1-1-1-1-4-1' data-tt-parent-id='3-1-1-2-3-1-1-1-1-4'><td><span class='file'>reference.html</span></td><td>File</td><td>196.28 KB</td></tr>
<tr data-tt-id='3-1-1-2-3-1-1-1-1-5' data-tt-parent-id='3-1-1-2-3-1-1-1-1'><td><span class='file'>toc.html</span></td><td>File</td><td>15.92 KB</td></tr>
<tr data-tt-id='3-1-1-2-3-1-1-1-2' data-tt-parent-id='3-1-1-2-3-1-1-1'><td><span class='folder'>AccessibilityLowlevel</span></td><td>Folder</td><td>--</td></tr>
. . .
私のXMLソースは、以下の構造を有する:
<root xmlns="http://example.com">
<content>
<folder>
<config>
<name>Root</name>
<updatedDate>2017-04-05T09:48:19.619-04:00</updatedDate>
</config>
<folder>
<config>
<name>Email</name>
<updatedDate>2017-04-05T09:47:58.669-04:00</updatedDate>
</config>
<folder>
<config>
<name>Documents</name>
<updatedDate>2017-04-05T09:47:58.669-04:00</updatedDate>
</config>
<file>
<config>
<name>Resume.doc</name>
<additionalElements>...</additionalElements>
<updatedDate>2017-04-05T09:40:03.022-04:00</updatedDate>
</config>
<permissions>
<read>yes</read>
<write>yes</write>
<additionalElements>...</additionalElements>
</permissions>
</file>
<file>
<occasionalFileOrFolderResultToIgnore/>
<config>
<name>Letter.doc</name>
<additionalElements>...</additionalElements>
<updatedDate>2017-04-05T09:47:58.669-04:00</updatedDate>
</config>
<permissions>
<read>yes</read>
<write>yes</write>
<additionalElements>...</additionalElements>
</permissions>
</file>
<permissions>
<read>yes</read>
<write>yes</write>
</permissions>
</folder>
<permissions>
<read>yes</read>
<write>yes</write>
</permissions>
</folder>
<permissions>
<read>yes</read>
<write>no</write>
</permissions>
</folder>
</root>
</content>
助けてください! :)