Мне нужно выяснить, как извлечь узел с его предками. Например, если значение «Spine чрескожной Вмешательствы» и отображениеXSLT, получить узел с его предками
<mdCategoryMapping>
<mdCategory title="Cerebrovascular" order="20">
<mdCategory title="Endovascular Surgical Neuroradiology" order="230">
<mdCategory title="Aneurysms and Subarachnoid Hemorrhage" order="2310" />
<mdCategory title="Brain Arteriovenous Malformations" order="2320" />
<mdCategory title="Cranial Dural Arteriovenous Shunts" order="2330" />
<mdCategory title="Head and Neck Vascular Lesions" order="2340" />
<mdCategory title="Pediatric Vascular Interventions" order="2350" />
<mdCategory title="Spine Percutaneous Interventions" order="2360" />
<mdCategory title="Spine Vascular Interventions" order="2365" />
<mdCategory title="Stroke" order="2370" />
<mdCategory title="Trauma" order="2380" />
<mdCategory title="Tumors" order="2390" />
</mdCategory>
</mdCategory>
</mdCategoryMapping>
мне нужен следующий результат:
<mdCategory title="Cerebrovascular" order="20">
<mdCategory title="Endovascular Surgical Neuroradiology" order="230">
<mdCategory title="Spine Percutaneous Interventions" order="2360" />
</mdCategory>
</mdCategory>
Конечно следующее только дает мне самую низкую категорию уровня, когда $ следующему -cat равен «Чрескожные вмешательства позвоночника».
<xsl:copy-of select="//enes:metaInfo/enes:mdCategoryMapping//enes:mdCategory[@title = $next-cat]" />
Результат:
<mdCategory title="Spine Percutaneous Interventions" order="2360" />
Точно так же, когда $ следующего кот равен "Цереброваскулярный" Я получаю целое дерево со всеми дочерними узлами.
Как получить узел нижнего уровня с его предками или узлом верхнего уровня только с выбранными дочерними узлами?
Можете ли вы отправьте свой полный XSLT. –