У меня есть этот выход XMLСортировка в XML с помощью XSLT
<root>
<row>
<Additional_Information>
<OrgID>SO_000048333</OrgID>
<ParentOrgID>SO_000337522</ParentOrgID>
</Additional_Information>
<Additional_Information>
<OrgID>SO_000001780</OrgID>
<ParentOrgID>TOP_MOST_ORG</ParentOrgID>
</Additional_Information>
<Additional_Information>
<OrgID>SO_000041599</OrgID>
<ParentOrgID>SO_000001780</ParentOrgID>
</Additional_Information>
<Additional_Information>
<OrgID>SO_3-23773</OrgID>
<ParentOrgID>SO_000253386</ParentOrgID>
</Additional_Information>
<Additional_Information>
<OrgID>SO_000305947</OrgID>
<ParentOrgID>SO_000001780</ParentOrgID>
</Additional_Information>
<Additional_Information>
<OrgID>SO_000121212</OrgID>
<ParentOrgID>SO_000046509</ParentOrgID>
</Additional_Information>
<Additional_Information>
<OrgID>SO_000034169</OrgID>
<ParentOrgID>SO_000305947</ParentOrgID>
</Additional_Information>
<Additional_Information>
<OrgID>SO_000033807</OrgID>
<ParentOrgID>SO_000048333</ParentOrgID>
</Additional_Information>
<Additional_Information>
<OrgID>SO_000337522</OrgID>
<ParentOrgID>TOP_MOST_ORG</ParentOrgID>
</Additional_Information>
<Additional_Information>
<OrgID>SO_000030934</OrgID>
<ParentOrgID>SO_000033807</ParentOrgID>
</Additional_Information>
<Additional_Information>
<OrgID>SO_000253386</OrgID>
<ParentOrgID>SO_000030934</ParentOrgID>
</Additional_Information>
<Additional_Information>
<OrgID>SO_000046509</OrgID>
<ParentOrgID>SO_000001780</ParentOrgID>
</Additional_Information>
</row>
</root>
OrgIDs/ParentOrgIDs имеет 2 формы: SO_XXXXXXXXX и SO_3-XXXXX
Я использую XSLT 2.0
Я хочу, чтобы это было отсортировано следующим образом
SO_000001780 (2-й уровень в иерархии, с ParentOrgID = TOP_MOST_ORG)
-SO_000041599 (ребенок второго уровня)
-SO_000046509 (еще одного ребенка 2-го уровня)
--SO_000121212 (ребенок 3-го уровня в иерархии)
-SO_000305947 (еще одного ребенка 2-го уровня)
--SO_000034169 (ребенок 3-го уровня в иерархии)
SO_00033752
-SO_000048333
--SO_000033807
--- SO_000030934
---- SO_000253386
----- SO_3-23773
Любая помощь высоко ценится! Я все еще учу XSLT.
Я не понимаю, ваше описание. Измените свой вопрос и предоставьте пошаговый алгоритм для определения порядка сортировки (предположите, что вы объясняете это глупому человеку, который будет выполнять задачу вручную). - Также укажите, используете ли XSLT 1.0 или 2.0. –
Это все еще не ясно. Вы хотите перечислить все узлы на одном уровне в непрерывном блоке, или вы хотите, чтобы ребенок был указан сразу после его родителя? –